Releases: ExocoreNetwork/exocore-contracts
Releases · ExocoreNetwork/exocore-contracts
v1.0.3
v1.0.2
v1.0.1
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
andClientChainGateway
- 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
andClientChainGateway
v1.0.0
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:
ClientChainGateway
exists after the Exocore chain is spawned, at which timeBootstrap
should stop work, thusBootstrap
should be upgraded toClientChainGateway
to continue working as the entrypoint of Exocore protocol to support staking operations.ClientChainGateway
would forward most requests like deposit, withdraw, delegate/undelegate to Exocore to be handled and account for balance change on Exocore chain, whileBootstrap
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)