UNPKG

@plasma-fi/sdk

Version:

🛠 An SDK for building dapp on PlasmaSwap.

3,362 lines (3,354 loc) • 230 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var JSBI = _interopDefault(require('jsbi')); var Big$2 = _interopDefault(require('big.js')); var invariant = _interopDefault(require('tiny-invariant')); var toFormat = _interopDefault(require('toformat')); var address = require('@ethersproject/address'); var warning = _interopDefault(require('tiny-warning')); var _Decimal = _interopDefault(require('decimal.js-light')); var solidity = require('@ethersproject/solidity'); var keccak256 = require('@ethersproject/keccak256'); var bytes = require('@ethersproject/bytes'); var bignumber = require('@ethersproject/bignumber'); var abi = require('@ethersproject/abi'); var erc20 = [ { constant: true, inputs: [ ], name: "name", outputs: [ { name: "", type: "string" } ], payable: false, stateMutability: "view", type: "function" }, { constant: false, inputs: [ { name: "_spender", type: "address" }, { name: "_value", type: "uint256" } ], name: "approve", outputs: [ { name: "", type: "bool" } ], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: true, inputs: [ ], name: "totalSupply", outputs: [ { name: "", type: "uint256" } ], payable: false, stateMutability: "view", type: "function" }, { constant: false, inputs: [ { name: "_from", type: "address" }, { name: "_to", type: "address" }, { name: "_value", type: "uint256" } ], name: "transferFrom", outputs: [ { name: "", type: "bool" } ], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: true, inputs: [ ], name: "decimals", outputs: [ { name: "", type: "uint8" } ], payable: false, stateMutability: "view", type: "function" }, { constant: true, inputs: [ { name: "_owner", type: "address" } ], name: "balanceOf", outputs: [ { name: "balance", type: "uint256" } ], payable: false, stateMutability: "view", type: "function" }, { constant: true, inputs: [ ], name: "symbol", outputs: [ { name: "", type: "string" } ], payable: false, stateMutability: "view", type: "function" }, { constant: false, inputs: [ { name: "_to", type: "address" }, { name: "_value", type: "uint256" } ], name: "transfer", outputs: [ { name: "", type: "bool" } ], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: true, inputs: [ { name: "_owner", type: "address" }, { name: "_spender", type: "address" } ], name: "allowance", outputs: [ { name: "", type: "uint256" } ], payable: false, stateMutability: "view", type: "function" }, { payable: true, stateMutability: "payable", type: "fallback" }, { anonymous: false, inputs: [ { indexed: true, name: "owner", type: "address" }, { indexed: true, name: "spender", type: "address" }, { indexed: false, name: "value", type: "uint256" } ], name: "Approval", type: "event" }, { anonymous: false, inputs: [ { indexed: true, name: "from", type: "address" }, { indexed: true, name: "to", type: "address" }, { indexed: false, name: "value", type: "uint256" } ], name: "Transfer", type: "event" } ]; var swapPair = [ { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "owner", type: "address" }, { indexed: true, internalType: "address", name: "spender", type: "address" }, { indexed: false, internalType: "uint256", name: "value", type: "uint256" } ], name: "Approval", type: "event" }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "sender", type: "address" }, { indexed: false, internalType: "uint256", name: "amount0", type: "uint256" }, { indexed: false, internalType: "uint256", name: "amount1", type: "uint256" }, { indexed: true, internalType: "address", name: "to", type: "address" } ], name: "Burn", type: "event" }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "sender", type: "address" }, { indexed: false, internalType: "uint256", name: "amount0", type: "uint256" }, { indexed: false, internalType: "uint256", name: "amount1", type: "uint256" } ], name: "Mint", type: "event" }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "sender", type: "address" }, { indexed: false, internalType: "uint256", name: "amount0In", type: "uint256" }, { indexed: false, internalType: "uint256", name: "amount1In", type: "uint256" }, { indexed: false, internalType: "uint256", name: "amount0Out", type: "uint256" }, { indexed: false, internalType: "uint256", name: "amount1Out", type: "uint256" }, { indexed: true, internalType: "address", name: "to", type: "address" } ], name: "Swap", type: "event" }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint112", name: "reserve0", type: "uint112" }, { indexed: false, internalType: "uint112", name: "reserve1", type: "uint112" } ], name: "Sync", type: "event" }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "from", type: "address" }, { indexed: true, internalType: "address", name: "to", type: "address" }, { indexed: false, internalType: "uint256", name: "value", type: "uint256" } ], name: "Transfer", type: "event" }, { constant: true, inputs: [ ], name: "DOMAIN_SEPARATOR", outputs: [ { internalType: "bytes32", name: "", type: "bytes32" } ], payable: false, stateMutability: "view", type: "function" }, { constant: true, inputs: [ ], name: "MINIMUM_LIQUIDITY", outputs: [ { internalType: "uint256", name: "", type: "uint256" } ], payable: false, stateMutability: "pure", type: "function" }, { constant: true, inputs: [ ], name: "PERMIT_TYPEHASH", outputs: [ { internalType: "bytes32", name: "", type: "bytes32" } ], payable: false, stateMutability: "pure", type: "function" }, { constant: true, inputs: [ { internalType: "address", name: "owner", type: "address" }, { internalType: "address", name: "spender", type: "address" } ], name: "allowance", outputs: [ { internalType: "uint256", name: "", type: "uint256" } ], payable: false, stateMutability: "view", type: "function" }, { constant: false, inputs: [ { internalType: "address", name: "spender", type: "address" }, { internalType: "uint256", name: "value", type: "uint256" } ], name: "approve", outputs: [ { internalType: "bool", name: "", type: "bool" } ], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: true, inputs: [ { internalType: "address", name: "owner", type: "address" } ], name: "balanceOf", outputs: [ { internalType: "uint256", name: "", type: "uint256" } ], payable: false, stateMutability: "view", type: "function" }, { constant: false, inputs: [ { internalType: "address", name: "to", type: "address" } ], name: "burn", outputs: [ { internalType: "uint256", name: "amount0", type: "uint256" }, { internalType: "uint256", name: "amount1", type: "uint256" } ], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: true, inputs: [ ], name: "decimals", outputs: [ { internalType: "uint8", name: "", type: "uint8" } ], payable: false, stateMutability: "pure", type: "function" }, { constant: true, inputs: [ ], name: "factory", outputs: [ { internalType: "address", name: "", type: "address" } ], payable: false, stateMutability: "view", type: "function" }, { constant: true, inputs: [ ], name: "getReserves", outputs: [ { internalType: "uint112", name: "reserve0", type: "uint112" }, { internalType: "uint112", name: "reserve1", type: "uint112" }, { internalType: "uint32", name: "blockTimestampLast", type: "uint32" } ], payable: false, stateMutability: "view", type: "function" }, { constant: false, inputs: [ { internalType: "address", name: "", type: "address" }, { internalType: "address", name: "", type: "address" } ], name: "initialize", outputs: [ ], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: true, inputs: [ ], name: "kLast", outputs: [ { internalType: "uint256", name: "", type: "uint256" } ], payable: false, stateMutability: "view", type: "function" }, { constant: false, inputs: [ { internalType: "address", name: "to", type: "address" } ], name: "mint", outputs: [ { internalType: "uint256", name: "liquidity", type: "uint256" } ], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: true, inputs: [ ], name: "name", outputs: [ { internalType: "string", name: "", type: "string" } ], payable: false, stateMutability: "pure", type: "function" }, { constant: true, inputs: [ { internalType: "address", name: "owner", type: "address" } ], name: "nonces", outputs: [ { internalType: "uint256", name: "", type: "uint256" } ], payable: false, stateMutability: "view", type: "function" }, { constant: false, inputs: [ { internalType: "address", name: "owner", type: "address" }, { internalType: "address", name: "spender", type: "address" }, { internalType: "uint256", name: "value", type: "uint256" }, { internalType: "uint256", name: "deadline", type: "uint256" }, { internalType: "uint8", name: "v", type: "uint8" }, { internalType: "bytes32", name: "r", type: "bytes32" }, { internalType: "bytes32", name: "s", type: "bytes32" } ], name: "permit", outputs: [ ], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: true, inputs: [ ], name: "price0CumulativeLast", outputs: [ { internalType: "uint256", name: "", type: "uint256" } ], payable: false, stateMutability: "view", type: "function" }, { constant: true, inputs: [ ], name: "price1CumulativeLast", outputs: [ { internalType: "uint256", name: "", type: "uint256" } ], payable: false, stateMutability: "view", type: "function" }, { constant: false, inputs: [ { internalType: "address", name: "to", type: "address" } ], name: "skim", outputs: [ ], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: false, inputs: [ { internalType: "uint256", name: "amount0Out", type: "uint256" }, { internalType: "uint256", name: "amount1Out", type: "uint256" }, { internalType: "address", name: "to", type: "address" }, { internalType: "bytes", name: "data", type: "bytes" } ], name: "swap", outputs: [ ], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: true, inputs: [ ], name: "symbol", outputs: [ { internalType: "string", name: "", type: "string" } ], payable: false, stateMutability: "pure", type: "function" }, { constant: false, inputs: [ ], name: "sync", outputs: [ ], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: true, inputs: [ ], name: "token0", outputs: [ { internalType: "address", name: "", type: "address" } ], payable: false, stateMutability: "view", type: "function" }, { constant: true, inputs: [ ], name: "token1", outputs: [ { internalType: "address", name: "", type: "address" } ], payable: false, stateMutability: "view", type: "function" }, { constant: true, inputs: [ ], name: "totalSupply", outputs: [ { internalType: "uint256", name: "", type: "uint256" } ], payable: false, stateMutability: "view", type: "function" }, { constant: false, inputs: [ { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "value", type: "uint256" } ], name: "transfer", outputs: [ { internalType: "bool", name: "", type: "bool" } ], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: false, inputs: [ { internalType: "address", name: "from", type: "address" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "value", type: "uint256" } ], name: "transferFrom", outputs: [ { internalType: "bool", name: "", type: "bool" } ], payable: false, stateMutability: "nonpayable", type: "function" } ]; var swapRouter = [ { inputs: [ ], name: "WETH", outputs: [ { internalType: "address", name: "", type: "address" } ], stateMutability: "pure", type: "function" }, { inputs: [ { internalType: "address", name: "tokenA", type: "address" }, { internalType: "address", name: "tokenB", type: "address" }, { internalType: "uint256", name: "amountADesired", type: "uint256" }, { internalType: "uint256", name: "amountBDesired", type: "uint256" }, { internalType: "uint256", name: "amountAMin", type: "uint256" }, { internalType: "uint256", name: "amountBMin", type: "uint256" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" } ], name: "addLiquidity", outputs: [ { internalType: "uint256", name: "amountA", type: "uint256" }, { internalType: "uint256", name: "amountB", type: "uint256" }, { internalType: "uint256", name: "liquidity", type: "uint256" } ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { internalType: "address", name: "token", type: "address" }, { internalType: "uint256", name: "amountTokenDesired", type: "uint256" }, { internalType: "uint256", name: "amountTokenMin", type: "uint256" }, { internalType: "uint256", name: "amountETHMin", type: "uint256" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" } ], name: "addLiquidityETH", outputs: [ { internalType: "uint256", name: "amountToken", type: "uint256" }, { internalType: "uint256", name: "amountETH", type: "uint256" }, { internalType: "uint256", name: "liquidity", type: "uint256" } ], stateMutability: "payable", type: "function" }, { inputs: [ ], name: "factory", outputs: [ { internalType: "address", name: "", type: "address" } ], stateMutability: "pure", type: "function" }, { inputs: [ { internalType: "uint256", name: "amountOut", type: "uint256" }, { internalType: "uint256", name: "reserveIn", type: "uint256" }, { internalType: "uint256", name: "reserveOut", type: "uint256" } ], name: "getAmountIn", outputs: [ { internalType: "uint256", name: "amountIn", type: "uint256" } ], stateMutability: "pure", type: "function" }, { inputs: [ { internalType: "uint256", name: "amountIn", type: "uint256" }, { internalType: "uint256", name: "reserveIn", type: "uint256" }, { internalType: "uint256", name: "reserveOut", type: "uint256" } ], name: "getAmountOut", outputs: [ { internalType: "uint256", name: "amountOut", type: "uint256" } ], stateMutability: "pure", type: "function" }, { inputs: [ { internalType: "uint256", name: "amountOut", type: "uint256" }, { internalType: "address[]", name: "path", type: "address[]" } ], name: "getAmountsIn", outputs: [ { internalType: "uint256[]", name: "amounts", type: "uint256[]" } ], stateMutability: "view", type: "function" }, { inputs: [ { internalType: "uint256", name: "amountIn", type: "uint256" }, { internalType: "address[]", name: "path", type: "address[]" } ], name: "getAmountsOut", outputs: [ { internalType: "uint256[]", name: "amounts", type: "uint256[]" } ], stateMutability: "view", type: "function" }, { inputs: [ { internalType: "uint256", name: "amountA", type: "uint256" }, { internalType: "uint256", name: "reserveA", type: "uint256" }, { internalType: "uint256", name: "reserveB", type: "uint256" } ], name: "quote", outputs: [ { internalType: "uint256", name: "amountB", type: "uint256" } ], stateMutability: "pure", type: "function" }, { inputs: [ { internalType: "address", name: "tokenA", type: "address" }, { internalType: "address", name: "tokenB", type: "address" }, { internalType: "uint256", name: "liquidity", type: "uint256" }, { internalType: "uint256", name: "amountAMin", type: "uint256" }, { internalType: "uint256", name: "amountBMin", type: "uint256" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" } ], name: "removeLiquidity", outputs: [ { internalType: "uint256", name: "amountA", type: "uint256" }, { internalType: "uint256", name: "amountB", type: "uint256" } ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { internalType: "address", name: "token", type: "address" }, { internalType: "uint256", name: "liquidity", type: "uint256" }, { internalType: "uint256", name: "amountTokenMin", type: "uint256" }, { internalType: "uint256", name: "amountETHMin", type: "uint256" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" } ], name: "removeLiquidityETH", outputs: [ { internalType: "uint256", name: "amountToken", type: "uint256" }, { internalType: "uint256", name: "amountETH", type: "uint256" } ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { internalType: "address", name: "token", type: "address" }, { internalType: "uint256", name: "liquidity", type: "uint256" }, { internalType: "uint256", name: "amountTokenMin", type: "uint256" }, { internalType: "uint256", name: "amountETHMin", type: "uint256" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" } ], name: "removeLiquidityETHSupportingFeeOnTransferTokens", outputs: [ { internalType: "uint256", name: "amountETH", type: "uint256" } ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { internalType: "address", name: "token", type: "address" }, { internalType: "uint256", name: "liquidity", type: "uint256" }, { internalType: "uint256", name: "amountTokenMin", type: "uint256" }, { internalType: "uint256", name: "amountETHMin", type: "uint256" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" }, { internalType: "bool", name: "approveMax", type: "bool" }, { internalType: "uint8", name: "v", type: "uint8" }, { internalType: "bytes32", name: "r", type: "bytes32" }, { internalType: "bytes32", name: "s", type: "bytes32" } ], name: "removeLiquidityETHWithPermit", outputs: [ { internalType: "uint256", name: "amountToken", type: "uint256" }, { internalType: "uint256", name: "amountETH", type: "uint256" } ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { internalType: "address", name: "token", type: "address" }, { internalType: "uint256", name: "liquidity", type: "uint256" }, { internalType: "uint256", name: "amountTokenMin", type: "uint256" }, { internalType: "uint256", name: "amountETHMin", type: "uint256" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" }, { internalType: "bool", name: "approveMax", type: "bool" }, { internalType: "uint8", name: "v", type: "uint8" }, { internalType: "bytes32", name: "r", type: "bytes32" }, { internalType: "bytes32", name: "s", type: "bytes32" } ], name: "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", outputs: [ { internalType: "uint256", name: "amountETH", type: "uint256" } ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { internalType: "address", name: "tokenA", type: "address" }, { internalType: "address", name: "tokenB", type: "address" }, { internalType: "uint256", name: "liquidity", type: "uint256" }, { internalType: "uint256", name: "amountAMin", type: "uint256" }, { internalType: "uint256", name: "amountBMin", type: "uint256" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" }, { internalType: "bool", name: "approveMax", type: "bool" }, { internalType: "uint8", name: "v", type: "uint8" }, { internalType: "bytes32", name: "r", type: "bytes32" }, { internalType: "bytes32", name: "s", type: "bytes32" } ], name: "removeLiquidityWithPermit", outputs: [ { internalType: "uint256", name: "amountA", type: "uint256" }, { internalType: "uint256", name: "amountB", type: "uint256" } ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { internalType: "uint256", name: "amountOut", type: "uint256" }, { internalType: "address[]", name: "path", type: "address[]" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" } ], name: "swapETHForExactTokens", outputs: [ { internalType: "uint256[]", name: "amounts", type: "uint256[]" } ], stateMutability: "payable", type: "function" }, { inputs: [ { internalType: "uint256", name: "amountOutMin", type: "uint256" }, { internalType: "address[]", name: "path", type: "address[]" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" } ], name: "swapExactETHForTokens", outputs: [ { internalType: "uint256[]", name: "amounts", type: "uint256[]" } ], stateMutability: "payable", type: "function" }, { inputs: [ { internalType: "uint256", name: "amountOutMin", type: "uint256" }, { internalType: "address[]", name: "path", type: "address[]" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" } ], name: "swapExactETHForTokensSupportingFeeOnTransferTokens", outputs: [ ], stateMutability: "payable", type: "function" }, { inputs: [ { internalType: "uint256", name: "amountIn", type: "uint256" }, { internalType: "uint256", name: "amountOutMin", type: "uint256" }, { internalType: "address[]", name: "path", type: "address[]" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" } ], name: "swapExactTokensForETH", outputs: [ { internalType: "uint256[]", name: "amounts", type: "uint256[]" } ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { internalType: "uint256", name: "amountIn", type: "uint256" }, { internalType: "uint256", name: "amountOutMin", type: "uint256" }, { internalType: "address[]", name: "path", type: "address[]" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" } ], name: "swapExactTokensForETHSupportingFeeOnTransferTokens", outputs: [ ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { internalType: "uint256", name: "amountIn", type: "uint256" }, { internalType: "uint256", name: "amountOutMin", type: "uint256" }, { internalType: "address[]", name: "path", type: "address[]" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" } ], name: "swapExactTokensForTokens", outputs: [ { internalType: "uint256[]", name: "amounts", type: "uint256[]" } ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { internalType: "uint256", name: "amountIn", type: "uint256" }, { internalType: "uint256", name: "amountOutMin", type: "uint256" }, { internalType: "address[]", name: "path", type: "address[]" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" } ], name: "swapExactTokensForTokensSupportingFeeOnTransferTokens", outputs: [ ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { internalType: "uint256", name: "amountOut", type: "uint256" }, { internalType: "uint256", name: "amountInMax", type: "uint256" }, { internalType: "address[]", name: "path", type: "address[]" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" } ], name: "swapTokensForExactETH", outputs: [ { internalType: "uint256[]", name: "amounts", type: "uint256[]" } ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { internalType: "uint256", name: "amountOut", type: "uint256" }, { internalType: "uint256", name: "amountInMax", type: "uint256" }, { internalType: "address[]", name: "path", type: "address[]" }, { internalType: "address", name: "to", type: "address" }, { internalType: "uint256", name: "deadline", type: "uint256" } ], name: "swapTokensForExactTokens", outputs: [ { internalType: "uint256[]", name: "amounts", type: "uint256[]" } ], stateMutability: "nonpayable", type: "function" } ]; var zeroExProxy = [ { anonymous: false, inputs: [ { name: "orderHash", type: "bytes32", indexed: false }, { name: "maker", type: "address", indexed: false }, { name: "expiry", type: "uint64", indexed: false } ], name: "ExpiredRfqOrder", outputs: [ ], type: "event" }, { anonymous: false, inputs: [ { name: "orderHash", type: "bytes32", indexed: false }, { name: "maker", type: "address", indexed: false }, { name: "taker", type: "address", indexed: false }, { name: "feeRecipient", type: "address", indexed: false }, { name: "makerToken", type: "address", indexed: false }, { name: "takerToken", type: "address", indexed: false }, { name: "takerTokenFilledAmount", type: "uint128", indexed: false }, { name: "makerTokenFilledAmount", type: "uint128", indexed: false }, { name: "takerTokenFeeFilledAmount", type: "uint128", indexed: false }, { name: "protocolFeePaid", type: "uint256", indexed: false }, { name: "pool", type: "bytes32", indexed: false } ], name: "LimitOrderFilled", outputs: [ ], type: "event" }, { anonymous: false, inputs: [ { name: "inputToken", type: "address", indexed: false }, { name: "outputToken", type: "address", indexed: false }, { name: "inputTokenAmount", type: "uint256", indexed: false }, { name: "outputTokenAmount", type: "uint256", indexed: false }, { name: "provider", type: "address", indexed: false }, { name: "recipient", type: "address", indexed: false } ], name: "LiquidityProviderSwap", outputs: [ ], type: "event" }, { anonymous: false, inputs: [ { name: "hash", type: "bytes32", indexed: false }, { name: "selector", type: "bytes4", indexed: true }, { name: "signer", type: "address", indexed: false }, { name: "sender", type: "address", indexed: false } ], name: "MetaTransactionExecuted", outputs: [ ], type: "event" }, { anonymous: false, inputs: [ { name: "caller", type: "address", indexed: false }, { name: "migrator", type: "address", indexed: false }, { name: "newOwner", type: "address", indexed: false } ], name: "Migrated", outputs: [ ], type: "event" }, { anonymous: false, inputs: [ { name: "orderHash", type: "bytes32", indexed: false }, { name: "maker", type: "address", indexed: false } ], name: "OrderCancelled", outputs: [ ], type: "event" }, { anonymous: false, inputs: [ { name: "maker", type: "address", indexed: false }, { name: "signer", type: "address", indexed: false }, { name: "allowed", type: "bool", indexed: false } ], name: "OrderSignerRegistered", outputs: [ ], type: "event" }, { anonymous: false, inputs: [ { name: "orderHash", type: "bytes32", indexed: false }, { name: "maker", type: "address", indexed: false }, { name: "taker", type: "address", indexed: false }, { name: "makerToken", type: "address", indexed: false }, { name: "takerToken", type: "address", indexed: false }, { name: "takerTokenFilledAmount", type: "uint128", indexed: false }, { name: "makerTokenFilledAmount", type: "uint128", indexed: false } ], name: "OtcOrderFilled", outputs: [ ], type: "event" }, { anonymous: false, inputs: [ { name: "previousOwner", type: "address", indexed: true }, { name: "newOwner", type: "address", indexed: true } ], name: "OwnershipTransferred", outputs: [ ], type: "event" }, { anonymous: false, inputs: [ { name: "maker", type: "address", indexed: false }, { name: "makerToken", type: "address", indexed: false }, { name: "takerToken", type: "address", indexed: false }, { name: "minValidSalt", type: "uint256", indexed: false } ], name: "PairCancelledLimitOrders", outputs: [ ], type: "event" }, { anonymous: false, inputs: [ { name: "maker", type: "address", indexed: false }, { name: "makerToken", type: "address", indexed: false }, { name: "takerToken", type: "address", indexed: false }, { name: "minValidSalt", type: "uint256", indexed: false } ], name: "PairCancelledRfqOrders", outputs: [ ], type: "event" }, { anonymous: false, inputs: [ { name: "selector", type: "bytes4", indexed: true }, { name: "oldImpl", type: "address", indexed: false }, { name: "newImpl", type: "address", indexed: false } ], name: "ProxyFunctionUpdated", outputs: [ ], type: "event" }, { anonymous: false, inputs: [ { name: "quoteSigner", type: "address", indexed: false } ], name: "QuoteSignerUpdated", outputs: [ ], type: "event" }, { anonymous: false, inputs: [ { name: "orderHash", type: "bytes32", indexed: false }, { name: "maker", type: "address", indexed: false }, { name: "taker", type: "address", indexed: false }, { name: "makerToken", type: "address", indexed: false }, { name: "takerToken", type: "address", indexed: false }, { name: "takerTokenFilledAmount", type: "uint128", indexed: false }, { name: "makerTokenFilledAmount", type: "uint128", indexed: false }, { name: "pool", type: "bytes32", indexed: false } ], name: "RfqOrderFilled", outputs: [ ], type: "event" }, { anonymous: false, inputs: [ { name: "origin", type: "address", indexed: false }, { name: "addrs", type: "address[]", indexed: false }, { name: "allowed", type: "bool", indexed: false } ], name: "RfqOrderOriginsAllowed", outputs: [ ], type: "event" }, { anonymous: false, inputs: [ { name: "taker", type: "address", indexed: true }, { name: "inputToken", type: "address", indexed: false }, { name: "outputToken", type: "address", indexed: false }, { name: "inputTokenAmount", type: "uint256", indexed: false }, { name: "outputTokenAmount", type: "uint256", indexed: false } ], name: "TransformedERC20", outputs: [ ], type: "event" }, { anonymous: false, inputs: [ { name: "transformerDeployer", type: "address", indexed: false } ], name: "TransformerDeployerUpdated", outputs: [ ], type: "event" }, { inputs: [ { name: "order", type: "tuple", components: [ { name: "makerToken", type: "address" }, { name: "takerToken", type: "address" }, { name: "makerAmount", type: "uint128" }, { name: "takerAmount", type: "uint128" }, { name: "takerTokenFeeAmount", type: "uint128" }, { name: "maker", type: "address" }, { name: "taker", type: "address" }, { name: "sender", type: "address" }, { name: "feeRecipient", type: "address" }, { name: "pool", type: "bytes32" }, { name: "expiry", type: "uint64" }, { name: "salt", type: "uint256" } ] }, { name: "signature", type: "tuple", components: [ { name: "signatureType", type: "uint8" }, { name: "v", type: "uint8" }, { name: "r", type: "bytes32" }, { name: "s", type: "bytes32" } ] }, { name: "takerTokenFillAmount", type: "uint128" }, { name: "taker", type: "address" }, { name: "sender", type: "address" } ], name: "_fillLimitOrder", outputs: [ { name: "takerTokenFilledAmount", type: "uint128" }, { name: "makerTokenFilledAmount", type: "uint128" } ], stateMutability: "payable", type: "function" }, { inputs: [ { name: "order", type: "tuple", components: [ { name: "makerToken", type: "address" }, { name: "takerToken", type: "address" }, { name: "makerAmount", type: "uint128" }, { name: "takerAmount", type: "uint128" }, { name: "maker", type: "address" }, { name: "taker", type: "address" }, { name: "txOrigin", type: "address" }, { name: "pool", type: "bytes32" }, { name: "expiry", type: "uint64" }, { name: "salt", type: "uint256" } ] }, { name: "signature", type: "tuple", components: [ { name: "signatureType", type: "uint8" }, { name: "v", type: "uint8" }, { name: "r", type: "bytes32" }, { name: "s", type: "bytes32" } ] }, { name: "takerTokenFillAmount", type: "uint128" }, { name: "taker", type: "address" } ], name: "_fillRfqOrder", outputs: [ { name: "takerTokenFilledAmount", type: "uint128" }, { name: "makerTokenFilledAmount", type: "uint128" } ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { name: "args", type: "tuple", components: [ { name: "taker", type: "address" }, { name: "inputToken", type: "address" }, { name: "outputToken", type: "address" }, { name: "inputTokenAmount", type: "uint256" }, { name: "minOutputTokenAmount", type: "uint256" }, { name: "transformations", type: "tuple[]", components: [ { name: "deploymentNonce", type: "uint32" }, { name: "data", type: "bytes" } ] } ] } ], name: "_transformERC20", outputs: [ { name: "outputTokenAmount", type: "uint256" } ], stateMutability: "payable", type: "function" }, { inputs: [ { name: "orders", type: "tuple[]", components: [ { name: "makerToken", type: "address" }, { name: "takerToken", type: "address" }, { name: "makerAmount", type: "uint128" }, { name: "takerAmount", type: "uint128" }, { name: "takerTokenFeeAmount", type: "uint128" }, { name: "maker", type: "address" }, { name: "taker", type: "address" }, { name: "sender", type: "address" }, { name: "feeRecipient", type: "address" }, { name: "pool", type: "bytes32" }, { name: "expiry", type: "uint64" }, { name: "salt", type: "uint256" } ] } ], name: "batchCancelLimitOrders", outputs: [ ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { name: "makerTokens", type: "address[]" }, { name: "takerTokens", type: "address[]" }, { name: "minValidSalts", type: "uint256[]" } ], name: "batchCancelPairLimitOrders", outputs: [ ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { name: "maker", type: "address" }, { name: "makerTokens", type: "address[]" }, { name: "takerTokens", type: "address[]" }, { name: "minValidSalts", type: "uint256[]" } ], name: "batchCancelPairLimitOrdersWithSigner", outputs: [ ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { name: "makerTokens", type: "address[]" }, { name: "takerTokens", type: "address[]" }, { name: "minValidSalts", type: "uint256[]" } ], name: "batchCancelPairRfqOrders", outputs: [ ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { name: "maker", type: "address" }, { name: "makerTokens", type: "address[]" }, { name: "takerTokens", type: "address[]" }, { name: "minValidSalts", type: "uint256[]" } ], name: "batchCancelPairRfqOrdersWithSigner", outputs: [ ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { name: "orders", type: "tuple[]", components: [ { name: "makerToken", type: "address" }, { name: "takerToken", type: "address" }, { name: "makerAmount", type: "uint128" }, { name: "takerAmount", type: "uint128" }, { name: "maker", type: "address" }, { name: "taker", type: "address" }, { name: "txOrigin", type: "address" }, { name: "pool", type: "bytes32" }, { name: "expiry", type: "uint64" }, { name: "salt", type: "uint256" } ] } ], name: "batchCancelRfqOrders", outputs: [ ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { name: "mtxs", type: "tuple[]", components: [ { name: "signer", type: "address" }, { name: "sender", type: "address" }, { name: "minGasPrice", type: "uint256" }, { name: "maxGasPrice", type: "uint256" }, { name: "expirationTimeSeconds", type: "uint256" }, { name: "salt", type: "uint256" }, { name: "callData", type: "bytes" }, { name: "value", type: "uint256" }, { name: "feeToken", type: "address" }, { name: "feeAmount", type: "uint256" } ] }, { name: "signatures", type: "tuple[]", components: [ { name: "signatureType", type: "uint8" }, { name: "v", type: "uint8" }, { name: "r", type: "bytes32" }, { name: "s", type: "bytes32" } ] } ], name: "batchExecuteMetaTransactions", outputs: [ { name: "returnResults", type: "bytes[]" } ], stateMutability: "payable", type: "function" }, { inputs: [ { name: "fillData", type: "tuple", components: [ { name: "inputToken", type: "address" }, { name: "outputToken", type: "address" }, { name: "sellAmount", type: "uint256" }, { name: "calls", type: "tuple[]", components: [ { name: "selector", type: "bytes4" }, { name: "sellAmount", type: "uint256" }, { name: "data", type: "bytes" } ] } ] }, { name: "minBuyAmount", type: "uint256" } ], name: "batchFill", outputs: [ { name: "outputTokenAmount", type: "uint256" } ], stateMutability: "payable", type: "function" }, { inputs: [ { name: "orders", type: "tuple[]", components: [ { name: "makerToken", type: "address" }, { name: "takerToken", type: "address" }, { name: "makerAmount", type: "uint128" }, { name: "takerAmount", type: "uint128" }, { name: "takerTokenFeeAmount", type: "uint128" }, { name: "maker", type: "address" }, { name: "taker", type: "address" }, { name: "sender", type: "address" }, { name: "feeRecipient", type: "address" }, { name: "pool", type: "bytes32" }, { name: "expiry", type: "uint64" }, { name: "salt", type: "uint256" } ] }, { name: "signatures", type: "tuple[]", components: [ { name: "signatureType", type: "uint8" }, { name: "v", type: "uint8" }, { name: "r", type: "bytes32" }, { name: "s", type: "bytes32" } ] }, { name: "takerTokenFillAmounts", type: "uint128[]" }, { name: "revertIfIncomplete", type: "bool" } ], name: "batchFillLimitOrders", outputs: [ { name: "takerTokenFilledAmounts", type: "uint128[]" }, { name: "makerTokenFilledAmounts", type: "uint128[]" } ], stateMutability: "payable", type: "function" }, { inputs: [ { name: "orders", type: "tuple[]", components: [ { name: "makerToken", type: "address" }, { name: "takerToken", type: "address" }, { name: "makerAmount", type: "uint128" }, { name: "takerAmount", type: "uint128" }, { name: "maker", type: "address" }, { name: "taker", type: "address" }, { name: "txOrigin", type: "address" }, { name: "pool", type: "bytes32" }, { name: "expiry", type: "uint64" }, { name: "salt", type: "uint256" } ] }, { name: "signatures", type: "tuple[]", components: [ { name: "signatureType", type: "uint8" }, { name: "v", type: "uint8" }, { name: "r", type: "bytes32" }, { name: "s", type: "bytes32" } ] }, { name: "takerTokenFillAmounts", type: "uint128[]" }, { name: "revertIfIncomplete", type: "bool" } ], name: "batchFillRfqOrders", outputs: [ { name: "takerTokenFilledAmounts", type: "uint128[]" }, { name: "makerTokenFilledAmounts", type: "uint128[]" } ], stateMutability: "nonpayable", type: "function" }, { inputs: [ { name: "orders", type: "tuple[]", components: [ { name: "makerToken", type: "address" }, { name: "takerToken", type: "address" }, { name: "makerAmount", type: "uint128" }, { name: "takerAmount", type: "uint128" }, { name: "takerTokenFeeAmount", type: "uint128" }, { name: "maker", type: "address" }, { name: "taker", type: "address" }, { name: "sender", type: "address" }, { name: "feeRecipient", type: "address" }, { name: "pool", type: "bytes32" }, { name: "expiry", type: "uint64" }, { name: "salt", type: "uint256" } ] }, { name: "signatures", type: "tuple[]", components: [ { name: "signatureType", type: "uint8" }, { name: "v", type: "uint8" }, { name: "r", type: "bytes32" }, { name: "s", type: "bytes32" } ] } ], name: "batchGetLimitOrderRelevantStates", outputs: [ { name: "orderInfos", type: "tuple[]", components: [ { name: "orderHash", type: "bytes32" }, { name: "status", type: "uint8" }, { name: "takerTokenFilledAmount", type: "uint128" } ] }, { name: "actualFillableTakerTokenAmounts", type: "uint128[]" }, { name: "isSignatureValids", type: "bool[]" } ], stateMutability: "view", type: "function" }, { inputs: [ { name: "orders", type: "tuple[]", components: [ { name: "makerToken", type: "address" }, { name: "takerToken", type: "address" }, { name: "makerAmount", type: "uint128" }, { name: "takerAmount", type: "uint128" }, { name: "maker",