Skip to content

Commit

Permalink
feat: new stata factories
Browse files Browse the repository at this point in the history
  • Loading branch information
sakulstra committed Jan 20, 2025
1 parent 06623dc commit e270a01
Show file tree
Hide file tree
Showing 16 changed files with 241 additions and 16 deletions.
15 changes: 14 additions & 1 deletion safe.csv
Original file line number Diff line number Diff line change
Expand Up @@ -919,6 +919,7 @@ address,name,chainId
0xE229d5DE4BD5beEAf12d427B5B57BFe66abD2c3b,AaveV3Optimism PRICE_ORACLE_SENTINEL,10
0x5d4D4007A4c6336550DdAa2a7c0d5e7972eebd16,AaveV3Optimism REPAY_WITH_COLLATERAL_ADAPTER,10
0x928807b90A74210268B590D0159FCf1340Ad76Bd,AaveV3Optimism RISK_STEWARD,10
0x9371Df6e3432c74130b632e4e7E57E1F54BFC712,AaveV3Optimism STATA_FACTORY,10
0x22D76094730fA377184100EFB8CEfC673B89B372,AaveV3Optimism STATIC_A_TOKEN_FACTORY,10
0x830C5A67a0C95D69dA5fb7801Ac1773c6fB53857,AaveV3Optimism SWAP_COLLATERAL_ADAPTER,10
0x5c5228aC8BC1528482514aF3e27E692495148717,AaveV3Optimism UI_INCENTIVE_DATA_PROVIDER,10
Expand Down Expand Up @@ -1490,6 +1491,16 @@ address,name,chainId
0x6450fd7F877B5bB726F7Bc6Bf0e6ffAbd48d72ad,AaveV3ZkSync ASSETS ZK V_TOKEN,324
0x57815Ab06D846d7dECd326Ee541CD06144FED237,AaveV3ZkSync ASSETS ZK INTEREST_RATE_STRATEGY,324
0xD1ce60dc8AE060DDD17cA8716C96f193bC88DD13,AaveV3ZkSync ASSETS ZK ORACLE,324
0xc1Fa6E2E8667d9bE0Ca938a54c7E0285E9Df924a,AaveV3ZkSync ASSETS weETH UNDERLYING,324
0xE818A67EE5c0531AFaa31Aa6e20bcAC36227A641,AaveV3ZkSync ASSETS weETH A_TOKEN,324
0xf31E1599b4480d07Fa96a7248c4f05cA84DA7fa8,AaveV3ZkSync ASSETS weETH V_TOKEN,324
0x57815Ab06D846d7dECd326Ee541CD06144FED237,AaveV3ZkSync ASSETS weETH INTEREST_RATE_STRATEGY,324
0x32aF9A0a47B332761c8C90E9eC9f53e46e852b2B,AaveV3ZkSync ASSETS weETH ORACLE,324
0xAD17Da2f6Ac76746EF261E835C50b2651ce36DA8,AaveV3ZkSync ASSETS sUSDe UNDERLYING,324
0xF3c9d58B76AC6Ee6811520021e9A9318c49E4CFa,AaveV3ZkSync ASSETS sUSDe A_TOKEN,324
0xDeBb4ddaaaB1676775214552a7a05D6A13f905Da,AaveV3ZkSync ASSETS sUSDe V_TOKEN,324
0x57815Ab06D846d7dECd326Ee541CD06144FED237,AaveV3ZkSync ASSETS sUSDe INTEREST_RATE_STRATEGY,324
0xDaec4cC3a41E423d678428A8Bb29fa1ADF26869a,AaveV3ZkSync ASSETS sUSDe ORACLE,324
0xd69Cbda644c6be817AaFb5Fd9174f50C33803B6b,AaveV3ZkSync COLLECTOR,324
0x54965A9c830DCEEa6BeEa77642C6A78C3df1C957,AaveV3ZkSync CONFIG_ENGINE,324
0x34be365Fd01ac224F21490aaC6dFd65D25434bbB,AaveV3ZkSync DEFAULT_A_TOKEN_IMPL_REV_1,324
Expand Down Expand Up @@ -1663,6 +1674,7 @@ address,name,chainId
0x943AcD0c93d7a8Bee7dA5Fd0DC3d0028237074d6,AaveV3Base PRICE_ORACLE_SENTINEL,8453
0x63dfa7c09Dc2Ff4030d6B8Dc2ce6262BF898C8A4,AaveV3Base REPAY_WITH_COLLATERAL_ADAPTER,8453
0xD3DE4b3571744EB77946d65aBF01408902E92c4E,AaveV3Base RISK_STEWARD,8453
0x78d33BF0014ab169725F2Ea5a62b200F2977faeE,AaveV3Base STATA_FACTORY,8453
0x940F9a5d5F9ED264990D0eaee1F3DD60B4Cb9A22,AaveV3Base STATIC_A_TOKEN_FACTORY,8453
0xe63eAf6DAb1045689BD3a332bC596FfcF54A5C88,AaveV3Base STATIC_A_TOKEN_ORACLE,8453
0x2E549104c516b8657A7D888494DfbAbD7C70b464,AaveV3Base SWAP_COLLATERAL_ADAPTER,8453
Expand Down Expand Up @@ -1816,6 +1828,7 @@ address,name,chainId
0xcC47c4Fe1F7f29ff31A8b62197023aC8553C7896,AaveV3Arbitrum RATES_FACTORY,42161
0xE28E2c8d240dd5eBd0adcab86fbD79df7a052034,AaveV3Arbitrum REPAY_WITH_COLLATERAL_ADAPTER,42161
0x14568979093FFF97aeBD73F58051a4f0e297b1eB,AaveV3Arbitrum RISK_STEWARD,42161
0xd85922fFF51ba4130cEC7c499db4Ac3Eb9981EaD,AaveV3Arbitrum STATA_FACTORY,42161
0x411D79b8cC43384FDE66CaBf9b6a17180c842511,AaveV3Arbitrum STATIC_A_TOKEN_FACTORY,42161
0xD61BF98649EA8F8D09e184184777b1867F00E5CB,AaveV3Arbitrum STATIC_A_TOKEN_ORACLE,42161
0xF3C3F14dd7BDb7E03e6EBc3bc5Ffc6D66De12251,AaveV3Arbitrum SWAP_COLLATERAL_ADAPTER,42161
Expand Down Expand Up @@ -2179,4 +2192,4 @@ address,name,chainId
0xf7a60467aBb8A3240A0382b22E1B03c7d4F59Da5,AaveV3Harmony UI_INCENTIVE_DATA_PROVIDER,1666600000
0xeC6118C69af50660231108059ab98CD0cF9a6eA1,AaveV3Harmony UI_POOL_DATA_PROVIDER,1666600000
0xBc790382B3686abffE4be14A030A96aC6154023a,AaveV3Harmony WALLET_BALANCE_PROVIDER,1666600000
0xE387c6053CE8EC9f8C3fa5cE085Af73114a695d3,AaveV3Harmony WETH_GATEWAY,1666600000
0xE387c6053CE8EC9f8C3fa5cE085Af73114a695d3,AaveV3Harmony WETH_GATEWAY,1666600000
1 change: 1 addition & 0 deletions scripts/configs/pools/arbitrum.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ export const arbitrumProtoV3: PoolConfig = {
WALLET_BALANCE_PROVIDER: '0xBc790382B3686abffE4be14A030A96aC6154023a',
WETH_GATEWAY: '0x5760E34c4003752329bC77790B1De44C2799F8C3',
WITHDRAW_SWAP_ADAPTER: '0x5598BbFA2f4fE8151f45bBA0a3edE1b54B51a0a9',
STATA_FACTORY: '0xd85922fFF51ba4130cEC7c499db4Ac3Eb9981EaD',
},
};

Expand Down
1 change: 1 addition & 0 deletions scripts/configs/pools/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ export const baseProtoV3: PoolConfig = {
UI_POOL_DATA_PROVIDER: '0x68100bd5345ea474d93577127c11f39ff8463e93',
WALLET_BALANCE_PROVIDER: '0x5779b29B0a34577d927E8D511B595ef9abbFAE82',
WETH_GATEWAY: '0x729b3EA8C005AbC58c9150fb57Ec161296F06766',
STATA_FACTORY: '0x78d33BF0014ab169725F2Ea5a62b200F2977faeE',
},
};

Expand Down
1 change: 1 addition & 0 deletions scripts/configs/pools/optimism.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ export const optimismProtoV3: PoolConfig = {
WALLET_BALANCE_PROVIDER: '0xBc790382B3686abffE4be14A030A96aC6154023a',
WETH_GATEWAY: '0x60eE8b61a13c67d0191c851BEC8F0bc850160710',
WITHDRAW_SWAP_ADAPTER: '0x78F8Bd884C3D738B74B420540659c82f392820e0',
STATA_FACTORY: '0x9371Df6e3432c74130b632e4e7E57E1F54BFC712',
},
};

Expand Down
3 changes: 3 additions & 0 deletions src/AaveV3Arbitrum.sol
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,9 @@ library AaveV3Arbitrum {

// https://arbiscan.io/address/0x5598BbFA2f4fE8151f45bBA0a3edE1b54B51a0a9
address internal constant WITHDRAW_SWAP_ADAPTER = 0x5598BbFA2f4fE8151f45bBA0a3edE1b54B51a0a9;

// https://arbiscan.io/address/0xd85922fFF51ba4130cEC7c499db4Ac3Eb9981EaD
address internal constant STATA_FACTORY = 0xd85922fFF51ba4130cEC7c499db4Ac3Eb9981EaD;
}
library AaveV3ArbitrumAssets {
// https://arbiscan.io/address/0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1
Expand Down
3 changes: 3 additions & 0 deletions src/AaveV3Base.sol
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,9 @@ library AaveV3Base {

// https://basescan.org/address/0x729b3EA8C005AbC58c9150fb57Ec161296F06766
address internal constant WETH_GATEWAY = 0x729b3EA8C005AbC58c9150fb57Ec161296F06766;

// https://basescan.org/address/0x78d33BF0014ab169725F2Ea5a62b200F2977faeE
address internal constant STATA_FACTORY = 0x78d33BF0014ab169725F2Ea5a62b200F2977faeE;
}
library AaveV3BaseAssets {
// https://basescan.org/address/0x4200000000000000000000000000000000000006
Expand Down
3 changes: 3 additions & 0 deletions src/AaveV3Optimism.sol
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,9 @@ library AaveV3Optimism {

// https://optimistic.etherscan.io/address/0x78F8Bd884C3D738B74B420540659c82f392820e0
address internal constant WITHDRAW_SWAP_ADAPTER = 0x78F8Bd884C3D738B74B420540659c82f392820e0;

// https://optimistic.etherscan.io/address/0x9371Df6e3432c74130b632e4e7E57E1F54BFC712
address internal constant STATA_FACTORY = 0x9371Df6e3432c74130b632e4e7E57E1F54BFC712;
}
library AaveV3OptimismAssets {
// https://optimistic.etherscan.io/address/0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1
Expand Down
38 changes: 38 additions & 0 deletions src/AaveV3ZkSync.sol
Original file line number Diff line number Diff line change
Expand Up @@ -167,11 +167,49 @@ library AaveV3ZkSyncAssets {

// https://era.zksync.network/address/0x57815Ab06D846d7dECd326Ee541CD06144FED237
address internal constant ZK_INTEREST_RATE_STRATEGY = 0x57815Ab06D846d7dECd326Ee541CD06144FED237;

// https://era.zksync.network/address/0xc1Fa6E2E8667d9bE0Ca938a54c7E0285E9Df924a
address internal constant weETH_UNDERLYING = 0xc1Fa6E2E8667d9bE0Ca938a54c7E0285E9Df924a;

uint8 internal constant weETH_DECIMALS = 18;

// https://era.zksync.network/address/0xE818A67EE5c0531AFaa31Aa6e20bcAC36227A641
address internal constant weETH_A_TOKEN = 0xE818A67EE5c0531AFaa31Aa6e20bcAC36227A641;

// https://era.zksync.network/address/0xf31E1599b4480d07Fa96a7248c4f05cA84DA7fa8
address internal constant weETH_V_TOKEN = 0xf31E1599b4480d07Fa96a7248c4f05cA84DA7fa8;

// https://era.zksync.network/address/0x32aF9A0a47B332761c8C90E9eC9f53e46e852b2B
address internal constant weETH_ORACLE = 0x32aF9A0a47B332761c8C90E9eC9f53e46e852b2B;

// https://era.zksync.network/address/0x57815Ab06D846d7dECd326Ee541CD06144FED237
address internal constant weETH_INTEREST_RATE_STRATEGY =
0x57815Ab06D846d7dECd326Ee541CD06144FED237;

// https://era.zksync.network/address/0xAD17Da2f6Ac76746EF261E835C50b2651ce36DA8
address internal constant sUSDe_UNDERLYING = 0xAD17Da2f6Ac76746EF261E835C50b2651ce36DA8;

uint8 internal constant sUSDe_DECIMALS = 18;

// https://era.zksync.network/address/0xF3c9d58B76AC6Ee6811520021e9A9318c49E4CFa
address internal constant sUSDe_A_TOKEN = 0xF3c9d58B76AC6Ee6811520021e9A9318c49E4CFa;

// https://era.zksync.network/address/0xDeBb4ddaaaB1676775214552a7a05D6A13f905Da
address internal constant sUSDe_V_TOKEN = 0xDeBb4ddaaaB1676775214552a7a05D6A13f905Da;

// https://era.zksync.network/address/0xDaec4cC3a41E423d678428A8Bb29fa1ADF26869a
address internal constant sUSDe_ORACLE = 0xDaec4cC3a41E423d678428A8Bb29fa1ADF26869a;

// https://era.zksync.network/address/0x57815Ab06D846d7dECd326Ee541CD06144FED237
address internal constant sUSDe_INTEREST_RATE_STRATEGY =
0x57815Ab06D846d7dECd326Ee541CD06144FED237;
}
library AaveV3ZkSyncEModes {
uint8 internal constant NONE = 0;

uint8 internal constant ETH_CORRELATED = 1;

uint8 internal constant WEETH_CORRELATED = 2;
}
library AaveV3ZkSyncExternalLibraries {
// https://era.zksync.network/address/0xcE53459E8734Df93399A425183Ee1860Ca8c2D0b
Expand Down
3 changes: 3 additions & 0 deletions src/ts/AaveV3Arbitrum.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,9 @@ export const WETH_GATEWAY = '0x5760E34c4003752329bC77790B1De44C2799F8C3';
// https://arbiscan.io/address/0x5598BbFA2f4fE8151f45bBA0a3edE1b54B51a0a9
export const WITHDRAW_SWAP_ADAPTER = '0x5598BbFA2f4fE8151f45bBA0a3edE1b54B51a0a9';

// https://arbiscan.io/address/0xd85922fFF51ba4130cEC7c499db4Ac3Eb9981EaD
export const STATA_FACTORY = '0xd85922fFF51ba4130cEC7c499db4Ac3Eb9981EaD';

export const CHAIN_ID = 42161;
export const ASSETS = {
DAI: {
Expand Down
3 changes: 3 additions & 0 deletions src/ts/AaveV3Base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,9 @@ export const WALLET_BALANCE_PROVIDER = '0x5779b29B0a34577d927E8D511B595ef9abbFAE
// https://basescan.org/address/0x729b3EA8C005AbC58c9150fb57Ec161296F06766
export const WETH_GATEWAY = '0x729b3EA8C005AbC58c9150fb57Ec161296F06766';

// https://basescan.org/address/0x78d33BF0014ab169725F2Ea5a62b200F2977faeE
export const STATA_FACTORY = '0x78d33BF0014ab169725F2Ea5a62b200F2977faeE';

export const CHAIN_ID = 8453;
export const ASSETS = {
WETH: {
Expand Down
3 changes: 3 additions & 0 deletions src/ts/AaveV3Optimism.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,9 @@ export const WETH_GATEWAY = '0x60eE8b61a13c67d0191c851BEC8F0bc850160710';
// https://optimistic.etherscan.io/address/0x78F8Bd884C3D738B74B420540659c82f392820e0
export const WITHDRAW_SWAP_ADAPTER = '0x78F8Bd884C3D738B74B420540659c82f392820e0';

// https://optimistic.etherscan.io/address/0x9371Df6e3432c74130b632e4e7E57E1F54BFC712
export const STATA_FACTORY = '0x9371Df6e3432c74130b632e4e7E57E1F54BFC712';

export const CHAIN_ID = 10;
export const ASSETS = {
DAI: {
Expand Down
28 changes: 28 additions & 0 deletions src/ts/AaveV3ZkSync.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,24 @@ export const ASSETS = {
INTEREST_RATE_STRATEGY: '0x57815Ab06D846d7dECd326Ee541CD06144FED237',
ORACLE: '0xD1ce60dc8AE060DDD17cA8716C96f193bC88DD13',
},
weETH: {
decimals: 18,
id: 5,
UNDERLYING: '0xc1Fa6E2E8667d9bE0Ca938a54c7E0285E9Df924a',
A_TOKEN: '0xE818A67EE5c0531AFaa31Aa6e20bcAC36227A641',
V_TOKEN: '0xf31E1599b4480d07Fa96a7248c4f05cA84DA7fa8',
INTEREST_RATE_STRATEGY: '0x57815Ab06D846d7dECd326Ee541CD06144FED237',
ORACLE: '0x32aF9A0a47B332761c8C90E9eC9f53e46e852b2B',
},
sUSDe: {
decimals: 18,
id: 6,
UNDERLYING: '0xAD17Da2f6Ac76746EF261E835C50b2651ce36DA8',
A_TOKEN: '0xF3c9d58B76AC6Ee6811520021e9A9318c49E4CFa',
V_TOKEN: '0xDeBb4ddaaaB1676775214552a7a05D6A13f905Da',
INTEREST_RATE_STRATEGY: '0x57815Ab06D846d7dECd326Ee541CD06144FED237',
ORACLE: '0xDaec4cC3a41E423d678428A8Bb29fa1ADF26869a',
},
} as const;
export const E_MODES = {
'1': {
Expand All @@ -130,5 +148,15 @@ export const E_MODES = {
liquidationThreshold: 9300,
liquidationBonus: 10100,
},
'2': {
label: 'weETH correlated',
collateralBitmap: '32',
collateralAssets: ['0xc1Fa6E2E8667d9bE0Ca938a54c7E0285E9Df924a'],
borrowableBitmap: '4',
borrowableAssets: ['0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91'],
ltv: 9000,
liquidationThreshold: 9300,
liquidationBonus: 10100,
},
} as const;
export const EXTERNAL_LIBRARIES = {} as const;
17 changes: 16 additions & 1 deletion tests/__snapshots__/verification.spec.ts.snap
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html

exports[`verification > should have all contracts verified except for the known set of errors 1`] = `[]`;
exports[`verification > should have all contracts verified except for the known set of errors 1`] = `
[
{
"item": {
"chainId": 324,
"path": [
"AaveV3ZkSync",
"ASSETS",
"sUSDe",
"UNDERLYING",
],
"value": "0xAD17Da2f6Ac76746EF261E835C50b2651ce36DA8",
},
},
]
`;
35 changes: 34 additions & 1 deletion tests/cache/verified.json
Original file line number Diff line number Diff line change
Expand Up @@ -2821,6 +2821,9 @@
},
"0xc3250A20F8a7BbDd23adE87737EE46A45Fe5543E": {
"name": "AaveOpEthERC20Bridge"
},
"0x9371Df6e3432c74130b632e4e7E57E1F54BFC712": {
"name": "TransparentUpgradeableProxy"
}
},
"56": {
Expand Down Expand Up @@ -4518,6 +4521,27 @@
},
"0x8601Af6a00862112b2F2E4993684073D904DE836": {
"name": "TransparentProxyFactoryZkSync"
},
"0xc1Fa6E2E8667d9bE0Ca938a54c7E0285E9Df924a": {
"name": "TransparentUpgradeableProxy"
},
"0xE818A67EE5c0531AFaa31Aa6e20bcAC36227A641": {
"name": "InitializableImmutableAdminUpgradeabilityProxy"
},
"0xf31E1599b4480d07Fa96a7248c4f05cA84DA7fa8": {
"name": "InitializableImmutableAdminUpgradeabilityProxy"
},
"0x32aF9A0a47B332761c8C90E9eC9f53e46e852b2B": {
"name": "CLRatePriceCapAdapter"
},
"0xF3c9d58B76AC6Ee6811520021e9A9318c49E4CFa": {
"name": "InitializableImmutableAdminUpgradeabilityProxy"
},
"0xDeBb4ddaaaB1676775214552a7a05D6A13f905Da": {
"name": "InitializableImmutableAdminUpgradeabilityProxy"
},
"0xDaec4cC3a41E423d678428A8Bb29fa1ADF26869a": {
"name": "CLRatePriceCapAdapter"
}
},
"1088": {
Expand Down Expand Up @@ -5226,6 +5250,9 @@
},
"0x438e24f5FCDC1A66ecb25D19B5543e0Cb91A44D4": {
"name": "CLRatePriceCapAdapter"
},
"0x78d33BF0014ab169725F2Ea5a62b200F2977faeE": {
"name": "TransparentUpgradeableProxy"
}
},
"42161": {
Expand Down Expand Up @@ -5753,6 +5780,9 @@
},
"0x8Ed37B72300683c0482A595bfa80fFb793874b15": {
"name": "CLRatePriceCapAdapter"
},
"0xd85922fFF51ba4130cEC7c499db4Ac3Eb9981EaD": {
"name": "TransparentUpgradeableProxy"
}
},
"43113": {
Expand Down Expand Up @@ -6575,6 +6605,9 @@
},
"0xDe090EfCD6ef4b86792e2D84E55a5fa8d49D25D2": {
"name": "TransparentProxyFactory"
},
"0x3238FC1d642b60F41a35f62570237656C85F4744": {
"name": "RiskSteward"
}
},
"84532": {
Expand Down Expand Up @@ -7018,4 +7051,4 @@
"name": "InitializableImmutableAdminUpgradeabilityProxy"
}
}
}
}
55 changes: 44 additions & 11 deletions tests/sanity/stataFactory.spec.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import {describe, it} from 'vitest';
import {describe, expect, it} from 'vitest';
import * as addressBook from '../../src/ts/AaveAddressBook';
import {getContract} from 'viem';
import {getClient} from '../../scripts/clients';
import {getMisc} from '../utils';

export async function check(addresses: Record<string, any>) {
const client = getClient(addresses.CHAIN_ID);
Expand All @@ -20,22 +21,54 @@ export async function check(addresses: Record<string, any>) {
],
stateMutability: 'view',
},
{
type: 'function',
name: 'PROXY_ADMIN',
inputs: [],
outputs: [
{
name: '',
type: 'address',
internalType: 'address',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'TRANSPARENT_PROXY_FACTORY',
inputs: [],
outputs: [
{
name: '',
type: 'address',
internalType: 'address',
},
],
stateMutability: 'view',
},
] as const,
address: addresses['STATIC_A_TOKEN_FACTORY'],
address: addresses['STATA_FACTORY'],
client,
});
const factoryPool = await factory.read.POOL();
if (factoryPool !== addresses.POOL)
throw new Error(`SANITY_STATA: POOL MISMATCH ${addresses.POOL}:${factoryPool}`);
expect(factoryPool).toEqual(addresses.POOL);
const misc = getMisc(addresses.CHAIN_ID);
expect((misc as any).PROXY_ADMIN).toEqual(await factory.read.PROXY_ADMIN());
expect((misc as any).TRANSPARENT_PROXY_FACTORY).toEqual(
await factory.read.TRANSPARENT_PROXY_FACTORY(),
);
}

describe('stata factory', () => {
it('should reference correct contracts on all getters', async () => {
await Promise.all(
Object.keys(addressBook).map((library) => {
const addresses = addressBook[library];
if (addresses.STATIC_A_TOKEN_FACTORY) return check(addresses);
}),
);
Object.keys(addressBook).map((library) => {
const addresses = addressBook[library];
if (addresses.STATA_FACTORY) {
const client = getClient(addresses.CHAIN_ID);
if (!client.chain?.testnet)
it(`should reference correct contracts on all getters: ${client.chain!.name}`, async () => {
return check(addresses);
});
}
});
});
Loading

0 comments on commit e270a01

Please sign in to comment.