Skip to content

Commit 4ab7b5a

Browse files
committed
Update LiquidityHub upgrade script
1 parent 254e944 commit 4ab7b5a

File tree

4 files changed

+45
-26
lines changed

4 files changed

+45
-26
lines changed

network.config.ts

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,36 @@ import * as AAVEPools from "@bgd-labs/aave-address-book";
44
// Subsequent implementation just use UPGRADE_ID env variable.
55
// Immutable contracts are deployed first with the name-derived unique id.
66
// Subsequent versions use version suffix plus a git commit from the main branch.
7-
export const LiquidityPoolAaveUSDC: string = "LiquidityPoolAaveUSDC";
8-
export const LiquidityPoolUSDC: string = "LiquidityPoolUSDC";
9-
export const LiquidityPoolUSDCStablecoin: string = "LiquidityPoolUSDCStablecoin";
10-
export const LiquidityPoolAaveUSDCLongTerm: string = "LiquidityPoolAaveUSDCLongTerm";
11-
export const LiquidityPoolAaveUSDCLongTermV2: string = "LiquidityPoolAaveUSDCLongTerm-V2-e09cc75";
12-
export const LiquidityPoolAaveUSDCV2: string = "LiquidityPoolAaveUSDC-V2-3601cc4";
13-
export const LiquidityPoolUSDCV2: string = "LiquidityPoolUSDC-V2-3601cc4";
14-
export const LiquidityPoolUSDCStablecoinV2: string = "LiquidityPoolUSDCStablecoin-V2-3601cc4";
15-
export const LiquidityPoolAaveUSDCV3: string = "LiquidityPoolAaveUSDC-V3-e09cc75";
16-
export const LiquidityPoolUSDCV3: string = "LiquidityPoolUSDC-V3-e09cc75";
17-
export const LiquidityPoolUSDCStablecoinV3: string = "LiquidityPoolUSDCStablecoin-V3-e09cc75";
18-
export const LiquidityPoolAaveUSDCLongTermVersions: string[] = [
7+
export const LiquidityPoolAaveUSDC = "LiquidityPoolAaveUSDC";
8+
export const LiquidityPoolUSDC = "LiquidityPoolUSDC";
9+
export const LiquidityPoolUSDCStablecoin = "LiquidityPoolUSDCStablecoin";
10+
export const LiquidityPoolAaveUSDCLongTerm = "LiquidityPoolAaveUSDCLongTerm";
11+
export const LiquidityPoolAaveUSDCLongTermV2 = "LiquidityPoolAaveUSDCLongTerm-V2-e09cc75";
12+
export const LiquidityPoolAaveUSDCV2 = "LiquidityPoolAaveUSDC-V2-3601cc4";
13+
export const LiquidityPoolUSDCV2 = "LiquidityPoolUSDC-V2-3601cc4";
14+
export const LiquidityPoolUSDCStablecoinV2 = "LiquidityPoolUSDCStablecoin-V2-3601cc4";
15+
export const LiquidityPoolAaveUSDCV3 = "LiquidityPoolAaveUSDC-V3-e09cc75";
16+
export const LiquidityPoolUSDCV3 = "LiquidityPoolUSDC-V3-e09cc75";
17+
export const LiquidityPoolUSDCStablecoinV3 = "LiquidityPoolUSDCStablecoin-V3-e09cc75";
18+
export const LiquidityPoolAaveUSDCLongTermVersions = [
1919
LiquidityPoolAaveUSDCLongTerm,
2020
LiquidityPoolAaveUSDCLongTermV2,
21-
];
22-
export const LiquidityPoolAaveUSDCVersions: string[] = [
21+
] as const;
22+
export const LiquidityPoolAaveUSDCVersions = [
2323
LiquidityPoolAaveUSDC,
2424
LiquidityPoolAaveUSDCV2,
2525
LiquidityPoolAaveUSDCV3,
26-
];
27-
export const LiquidityPoolUSDCVersions: string[] = [
26+
] as const;
27+
export const LiquidityPoolUSDCVersions = [
2828
LiquidityPoolUSDC,
2929
LiquidityPoolUSDCV2,
3030
LiquidityPoolUSDCV3,
31-
];
32-
export const LiquidityPoolUSDCStablecoinVersions: string[] = [
31+
] as const;
32+
export const LiquidityPoolUSDCStablecoinVersions = [
3333
LiquidityPoolUSDCStablecoin,
3434
LiquidityPoolUSDCStablecoinV2,
3535
LiquidityPoolUSDCStablecoinV3,
36-
];
36+
] as const;
3737

3838
export enum Network {
3939
ETHEREUM = "ETHEREUM",
@@ -112,6 +112,10 @@ interface HubConfig {
112112
AssetsLimitSetter: string; // Address that can set assets limit.
113113
AssetsLimit: number; // Deposits to Liquidity Hub are only allowed till this limit is reached.
114114
Tiers: Tier[];
115+
Pool?: (typeof LiquidityPoolUSDCVersions)[number]
116+
| (typeof LiquidityPoolAaveUSDCVersions)[number]
117+
| (typeof LiquidityPoolUSDCStablecoinVersions)[number]
118+
| (typeof LiquidityPoolAaveUSDCLongTermVersions)[number];
115119
};
116120

117121
export interface NetworkConfig {
@@ -731,7 +735,8 @@ export const networkConfig: NetworksConfig = {
731735
{period: 7776000n, multiplier: 400000000n},
732736
{period: 15552000n, multiplier: 1000000000n},
733737
{period: 31104000n, multiplier: 2200000000n},
734-
]
738+
],
739+
Pool: LiquidityPoolAaveUSDCV3,
735740
},
736741
RebalancerRoutes: {
737742
[LiquidityPoolAaveUSDCV3]: {

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
"deploy-spark-stage-repayer-opmainnet": "STANDALONE_REPAYER_ENV=SparkStage hardhat run ./scripts/deployStandaloneRepayer.ts --network OP_MAINNET",
5050
"upgrade-liquidityhub-basesepolia": "hardhat run ./scripts/upgradeLiquidityHub.ts --network BASE_SEPOLIA",
5151
"upgrade-liquidityhub-base": "hardhat run ./scripts/upgradeLiquidityHub.ts --network BASE",
52+
"upgrade-liquidityhub-base-stage": "DEPLOY_TYPE=STAGE hardhat run ./scripts/upgradeLiquidityHub.ts --network BASE",
5253
"upgrade-rebalancer-basesepolia": "hardhat run ./scripts/upgradeRebalancer.ts --network BASE_SEPOLIA",
5354
"upgrade-rebalancer-base": "hardhat run ./scripts/upgradeRebalancer.ts --network BASE",
5455
"upgrade-rebalancer-base-stage": "DEPLOY_TYPE=STAGE hardhat run ./scripts/upgradeRebalancer.ts --network BASE",
@@ -106,6 +107,7 @@
106107
"dry:deploy-spark-stage-repayer-opmainnet": "DRY_RUN=OP_MAINNET STANDALONE_REPAYER_ENV=SparkStage VERIFY=false ts-node --files ./scripts/deployStandaloneRepayer.ts",
107108
"dry:upgrade-liquidityhub-basesepolia": "DRY_RUN=BASE_SEPOLIA VERIFY=false ts-node --files ./scripts/upgradeLiquidityHub.ts",
108109
"dry:upgrade-liquidityhub-base": "DRY_RUN=BASE VERIFY=false ts-node --files ./scripts/upgradeLiquidityHub.ts",
110+
"dry:upgrade-liquidityhub-base-stage": "DRY_RUN=BASE DEPLOY_TYPE=STAGE VERIFY=false ts-node --files ./scripts/upgradeLiquidityHub.ts",
109111
"dry:upgrade-rebalancer-basesepolia": "DRY_RUN=BASE_SEPOLIA VERIFY=false ts-node --files ./scripts/upgradeRebalancer.ts",
110112
"dry:upgrade-rebalancer-base": "DRY_RUN=BASE VERIFY=false ts-node --files ./scripts/upgradeRebalancer.ts",
111113
"dry:upgrade-rebalancer-base-stage": "DRY_RUN=BASE DEPLOY_TYPE=STAGE VERIFY=false ts-node --files ./scripts/upgradeRebalancer.ts",

scripts/helpers.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,10 @@ export async function addLocalPool(
241241
condition: any,
242242
network: Network,
243243
routes: {Pool: string, Domain: Network, Provider: Provider, SupportsAllTokens?: boolean}[],
244-
versions: string[],
244+
versions: (typeof LiquidityPoolUSDCVersions)
245+
| (typeof LiquidityPoolAaveUSDCVersions)
246+
| (typeof LiquidityPoolUSDCStablecoinVersions)
247+
| (typeof LiquidityPoolAaveUSDCLongTermVersions),
245248
supportsAllTokens: boolean,
246249
poolName: string,
247250
): Promise<void> {

scripts/upgradeLiquidityHub.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ import dotenv from "dotenv";
22
dotenv.config();
33
import hre from "hardhat";
44
import {getVerifier, upgradeProxyX, getHardhatNetworkConfig, getNetworkConfig} from "./helpers";
5-
import {getDeployProxyXAddress, getContractAt} from "../test/helpers";
5+
import {getDeployProxyXAddress, getContractAt, resolveXAddress} from "../test/helpers";
66
import {isSet, assert} from "./common";
77
import {LiquidityHub} from "../typechain-types";
8-
import {Network} from "../network.config";
8+
import {Network, NetworkConfig} from "../network.config";
99

1010
export async function main() {
1111
const [deployer] = await hre.ethers.getSigners();
@@ -17,17 +17,26 @@ export async function main() {
1717
console.log(`Upgrade ID: ${process.env.UPGRADE_ID}`);
1818

1919
let network: Network;
20+
let config: NetworkConfig;
2021
console.log("Upgrading Liquidity Hub");
21-
({network} = await getNetworkConfig());
22+
({network, config} = await getNetworkConfig());
2223
if (!network) {
23-
({network} = await getHardhatNetworkConfig());
24+
({network, config} = await getHardhatNetworkConfig());
2425
}
2526

27+
assert(config.Hub, "LiquidityHub must be defined");
28+
2629
const liquidityHubAddress = await getDeployProxyXAddress("LiquidityHub");
2730

2831
const liquidityHub = (await getContractAt("LiquidityHub", liquidityHubAddress)) as LiquidityHub;
2932
const lpToken = await liquidityHub.SHARES();
30-
const liquidityPool = await liquidityHub.LIQUIDITY_POOL();
33+
34+
let liquidityPool = await liquidityHub.LIQUIDITY_POOL();
35+
36+
if (config.Hub.Pool) {
37+
liquidityPool = await resolveXAddress(config.Hub.Pool);
38+
}
39+
console.log(`Liquidity Pool: ${liquidityPool}`);
3140

3241
await upgradeProxyX<LiquidityHub>(
3342
verifier.deployX,

0 commit comments

Comments
 (0)