devnet-7: compounding validators, big-state vset spray & 8282 deploy startup test#37
Merged
Merged
Conversation
🤖 qu0b-reviewerBased on my analysis of the diff and the full file, I found one verified issue: SummaryThis 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
Reviewed @ |
pk910
approved these changes
Jul 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 committed2048never 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 arestatus: 2(exited, never attest) with0x00BLS creds (withdrawal sweep skips them — no withdrawal churn, no EL ETH minting) andstart: 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.yamlstays compact (one range line). Active set /NUMBER_OF_VALIDATORSunchanged at 3000.3. Registers
deploy-eip8282-contractsas an assertoor startup test via the newgen_kubernetes_config_assertoor_testsvar — the pre-gloas deployment of the builder request contracts that genesis omits (DEPLOY_EIP8282_CONTRACTS=false).Dependencies / merge order
gen_kubernetes_config_assertoor_teststemplate hook (must merge before the devnet-7generate_kubernetes_configrun; until then the var is inert)