From ef6e7c2da12e1d0c0e19e3b461ca5a2888770a08 Mon Sep 17 00:00:00 2001 From: Roman Date: Sat, 1 Feb 2025 16:53:09 +0200 Subject: [PATCH 1/4] chore: move /contracts from /crates to root (#259) --- .github/workflows/foundry.yml | 2 +- .github/workflows/integration.yml | 2 +- .gitmodules | 8 ++++---- Makefile | 6 +++--- {crates/contracts => contracts}/.gitignore | 0 .../anvil/contracts_deployed_anvil_state.json/state.json | 0 .../anvil/deploy-contracts-save-anvil-state.sh | 0 .../anvil/start-anvil-chain-with-el-and-avs-deployed.sh | 0 {crates/contracts => contracts}/anvil/utils.sh | 0 {crates/contracts => contracts}/foundry.toml | 0 {crates/contracts => contracts}/remappings.txt | 0 .../contracts => contracts}/script/DeployMockAvs.s.sol | 0 .../script/DeployMockAvsRegistries.s.sol | 0 .../script/DeployTokensStrategiesCreateQuorums.s.sol | 0 .../script/RegisterOperatorsWithEigenlayer.s.sol | 0 .../contracts => contracts}/script/UpdateOperators.s.sol | 0 .../script/input/31337/ops_addresses.json | 0 .../script/output/31337/eigenlayer_deployment_output.json | 0 .../script/output/31337/mockAvs_deployment_output.json | 0 .../31337/token_and_strategy_deployment_output.json | 0 .../script/parsers/ConfigsReadWriter.sol | 0 .../script/parsers/EigenlayerContractsParser.sol | 0 .../script/parsers/MockAvsContractsParser.sol | 0 .../script/parsers/TokensAndStrategiesContractsParser.sol | 0 {crates/contracts => contracts}/src/ContractsRegistry.sol | 0 .../contracts => contracts}/src/MockAvsServiceManager.sol | 0 {crates/contracts => contracts}/src/MockERC20.sol | 0 crates/contracts/lib/eigenlayer-middleware | 1 - crates/contracts/lib/forge-std | 1 - examples/README.md | 2 +- testing/testing-utils/src/anvil.rs | 2 +- 31 files changed, 11 insertions(+), 13 deletions(-) rename {crates/contracts => contracts}/.gitignore (100%) rename {crates/contracts => contracts}/anvil/contracts_deployed_anvil_state.json/state.json (100%) rename {crates/contracts => contracts}/anvil/deploy-contracts-save-anvil-state.sh (100%) rename {crates/contracts => contracts}/anvil/start-anvil-chain-with-el-and-avs-deployed.sh (100%) rename {crates/contracts => contracts}/anvil/utils.sh (100%) rename {crates/contracts => contracts}/foundry.toml (100%) rename {crates/contracts => contracts}/remappings.txt (100%) rename {crates/contracts => contracts}/script/DeployMockAvs.s.sol (100%) rename {crates/contracts => contracts}/script/DeployMockAvsRegistries.s.sol (100%) rename {crates/contracts => contracts}/script/DeployTokensStrategiesCreateQuorums.s.sol (100%) rename {crates/contracts => contracts}/script/RegisterOperatorsWithEigenlayer.s.sol (100%) rename {crates/contracts => contracts}/script/UpdateOperators.s.sol (100%) rename {crates/contracts => contracts}/script/input/31337/ops_addresses.json (100%) rename {crates/contracts => contracts}/script/output/31337/eigenlayer_deployment_output.json (100%) rename {crates/contracts => contracts}/script/output/31337/mockAvs_deployment_output.json (100%) rename {crates/contracts => contracts}/script/output/31337/token_and_strategy_deployment_output.json (100%) rename {crates/contracts => contracts}/script/parsers/ConfigsReadWriter.sol (100%) rename {crates/contracts => contracts}/script/parsers/EigenlayerContractsParser.sol (100%) rename {crates/contracts => contracts}/script/parsers/MockAvsContractsParser.sol (100%) rename {crates/contracts => contracts}/script/parsers/TokensAndStrategiesContractsParser.sol (100%) rename {crates/contracts => contracts}/src/ContractsRegistry.sol (100%) rename {crates/contracts => contracts}/src/MockAvsServiceManager.sol (100%) rename {crates/contracts => contracts}/src/MockERC20.sol (100%) delete mode 160000 crates/contracts/lib/eigenlayer-middleware delete mode 160000 crates/contracts/lib/forge-std diff --git a/.github/workflows/foundry.yml b/.github/workflows/foundry.yml index f1937f07d..9c7023e4c 100644 --- a/.github/workflows/foundry.yml +++ b/.github/workflows/foundry.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - working-directory: ./crates/contracts + working-directory: ./contracts steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index bd9930675..a73210502 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -104,7 +104,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - working-directory: ./crates/contracts/anvil + working-directory: ./contracts/anvil steps: - uses: actions/checkout@v4 with: diff --git a/.gitmodules b/.gitmodules index 27d10d80e..d61fe39bb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ -[submodule "crates/contracts/lib/forge-std"] - path = crates/contracts/lib/forge-std +[submodule "contracts/lib/forge-std"] + path = contracts/lib/forge-std url = https://github.com/foundry-rs/forge-std -[submodule "crates/contracts/lib/eigenlayer-middleware"] - path = crates/contracts/lib/eigenlayer-middleware +[submodule "contracts/lib/eigenlayer-middleware"] + path = contracts/lib/eigenlayer-middleware url = https://github.com/Layr-labs/eigenlayer-middleware diff --git a/Makefile b/Makefile index a75cae9e0..14eb5c42a 100644 --- a/Makefile +++ b/Makefile @@ -3,10 +3,10 @@ PHONY: reset-anvil __CONTRACTS__: ## start-anvil-chain-with-contracts-deployed: ## - ./crates/contracts/anvil/start-anvil-chain-with-el-and-avs-deployed.sh + ./contracts/anvil/start-anvil-chain-with-el-and-avs-deployed.sh deploy-contracts-to-anvil-and-save-state: ## - ./crates/contracts/anvil/deploy-contracts-save-anvil-state.sh + ./contracts/anvil/deploy-contracts-save-anvil-state.sh __TESTING__: ## @@ -37,7 +37,7 @@ __BINDINGS__: ## ### SDK bindings ### SDK_CONTRACTS:="MockAvsServiceManager ContractsRegistry MockERC20" -SDK_CONTRACTS_LOCATION:=crates/contracts +SDK_CONTRACTS_LOCATION:=contracts SDK_BINDINGS_PATH:=crates/utils/src/sdk # The echo is to remove quotes, and the patsubst to make the regex match the full text only SDK_CONTRACTS_ARGS:=$(patsubst %, --select '^%$$', $(shell echo $(SDK_CONTRACTS))) diff --git a/crates/contracts/.gitignore b/contracts/.gitignore similarity index 100% rename from crates/contracts/.gitignore rename to contracts/.gitignore diff --git a/crates/contracts/anvil/contracts_deployed_anvil_state.json/state.json b/contracts/anvil/contracts_deployed_anvil_state.json/state.json similarity index 100% rename from crates/contracts/anvil/contracts_deployed_anvil_state.json/state.json rename to contracts/anvil/contracts_deployed_anvil_state.json/state.json diff --git a/crates/contracts/anvil/deploy-contracts-save-anvil-state.sh b/contracts/anvil/deploy-contracts-save-anvil-state.sh similarity index 100% rename from crates/contracts/anvil/deploy-contracts-save-anvil-state.sh rename to contracts/anvil/deploy-contracts-save-anvil-state.sh diff --git a/crates/contracts/anvil/start-anvil-chain-with-el-and-avs-deployed.sh b/contracts/anvil/start-anvil-chain-with-el-and-avs-deployed.sh similarity index 100% rename from crates/contracts/anvil/start-anvil-chain-with-el-and-avs-deployed.sh rename to contracts/anvil/start-anvil-chain-with-el-and-avs-deployed.sh diff --git a/crates/contracts/anvil/utils.sh b/contracts/anvil/utils.sh similarity index 100% rename from crates/contracts/anvil/utils.sh rename to contracts/anvil/utils.sh diff --git a/crates/contracts/foundry.toml b/contracts/foundry.toml similarity index 100% rename from crates/contracts/foundry.toml rename to contracts/foundry.toml diff --git a/crates/contracts/remappings.txt b/contracts/remappings.txt similarity index 100% rename from crates/contracts/remappings.txt rename to contracts/remappings.txt diff --git a/crates/contracts/script/DeployMockAvs.s.sol b/contracts/script/DeployMockAvs.s.sol similarity index 100% rename from crates/contracts/script/DeployMockAvs.s.sol rename to contracts/script/DeployMockAvs.s.sol diff --git a/crates/contracts/script/DeployMockAvsRegistries.s.sol b/contracts/script/DeployMockAvsRegistries.s.sol similarity index 100% rename from crates/contracts/script/DeployMockAvsRegistries.s.sol rename to contracts/script/DeployMockAvsRegistries.s.sol diff --git a/crates/contracts/script/DeployTokensStrategiesCreateQuorums.s.sol b/contracts/script/DeployTokensStrategiesCreateQuorums.s.sol similarity index 100% rename from crates/contracts/script/DeployTokensStrategiesCreateQuorums.s.sol rename to contracts/script/DeployTokensStrategiesCreateQuorums.s.sol diff --git a/crates/contracts/script/RegisterOperatorsWithEigenlayer.s.sol b/contracts/script/RegisterOperatorsWithEigenlayer.s.sol similarity index 100% rename from crates/contracts/script/RegisterOperatorsWithEigenlayer.s.sol rename to contracts/script/RegisterOperatorsWithEigenlayer.s.sol diff --git a/crates/contracts/script/UpdateOperators.s.sol b/contracts/script/UpdateOperators.s.sol similarity index 100% rename from crates/contracts/script/UpdateOperators.s.sol rename to contracts/script/UpdateOperators.s.sol diff --git a/crates/contracts/script/input/31337/ops_addresses.json b/contracts/script/input/31337/ops_addresses.json similarity index 100% rename from crates/contracts/script/input/31337/ops_addresses.json rename to contracts/script/input/31337/ops_addresses.json diff --git a/crates/contracts/script/output/31337/eigenlayer_deployment_output.json b/contracts/script/output/31337/eigenlayer_deployment_output.json similarity index 100% rename from crates/contracts/script/output/31337/eigenlayer_deployment_output.json rename to contracts/script/output/31337/eigenlayer_deployment_output.json diff --git a/crates/contracts/script/output/31337/mockAvs_deployment_output.json b/contracts/script/output/31337/mockAvs_deployment_output.json similarity index 100% rename from crates/contracts/script/output/31337/mockAvs_deployment_output.json rename to contracts/script/output/31337/mockAvs_deployment_output.json diff --git a/crates/contracts/script/output/31337/token_and_strategy_deployment_output.json b/contracts/script/output/31337/token_and_strategy_deployment_output.json similarity index 100% rename from crates/contracts/script/output/31337/token_and_strategy_deployment_output.json rename to contracts/script/output/31337/token_and_strategy_deployment_output.json diff --git a/crates/contracts/script/parsers/ConfigsReadWriter.sol b/contracts/script/parsers/ConfigsReadWriter.sol similarity index 100% rename from crates/contracts/script/parsers/ConfigsReadWriter.sol rename to contracts/script/parsers/ConfigsReadWriter.sol diff --git a/crates/contracts/script/parsers/EigenlayerContractsParser.sol b/contracts/script/parsers/EigenlayerContractsParser.sol similarity index 100% rename from crates/contracts/script/parsers/EigenlayerContractsParser.sol rename to contracts/script/parsers/EigenlayerContractsParser.sol diff --git a/crates/contracts/script/parsers/MockAvsContractsParser.sol b/contracts/script/parsers/MockAvsContractsParser.sol similarity index 100% rename from crates/contracts/script/parsers/MockAvsContractsParser.sol rename to contracts/script/parsers/MockAvsContractsParser.sol diff --git a/crates/contracts/script/parsers/TokensAndStrategiesContractsParser.sol b/contracts/script/parsers/TokensAndStrategiesContractsParser.sol similarity index 100% rename from crates/contracts/script/parsers/TokensAndStrategiesContractsParser.sol rename to contracts/script/parsers/TokensAndStrategiesContractsParser.sol diff --git a/crates/contracts/src/ContractsRegistry.sol b/contracts/src/ContractsRegistry.sol similarity index 100% rename from crates/contracts/src/ContractsRegistry.sol rename to contracts/src/ContractsRegistry.sol diff --git a/crates/contracts/src/MockAvsServiceManager.sol b/contracts/src/MockAvsServiceManager.sol similarity index 100% rename from crates/contracts/src/MockAvsServiceManager.sol rename to contracts/src/MockAvsServiceManager.sol diff --git a/crates/contracts/src/MockERC20.sol b/contracts/src/MockERC20.sol similarity index 100% rename from crates/contracts/src/MockERC20.sol rename to contracts/src/MockERC20.sol diff --git a/crates/contracts/lib/eigenlayer-middleware b/crates/contracts/lib/eigenlayer-middleware deleted file mode 160000 index 92a320f0a..000000000 --- a/crates/contracts/lib/eigenlayer-middleware +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 92a320f0a8f883efa7c20eb0d8eb8e060ed3323e diff --git a/crates/contracts/lib/forge-std b/crates/contracts/lib/forge-std deleted file mode 160000 index d3db4ef90..000000000 --- a/crates/contracts/lib/forge-std +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d3db4ef90a72b7d24aa5a2e5c649593eaef7801d diff --git a/examples/README.md b/examples/README.md index 04d1d4829..0d2bff973 100644 --- a/examples/README.md +++ b/examples/README.md @@ -20,7 +20,7 @@ cargo run --example get_operator_from_id ## Anvil utils(This requires a local anvil instance running using docker ) -Get EigenLayer contract addresses for local anvil testing . These are predetermined addresses that are stored in a mapping using these [scripts](https://github.com/Layr-Labs/eigensdk-rs/blob/d9b40d806b4939c64bb7d3df0f6f2a542499bd27/crates/contracts/script/DeployMockAvsRegistries.s.sol#L202). +Get EigenLayer contract addresses for local anvil testing . These are predetermined addresses that are stored in a mapping using these [scripts](https://github.com/Layr-Labs/eigensdk-rs/blob/d9b40d806b4939c64bb7d3df0f6f2a542499bd27/contracts/script/DeployMockAvsRegistries.s.sol#L202). ```sh make start-anvil-chain-with-contracts-deployed diff --git a/testing/testing-utils/src/anvil.rs b/testing/testing-utils/src/anvil.rs index 4087558c3..027c851a3 100644 --- a/testing/testing-utils/src/anvil.rs +++ b/testing/testing-utils/src/anvil.rs @@ -7,7 +7,7 @@ use testcontainers::{ const ANVIL_IMAGE: &str = "ghcr.io/foundry-rs/foundry"; const ANVIL_TAG: &str = "latest"; -const ANVIL_STATE_PATH: &str = "./crates/contracts/anvil/contracts_deployed_anvil_state.json"; // relative path from the project root +const ANVIL_STATE_PATH: &str = "./contracts/anvil/contracts_deployed_anvil_state.json"; // relative path from the project root fn workspace_dir() -> PathBuf { let output = std::process::Command::new(env!("CARGO")) From 88ca8c12afa17d61a7b8d88deadf3aa9aae791cc Mon Sep 17 00:00:00 2001 From: Roman Date: Sat, 1 Feb 2025 17:05:29 +0200 Subject: [PATCH 2/4] move submodules --- .gitmodules | 2 +- contracts/lib/eigenlayer-middleware | 1 + contracts/lib/forge-std | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) create mode 160000 contracts/lib/eigenlayer-middleware create mode 160000 contracts/lib/forge-std diff --git a/.gitmodules b/.gitmodules index d61fe39bb..8ba93e497 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,4 +3,4 @@ url = https://github.com/foundry-rs/forge-std [submodule "contracts/lib/eigenlayer-middleware"] path = contracts/lib/eigenlayer-middleware - url = https://github.com/Layr-labs/eigenlayer-middleware + url = https://github.com/Layr-Labs/eigenlayer-middleware.git diff --git a/contracts/lib/eigenlayer-middleware b/contracts/lib/eigenlayer-middleware new file mode 160000 index 000000000..fe5834371 --- /dev/null +++ b/contracts/lib/eigenlayer-middleware @@ -0,0 +1 @@ +Subproject commit fe5834371caed60c1d26ab62b5519b0cbdcb42fa diff --git a/contracts/lib/forge-std b/contracts/lib/forge-std new file mode 160000 index 000000000..3b20d60d1 --- /dev/null +++ b/contracts/lib/forge-std @@ -0,0 +1 @@ +Subproject commit 3b20d60d14b343ee4f908cb8079495c07f5e8981 From 052e7fc3c444f42e5e36bb69aad4449e8c0d6670 Mon Sep 17 00:00:00 2001 From: Roman Date: Thu, 6 Feb 2025 11:40:00 +0200 Subject: [PATCH 3/4] set specific commits for submodules --- contracts/lib/eigenlayer-middleware | 2 +- contracts/lib/forge-std | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contracts/lib/eigenlayer-middleware b/contracts/lib/eigenlayer-middleware index fe5834371..92a320f0a 160000 --- a/contracts/lib/eigenlayer-middleware +++ b/contracts/lib/eigenlayer-middleware @@ -1 +1 @@ -Subproject commit fe5834371caed60c1d26ab62b5519b0cbdcb42fa +Subproject commit 92a320f0a8f883efa7c20eb0d8eb8e060ed3323e diff --git a/contracts/lib/forge-std b/contracts/lib/forge-std index 3b20d60d1..d3db4ef90 160000 --- a/contracts/lib/forge-std +++ b/contracts/lib/forge-std @@ -1 +1 @@ -Subproject commit 3b20d60d14b343ee4f908cb8079495c07f5e8981 +Subproject commit d3db4ef90a72b7d24aa5a2e5c649593eaef7801d From b93299c39e841cf4a50fdaafa636643af96740e4 Mon Sep 17 00:00:00 2001 From: Roman Date: Fri, 7 Feb 2025 12:44:45 +0200 Subject: [PATCH 4/4] fix updated files --- .github/workflows/check-anvil-dump.yml | 8 ++++---- scripts/generate_bindings.sh | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/check-anvil-dump.yml b/.github/workflows/check-anvil-dump.yml index b9c7a9be2..135390ea0 100644 --- a/.github/workflows/check-anvil-dump.yml +++ b/.github/workflows/check-anvil-dump.yml @@ -23,9 +23,9 @@ jobs: with: filters: | contracts: - - 'crates/contracts/lib/**' - - 'crates/contracts/script/**' - - 'crates/contracts/src/**' + - 'contracts/lib/**' + - 'contracts/script/**' + - 'contracts/src/**' # This step runs only if some contract changed. # It checks the diff in the anvil state file. @@ -34,7 +34,7 @@ jobs: # Note: if the git diff fails to fetch the changes, then the step will also fail. - name: Check the anvil dump has changed if: steps.filter.outputs.contracts == 'true' - working-directory: crates/contracts/anvil/contracts_deployed_anvil_state.json + working-directory: contracts/anvil/contracts_deployed_anvil_state.json run: | if [ -z "$(git diff origin/${{ github.event.pull_request.base.ref }} -- state.json)" ]; then echo "The anvil dump is outdated"; diff --git a/scripts/generate_bindings.sh b/scripts/generate_bindings.sh index 93852c34f..898dc274f 100755 --- a/scripts/generate_bindings.sh +++ b/scripts/generate_bindings.sh @@ -22,7 +22,7 @@ cd $repo_root ### SDK bindings ### SDK_CONTRACTS="MockAvsServiceManager ContractsRegistry MockERC20" -SDK_CONTRACTS_LOCATION=crates/contracts +SDK_CONTRACTS_LOCATION=contracts SDK_BINDINGS_PATH=crates/utils/src/sdk # The echo is to remove quotes, and the patsubst to make the regex match the full text only SDK_CONTRACTS_ARGS=$(generate_flags $SDK_CONTRACTS)