/contracts- Solidity smart contracts/client- Python implementation of operator and aggregator/src/avs_operator- AVS operator implementation/src/aggregator- Aggregator implementation/src/common- Shared utilities
/.github- GitHub workflows and CI/CD configurations/init.sh- Initialization script
- Python 3.10-3.12
- Foundry/Forge
- Make
- UV (install with
curl -LsSf https://astral.sh/uv/install.sh | sh)
- Initialize the project and install Forge dependencies:
make init- Set up Python environment (from the client directory):
uv venv
source .venv/bin/activate
uv pip install -e .- Build and deploy contracts:
make build-contracts
make deploy-eigenlayer-contracts
make deploy-sertn-contractsThe operator and aggregator services can be managed through the CLI:
# From the client directory with venv activated
sertn --helpRun contract tests:
make tests-contractRun Python tests:
# From the client directory
pytestThe project uses a Makefile for common operations:
make help- Show available commandsmake build-anvil-state-with-deployed-contracts- Build local test stateforge script script/LocalnetDeploy.s.sol --rpc-url http://localhost:8545 --broadcast- Deploy contracts to local anvil networkmake spam-tasks- Generate test tasks
- Chain ID: 31337
- Strategy Address: 0x7a2088a1bFc9d81c55368AE168C2C02570cB814F
MIT