-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix/native restaking withdraw in progress (#52)
* initialize ExocoreCapsule * add ValidatorContainer library * implement capsule deposit * initiate updateStakingBalance * add index=>pubkey mapping * add withdrawal container and integrate exocapsule into clientchaingateway * add isValidWithdrawalContainerRoot implementation to verify withdrawal merkle proof * add NativeRestakingController contract * add createExoCapsule function * add depositBeaconChainValidator implementation * abstract CommonRestakingController * add whenNotPaused modifier to functions * rename CommonRestakingController as BaseRestakingController * remove unused imports and fix errors * fix operator address length * optimize some code with DRY princple * update log and reuse some code * fix test * move stake interface to NativeRestakingController * update principleBalance upon receiving deposit response * draft plantuml diagram * fix depositBeaconChainValidator diagram * fix container merklizatiion function * forge install: eigenlayer-beacon-oracle * integrate EigenLayerBeaconOracle into ExoCapsule * add uint test for ExoCapsule.verifyDepositProof * Optimize reuse code * add other uint tests for ExoCapsule.verifyDepositProof * adapt to use beacon proxies and create2 for vaults and capsules creation * add nativedepositwithdraw integration test * fix #30(remove TSSReceiver), deploy vaults with beacon proxy, fix incompatibilities * reuse _getVault and rename exocoreAddressIsValid * reuse modifiers * fix some warnings and reuse some code * fix: add prettier for audit, implement non beacon chain ETH withdraw workflow * fix: move variable to ExoCapsuleStorage * feat: consolidiate partial and full withdraw workflow in a single function * fix ExocoreGateway.requestUndelegateFrom and add undeletion integration test * optmize the _processRequest to make it simple and gas saving * store BEACON_PROXY_BYTECODE in a separate contract to fix code size too big issue and deploy contracts on sepolia for testing * remove unused file and comment on chainid * fix name typo prerequisite * deploy vault when adding whitelist token * remove license infos * remove unused codes in Merkle.sol * clearBootstrapData => _clearBootstrapData * fix ExoCapsule according Max's review * optimize _isStaleProof and _hasFullyWithdrawn * fix bootstrap unit test * add comments for request lenght * fix: merge conflict * fix: update principle and withdraw balance after request * fix: update withdraw modifiers * fix: isValidWCRootAgainstExecutionPayloadRoot check logic updated with proper withdrawal tree height * feat: update withdrawal test setup contract * feat: refactor validator container set using internal setter functions * fix: withdrwal proof generation test * fix: historial summaries verification pass with beacon state root * feat: update has restaking logic * fix: remove prettier config and stick with forge fmt * fix: forge fmt without prettier conflict * feat: add vscode extension settings * feat: full withdraw test improved * feat: partial withdraw tests done * fix: remove unused vars * fix: remove complex callback lint * fix: temporary increase for line length * fix: remove console log * fix: failing CI tests and get rid of hasRestake check * fix: process request args * chore(fmt): run `forge fmt` * fix: use event emit rather than revert when withdraw from exocore is failed * fix: remove hasRestaked flag and choose plan A * fix: use beaconBlockRoot from oracle * fix: proof validation issue with beacon block root * fix: remove console log * fix: remove unused struct * feat: integration test for native withdrwal * feat: deposit with 32 ether cap * fix: typo for principal * feat: update withdrawal verification logic * feat: withdraw index instead of withdraw timestamp * feat: reentrancy guard for sending ETH * fix: typo * fix: forge formatter * fix: withdraw epoch calculation * fix: lib version * fix: update reentrancy guard import * fix: add more constants for beaconchain proofs * feat: beacon chain proof verification updated * fix: integration test with 32 ether deposit cap * fix: remove unused variable for slither check * fix: ignore slither for withdraw eth to recipient address --------- Co-authored-by: adu <[email protected]> Co-authored-by: bwhour <[email protected]> Co-authored-by: MaxMustermann2 <[email protected]>
- Loading branch information
1 parent
a809580
commit a6dfa2d
Showing
17 changed files
with
1,073 additions
and
193 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
{ | ||
"[solidity]": { | ||
"editor.defaultFormatter": "JuanBlanco.solidity" | ||
}, | ||
"solidity.formatter": "forge" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.