rescue-tokens-example/test.js

40 lines
1.7 KiB
JavaScript
Raw Normal View History

2023-10-05 15:17:36 +03:00
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);
})
})