Skip to content

Fix verify deposits - #2963

Merged
naddison36 merged 5 commits into
masterfrom
nicka/verify-val2
Aug 5, 2026
Merged

Fix verify deposits#2963
naddison36 merged 5 commits into
masterfrom
nicka/verify-val2

Conversation

@naddison36

@naddison36 naddison36 commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

Updates the validator tooling for the new CompoundingStakingStrategy:

  • Targets CompoundingStakingStrategy instead of the legacy SSV strategy for validator verification actions.
  • Adds batch verification via --ids, reusing a single beacon-state snapshot across validators.
  • Enhances staking snapshots with full public keys and validator indexes for processed deposits by reading ETHStaked events and querying the beacon API.
  • Lazily loads the optional Talos client so regular Hardhat commands do not require private registry credentials.

No contract or deployment changes are included.

Testing

  • Formatting and lint
  • Build
  • Unit tests
  • Fork and smoke test suites via CI

@naddison36 naddison36 changed the title Nicka/verify val2 Fix verify deposits Aug 4, 2026
@naddison36
naddison36 requested a lite review from Copilot August 4, 2026 23:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the validator/deposit verification tooling to work with the new CompoundingStakingStrategy (instead of the legacy SSV strategy), improves validator verification ergonomics with batch support, enriches staking snapshots with pubkeys + validator indexes, and makes the Talos client dependency lazy-loaded to avoid requiring private registry access for non-Talos Hardhat commands.

Changes:

  • Switch verification flows (verifyValidator, verifyDeposit(s), verifyBalances) to target CompoundingStakingStrategyProxy.
  • Add batch validator verification via --ids while reusing a single beacon-state snapshot.
  • Improve staking snapshot output by backfilling pubkeys (via ETHStaked logs) and resolving validator indexes via the beacon API; lazily require @oplabs/talos-client.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
contracts/tasks/validatorCompound.js Adds event-based pubkey backfill + beacon index lookup to improve deposit snapshot output.
contracts/tasks/tasks.js Updates Hardhat task params to support --ids and make --index optional.
contracts/tasks/lib/signer.ts Lazily loads the optional Talos client to avoid private registry requirements for normal commands.
contracts/tasks/beacon.js Adds --ids batch verification and switches verification target to CompoundingStakingStrategy.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +34 to +38
if (!talosClient) {
// Talos is an optional peer dependency so non-Talos Hardhat commands do not
// require credentials for the private package registry.
talosClient = require("@oplabs/talos-client") as TalosClient;
}
Comment on lines +966 to +971
const pubKeyHashes = deposits.map(({ pubKeyHash }) => pubKeyHash);
const blockBatchSize = 10000;

for (let startBlock = fromBlock; startBlock <= blockTag; ) {
const endBlock = Math.min(startBlock + blockBatchSize - 1, blockTag);
const logs = await strategy.provider.getLogs({
@naddison36
naddison36 merged commit 91695e8 into master Aug 5, 2026
19 of 23 checks passed
@naddison36
naddison36 deleted the nicka/verify-val2 branch August 5, 2026 00:08
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.

3 participants