UNPKG

mev-inspect

Version:

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

1,347 lines 57.3 kB
const abi = [ { inputs: [ { internalType: 'address', name: 'zeroExAddress', type: 'address' }, { internalType: 'contract IEtherTokenV06', name: 'weth', type: 'address', }, { internalType: 'contract IStaking', name: 'staking', type: 'address' }, { internalType: 'contract FeeCollectorController', name: 'feeCollectorController', type: 'address', }, { internalType: 'uint32', name: 'protocolFeeMultiplier', type: 'uint32' }, ], stateMutability: 'nonpayable', type: 'constructor', }, { anonymous: false, inputs: [ { indexed: false, internalType: 'bytes32', name: 'orderHash', type: 'bytes32', }, { indexed: false, internalType: 'address', name: 'maker', type: 'address', }, { indexed: false, internalType: 'address', name: 'taker', type: 'address', }, { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address', }, { indexed: false, internalType: 'address', name: 'makerToken', type: 'address', }, { indexed: false, internalType: 'address', name: 'takerToken', type: 'address', }, { indexed: false, internalType: 'uint128', name: 'takerTokenFilledAmount', type: 'uint128', }, { indexed: false, internalType: 'uint128', name: 'makerTokenFilledAmount', type: 'uint128', }, { indexed: false, internalType: 'uint128', name: 'takerTokenFeeFilledAmount', type: 'uint128', }, { indexed: false, internalType: 'uint256', name: 'protocolFeePaid', type: 'uint256', }, { indexed: false, internalType: 'bytes32', name: 'pool', type: 'bytes32', }, ], name: 'LimitOrderFilled', type: 'event', }, { anonymous: false, inputs: [ { indexed: false, internalType: 'bytes32', name: 'orderHash', type: 'bytes32', }, { indexed: false, internalType: 'address', name: 'maker', type: 'address', }, ], name: 'OrderCancelled', type: 'event', }, { anonymous: false, inputs: [ { indexed: false, internalType: 'address', name: 'maker', type: 'address', }, { indexed: false, internalType: 'address', name: 'signer', type: 'address', }, { indexed: false, internalType: 'bool', name: 'allowed', type: 'bool' }, ], name: 'OrderSignerRegistered', type: 'event', }, { anonymous: false, inputs: [ { indexed: false, internalType: 'address', name: 'maker', type: 'address', }, { indexed: false, internalType: 'address', name: 'makerToken', type: 'address', }, { indexed: false, internalType: 'address', name: 'takerToken', type: 'address', }, { indexed: false, internalType: 'uint256', name: 'minValidSalt', type: 'uint256', }, ], name: 'PairCancelledLimitOrders', type: 'event', }, { anonymous: false, inputs: [ { indexed: false, internalType: 'address', name: 'maker', type: 'address', }, { indexed: false, internalType: 'address', name: 'makerToken', type: 'address', }, { indexed: false, internalType: 'address', name: 'takerToken', type: 'address', }, { indexed: false, internalType: 'uint256', name: 'minValidSalt', type: 'uint256', }, ], name: 'PairCancelledRfqOrders', type: 'event', }, { anonymous: false, inputs: [ { indexed: false, internalType: 'bytes32', name: 'orderHash', type: 'bytes32', }, { indexed: false, internalType: 'address', name: 'maker', type: 'address', }, { indexed: false, internalType: 'address', name: 'taker', type: 'address', }, { indexed: false, internalType: 'address', name: 'makerToken', type: 'address', }, { indexed: false, internalType: 'address', name: 'takerToken', type: 'address', }, { indexed: false, internalType: 'uint128', name: 'takerTokenFilledAmount', type: 'uint128', }, { indexed: false, internalType: 'uint128', name: 'makerTokenFilledAmount', type: 'uint128', }, { indexed: false, internalType: 'bytes32', name: 'pool', type: 'bytes32', }, ], name: 'RfqOrderFilled', type: 'event', }, { anonymous: false, inputs: [ { indexed: false, internalType: 'address', name: 'origin', type: 'address', }, { indexed: false, internalType: 'address[]', name: 'addrs', type: 'address[]', }, { indexed: false, internalType: 'bool', name: 'allowed', type: 'bool' }, ], name: 'RfqOrderOriginsAllowed', type: 'event', }, { inputs: [], name: 'EIP712_DOMAIN_SEPARATOR', outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'FEATURE_NAME', outputs: [{ internalType: 'string', name: '', type: 'string' }], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'FEATURE_VERSION', outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'PROTOCOL_FEE_MULTIPLIER', outputs: [{ internalType: 'uint32', name: '', type: 'uint32' }], stateMutability: 'view', type: 'function', }, { inputs: [ { components: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint128', name: 'makerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerTokenFeeAmount', type: 'uint128', }, { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'address', name: 'sender', type: 'address' }, { internalType: 'address', name: 'feeRecipient', type: 'address' }, { internalType: 'bytes32', name: 'pool', type: 'bytes32' }, { internalType: 'uint64', name: 'expiry', type: 'uint64' }, { internalType: 'uint256', name: 'salt', type: 'uint256' }, ], internalType: 'struct LibNativeOrder.LimitOrder', name: 'order', type: 'tuple', }, { components: [ { internalType: 'enum LibSignature.SignatureType', name: 'signatureType', type: 'uint8', }, { internalType: 'uint8', name: 'v', type: 'uint8' }, { internalType: 'bytes32', name: 'r', type: 'bytes32' }, { internalType: 'bytes32', name: 's', type: 'bytes32' }, ], internalType: 'struct LibSignature.Signature', name: 'signature', type: 'tuple', }, { internalType: 'uint128', name: 'takerTokenFillAmount', type: 'uint128', }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'address', name: 'sender', type: 'address' }, ], name: '_fillLimitOrder', outputs: [ { internalType: 'uint128', name: 'takerTokenFilledAmount', type: 'uint128', }, { internalType: 'uint128', name: 'makerTokenFilledAmount', type: 'uint128', }, ], stateMutability: 'payable', type: 'function', }, { inputs: [ { components: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint128', name: 'makerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerAmount', type: 'uint128' }, { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'address', name: 'txOrigin', type: 'address' }, { internalType: 'bytes32', name: 'pool', type: 'bytes32' }, { internalType: 'uint64', name: 'expiry', type: 'uint64' }, { internalType: 'uint256', name: 'salt', type: 'uint256' }, ], internalType: 'struct LibNativeOrder.RfqOrder', name: 'order', type: 'tuple', }, { components: [ { internalType: 'enum LibSignature.SignatureType', name: 'signatureType', type: 'uint8', }, { internalType: 'uint8', name: 'v', type: 'uint8' }, { internalType: 'bytes32', name: 'r', type: 'bytes32' }, { internalType: 'bytes32', name: 's', type: 'bytes32' }, ], internalType: 'struct LibSignature.Signature', name: 'signature', type: 'tuple', }, { internalType: 'uint128', name: 'takerTokenFillAmount', type: 'uint128', }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'bool', name: 'useSelfBalance', type: 'bool' }, { internalType: 'address', name: 'recipient', type: 'address' }, ], name: '_fillRfqOrder', outputs: [ { internalType: 'uint128', name: 'takerTokenFilledAmount', type: 'uint128', }, { internalType: 'uint128', name: 'makerTokenFilledAmount', type: 'uint128', }, ], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { components: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint128', name: 'makerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerTokenFeeAmount', type: 'uint128', }, { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'address', name: 'sender', type: 'address' }, { internalType: 'address', name: 'feeRecipient', type: 'address' }, { internalType: 'bytes32', name: 'pool', type: 'bytes32' }, { internalType: 'uint64', name: 'expiry', type: 'uint64' }, { internalType: 'uint256', name: 'salt', type: 'uint256' }, ], internalType: 'struct LibNativeOrder.LimitOrder[]', name: 'orders', type: 'tuple[]', }, ], name: 'batchCancelLimitOrders', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'contract IERC20TokenV06[]', name: 'makerTokens', type: 'address[]', }, { internalType: 'contract IERC20TokenV06[]', name: 'takerTokens', type: 'address[]', }, { internalType: 'uint256[]', name: 'minValidSalts', type: 'uint256[]' }, ], name: 'batchCancelPairLimitOrders', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'contract IERC20TokenV06[]', name: 'makerTokens', type: 'address[]', }, { internalType: 'contract IERC20TokenV06[]', name: 'takerTokens', type: 'address[]', }, { internalType: 'uint256[]', name: 'minValidSalts', type: 'uint256[]' }, ], name: 'batchCancelPairLimitOrdersWithSigner', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'contract IERC20TokenV06[]', name: 'makerTokens', type: 'address[]', }, { internalType: 'contract IERC20TokenV06[]', name: 'takerTokens', type: 'address[]', }, { internalType: 'uint256[]', name: 'minValidSalts', type: 'uint256[]' }, ], name: 'batchCancelPairRfqOrders', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'contract IERC20TokenV06[]', name: 'makerTokens', type: 'address[]', }, { internalType: 'contract IERC20TokenV06[]', name: 'takerTokens', type: 'address[]', }, { internalType: 'uint256[]', name: 'minValidSalts', type: 'uint256[]' }, ], name: 'batchCancelPairRfqOrdersWithSigner', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { components: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint128', name: 'makerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerAmount', type: 'uint128' }, { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'address', name: 'txOrigin', type: 'address' }, { internalType: 'bytes32', name: 'pool', type: 'bytes32' }, { internalType: 'uint64', name: 'expiry', type: 'uint64' }, { internalType: 'uint256', name: 'salt', type: 'uint256' }, ], internalType: 'struct LibNativeOrder.RfqOrder[]', name: 'orders', type: 'tuple[]', }, ], name: 'batchCancelRfqOrders', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { components: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint128', name: 'makerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerTokenFeeAmount', type: 'uint128', }, { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'address', name: 'sender', type: 'address' }, { internalType: 'address', name: 'feeRecipient', type: 'address' }, { internalType: 'bytes32', name: 'pool', type: 'bytes32' }, { internalType: 'uint64', name: 'expiry', type: 'uint64' }, { internalType: 'uint256', name: 'salt', type: 'uint256' }, ], internalType: 'struct LibNativeOrder.LimitOrder[]', name: 'orders', type: 'tuple[]', }, { components: [ { internalType: 'enum LibSignature.SignatureType', name: 'signatureType', type: 'uint8', }, { internalType: 'uint8', name: 'v', type: 'uint8' }, { internalType: 'bytes32', name: 'r', type: 'bytes32' }, { internalType: 'bytes32', name: 's', type: 'bytes32' }, ], internalType: 'struct LibSignature.Signature[]', name: 'signatures', type: 'tuple[]', }, ], name: 'batchGetLimitOrderRelevantStates', outputs: [ { components: [ { internalType: 'bytes32', name: 'orderHash', type: 'bytes32' }, { internalType: 'enum LibNativeOrder.OrderStatus', name: 'status', type: 'uint8', }, { internalType: 'uint128', name: 'takerTokenFilledAmount', type: 'uint128', }, ], internalType: 'struct LibNativeOrder.OrderInfo[]', name: 'orderInfos', type: 'tuple[]', }, { internalType: 'uint128[]', name: 'actualFillableTakerTokenAmounts', type: 'uint128[]', }, { internalType: 'bool[]', name: 'isSignatureValids', type: 'bool[]' }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { components: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint128', name: 'makerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerAmount', type: 'uint128' }, { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'address', name: 'txOrigin', type: 'address' }, { internalType: 'bytes32', name: 'pool', type: 'bytes32' }, { internalType: 'uint64', name: 'expiry', type: 'uint64' }, { internalType: 'uint256', name: 'salt', type: 'uint256' }, ], internalType: 'struct LibNativeOrder.RfqOrder[]', name: 'orders', type: 'tuple[]', }, { components: [ { internalType: 'enum LibSignature.SignatureType', name: 'signatureType', type: 'uint8', }, { internalType: 'uint8', name: 'v', type: 'uint8' }, { internalType: 'bytes32', name: 'r', type: 'bytes32' }, { internalType: 'bytes32', name: 's', type: 'bytes32' }, ], internalType: 'struct LibSignature.Signature[]', name: 'signatures', type: 'tuple[]', }, ], name: 'batchGetRfqOrderRelevantStates', outputs: [ { components: [ { internalType: 'bytes32', name: 'orderHash', type: 'bytes32' }, { internalType: 'enum LibNativeOrder.OrderStatus', name: 'status', type: 'uint8', }, { internalType: 'uint128', name: 'takerTokenFilledAmount', type: 'uint128', }, ], internalType: 'struct LibNativeOrder.OrderInfo[]', name: 'orderInfos', type: 'tuple[]', }, { internalType: 'uint128[]', name: 'actualFillableTakerTokenAmounts', type: 'uint128[]', }, { internalType: 'bool[]', name: 'isSignatureValids', type: 'bool[]' }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { components: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint128', name: 'makerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerTokenFeeAmount', type: 'uint128', }, { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'address', name: 'sender', type: 'address' }, { internalType: 'address', name: 'feeRecipient', type: 'address' }, { internalType: 'bytes32', name: 'pool', type: 'bytes32' }, { internalType: 'uint64', name: 'expiry', type: 'uint64' }, { internalType: 'uint256', name: 'salt', type: 'uint256' }, ], internalType: 'struct LibNativeOrder.LimitOrder', name: 'order', type: 'tuple', }, ], name: 'cancelLimitOrder', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint256', name: 'minValidSalt', type: 'uint256' }, ], name: 'cancelPairLimitOrders', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint256', name: 'minValidSalt', type: 'uint256' }, ], name: 'cancelPairLimitOrdersWithSigner', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint256', name: 'minValidSalt', type: 'uint256' }, ], name: 'cancelPairRfqOrders', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint256', name: 'minValidSalt', type: 'uint256' }, ], name: 'cancelPairRfqOrdersWithSigner', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { components: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint128', name: 'makerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerAmount', type: 'uint128' }, { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'address', name: 'txOrigin', type: 'address' }, { internalType: 'bytes32', name: 'pool', type: 'bytes32' }, { internalType: 'uint64', name: 'expiry', type: 'uint64' }, { internalType: 'uint256', name: 'salt', type: 'uint256' }, ], internalType: 'struct LibNativeOrder.RfqOrder', name: 'order', type: 'tuple', }, ], name: 'cancelRfqOrder', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { components: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint128', name: 'makerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerTokenFeeAmount', type: 'uint128', }, { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'address', name: 'sender', type: 'address' }, { internalType: 'address', name: 'feeRecipient', type: 'address' }, { internalType: 'bytes32', name: 'pool', type: 'bytes32' }, { internalType: 'uint64', name: 'expiry', type: 'uint64' }, { internalType: 'uint256', name: 'salt', type: 'uint256' }, ], internalType: 'struct LibNativeOrder.LimitOrder', name: 'order', type: 'tuple', }, { components: [ { internalType: 'enum LibSignature.SignatureType', name: 'signatureType', type: 'uint8', }, { internalType: 'uint8', name: 'v', type: 'uint8' }, { internalType: 'bytes32', name: 'r', type: 'bytes32' }, { internalType: 'bytes32', name: 's', type: 'bytes32' }, ], internalType: 'struct LibSignature.Signature', name: 'signature', type: 'tuple', }, { internalType: 'uint128', name: 'takerTokenFillAmount', type: 'uint128', }, ], name: 'fillLimitOrder', outputs: [ { internalType: 'uint128', name: 'takerTokenFilledAmount', type: 'uint128', }, { internalType: 'uint128', name: 'makerTokenFilledAmount', type: 'uint128', }, ], stateMutability: 'payable', type: 'function', }, { inputs: [ { components: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint128', name: 'makerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerTokenFeeAmount', type: 'uint128', }, { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'address', name: 'sender', type: 'address' }, { internalType: 'address', name: 'feeRecipient', type: 'address' }, { internalType: 'bytes32', name: 'pool', type: 'bytes32' }, { internalType: 'uint64', name: 'expiry', type: 'uint64' }, { internalType: 'uint256', name: 'salt', type: 'uint256' }, ], internalType: 'struct LibNativeOrder.LimitOrder', name: 'order', type: 'tuple', }, { components: [ { internalType: 'enum LibSignature.SignatureType', name: 'signatureType', type: 'uint8', }, { internalType: 'uint8', name: 'v', type: 'uint8' }, { internalType: 'bytes32', name: 'r', type: 'bytes32' }, { internalType: 'bytes32', name: 's', type: 'bytes32' }, ], internalType: 'struct LibSignature.Signature', name: 'signature', type: 'tuple', }, { internalType: 'uint128', name: 'takerTokenFillAmount', type: 'uint128', }, ], name: 'fillOrKillLimitOrder', outputs: [ { internalType: 'uint128', name: 'makerTokenFilledAmount', type: 'uint128', }, ], stateMutability: 'payable', type: 'function', }, { inputs: [ { components: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint128', name: 'makerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerAmount', type: 'uint128' }, { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'address', name: 'txOrigin', type: 'address' }, { internalType: 'bytes32', name: 'pool', type: 'bytes32' }, { internalType: 'uint64', name: 'expiry', type: 'uint64' }, { internalType: 'uint256', name: 'salt', type: 'uint256' }, ], internalType: 'struct LibNativeOrder.RfqOrder', name: 'order', type: 'tuple', }, { components: [ { internalType: 'enum LibSignature.SignatureType', name: 'signatureType', type: 'uint8', }, { internalType: 'uint8', name: 'v', type: 'uint8' }, { internalType: 'bytes32', name: 'r', type: 'bytes32' }, { internalType: 'bytes32', name: 's', type: 'bytes32' }, ], internalType: 'struct LibSignature.Signature', name: 'signature', type: 'tuple', }, { internalType: 'uint128', name: 'takerTokenFillAmount', type: 'uint128', }, ], name: 'fillOrKillRfqOrder', outputs: [ { internalType: 'uint128', name: 'makerTokenFilledAmount', type: 'uint128', }, ], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { components: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint128', name: 'makerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerAmount', type: 'uint128' }, { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'address', name: 'txOrigin', type: 'address' }, { internalType: 'bytes32', name: 'pool', type: 'bytes32' }, { internalType: 'uint64', name: 'expiry', type: 'uint64' }, { internalType: 'uint256', name: 'salt', type: 'uint256' }, ], internalType: 'struct LibNativeOrder.RfqOrder', name: 'order', type: 'tuple', }, { components: [ { internalType: 'enum LibSignature.SignatureType', name: 'signatureType', type: 'uint8', }, { internalType: 'uint8', name: 'v', type: 'uint8' }, { internalType: 'bytes32', name: 'r', type: 'bytes32' }, { internalType: 'bytes32', name: 's', type: 'bytes32' }, ], internalType: 'struct LibSignature.Signature', name: 'signature', type: 'tuple', }, { internalType: 'uint128', name: 'takerTokenFillAmount', type: 'uint128', }, ], name: 'fillRfqOrder', outputs: [ { internalType: 'uint128', name: 'takerTokenFilledAmount', type: 'uint128', }, { internalType: 'uint128', name: 'makerTokenFilledAmount', type: 'uint128', }, ], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { components: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint128', name: 'makerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerTokenFeeAmount', type: 'uint128', }, { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'address', name: 'sender', type: 'address' }, { internalType: 'address', name: 'feeRecipient', type: 'address' }, { internalType: 'bytes32', name: 'pool', type: 'bytes32' }, { internalType: 'uint64', name: 'expiry', type: 'uint64' }, { internalType: 'uint256', name: 'salt', type: 'uint256' }, ], internalType: 'struct LibNativeOrder.LimitOrder', name: 'order', type: 'tuple', }, ], name: 'getLimitOrderHash', outputs: [{ internalType: 'bytes32', name: 'orderHash', type: 'bytes32' }], stateMutability: 'view', type: 'function', }, { inputs: [ { components: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint128', name: 'makerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerTokenFeeAmount', type: 'uint128', }, { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'address', name: 'sender', type: 'address' }, { internalType: 'address', name: 'feeRecipient', type: 'address' }, { internalType: 'bytes32', name: 'pool', type: 'bytes32' }, { internalType: 'uint64', name: 'expiry', type: 'uint64' }, { internalType: 'uint256', name: 'salt', type: 'uint256' }, ], internalType: 'struct LibNativeOrder.LimitOrder', name: 'order', type: 'tuple', }, ], name: 'getLimitOrderInfo', outputs: [ { components: [ { internalType: 'bytes32', name: 'orderHash', type: 'bytes32' }, { internalType: 'enum LibNativeOrder.OrderStatus', name: 'status', type: 'uint8', }, { internalType: 'uint128', name: 'takerTokenFilledAmount', type: 'uint128', }, ], internalType: 'struct LibNativeOrder.OrderInfo', name: 'orderInfo', type: 'tuple', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { components: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint128', name: 'makerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerTokenFeeAmount', type: 'uint128', }, { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'address', name: 'taker', type: 'address' }, { internalType: 'address', name: 'sender', type: 'address' }, { internalType: 'address', name: 'feeRecipient', type: 'address' }, { internalType: 'bytes32', name: 'pool', type: 'bytes32' }, { internalType: 'uint64', name: 'expiry', type: 'uint64' }, { internalType: 'uint256', name: 'salt', type: 'uint256' }, ], internalType: 'struct LibNativeOrder.LimitOrder', name: 'order', type: 'tuple', }, { components: [ { internalType: 'enum LibSignature.SignatureType', name: 'signatureType', type: 'uint8', }, { internalType: 'uint8', name: 'v', type: 'uint8' }, { internalType: 'bytes32', name: 'r', type: 'bytes32' }, { internalType: 'bytes32', name: 's', type: 'bytes32' }, ], internalType: 'struct LibSignature.Signature', name: 'signature', type: 'tuple', }, ], name: 'getLimitOrderRelevantState', outputs: [ { components: [ { internalType: 'bytes32', name: 'orderHash', type: 'bytes32' }, { internalType: 'enum LibNativeOrder.OrderStatus', name: 'status', type: 'uint8', }, { internalType: 'uint128', name: 'takerTokenFilledAmount', type: 'uint128', }, ], internalType: 'struct LibNativeOrder.OrderInfo', name: 'orderInfo', type: 'tuple', }, { internalType: 'uint128', name: 'actualFillableTakerTokenAmount', type: 'uint128', }, { internalType: 'bool', name: 'isSignatureValid', type: 'bool' }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'getProtocolFeeMultiplier', outputs: [{ internalType: 'uint32', name: 'multiplier', type: 'uint32' }], stateMutability: 'view', type: 'function', }, { inputs: [ { components: [ { internalType: 'contract IERC20TokenV06', name: 'makerToken', type: 'address', }, { internalType: 'contract IERC20TokenV06', name: 'takerToken', type: 'address', }, { internalType: 'uint128', name: 'makerAmount', type: 'uint128' }, { internalType: 'uint128', name: 'takerAmount', type: 'uint128' }, { internalType: 'address', name: 'maker', type: 'address' }, { internalType: 'address', name: 'taker', type: 'address' }