Skip to content

Commit a6bf52d

Browse files
committed
feat: remappings
1 parent bff3566 commit a6bf52d

14 files changed

+48
-34
lines changed

lib/aave-address-book

Submodule aave-address-book updated 613 files

lib/aave-v3-core

Submodule aave-v3-core updated 221 files

lib/aave-v3-periphery

Submodule aave-v3-periphery updated 59 files

lib/solidity-utils

Submodule solidity-utils updated 78 files

src/contracts/gho/UpgradeableGhoToken.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ pragma solidity ^0.8.0;
33

44
import {EnumerableSet} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol';
55
import {AccessControl} from '@openzeppelin/contracts/access/AccessControl.sol';
6-
import {Initializable} from 'solidity-utils/contracts/transparent-proxy/Initializable.sol';
6+
import {Initializable} from '@openzeppelin/contracts/proxy/utils/Initializable.sol';
77
import {UpgradeableERC20} from './UpgradeableERC20.sol';
88
import {IGhoToken} from './interfaces/IGhoToken.sol';
99

src/contracts/misc/dependencies/AaveV3-1.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-License-Identifier: BUSL-1.1
22
pragma solidity ^0.8.0;
33

4-
import {Address} from 'solidity-utils/contracts/oz-common/Address.sol';
4+
import {Address} from '@openzeppelin/contracts/utils/Address.sol';
55
import {SafeCast} from '@openzeppelin/contracts/utils/math/SafeCast.sol';
66
import {IERC165} from '@openzeppelin/contracts/utils/introspection/IERC165.sol';
77
import {IPoolAddressesProvider} from '@aave/core-v3/contracts/interfaces/IPoolAddressesProvider.sol';

src/script/DeployGsm4626.s.sol

Lines changed: 35 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,21 @@ import {Script, console2} from 'forge-std/Script.sol';
55
import {AaveV3Ethereum, AaveV3EthereumAssets} from 'aave-address-book/AaveV3Ethereum.sol';
66
import {GovernanceV3Ethereum} from 'aave-address-book/GovernanceV3Ethereum.sol';
77
import {MiscEthereum} from 'aave-address-book/MiscEthereum.sol';
8-
import {TransparentUpgradeableProxy} from 'solidity-utils/contracts/transparent-proxy/TransparentUpgradeableProxy.sol';
8+
import {TransparentProxyFactory} from 'solidity-utils/contracts/transparent-proxy/TransparentProxyFactory.sol';
99
import {IPoolAddressesProvider} from '@aave/core-v3/contracts/interfaces/IPoolAddressesProvider.sol';
10-
import {Gsm4626} from '../contracts/facilitators/gsm/Gsm4626.sol';
11-
import {IGsm} from '../contracts/facilitators/gsm/interfaces/IGsm.sol';
12-
import {OracleSwapFreezer} from '../contracts/facilitators/gsm/swapFreezer/OracleSwapFreezer.sol';
10+
11+
import {Gsm4626} from 'src/contracts/facilitators/gsm/Gsm4626.sol';
12+
import {FixedPriceStrategy4626} from 'src/contracts/facilitators/gsm/priceStrategy/FixedPriceStrategy4626.sol';
13+
import {IGsm} from 'src/contracts/facilitators/gsm/interfaces/IGsm.sol';
14+
import {OracleSwapFreezer} from 'src/contracts/facilitators/gsm/swapFreezer/OracleSwapFreezer.sol';
1315

1416
// GSM USDC
1517
uint8 constant USDC_DECIMALS = 6;
1618
uint128 constant USDC_EXPOSURE_CAP = 8_000_000e6;
17-
// https://etherscan.io/address/0x430BEdcA5DfA6f94d1205Cb33AB4f008D0d9942a
18-
address constant GSM_USDC_PRICE_STRATEGY = 0x430BEdcA5DfA6f94d1205Cb33AB4f008D0d9942a;
1919

2020
// GSM USDT
2121
uint8 constant USDT_DECIMALS = 6;
2222
uint128 constant USDT_EXPOSURE_CAP = 16_000_000e6;
23-
// https://etherscan.io/address/0x4c707764cbFB4FFa078e169e6b8A6AdbE7526a2c
24-
address constant GSM_USDT_PRICE_STRATEGY = 0x4c707764cbFB4FFa078e169e6b8A6AdbE7526a2c;
2523

2624
uint128 constant SWAP_FREEZE_LOWER_BOUND = 0.99e8;
2725
uint128 constant SWAP_FREEZE_UPPER_BOUND = 1.01e8;
@@ -43,19 +41,35 @@ contract DeployGsm4626 is Script {
4341

4442
function _deploy() internal {
4543
// ------------------------------------------------
46-
// 1. GSM implementations
44+
// 1. FixedPriceStrategy
45+
// ------------------------------------------------
46+
FixedPriceStrategy gsmUsdcPriceStrategy = new FixedPriceStrategy(
47+
GSM_PRICE_RATIO,
48+
AaveV3EthereumAssets.USDC_UNDERLYING,
49+
USDC_DECIMALS
50+
);
51+
console2.log('GSM USDC FixedPriceStrategy: ', address(gsmUsdcPriceStrategy));
52+
53+
FixedPriceStrategy gsmUsdtPriceStrategy = new FixedPriceStrategy(
54+
GSM_PRICE_RATIO,
55+
AaveV3EthereumAssets.USDT_UNDERLYING,
56+
USDT_DECIMALS
57+
);
58+
59+
// ------------------------------------------------
60+
// 2. GSM implementations
4761
// ------------------------------------------------
4862
Gsm4626 gsmUsdcImpl = new Gsm4626(
4963
AaveV3EthereumAssets.GHO_UNDERLYING,
5064
AaveV3EthereumAssets.USDC_STATA_TOKEN,
51-
GSM_USDC_PRICE_STRATEGY
65+
address(gsmUsdcPriceStrategy)
5266
);
5367
console2.log('GSM stataUSDC Implementation: ', address(gsmUsdcImpl));
5468

5569
Gsm4626 gsmUsdtImpl = new Gsm4626(
5670
AaveV3EthereumAssets.GHO_UNDERLYING,
5771
AaveV3EthereumAssets.USDT_STATA_TOKEN,
58-
GSM_USDT_PRICE_STRATEGY
72+
address(gsmUsdtPriceStrategy)
5973
);
6074
console2.log('GSM stataUSDT Implementation: ', address(gsmUsdtImpl));
6175

@@ -71,39 +85,39 @@ contract DeployGsm4626 is Script {
7185
);
7286

7387
// ------------------------------------------------
74-
// 2. GSM proxy deployment and initialization
88+
// 3. GSM proxy deployment and initialization
7589
// ------------------------------------------------
7690
bytes memory gsmUsdcInitParams = abi.encodeWithSignature(
7791
'initialize(address,address,uint128)',
7892
GovernanceV3Ethereum.EXECUTOR_LVL_1,
7993
address(AaveV3Ethereum.COLLECTOR),
8094
USDC_EXPOSURE_CAP
8195
);
82-
TransparentUpgradeableProxy gsmUsdcProxy = new TransparentUpgradeableProxy(
96+
address gsmUsdcProxy = TransaprentProxyFactory(MiscEthereum.TRANSPARENT_PROXY_FACTORY).create(
8397
address(gsmUsdcImpl),
84-
MiscEthereum.PROXY_ADMIN,
98+
GovernanceV3Ethereum.EXECUTOR_LVL_1,
8599
gsmUsdcInitParams
86100
);
87-
console2.log('GSM stataUSDC Proxy: ', address(gsmUsdcProxy));
101+
console2.log('GSM stataUSDC Proxy: ', gsmUsdcProxy);
88102

89103
bytes memory gsmUsdtInitParams = abi.encodeWithSignature(
90104
'initialize(address,address,uint128)',
91105
GovernanceV3Ethereum.EXECUTOR_LVL_1,
92106
address(AaveV3Ethereum.COLLECTOR),
93107
USDT_EXPOSURE_CAP
94108
);
95-
TransparentUpgradeableProxy gsmUsdtProxy = new TransparentUpgradeableProxy(
109+
address gsmUsdtProxy = TransaprentProxyFactory(MiscEthereum.TRANSPARENT_PROXY_FACTORY).create(
96110
address(gsmUsdtImpl),
97-
MiscEthereum.PROXY_ADMIN,
111+
GovernanceV3Ethereum.EXECUTOR_LVL_1,
98112
gsmUsdtInitParams
99113
);
100-
console2.log('GSM stataUSDT Proxy: ', address(gsmUsdtProxy));
114+
console2.log('GSM stataUSDT Proxy: ', gsmUsdtProxy);
101115

102116
// ------------------------------------------------
103-
// 3. OracleSwapFreezers
117+
// 4. OracleSwapFreezers
104118
// ------------------------------------------------
105119
OracleSwapFreezer gsmUsdcOracleSwapFreezer = new OracleSwapFreezer(
106-
IGsm(address(gsmUsdcProxy)),
120+
IGsm(gsmUsdcProxy),
107121
AaveV3EthereumAssets.USDC_UNDERLYING,
108122
IPoolAddressesProvider(address(AaveV3Ethereum.POOL_ADDRESSES_PROVIDER)),
109123
SWAP_FREEZE_LOWER_BOUND,
@@ -115,7 +129,7 @@ contract DeployGsm4626 is Script {
115129
console2.log('GSM stataUSDC OracleSwapFreezer: ', address(gsmUsdcOracleSwapFreezer));
116130

117131
OracleSwapFreezer gsmUsdtOracleSwapFreezer = new OracleSwapFreezer(
118-
IGsm(address(gsmUsdtProxy)),
132+
IGsm(gsmUsdtProxy),
119133
AaveV3EthereumAssets.USDT_UNDERLYING,
120134
IPoolAddressesProvider(address(AaveV3Ethereum.POOL_ADDRESSES_PROVIDER)),
121135
SWAP_FREEZE_LOWER_BOUND,

src/script/DeployGsmLaunch.s.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {Script, console2} from 'forge-std/Script.sol';
55
import {AaveV3Ethereum, AaveV3EthereumAssets} from 'aave-address-book/AaveV3Ethereum.sol';
66
import {GovernanceV3Ethereum} from 'aave-address-book/GovernanceV3Ethereum.sol';
77
import {MiscEthereum} from 'aave-address-book/MiscEthereum.sol';
8-
import {TransparentUpgradeableProxy} from 'solidity-utils/contracts/transparent-proxy/TransparentUpgradeableProxy.sol';
8+
import {TransparentUpgradeableProxy} from '@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol';
99
import {IPoolAddressesProvider} from '@aave/core-v3/contracts/interfaces/IPoolAddressesProvider.sol';
1010
import {Gsm} from '../contracts/facilitators/gsm/Gsm.sol';
1111
import {IGsm} from '../contracts/facilitators/gsm/interfaces/IGsm.sol';

src/test/TestGhoBase.t.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ import {AdminUpgradeabilityProxy} from '@aave/core-v3/contracts/dependencies/ope
4949
import {ERC20} from '@aave/core-v3/contracts/dependencies/openzeppelin/contracts/ERC20.sol';
5050
import {StakedAaveV3} from 'aave-stk-v1-5/src/contracts/StakedAaveV3.sol';
5151
import {ReserveConfiguration} from '@aave/core-v3/contracts/protocol/libraries/configuration/ReserveConfiguration.sol';
52-
import {TransparentUpgradeableProxy} from 'solidity-utils/contracts/transparent-proxy/TransparentUpgradeableProxy.sol';
52+
import {TransparentUpgradeableProxy} from '@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol';
5353

5454
// GHO contracts
5555
import {GhoAToken} from '../contracts/facilitators/aave/tokens/GhoAToken.sol';

0 commit comments

Comments
 (0)