Skip to content

Commit 3f208d4

Browse files
committed
feat: add avs-devnet configuration file
1 parent 0be3878 commit 3f208d4

File tree

1 file changed

+131
-0
lines changed

1 file changed

+131
-0
lines changed

devnet.yaml

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
# yaml-language-server: $schema=https://github.com/Layr-Labs/avs-devnet/raw/refs/heads/main/schema.json
2+
3+
# Local devnet config file for the hello-world-avs example
4+
# This file can be used inside the hello-world-avs repo to start
5+
# a devnet with any local changes
6+
7+
# To run this example:
8+
# 0. Ensure you have the latest version of the devnet (see https://github.com/Layr-Labs/avs-devnet for how to install)
9+
# 1. While inside the Hello World repo, run `avs-devnet start`
10+
11+
deployments:
12+
- name: EigenLayer
13+
repo: "."
14+
contracts_path: "contracts"
15+
script: script/DeployEigenLayerCore.s.sol
16+
env:
17+
# NOTE: this is used inside the deployer script
18+
PRIVATE_KEY: "{{.deployer_private_key}}"
19+
# NOTE: these are needed because of repo's `foundry.toml`
20+
HOLESKY_PRIVATE_KEY: ""
21+
HOLESKY_RPC_URL: ""
22+
ETHERSCAN_API_KEY: ""
23+
input:
24+
config/core/: core_deployment_config
25+
output:
26+
eigenlayer_addresses: "deployments/core/31337.json"
27+
28+
- name: hello-world-avs
29+
repo: "."
30+
contracts_path: "contracts"
31+
script: script/HelloWorldDeployer.s.sol
32+
env:
33+
# NOTE: this is used inside the deployer script
34+
PRIVATE_KEY: "{{.deployer_private_key}}"
35+
# NOTE: these are needed because of repo's `foundry.toml`
36+
HOLESKY_PRIVATE_KEY: ""
37+
HOLESKY_RPC_URL: ""
38+
ETHERSCAN_API_KEY: ""
39+
input:
40+
config/hello-world/: avs_deployment_config
41+
deployments/core/: eigenlayer_addresses
42+
output:
43+
avs_addresses: "deployments/hello-world/31337.json"
44+
45+
services:
46+
- name: operator
47+
image: hello_world
48+
build_context: "."
49+
input:
50+
/app/contracts/deployments/core/: eigenlayer_addresses
51+
/app/contracts/deployments/hello-world/: avs_addresses
52+
env:
53+
# This expands to the RPC node's URL
54+
RPC_URL: "{{.http_rpc_url}}"
55+
PRIVATE_KEY: "{{.keys.operator_ecdsa_keys.private_key}}"
56+
cmd: ["npm", "run", "start:operator"]
57+
58+
- name: traffic-generator
59+
image: hello_world
60+
build_context: "."
61+
input:
62+
/app/contracts/deployments/core/: eigenlayer_addresses
63+
/app/contracts/deployments/hello-world/: avs_addresses
64+
env:
65+
# This expands to the RPC node's URL
66+
RPC_URL: "{{.http_rpc_url}}"
67+
PRIVATE_KEY: "{{.keys.traffic_generator_ecdsa_keys.private_key}}"
68+
cmd: ["npm", "run", "start:traffic"]
69+
70+
keys:
71+
- name: operator_ecdsa_keys
72+
type: ecdsa
73+
- name: traffic_generator_ecdsa_keys
74+
type: ecdsa
75+
76+
artifacts:
77+
core_deployment_config:
78+
files:
79+
31337.json:
80+
template: |
81+
{
82+
"strategyManager": {
83+
"init_paused_status": 0,
84+
"init_withdrawal_delay_blocks": 50400
85+
},
86+
"delegation": {
87+
"init_paused_status": 0,
88+
"init_withdrawal_delay_blocks": 50400
89+
},
90+
"slasher": {
91+
"init_paused_status": 0
92+
},
93+
"eigenPodManager": {
94+
"init_paused_status": 0
95+
},
96+
"rewardsCoordinator": {
97+
"init_paused_status": 0,
98+
"MAX_REWARDS_DURATION": 864000,
99+
"MAX_RETROACTIVE_LENGTH": 86400,
100+
"MAX_FUTURE_LENGTH": 86400,
101+
"GENESIS_REWARDS_TIMESTAMP": 1672531200,
102+
"rewards_updater_address": "{{.deployer_address}}",
103+
"rewards_updater_key": "{{.deployer_private_key}}",
104+
"activation_delay": 0,
105+
"calculation_interval_seconds": 86400,
106+
"global_operator_commission_bips": 1000
107+
}
108+
}
109+
110+
avs_deployment_config:
111+
files:
112+
31337.json:
113+
template: |
114+
{
115+
"addresses": {
116+
"rewardsOwner": "{{.deployer_address}}",
117+
"rewardsInitiator": "{{.deployer_address}}"
118+
},
119+
"keys": {
120+
"rewardsOwner": "{{.deployer_private_key}}",
121+
"rewardsInitiator": "{{.deployer_private_key}}"
122+
}
123+
}
124+
125+
ethereum_package:
126+
additional_services:
127+
- blockscout
128+
network_params:
129+
# We use the chain ID hardcoded in the hello-world-avs example
130+
network_id: "31337"
131+
seconds_per_slot: 3

0 commit comments

Comments
 (0)