Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | 3x 3x 3x 3x 3x 3x 8x 1x 7x 7x 7x 13x 2x 5x 5x 9x 2x 3x 3x 5x 2x 1x | const { INVALID_PARAMS } = require('./constants');
const BYTECODES = require('../../tx/applyTx/ercBytecode.js');
const CODE_ERC20 = `0x${BYTECODES.ERC20_BYTECODE.toString('hex')}`;
const CODE_ERC721 = `0x${BYTECODES.ERC721_BYTECODE.toString('hex')}`;
const CODE_ERC1948 = `0x${BYTECODES.ERC1948_BYTECODE.toString('hex')}`;
/* eslint-disable no-throw-literal */
module.exports = async (bridgeState, contractAddr, tag) => {
if (tag !== 'latest') {
throw {
code: INVALID_PARAMS,
message: 'Only call for latest block is supported',
};
}
const tokenAddr = contractAddr.toLowerCase();
let len = bridgeState.tokens.erc20.length;
for (let i = 0; i < len; i += 1) {
if (bridgeState.tokens.erc20[i].toLowerCase() === tokenAddr) {
return CODE_ERC20;
}
}
len = bridgeState.tokens.erc721.length;
for (let i = 0; i < len; i += 1) {
if (bridgeState.tokens.erc721[i].toLowerCase() === tokenAddr) {
return CODE_ERC721;
}
}
len = bridgeState.tokens.erc1948.length;
for (let i = 0; i < len; i += 1) {
if (bridgeState.tokens.erc1948[i].toLowerCase() === tokenAddr) {
return CODE_ERC1948;
}
}
throw {
code: INVALID_PARAMS,
message: 'Contract not found',
};
};
/* eslint-enable */
|