Skip to content

Version v1.0.0

Compare
Choose a tag to compare
@nmvalera nmvalera released this 31 May 17:58
· 65 commits to main since this release

πŸŽ‰ Liquid Collective v1.0.0 is a major upgrade of the Liquid Collective protocol bringing compatibility with Ethereum withdrawals following the Shapella upgrade.

πŸš€ This upgrade enables LsETH holders to redeem LsETH for ETH via the Liquid Collective protocol. Users can now redeem using the protocol at the protocol conversion rate (which reflects the amount of ETH staked plus any Ethereum network rewards that the stake has accrued, minus any potential penalties imposed by the network and protocol service fees).

Redeeming is a multi-step process:
1/ User requests a LsETH redeem
2/ Protocol satisfies redeem request
3/ User claims the request
.

πŸ›‘οΈ The proposed smart contract upgrade underwent two smart contract security audits conducted by Spearbit in April 2023 and May 2023 (report to be published).

πŸ’« Changes Overview

Major Changes

  • An upgrade of the Withdraw contract to enable the collection of withdrawn ETH, including both partial and full validator exits
  • The addition of the new RedeemManager contract that holds the Redeem Queue and is a key component for a steady orchestration of redemptions
  • An upgrade to the Oracle contract to report extended Consensus Layer data, including new data relative to the withdrawals
  • An upgrade to the River contract to extend the processing of Oracle reports with withdrawal-related economics
  • An upgrade to the OperatorsRegistry contract to manage validator exits, in particular, select and notify Node Operators requested to exit validators

Minor Changes

  • An upgrade to the ELFeeRecipient contract to disable the initializer on implementation
  • An upgrade to the TLC contract to disable the initializer on implementation

Extra Note

This upgrade comes along with changes to the off-chain agent enabling protocol operations.

  • upgrade to the Oracle daemon to collect and report withdrawal-related data from CL and EL
  • introduction of the Validator Exit Daemon, an off-chain agent to be run by Node Operators to manage validator exits

⚠️ BREAKING CHANGES

  • Event FundedValidatorKeys emitted by the River contract has been deprecated in favor of the new FundedValidatorKeys(uint256 indexed index, bytes[] publicKeys, bool deferred); emitted by the OperatorsRegistry. Note that at upgrade deployment time, FundedValidatorKeys will be emitted for currently funded validator keys with deferred=true
  • Method OperatorsRegistry.setOperatorsLimit signature has been updated
  • Method Oracle.reportConsensusLayerData has been updated to support extended data inputs

Deployment Addresses

Contract Mainnet Goerli
River (LsETH) v1.0.0 0xeB6e193B9b9f0D677890F7B614283e45adf37874 0x6db53718021e1e818e9286e541a30f45b5416d20
OperatorsRegistry v1.0.0 0x7ADbc0BD23aB71b1dC8C946C0550fF87c9841008 0x1591414AF80eAcC9D920bb53c6a7131A9BFADB63
Oracle v1.0.0 0x485ade5B7f66ECcaD4583862bc5c2Aa838720aA0 0x92aC7d80A90E592751a4050856213a5192e6a70A
RedeemManager Proxy 0x080b3a41390b357Ad7e8097644d1DEDf57AD3375 0x0693875efbF04dDAd955c04332bA3324472DF980
RedeemManager v1.0.0 0x3fe10fd2ce1F492Ede1266a50f6451bC1D8AF9b0 0x1dA1B892575dc5fABbef28FA0F62fE302ED39E83
Withdraw v1.0.0 0xCD859343d6C95E3791B389b63225794DB98e7F6C 0x4e6D4AF6Cb3B17cCA8603B87DFC34C47f2B15EFe
ELFeeRecipient v1.0.0 0x108A04f7A181A1e0A58Bdb1772707aEe88294e13 0x44A2b107B3b05f62A84c69483EA1dCa9d61E2C20
TLC v1.0.0 0x1d628949c6c59EbC69563cA94bCBcB4cbA58FDE4 0x173E0A10A44e06dA4cdb767dbe7C1A01F5dDa73e

Exhaustive list of changes

Full Changelog: v0.5.0...v1.0.0