const logger = require("../../utils/logger"); module.exports = class StateLib { async handlePosition(routerObj) { const block = routerObj.type === 'univ2' ? 'UNIV2DEX' : 'UNIV3DEX' const hash = routerObj.type === 'univ2' ? routerObj.factory : routerObj.router + '_router' try { // 拉取当前pull状态信息 const pullState = await History.findByHashOrBlockOrDataVague(block, hash, '', 0, 200) let nowPosition = 0 // 没有状态信息的情况 if (pullState.data.length === 0) { await History.appendOrUpdate(block, hash, {"next": 0}) } else { nowPosition = pullState.data[0].dataObj.next } return nowPosition } catch (e) { logger.error(`Pull state error, router: ${routerObj.router}, factory: ${routerObj.factory}`) logger.error(e) } return 0 } }