Files
protocol/apps-node/rfq-api/test/constants.ts

317 lines
25 KiB
TypeScript

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<string> = {
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<string, Map<number, ZeroExFeeConfiguration>> = 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;
})();