Skip to content

Allow initial deposits to activate validators#2885

Open
naddison36 wants to merge 10 commits intomasterfrom
nicka/initial-deposit-32
Open

Allow initial deposits to activate validators#2885
naddison36 wants to merge 10 commits intomasterfrom
nicka/initial-deposit-32

Conversation

@naddison36
Copy link
Copy Markdown
Collaborator

@naddison36 naddison36 commented May 4, 2026

Changes

While the Ethereum validator deposit queue is long (> 20 days), doing two deposits to get an active validator is too long. This change allows the governor to set the initial deposit to 32.25 ETH which will allow a validator to become active from just one deposit.
Once the deposit queue gets down to a more reasonable length, eg < 10 days, the initial deposit can be changed back to 1 ETH via a governance proposal.

Code Change Checklist

To be completed before internal review begins:

  • The contract code is complete
  • Executable deployment file
  • Fork tests that test after the deployment file runs
  • Unit tests *if needed
  • The owner has done a full checklist review of the code + tests

Internal review:

  • Two approvals by internal reviewers

@codecov
Copy link
Copy Markdown

codecov Bot commented May 4, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 41.94%. Comparing base (78e4669) to head (630f246).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2885      +/-   ##
==========================================
+ Coverage   41.59%   41.94%   +0.35%     
==========================================
  Files         113      113              
  Lines        4916     4925       +9     
  Branches     1362     1365       +3     
==========================================
+ Hits         2045     2066      +21     
+ Misses       2868     2856      -12     
  Partials        3        3              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Copy Markdown
Member

@sparrowDom sparrowDom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. There is one thing in the tests where comments don't align with code. Also I think it would be cool, that both compounding staking strategy contract setups are tested: when initial deposit is configured to 1 ETH / 32.24 ETH.

it("Should stake to a validator: 1 ETH", async () => {
await stakeValidators(0, 1);
it("Should stake to a validator: 32.25 ETH", async () => {
await stakeValidators(0, INITIAL_DEPOSIT_AMOUNT);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Multiple places in the test files comments state that 32.25 ETH has been deposited while using a constant INITIAL_DEPOSIT_AMOUNT which is set to 1 ETH.

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