{
  "_format": "hh-sol-artifact-1",
  "contractName": "Conduit",
  "sourceName": "seaport/contracts/conduit/Conduit.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "BadReturnValueFromERC20OnTransfer",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ChannelClosed",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256[]",
          "name": "identifiers",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256[]",
          "name": "amounts",
          "type": "uint256[]"
        }
      ],
      "name": "ERC1155BatchTransferGenericFailure",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "Invalid1155BatchTransferEncoding",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidController",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidERC721TransferAmount",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidItemType",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "MissingItemAmount",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NoContract",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "identifier",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "TokenTransferGenericFailure",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "channel",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "open",
          "type": "bool"
        }
      ],
      "name": "ChannelUpdated",
      "type": "event"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "enum ConduitItemType",
              "name": "itemType",
              "type": "uint8"
            },
            {
              "internalType": "address",
              "name": "token",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "from",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "identifier",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            }
          ],
          "internalType": "struct ConduitTransfer[]",
          "name": "transfers",
          "type": "tuple[]"
        }
      ],
      "name": "execute",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "magicValue",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "token",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "from",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256[]",
              "name": "ids",
              "type": "uint256[]"
            },
            {
              "internalType": "uint256[]",
              "name": "amounts",
              "type": "uint256[]"
            }
          ],
          "internalType": "struct ConduitBatch1155Transfer[]",
          "name": "batchTransfers",
          "type": "tuple[]"
        }
      ],
      "name": "executeBatch1155",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "magicValue",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "enum ConduitItemType",
              "name": "itemType",
              "type": "uint8"
            },
            {
              "internalType": "address",
              "name": "token",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "from",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "identifier",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            }
          ],
          "internalType": "struct ConduitTransfer[]",
          "name": "standardTransfers",
          "type": "tuple[]"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "token",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "from",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256[]",
              "name": "ids",
              "type": "uint256[]"
            },
            {
              "internalType": "uint256[]",
              "name": "amounts",
              "type": "uint256[]"
            }
          ],
          "internalType": "struct ConduitBatch1155Transfer[]",
          "name": "batchTransfers",
          "type": "tuple[]"
        }
      ],
      "name": "executeWithBatch1155",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "magicValue",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "channel",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "isOpen",
          "type": "bool"
        }
      ],
      "name": "updateChannel",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a060405234801561001057600080fd5b5033608052608051610a8261003060003960006102100152610a826000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ce34aa214610051578063899e104c146100815780638df25d9214610094578063c4e8fcb5146100a7575b600080fd5b61006461005f36600461085c565b6100bc565b6040516001600160e01b0319909116815260200160405180910390f35b61006461008f3660046108e3565b610136565b6100646100a236600461094f565b6101bc565b6100ba6100b53660046109a1565b610205565b005b3360009081526020819052604081205460ff166100ec57604051636821b7df60e01b815260040160405180910390fd5b8160005b81811015610125573685858381811061010b5761010b6109dd565b905060c00201905061011c816102af565b506001016100f0565b50632671a55160e11b949350505050565b3360009081526020819052604081205460ff1661016657604051636821b7df60e01b815260040160405180910390fd5b8360005b8181101561019f5736878783818110610185576101856109dd565b905060c002019050610196816102af565b5060010161016a565b506101aa848461041b565b50632267841360e21b95945050505050565b3360009081526020819052604081205460ff166101ec57604051636821b7df60e01b815260040160405180910390fd5b6101f6838361041b565b506346f92ec960e11b92915050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461024e576040516336abb4df60e11b815260040160405180910390fd5b6001600160a01b03821660008181526020818152604091829020805460ff19168515159081179091558251938452908301527fae63067d43ac07563b7eb8db6595635fc77f1578a2a5ea06ba91b63e2afa37e2910160405180910390a15050565b60016102be6020830183610a09565b60038111156102cf576102cf6109f3565b03610314576103116102e76040830160208401610a31565b6102f76060840160408501610a31565b6103076080850160608601610a31565b8460a00135610565565b50565b60026103236020830183610a09565b6003811115610334576103346109f3565b0361039b578060a0013560011461035e5760405163efcc00b160e01b815260040160405180910390fd5b6103116103716040830160208401610a31565b6103816060840160408501610a31565b6103916080850160608601610a31565b846080013561066b565b60036103aa6020830183610a09565b60038111156103bb576103bb6109f3565b03610402576103116103d36040830160208401610a31565b6103e36060840160408501610a31565b6103f36080850160608601610a31565b84608001358560a0013561072c565b604051631e4cbc7f60e21b815260040160405180910390fd5b808280631759616b60e11b60205260005b83811015610558578235820160208401935060806020820160243760a0810135604081026040018060a00160a452600081610104015260408202610104018160a0850160c4376020830260c00191508160808501351460a0606086013514168285013584141615925082156104ac57633ae8821360e21b60005260046000fd5b923592833b6104ca57632f8aeb3960e11b6000528360045260246000fd5b6000808260206000885af1925082610549573d156105245760203d04915060208104826003028184111561050c57818403600302610200838002868002030401015b5a602082011015610521573d6000803e3d6000fd5b50505b6357e222f160e11b600052836004526080604452608451602001608452602481016000fd5b5050505060018101905061042c565b5050505060806040525050565b6040516323b872dd60e01b600052836004528260245281604452602060006064600080895af1803d15601f3d116001600051141617163d1515811661065b5780873b15151661065b57806106465781610625573d156105ff5760203d046020840481600302818311156105e657818303600302610200838002858002030401015b5a6020820110156105fb573d6000803e3d6000fd5b5050505b63f486bc8760e01b60005286600452856024528460445260006064528360845260a46000fd5b639889192360e01b6000528660045285602452846044528360645260846000fd5b632f8aeb3960e11b6000528660045260246000fd5b5050604052505060006060525050565b833b61068657632f8aeb3960e11b6000528360045260246000fd5b6040516323b872dd60e01b6000528360045282602452816044526000806064600080895af18061071d573d156106f75760203d046020830481600302818311156106de57818303600302610200838002858002030401015b5a6020820110156106f3573d6000803e3d6000fd5b5050505b63f486bc8760e01b60005285600452846024528360445282606452600160845260a46000fd5b50604052505060006060525050565b843b61074757632f8aeb3960e11b6000528460045260246000fd5b60405160805160a05160c051637921219560e11b6000528760045286602452856044528460645260a0608452600060a45260008060c46000808d5af1806107f4573d156107cf5760203d046020860481600302818311156107b657818303600302610200838002858002030401015b5a6020820110156107cb573d6000803e3d6000fd5b5050505b63f486bc8760e01b600052896004528860245287604452866064528560845260a46000fd5b5060809290925260a05260c05260405250506000606052505050565b60008083601f84011261082257600080fd5b50813567ffffffffffffffff81111561083a57600080fd5b60208301915083602060c08302850101111561085557600080fd5b9250929050565b6000806020838503121561086f57600080fd5b823567ffffffffffffffff81111561088657600080fd5b61089285828601610810565b90969095509350505050565b60008083601f8401126108b057600080fd5b50813567ffffffffffffffff8111156108c857600080fd5b6020830191508360208260051b850101111561085557600080fd5b600080600080604085870312156108f957600080fd5b843567ffffffffffffffff8082111561091157600080fd5b61091d88838901610810565b9096509450602087013591508082111561093657600080fd5b506109438782880161089e565b95989497509550505050565b6000806020838503121561096257600080fd5b823567ffffffffffffffff81111561097957600080fd5b6108928582860161089e565b80356001600160a01b038116811461099c57600080fd5b919050565b600080604083850312156109b457600080fd5b6109bd83610985565b9150602083013580151581146109d257600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b600060208284031215610a1b57600080fd5b813560048110610a2a57600080fd5b9392505050565b600060208284031215610a4357600080fd5b610a2a8261098556fea2646970667358221220154e5730b5c069ee38eba91c086614ce04b3f3b36831b234f43b61e7a2786e1e64736f6c634300080d0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ce34aa214610051578063899e104c146100815780638df25d9214610094578063c4e8fcb5146100a7575b600080fd5b61006461005f36600461085c565b6100bc565b6040516001600160e01b0319909116815260200160405180910390f35b61006461008f3660046108e3565b610136565b6100646100a236600461094f565b6101bc565b6100ba6100b53660046109a1565b610205565b005b3360009081526020819052604081205460ff166100ec57604051636821b7df60e01b815260040160405180910390fd5b8160005b81811015610125573685858381811061010b5761010b6109dd565b905060c00201905061011c816102af565b506001016100f0565b50632671a55160e11b949350505050565b3360009081526020819052604081205460ff1661016657604051636821b7df60e01b815260040160405180910390fd5b8360005b8181101561019f5736878783818110610185576101856109dd565b905060c002019050610196816102af565b5060010161016a565b506101aa848461041b565b50632267841360e21b95945050505050565b3360009081526020819052604081205460ff166101ec57604051636821b7df60e01b815260040160405180910390fd5b6101f6838361041b565b506346f92ec960e11b92915050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461024e576040516336abb4df60e11b815260040160405180910390fd5b6001600160a01b03821660008181526020818152604091829020805460ff19168515159081179091558251938452908301527fae63067d43ac07563b7eb8db6595635fc77f1578a2a5ea06ba91b63e2afa37e2910160405180910390a15050565b60016102be6020830183610a09565b60038111156102cf576102cf6109f3565b03610314576103116102e76040830160208401610a31565b6102f76060840160408501610a31565b6103076080850160608601610a31565b8460a00135610565565b50565b60026103236020830183610a09565b6003811115610334576103346109f3565b0361039b578060a0013560011461035e5760405163efcc00b160e01b815260040160405180910390fd5b6103116103716040830160208401610a31565b6103816060840160408501610a31565b6103916080850160608601610a31565b846080013561066b565b60036103aa6020830183610a09565b60038111156103bb576103bb6109f3565b03610402576103116103d36040830160208401610a31565b6103e36060840160408501610a31565b6103f36080850160608601610a31565b84608001358560a0013561072c565b604051631e4cbc7f60e21b815260040160405180910390fd5b808280631759616b60e11b60205260005b83811015610558578235820160208401935060806020820160243760a0810135604081026040018060a00160a452600081610104015260408202610104018160a0850160c4376020830260c00191508160808501351460a0606086013514168285013584141615925082156104ac57633ae8821360e21b60005260046000fd5b923592833b6104ca57632f8aeb3960e11b6000528360045260246000fd5b6000808260206000885af1925082610549573d156105245760203d04915060208104826003028184111561050c57818403600302610200838002868002030401015b5a602082011015610521573d6000803e3d6000fd5b50505b6357e222f160e11b600052836004526080604452608451602001608452602481016000fd5b5050505060018101905061042c565b5050505060806040525050565b6040516323b872dd60e01b600052836004528260245281604452602060006064600080895af1803d15601f3d116001600051141617163d1515811661065b5780873b15151661065b57806106465781610625573d156105ff5760203d046020840481600302818311156105e657818303600302610200838002858002030401015b5a6020820110156105fb573d6000803e3d6000fd5b5050505b63f486bc8760e01b60005286600452856024528460445260006064528360845260a46000fd5b639889192360e01b6000528660045285602452846044528360645260846000fd5b632f8aeb3960e11b6000528660045260246000fd5b5050604052505060006060525050565b833b61068657632f8aeb3960e11b6000528360045260246000fd5b6040516323b872dd60e01b6000528360045282602452816044526000806064600080895af18061071d573d156106f75760203d046020830481600302818311156106de57818303600302610200838002858002030401015b5a6020820110156106f3573d6000803e3d6000fd5b5050505b63f486bc8760e01b60005285600452846024528360445282606452600160845260a46000fd5b50604052505060006060525050565b843b61074757632f8aeb3960e11b6000528460045260246000fd5b60405160805160a05160c051637921219560e11b6000528760045286602452856044528460645260a0608452600060a45260008060c46000808d5af1806107f4573d156107cf5760203d046020860481600302818311156107b657818303600302610200838002858002030401015b5a6020820110156107cb573d6000803e3d6000fd5b5050505b63f486bc8760e01b600052896004528860245287604452866064528560845260a46000fd5b5060809290925260a05260c05260405250506000606052505050565b60008083601f84011261082257600080fd5b50813567ffffffffffffffff81111561083a57600080fd5b60208301915083602060c08302850101111561085557600080fd5b9250929050565b6000806020838503121561086f57600080fd5b823567ffffffffffffffff81111561088657600080fd5b61089285828601610810565b90969095509350505050565b60008083601f8401126108b057600080fd5b50813567ffffffffffffffff8111156108c857600080fd5b6020830191508360208260051b850101111561085557600080fd5b600080600080604085870312156108f957600080fd5b843567ffffffffffffffff8082111561091157600080fd5b61091d88838901610810565b9096509450602087013591508082111561093657600080fd5b506109438782880161089e565b95989497509550505050565b6000806020838503121561096257600080fd5b823567ffffffffffffffff81111561097957600080fd5b6108928582860161089e565b80356001600160a01b038116811461099c57600080fd5b919050565b600080604083850312156109b457600080fd5b6109bd83610985565b9150602083013580151581146109d257600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b600060208284031215610a1b57600080fd5b813560048110610a2a57600080fd5b9392505050565b600060208284031215610a4357600080fd5b610a2a8261098556fea2646970667358221220154e5730b5c069ee38eba91c086614ce04b3f3b36831b234f43b61e7a2786e1e64736f6c634300080d0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
