Skip to content

Releases: ssvlabs/ssv-network

v2.0.0

28 Apr 23:15
9bb7b21

Choose a tag to compare

Major protocol upgrade introducing ETH-based accounting, effective-balance-aware fee charging, SSV staking, and the one-way migration path from legacy SSV clusters to ETH clusters.

Highlights

  • New clusters now pay operator and network fees in ETH instead of SSV.
  • ETH cluster accounting is effective-balance-aware via vUnits, rather than flat validator-count charging.
  • Effective balance updates are driven by oracle-committed Merkle roots and consumed through updateClusterBalance.
  • SSV staking is introduced via stake, requestUnstake, withdrawUnlocked, claimEthRewards, and syncFees, with cSSV as the staking receipt token.
  • Legacy SSV clusters remain supported in restricted compatibility mode and can migrate irreversibly to ETH via migrateClusterToETH.

Behavioral changes

  • ETH clusters are the forward path for new validator operations.
  • Legacy SSV clusters remain backward-compatible for removal, exit, liquidation, migration, and EB update flows, but are no longer the primary path for new activity.
  • Liquidated ETH clusters can still accept deposits and allow withdrawals as part of the solvency and reactivation model.
  • Reactivation can depend on a stale on-chain EB snapshot until the next valid oracle update.
  • Migration and reactivation flows can skip removed operators and continue with reduced operator coverage when the remaining configuration is valid.

Assurance and rollout

  • Expanded unit, integration, forked-upgrade, invariant, and Echidna coverage across staking, migration, oracle quorum, accounting, fee changes, and reentrancy-sensitive paths.
  • Mainnet rollout artifacts, SAFE batch generation, attestation output, smoke tests, and post-upgrade verification tooling are included in this release.

References

Full Changelog: v1.1.1...v1.2.0

v1.2.0

25 Sep 15:01
085874c

Choose a tag to compare

  • Permissioned operators: Operator owners can define multiple whitelisted address/external whitelisting contract.
  • Update solidity version to 0.8.24
  • Update project dependencies

Full Changelog: v1.1.1...v1.2.0

Release Notes: https://github.com/ssvlabs/ssv-network/blob/v1.2.0/RELEASE_NOTES.md

v1.1.1

17 Apr 20:58
3c12e52

Choose a tag to compare

What's Changed

  • Fix bulk register validator in #298

Full Changelog: v1.1.0...v1.1.1

v1.1.0

12 Mar 10:38

Choose a tag to compare

What's Changed

  • Bulk features: register/remove/exit validators
  • Configuration for publishing npm package when generating a release
  • Use ssv-keys sdk to generate shares in tests

ABIs: https://github.com/bloxapp/ssv-network/tree/contract-abi/docs/mainnet/v1.1.0/abi

Full Changelog: v1.0.2...v1.1.0

v1.0.2

15 Feb 13:49

Choose a tag to compare

What's Changed

  • Event ValidatorExited -> indexed owner
  • Added permissionless audit report

Full Changelog: v1.0.0-rc4...v1.0.2

v1.0.0-rc4

04 Sep 11:38

Choose a tag to compare

What's Changed

  • Audit fixes/recommendations

  • Validate a cluster with 0 validators can not be liquidated

  • Deployment process now uses hardhat tasks

  • The DAO can set a maximum operator fee (SSV)

  • Remove the setRegisterAuth function (register operator/validator without restrictions)

  • SSVNetworkViews contract does not throw an error as a way of return. Example: getValidator returns false if the validator is not found

  • Contract ABI changes:

  • Errors
    • New
      FeeTooHigh()
  • Events
    • Changed
      OperatorFeeCancellationDeclared(address owner, uint64 operatorId) -> OperatorFeeDeclarationCancelled(address owner, uint64 operatorId)
    • New
      OperatorMaximumFeeUpdated(uint64 maxFee)
  • Functions
    • Removed
      getRegisterAuth(address userAddress) returns(bool authOperators, bool authValidators)
      setRegisterAuth(address userAddress, bool authOperator, bool authValidator)
    • New
      updateMaximumOperatorFee(uint64 maxFee)
    • Updated
      withdrawOperatorEarnings(uint64 operatorId) -> withdrawAllOperatorEarnings(uint64 operatorId)

Full Changelog: v1.0.0-rc3...v1.0.0-rc4

v0.3.1

30 Mar 12:56
db86a94

Choose a tag to compare

  • Fix withdraw function to check the amount withdrawn respects liquidation collateral limits