Skip to content

Commit f0d9115

Browse files
authored
pull fixes from testnet (#1548)
2 parents 94fcec9 + 8b6ef0c commit f0d9115

File tree

9 files changed

+166
-47
lines changed

9 files changed

+166
-47
lines changed

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ SHELL := /bin/bash
44
OS := $(shell uname -s)
55

66
CONFIG_FILE?=config-files/config.yaml
7+
export OPERATOR_ADDRESS ?= $(shell yq -r '.operator.address' $(CONFIG_FILE))
78
AGG_CONFIG_FILE?=config-files/config-aggregator.yaml
89

9-
OPERATOR_VERSION=v0.12.0
10+
OPERATOR_VERSION=v0.12.1
1011

1112
ifeq ($(OS),Linux)
1213
BUILD_ALL_FFI = $(MAKE) build_all_ffi_linux

batcher/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

batcher/aligned-batcher/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1126,7 +1126,7 @@ impl Batcher {
11261126
let current_batch_len = batch_state_lock.batch_queue.len();
11271127
let last_uploaded_batch_block_lock = self.last_uploaded_batch_block.lock().await;
11281128

1129-
if current_batch_len < 2 {
1129+
if current_batch_len < 1 {
11301130
info!(
11311131
"Current batch has {} proofs. Waiting for more proofs...",
11321132
current_batch_len

batcher/aligned/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "aligned"
3-
version = "0.12.0"
3+
version = "0.12.1"
44
edition = "2021"
55

66
[dependencies]
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Common variables for all the services
2+
# 'production' only prints info and above. 'development' also prints debug
3+
environment: 'production'
4+
aligned_layer_deployment_config_file_path: './contracts/script/output/mainnet/alignedlayer_deployment_output.json'
5+
eigen_layer_deployment_config_file_path: './contracts/script/output/mainnet/eigenlayer_deployment_output.json'
6+
eth_rpc_url: 'https://ethereum-rpc.publicnode.com' # DO NOT USE PUBLIC NODE IN PRODUCTION
7+
eth_rpc_url_fallback: 'https://ethereum-rpc.publicnode.com'
8+
eth_ws_url: 'wss://ethereum-rpc.publicnode.com' # DO NOT USE PUBLIC NODE IN PRODUCTION
9+
eth_ws_url_fallback: 'wss://ethereum-rpc.publicnode.com'
10+
eigen_metrics_ip_port_address: 'localhost:9090'
11+
12+
## ECDSA Configurations
13+
ecdsa:
14+
private_key_store_path: '<ecdsa_key_store_location_path>'
15+
private_key_store_password: '<ecdsa_key_store_password>'
16+
17+
## BLS Configurations
18+
bls:
19+
private_key_store_path: '<bls_key_store_location_path>'
20+
private_key_store_password: '<bls_key_store_password>'
21+
22+
## Operator Configurations
23+
operator:
24+
aggregator_rpc_server_ip_port_address: mainnet.aggregator.alignedlayer.com:8090
25+
operator_tracker_ip_port_address: https://mainnet.telemetry.alignedlayer.com
26+
address: '<operator_address>'
27+
earnings_receiver_address: '<earnings_receiver_address>' #Can be the same as the operator.
28+
delegation_approver_address: '0x0000000000000000000000000000000000000000'
29+
staker_opt_out_window_blocks: 0
30+
metadata_url: <metadata_url>
31+
enable_metrics: true
32+
metrics_ip_port_address: localhost:9092
33+
max_batch_size: 268435456 # 256 MiB
34+
last_processed_batch_filepath: 'config-files/operator.last_processed_batch.json'
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"addresses": {
3+
"alignedLayerProxyAdmin": "0x487e0347B96bE3606845A3aaDC7B0D8138952b47",
4+
"alignedLayerServiceManager": "0xeF2A435e5EE44B2041100EF8cbC8ae035166606c",
5+
"alignedLayerServiceManagerImplementation": "0x4A5D61ABa7d845bC71d4E2f2Dd7C35D9c5fb55B8",
6+
"blsApkRegistry": "0x3CcfB7e6e8fe2A8d941a8Ce4C69A944a770E8228",
7+
"blsApkRegistryImplementation": "0x15ca88A3D1bDA5e0CA8b84A8759009b1d46d0031",
8+
"indexRegistry": "0x9Bf1275e18eC8FA3cA7f9bffF1b0DF3e14C6E134",
9+
"indexRegistryImplementation": "0xc97bF0d5F6adf3B364DD77b6a5554d83445d31F1",
10+
"operatorStateRetriever": "0x6e0046205cAfA503F6b7465195A6C63C47d214f1",
11+
"pauserRegistry": "0xbb8fF0382bFC9B37C38286EA4724900aA49DF28F",
12+
"registryCoordinator": "0xA8CC0749b4409c3c47012323E625aEcBA92f64b9",
13+
"registryCoordinatorImplementation": "0xc33364cf6BfAE261EEE8564814cA368aac5E781d",
14+
"serviceManagerRouter": "0xB975bf77E1df8a3e217Bee2F06Ff026C0FC8e004",
15+
"stakeRegistry": "0x45F5290a3630Cd6dc277B6f92227526121ca7c22",
16+
"stakeRegistryImplementation": "0x8eEc7185dbDe1BC0cB2F9E026188cf40bB96AEBa",
17+
"batcherPaymentService": "0xb0567184A52cB40956df6333510d6eF35B89C8de",
18+
"batcherPaymentServiceImplementation": "0xDBf12f0D41fa0cf778DB9f809E0209362944ff20"
19+
},
20+
"chainInfo": {
21+
"chainId": 1,
22+
"deploymentBlock": 21289146
23+
},
24+
"permissions": {
25+
"alignedLayerAggregator": "0x0b9AacA2C28a7ECAcB68BAef0d2F596AC27aaE32",
26+
"alignedLayerChurner": "0xfC135A861efF65b7644Fb03d9f851251546C0835",
27+
"alignedLayerEjector": "0xfC135A861efF65b7644Fb03d9f851251546C0835",
28+
"alignedLayerOwner": "0xfC135A861efF65b7644Fb03d9f851251546C0835",
29+
"alignedLayerPauser": "0xfC135A861efF65b7644Fb03d9f851251546C0835",
30+
"alignedLayerUpgrader": "0xfC135A861efF65b7644Fb03d9f851251546C0835"
31+
}
32+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{
2+
"addresses": {
3+
"avsDirectory": "0x135DDa560e946695d6f155dACaFC6f1F25C1F5AF",
4+
"avsDirectoryImplementation": "0xdAbdB3Cd346B7D5F5779b0B614EdE1CC9DcBA5b7",
5+
"baseStrategyImplementation": "0xdfdA04f980bE6A64E3607c95Ca26012Ab9aA46d3",
6+
"beaconOracle": "0x343907185b71aDF0eBa9567538314396aa985442",
7+
"delayedWithdrawalRouter": "0x7Fe7E9CC0F274d2435AD5d56D5fa73E47F6A23D8",
8+
"delayedWithdrawalRouterImplementation": "0x4bB6731B02314d40aBbfFBC4540f508874014226",
9+
"delegationManager": "0x39053D51B77DC0d36036Fc1fCc8Cb819df8Ef37A",
10+
"delegationManagerImplementation": "0x1784BE6401339Fc0Fedf7E9379409f5c1BfE9dda",
11+
"eigenLayerPauserReg": "0x0c431C66F4dE941d089625E5B423D00707977060",
12+
"eigenLayerProxyAdmin": "0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444",
13+
"eigenPodBeacon": "0x5a2a4F2F3C18f09179B6703e63D9eDD165909073",
14+
"eigenPodImplementation": "0x28144C53bA98B4e909Df5bC7cA33eAf0404cFfcc",
15+
"eigenPodManager": "0x91E677b07F7AF907ec9a428aafA9fc14a0d3A338",
16+
"eigenPodManagerImplementation": "0xe4297e3DaDBc7D99e26a2954820f514CB50C5762",
17+
"emptyContract": "0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9",
18+
"rewardsCoordinator": "0x7750d328b314EfFa365A0402CcfD489B80B0adda",
19+
"rewardsCoordinatorImplementation": "0x5bf7c13D5FAdba224ECB3D5C0a67A231D1628785",
20+
"slasher": "0xD92145c07f8Ed1D392c1B88017934E301CC1c3Cd",
21+
"slasherImplementation": "0xF3234220163a757edf1E11a8a085638D9B236614",
22+
"strategies": "",
23+
"strategyManager": "0x858646372CC42E1A627fcE94aa7A7033e7CF075A",
24+
"strategyManagerImplementation": "0x70f44C13944d49a236E3cD7a94f48f5daB6C619b"
25+
},
26+
"chainInfo": {
27+
"chainId": 1,
28+
"deploymentBlock": 20341789
29+
},
30+
"parameters": {
31+
"communityMultisig": "0xFEA47018D632A77bA579846c840d5706705Dc598",
32+
"executorMultisig": "0x369e6F597e22EaB55fFb173C6d9cD234BD699111",
33+
"operationsMultisig": "0xBE1685C81aA44FF9FB319dD389addd9374383e90",
34+
"pauserMultisig": "0x5050389572f2d220ad927CcbeA0D406831012390",
35+
"timelock": "0xA6Db1A8C5a981d1536266D2a393c5F8dDb210EAF"
36+
}
37+
}

docs/3_guides/1_SDK_how_to.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ To use this SDK in your Rust project, add the following to your `Cargo.toml`:
1212

1313
```toml
1414
[dependencies]
15-
aligned-sdk = { git = "https://github.com/yetanotherco/aligned_layer", tag="v0.12.0" }
15+
aligned-sdk = { git = "https://github.com/yetanotherco/aligned_layer", tag="v0.12.1" }
1616
```
1717

1818
To find the latest release tag go to [releases](https://github.com/yetanotherco/aligned_layer/releases) and copy the

docs/operator_guides/0_running_an_operator.md

Lines changed: 57 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Register as an Aligned operator in testnet
22

33
> **CURRENT VERSION:**
4-
> Aligned Operator [v0.12.0](https://github.com/yetanotherco/aligned_layer/releases/tag/v0.12.0)
4+
> Aligned Operator [v0.12.1](https://github.com/yetanotherco/aligned_layer/releases/tag/v0.12.1)
55
66
> **IMPORTANT:**
77
> You must be [whitelisted](https://docs.google.com/forms/d/e/1FAIpQLSdH9sgfTz4v33lAvwj6BvYJGAeIshQia3FXz36PFfF-WQAWEQ/viewform) to become an Aligned operator.
@@ -26,7 +26,7 @@ Minimum hardware requirements:
2626
To start with, clone the Aligned repository and move inside it
2727

2828
```bash
29-
git clone https://github.com/yetanotherco/aligned_layer.git --branch v0.12.0
29+
git clone https://github.com/yetanotherco/aligned_layer.git --branch v0.12.1
3030
cd aligned_layer
3131
```
3232

@@ -80,7 +80,7 @@ This will display the current version of the operator binary.
8080

8181
## Step 3 - Update the configuration for your specific Operator
8282

83-
Update the following placeholders in `./config-files/config-operator.yaml`:
83+
Update the following placeholders in `./config-files/config-operator-mainnet.yaml`:
8484

8585
- `"<operator_address>"`
8686
- `"<earnings_receiver_address>"`
@@ -95,7 +95,7 @@ The keys are stored by default in the `~/.eigenlayer/operator_keys/` directory,
9595

9696
{% hint style="danger" %}
9797

98-
Don't keep the Operator Key in the Aligned Operator Node
98+
Don't keep the Operator Key in the Aligned Operator Node. If you already registered, don't use it. If you need to register, delete it after step 4.
9999

100100
{% endhint %}
101101

@@ -125,53 +125,23 @@ eth_ws_url: "wss://<RPC_1>"
125125
eth_ws_url_fallback: "wss://<RPC_2>"
126126
```
127127
128-
## Step 4 - Deposit Strategy Tokens
128+
## Step 4 - Register Operator on AlignedLayer
129129
130-
We are using [WETH](https://holesky.eigenlayer.xyz/restake/WETH) as the strategy token.
131-
132-
To do so, there are two options, either doing it through EigenLayer's website, and following their guide, or running the commands specified by us below.
133-
134-
You will need to stake a minimum of 1000 WEI in WETH. We recommend to stake a maximum amount of 10 WETH. If you are staking more than 10 WETH please unstake any surplus over 10.
135-
136-
### Option 1
137-
138-
EigenLayer's guide can be found [here](https://docs.eigenlayer.xyz/eigenlayer/restaking-guides/restaking-user-guide/liquid-restaking/restake-lsts).
139-
140-
### Option 2
141-
142-
If you have ETH and need to convert it to WETH you can use the following command, that will convert 1 ETH to WETH.
143-
Make sure to have [foundry](https://book.getfoundry.sh/getting-started/installation) already installed.
144-
Change the parameter in ```---value``` if you want to wrap a different amount:
130+
Then you must register as an Operator on AlignedLayer. To do this, you must run:
145131
146132
```bash
147-
cast send 0x94373a4919B3240D86eA41593D5eBa789FEF3848 --rpc-url https://ethereum-holesky-rpc.publicnode.com --private-key <private_key> --value 1ether
133+
make operator_register_with_aligned_layer CONFIG_FILE=./config-files/config-operator-mainnet.yaml
148134
```
149135

150-
Here `<private_key>` is the placeholder for the ECDSA key specified in the output when generating your keys with the EigenLayer CLI.
151-
152-
Finally, to end the staking process, you need to deposit into the WETH strategy,
153-
as shown in the EigenLayer guide.
154-
155-
<details>
156-
<summary>An alternative using the CLI</summary>
157-
158-
Run the following command to deposit one WETH
159-
160-
```bash
161-
./operator/build/aligned-operator deposit-into-strategy --config ./config-files/config-operator.yaml --strategy-address 0x80528D6e9A2BAbFc766965E0E26d5aB08D9CFaF9 --amount 1000000000000000000
162-
```
163-
164-
</details>
165-
166-
If you don't have Holesky ETH, these are some useful faucets:
167-
168-
- [Google Cloud for Web3 Holesky Faucet](https://cloud.google.com/application/web3/faucet/ethereum/holesky)
169-
- [Holesky PoW Faucet](https://holesky-faucet.pk910.de/)
136+
{% hint style="danger" %}
137+
If you are going to run the server in this machine,
138+
delete the operator key
139+
{% endhint %}
170140

171141
## Step 5 - Start the operator
172142

173143
```bash
174-
./operator/build/aligned-operator start --config ./config-files/config-operator.yaml
144+
./operator/build/aligned-operator start --config ./config-files/config-operator-mainnet.yaml
175145
```
176146

177147
### Run Operator using Systemd
@@ -243,3 +213,48 @@ cast send --rpc-url https://ethereum-holesky-rpc.publicnode.com --private-key <p
243213
```
244214

245215
`<private_key>` is the one specified in the output when generating your keys with the EigenLayer CLI.
216+
217+
218+
## Deposit Strategy Tokens in Testnet
219+
220+
We are using [WETH](https://holesky.eigenlayer.xyz/restake/WETH) as the strategy token.
221+
222+
To do so, there are two options, either doing it through EigenLayer's website, and following their guide, or running the commands specified by us below.
223+
224+
You will need to stake a minimum of 1000 WEI in WETH. We recommend to stake a maximum amount of 10 WETH. If you are staking more than 10 WETH please unstake any surplus over 10.
225+
226+
### Option 1
227+
228+
EigenLayer's guide can be found [here](https://docs.eigenlayer.xyz/eigenlayer/restaking-guides/restaking-user-guide/liquid-restaking/restake-lsts).
229+
230+
### Option 2
231+
232+
If you have ETH and need to convert it to WETH you can use the following command, that will convert 1 ETH to WETH.
233+
Make sure to have [foundry](https://book.getfoundry.sh/getting-started/installation) already installed.
234+
Change the parameter in ```---value``` if you want to wrap a different amount:
235+
236+
```bash
237+
cast send 0x94373a4919B3240D86eA41593D5eBa789FEF3848 --rpc-url https://ethereum-holesky-rpc.publicnode.com --private-key <private_key> --value 1ether
238+
```
239+
240+
Here `<private_key>` is the placeholder for the ECDSA key specified in the output when generating your keys with the EigenLayer CLI.
241+
242+
Finally, to end the staking process, you need to deposit into the WETH strategy,
243+
as shown in the EigenLayer guide.
244+
245+
<details>
246+
<summary>An alternative using the CLI</summary>
247+
248+
Run the following command to deposit one WETH
249+
250+
```bash
251+
./operator/build/aligned-operator deposit-into-strategy --config ./config-files/config-operator.yaml --strategy-address 0x80528D6e9A2BAbFc766965E0E26d5aB08D9CFaF9 --amount 1000000000000000000
252+
```
253+
254+
</details>
255+
256+
If you don't have Holesky ETH, these are some useful faucets:
257+
258+
- [Google Cloud for Web3 Holesky Faucet](https://cloud.google.com/application/web3/faucet/ethereum/holesky)
259+
- [Holesky PoW Faucet](https://holesky-faucet.pk910.de/)
260+

0 commit comments

Comments
 (0)