const OneTask = require('./task') const BinanceSpot = require("./binance/binance-spot"); const BinanceKit = require("./binance/binance-kit"); const IERC20 = require("./web3/ierc20-token"); const Token = require("./token"); const assert = require("assert"); OneTask.baseInit = async function() { const config = this.context.config // 构造pairs const pairs = Object.values(config.tokenMapping).map(coin => `${coin}${config.baseIerc20Token.symbol}` ) // 拉取binance exchange info const exchangeInfo = await BinanceSpot.exchangeInfo(pairs) assert.notEqual(exchangeInfo.symbols, undefined, 'exchange info 获取失败,请重启试试。') // 解析priceTickFilter const priceTickFilterMap = BinanceKit.parsePriceTickFilterMap(exchangeInfo.symbols) // 解析lotSizeFilter const lotSizeFilterMap = BinanceKit.parseLotSizeFilterMap(exchangeInfo.symbols) // 初始化IERC20的token await IERC20.batchInit(this.context, Object.keys(config.tokenMapping)) // 初始化本地token,绑定binance与IERC20 await Token.batchInit(this.context, this.logger, Object.keys(config.tokenMapping), priceTickFilterMap, lotSizeFilterMap) } module.exports = OneTask