[ { "type": "constructor", "inputs": [ { "name": "_permit2", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "fill", "inputs": [ { "name": "outputs", "type": "tuple[]", "internalType": "struct IOrders.Output[]", "components": [ { "name": "token", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "chainId", "type": "uint32", "internalType": "uint32" } ] } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "fillPermit2", "inputs": [ { "name": "outputs", "type": "tuple[]", "internalType": "struct IOrders.Output[]", "components": [ { "name": "token", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "chainId", "type": "uint32", "internalType": "uint32" } ] }, { "name": "permit2", "type": "tuple", "internalType": "struct UsesPermit2.Permit2Batch", "components": [ { "name": "permit", "type": "tuple", "internalType": "struct ISignatureTransfer.PermitBatchTransferFrom", "components": [ { "name": "permitted", "type": "tuple[]", "internalType": "struct ISignatureTransfer.TokenPermissions[]", "components": [ { "name": "token", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ] }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "deadline", "type": "uint256", "internalType": "uint256" } ] }, { "name": "owner", "type": "address", "internalType": "address" }, { "name": "signature", "type": "bytes", "internalType": "bytes" } ] } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "outputWitness", "inputs": [ { "name": "outputs", "type": "tuple[]", "internalType": "struct IOrders.Output[]", "components": [ { "name": "token", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "chainId", "type": "uint32", "internalType": "uint32" } ] } ], "outputs": [ { "name": "_witness", "type": "tuple", "internalType": "struct UsesPermit2.Witness", "components": [ { "name": "witnessHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "witnessTypeString", "type": "string", "internalType": "string" } ] } ], "stateMutability": "pure" }, { "type": "event", "name": "Filled", "inputs": [ { "name": "outputs", "type": "tuple[]", "indexed": false, "internalType": "struct IOrders.Output[]", "components": [ { "name": "token", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "chainId", "type": "uint32", "internalType": "uint32" } ] } ], "anonymous": false }, { "type": "error", "name": "AddressEmptyCode", "inputs": [ { "name": "target", "type": "address", "internalType": "address" } ] }, { "type": "error", "name": "FailedCall", "inputs": [] }, { "type": "error", "name": "InsufficientBalance", "inputs": [ { "name": "balance", "type": "uint256", "internalType": "uint256" }, { "name": "needed", "type": "uint256", "internalType": "uint256" } ] }, { "type": "error", "name": "LengthMismatch", "inputs": [] }, { "type": "error", "name": "OutputMismatch", "inputs": [] }, { "type": "error", "name": "ReentrancyGuardReentrantCall", "inputs": [] }, { "type": "error", "name": "SafeERC20FailedOperation", "inputs": [ { "name": "token", "type": "address", "internalType": "address" } ] } ]