Skip to content

Releases: ExocoreNetwork/exocore-contracts

v1.0.3

09 Oct 02:45
dca9a69
Compare
Choose a tag to compare

prepared for Exocore Testnet v6


New Features

  • Enable setting TVL limits for whitelisted LST tokens on client chain side
  • Enable updating Beacon chain effective balance for Ethereum validators by providing validators pubkey to Exocore
  • Support native restaking for Bootstrap

v1.0.2

11 Sep 07:08
b769c58
Compare
Choose a tag to compare

prepared for Exocore Testnet v5


New Features

  • Added oracle information when registering tokens to whitelist
  • Designed and tested contract governance system

Fix

  • Corrected withdrawal index usage
  • Addressed majority of audit findings identified by Certik

v1.0.1

12 Aug 09:28
1346b0d
Compare
Choose a tag to compare

prepared for Exocore Testnet v4


New Features

  • register new client chain to whitelist or update whitelisted client chain info for ExocoreGateway
  • add new assets to whitelist or update whitelisted assets info for ExocoreGateway and ClientChainGateway
  • Ethereum native restaking withdrawal from Exocore for NativeRestakingController
  • add depositThenDelegate function to deal with deposit and delegation in one transaction

Fix

  • fix the incompatible storage layout between Bootstrap and ClientChainGateway

v1.0.0

30 May 08:48
e36c4d0
Compare
Choose a tag to compare

prepared for the launch of Exocore Testnet v3


Features

Bootstrap

contract that handles the bootstrap process of Exocore network with assets staked on EVM-compatible chains like Ethereum and validators being registered in contract.

  • staker deposits ERC20 token
  • staker withdraws principle balance of ERC20 token
  • staker registers as operator
  • staker delegates/undelegates to/from operator
  • mark as bootstrapped with a message from Exocore and upgrade it to ClientChainGateway after spawn time
  • Ethereum native restaking deposit before Exocore chain was spawned and Bootstrap got upgraded
  • Ethereum native restaking withdrawal before Exocore chain was spawned and Bootstrap got upgraded
  • Ethereum native restaking updateBalance before Exocore chain was spawned and Bootstrap got upgraded

ClientChainGateway

contract that has the most of the user-facing functions and is also an omni-chain application that communicates with Exocore with cross-chain messages(requests&response). ClientChainGateway behaves like Bootstrap in many aspects except for:

  1. ClientChainGateway exists after the Exocore chain is spawned, at which time Bootstrap should stop work, thus Bootstrap should be upgraded to ClientChainGateway to continue working as the entrypoint of Exocore protocol to support staking operations.
  2. ClientChainGateway would forward most requests like deposit, withdraw, delegate/undelegate to Exocore to be handled and account for balance change on Exocore chain, while Bootstrap handles these requests locally and store balances in local contract storage.
  • storage consistency with Bootstrap
  • staker deposits ERC20 token to Exocore
  • staker withdraw principle/reward ERC20 token from Exocore to client chain and unlock the corresponding amount of assets
  • staker claim unlocked assets after withdrawal
  • staker delegates/undelegates to/from operator
  • Ethereum native restaking deposit to Exocore after Exocore chain is spawned and Bootstrap gets upgraded
  • Ethereum native restaking withdrawal from Exocore after Exocore chain is spawned and Bootstrap gets upgraded
  • Ethereum beacon chain balance update after Exocore chain is spawned and Bootstrap gets upgraded(this would be implemented by using Exocore oracle instead of by client chain contracts)