Deposit Checklist¶
Use this checklist before every validator deposit window. A green allowlist check alone is not enough.
Pre-Window¶
- [ ] Confirm no unexpected
UpgradeProposed,UpgradeQueued, role-transfer, or registrar event is active for deposit, controller, factory, gatekeeper, or beacon targets. - [ ] Verify
allowlistAdmincustody and signer quorum. - [ ] Confirm factory has deployed the vault for the validator pubkey hash.
- [ ] Confirm
previewExecutionWithdrawalCredentials(pubkey, immutableConfigHash)matches the credentials to be submitted. - [ ] Confirm vault runtime code hash matches
baselineVaultRuntimeCodehash. - [ ] Confirm vault beacon equals
baselineVaultBeacon. - [ ] Confirm beacon authority is
baselineUpgradeGovernor. - [ ] Confirm controller readiness is
ok=true, trigger-armed, beneficiary-initialized, reserve-initialized, reserve-usable, and not stale. - [ ] Confirm treasury-router
policyBootstrapOpen()is false. - [ ] Confirm governor policy assertions pass for deposit, factory, controller, claim gatekeeper, and vault beacon.
Intent Creation¶
- [ ] Use
addAllowedDepositForunless the allowlist admin itself will submit the default 32 CTN deposit. - [ ] Confirm pubkey is 48 bytes.
- [ ] Confirm withdrawal credentials are 32 bytes and canonical
0x01execution credentials. - [ ] Confirm amount is
32_000_000_000gwei. - [ ] Confirm authorized depositor is the expected transaction sender and not a temporary EOA.
- [ ] Record current
allowlistEpoch. - [ ] Archive the emitted
DepositIntentAllowedForevent.
Deposit Submission¶
- [ ] Caller is the authorized depositor in the intent tuple.
- [ ] Value is exactly 32 CTN and a gwei multiple.
- [ ]
deposit_data_rootwas computed from the exact pubkey, credentials, signature, and amount. - [ ] No prior
phase1ValidatorActivated[pubkeyHash]latch exists. - [ ] No matching
consumedIntents[intentHash]exists.
Post-Deposit¶
- [ ]
DepositIntentConsumedForemitted for the expected intent hash. - [ ]
DepositEventemitted with expected index. - [ ]
depositCountincremented by one. - [ ]
phase1ValidatorActivated[pubkeyHash]is true. - [ ] Monitoring has no immediate governance or readiness drift alert.
- [ ] Evidence bundle is linked to the validator onboarding ticket.
Abort conditions
Abort the window if a queued upgrade, role-admin transfer, unknown registrar event, readiness drift, reserve-proof staleness, unexpected beacon authority, or policy assertion failure appears before the deposit is mined.