From 6755a89df45601727ea5889620dd3aac5614261d Mon Sep 17 00:00:00 2001 From: yuichiroaoki Date: Fri, 4 Feb 2022 21:04:57 +0900 Subject: [PATCH] fix dodo test --- test/checkBalanceDodo.test.ts | 55 ++++++++++++++++++++--------------- utils/index.ts | 31 +++++++++++--------- 2 files changed, 48 insertions(+), 38 deletions(-) diff --git a/test/checkBalanceDodo.test.ts b/test/checkBalanceDodo.test.ts index fb9da69d..6a3f34ae 100644 --- a/test/checkBalanceDodo.test.ts +++ b/test/checkBalanceDodo.test.ts @@ -5,30 +5,37 @@ import { ERC20Mock } from "../typechain"; import { getBigNumber, getERC20ContractFromAddress } from "../utils"; describe("DODO pool check", () => { - let DAI: ERC20Mock; - let USDC: ERC20Mock; - let WMATIC: ERC20Mock; - let WETH: ERC20Mock; - let USDT: ERC20Mock; + let DAI: ERC20Mock; + let USDC: ERC20Mock; + let WMATIC: ERC20Mock; + let WETH: ERC20Mock; + let USDT: ERC20Mock; - beforeEach(async () => { - USDC = await getERC20ContractFromAddress(erc20Address.USDC) - USDT = await getERC20ContractFromAddress(erc20Address.USDT) - DAI = await getERC20ContractFromAddress(erc20Address.DAI) - WETH = await getERC20ContractFromAddress(erc20Address.WETH) - WMATIC = await getERC20ContractFromAddress(erc20Address.WMATIC) - }); + beforeEach(async () => { + USDC = await getERC20ContractFromAddress(erc20Address.USDC); + USDT = await getERC20ContractFromAddress(erc20Address.USDT); + DAI = await getERC20ContractFromAddress(erc20Address.DAI); + WETH = await getERC20ContractFromAddress(erc20Address.WETH); + WMATIC = await getERC20ContractFromAddress(erc20Address.WMATIC); + }); - describe("Check if dodo pools have enough tokens", () => { - for (const [name, poolAddr] of Object.entries(dodoV2Pool)) { - it(name, async () => { - const dodoPool = await ethers.getContractAt( - "IDODO", - poolAddr - ); - expect((await dodoPool._BASE_RESERVE_()).gt(getBigNumber(1000, 6))) - expect((await dodoPool._QUOTE_RESERVE_()).gt(getBigNumber(1000, 6))) - }); - } - }); + describe("Check if dodo pools have enough tokens", () => { + for (const [name, poolAddr] of Object.entries(dodoV2Pool)) { + it(name, async () => { + const dodoPool = await ethers.getContractAt("IDODO", poolAddr); + if (poolAddr !== dodoV2Pool.WBTC_USDC) { + expect( + (await dodoPool._BASE_RESERVE_()).gt(getBigNumber(10000, 6)) + ).to.equal(true); + } else { + expect( + (await dodoPool._BASE_RESERVE_()).gt(getBigNumber(1, 8)) + ).to.equal(true); + } + expect( + (await dodoPool._QUOTE_RESERVE_()).gt(getBigNumber(10000, 6)) + ).to.equal(true); + }); + } + }); }); diff --git a/utils/index.ts b/utils/index.ts index 781309e8..cd62bf53 100644 --- a/utils/index.ts +++ b/utils/index.ts @@ -6,33 +6,36 @@ const BASE_TEN = 10; // Defaults to e18 using amount * 10^18 export const getBigNumber = (amount: number, decimals = 18) => { - return BigNumber.from(amount).mul(BigNumber.from(BASE_TEN).pow(decimals)); + return ethers.utils.parseUnits(amount.toString(), decimals); }; export const ADDRESS_ZERO = "0x0000000000000000000000000000000000000000"; - export const deployContractFromName = async ( contractName: string, factoryType: any, args: Array = [] ) => { - const factory = (await ethers.getContractFactory(contractName)) as typeof factoryType - return factory.deploy(...args) -} + const factory = (await ethers.getContractFactory( + contractName + )) as typeof factoryType; + return factory.deploy(...args); +}; export const getContractFromAddress = async ( contractName: string, factoryType: any, address: string ) => { - const factory = (await ethers.getContractFactory(contractName)) as typeof factoryType - return factory.attach(address) -} + const factory = (await ethers.getContractFactory( + contractName + )) as typeof factoryType; + return factory.attach(address); +}; -export const getERC20ContractFromAddress = async ( - address: string, -) => { - const factory = (await ethers.getContractFactory("ERC20Mock")) as ERC20Mock__factory - return factory.attach(address) -} \ No newline at end of file +export const getERC20ContractFromAddress = async (address: string) => { + const factory = (await ethers.getContractFactory( + "ERC20Mock" + )) as ERC20Mock__factory; + return factory.attach(address); +};