40 lines
1.7 KiB
JavaScript
40 lines
1.7 KiB
JavaScript
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);
|
|
})
|
|
}) |