Files
dodo-contractV2/test/vDODO/mintRedeem.test.ts
owen05 f0ec1fa756 ing
2021-02-02 18:55:32 +08:00

136 lines
3.5 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
Copyright 2021 DODO ZOO.
SPDX-License-Identifier: Apache-2.0
*/
import { decimalStr, MAX_UINT256 } from '../utils/Converter';
import { logGas } from '../utils/Log';
import { VDODOContext, getVDODOContext } from '../utils/VDODOContext';
import { assert } from 'chai';
import BigNumber from 'bignumber.js';
let account0: string;
let account1: string;
async function init(ctx: VDODOContext): Promise<void> {
account0 = ctx.SpareAccounts[0];
account1 = ctx.SpareAccounts[1];
await ctx.mintTestToken(account0, decimalStr("1000"));
await ctx.mintTestToken(account1, decimalStr("1000"));
await ctx.approveProxy(account0);
await ctx.approveProxy(account1);
}
//TODO: 抽象出来mint func
describe("VDODO", () => {
let snapshotId: string;
let ctx: VDODOContext;
before(async () => {
ctx = await getVDODOContext();
await init(ctx);
});
beforeEach(async () => {
snapshotId = await ctx.EVM.snapshot();
});
afterEach(async () => {
await ctx.EVM.reset(snapshotId);
});
describe("vdodo", () => {
it("vdodo-mint-first", async () => {
//第一次mint 后
//alpha lastRewardBlock 状态
//user superior info 状态
//vDODO 总量变化以及vDODO合约dodo余额user dodo余额
var b_alpha = await ctx.VDODO.methods.getLatestAlpha().call();
var b_lastRewardBlock = await ctx.VDODO.methods.lastRewardBlock().call();
var b_dodo_contract = await ctx.DODO.methods.balanceOf(ctx.DODO.options.address).call();
var b_dodo_account = await ctx.DODO.methods.balanceOf(account0).call();
var userInfo = await ctx.VDODO.methods.userInfo(account0).call();
console.log("userInfo:", userInfo)
});
it("vdodo-mint-second", async () => {
//第二次mint 后传入之前的superior地址
//alpha lastRewardBlock 状态
//user superior info 状态
//vDODO 总量变化以及vDODO合约dodo余额user dodo余额
});
it("vdodo-mint-second-otherSuperior", async () => {
//第二次mint 后传入非之前superior地址
//alpha lastRewardBlock 状态
//user superior info 状态
//vDODO 总量变化以及vDODO合约dodo余额user dodo余额
});
it("redeem-amount-read", async () => {
//正确读取 withdrawAmount 字段
});
it("redeem-partial-haveMint", async () => {
});
it("redeem-partial-NotMint", async () => {
//多个下级引用
});
it("redeem-all-haveMint", async () => {
});
it("redeem-all-NoMint", async () => {
//多个下级引用
});
// it("vdodo first mint with no superior", async () => {
// await ctx.VDODO.methods.mint(decimalStr("10"),"0x0000000000000000000000000000000000000000").send(ctx.sendParam(account0))
// assert.equal(
// await ctx.DODO.methods.balanceOf(account0).call(),
// decimalStr("990")
// );
// assert.equal(
// await await ctx.VDODO.methods.alpha().call(),
// await ctx.alpha
// );
// assert.equal(
// await ctx.DODO.methods.balanceOf(ctx.VDODO.options.address).call(),
// decimalStr("10")
// );
// assert.equal(
// await ctx.VDODO.methods.balanceOf(account0).call(),
// decimalStr("0.1")
// );
// assert.equal(
// await ctx.VDODO.methods.totalSupply().call(),
// decimalStr("0.1")
// );
// assert.notEqual(
// await ctx.VDODO.methods.lastRewardBlock().call(),
// ctx.lastRewardBlock
// );
// });
})
});