-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Add custom upgradeable TokenPool contracts #3
Conversation
|
* test: Add unit and e2e tests * test: Add tests for bridge limit config * fix: Fix foundry toml
* test: Add unit and e2e tests * test: Add tests for bridge limit config * fix: Fix foundry toml * feat: Add bridge limit admin
/// @notice Sets the Rebalancer address. | ||
/// @dev Only callable by the owner. | ||
function setRebalancer(address rebalancer) external onlyOwner { | ||
s_rebalancer = rebalancer; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason to not have an event here? (same applicable for setRateLimitAdmin()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just because the standard CCIP implementation does not have it and want to minimize changes as much as possible. In terms of GHO related code, it impacts the bridge limit admin. We could add an event there
* fix: Use modern version of Initializable * fix: Update diffs * fix: Add event emission on bridge limit admin update * fix: Rebuild GHO diffs * fix: Fix certora and test config files * fix: Remove unneeded revision getter
Go solidity wrappers are out-of-date, regenerate them via the |
LCOV of commit
|
* fix: Use modern version of Initializable * fix: Update diffs * fix: Add event emission on bridge limit admin update * fix: Rebuild GHO diffs * ci: Remove unneeded ci actions * ci: Remove unneeded ci actions * fix: Add dep * fix: Fix certora config file * test: Force seletors in invariant tests * fix: Fix config files * test: Fix test assume * test: Fix test assume * fix: Fix certora config file
Based on community's discussions regarding the strategy for cross-chain GHO and the consensus to utilize Chainlink Cross-Chain Interoperability Protocol (CCIP) as the initial bridge, new facilitator contracts have been developed to enable the bridging of GHO from Ethereum to other networks.
These new contracts,
UpgradeableBurnMintTokenPool
andUpgradeableLockReleaseTokenPool
, are a duplication of CCIP contractsBurnMintTokenPool
andLockReleaseTokenPool
respectively (CCIP v2.8.0 release), with the following modifications:BurnMintTokenPool
andLockReleaseTokenPool
to^0.8.0
so they are compatible with gho-core._transferOwnership
function so it can be used to initialize the owner outside the contract's constructor.VersionedInitializable
andTransparentUpgradeableProxy
).allowlist
androuter
definition to initialization stage of the contracts.UpgradeableLockReleaseTokenPool
to regulate the maximum amount of tokens that can be transferred out (burned/locked).