diff --git a/docs/deployments.base-sepolia.001.md b/docs/deployments.base-sepolia.001.md new file mode 100644 index 0000000..d16e15b --- /dev/null +++ b/docs/deployments.base-sepolia.001.md @@ -0,0 +1,87 @@ +Accounts after deployment +======== +┌─────────┬──────────────────────────────────┬──────────────────────────────────────────────┬────────────────────────┐ +│ (index) │ name │ account │ balance │ +├─────────┼──────────────────────────────────┼──────────────────────────────────────────────┼────────────────────────┤ +│ 0 │ 'deployer' │ '0x9ab5672BCF516A73c1aB035220646e823C59556A' │ '0.969261140210272271' │ +│ 1 │ 'aclAdmin' │ '0x9ab5672BCF516A73c1aB035220646e823C59556A' │ '0.969261140210272271' │ +│ 2 │ 'emergencyAdmin' │ '0x9ab5672BCF516A73c1aB035220646e823C59556A' │ '0.969261140210272271' │ +│ 3 │ 'poolAdmin' │ '0x9ab5672BCF516A73c1aB035220646e823C59556A' │ '0.969261140210272271' │ +│ 4 │ 'addressesProviderRegistryOwner' │ '0x9ab5672BCF516A73c1aB035220646e823C59556A' │ '0.969261140210272271' │ +│ 5 │ 'treasuryProxyAdmin' │ '0x5C6718A6cf2bD8Fd339A8B98338D7861862fcDbc' │ '1.0' │ +│ 6 │ 'incentivesProxyAdmin' │ '0x5C6718A6cf2bD8Fd339A8B98338D7861862fcDbc' │ '1.0' │ +│ 7 │ 'incentivesEmissionManager' │ '0x9ab5672BCF516A73c1aB035220646e823C59556A' │ '0.969261140210272271' │ +│ 8 │ 'incentivesRewardsVault' │ '0x9ab5672BCF516A73c1aB035220646e823C59556A' │ '0.969261140210272271' │ +└─────────┴──────────────────────────────────┴──────────────────────────────────────────────┴────────────────────────┘ + +Deployments +=========== +┌─────────────────────────────────────────┬──────────────────────────────────────────────┐ +│ (index) │ address │ +├─────────────────────────────────────────┼──────────────────────────────────────────────┤ +│ PoolAddressesProviderRegistry │ '0x85aA94fC4f4623a5fCAbF8Fbc1f392d6d1F0e4b6' │ +│ SupplyLogic │ '0x6565422a18013bA760d3069d95f530927948c596' │ +│ BorrowLogic │ '0x6dd01c1Def73AD0d560DFA515993bafFC82F729f' │ +│ LiquidationLogic │ '0x54AAA74CbF7671669e3d43d4Fce7d7787bF2b625' │ +│ EModeLogic │ '0x868Ec8AF6b82B9d9584B9a3Aa94555Db5C6A6C6A' │ +│ BridgeLogic │ '0x7df2E85B2633E05EeB96bEA25771ae39DE3662dc' │ +│ ConfiguratorLogic │ '0xE1A0334731c5c385A9d10F8869b531A895F78936' │ +│ FlashLoanLogic │ '0x08eF635E91D96F6Ab98D2Afe5Bd8743Cf83B91e9' │ +│ PoolLogic │ '0x359A6b46542F9D7E0a1a6A478A9fFebd31b763a6' │ +│ TreasuryProxy │ '0xF136eE5178Ff6F4374FBeC9808824D7281568f90' │ +│ Treasury-Controller │ '0x5f5838B1A86A95722eE340213c07ca6C02071296' │ +│ Treasury-Implementation │ '0x5390f591a9F35f23AE1f0927c1bfa8e5A86ffCC7' │ +│ PoolAddressesProvider-Aave │ '0x5606a320da1aB8a5f110aB97664c1ea16C08A110' │ +│ PoolDataProvider-Aave │ '0x539368D2b9491891FefE3c368aB94Dc95ae95719' │ +│ Pool-Implementation │ '0x04279589F1d90289b6F41a3D61E9e8BfEbbd0119' │ +│ PoolConfigurator-Implementation │ '0x18e449AA6ce305d37Ef4e3Db272e6BF5ba71Bc51' │ +│ ReservesSetupHelper │ '0x53C7b88adEe0255Abc1D94211897F339cb481220' │ +│ ACLManager-Aave │ '0x53f07FE1370452E68F8A08D4697D10F098AB3197' │ +│ AaveOracle-Aave │ '0x8d8A0455A4e2bce4c06e854E0887686D1a60B830' │ +│ Pool-Proxy-Aave │ '0x3ae17858FfD0225201Ab7c2005FAF55764CfB44e' │ +│ PoolConfigurator-Proxy-Aave │ '0xE9a8F3dfC1f4Dc11297cAAD272612C29917F5F33' │ +│ EmissionManager │ '0x632eB1Be1310B33A818003B2E5420589d83eD1Cb' │ +│ IncentivesV2-Implementation │ '0x8C34Bf1a441b2Ec2bCd75945CD693FFFc19D9Da0' │ +│ IncentivesProxy │ '0xa1356bD741347fdD224a0FA7a2c76d7Ee37c5226' │ +│ AToken-Aave │ '0x97C72783374DE404ec9b5f5b87e5D8E58dcCf81B' │ +│ DelegationAwareAToken-Aave │ '0x9de87C34E8B337b749385a35827e0A257c94bcEA' │ +│ StableDebtToken-Aave │ '0xD2bC2329dd9cEb6FA713088CC4cf2119Ac92E6F5' │ +│ VariableDebtToken-Aave │ '0xC5A44fC1CEb88729Fb35dd54518C56F00695283b' │ +│ ReserveStrategy-rateStrategyVolatileOne │ '0x236B2764fB3ECaeFf9518457C4f04Ba24e42C1B0' │ +│ ReserveStrategy-rateStrategyStableOne │ '0x564b00Da04658Eb0c529A8011Ff603989AfdDA3a' │ +│ ReserveStrategy-rateStrategyStableTwo │ '0x2f0c60a9CB8691C8b332787ACfAE2564e8C293d1' │ +│ USDC-AToken-Aave │ '0x5a9F8616b7E8eC8fD90aF56C3bF5147E814d7C53' │ +│ USDC-VariableDebtToken-Aave │ '0x144d645179E2e049e3b3e70dc2e78a737eabc360' │ +│ USDC-StableDebtToken-Aave │ '0x42197c298ea5D0bfaC3eE37FCF32D55259fE050d' │ +│ WBTC-AToken-Aave │ '0x2385FD1F653b9C8C30E3ECCa1De9bD4FC16afFa7' │ +│ WBTC-VariableDebtToken-Aave │ '0x42C95640ff2Eec215c1C509ddfe5893c0dc000F9' │ +│ WBTC-StableDebtToken-Aave │ '0x437d4Cf5C86480A8d998a955E86C45aee3e7aD35' │ +│ WETH-AToken-Aave │ '0x30D722A1101e45a96047bE7580CFc4D22760F9F1' │ +│ WETH-VariableDebtToken-Aave │ '0xA00a8bCe43Bb6e606A8848A52a1DBFB26AeF27A0' │ +│ WETH-StableDebtToken-Aave │ '0x29364C275E6FcB7419bcC96E292246E84Aff24a2' │ +│ USDT-AToken-Aave │ '0x44d7D42ce7889685313B567580D768E1D39e5a06' │ +│ USDT-VariableDebtToken-Aave │ '0x47a38b9233FD66B9Af276eCACc0722653855a0F9' │ +│ USDT-StableDebtToken-Aave │ '0xE4A1334207262D36E9700645B9Cd79cBFb266E92' │ +│ USDOX-AToken-Aave │ '0x99E1faf2370d00D4dD143a06A01ECfDE4E350540' │ +│ USDOX-VariableDebtToken-Aave │ '0x7D59610D59aF7485D4B32C8cCC1E24bFe5FFa87a' │ +│ USDOX-StableDebtToken-Aave │ '0x217c2ED8C633226b92252A801bA1d9277e088C51' │ +│ WSTZBU-AToken-Aave │ '0xB095f0210c3bdB81E6804F70Aa73a08e8F4bD469' │ +│ WSTZBU-VariableDebtToken-Aave │ '0xc0aaBd718Bcd0b909449CEa562a279B6D49Ae07b' │ +│ WSTZBU-StableDebtToken-Aave │ '0x6F529C31a27E77726a09006960b5896aA77dbf67' │ +│ ZBU-AToken-Aave │ '0xf39C3aF87fC3c77F34f08ccE7eC0DbdE1536734F' │ +│ ZBU-VariableDebtToken-Aave │ '0x27050c4663bCf45450E5472cDA59A60D3E6e14Cd' │ +│ ZBU-StableDebtToken-Aave │ '0x2897a919635F3aDE23B8e96Af4B8fB980F6aA734' │ +│ WrappedTokenGatewayV3 │ '0xDe041C0E7fc7E68a0Be95B7B5C8f0F19de085231' │ +│ WalletBalanceProvider │ '0xDca5675bab0D68A857971D1665576e1BF3E755da' │ +│ UiIncentiveDataProviderV3 │ '0x6225de340D503c25024c934f194473D2eBc669e4' │ +│ UiPoolDataProviderV3 │ '0xcdE0abDDe00A461120874EfBF762a5aE6e23287a' │ +│ ZBUPriceAggregator │ '0x88fddd9D052b71Cf62aEF6670B0F21B93aD1822D' │ +│ WSTZBUPriceAggregator │ '0x29b1b65b6429b3840ae31A028f3350d0aE2f296B' │ +│ USDOXPriceAggregator │ '0xA0B668DF9ff2a11F4a59A9eb5a8BE16f5ea4C5e3' │ +└─────────────────────────────────────────┴──────────────────────────────────────────────┘ + +Mintable Reserves and Rewards +┌─────────┐ +│ (index) │ +├─────────┤ +└─────────┘ \ No newline at end of file diff --git a/docs/deployments.bsc-testnet.001.md b/docs/deployments.bsc-testnet.001.md new file mode 100644 index 0000000..97e546c --- /dev/null +++ b/docs/deployments.bsc-testnet.001.md @@ -0,0 +1,87 @@ +Accounts after deployment +======== +┌─────────┬──────────────────────────────────┬──────────────────────────────────────────────┬──────────────────┐ +│ (index) │ name │ account │ balance │ +├─────────┼──────────────────────────────────┼──────────────────────────────────────────────┼──────────────────┤ +│ 0 │ 'deployer' │ '0x401bF2487073DDdA4Fc7FA9C215d32DeA90e6af0' │ '7.762015681' │ +│ 1 │ 'aclAdmin' │ '0x401bF2487073DDdA4Fc7FA9C215d32DeA90e6af0' │ '7.762015681' │ +│ 2 │ 'emergencyAdmin' │ '0x401bF2487073DDdA4Fc7FA9C215d32DeA90e6af0' │ '7.762015681' │ +│ 3 │ 'poolAdmin' │ '0x401bF2487073DDdA4Fc7FA9C215d32DeA90e6af0' │ '7.762015681' │ +│ 4 │ 'addressesProviderRegistryOwner' │ '0x401bF2487073DDdA4Fc7FA9C215d32DeA90e6af0' │ '7.762015681' │ +│ 5 │ 'treasuryProxyAdmin' │ '0x6B6EBb930b969a312Bf14813b6d0B1F397EF690B' │ '0.900557222572' │ +│ 6 │ 'incentivesProxyAdmin' │ '0x6B6EBb930b969a312Bf14813b6d0B1F397EF690B' │ '0.900557222572' │ +│ 7 │ 'incentivesEmissionManager' │ '0x401bF2487073DDdA4Fc7FA9C215d32DeA90e6af0' │ '7.762015681' │ +│ 8 │ 'incentivesRewardsVault' │ '0x401bF2487073DDdA4Fc7FA9C215d32DeA90e6af0' │ '7.762015681' │ +└─────────┴──────────────────────────────────┴──────────────────────────────────────────────┴──────────────────┘ + +Deployments +=========== +┌─────────────────────────────────────────┬──────────────────────────────────────────────┐ +│ (index) │ address │ +├─────────────────────────────────────────┼──────────────────────────────────────────────┤ +│ PoolAddressesProviderRegistry │ '0x61262F82A386999C75bdA0af0b672237E36810C7' │ +│ SupplyLogic │ '0xbFcA7EEC460Dc3845D6ed6a2607fbEAF3bA10869' │ +│ BorrowLogic │ '0xF3f6d13e3Af823DBd4A46f8ced3464e93CE77B20' │ +│ LiquidationLogic │ '0x533FCdaC496f29C297B52125ABb0C137176C9426' │ +│ EModeLogic │ '0xD59A5f58F20a774a38a99b7B7CFFE6eC36202B74' │ +│ BridgeLogic │ '0xD176E73118a6C14AC2DA6d762C79CA1992CE9270' │ +│ ConfiguratorLogic │ '0xB7AabdC573aee4e65c5e143e161282444b30338c' │ +│ FlashLoanLogic │ '0x2A7EB3Ad6937e53D680B91Bb3A561220Db05F6A7' │ +│ PoolLogic │ '0x7DCe87E72aA5A67839aA772750C0ac99145A828A' │ +│ TreasuryProxy │ '0x274CAaC704a0D17FdA52391913EB67f78e41ff5b' │ +│ Treasury-Controller │ '0x1fd6f94240f291392B057077561862559881e516' │ +│ Treasury-Implementation │ '0x3736590bD67482Dea6Ac98B8eA729E5EF16323A9' │ +│ PoolAddressesProvider-Aave │ '0xf7A30776861c113C36723b2c72E5223ae2552ec3' │ +│ PoolDataProvider-Aave │ '0xF47E0A89cec5f4881A30e7Ad000BaA9C354C816b' │ +│ Pool-Implementation │ '0x1b84c42C2413C8C4f86376f413171372e9783F74' │ +│ PoolConfigurator-Implementation │ '0x0a0f15ea041717D9B85dDCacA885D337b152Cc69' │ +│ ReservesSetupHelper │ '0xb8f25531d910135ef0635d955932e102Ba73d49B' │ +│ ACLManager-Aave │ '0xa69Aa57f332d4937A12D1dEBF941c669065Ea1D7' │ +│ AaveOracle-Aave │ '0xD2b329FC99Cb9546fbb32F3FFc87Fa4Cdd5cDCB3' │ +│ Pool-Proxy-Aave │ '0x3209a034368665a5BDEFc2478c6eC7e275b37aDF' │ +│ PoolConfigurator-Proxy-Aave │ '0x820Eb64EC03FF326071Bc77f2Cf293721E417E5F' │ +│ EmissionManager │ '0x3f8C443c15f97cd1d005039964931C16D4387F91' │ +│ IncentivesV2-Implementation │ '0xd3b9CA8992aF306e2943F63f95769395dD9ffA9D' │ +│ IncentivesProxy │ '0x58355dc13438795ed3a194Ba641eD27607e2fE56' │ +│ AToken-Aave │ '0x56f92d0d4fD0B32157228cf692093645C7c9c307' │ +│ DelegationAwareAToken-Aave │ '0x509EA74C482B2b6ca462D5D90d1978e86755c372' │ +│ StableDebtToken-Aave │ '0x10394f5767151280d571634f824416e334d2A77B' │ +│ VariableDebtToken-Aave │ '0x1Fa9EcFAff56bd737DFd3C9F7181b629AaDd5047' │ +│ ReserveStrategy-rateStrategyVolatileOne │ '0x8fCB18000fF78B2Bd3F0e7d47B265C91ad6a6112' │ +│ ReserveStrategy-rateStrategyStableOne │ '0x5bb27fBFa34F1341a3315622f898FC5d68c4C69D' │ +│ ReserveStrategy-rateStrategyStableTwo │ '0xE6030eA407dfb142103090a41f94eb50d17D4AB8' │ +│ USDC-AToken-Aave │ '0xaB6908611C6d5C7f928c637efA3F65ea947D750E' │ +│ USDC-VariableDebtToken-Aave │ '0x39c18b87745EFadCEC248E9Ed9D1bBaDf3d486cf' │ +│ USDC-StableDebtToken-Aave │ '0xc2B991a8aA56a0CD7fCB1771D5589870eC821831' │ +│ WBTC-AToken-Aave │ '0xc42469590402eD5039Be256181b6525E94F7D90f' │ +│ WBTC-VariableDebtToken-Aave │ '0xBA7bA76B60022db1F111E978870787A93686Cc33' │ +│ WBTC-StableDebtToken-Aave │ '0x0C051b4B7379fd6fa4CDd57CF7b84351ABBB485d' │ +│ WETH-AToken-Aave │ '0x6F55F33ec3c4DE7a927525e51769A423F529ecf8' │ +│ WETH-VariableDebtToken-Aave │ '0x88A0187211aE940fd68401816bdA659754A10fef' │ +│ WETH-StableDebtToken-Aave │ '0xC069f73624D9569a1555F2322AAe8C1f7AFDd855' │ +│ USDT-AToken-Aave │ '0x4A8a133aEE60f72ed43F2Fa5F1bF549a8E3E58d0' │ +│ USDT-VariableDebtToken-Aave │ '0xEF3A3CCF48D8E81fF691C6077A4AD1dE3428dCb9' │ +│ USDT-StableDebtToken-Aave │ '0x7dc51488F6ea587A13D316476f1218dEB8dd3A28' │ +│ USDOX-AToken-Aave │ '0xA4Ed15B281182C91Da401B61F03a88e508142a6c' │ +│ USDOX-VariableDebtToken-Aave │ '0x126C5B30378C74FaA23C9DD58AaB1541aaDbd86a' │ +│ USDOX-StableDebtToken-Aave │ '0x747838B1773190C5A861c5909919c6B2008807DE' │ +│ WSTZBU-AToken-Aave │ '0xDEfA9b03595edcF5D82EfBC0e7f2f6d2a3598ee3' │ +│ WSTZBU-VariableDebtToken-Aave │ '0xB08AbC201FAD948F31067ca259Aa2BCE356F7Bb9' │ +│ WSTZBU-StableDebtToken-Aave │ '0x86f60Fca5De5549A341A86168F44Df378f9d21AF' │ +│ ZBU-AToken-Aave │ '0x22a54466022671df0d4Bd57A88D6105fC3287FC4' │ +│ ZBU-VariableDebtToken-Aave │ '0xBE02017Da4d13d52D02Eb51E1C438EB6b6044f9b' │ +│ ZBU-StableDebtToken-Aave │ '0xbB36D946D1C311D005F1E2525E9d3DCB675CBEf6' │ +│ WrappedTokenGatewayV3 │ '0xDF5276f995B8e678cA07a921c2736c1d7383E1d5' │ +│ WalletBalanceProvider │ '0xFa34fCcbb1b2fCad23D9C01113B856Bdaa6A438f' │ +│ UiIncentiveDataProviderV3 │ '0xb0f3bCc0D3424731d9bd45Fd7310d75A9f9F1d60' │ +│ UiPoolDataProviderV3 │ '0xa35F8D9AEa7Ff9ea84615Cf78F53f1DFaF4C2c20' │ +│ ZBUPriceAggregator │ '0xeaD3b80A10000226b99723db829eA10E7c223835' │ +│ WSTZBUPriceAggregator │ '0xc6a80b3aA6D2508C933C55837B88Cfc74a5EED2b' │ +│ USDOXPriceAggregator │ '0x51542dF2E0DdF1e4E7dd8a8d5F350be57507e63c' │ +└─────────────────────────────────────────┴──────────────────────────────────────────────┘ + +Mintable Reserves and Rewards +┌─────────┐ +│ (index) │ +├─────────┤ +└─────────┘ \ No newline at end of file diff --git a/hardhat.config.ts b/hardhat.config.ts index e489186..7104c3f 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -15,6 +15,7 @@ import { eOptimismNetwork, ePolygonNetwork, eBaseNetwork, + eBscNetwork, } from "./helpers/types"; import { DEFAULT_NAMED_ACCOUNTS } from "./helpers/constants"; @@ -118,6 +119,10 @@ export default { eEthereumNetwork.sepolia, 11155111 ), + [eEthereumNetwork.baseSepolia]: getCommonNetworkConfig( + eEthereumNetwork.baseSepolia, + 84532 + ), [eArbitrumNetwork.goerliNitro]: getCommonNetworkConfig( eArbitrumNetwork.goerliNitro, 421613 @@ -127,6 +132,10 @@ export default { eBaseNetwork.baseGoerli, 84531 ), + [eBscNetwork.testnet]: getCommonNetworkConfig( + eBscNetwork.testnet, + 97 + ), }, namedAccounts: { ...DEFAULT_NAMED_ACCOUNTS, @@ -217,6 +226,14 @@ export default { browserURL: "https://basescan.org/", }, }, + { + network: eEthereumNetwork.baseSepolia, + chainId: 84532, + urls: { + apiURL: "https://api-sepolia.basescan.org/api", + browserURL: "https://sepolia.basescan.org/", + }, + }, ], }, }; diff --git a/helpers/constants.ts b/helpers/constants.ts index 0919d67..f170704 100644 --- a/helpers/constants.ts +++ b/helpers/constants.ts @@ -8,6 +8,7 @@ import { eHarmonyNetwork, eOptimismNetwork, ePolygonNetwork, + eBscNetwork, } from "./types"; const { @@ -47,6 +48,8 @@ export const WRAPPED_NATIVE_TOKEN_PER_NETWORK: { [network: string]: string } = { [eHarmonyNetwork.main]: "0xcF664087a5bB0237a0BAd6742852ec6c8d69A27a", [ePolygonNetwork.polygon]: "0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270", [eEthereumNetwork.sepolia]: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14", + [eEthereumNetwork.baseSepolia]: "0x4200000000000000000000000000000000000006", + [eBscNetwork.testnet]: "0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd", }; export const ZERO_BYTES_32 = @@ -101,6 +104,8 @@ export const chainlinkAggregatorProxy: Record = { goerli: "0x60E4B131f0F219c72b0346675283E73888e4AB24", [eArbitrumNetwork.goerliNitro]: "0xC09e69E79106861dF5d289dA88349f10e2dc6b5C", [eEthereumNetwork.sepolia]: "0x694AA1769357215DE4FAC081bf1f309aDC325306", + [eEthereumNetwork.baseSepolia]: "0x4aDC67696bA383F43DD60A9e78F2C97Fbbfc7cb1", + [eBscNetwork.testnet]: "0x143db3CEEfbdfe5631aDD3E50f7614B6ba708BA7", }; export const chainlinkEthUsdAggregatorProxy: Record = { @@ -124,6 +129,8 @@ export const chainlinkEthUsdAggregatorProxy: Record = { goerli: "0x60E4B131f0F219c72b0346675283E73888e4AB24", [eArbitrumNetwork.goerliNitro]: "0xC09e69E79106861dF5d289dA88349f10e2dc6b5C", [eEthereumNetwork.sepolia]: "0x694AA1769357215DE4FAC081bf1f309aDC325306", + [eEthereumNetwork.baseSepolia]: "0x4aDC67696bA383F43DD60A9e78F2C97Fbbfc7cb1", + [eBscNetwork.testnet]: "0x143db3CEEfbdfe5631aDD3E50f7614B6ba708BA7", }; export const ETHEREUM_SHORT_EXECUTOR = @@ -144,6 +151,8 @@ export const POOL_ADMIN: Record = { [eBaseNetwork.baseGoerli]: "0xA9F30e6ED4098e9439B2ac8aEA2d3fc26BcEbb45", [eEthereumNetwork.tenderly]: ETHEREUM_SHORT_EXECUTOR, [eEthereumNetwork.sepolia]: "0x9ab5672BCF516A73c1aB035220646e823C59556A", + [eEthereumNetwork.baseSepolia]: "0x9ab5672BCF516A73c1aB035220646e823C59556A", + [eBscNetwork.testnet]: "0x9ab5672BCF516A73c1aB035220646e823C59556A", }; export const EMERGENCY_ADMIN: Record = { @@ -155,6 +164,8 @@ export const EMERGENCY_ADMIN: Record = { [ePolygonNetwork.polygon]: "0x1450F2898D6bA2710C98BE9CAF3041330eD5ae58", [eEthereumNetwork.main]: ETHEREUM_SHORT_EXECUTOR, [eEthereumNetwork.sepolia]: "0x9ab5672BCF516A73c1aB035220646e823C59556A", + [eEthereumNetwork.baseSepolia]: "0x9ab5672BCF516A73c1aB035220646e823C59556A", + [eBscNetwork.testnet]: "0x9ab5672BCF516A73c1aB035220646e823C59556A", }; export const DEFAULT_NAMED_ACCOUNTS = { diff --git a/helpers/hardhat-config-helpers.ts b/helpers/hardhat-config-helpers.ts index 594e189..d806e34 100644 --- a/helpers/hardhat-config-helpers.ts +++ b/helpers/hardhat-config-helpers.ts @@ -12,6 +12,7 @@ import { eFantomNetwork, eOptimismNetwork, eBaseNetwork, + eBscNetwork, } from "./types"; require("dotenv").config(); @@ -48,8 +49,12 @@ export const getAlchemyKey = (net: eNetwork) => { return process.env.GOERLI_ALCHEMY_KEY || ALCHEMY_KEY; case eEthereumNetwork.sepolia: return process.env.SEPOLIA_ALCHEMY_KEY || ALCHEMY_KEY; + case eEthereumNetwork.baseSepolia: + return process.env.BASE_SEPOLIA_ALCHEMY_KEY || ALCHEMY_KEY; case eBaseNetwork.base: return process.env.BASE_ALCHEMY_KEY || ALCHEMY_KEY; + case eBscNetwork.testnet: + return process.env.BSC_TESTNET_ALCHEMY_KEY || ALCHEMY_KEY; default: return ALCHEMY_KEY; } @@ -93,11 +98,13 @@ export const NETWORKS_RPC_URL: iParamsPerNetwork = { [eEthereumNetwork.sepolia]: `https://eth-sepolia.g.alchemy.com/v2/${getAlchemyKey( eEthereumNetwork.sepolia )}`, + [eEthereumNetwork.baseSepolia]: `https://sepolia.base.org`, [eArbitrumNetwork.goerliNitro]: `https://goerli-rollup.arbitrum.io/rpc`, [eBaseNetwork.baseGoerli]: `https://goerli.base.org`, [eBaseNetwork.base]: `https://base-mainnet.g.alchemy.com/v2/${getAlchemyKey( eBaseNetwork.base )}`, + [eBscNetwork.testnet]: `https://bsc-testnet.infura.io/v3/${INFURA_KEY}`, }; export const LIVE_NETWORKS: iParamsPerNetwork = { @@ -110,11 +117,14 @@ export const LIVE_NETWORKS: iParamsPerNetwork = { [eOptimismNetwork.main]: true, [eBaseNetwork.base]: true, [eEthereumNetwork.sepolia]: true, + [eEthereumNetwork.baseSepolia]: true, + [eBscNetwork.testnet]: true, }; const GAS_PRICE_PER_NET: iParamsPerNetwork = { [eArbitrumNetwork.goerliNitro]: 100000001, [eBaseNetwork.baseGoerli]: 8000000000, + [eBscNetwork.testnet]: 10000000000, }; export const buildForkConfig = (): diff --git a/helpers/init-helpers.ts b/helpers/init-helpers.ts index 8c37c72..eac5790 100644 --- a/helpers/init-helpers.ts +++ b/helpers/init-helpers.ts @@ -74,7 +74,7 @@ export const initReservesByHelper = async ( )) as any as Pool; // CHUNK CONFIGURATION - const initChunks = 3; + const initChunks = 1; // Initialize variables for future reserves initialization let reserveTokens: string[] = []; @@ -223,12 +223,15 @@ export const initReservesByHelper = async ( chunkIndex++ ) { const tx = await waitForTx( - await configurator.initReserves(chunkedInitInputParams[chunkIndex]) + await configurator.initReserves(chunkedInitInputParams[chunkIndex], { + gasLimit: 5000000, // Increased gas limit for BSC Testnet + }) ); console.log( ` - Reserve ready for: ${chunkedSymbols[chunkIndex].join(", ")}`, - `\n - Tx hash: ${tx.transactionHash}` + `\n - Tx hash: ${tx.transactionHash}`, + `\n - Gas used: ${tx.gasUsed.toString()}` ); } }; diff --git a/helpers/types.ts b/helpers/types.ts index 076a8e7..f22d58f 100644 --- a/helpers/types.ts +++ b/helpers/types.ts @@ -18,7 +18,8 @@ export type eNetwork = | eFantomNetwork | eOptimismNetwork | eTenderlyNetwork - | eBaseNetwork; + | eBaseNetwork + | eBscNetwork; type eTenderlyNetwork = "tenderly"; @@ -43,6 +44,7 @@ export enum eEthereumNetwork { rinkeby = "rinkeby", goerli = "goerli", sepolia = "sepolia", + baseSepolia = "base-sepolia", } export enum eBaseNetwork { @@ -613,3 +615,8 @@ export interface IncentivesConfig { rewardsOracle: iParamsPerNetwork>; incentivesInput: iParamsPerNetwork; } + +export enum eBscNetwork { + main = "bsc", + testnet = "bsc-testnet", +} diff --git a/markets/aave/commons.ts b/markets/aave/commons.ts index 6a14e16..7c365d2 100644 --- a/markets/aave/commons.ts +++ b/markets/aave/commons.ts @@ -7,6 +7,7 @@ import { ePolygonNetwork, TransferStrategy, eBaseNetwork, + eBscNetwork, } from "./../../helpers/types"; import { ZERO_ADDRESS } from "../../helpers/constants"; import { @@ -55,6 +56,15 @@ export const CommonsConfig: ICommonConfiguration = { WSTZBU: '0x880048E759fCA906e780433BF1CEC3Dd3559934B', ZBU: '0xA83fE18C7AcccBFeCB461122c7645f9FcbB6e043', }, + [eEthereumNetwork.baseSepolia]: { + USDC: '0xd30e2101a97dcbAeBCBC04F14C3f624E67A35165', + WBTC: '0x0FB99723Aee6f420beAD13e6bBB79b7E6F034298', + WETH: '0x4aDC67696bA383F43DD60A9e78F2C97Fbbfc7cb1', + USDT: '0xd30e2101a97dcbAeBCBC04F14C3f624E67A35165', + USDOX: '0xB4b83BFc71bedc0fc793C462ec5eB34BbB0f61a8', + WSTZBU: '0xD119F31dA03362a40EB2BF259aA8B6B6B974AdB5', + ZBU: '0x45347837B2Ab23cAe89F8C9bA80e11cd3a6Fd8fa', + }, [eEthereumNetwork.rinkeby]: { LINK: ZERO_ADDRESS, USDC: ZERO_ADDRESS, @@ -64,6 +74,15 @@ export const CommonsConfig: ICommonConfiguration = { USDT: ZERO_ADDRESS, EURS: ZERO_ADDRESS, }, + [eBscNetwork.testnet]: { + USDC: '0x90c069C4538adAc136E051052E14c1cD799C41B7', + WBTC: '0x5741306c21795FdCBb9b265Ea0255F499DFe515C', + WETH: '0x143db3CEEfbdfe5631aDD3E50f7614B6ba708BA7', + USDT: '0xEca2605f0BCF2BA5966372C99837b1F182d3D620', + USDOX: '0x83de4272a6b4a62e099A5dBeDf597747F59288D7', + WSTZBU: '0x7F002de2feB0bED0eAb73aF31c291d2cFff74779', + ZBU: '0xD119F31dA03362a40EB2BF259aA8B6B6B974AdB5', + }, }, ReserveFactorTreasuryAddress: { [eEthereumNetwork.kovan]: "0x464c71f6c2f760dda6093dcb91c24c39e5d6e18c", @@ -72,6 +91,8 @@ export const CommonsConfig: ICommonConfiguration = { "0xeC67987831C4278160D8e652d3edb0Fc45B3766d", [eEthereumNetwork.rinkeby]: ZERO_ADDRESS, [eEthereumNetwork.sepolia]: ZERO_ADDRESS, + [eEthereumNetwork.baseSepolia]: ZERO_ADDRESS, + [eBscNetwork.testnet]: ZERO_ADDRESS, }, FallbackOracle: { [eEthereumNetwork.kovan]: ZERO_ADDRESS, @@ -80,6 +101,8 @@ export const CommonsConfig: ICommonConfiguration = { [eArbitrumNetwork.arbitrumTestnet]: ZERO_ADDRESS, [eEthereumNetwork.rinkeby]: ZERO_ADDRESS, [eEthereumNetwork.sepolia]: ZERO_ADDRESS, + [eEthereumNetwork.baseSepolia]: ZERO_ADDRESS, + [eBscNetwork.testnet]: ZERO_ADDRESS, }, ReservesConfig: {}, IncentivesConfig: { @@ -174,10 +197,12 @@ export const CommonsConfig: ICommonConfiguration = { [eBaseNetwork.base]: true, [eBaseNetwork.baseGoerli]: true, [eEthereumNetwork.sepolia]: false, + [eEthereumNetwork.baseSepolia]: false, + [eBscNetwork.testnet]: false, }, ParaswapRegistry: { [eEthereumNetwork.main]: "0xa68bEA62Dc4034A689AA0F58A76681433caCa663", - [ePolygonNetwork.polygon]: "0xca35a4866747Ff7A604EF7a2A7F246bb870f3ca1", + [ePolygonNetwork.polygon]: "0xca35a4866747Ff7a604EF7a2A7F246bb870f3ca1", [eAvalancheNetwork.avalanche]: "0xfD1E5821F07F1aF812bB7F3102Bfd9fFb279513a", [eFantomNetwork.main]: "0x161383b5dAFc1cc05Ec058e5B0b0703BA175bdA6", [eArbitrumNetwork.arbitrum]: "0xdC6E2b14260F972ad4e5a31c68294Fba7E720701", diff --git a/markets/aave/index.ts b/markets/aave/index.ts index fe68f00..35e8fbe 100644 --- a/markets/aave/index.ts +++ b/markets/aave/index.ts @@ -1,4 +1,4 @@ -import { eOptimismNetwork } from "./../../helpers/types"; +import { eOptimismNetwork, eBscNetwork } from "./../../helpers/types"; import { ZERO_ADDRESS } from "../../helpers"; import { IAaveConfiguration, @@ -66,6 +66,15 @@ export const AaveMarket: IAaveConfiguration = { WSTZBU: '0xCB2693c8503F51fA42Cfd5952dc078951389448E', ZBU: '0x6098Bc6CA2fDFDa186847878726AFBad1d01f13D', }, + [eEthereumNetwork.baseSepolia]: { + USDC: '0xC30752a94e043DDcb9DCf313e8CAEADF5Ad5Aa36', + WBTC: '0x7d226DcE7B3D201B3FC5e73b8114EFd7c7b8E84B', + WETH: '0x4200000000000000000000000000000000000006', + USDT: '0xdB71c6cf8ffc2330ffb6Cb66d049cAdE0c2fa78F', + USDOX: '0x1825CF470a297aE6355a284330723d7224aA80CE', + WSTZBU: '0x2A81f942c5DA841dA04964B03e28286800735782', + ZBU: '0x28f915a466a5D4b66e98f5878fCA1d4254F4DA04', + }, [eEthereumNetwork.rinkeby]: { // AAVE: ZERO_ADDRESS, // DAI: ZERO_ADDRESS, @@ -76,6 +85,15 @@ export const AaveMarket: IAaveConfiguration = { USDT: ZERO_ADDRESS, // EURS: ZERO_ADDRESS, }, + [eBscNetwork.testnet]: { + USDC: '0xBA959085D18a436e38C49dfBB4dE1577A04Cfc82', + WBTC: '0xb5F8e2C38b25D914d7E87562A8fE5f379EfbF720', + WETH: '0x24C9184c7DA6CA2F3B5cF55E646E9CD581b89dA7', + USDT: '0x2dfad6c444039A9E56801FbaF819851A485e254A', + USDOX: '0x18Aa55A2192058f4e207ad0029523e83486E757F', + WSTZBU: '0x19f59C5bAabaEf87E1bc1Df1ec8868711ADC22e6', + ZBU: '0xb9494eE5c37A44df967dc2826df9c9D2269aBB4A', + }, }, StkAaveProxy: { [eEthereumNetwork.main]: "0x4da27a545c0c5B758a6BA100e3a049001de870f5",