add gas token && deploy kovan script

This commit is contained in:
owen05
2020-12-07 16:20:59 +08:00
parent 6ba698480a
commit 1ff3f0daf6
17 changed files with 862 additions and 211 deletions

View File

@@ -140,13 +140,14 @@ describe("Trader", () => {
});
afterEach(async () => {
await ctx.EVM.reset(snapshotId);
// await ctx.EVM.reset(snapshotId);
});
describe("route calc test", () => {
it("DODO to USDT directly swap", async () => {
it.only("DODO to USDT directly swap", async () => {
var b_DODO = await ctx.DODO.methods.balanceOf(trader).call()
var b_USDT = await ctx.USDT.methods.balanceOf(trader).call()
var c_b_CHI = await ctx.CHI.methods.balanceOf(ctx.DODOProxyV1.options.address).call()
console.log("Before DODO:" + fromWei(b_DODO, 'ether') + "; USDT:" + fromWei(b_USDT, 'mwei'));
//approve DODO entry
await ctx.DODO.methods.approve(ctx.DODOApprove.options.address, MAX_UINT256).send(ctx.sendParam(trader))
@@ -167,15 +168,17 @@ describe("Trader", () => {
}];
await logGas(await calcRoute(ctx, decimalStr('10'), 0.1, routes, pairs), ctx.sendParam(trader), "directly swap")
await logGas(await calcRoute(ctx, decimalStr('10'), 0.1, routes, pairs), ctx.sendParam(trader), "directly swap")
// console.log(tx.events['OrderHistory']);
var tx = await logGas(await calcRoute(ctx, decimalStr('10'), 0.1, routes, pairs), ctx.sendParam(trader), "directly swap")
console.log(tx.transactionHash);
var a_DODO = await ctx.DODO.methods.balanceOf(trader).call()
var a_USDT = await ctx.USDT.methods.balanceOf(trader).call()
console.log("After DODO:" + fromWei(a_DODO, 'ether') + "; USDT:" + fromWei(a_USDT, 'mwei'));
console.log("===============================================")
var c_DODO = await ctx.DODO.methods.balanceOf(ctx.DODOProxyV1.options.address).call()
var c_USDT = await ctx.USDT.methods.balanceOf(ctx.DODOProxyV1.options.address).call()
var c_a_CHI = await ctx.CHI.methods.balanceOf(ctx.DODOProxyV1.options.address).call()
console.log("Contract DODO:" + fromWei(c_DODO, 'ether') + "; USDT:" + fromWei(c_USDT, 'mwei'));
console.log("Contract gas Token Before:" + c_b_CHI + " ;After:" + c_a_CHI);
// console.log("USDT:" + a_USDT);
assert(a_USDT, "1994000");
});

View File

@@ -31,6 +31,7 @@ const SmartSwap = require(`${jsonPath2}DODOV1Proxy01.json`)
const SmartApprove = require(`${jsonPath2}DODOApprove.json`)
const DODOSellHelper = require(`${jsonPath2}DODOSellHelper.json`)
const WETH = require(`${jsonPath2}WETH9.json`)
const CHI = require(`${jsonPath2}ChiToken.json`)
/******/
import { getDefaultWeb3 } from './EVM';
@@ -55,6 +56,7 @@ export const DODO_MINE_READER_NAME = "DODOMineReader"
export const SMART_SWAP = "DODOV1Proxy01"
export const SMART_APPROVE = "DODOApprove"
export const DODO_SELL_HELPER = "DODOSellHelper"
export const CHI_TOKEN = "ChiToken"
/******/
var contractMap: { [name: string]: any } = {}
@@ -76,6 +78,7 @@ contractMap[DODO_MINE_READER_NAME] = DODOMineReader
contractMap[SMART_SWAP] = SmartSwap
contractMap[SMART_APPROVE] = SmartApprove
contractMap[DODO_SELL_HELPER] = DODOSellHelper
contractMap[CHI_TOKEN] = CHI
/******/
interface ContractJson {

View File

@@ -62,6 +62,8 @@ export class DODOContext {
USDT: Contract;
USDC: Contract;
WETH: Contract;
CHI: Contract;
GST2: Contract;
//pair
DODO_USDT: Contract;
USDT_USDC: Contract;
@@ -220,13 +222,23 @@ export class DODOContext {
contracts.SMART_APPROVE
);
//Gas Token
this.CHI = await contracts.newContract(
contracts.CHI_TOKEN
);
// await this.CHI.methods.mint(140).send(this.sendParam(this.Deployer));
this.DODOProxyV1 = await contracts.newContract(
contracts.SMART_SWAP,
[this.DODOApprove.options.address, this.DODOSellHelper.options.address, this.WETH.options.address]
[this.DODOApprove.options.address, this.DODOSellHelper.options.address, this.WETH.options.address, this.CHI.options.address]
// [this.DODOApprove.options.address, this.DODOSellHelper.options.address, this.WETH.options.address, "0x0000000000000000000000000000000000000000"]
);
await this.DODOApprove.methods.setDODOProxy(this.DODOProxyV1.options.address).send(this.sendParam(this.Deployer));
// await this.CHI.methods.transfer(this.DODOProxyV1.options.address,140).send(this.sendParam(this.Deployer));
console.log(log.blueText("[Init dodo context]"));
}