Skip to content

devnet-7: compounding validators, big-state vset spray & 8282 deploy startup test#37

Merged
qu0b merged 2 commits into
masterfrom
qu0b/devnet-7-compounding-validators
Jul 13, 2026
Merged

devnet-7: compounding validators, big-state vset spray & 8282 deploy startup test#37
qu0b merged 2 commits into
masterfrom
qu0b/devnet-7-compounding-validators

Conversation

@qu0b

@qu0b qu0b commented Jul 13, 2026

Copy link
Copy Markdown
Member

What

Three devnet-7 genesis/config changes on top of the merged prep (#35):

1. WITHDRAWAL_TYPE=0x02 + VALIDATOR_BALANCE=1024000000000 (1024 ETH) — re-added as the only spec overrides on top of the egg defaults, so consolidations are actually testable: two 1024 ETH compounding validators consolidate exactly into one 2048 ETH max-EB target. Note the unit: eth-beacon-genesis consumes this value verbatim as Gwei — the previous consolidation attempt failed because 40 ETH (40000000000) was used where 400 was intended, and devnet-6's committed 2048 never matched its actual launch genesis (on-chain genesis validators are 40 ETH / 0x02). An in-file comment now pins the unit.

2. 500k exited-validator spray (ADDITIONAL_VALIDATOR_MNEMONICS) — bumps the registry from 3k to ~503k entries so SSZ-hashing perf differences are measurable (devnet-7's focus). The sprayed validators are status: 2 (exited, never attest) with 0x00 BLS creds (withdrawal sweep skips them — no withdrawal churn, no EL ETH minting) and start: 1000000 (key indices clear of organic post-genesis deposits). Validated by running egg 6.1.3 in docker with a 50k spray: ~140B/validator on top of ~2.7MB fixed → genesis.ssz ≈ 73MB (GitHub's 100MB file cap bounds this approach at ~680k); validator_names.yaml stays compact (one range line). Active set / NUMBER_OF_VALIDATORS unchanged at 3000.

3. Registers deploy-eip8282-contracts as an assertoor startup test via the new gen_kubernetes_config_assertoor_tests var — the pre-gloas deployment of the builder request contracts that genesis omits (DEPLOY_EIP8282_CONTRACTS=false).

Dependencies / merge order

@qu0b-reviewer

qu0b-reviewer Bot commented Jul 13, 2026

Copy link
Copy Markdown

🤖 qu0b-reviewer

Based on my analysis of the diff and the full file, I found one verified issue:

Summary

This PR enables compounding validators (WITHDRAWAL_TYPE=0x02, VALIDATOR_BALANCE=1024 ETH) for consolidation testing, sprays 500k exited validators for SSZ-hashing benchmarks, and registers an assertoor startup test to deploy EIP-8282 contracts before the GLOAS fork. The genesis env vars and math are correct. The one problem: the referenced assertoor playbook does not exist.

Issues

  • 🟡 ansible/inventories/devnet-7/group_vars/all/all.yaml:217 — The gen_kubernetes_config_assertoor_tests entry references https://raw.githubusercontent.com/ethpandaops/assertoor/master/playbooks/gloas-dev/deploy-eip8282-contracts.yaml, but that file returns 404. Neither the ethpandaops/assertoor master branch nor the qu0b fork has it (the gloas-dev directory contains no deploy-eip8282-contracts.yaml file). Assertoor will fail to load this startup-scheduled test at genesis, so the EIP-8282 contracts won't be deployed before the GLOAS fork at epoch 30. Either the playbook needs to be created in the assertoor repo first, or the URL points at the wrong location.

Reviewed @ cf1cb8c2
"Backups are useless. Restores are everything."

@qu0b qu0b merged commit 7623823 into master Jul 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants