forked from bgd-labs/aave-proposals-v3
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #16 from aave/new/ccip_1_5_maintenance
GHO CCIP 1.5 Maintenance Upgrade
- Loading branch information
Showing
54 changed files
with
2,529 additions
and
15 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,6 @@ | ||
[submodule "lib/aave-helpers"] | ||
path = lib/aave-helpers | ||
url = https://github.com/bgd-labs/aave-helpers | ||
[submodule "lib/aave-ccip"] | ||
path = lib/aave-ccip | ||
url = https://github.com/aave/ccip |
7 changes: 7 additions & 0 deletions
7
...IP150Upgrade_20241021_before_AaveV3Arbitrum_GHOCCIP150Upgrade_20241021_after.md
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,7 @@ | ||
## Emodes changes | ||
|
||
## Raw diff | ||
|
||
```json | ||
{} | ||
``` |
7 changes: 7 additions & 0 deletions
7
...IP150Upgrade_20241021_before_AaveV3Ethereum_GHOCCIP150Upgrade_20241021_after.md
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,7 @@ | ||
## Emodes changes | ||
|
||
## Raw diff | ||
|
||
```json | ||
{} | ||
``` |
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
67 changes: 67 additions & 0 deletions
67
src/20241021_Multi_GHOCCIP150Upgrade/AaveV3Arbitrum_GHOCCIP150Upgrade_20241021.sol
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,67 @@ | ||
// SPDX-License-Identifier: MIT | ||
pragma solidity ^0.8.0; | ||
|
||
import {TransparentUpgradeableProxy} from 'solidity-utils/contracts/transparent-proxy/TransparentUpgradeableProxy.sol'; | ||
import {ProxyAdmin} from 'solidity-utils/contracts/transparent-proxy/ProxyAdmin.sol'; | ||
import {IProposalGenericExecutor} from 'aave-helpers/src/interfaces/IProposalGenericExecutor.sol'; | ||
import {MiscArbitrum} from 'aave-address-book/MiscArbitrum.sol'; | ||
import {UpgradeableBurnMintTokenPool} from 'aave-ccip/v0.8/ccip/pools/GHO/UpgradeableBurnMintTokenPool.sol'; | ||
import {RateLimiter} from 'aave-ccip/v0.8/ccip/libraries/RateLimiter.sol'; | ||
|
||
/** | ||
* @title GHO CCIP 1.50 Upgrade | ||
* @author Aave Labs | ||
* - Discussion: https://governance.aave.com/t/bgd-technical-maintenance-proposals/15274/51 | ||
*/ | ||
contract AaveV3Arbitrum_GHOCCIP150Upgrade_20241021 is IProposalGenericExecutor { | ||
address public constant GHO_CCIP_PROXY_POOL = 0x26329558f08cbb40d6a4CCA0E0C67b29D64A8c50; | ||
uint64 public constant ETH_CHAIN_SELECTOR = 5009297550715157269; | ||
|
||
function execute() external { | ||
UpgradeableBurnMintTokenPool tokenPoolProxy = UpgradeableBurnMintTokenPool( | ||
MiscArbitrum.GHO_CCIP_TOKEN_POOL | ||
); | ||
|
||
// Deploy new tokenPool implementation, retain existing immutable configuration | ||
address tokenPoolImpl = address( | ||
new UpgradeableBurnMintTokenPool( | ||
address(tokenPoolProxy.getToken()), | ||
tokenPoolProxy.getArmProxy(), | ||
tokenPoolProxy.getAllowListEnabled() | ||
) | ||
); | ||
|
||
ProxyAdmin(MiscArbitrum.PROXY_ADMIN).upgrade( | ||
TransparentUpgradeableProxy(payable(address(tokenPoolProxy))), | ||
tokenPoolImpl | ||
); | ||
|
||
// Update proxyPool address | ||
tokenPoolProxy.setProxyPool(GHO_CCIP_PROXY_POOL); | ||
|
||
// Set rate limit | ||
tokenPoolProxy.setChainRateLimiterConfig( | ||
ETH_CHAIN_SELECTOR, | ||
getOutBoundRateLimiterConfig(), | ||
getInBoundRateLimiterConfig() | ||
); | ||
} | ||
|
||
/// @notice Returns the rate limiter configuration for the outbound rate limiter | ||
/// The onRamp rate limit for ARB => ETH will be as follows: | ||
/// Capacity: 350_000 GHO | ||
/// Rate: 100 GHO per second (=> 360_000 GHO per hour) | ||
/// @return The rate limiter configuration | ||
function getOutBoundRateLimiterConfig() public pure returns (RateLimiter.Config memory) { | ||
return RateLimiter.Config({isEnabled: true, capacity: 350_000e18, rate: 100e18}); | ||
} | ||
|
||
/// @notice Returns the rate limiter configuration for the inbound rate limiter | ||
/// The offRamp rate limit for ETH => ARB will be as follows: | ||
/// Capacity: 350_000 GHO | ||
/// Rate: 100 GHO per second (=> 360_000 GHO per hour) | ||
/// @return The rate limiter configuration | ||
function getInBoundRateLimiterConfig() public pure returns (RateLimiter.Config memory) { | ||
return RateLimiter.Config({isEnabled: true, capacity: 350_000e18, rate: 100e18}); | ||
} | ||
} |
Oops, something went wrong.