Skip to content
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

GHO CCIP 1.5 Maintenance Upgrade #512

Merged
merged 72 commits into from
Nov 7, 2024
Merged
Show file tree
Hide file tree
Changes from 55 commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
24a3f7d
Add proposal for Gho Incident Report 20231113 (#1)
parth-15 Dec 5, 2023
4aa6143
fix: Make new impl constant (#3)
miguelmtzinf Dec 6, 2023
27dd485
fix: Amend AIP text (#4)
miguelmtzinf Dec 6, 2023
2f242a6
test: Tweak default tests with borrow cap update (#5)
miguelmtzinf Dec 7, 2023
4812d01
fix: lint issue (#6)
parth-15 Dec 7, 2023
43a7687
test: Add diffs from test running (#7)
miguelmtzinf Dec 7, 2023
4c79bb9
fix: Add payload address (#8)
miguelmtzinf Dec 7, 2023
76cd4b6
fix: Fix payload address in script (#9)
miguelmtzinf Dec 7, 2023
120f564
fix: Remove unneeded diff file (#10)
miguelmtzinf Dec 7, 2023
4d6a3d9
Merge branch 'bgd-labs:main' into main
miguelmtzinf Dec 13, 2023
4cb8573
Merge branch 'bgd-labs:main' into main
miguelmtzinf Jan 16, 2024
0e39df3
Merge branch 'bgd-labs:main' into main
miguelmtzinf May 28, 2024
11a6d50
Merge branch 'bgd-labs:main' into main
miguelmtzinf Jun 14, 2024
ea78e25
Merge branch 'bgd-labs:main' into main
miguelmtzinf Jun 17, 2024
b6499dc
Merge branch 'bgd-labs:main' into main
miguelmtzinf Jun 26, 2024
e38aca8
Merge branch 'bgd-labs:main' into main
miguelmtzinf Jul 29, 2024
4c4426f
Merge branch 'bgd-labs:main' into main
miguelmtzinf Jul 30, 2024
3b23dc7
Merge branch 'bgd-labs:main' into main
miguelmtzinf Sep 12, 2024
faf2023
feat: install aave-ccip at latest commit on aave/ccip#18
DhairyaSethi Oct 18, 2024
488d846
chore: upd remappings, lib/aave-helpers, .assets
DhairyaSethi Oct 18, 2024
1927921
new: add proposal for eth & arb
DhairyaSethi Oct 18, 2024
9cc5769
fix: arb test supply locked invariant
DhairyaSethi Oct 18, 2024
2a0d25c
Merge branch 'bgd-labs:main' into main
miguelmtzinf Oct 21, 2024
0ed5033
Merge branch 'main' into new/ccip_1_5_maintenance
DhairyaSethi Oct 21, 2024
58e177d
fix: rename, add discussion link
DhairyaSethi Oct 21, 2024
a3310b8
upd: aave-ccip module
DhairyaSethi Oct 28, 2024
a78018d
feat: add proxy pool deployments
DhairyaSethi Oct 28, 2024
f962303
feat: add e2e tests
DhairyaSethi Oct 28, 2024
38a1159
chore: fix license, explicit senders for expectEmit
DhairyaSethi Oct 28, 2024
f199681
ci: override rpc url in secrets
DhairyaSethi Oct 28, 2024
7b2376b
test: proxy pool can off ramp
DhairyaSethi Oct 28, 2024
d4d438e
chore: reorder deps
DhairyaSethi Oct 28, 2024
fc6a51c
nit: utilize existing ierc20 import, style guide, use arb assets for …
DhairyaSethi Oct 29, 2024
f64be60
feat: add rate limit, use gho fascilitator for tests
DhairyaSethi Oct 30, 2024
af02c9e
feat: set in bound rate limit as well
DhairyaSethi Oct 30, 2024
9507080
chore: cleanup
DhairyaSethi Oct 30, 2024
1f15974
test: check proxy initialized version
DhairyaSethi Oct 30, 2024
3954cb7
chore: inBetween => inFlight"
DhairyaSethi Oct 30, 2024
9abb6d3
chore: test name consistency
DhairyaSethi Oct 30, 2024
ced148d
test: dynamically fetch dest gas amt
DhairyaSethi Oct 30, 2024
b1da849
test: execMsg post migration using legacy off ramp
DhairyaSethi Oct 30, 2024
bf4f3e5
test: ccip steward can disable rate limit
DhairyaSethi Oct 30, 2024
a525136
chore: cleanup
DhairyaSethi Oct 30, 2024
be370f6
doc: add comment for fetching all offramps, use RISK_COUNCIL for clarity
DhairyaSethi Oct 31, 2024
8f151e2
test: ownership transfer after migration
DhairyaSethi Oct 31, 2024
00d8306
chore: rm _readRiskAdmin, fix config
DhairyaSethi Nov 1, 2024
82dfded
Merge branch 'bgd-labs:main' into main
miguelmtzinf Nov 4, 2024
870aed7
Merge branch 'main' into new/ccip_1_5_maintenance
DhairyaSethi Nov 4, 2024
3eedaf5
Merge pull request #16 from aave/new/ccip_1_5_maintenance
miguelmtzinf Nov 4, 2024
b813da2
fix: ci test setup to stay compatible with bdg upstream
DhairyaSethi Nov 4, 2024
bf04350
feat: rm aave-ccip dep
DhairyaSethi Nov 4, 2024
d4a30cb
rft: use deployed token pools
DhairyaSethi Nov 4, 2024
fcf898f
tmp: fix ci for aave org, to rm for bdg
DhairyaSethi Nov 4, 2024
fe6ca4b
fix: ci to bdg setup
DhairyaSethi Nov 4, 2024
e79efe4
Merge pull request #17 from aave/fix/deployed-token-pools
DhairyaSethi Nov 4, 2024
635ce49
fix: update rate limit
DhairyaSethi Nov 6, 2024
520a6bf
test: fuzz amounts
DhairyaSethi Nov 6, 2024
efc2c1e
chore: snapshot docs
DhairyaSethi Nov 6, 2024
18da010
chore: const cap rate
DhairyaSethi Nov 6, 2024
de7fb1b
chore: fix type
DhairyaSethi Nov 6, 2024
ce16b89
fix: Fix rate limit config constants
miguelmtzinf Nov 6, 2024
896a032
fix: tests, impl correct solc
DhairyaSethi Nov 6, 2024
7aa813e
fix: tests
DhairyaSethi Nov 6, 2024
403ed40
Update src/20241021_Multi_GHOCCIP150Upgrade/AaveV3Ethereum_GHOCCIP150…
DhairyaSethi Nov 6, 2024
3004271
Update src/20241021_Multi_GHOCCIP150Upgrade/AaveV3Arbitrum_GHOCCIP150…
DhairyaSethi Nov 6, 2024
445d0f7
doc: reference token pool contracts
DhairyaSethi Nov 6, 2024
4abc584
doc: upgrade spec
DhairyaSethi Nov 6, 2024
b794f79
doc: formatting
DhairyaSethi Nov 6, 2024
9b08d27
Update src/20241021_Multi_GHOCCIP150Upgrade/GHOCCIP150Upgrade.md
DhairyaSethi Nov 6, 2024
15fcc5f
Update src/20241021_Multi_GHOCCIP150Upgrade/GHOCCIP150Upgrade.md
DhairyaSethi Nov 6, 2024
fd82f22
test: Refresh block number with ghostewards aip executed
miguelmtzinf Nov 7, 2024
6dd8838
fix: Remove unneeded script
miguelmtzinf Nov 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .assets/02a040db3fc4a88618783a9156e7fb51928e1ede.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/03dc42930b2b94af37ef869d012c4734aedb52e6.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/0afe490affc1bc77fe6675127b18e9aeeb4b1404.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/0fcfb1e84443509c42e21db9e4320c00e1db6098.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/1899e5ae4f4fd5b0d2565edd912a160acb2d0b78.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/18e6ba583d4d35e38cb678120492b2b4d52d19ea.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/1aa0fb636d34a35d35ce67919bc0d7d2e36d3839.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/1c1fbd79406b4b3a8c64ec79ef429f7c422d0387.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/2e9d5ba5e949c7896bc79e7fdd98872cb43375b0.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/39a3707c0ded91bbfde8953567853db55452a227.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/39d5ff798c0771402486c6f1ca63f2a1868d80d9.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/4820a9e881eaa3f3def4916e47e0c330b34ab151.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/5dbd5b9335471c83b44949206c9b2186657b836f.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/5f455cedf818a43aba043e71714721fd1e844501.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/7bc797fb2b1f421fa40a6d9a0028d1f78db71dc0.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/7ee454df22dbd82f0c1929bc14104d54c7081a49.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/8aa25c38caec024924773d1a5c7c63ab45c4eecf.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/8fc705464b3515a654de9893168a1b1321feccb4.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/9c784d12784a084406c3794fbe177e93da4c3479.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/a4faa118ed690be4e95fae01b8535036cda67e3d.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/a9a0275265838d424840d721917e0a4e3a5d8044.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/ac33ca939f6fc30c2fd799aaa6f59b0521c19e9f.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/c229e34ea67f12eea11bf5403763207eeab38cff.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/c277de9f9a155f6a0e47e0443845a3c9de5f6b84.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/ceb223a18f5aad36d9f6087d1d468b4dd5ba56a1.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/d8d51b9f960b17304a3bdcaf8922d3ae84b3c30f.svg

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .assets/dcedb30554ccb68f317b952113777790df5ca547.svg

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .assets/e6c7eef36a7e70a1f1b35633097516fe5e21508b.svg

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .assets/ec2b4dc8236ac87f8058f121d86de1d99e029c5c.svg

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .assets/fb6ebf3fa05cf980f374598b56757dbc5cae3662.svg

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .assets/fe79e1c7a3e943262824d4f683059c85d91a233d.svg

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## Emodes changes

## Raw diff

```json
{}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## Emodes changes

## Raw diff

```json
{}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
// 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 {IUpgradeableBurnMintTokenPool} from 'src/interfaces/ccip/IUpgradeableBurnMintTokenPool.sol';
import {IRateLimiter} from 'src/interfaces/ccip/IRateLimiter.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 {
uint64 public constant ETH_CHAIN_SELECTOR = 5009297550715157269;

// https://arbiscan.io/address/0xb0e1c7830aA781362f79225559Aa068E6bDaF1d1
address public constant TOKEN_POOL_IMPL = 0xb0e1c7830aA781362f79225559Aa068E6bDaF1d1;
// https://arbiscan.io/address/0x26329558f08cbb40d6a4CCA0E0C67b29D64A8c50
address public constant GHO_CCIP_PROXY_POOL = 0x26329558f08cbb40d6a4CCA0E0C67b29D64A8c50;

function execute() external {
IUpgradeableBurnMintTokenPool tokenPoolProxy = IUpgradeableBurnMintTokenPool(
MiscArbitrum.GHO_CCIP_TOKEN_POOL
);

ProxyAdmin(MiscArbitrum.PROXY_ADMIN).upgrade(
TransparentUpgradeableProxy(payable(address(tokenPoolProxy))),
TOKEN_POOL_IMPL
);

// 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 (IRateLimiter.Config memory) {
return IRateLimiter.Config({isEnabled: true, capacity: 350_000e18, rate: 100e18});
ianflexa marked this conversation as resolved.
Show resolved Hide resolved
}

/// @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 (IRateLimiter.Config memory) {
return IRateLimiter.Config({isEnabled: true, capacity: 350_000e18, rate: 100e18});
ianflexa marked this conversation as resolved.
Show resolved Hide resolved
}
}
Loading
Loading