Skip to content

Commit daca992

Browse files
committed
add 64 consolidation playbook
1 parent b98693a commit daca992

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
2+
id: 64-el-triggered-consolidation
3+
name: "EL-triggered consolidation test"
4+
timeout: 1h
5+
config:
6+
validatorCount: 64
7+
targetAddress: "0x65D08a056c17Ae13370565B04cF77D2AfA1cB9FA"
8+
validatorMnemonic: "giant issue aisle success illegal bike spike question tent bar rely arctic volcano long crawl hungry vocal artwork sniff fantasy very lucky have athlete"
9+
sourceValidatorIndex: 100
10+
targetValidatorIndex: 200
11+
blsChangesWaitSlot: 41
12+
consolidationWaitSlot: 60
13+
tasks:
14+
- name: check_clients_are_healthy
15+
title: "Check if at least one client is ready"
16+
timeout: 5m
17+
config:
18+
minClientCount: 1
19+
20+
- name: check_consensus_slot_range
21+
title: "Wait for slot >= ${blsChangesWaitSlot}"
22+
timeout: 30m
23+
configVars:
24+
minSlotNumber: "blsChangesWaitSlot"
25+
26+
27+
- name: run_task_options
28+
title: "Generate ${validatorCount} BLS changes"
29+
config:
30+
task:
31+
name: generate_bls_changes
32+
title: "Generate ${validatorCount} BLS changes"
33+
configVars:
34+
mnemonic: "validatorMnemonic"
35+
targetAddress: "targetAddress"
36+
limitTotal: "validatorCount"
37+
indexCount: "validatorCount"
38+
39+
- name: check_consensus_slot_range
40+
title: "Wait for slot >= ${consolidationWaitSlot}"
41+
timeout: 30m
42+
configVars:
43+
minSlotNumber: "consolidationWaitSlot"
44+
45+
- name: generate_consolidations
46+
title: "Consolidate Validator ${sourceValidatorIndex} to ${targetValidatorIndex}"
47+
config:
48+
sourceIndexCount: 64
49+
failOnReject: true
50+
awaitReceipt: true
51+
configVars:
52+
walletPrivkey: "walletPrivkey"
53+
sourceStartValidatorIndex: "sourceValidatorIndex"
54+
targetValidatorIndex: "targetValidatorIndex"
55+
56+
57+
- name: check_consensus_validator_status
58+
title: "Wait for validator to completely exit (${sourceValidatorIndex})"
59+
id: target_validator_info
60+
config:
61+
validatorStatus:
62+
- withdrawal_done
63+
configVars:
64+
validatorIndex: "sourceValidatorIndex + 64"
65+
66+
67+
- name: run_shell
68+
title: "Check targetValidator status: 2048 ETH (64* 32 ETH EB), 0x02 withdrawal creds"
69+
config:
70+
envVars:
71+
validator: "tasks.target_validator_info.outputs.validator"
72+
command: |
73+
balance=$(echo "$validator" | jq -r '.balance')
74+
if [ "$balance" -lt 2047900000000 ]; then
75+
echo "Balance too low! expected: > 2047.9 ETH, got: $balance Gwei"
76+
exit 1
77+
fi
78+
79+
effective_balance=$(echo "$validator" | jq -r '.validator.effective_balance')
80+
if [ "$effective_balance" != "2048000000000" ]; then
81+
echo "Effective balance too low! expected: 2048 ETH, got: $effective_balance Gwei"
82+
exit 1
83+
fi
84+
85+
withdrawal_creds=$(echo "$validator" | jq -r '.validator.withdrawal_credentials')
86+
if [[ ! "$withdrawal_creds" == "0x02"* ]]; then
87+
echo "Invalid withdrawal credentials! expected: 0x02*, got: $withdrawal_creds"
88+
exit 1
89+
fi

0 commit comments

Comments
 (0)