import { ContractAddresses, getContractAddressesForChainOrThrow } from '@0x/contract-addresses'; import { web3Factory } from 'dev-utils-deprecated'; import { ETH_TOKEN_ADDRESS, MetaTransaction, MetaTransactionV2 } from '@0x/protocol-utils'; import { ObjectMap } from '@0x/types'; import { BigNumber } from '@0x/utils'; import { providers } from 'ethersv5'; import { ZeroExFeeConfiguration } from '../src/config'; import { EXECUTE_META_TRANSACTION_EIP_712_TYPES, META_TRANSACTION_V1_EIP_712_TYPES, PERMIT_EIP_712_TYPES, } from '../src/core/constants'; import { toPairString } from '../src/core/pair_utils'; import { ExecuteMetaTransactionApproval, Fee, GaslessApprovalTypes, GaslessTypes, PermitApproval, } from '../src/core/types'; export const CHAIN_ID = 1337; export const RPC_URL = 'http://localhost:12000'; export const POSTGRES_PORT = 12001; export const REDIS_PORT = 12002; export const MAX_INT = new BigNumber(2).pow(256).minus(1); export const MAX_MINT_AMOUNT = new BigNumber('10000000000000000000000'); export const CONTRACT_ADDRESSES: ContractAddresses = getContractAddressesForChainOrThrow(CHAIN_ID); export { ETH_TOKEN_ADDRESS }; export const ZRX_TOKEN_ADDRESS = CONTRACT_ADDRESSES.zrxToken; export const WETH_TOKEN_ADDRESS = CONTRACT_ADDRESSES.etherToken; export const UNKNOWN_TOKEN_ADDRESS = '0xbe0037eaf2d64fe5529bca93c18c9702d3930376'; export const SYMBOL_TO_ADDRESS: ObjectMap = { ZRX: ZRX_TOKEN_ADDRESS, WETH: WETH_TOKEN_ADDRESS, ETH: ETH_TOKEN_ADDRESS, }; export const NULL_ADDRESS = '0x0000000000000000000000000000000000000000'; export const AFFILIATE_DATA_SELECTOR = '869584cd'; export const MATCHA_AFFILIATE_ADDRESS = '0x86003b044f70dac0abc80ac8957305b6370893ed'; export const MATCHA_AFFILIATE_ENCODED_PARTIAL_ORDER_DATA = '869584cd00000000000000000000000086003b044f70dac0abc80ac8957305b6370893ed0000000000000000000000000000000000000000000000'; export const WORKER_TEST_ADDRESS = '0xE834EC434DABA538cd1b9Fe1582052B880BD7e63'; export const WORKER_TEST_PRIVATE_KEY = '0xff12e391b79415e941a94de3bf3a9aee577aed0731e297d5cfa0b8a1e02fa1d0'; const ganacheConfigs = { rpcUrl: RPC_URL, shouldAllowUnlimitedContractSize: true, shouldUseFakeGasEstimate: false, shouldUseInProcessGanache: false, }; export const getProvider = () => { return web3Factory.getRpcProvider(ganacheConfigs); }; export const TEST_RFQ_ORDER_FILLED_EVENT_LOG: providers.Log = { address: '0xdef1c0ded9bec7f1a1670819833240f027b25eff', blockHash: '0x4c9f6904bd33f57204a8451de0891b448a7be065c1704e5b6905f382cb31b040', blockNumber: 11598119, data: '0xf70ec34e807d08cb83757ec62fffd9e0d22db6b4b97f46b78adcf47682c4cccb000000000000000000000000e89bc18cee87c9af8b472635a152704b96dafb8f0000000000000000000000009016cc2122b52ff5d9937c0c1422b78d7e81ceea0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000e44a075a36f7e7010000000000000000000000000000000000000000000000000000000000000000', logIndex: 74, removed: false, topics: ['0x829fa99d94dc4636925b38632e625736a614c154d55006b7ab6bea979c210c32'], transactionHash: '0x2b723137d9328fbe5e64bc2729ef5b1d846bb1d242ae2f3c016b9f70715aa818', transactionIndex: 70, }; export const TEST_RFQ_ORDER_FILLED_EVENT_TAKER_AMOUNT = new BigNumber('10000000000000000'); export const MOCK_EXECUTE_META_TRANSACTION_APPROVAL: ExecuteMetaTransactionApproval = { kind: GaslessApprovalTypes.ExecuteMetaTransaction, eip712: { types: { EIP712Domain: [ { name: 'name', type: 'string' }, { name: 'version', type: 'string' }, { name: 'verifyingContract', type: 'address' }, { name: 'salt', type: 'bytes32' }, ], ...EXECUTE_META_TRANSACTION_EIP_712_TYPES, }, primaryType: 'MetaTransaction', domain: { name: '(PoS) Tether USD', version: '1', verifyingContract: '0xc2132d05d31c914a87c6611c10748aeb04b58e8f', salt: '0x0000000000000000000000000000000000000000000000000000000000000089', }, message: { nonce: 1, from: WORKER_TEST_ADDRESS, functionSignature: '0x095ea7b3000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', }, }, }; export const MOCK_EXECUTE_META_TRANSACTION_CALLDATA = '0x0c53c51c000000000000000000000000e834ec434daba538cd1b9fe1582052b880bd7e6300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000044095ea7b3000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000'; export const MOCK_EXECUTE_META_TRANSACTION_HASH = '0xd5d4c8bc4d7e2cad306a43ebed4d8234dd3b2b8ca5b8d39bb94d21876bbe763a'; export const MOCK_PERMIT_APPROVAL: PermitApproval = { kind: GaslessApprovalTypes.Permit, eip712: { types: { EIP712Domain: [ { name: 'name', type: 'string' }, { name: 'version', type: 'string' }, { name: 'verifyingContract', type: 'address' }, { name: 'salt', type: 'bytes32' }, ], ...PERMIT_EIP_712_TYPES, }, primaryType: 'Permit', domain: { name: 'Fake Token', version: '1', verifyingContract: '0xdef1c0ded9bec7f1a1670819833240f027b25eff', salt: '0x5a17000000000000000000000000000000000000000000000000000000000000', }, message: { owner: '0x9016cc2122b52ff5d9937c0c1422b78d7e81ceea', spender: '0xdef1c0ded9bec7f1a1670819833240f027b25eff', value: '115792089237316195423570985008687907853269984665640564039457584007913129639935', nonce: 1, deadline: '123456789', }, }, }; export const MOCK_PERMIT_CALLDATA = '0xd505accf0000000000000000000000009016cc2122b52ff5d9937c0c1422b78d7e81ceea000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000075bcd15000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'; export const MOCK_PERMIT_HASH = '0x7b53f9afd28b4efb5b26f7c96e10628264c5c361a5a08313875ee01cdf5fc0c7'; export const MOCK_META_TRANSACTION = new MetaTransaction({ signer: '0xabcdef', sender: '0xabcdef', minGasPrice: new BigNumber(0), maxGasPrice: new BigNumber(1), expirationTimeSeconds: new BigNumber(2), salt: new BigNumber(3), callData: '0x1234567890', value: new BigNumber(4), feeToken: '0xdef', feeAmount: new BigNumber(5), chainId: 1, verifyingContract: '0xdef1', }); export const MOCK_META_TRANSACTION_V2 = new MetaTransactionV2({ signer: '0xabcdef', sender: '0xabcdef', expirationTimeSeconds: new BigNumber(2), salt: new BigNumber(3), callData: '0x1234567890', feeToken: '0xdef', fees: [ { recipient: '0x1', amount: new BigNumber(100), }, { recipient: '0x2', amount: new BigNumber(10), }, ], chainId: 1, verifyingContract: '0xdef1', }); export const MOCK_STORED_META_TRANSACTION = { signer: '0xabcdef', sender: '0xabcdef', minGasPrice: '0', maxGasPrice: '1', expirationTimeSeconds: '2', salt: '3', callData: '0x1234567890', value: '4', feeToken: '0xdef', feeAmount: '5', chainId: '1', verifyingContract: '0xdef1', }; export const MOCK_FEE: Fee = { type: 'fixed', token: '0xtoken', amount: new BigNumber(0), }; export const MOCK_STORED_FEE = { type: 'fixed', token: '0xtoken', amount: '0', details: undefined, }; export const MOCK_META_TRANSACTION_TRADE = { kind: GaslessTypes.MetaTransaction, eip712: { types: { EIP712Domain: [ { name: 'chainId', type: 'uint256' }, { name: 'name', type: 'string' }, { name: 'version', type: 'string' }, { name: 'verifyingContract', type: 'address' }, ], ...META_TRANSACTION_V1_EIP_712_TYPES, }, primaryType: 'MetaTransactionData' as unknown as 'MetaTransactionData', domain: { chainId: 1337, name: 'ZeroEx', version: '1.0.0', verifyingContract: '0x5315e44798395d4a952530d131249fe00f554565', }, message: { signer: '0x4c42a706410f1190f97d26fe3c999c90070aa40f', sender: '0x0000000000000000000000000000000000000000', minGasPrice: new BigNumber('1'), maxGasPrice: new BigNumber('4294967296'), expirationTimeSeconds: new BigNumber('9990868679'), salt: new BigNumber('32606650794224190000000000000000000000000000000000000000000000000000000000000'), callData: '0x415565b00000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f6190000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa8417400000000000000000000000000000000000000000000003635c9adc5dea000000000000000000000000000000000000000000000000000000000017b9e2a304f00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f6190000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa8417400000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000860000000000000000000000000000000000000000000000000000000000000086000000000000000000000000000000000000000000000000000000000000007c000000000000000000000000000000000000000000000003635c9adc5dea000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000052000000000000000000000000000000002517569636b5377617000000000000000000000000000000000000000000000000000000000000008570b55cfac18858000000000000000000000000000000000000000000000000000000039d0b9efd1000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000a5e0829caced8ffdd4de3c43696c57f7d7a678ff000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f6190000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa8417400000000000000000000000000000002517569636b53776170000000000000000000000000000000000000000000000000000000000000042b85aae7d60c42c00000000000000000000000000000000000000000000000000000001c94ebec37000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000a5e0829caced8ffdd4de3c43696c57f7d7a678ff000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000030000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f6190000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf12700000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa841740000000000000000000000000000000b446f646f5632000000000000000000000000000000000000000000000000000000000000000000042b85aae7d60c42c00000000000000000000000000000000000000000000000000000001db5156c13000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000400000000000000000000000005333eb1e32522f1893b7c9fea3c263807a02d561000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000012556e69737761705633000000000000000000000000000000000000000000000000000000000000190522016f044a05b0000000000000000000000000000000000000000000000000000000b08217af9400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000060000000000000000000000000e592427a0aece92de3edee1f18e0157c058615640000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012556e697377617056330000000000000000000000000000000000000000000000000000000000000c829100b78224ef50000000000000000000000000000000000000000000000000000000570157389f000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000427ceb23fd6bc0add59e62ac25578270cff1b9f6190001f41bfd67037b42cf73acf2047067bd4f2c47d9bfd6000bb82791bca1f2de4661ed88a30c99a7a9449aa841740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000020000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f619000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000869584cd0000000000000000000000008c611defbd838a13de3a5923693c58a7c1807c6300000000000000000000000000000000000000000000005b89d96b4863067a6b', value: new BigNumber('0'), feeToken: '0x0000000000000000000000000000000000000000', feeAmount: new BigNumber('0'), }, }, trade: new MetaTransaction({ signer: '0x4c42a706410f1190f97d26fe3c999c90070aa40f', sender: '0x0000000000000000000000000000000000000000', minGasPrice: new BigNumber('1'), maxGasPrice: new BigNumber('4294967296'), expirationTimeSeconds: new BigNumber('9990868679'), salt: new BigNumber('32606650794224190000000000000000000000000000000000000000000000000000000000000'), callData: '0x415565b00000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f6190000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa8417400000000000000000000000000000000000000000000003635c9adc5dea000000000000000000000000000000000000000000000000000000000017b9e2a304f00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f6190000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa8417400000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000860000000000000000000000000000000000000000000000000000000000000086000000000000000000000000000000000000000000000000000000000000007c000000000000000000000000000000000000000000000003635c9adc5dea000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000052000000000000000000000000000000002517569636b5377617000000000000000000000000000000000000000000000000000000000000008570b55cfac18858000000000000000000000000000000000000000000000000000000039d0b9efd1000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000a5e0829caced8ffdd4de3c43696c57f7d7a678ff000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f6190000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa8417400000000000000000000000000000002517569636b53776170000000000000000000000000000000000000000000000000000000000000042b85aae7d60c42c00000000000000000000000000000000000000000000000000000001c94ebec37000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000a5e0829caced8ffdd4de3c43696c57f7d7a678ff000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000030000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f6190000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf12700000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa841740000000000000000000000000000000b446f646f5632000000000000000000000000000000000000000000000000000000000000000000042b85aae7d60c42c00000000000000000000000000000000000000000000000000000001db5156c13000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000400000000000000000000000005333eb1e32522f1893b7c9fea3c263807a02d561000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000012556e69737761705633000000000000000000000000000000000000000000000000000000000000190522016f044a05b0000000000000000000000000000000000000000000000000000000b08217af9400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000060000000000000000000000000e592427a0aece92de3edee1f18e0157c058615640000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012556e697377617056330000000000000000000000000000000000000000000000000000000000000c829100b78224ef50000000000000000000000000000000000000000000000000000000570157389f000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000427ceb23fd6bc0add59e62ac25578270cff1b9f6190001f41bfd67037b42cf73acf2047067bd4f2c47d9bfd6000bb82791bca1f2de4661ed88a30c99a7a9449aa841740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000020000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f619000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000869584cd0000000000000000000000008c611defbd838a13de3a5923693c58a7c1807c6300000000000000000000000000000000000000000000005b89d96b4863067a6b', value: new BigNumber('0'), feeToken: '0x0000000000000000000000000000000000000000', feeAmount: new BigNumber('0'), }), }; export const MAINET_TOKEN_ADDRESSES = { USDC: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', WETH: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', USDT: '0xdac17f958d2ee523a2206206994597c13d831ec7', DAI: '0x6b175474e89094c44da98b954eedeac495271d0f', WBTC: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', SHIB: '0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce', AAVE: '0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9', }; export const ZERO_EX_FEE_CONFIGURATIONS = (() => { const zeroExFeeConfigurations: Map> = new Map(); const coinbaseMainnetConfiguration: ZeroExFeeConfiguration = { name: 'Coinbase', feeOn: 'volume', zeroEx: { feeRecipient: '0x4ea754349ace5303c82f0d1d491041e042f2ad22', billingType: 'on-chain', }, gas: { feeRecipient: null, billingType: 'off-chain', }, pairsFeeEntries: new Map([ [toPairString(MAINET_TOKEN_ADDRESSES.USDC, MAINET_TOKEN_ADDRESSES.WETH), new BigNumber(0.5)], [toPairString(MAINET_TOKEN_ADDRESSES.USDT, MAINET_TOKEN_ADDRESSES.WETH), new BigNumber(0.5)], ]), cartesianProductFeeEntries: [ { setA: new Set([MAINET_TOKEN_ADDRESSES.USDC, MAINET_TOKEN_ADDRESSES.USDT, MAINET_TOKEN_ADDRESSES.DAI]), setB: new Set([MAINET_TOKEN_ADDRESSES.WETH, MAINET_TOKEN_ADDRESSES.WBTC]), parameter: new BigNumber(0.7), }, { setA: new Set([MAINET_TOKEN_ADDRESSES.USDC, MAINET_TOKEN_ADDRESSES.USDT, MAINET_TOKEN_ADDRESSES.DAI]), setB: new Set([MAINET_TOKEN_ADDRESSES.USDC, MAINET_TOKEN_ADDRESSES.USDT, MAINET_TOKEN_ADDRESSES.DAI]), parameter: new BigNumber(0.1), }, ], tokensEntries: new Map([ [MAINET_TOKEN_ADDRESSES.WBTC, new BigNumber(1.5)], ['*', new BigNumber(0.05)], ]), }; const defaultMainnetConfiguration: ZeroExFeeConfiguration = { name: 'All', feeOn: 'integrator_share', zeroEx: { feeRecipient: '0x4ea754349ace5303c82f0d1d491041e042f2ad22', billingType: 'on-chain', }, gas: { feeRecipient: null, billingType: 'off-chain', }, pairsFeeEntries: new Map(), cartesianProductFeeEntries: [], tokensEntries: new Map([ [MAINET_TOKEN_ADDRESSES.WBTC, new BigNumber(1.2)], ['*', new BigNumber(0.03)], ]), }; zeroExFeeConfigurations.set('5062340f-87bb-4e1b-8029-eb8c03a9989c', new Map()); zeroExFeeConfigurations.get('5062340f-87bb-4e1b-8029-eb8c03a9989c')?.set(1, coinbaseMainnetConfiguration); zeroExFeeConfigurations.set('*', new Map()); zeroExFeeConfigurations.get('*')?.set(1, defaultMainnetConfiguration); return zeroExFeeConfigurations; })();