DODO Token

This commit is contained in:
mingda
2020-09-17 15:04:11 +08:00
parent 8774547124
commit d64d204031
8 changed files with 1620 additions and 15 deletions

View File

@@ -13,6 +13,7 @@ if (process.env["COVERAGE"]) {
const CloneFactory = require(`${jsonPath}CloneFactory.json`)
const DODO = require(`${jsonPath}DODO.json`)
const DODOZoo = require(`${jsonPath}DODOZoo.json`)
// const DODOWild = require(`${jsonPath}DODOWild.json`)
const DODOEthProxy = require(`${jsonPath}DODOEthProxy.json`)
const WETH = require(`${jsonPath}WETH9.json`)
const TestERC20 = require(`${jsonPath}TestERC20.json`)
@@ -20,6 +21,8 @@ const NaiveOracle = require(`${jsonPath}NaiveOracle.json`)
const DODOLpToken = require(`${jsonPath}DODOLpToken.json`)
const Uniswap = require(`${jsonPath}UniswapV2Pair.json`)
const UniswapArbitrageur = require(`${jsonPath}UniswapArbitrageur.json`)
const DODOToken = require(`${jsonPath}DODOToken.json`)
const LockedTokenVault = require(`${jsonPath}LockedTokenVault.json`)
import { getDefaultWeb3 } from './EVM';
import { Contract } from 'web3-eth-contract';
@@ -30,10 +33,13 @@ export const TEST_ERC20_CONTRACT_NAME = "TestERC20"
export const NAIVE_ORACLE_CONTRACT_NAME = "NaiveOracle"
export const DODO_LP_TOKEN_CONTRACT_NAME = "DODOLpToken"
export const DODO_ZOO_CONTRACT_NAME = "DOOZoo"
export const DODO_WILD_CONTRACT_NAME = "DOOWild"
export const DODO_ETH_PROXY_CONTRACT_NAME = "DODOEthProxy"
export const WETH_CONTRACT_NAME = "WETH"
export const UNISWAP_CONTRACT_NAME = "Uniswap"
export const UNISWAP_ARBITRAGEUR_CONTRACT_NAME = "UniswapArbitrageur"
export const DODO_TOKEN_CONTRACT_NAME = "DODOToken"
export const LOCKED_TOKEN_VAULT_CONTRACT_NAME = "LockedTokenVault"
var contractMap: { [name: string]: any } = {}
contractMap[CLONE_FACTORY_CONTRACT_NAME] = CloneFactory
@@ -46,6 +52,8 @@ contractMap[DODO_ETH_PROXY_CONTRACT_NAME] = DODOEthProxy
contractMap[WETH_CONTRACT_NAME] = WETH
contractMap[UNISWAP_CONTRACT_NAME] = Uniswap
contractMap[UNISWAP_ARBITRAGEUR_CONTRACT_NAME] = UniswapArbitrageur
contractMap[DODO_TOKEN_CONTRACT_NAME] = DODOToken
contractMap[LOCKED_TOKEN_VAULT_CONTRACT_NAME] = LockedTokenVault
interface ContractJson {
abi: any;

View File

@@ -3,9 +3,25 @@ function calculateSlippage(buyPercentage: number) {
console.log(buyPercentage, ":", ((1 / (1 - buyPercentage)) * k - k) * 100, "%")
}
function calculateLoss(priceGap: number) {
const feeRate = 0.0025
const k = 0.1
let amountPartial = Math.sqrt(priceGap / k + 1) - 1
let loss = amountPartial * (priceGap - feeRate * 2)
console.log(priceGap, ":", loss * 100, "%")
}
// calculateSlippage(0.01)
// calculateSlippage(0.05)
// calculateSlippage(0.1)
// calculateSlippage(0.2)
// calculateSlippage(0.5)
// calculateSlippage(0.7)
// calculateLoss(0.006)
// calculateLoss(0.007)
// calculateLoss(0.008)
// calculateLoss(0.009)
// calculateLoss(0.01)
// calculateLoss(0.02)
// calculateLoss(0.03)