Skip to content

Commit fa594ad

Browse files
authored
Merge pull request #9 from protofire/feature/deployment-binancetestnet
Add Configurations for Bsc Testnet Deployments
2 parents 89df656 + 7db0f25 commit fa594ad

File tree

8 files changed

+140
-5
lines changed

8 files changed

+140
-5
lines changed

docs/deployments.bsc-testnet.001.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
Accounts after deployment
2+
========
3+
┌─────────┬──────────────────────────────────┬──────────────────────────────────────────────┬──────────────────┐
4+
│ (index) │ name │ account │ balance │
5+
├─────────┼──────────────────────────────────┼──────────────────────────────────────────────┼──────────────────┤
6+
│ 0 │ 'deployer' │ '0x401bF2487073DDdA4Fc7FA9C215d32DeA90e6af0' │ '7.762015681' │
7+
│ 1 │ 'aclAdmin' │ '0x401bF2487073DDdA4Fc7FA9C215d32DeA90e6af0' │ '7.762015681' │
8+
│ 2 │ 'emergencyAdmin' │ '0x401bF2487073DDdA4Fc7FA9C215d32DeA90e6af0' │ '7.762015681' │
9+
│ 3 │ 'poolAdmin' │ '0x401bF2487073DDdA4Fc7FA9C215d32DeA90e6af0' │ '7.762015681' │
10+
│ 4 │ 'addressesProviderRegistryOwner' │ '0x401bF2487073DDdA4Fc7FA9C215d32DeA90e6af0' │ '7.762015681' │
11+
│ 5 │ 'treasuryProxyAdmin' │ '0x6B6EBb930b969a312Bf14813b6d0B1F397EF690B' │ '0.900557222572' │
12+
│ 6 │ 'incentivesProxyAdmin' │ '0x6B6EBb930b969a312Bf14813b6d0B1F397EF690B' │ '0.900557222572' │
13+
│ 7 │ 'incentivesEmissionManager' │ '0x401bF2487073DDdA4Fc7FA9C215d32DeA90e6af0' │ '7.762015681' │
14+
│ 8 │ 'incentivesRewardsVault' │ '0x401bF2487073DDdA4Fc7FA9C215d32DeA90e6af0' │ '7.762015681' │
15+
└─────────┴──────────────────────────────────┴──────────────────────────────────────────────┴──────────────────┘
16+
17+
Deployments
18+
===========
19+
┌─────────────────────────────────────────┬──────────────────────────────────────────────┐
20+
│ (index) │ address │
21+
├─────────────────────────────────────────┼──────────────────────────────────────────────┤
22+
│ PoolAddressesProviderRegistry │ '0x61262F82A386999C75bdA0af0b672237E36810C7' │
23+
│ SupplyLogic │ '0xbFcA7EEC460Dc3845D6ed6a2607fbEAF3bA10869' │
24+
│ BorrowLogic │ '0xF3f6d13e3Af823DBd4A46f8ced3464e93CE77B20' │
25+
│ LiquidationLogic │ '0x533FCdaC496f29C297B52125ABb0C137176C9426' │
26+
│ EModeLogic │ '0xD59A5f58F20a774a38a99b7B7CFFE6eC36202B74' │
27+
│ BridgeLogic │ '0xD176E73118a6C14AC2DA6d762C79CA1992CE9270' │
28+
│ ConfiguratorLogic │ '0xB7AabdC573aee4e65c5e143e161282444b30338c' │
29+
│ FlashLoanLogic │ '0x2A7EB3Ad6937e53D680B91Bb3A561220Db05F6A7' │
30+
│ PoolLogic │ '0x7DCe87E72aA5A67839aA772750C0ac99145A828A' │
31+
│ TreasuryProxy │ '0x274CAaC704a0D17FdA52391913EB67f78e41ff5b' │
32+
│ Treasury-Controller │ '0x1fd6f94240f291392B057077561862559881e516' │
33+
│ Treasury-Implementation │ '0x3736590bD67482Dea6Ac98B8eA729E5EF16323A9' │
34+
│ PoolAddressesProvider-Aave │ '0xf7A30776861c113C36723b2c72E5223ae2552ec3' │
35+
│ PoolDataProvider-Aave │ '0xF47E0A89cec5f4881A30e7Ad000BaA9C354C816b' │
36+
│ Pool-Implementation │ '0x1b84c42C2413C8C4f86376f413171372e9783F74' │
37+
│ PoolConfigurator-Implementation │ '0x0a0f15ea041717D9B85dDCacA885D337b152Cc69' │
38+
│ ReservesSetupHelper │ '0xb8f25531d910135ef0635d955932e102Ba73d49B' │
39+
│ ACLManager-Aave │ '0xa69Aa57f332d4937A12D1dEBF941c669065Ea1D7' │
40+
│ AaveOracle-Aave │ '0xD2b329FC99Cb9546fbb32F3FFc87Fa4Cdd5cDCB3' │
41+
│ Pool-Proxy-Aave │ '0x3209a034368665a5BDEFc2478c6eC7e275b37aDF' │
42+
│ PoolConfigurator-Proxy-Aave │ '0x820Eb64EC03FF326071Bc77f2Cf293721E417E5F' │
43+
│ EmissionManager │ '0x3f8C443c15f97cd1d005039964931C16D4387F91' │
44+
│ IncentivesV2-Implementation │ '0xd3b9CA8992aF306e2943F63f95769395dD9ffA9D' │
45+
│ IncentivesProxy │ '0x58355dc13438795ed3a194Ba641eD27607e2fE56' │
46+
│ AToken-Aave │ '0x56f92d0d4fD0B32157228cf692093645C7c9c307' │
47+
│ DelegationAwareAToken-Aave │ '0x509EA74C482B2b6ca462D5D90d1978e86755c372' │
48+
│ StableDebtToken-Aave │ '0x10394f5767151280d571634f824416e334d2A77B' │
49+
│ VariableDebtToken-Aave │ '0x1Fa9EcFAff56bd737DFd3C9F7181b629AaDd5047' │
50+
│ ReserveStrategy-rateStrategyVolatileOne │ '0x8fCB18000fF78B2Bd3F0e7d47B265C91ad6a6112' │
51+
│ ReserveStrategy-rateStrategyStableOne │ '0x5bb27fBFa34F1341a3315622f898FC5d68c4C69D' │
52+
│ ReserveStrategy-rateStrategyStableTwo │ '0xE6030eA407dfb142103090a41f94eb50d17D4AB8' │
53+
│ USDC-AToken-Aave │ '0xaB6908611C6d5C7f928c637efA3F65ea947D750E' │
54+
│ USDC-VariableDebtToken-Aave │ '0x39c18b87745EFadCEC248E9Ed9D1bBaDf3d486cf' │
55+
│ USDC-StableDebtToken-Aave │ '0xc2B991a8aA56a0CD7fCB1771D5589870eC821831' │
56+
│ WBTC-AToken-Aave │ '0xc42469590402eD5039Be256181b6525E94F7D90f' │
57+
│ WBTC-VariableDebtToken-Aave │ '0xBA7bA76B60022db1F111E978870787A93686Cc33' │
58+
│ WBTC-StableDebtToken-Aave │ '0x0C051b4B7379fd6fa4CDd57CF7b84351ABBB485d' │
59+
│ WETH-AToken-Aave │ '0x6F55F33ec3c4DE7a927525e51769A423F529ecf8' │
60+
│ WETH-VariableDebtToken-Aave │ '0x88A0187211aE940fd68401816bdA659754A10fef' │
61+
│ WETH-StableDebtToken-Aave │ '0xC069f73624D9569a1555F2322AAe8C1f7AFDd855' │
62+
│ USDT-AToken-Aave │ '0x4A8a133aEE60f72ed43F2Fa5F1bF549a8E3E58d0' │
63+
│ USDT-VariableDebtToken-Aave │ '0xEF3A3CCF48D8E81fF691C6077A4AD1dE3428dCb9' │
64+
│ USDT-StableDebtToken-Aave │ '0x7dc51488F6ea587A13D316476f1218dEB8dd3A28' │
65+
│ USDOX-AToken-Aave │ '0xA4Ed15B281182C91Da401B61F03a88e508142a6c' │
66+
│ USDOX-VariableDebtToken-Aave │ '0x126C5B30378C74FaA23C9DD58AaB1541aaDbd86a' │
67+
│ USDOX-StableDebtToken-Aave │ '0x747838B1773190C5A861c5909919c6B2008807DE' │
68+
│ WSTZBU-AToken-Aave │ '0xDEfA9b03595edcF5D82EfBC0e7f2f6d2a3598ee3' │
69+
│ WSTZBU-VariableDebtToken-Aave │ '0xB08AbC201FAD948F31067ca259Aa2BCE356F7Bb9' │
70+
│ WSTZBU-StableDebtToken-Aave │ '0x86f60Fca5De5549A341A86168F44Df378f9d21AF' │
71+
│ ZBU-AToken-Aave │ '0x22a54466022671df0d4Bd57A88D6105fC3287FC4' │
72+
│ ZBU-VariableDebtToken-Aave │ '0xBE02017Da4d13d52D02Eb51E1C438EB6b6044f9b' │
73+
│ ZBU-StableDebtToken-Aave │ '0xbB36D946D1C311D005F1E2525E9d3DCB675CBEf6' │
74+
│ WrappedTokenGatewayV3 │ '0xDF5276f995B8e678cA07a921c2736c1d7383E1d5' │
75+
│ WalletBalanceProvider │ '0xFa34fCcbb1b2fCad23D9C01113B856Bdaa6A438f' │
76+
│ UiIncentiveDataProviderV3 │ '0xb0f3bCc0D3424731d9bd45Fd7310d75A9f9F1d60' │
77+
│ UiPoolDataProviderV3 │ '0xa35F8D9AEa7Ff9ea84615Cf78F53f1DFaF4C2c20' │
78+
│ ZBUPriceAggregator │ '0xeaD3b80A10000226b99723db829eA10E7c223835' │
79+
│ WSTZBUPriceAggregator │ '0xc6a80b3aA6D2508C933C55837B88Cfc74a5EED2b' │
80+
│ USDOXPriceAggregator │ '0x51542dF2E0DdF1e4E7dd8a8d5F350be57507e63c' │
81+
└─────────────────────────────────────────┴──────────────────────────────────────────────┘
82+
83+
Mintable Reserves and Rewards
84+
┌─────────┐
85+
│ (index) │
86+
├─────────┤
87+
└─────────┘

hardhat.config.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515
eOptimismNetwork,
1616
ePolygonNetwork,
1717
eBaseNetwork,
18+
eBscNetwork,
1819
} from "./helpers/types";
1920
import { DEFAULT_NAMED_ACCOUNTS } from "./helpers/constants";
2021

@@ -131,6 +132,10 @@ export default {
131132
eBaseNetwork.baseGoerli,
132133
84531
133134
),
135+
[eBscNetwork.testnet]: getCommonNetworkConfig(
136+
eBscNetwork.testnet,
137+
97
138+
),
134139
},
135140
namedAccounts: {
136141
...DEFAULT_NAMED_ACCOUNTS,

helpers/constants.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
eHarmonyNetwork,
99
eOptimismNetwork,
1010
ePolygonNetwork,
11+
eBscNetwork,
1112
} from "./types";
1213

1314
const {
@@ -48,6 +49,7 @@ export const WRAPPED_NATIVE_TOKEN_PER_NETWORK: { [network: string]: string } = {
4849
[ePolygonNetwork.polygon]: "0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",
4950
[eEthereumNetwork.sepolia]: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14",
5051
[eEthereumNetwork.baseSepolia]: "0x4200000000000000000000000000000000000006",
52+
[eBscNetwork.testnet]: "0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd",
5153
};
5254

5355
export const ZERO_BYTES_32 =
@@ -103,6 +105,7 @@ export const chainlinkAggregatorProxy: Record<string, string> = {
103105
[eArbitrumNetwork.goerliNitro]: "0xC09e69E79106861dF5d289dA88349f10e2dc6b5C",
104106
[eEthereumNetwork.sepolia]: "0x694AA1769357215DE4FAC081bf1f309aDC325306",
105107
[eEthereumNetwork.baseSepolia]: "0x4aDC67696bA383F43DD60A9e78F2C97Fbbfc7cb1",
108+
[eBscNetwork.testnet]: "0x143db3CEEfbdfe5631aDD3E50f7614B6ba708BA7",
106109
};
107110

108111
export const chainlinkEthUsdAggregatorProxy: Record<string, string> = {
@@ -127,6 +130,7 @@ export const chainlinkEthUsdAggregatorProxy: Record<string, string> = {
127130
[eArbitrumNetwork.goerliNitro]: "0xC09e69E79106861dF5d289dA88349f10e2dc6b5C",
128131
[eEthereumNetwork.sepolia]: "0x694AA1769357215DE4FAC081bf1f309aDC325306",
129132
[eEthereumNetwork.baseSepolia]: "0x4aDC67696bA383F43DD60A9e78F2C97Fbbfc7cb1",
133+
[eBscNetwork.testnet]: "0x143db3CEEfbdfe5631aDD3E50f7614B6ba708BA7",
130134
};
131135

132136
export const ETHEREUM_SHORT_EXECUTOR =
@@ -148,6 +152,7 @@ export const POOL_ADMIN: Record<string, string> = {
148152
[eEthereumNetwork.tenderly]: ETHEREUM_SHORT_EXECUTOR,
149153
[eEthereumNetwork.sepolia]: "0x9ab5672BCF516A73c1aB035220646e823C59556A",
150154
[eEthereumNetwork.baseSepolia]: "0x9ab5672BCF516A73c1aB035220646e823C59556A",
155+
[eBscNetwork.testnet]: "0x9ab5672BCF516A73c1aB035220646e823C59556A",
151156
};
152157

153158
export const EMERGENCY_ADMIN: Record<string, string> = {
@@ -160,6 +165,7 @@ export const EMERGENCY_ADMIN: Record<string, string> = {
160165
[eEthereumNetwork.main]: ETHEREUM_SHORT_EXECUTOR,
161166
[eEthereumNetwork.sepolia]: "0x9ab5672BCF516A73c1aB035220646e823C59556A",
162167
[eEthereumNetwork.baseSepolia]: "0x9ab5672BCF516A73c1aB035220646e823C59556A",
168+
[eBscNetwork.testnet]: "0x9ab5672BCF516A73c1aB035220646e823C59556A",
163169
};
164170

165171
export const DEFAULT_NAMED_ACCOUNTS = {

helpers/hardhat-config-helpers.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
eFantomNetwork,
1313
eOptimismNetwork,
1414
eBaseNetwork,
15+
eBscNetwork,
1516
} from "./types";
1617

1718
require("dotenv").config();
@@ -52,6 +53,8 @@ export const getAlchemyKey = (net: eNetwork) => {
5253
return process.env.BASE_SEPOLIA_ALCHEMY_KEY || ALCHEMY_KEY;
5354
case eBaseNetwork.base:
5455
return process.env.BASE_ALCHEMY_KEY || ALCHEMY_KEY;
56+
case eBscNetwork.testnet:
57+
return process.env.BSC_TESTNET_ALCHEMY_KEY || ALCHEMY_KEY;
5558
default:
5659
return ALCHEMY_KEY;
5760
}
@@ -101,6 +104,7 @@ export const NETWORKS_RPC_URL: iParamsPerNetwork<string> = {
101104
[eBaseNetwork.base]: `https://base-mainnet.g.alchemy.com/v2/${getAlchemyKey(
102105
eBaseNetwork.base
103106
)}`,
107+
[eBscNetwork.testnet]: `https://bsc-testnet.infura.io/v3/${INFURA_KEY}`,
104108
};
105109

106110
export const LIVE_NETWORKS: iParamsPerNetwork<boolean> = {
@@ -114,11 +118,13 @@ export const LIVE_NETWORKS: iParamsPerNetwork<boolean> = {
114118
[eBaseNetwork.base]: true,
115119
[eEthereumNetwork.sepolia]: true,
116120
[eEthereumNetwork.baseSepolia]: true,
121+
[eBscNetwork.testnet]: true,
117122
};
118123

119124
const GAS_PRICE_PER_NET: iParamsPerNetwork<string | number> = {
120125
[eArbitrumNetwork.goerliNitro]: 100000001,
121126
[eBaseNetwork.baseGoerli]: 8000000000,
127+
[eBscNetwork.testnet]: 10000000000,
122128
};
123129

124130
export const buildForkConfig = ():

helpers/init-helpers.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ export const initReservesByHelper = async (
7474
)) as any as Pool;
7575

7676
// CHUNK CONFIGURATION
77-
const initChunks = 3;
77+
const initChunks = 1;
7878

7979
// Initialize variables for future reserves initialization
8080
let reserveTokens: string[] = [];
@@ -223,12 +223,15 @@ export const initReservesByHelper = async (
223223
chunkIndex++
224224
) {
225225
const tx = await waitForTx(
226-
await configurator.initReserves(chunkedInitInputParams[chunkIndex])
226+
await configurator.initReserves(chunkedInitInputParams[chunkIndex], {
227+
gasLimit: 5000000, // Increased gas limit for BSC Testnet
228+
})
227229
);
228230

229231
console.log(
230232
` - Reserve ready for: ${chunkedSymbols[chunkIndex].join(", ")}`,
231-
`\n - Tx hash: ${tx.transactionHash}`
233+
`\n - Tx hash: ${tx.transactionHash}`,
234+
`\n - Gas used: ${tx.gasUsed.toString()}`
232235
);
233236
}
234237
};

helpers/types.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ export type eNetwork =
1818
| eFantomNetwork
1919
| eOptimismNetwork
2020
| eTenderlyNetwork
21-
| eBaseNetwork;
21+
| eBaseNetwork
22+
| eBscNetwork;
2223

2324
type eTenderlyNetwork = "tenderly";
2425

@@ -614,3 +615,8 @@ export interface IncentivesConfig {
614615
rewardsOracle: iParamsPerNetwork<SymbolMap<tEthereumAddress>>;
615616
incentivesInput: iParamsPerNetwork<RewardsConfigInput[]>;
616617
}
618+
619+
export enum eBscNetwork {
620+
main = "bsc",
621+
testnet = "bsc-testnet",
622+
}

markets/aave/commons.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
ePolygonNetwork,
88
TransferStrategy,
99
eBaseNetwork,
10+
eBscNetwork,
1011
} from "./../../helpers/types";
1112
import { ZERO_ADDRESS } from "../../helpers/constants";
1213
import {
@@ -73,6 +74,15 @@ export const CommonsConfig: ICommonConfiguration = {
7374
USDT: ZERO_ADDRESS,
7475
EURS: ZERO_ADDRESS,
7576
},
77+
[eBscNetwork.testnet]: {
78+
USDC: '0x90c069C4538adAc136E051052E14c1cD799C41B7',
79+
WBTC: '0x5741306c21795FdCBb9b265Ea0255F499DFe515C',
80+
WETH: '0x143db3CEEfbdfe5631aDD3E50f7614B6ba708BA7',
81+
USDT: '0xEca2605f0BCF2BA5966372C99837b1F182d3D620',
82+
USDOX: '0x83de4272a6b4a62e099A5dBeDf597747F59288D7',
83+
WSTZBU: '0x7F002de2feB0bED0eAb73aF31c291d2cFff74779',
84+
ZBU: '0xD119F31dA03362a40EB2BF259aA8B6B6B974AdB5',
85+
},
7686
},
7787
ReserveFactorTreasuryAddress: {
7888
[eEthereumNetwork.kovan]: "0x464c71f6c2f760dda6093dcb91c24c39e5d6e18c",
@@ -82,6 +92,7 @@ export const CommonsConfig: ICommonConfiguration = {
8292
[eEthereumNetwork.rinkeby]: ZERO_ADDRESS,
8393
[eEthereumNetwork.sepolia]: ZERO_ADDRESS,
8494
[eEthereumNetwork.baseSepolia]: ZERO_ADDRESS,
95+
[eBscNetwork.testnet]: ZERO_ADDRESS,
8596
},
8697
FallbackOracle: {
8798
[eEthereumNetwork.kovan]: ZERO_ADDRESS,
@@ -91,6 +102,7 @@ export const CommonsConfig: ICommonConfiguration = {
91102
[eEthereumNetwork.rinkeby]: ZERO_ADDRESS,
92103
[eEthereumNetwork.sepolia]: ZERO_ADDRESS,
93104
[eEthereumNetwork.baseSepolia]: ZERO_ADDRESS,
105+
[eBscNetwork.testnet]: ZERO_ADDRESS,
94106
},
95107
ReservesConfig: {},
96108
IncentivesConfig: {
@@ -186,6 +198,7 @@ export const CommonsConfig: ICommonConfiguration = {
186198
[eBaseNetwork.baseGoerli]: true,
187199
[eEthereumNetwork.sepolia]: false,
188200
[eEthereumNetwork.baseSepolia]: false,
201+
[eBscNetwork.testnet]: false,
189202
},
190203
ParaswapRegistry: {
191204
[eEthereumNetwork.main]: "0xa68bEA62Dc4034A689AA0F58A76681433caCa663",

markets/aave/index.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { eOptimismNetwork } from "./../../helpers/types";
1+
import { eOptimismNetwork, eBscNetwork } from "./../../helpers/types";
22
import { ZERO_ADDRESS } from "../../helpers";
33
import {
44
IAaveConfiguration,
@@ -85,6 +85,15 @@ export const AaveMarket: IAaveConfiguration = {
8585
USDT: ZERO_ADDRESS,
8686
// EURS: ZERO_ADDRESS,
8787
},
88+
[eBscNetwork.testnet]: {
89+
USDC: '0xBA959085D18a436e38C49dfBB4dE1577A04Cfc82',
90+
WBTC: '0xb5F8e2C38b25D914d7E87562A8fE5f379EfbF720',
91+
WETH: '0x24C9184c7DA6CA2F3B5cF55E646E9CD581b89dA7',
92+
USDT: '0x2dfad6c444039A9E56801FbaF819851A485e254A',
93+
USDOX: '0x18Aa55A2192058f4e207ad0029523e83486E757F',
94+
WSTZBU: '0x19f59C5bAabaEf87E1bc1Df1ec8868711ADC22e6',
95+
ZBU: '0xb9494eE5c37A44df967dc2826df9c9D2269aBB4A',
96+
},
8897
},
8998
StkAaveProxy: {
9099
[eEthereumNetwork.main]: "0x4da27a545c0c5B758a6BA100e3a049001de870f5",

0 commit comments

Comments
 (0)