UNPKG

mev-inspect

Version:

A JS port of 'mev-inspect-py' optimised for ease of use.

84 lines 2.2 kB
import exchangeAbi from '../../abi/bancorV2.js'; function isValid(event) { return event.name === 'Conversion'; } function getPoolCalls() { return []; } function processPoolCalls(_results, address) { return { factoryAddress: address.toLowerCase(), assets: [], }; } function parse(pool, event) { const { values, transactionFrom, transactionHash: hash, transactionIndex, gasUsed, logIndex, address, blockHash, blockNumber, } = event; const fromToken = normalizeAsset(values.fromToken.toLowerCase()); const toToken = normalizeAsset(values.toToken.toLowerCase()); const fromAmount = values.fromAmount; const toAmount = values.toAmount; const trader = values.trader.toLowerCase(); const from = trader; const to = trader; const assetIn = fromToken; const assetOut = toToken; const amountIn = fromAmount; const amountOut = toAmount; return { contract: { address, protocol: { abi: 'BancorV2', factory: pool.factory, }, }, block: { hash: blockHash, number: blockNumber, }, transaction: { from: transactionFrom.toLowerCase(), hash, index: transactionIndex, gasUsed, }, event: { address: address.toLowerCase(), logIndex, }, from, to, assetIn: { type: 'erc20', address: assetIn, }, amountIn, assetOut: { type: 'erc20', address: assetOut, }, amountOut, metadata: {}, }; } function normalizeAsset(asset) { if (asset == '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee') { return '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'; } return asset; } const CLASSIFIER = { swap: { type: 'swap', protocol: 'BancorV2', abi: exchangeAbi, isValid, parse, pool: { getCalls: getPoolCalls, processCalls: processPoolCalls, }, }, }; export default CLASSIFIER; //# sourceMappingURL=bancorV2.js.map