Closed adu-web3 closed 5 months ago
[!WARNING]
Review failed
The pull request is closed.
The changes introduce enhanced functionality and refactoring in several core contracts of the ecosystem. Key updates include modifying how whitelist tokens are managed, the integration of additional RPC URLs, improvements to the request processing for delegation and undelegation, and the introduction of new functions for handling token registration and deregistration responses. These updates aim to provide a more robust and centralized method for managing whitelisted tokens across both the Client Chain Gateway and Exocore chain.
File(s) | Change Summary |
---|---|
script/BaseScript.sol |
Added imports, updated initialization variables, modified mock deployment, and removed outdated contracts and logic. |
src/core/BaseRestakingController.sol |
Refined request processing methods, encoded action arguments, removed ETH-specific logic, and added IVault import. |
src/core/Bootstrap.sol |
Updated functions for whitelisting, added mappings for request hooks, and refined internal processes. |
src/core/BootstrapLzReceiver.sol |
Added functions to handle token registration/deregistration responses. |
src/core/ClientChainGateway.sol |
Enhanced token whitelisting methods, added token count functions. |
src/core/ExocoreGateway.sol |
Extensive refactoring, new functions for managing Exocore assets. |
src/core/LSTRestakingController.sol |
Utilized IVault for deposit and withdrawal functionality adjustments. |
src/core/NativeRestakingController.sol |
Updated processDeposit function with encoded action arguments. |
src/interfaces/IClientChainGateway.sol |
Interface updates to extend ITokenWhitelister. |
src/interfaces/ITokenWhitelister.sol |
Modified token whitelisting functions to handle arrays and removed events/errors. |
src/interfaces/precompiles/IAssets.sol |
Added IAssets interface with functions for managing assets in Exocore. |
src/interfaces/precompiles/IClaimReward.sol |
Update includes comments for potential asset handling merger. |
src/storage/BootstrapStorage.sol |
Removed ITokenWhitelister inheritance and functions, added new events. |
src/storage/ClientChainGatewayStorage.sol |
Added new event RegisterTokensResult. |
test/foundry/ExocoreDeployer.t.sol |
Updated imports, added test functions, and modified whitelist token management. |
script/integration/1_DeployBootstrap.s.sol |
Updated import path for MyToken contract. |
script/3_Setup.s.sol |
Enhanced setup process for client and Exocore chain interactions and whitelist token registration. |
test/foundry/unit/Bootstrap.t.sol |
Change import paths, adjust function calls, and update whitelist token handling. |
src/core/ClientGatewayLzReceiver.sol |
Adjusted parameter order in decode calls and added token registration response handling. |
Objective (Issue #12) | Addressed | Explanation |
---|---|---|
Implement mechanism to register whitelist tokens from ClientChainGateway to Exocore | ✅ | |
Remove duplicate code and unused logic specific to non-virtual staked ETH tokens and simplify action processing | ✅ | |
Add flexibility and validation to token whitelisting and deregistering mechanisms in both ClientChainGateway and Exocore | ✅ | |
Refactor process for handling and encoding actions and requests | ✅ |
In the fields of code where cyphers roam,
Tokens find their whitelisted home.
From gateway to Exocore, they tread,
With bytes encoded, the path is led.
Whitelists bloom, and logic refines,
In this blockchain dance, all aligns.
🐇✨
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Description
Closes: #12
TODO
ClientChainGateway.addWhitelistToken
to send request to Exocore for registering assetsBootstrap.removeWhitelistToken
andClientChainGateway.removeWhitelistToken
Deposit
Withdraw
andClientChains
precompiles withAssets
precompileExocoreGateway.setPeer
to register client chain lz id to exocore assets module besides the original logics of setting peer in contractSummary by CodeRabbit
New Features
Improvements
Bug Fixes
Code Maintenance