const log = require('j7/log'); const bcutils = require('j7/bcutils'); const utils = require('j7/utils'); class NftTransferProcess extends BaseService { async start(conn, event) { const {err, row} = await conn.ormSelectOne( 't_nft_transfer', [ ['txhash', event['transactionHash']], ['log_index', event['logIndex']], ] ); if (err) { log.error('processEvent:' + err); throw 'processEvent:' + err; } if (!row) { const returnValues = event['returnValues']; const {err} = await conn.insert( 't_nft_transfer', [ ['token_id', returnValues['tokenId']], ['txhash', event['transactionHash']], ['block_number', event['blockNumber']], ['log_index', event['logIndex']], ['_from', bcutils.toNormalAddress(returnValues['from'])], ['_to', bcutils.toNormalAddress(returnValues['to'])], ['raw_data', utils.jsonEncode(event)], ['createtime', utils.getUtcTime()], ['modifytime', utils.getUtcTime()], ] ); if (err) { log.error('processEvent:' + err); throw 'processEvent:' + err; } } }; } module.exports = NftTransferProcess;