one-task.js 1.2 KB

123456789101112131415161718192021222324252627
  1. const OneTask = require('./task')
  2. const BinanceSpot = require("./binance/binance-spot");
  3. const BinanceKit = require("./binance/binance-kit");
  4. const IERC20 = require("./web3/ierc20-token");
  5. const Token = require("./token");
  6. const assert = require("assert");
  7. OneTask.baseInit = async function() {
  8. const config = this.context.config
  9. // 构造pairs
  10. const pairs = Object.values(config.tokenMapping).map(coin => `${coin}${config.baseIerc20Token.symbol}` )
  11. // 拉取binance exchange info
  12. const exchangeInfo = await BinanceSpot.exchangeInfo(pairs)
  13. assert.notEqual(exchangeInfo.symbols, undefined, 'exchange info 获取失败,请重启试试。')
  14. // 解析priceTickFilter
  15. const priceTickFilterMap = BinanceKit.parsePriceTickFilterMap(exchangeInfo.symbols)
  16. // 解析lotSizeFilter
  17. const lotSizeFilterMap = BinanceKit.parseLotSizeFilterMap(exchangeInfo.symbols)
  18. // 初始化IERC20的token
  19. await IERC20.batchInit(this.context, Object.keys(config.tokenMapping))
  20. // 初始化本地token,绑定binance与IERC20
  21. await Token.batchInit(this.context, this.logger, Object.keys(config.tokenMapping), priceTickFilterMap, lotSizeFilterMap)
  22. }
  23. module.exports = OneTask