const { expect } = require("chai"); const TornABI = require("./tornABI.json"); const UsdtABI = require('./usdtABI.json') describe("Rescue", function(){ const governanceAddr = "0x5efda50f22d34F262c29268506C5Fa42cB56A1Ce"; const me = "0xeb3E49Af2aB5D5D0f83A9289cF5a34d9e1f6C5b4"; const usdtAddr = "0xdAC17F958D2ee523a2206206994597C13D831ec7"; const tornAddr = "0x77777FeDdddFfC19Ff86DB637967013e6C6A116C"; async function getUsdtBalance(address){ const usdt = await ethers.getContractAt(UsdtABI, usdtAddr); return usdt.balanceOf(address); } async function rescueUsdt(){ const torn = await ethers.getContractAt(TornABI, tornAddr); const governanceSigner = await ethers.getImpersonatedSigner(governanceAddr); const availableBalance = await getUsdtBalance(tornAddr); await torn.connect(governanceSigner).rescueTokens(usdtAddr, me, availableBalance); } it("USDT balance on torn address should be more than 1500", async function(){ const usdtDecimals = 6; const usdtBalanceOnTornAddr = await getUsdtBalance(tornAddr); expect(Number(usdtBalanceOnTornAddr) / 10 ** usdtDecimals).greaterThan(1500); }); it("USDT balance on torn address after rescue should be 0", async function(){ await rescueUsdt(); const usdtBalanceOnTornAddr = await getUsdtBalance(tornAddr); expect(usdtBalanceOnTornAddr).to.eq(0); }) it("USDT balance of my address after rescue should be more than 1500", async function(){ const usdtDecimals = 6; const usdtBalanceOnMyAddr = await getUsdtBalance(me); expect(Number(usdtBalanceOnMyAddr) / 10 ** usdtDecimals).greaterThan(1500); }) })