Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: slashing commands #205

Open
wants to merge 34 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
5ba8748
feat: slashing commands
shrimalmadhur Aug 26, 2024
e8bbe9b
fix allocation delay
shrimalmadhur Dec 10, 2024
8623624
Adding `appointee` `remove` and `set` command implementation and unit…
bdchatham Dec 10, 2024
8cd2bbd
Adding admin read commands with unit tests. (#251)
bdchatham Dec 11, 2024
64f623d
Adding implementation and tests for admin write commands. (#252)
bdchatham Dec 11, 2024
5c29215
Cleaning up user command flags. (#253)
bdchatham Dec 11, 2024
77c61f5
Refactoring user commands to remove user nomenclature and replacing w…
bdchatham Dec 12, 2024
45806ba
fix: integration test (#255)
shrimalmadhur Dec 12, 2024
5291137
fix: allocation delay config and update tests (#257)
shrimalmadhur Dec 12, 2024
3633d02
Adding print code paths for appointee set and remove. (#259)
bdchatham Dec 14, 2024
ee567d4
chote: latest eigensdk commit
shrimalmadhur Dec 16, 2024
37a3f63
latest commit for IT
shrimalmadhur Dec 16, 2024
887301e
Adding new line for pending admins command output.
Dec 16, 2024
3eae006
fix: add caller address (#262)
shrimalmadhur Dec 17, 2024
400501d
Adding caller-address to support arbitrary CLI signing address. (#264)
bdchatham Dec 17, 2024
7a033b7
Fixing usage strings for UAM commands. (#266)
bdchatham Dec 17, 2024
41c2b44
feat: get slashable stake from contract call (#265)
shrimalmadhur Dec 17, 2024
7c616d5
Adding caller-address to user admin commands to specify arbitrary cal…
bdchatham Dec 17, 2024
367cbe0
fix: flakey test (#268)
shrimalmadhur Dec 17, 2024
22be542
update deps
shrimalmadhur Dec 17, 2024
b624bde
fix test
shrimalmadhur Dec 17, 2024
1f2c807
update docs
shrimalmadhur Dec 17, 2024
6b6f34c
fix: add caller address to opset reg/dereg (#269)
shrimalmadhur Dec 17, 2024
1739cef
Adding output support to file or terminal without broadcast for user …
bdchatham Dec 17, 2024
81618ef
Updating appointee set & remove to support output parameters (#271)
bdchatham Dec 17, 2024
a1d46be
fix: showing allocations for registered ops (#272)
shrimalmadhur Dec 18, 2024
c4e3657
fix: remove 0 total strategy
shrimalmadhur Dec 18, 2024
dcd4cec
chore: refactor and add tests (#273)
shrimalmadhur Dec 18, 2024
1d61388
Updating output code path to correctly detect empty string input for …
bdchatham Dec 19, 2024
f89eea9
feat: support csv out for show command (#275)
shrimalmadhur Dec 19, 2024
026cfdb
Adding PermissionController address for Holesky (#279)
bdchatham Dec 19, 2024
c2daa7a
Rename permission manager (#280)
bdchatham Dec 20, 2024
2107746
Fixing name casing for PermissionController. (#281)
bdchatham Dec 20, 2024
435756e
Adding user command integration tests to github CI workflow. (#282)
bdchatham Dec 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 52 additions & 3 deletions .github/workflows/integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
with:
repository: layr-labs/eigensdk-go
token: ${{ github.token }}
ref: dev
ref: 549e0185cee644d0a6fc9c9863f1cf76d9ef971f

- name: Run anvil chain
run: |
Expand Down Expand Up @@ -96,7 +96,7 @@ jobs:
with:
repository: layr-labs/eigensdk-go
token: ${{ github.token }}
ref: dev
ref: 549e0185cee644d0a6fc9c9863f1cf76d9ef971f
- name: Run anvil chain
run: |
nohup make start-anvil-with-contracts-deployed > nohup.out 2>&1 &
Expand Down Expand Up @@ -157,4 +157,53 @@ jobs:
--claimer-address 0x2222AAC0C980Cc029624b7ff55B88Bc6F63C538f \
--web3signer-url http://127.0.0.1:9001 \
--verbose \
--broadcast
--broadcast

UserIntegrationTests:
name: Integration Test - User Commands
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v4
with:
go-version: '1.21'

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly-c4a984fbf2c48b793c8cd53af84f56009dd1070c

- name: Checkout eigensdk-go
uses: actions/checkout@v4
with:
repository: layr-labs/eigensdk-go
token: ${{ github.token }}
ref: 549e0185cee644d0a6fc9c9863f1cf76d9ef971f

- name: Run anvil chain
run: |
nohup make start-anvil-with-contracts-deployed > nohup.out 2>&1 &

- name: Install EigenLayer CLI
uses: actions/checkout@v4
with:
path: eigenlayer-cli

- name: Setup BATS
uses: mig4/setup-bats@v1

- name: Install EigenLayer CLI
run: |
cd eigenlayer-cli
make build
./bin/eigenlayer --version

- name: Prepare Integration Test Environment
run: |
echo "Preparing environment for integration tests."
cd eigenlayer-cli
echo "CLI_PATH=${GITHUB_WORKSPACE}/bin/eigenlayer" >> .env

- name: Run User Command Integration Tests
run: |
cd eigenlayer-cli/tests/user
./user-integration-tests-runner.sh
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ operator-config.yaml.old
operator.yaml
operator.yaml.old
config/*
updates.csv

# build
dist/
1 change: 1 addition & 0 deletions cmd/eigenlayer/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ func main() {
app.Commands = append(app.Commands, pkg.RewardsCmd(prompter))
app.Commands = append(app.Commands, pkg.KeysCmd(prompter))
app.Commands = append(app.Commands, pkg.EigenPodCmd(prompter))
app.Commands = append(app.Commands, pkg.UserCmd(prompter))

if err := app.Run(os.Args); err != nil {
_, err := fmt.Fprintln(os.Stderr, err)
Expand Down
32 changes: 31 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ require (
github.com/Layr-Labs/eigenlayer-contracts v0.3.2-mainnet-rewards
github.com/Layr-Labs/eigenlayer-rewards-proofs v0.2.12
github.com/Layr-Labs/eigenpod-proofs-generation v0.0.14-stable.0.20240730152248-5c11a259293e
github.com/Layr-Labs/eigensdk-go v0.1.14-0.20241212190947-9985122d81fe
github.com/Layr-Labs/eigensdk-go v0.1.14-0.20241217234459-1dd4a5c5b30a
github.com/blang/semver/v4 v4.0.0
github.com/consensys/gnark-crypto v0.12.1
github.com/ethereum/go-ethereum v1.14.5
Expand All @@ -27,7 +27,10 @@ require (
)

require (
dario.cat/mergo v1.0.0 // indirect
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
github.com/Microsoft/go-winio v0.6.2 // indirect
github.com/Microsoft/hcsshim v0.11.4 // indirect
github.com/StackExchange/wmi v1.2.1 // indirect
github.com/attestantio/go-eth2-client v0.19.9 // indirect
github.com/aws/aws-sdk-go-v2 v1.26.1 // indirect
Expand All @@ -53,21 +56,32 @@ require (
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 // indirect
github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce // indirect
github.com/buger/jsonparser v1.1.1 // indirect
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/consensys/bavard v0.1.13 // indirect
github.com/containerd/containerd v1.7.12 // indirect
github.com/containerd/log v0.1.0 // indirect
github.com/cpuguy83/dockercfg v0.3.1 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
github.com/crate-crypto/go-kzg-4844 v1.0.0 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/deckarep/golang-set/v2 v2.6.0 // indirect
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect
github.com/distribution/reference v0.5.0 // indirect
github.com/docker/docker v25.0.6+incompatible // indirect
github.com/docker/go-connections v0.5.0 // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/ethereum/c-kzg-4844 v1.0.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/ferranbt/fastssz v0.1.3 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/go-logr/logr v1.4.1 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-ole/go-ole v1.3.0 // indirect
github.com/goccy/go-yaml v1.9.2 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang-jwt/jwt v3.2.2+incompatible // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/gorilla/websocket v1.5.0 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
Expand All @@ -77,6 +91,8 @@ require (
github.com/klauspost/compress v1.17.1 // indirect
github.com/klauspost/cpuid/v2 v2.2.6 // indirect
github.com/lmittmann/tint v1.0.4 // indirect
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
Expand All @@ -85,8 +101,16 @@ require (
github.com/minio/sha256-simd v1.0.1 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/mmcloughlin/addchain v0.4.0 // indirect
github.com/moby/patternmatcher v0.6.0 // indirect
github.com/moby/sys/sequential v0.5.0 // indirect
github.com/moby/sys/user v0.1.0 // indirect
github.com/moby/term v0.5.0 // indirect
github.com/morikuni/aec v1.0.0 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.0 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
github.com/prometheus/client_golang v1.19.0 // indirect
github.com/prometheus/client_model v0.5.0 // indirect
github.com/prometheus/common v0.48.0 // indirect
Expand All @@ -97,11 +121,17 @@ require (
github.com/rs/zerolog v1.29.1 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect
github.com/shirou/gopsutil/v3 v3.23.12 // indirect
github.com/shoenig/go-m1cpu v0.1.6 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/supranational/blst v0.3.11 // indirect
github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect
github.com/testcontainers/testcontainers-go v0.30.0 // indirect
github.com/tklauser/go-sysconf v0.3.12 // indirect
github.com/tklauser/numcpus v0.6.1 // indirect
github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 // indirect
github.com/yusufpapurcu/wmi v1.2.3 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
go.opentelemetry.io/otel v1.24.0 // indirect
go.opentelemetry.io/otel/metric v1.24.0 // indirect
go.opentelemetry.io/otel/trace v1.24.0 // indirect
Expand Down
Loading
Loading