github stakewise/v3-operator v5.1.0

4 hours ago

Highlights

Faster startup: no more full-history event scans (#840, #842, #843, #848, #851)

A fresh operator no longer walks the chain from the keeper genesis block to build its caches. Each network config now carries pinned checkpoints:

  • Vault validators are seeded from a network-wide IPFS dump (#842). The vault's ValidatorRegistered events up to the dump block are loaded in a single fetch, and the validators checkpoint starts there instead of at genesis.
  • Oracle config (ConfigUpdated) scans start from a release checkpoint, falling back to the pinned last-event block when nothing newer exists (#840).
  • Exit signatures (ExitSignaturesUpdated) do the same on a cold cache (#843). Older rotations are long finalized and already synced by oracles, so they don't gate a new rotation.
  • Rewards (RewardsUpdated) lookback is limited to one month instead of sweeping to genesis when no recent event is found (#851).
  • Removed the unreachable genesis-block scan in ProcessedSharesCache (#848).

Net effect: much lower RPC load and shorter time-to-ready on first run, especially on providers with strict getLogs limits.

Withdrawals: reward accrual buffer (#846)

Queued exit assets keep accruing rewards while a withdrawal is pending on the consensus layer (~27h for a partial withdrawal, up to ~11 days for a full exit), so requesting the exact shortfall always left a new tiny one behind — an endless trickle of dust withdrawals. Withdrawal requests are now padded with a buffer of 0.1% of the exit queue value, with a floor and a 1 ETH cap. Two new environment variables:

  • MIN_WITHDRAWAL_BUFFER_GWEI (default 10000) — minimum padding added on top of the shortfall, capped at 1 ETH.
  • MISSING_ASSETS_THRESHOLD_GWEI (default 1) — minimum exit queue shortfall that triggers a withdrawal, capped at 0.01 ETH to stay below the oracle's own exit threshold. Validated at startup.

Operator version telemetry (#838)

The operator reports its version to the StakeWise backend once every 24h (TELEMETRY_INTERVAL), signed by the vault validators manager wallet. Opt out with --disable-telemetry / DISABLE_TELEMETRY; it is disabled automatically in relayer mode, where the relayer holds the manager role.

Other notable changes

  • Wait for the execution client to import the latest consensus head, fixing intermittent header not found errors at the chain tip (#850)
  • Verify deposit signatures returned by remote signers (#836)
  • Remove stale web3signer key files on export; fix disable-validators env var names (#837)

What's Changed

Full Changelog: v5.0.0...v5.1.0

Don't miss a new v3-operator release

NewReleases is sending notifications on new releases.