| 12345678910111213141516171819202122232425262728 |
- 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
- }
- }
|