Changelog
v5.0.0
A major release introducing the NodesManager system, a redesigned meta-vault architecture with a dedicated SubVaultsRegistry, new ERC-20 meta-vault variants, and the EthCommunityVault.
Breaking Changes
- Meta-vault architecture restructured. The shared
MetaVaultbase contract has been removed.EthMetaVaultandGnoMetaVaultwere moved out of thecustom/directory and now live alongside other vault types. Sub-vault state is no longer managed insideVaultSubVaults— it lives in a new standaloneSubVaultsRegistrydeployed per meta-vault. GnoPrivMetaVaulthas been removed. Private meta-vaults are now Ethereum-only, alongside the new ERC-20 variants.SubVaultUtilslibrary removed. Sub-vault logic was relocated toSubVaultsRegistryand the newExitPositionslibrary (renamed fromSubVaultExits).- OsToken immutables relocated. OsToken-related immutables moved out of
VaultImmutablesintoVaultOsToken. OsToken configuration moved intoVaultImmutablesand redemption logic intoVaultSubVaults. OsTokenRedeemerreworked to operate againstSubVaultsRegistryand support meta-vaults. Position tracking and the redemption update flow have changed.- Meta-vault factories are now permissionless.
New Features
- NodesManager: new component for delegating validator operations to node operators. Includes operator-state management with merkle proofs, oracle-signed validator registration, share donations, an exit queue, pending penalties, and minimum-balance checks. Supports delegation of the validators manager role and the withdrawals manager role. Introduces direct deposits in place of the old deposit queue.
- EthCommunityVault: new ERC-20 Ethereum vault with a locked
NodesManagerset as both fee recipient and validators manager. EmitsEthCommunityVaultCreatedon deployment. - ERC-20 meta-vaults:
EthErc20MetaVault,EthPrivErc20MetaVault, andEthPrivMetaVaultare now available. - SubVaultsRegistry & SubVaultsRegistryFactory: standalone registry contracts that own all sub-vault accounting (positions, exit queues, capacities) for a meta-vault. Upgrades remain gated by the parent meta-vault.
- Validator checker redemption support:
ValidatorsCheckernow factors redemption assets into its checks. - Meta-vault state updates in OsTokenRedeemer: redeemer now triggers state updates as part of redemption.
subVaultsExitsview: new function for inspecting per-sub-vault exit state.getExitQueueCumulativeTicketsview: exposes cumulative ticket counts on the exit queue.
Improvements
- BalancedCurator: simplified, and now respects each sub-vault's capacity when distributing deposits. Empty deposit lists are returned (instead of reverting) when no sub-vaults can accept funds. A new BalancedCurator has been deployed across all networks.
- Gas optimizations: reduced redundant memory operations in
OsTokenRedeemerandSubVaultsRegistry; cachedmetaVaultSLOAD before access checks inenterSubVaultsExitQueue; skipped redundant computation ingetExitQueueMissingAssetswhenqueuedSharesis zero; harvest checks are now skipped for uncollateralized meta-vaults. - Reentrancy hardening:
nonReentrantadded toSubVaultsRegistryandNodesManager.
Internal / Dev
- Pinned commit hashes for all GitHub Actions workflows.
- Renamed
SubVaultExitslibrary toExitPositions. - Updated and regenerated gas snapshots across the suite.
- Reworked upgrade scripts (
UpgradeEthNetwork,UpgradeGnoNetwork) to deploy only meta-vaults and the OsToken redeemer where applicable. - Deployment artifacts updated for mainnet, hoodi, and gnosis (including governor transaction batches).
Full Changelog: v4.0.1...v5.0.0
Audit: https://github.com/stakewise/v3-core/blob/v5.0.0/audits/2026-04-Statemind.pdf