|
|
@@ -0,0 +1,26 @@
|
|
|
+const OneTask = require('./task')
|
|
|
+const Context = require("./context");
|
|
|
+const Config = require("../config/config");
|
|
|
+const BinanceSpot = require("./binance/binance-spot");
|
|
|
+const BinanceKit = require("./binance/binance-kit");
|
|
|
+const IERC20 = require("./web3/ierc20-token");
|
|
|
+const Token = require("./token");
|
|
|
+
|
|
|
+OneTask.baseInit = async function() {
|
|
|
+ this.context = new Context()
|
|
|
+
|
|
|
+ // 获取lotSizeFilter
|
|
|
+ const lotSizeFilterMap = await (async () => {
|
|
|
+ const pairs = Object.values(Config.tokenMapping).map(coin => `${coin}${Config.baseToken.symbol}` )
|
|
|
+ const exchangeInfo = await BinanceSpot.exchangeInfo(pairs)
|
|
|
+ return BinanceKit.parseLotSizeFilterMap(exchangeInfo.symbols)
|
|
|
+ })()
|
|
|
+
|
|
|
+ // 初始化IERC20的token
|
|
|
+ await IERC20.batchInit(this.context, Object.keys(Config.tokenMapping))
|
|
|
+
|
|
|
+ // 初始化本地token,绑定binance与IERC20
|
|
|
+ await Token.batchInit(this.context, Object.keys(Config.tokenMapping), lotSizeFilterMap)
|
|
|
+}
|
|
|
+
|
|
|
+module.exports = OneTask
|