Seaport

0x0000000000000068f116a894984e2db1123eb395

Verification
Verified
v0.8.24+commit.e11b9ed9
Type
Contract
23,981 bytes
ABI entries
73
6 read · 12 write
License
none

Contract information

Address
0x0000000000000068f116a894984e2db1123eb395
Chain
Robinhood Chain (4663)
Compiler
v0.8.24+commit.e11b9ed9
Optimization
Enabled
Creation tx
0x4320260396…52b30ee39d

Token

Not a token

This contract does not expose ERC-20 metadata.

Read contract (6)

getContractOffererNonce(address)uint256
getCounter(address)uint256
getOrderHash(tuple)bytes32
getOrderStatus(bytes32)bool, bool, uint256, uint256
information()string, bytes32, address
name()string

Events (5)

CounterIncrementedOrderCancelledOrderFulfilledOrderValidatedOrdersMatched

ABI

[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "conduitController",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "BadContractSignature",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "BadFraction",
    "type": "error"
  },
  {
    "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": [
      {
        "internalType": "uint8",
        "name": "v",
        "type": "uint8"
      }
    ],
    "name": "BadSignatureV",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "CannotCancelOrder",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ConsiderationCriteriaResolverOutOfRange",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ConsiderationLengthNotEqualToTotalOriginal",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "orderIndex",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "considerationIndex",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "shortfallAmount",
        "type": "uint256"
      }
    ],
    "name": "ConsiderationNotMet",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "CriteriaNotEnabledForItem",
    "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": "InexactFraction",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InsufficientNativeTokensSupplied",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "Invalid1155BatchTransferEncoding",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidBasicOrderParameterEncoding",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "conduit",
        "type": "address"
      }
    ],
    "name": "InvalidCallToConduit",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "conduitKey",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "conduit",
        "type": "address"
      }
    ],
    "name": "InvalidConduit",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "orderHash",
        "type": "bytes32"
      }
    ],
    "name": "InvalidContractOrder",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "InvalidERC721TransferAmount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidFulfillmentComponentData",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "InvalidMsgValue",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidNativeOfferItem",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidProof",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "orderHash",
        "type": "bytes32"
      }
    ],
    "name": "InvalidRestrictedOrder",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidSignature",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidSigner",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "startTime",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "endTime",
        "type": "uint256"
      }
    ],
    "name": "InvalidTime",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "fulfillmentIndex",
        "type": "uint256"
      }
    ],
    "name": "MismatchedFulfillmentOfferAndConsiderationComponents",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "enum Side",
        "name": "side",
        "type": "uint8"
      }
    ],
    "name": "MissingFulfillmentComponentOnAggregation",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "MissingItemAmount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "MissingOriginalConsiderationItems",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "NativeTokenTransferGenericFailure",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "NoContract",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NoReentrantCalls",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NoSpecifiedOrdersAvailable",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OfferAndConsiderationRequiredOnFulfillment",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OfferCriteriaResolverOutOfRange",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "orderHash",
        "type": "bytes32"
      }
    ],
    "name": "OrderAlreadyFilled",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "enum Side",
        "name": "side",
        "type": "uint8"
      }
    ],
    "name": "OrderCriteriaResolverOutOfRange",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "orderHash",
        "type": "bytes32"
      }
    ],
    "name": "OrderIsCancelled",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "orderHash",
        "type": "bytes32"
      }
    ],
    "name": "OrderPartiallyFilled",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "PartialFillsNotEnabledForOrder",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TStoreAlreadyActivated",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TStoreNotSupported",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TloadTestContractDeploymentFailed",
    "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"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "orderIndex",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "considerationIndex",
        "type": "uint256"
      }
    ],
    "name": "UnresolvedConsiderationCriteria",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "orderIndex",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "offerIndex",
        "type": "uint256"
      }
    ],
    "name": "UnresolvedOfferCriteria",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "UnusedItemParameters",
    "type": "error"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newCounter",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "offerer",
        "type": "address"
      }
    ],
    "name": "CounterIncremented",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "bytes32",
        "name": "orderHash",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "offerer",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "zone",
        "type": "address"
      }
    ],
    "name": "OrderCancelled",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "bytes32",
        "name": "orderHash",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "offerer",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "zone",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "components": [
          {
            "internalType": "enum ItemType",
            "name": "itemType",
            "type": "uint8"
          },
          {
            "internalType": "address",
            "name": "token",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "identifier",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "indexed": false,
        "internalType": "struct SpentItem[]",
        "name": "offer",
        "type": "tuple[]"
      },
      {
        "components": [
          {
            "internalType": "enum ItemType",
            "name": "itemType",
            "type": "uint8"
          },
          {
            "internalType": "address",
            "name": "token",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "identifier",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          },
          {
            "internalType": "address payable",
            "name": "recipient",
            "type": "address"
          }
        ],
        "indexed": false,
        "internalType": "struct ReceivedItem[]",
        "name": "consideration",
        "type": "tuple[]"
      }
    ],
    "name": "OrderFulfilled",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "bytes32",
        "name": "orderHash",
        "type": "bytes32"
      },
      {
        "components": [
          {
            "internalType": "address",
            "name": "offerer",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "zone",
            "type": "address"
          },
          {
            "components": [
              {
                "internalType": "enum ItemType",
                "name": "itemType",
                "type": "uint8"
              },
              {
                "internalType": "address",
                "name": "token",
                "type": "address"
              },
              {
                "internalType": "uint256",
                "name": "identifierOrCriteria",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "startAmount",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "endAmount",
                "type": "uint256"
              }
            ],
            "internalType": "struct OfferItem[]",
            "name": "offer",
            "type": "tuple[]"
          },
          {
            "components": [
              {
                "internalType": "enum ItemType",
                "name": "itemType",
                "type": "uint8"
              },
              {
                "internalType": "address",
                "name": "token",
                "type": "address"
              },
              {
                "internalType": "uint256",
                "name": "identifierOrCriteria",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "startAmount",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "endAmount",
                "type": "uint256"
              },
              {
                "internalType": "address payable",
                "name": "recipient",
                "type": "address"
              }
            ],
            "internalType": "struct ConsiderationItem[]",
            "name": "consideration",
            "type": "tuple[]"
          },
          {
            "internalType": "enum OrderType",
            "name": "orderType",
            "type": "uint8"
          },
          {
            "internalType": "uint256",
            "name": "startTime",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "endTime",
            "type": "uint256"
          },
          {
            "internalType": "bytes32",
            "name": "zoneHash",
            "type": "bytes32"
          },
          {
            "internalType": "uint256",
            "name": "salt",
            "type": "uint256"
          },
          {
            "internalType": "bytes32",
            "name": "conduitKey",
            "type": "bytes32"
          },
          {
            "internalType": "uint256",
            "name": "totalOriginalConsiderationItems",
            "type": "uint256"
          }
        ],
        "indexed": false,
        "internalType": "struct OrderParameters",
        "name": "orderParameters",
        "type": "tuple"
      }
    ],
    "name": "OrderValidated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "bytes32[]",
        "name": "orderHashes",
        "type": "bytes32[]"
      }
    ],
    "name": "OrdersMatched",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "__activateTstore",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "address",
            "name": "offerer",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "zone",
            "type": "address"
          },
          {
            "components": [
              {
                "internalType": "enum ItemType",
                "name": "itemType",
                "type": "uint8"
              },
              {
                "internalType": "address",
                "name": "token",
                "type": "address"
              },
              {
                "internalType": "uint256",
                "name": "identifierOrCriteria",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "startAmount",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "endAmount",
                "type": "uint256"
              }
            ],
            "internalType": "struct OfferItem[]",
            "name": "offer",
            "type": "tuple[]"
          },
          {
            "components": [
              {
                "internalType": "enum ItemType",
                "name": "itemType",
                "type": "uint8"
              },
              {
                "internalType": "address",
                "name": "token",
                "type": "address"
              },
              {
                "internalType": "uint256",
                "name": "identifierOrCriteria",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "startAmount",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "endAmount",
                "type": "uint256"
              },
              {
                "internalType": "address payable",
                "name": "recipient",
                "type": "address"
              }
            ],
            "internalType": "struct ConsiderationItem[]",
            "name": "consideration",
            "type": "tuple[]"
          },
          {
            "internalType": "enum OrderType",
            "name": "orderType",
            "type": "uint8"
          },
          {
            "internalType": "uint256",
            "name": "startTime",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "endTime",
            "type": "uint256"
          },
          {
            "internalType": "bytes32",
            "name": "zoneHash",
            "type": "bytes32"
          },
          {
            "internalType": "uint256",
            "name": "salt",
            "type": "uint256"
          },
          {
            "internalType": "bytes32",
            "name": "conduitKey",
            "type": "bytes32"
          },
          {
            "internalType": "uint256",
            "name": "counter",
            "type": "uint256"
          }
        ],
        "internalType": "struct OrderComponents[]",
        "name": "orders",
        "type": "tuple[]"
      }
    ],
    "name": "cancel",
    "outputs": [
      {
        "internalType": "bool",
        "name": "cancelled",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "components": [
              {
                "internalType": "address",
                "name": "offerer",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "zone",
                "type": "address"
              },
              {
                "components": [
                  {
                    "internalType": "enum ItemType",
                    "name": "itemType",
                    "type": "uint8"
                  },
                  {
                    "internalType": "address",
                    "name": "token",
                    "type": "address"
                  },
                  {
                    "internalType": "uint256",
                    "name": "identifierOrCriteria",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "startAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "endAmount",
                    "type": "uint256"
                  }
                ],
                "internalType": "struct OfferItem[]",
                "name": "offer",
                "type": "tuple[]"
              },
              {
                "components": [
                  {
                    "internalType": "enum ItemType",
                    "name": "itemType",
                    "type": "uint8"
                  },
                  {
                    "internalType": "address",
                    "name": "token",
                    "type": "address"
                  },
                  {
                    "internalType": "uint256",
                    "name": "identifierOrCriteria",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "startAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "endAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "address payable",
                    "name": "recipient",
                    "type": "address"
                  }
                ],
                "internalType": "struct ConsiderationItem[]",
                "name": "consideration",
                "type": "tuple[]"
              },
              {
                "internalType": "enum OrderType",
                "name": "orderType",
                "type": "uint8"
              },
              {
                "internalType": "uint256",
                "name": "startTime",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "endTime",
                "type": "uint256"
              },
              {
                "internalType": "bytes32",
                "name": "zoneHash",
                "type": "bytes32"
              },
              {
                "internalType": "uint256",
                "name": "salt",
                "type": "uint256"
              },
              {
                "internalType": "bytes32",
                "name": "conduitKey",
                "type": "bytes32"
              },
              {
                "internalType": "uint256",
                "name": "totalOriginalConsiderationItems",
                "type": "uint256"
              }
            ],
            "internalType": "struct OrderParameters",
            "name": "parameters",
            "type": "tuple"
          },
          {
            "internalType": "uint120",
            "name": "numerator",
            "type": "uint120"
          },
          {
            "internalType": "uint120",
            "name": "denominator",
            "type": "uint120"
          },
          {
            "internalType": "bytes",
            "name": "signature",
            "type": "bytes"
          },
          {
            "internalType": "bytes",
            "name": "extraData",
            "type": "bytes"
          }
        ],
        "internalType": "struct AdvancedOrder",
        "name": "",
        "type": "tuple"
      },
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "orderIndex",
            "type": "uint256"
          },
          {
            "internalType": "enum Side",
            "name": "side",
            "type": "uint8"
          },
          {
            "internalType": "uint256",
            "name": "index",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "identifier",
            "type": "uint256"
          },
          {
            "internalType": "bytes32[]",
            "name": "criteriaProof",
            "type": "bytes32[]"
          }
        ],
        "internalType": "struct CriteriaResolver[]",
        "name": "",
        "type": "tuple[]"
      },
      {
        "internalType": "bytes32",
        "name": "fulfillerConduitKey",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      }
    ],
    "name": "fulfillAdvancedOrder",
    "outputs": [
      {
        "internalType": "bool",
        "name": "fulfilled",
        "type": "bool"
      }
    ],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "components": [
              {
                "internalType": "address",
                "name": "offerer",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "zone",
                "type": "address"
              },
              {
                "components": [
                  {
                    "internalType": "enum ItemType",
                    "name": "itemType",
                    "type": "uint8"
                  },
                  {
                    "internalType": "address",
                    "name": "token",
                    "type": "address"
                  },
                  {
                    "internalType": "uint256",
                    "name": "identifierOrCriteria",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "startAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "endAmount",
                    "type": "uint256"
                  }
                ],
                "internalType": "struct OfferItem[]",
                "name": "offer",
                "type": "tuple[]"
              },
              {
                "components": [
                  {
                    "internalType": "enum ItemType",
                    "name": "itemType",
                    "type": "uint8"
                  },
                  {
                    "internalType": "address",
                    "name": "token",
                    "type": "address"
                  },
                  {
                    "internalType": "uint256",
                    "name": "identifierOrCriteria",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "startAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "endAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "address payable",
                    "name": "recipient",
                    "type": "address"
                  }
                ],
                "internalType": "struct ConsiderationItem[]",
                "name": "consideration",
                "type": "tuple[]"
              },
              {
                "internalType": "enum OrderType",
                "name": "orderType",
                "type": "uint8"
              },
              {
                "internalType": "uint256",
                "name": "startTime",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "endTime",
                "type": "uint256"
              },
              {
                "internalType": "bytes32",
                "name": "zoneHash",
                "type": "bytes32"
              },
              {
                "internalType": "uint256",
                "name": "salt",
                "type": "uint256"
              },
              {
                "internalType": "bytes32",
                "name": "conduitKey",
                "type": "bytes32"
              },
              {
                "internalType": "uint256",
                "name": "totalOriginalConsiderationItems",
                "type": "uint256"
              }
            ],
            "internalType": "struct OrderParameters",
            "name": "parameters",
            "type": "tuple"
          },
          {
            "internalType": "uint120",
            "name": "numerator",
            "type": "uint120"
          },
          {
            "internalType": "uint120",
            "name": "denominator",
            "type": "uint120"
          },
          {
            "internalType": "bytes",
            "name": "signature",
            "type": "bytes"
          },
          {
            "internalType": "bytes",
            "name": "extraData",
            "type": "bytes"
          }
        ],
        "internalType": "struct AdvancedOrder[]",
        "name": "",
        "type": "tuple[]"
      },
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "orderIndex",
            "type": "uint256"
          },
          {
            "internalType": "enum Side",
            "name": "side",
            "type": "uint8"
          },
          {
            "internalType": "uint256",
            "name": "index",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "identifier",
            "type": "uint256"
          },
          {
            "internalType": "bytes32[]",
            "name": "criteriaProof",
            "type": "bytes32[]"
          }
        ],
        "internalType": "struct CriteriaResolver[]",
        "name": "",
        "type": "tuple[]"
      },
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "orderIndex",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "itemIndex",
            "type": "uint256"
          }
        ],
        "internalType": "struct FulfillmentComponent[][]",
        "name": "",
        "type": "tuple[][]"
      },
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "orderIndex",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "itemIndex",
            "type": "uint256"
          }
        ],
        "internalType": "struct FulfillmentComponent[][]",
        "name": "",
        "type": "tuple[][]"
      },
      {
        "internalType": "bytes32",
        "name": "fulfillerConduitKey",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "maximumFulfilled",
        "type": "uint256"
      }
    ],
    "name": "fulfillAvailableAdvancedOrders",
    "outputs": [
      {
        "internalType": "bool[]",
        "name": "",
        "type": "bool[]"
      },
      {
        "components": [
          {
            "components": [
              {
                "internalType": "enum ItemType",
                "name": "itemType",
                "type": "uint8"
              },
              {
                "internalType": "address",
                "name": "token",
                "type": "address"
              },
              {
                "internalType": "uint256",
                "name": "identifier",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "amount",
                "type": "uint256"
              },
              {
                "internalType": "address payable",
                "name": "recipient",
                "type": "address"
              }
            ],
            "internalType": "struct ReceivedItem",
            "name": "item",
            "type": "tuple"
          },
          {
            "internalType": "address",
            "name": "offerer",
            "type": "address"
          },
          {
            "internalType": "bytes32",
            "name": "conduitKey",
            "type": "bytes32"
          }
        ],
        "internalType": "struct Execution[]",
        "name": "",
        "type": "tuple[]"
      }
    ],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "components": [
              {
                "internalType": "address",
                "name": "offerer",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "zone",
                "type": "address"
              },
              {
                "components": [
                  {
                    "internalType": "enum ItemType",
                    "name": "itemType",
                    "type": "uint8"
                  },
                  {
                    "internalType": "address",
                    "name": "token",
                    "type": "address"
                  },
                  {
                    "internalType": "uint256",
                    "name": "identifierOrCriteria",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "startAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "endAmount",
                    "type": "uint256"
                  }
                ],
                "internalType": "struct OfferItem[]",
                "name": "offer",
                "type": "tuple[]"
              },
              {
                "components": [
                  {
                    "internalType": "enum ItemType",
                    "name": "itemType",
                    "type": "uint8"
                  },
                  {
                    "internalType": "address",
                    "name": "token",
                    "type": "address"
                  },
                  {
                    "internalType": "uint256",
                    "name": "identifierOrCriteria",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "startAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "endAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "address payable",
                    "name": "recipient",
                    "type": "address"
                  }
                ],
                "internalType": "struct ConsiderationItem[]",
                "name": "consideration",
                "type": "tuple[]"
              },
              {
                "internalType": "enum OrderType",
                "name": "orderType",
                "type": "uint8"
              },
              {
                "internalType": "uint256",
                "name": "startTime",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "endTime",
                "type": "uint256"
              },
              {
                "internalType": "bytes32",
                "name": "zoneHash",
                "type": "bytes32"
              },
              {
                "internalType": "uint256",
                "name": "salt",
                "type": "uint256"
              },
              {
                "internalType": "bytes32",
                "name": "conduitKey",
                "type": "bytes32"
              },
              {
                "internalType": "uint256",
                "name": "totalOriginalConsiderationItems",
                "type": "uint256"
              }
            ],
            "internalType": "struct OrderParameters",
            "name": "parameters",
            "type": "tuple"
          },
          {
            "internalType": "bytes",
            "name": "signature",
            "type": "bytes"
          }
        ],
        "internalType": "struct Order[]",
        "name": "",
        "type": "tuple[]"
      },
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "orderIndex",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "itemIndex",
            "type": "uint256"
          }
        ],
        "internalType": "struct FulfillmentComponent[][]",
        "name": "",
        "type": "tuple[][]"
      },
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "orderIndex",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "itemIndex",
            "type": "uint256"
          }
        ],
        "internalType": "struct FulfillmentComponent[][]",
        "name": "",
        "type": "tuple[][]"
      },
      {
        "internalType": "bytes32",
        "name": "fulfillerConduitKey",
        "type": "bytes32"
      },
      {
        "internalType": "uint256",
        "name": "maximumFulfilled",
        "type": "uint256"
      }
    ],
    "name": "fulfillAvailableOrders",
    "outputs": [
      {
        "internalType": "bool[]",
        "name": "",
        "type": "bool[]"
      },
      {
        "components": [
          {
            "components": [
              {
                "internalType": "enum ItemType",
                "name": "itemType",
                "type": "uint8"
              },
              {
                "internalType": "address",
                "name": "token",
                "type": "address"
              },
              {
                "internalType": "uint256",
                "name": "identifier",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "amount",
                "type": "uint256"
              },
              {
                "internalType": "address payable",
                "name": "recipient",
                "type": "address"
              }
            ],
            "internalType": "struct ReceivedItem",
            "name": "item",
            "type": "tuple"
          },
          {
            "internalType": "address",
            "name": "offerer",
            "type": "address"
          },
          {
            "internalType": "bytes32",
            "name": "conduitKey",
            "type": "bytes32"
          }
        ],
        "internalType": "struct Execution[]",
        "name": "",
        "type": "tuple[]"
      }
    ],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "address",
            "name": "considerationToken",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "considerationIdentifier",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "considerationAmount",
            "type": "uint256"
          },
          {
            "internalType": "address payable",
            "name": "offerer",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "zone",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "offerToken",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "offerIdentifier",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "offerAmount",
            "type": "uint256"
          },
          {
            "internalType": "enum BasicOrderType",
            "name": "basicOrderType",
            "type": "uint8"
          },
          {
            "internalType": "uint256",
            "name": "startTime",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "endTime",
            "type": "uint256"
          },
          {
            "internalType": "bytes32",
            "name": "zoneHash",
            "type": "bytes32"
          },
          {
            "internalType": "uint256",
            "name": "salt",
            "type": "uint256"
          },
          {
            "internalType": "bytes32",
            "name": "offererConduitKey",
            "type": "bytes32"
          },
          {
            "internalType": "bytes32",
            "name": "fulfillerConduitKey",
            "type": "bytes32"
          },
          {
            "internalType": "uint256",
            "name": "totalOriginalAdditionalRecipients",
            "type": "uint256"
          },
          {
            "components": [
              {
                "internalType": "uint256",
                "name": "amount",
                "type": "uint256"
              },
              {
                "internalType": "address payable",
                "name": "recipient",
                "type": "address"
              }
            ],
            "internalType": "struct AdditionalRecipient[]",
            "name": "additionalRecipients",
            "type": "tuple[]"
          },
          {
            "internalType": "bytes",
            "name": "signature",
            "type": "bytes"
          }
        ],
        "internalType": "struct BasicOrderParameters",
        "name": "",
        "type": "tuple"
      }
    ],
    "name": "fulfillBasicOrder",
    "outputs": [
      {
        "internalType": "bool",
        "name": "fulfilled",
        "type": "bool"
      }
    ],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "address",
            "name": "considerationToken",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "considerationIdentifier",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "considerationAmount",
            "type": "uint256"
          },
          {
            "internalType": "address payable",
            "name": "offerer",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "zone",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "offerToken",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "offerIdentifier",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "offerAmount",
            "type": "uint256"
          },
          {
            "internalType": "enum BasicOrderType",
            "name": "basicOrderType",
            "type": "uint8"
          },
          {
            "internalType": "uint256",
            "name": "startTime",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "endTime",
            "type": "uint256"
          },
          {
            "internalType": "bytes32",
            "name": "zoneHash",
            "type": "bytes32"
          },
          {
            "internalType": "uint256",
            "name": "salt",
            "type": "uint256"
          },
          {
            "internalType": "bytes32",
            "name": "offererConduitKey",
            "type": "bytes32"
          },
          {
            "internalType": "bytes32",
            "name": "fulfillerConduitKey",
            "type": "bytes32"
          },
          {
            "internalType": "uint256",
            "name": "totalOriginalAdditionalRecipients",
            "type": "uint256"
          },
          {
            "components": [
              {
                "internalType": "uint256",
                "name": "amount",
                "type": "uint256"
              },
              {
                "internalType": "address payable",
                "name": "recipient",
                "type": "address"
              }
            ],
            "internalType": "struct AdditionalRecipient[]",
            "name": "additionalRecipients",
            "type": "tuple[]"
          },
          {
            "internalType": "bytes",
            "name": "signature",
            "type": "bytes"
          }
        ],
        "internalType": "struct BasicOrderParameters",
        "name": "",
        "type": "tuple"
      }
    ],
    "name": "fulfillBasicOrder_efficient_6GL6yc",
    "outputs": [
      {
        "internalType": "bool",
        "name": "fulfilled",
        "type": "bool"
      }
    ],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "components": [
              {
                "internalType": "address",
                "name": "offerer",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "zone",
                "type": "address"
              },
              {
                "components": [
                  {
                    "internalType": "enum ItemType",
                    "name": "itemType",
                    "type": "uint8"
                  },
                  {
                    "internalType": "address",
                    "name": "token",
                    "type": "address"
                  },
                  {
                    "internalType": "uint256",
                    "name": "identifierOrCriteria",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "startAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "endAmount",
                    "type": "uint256"
                  }
                ],
                "internalType": "struct OfferItem[]",
                "name": "offer",
                "type": "tuple[]"
              },
              {
                "components": [
                  {
                    "internalType": "enum ItemType",
                    "name": "itemType",
                    "type": "uint8"
                  },
                  {
                    "internalType": "address",
                    "name": "token",
                    "type": "address"
                  },
                  {
                    "internalType": "uint256",
                    "name": "identifierOrCriteria",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "startAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "endAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "address payable",
                    "name": "recipient",
                    "type": "address"
                  }
                ],
                "internalType": "struct ConsiderationItem[]",
                "name": "consideration",
                "type": "tuple[]"
              },
              {
                "internalType": "enum OrderType",
                "name": "orderType",
                "type": "uint8"
              },
              {
                "internalType": "uint256",
                "name": "startTime",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "endTime",
                "type": "uint256"
              },
              {
                "internalType": "bytes32",
                "name": "zoneHash",
                "type": "bytes32"
              },
              {
                "internalType": "uint256",
                "name": "salt",
                "type": "uint256"
              },
              {
                "internalType": "bytes32",
                "name": "conduitKey",
                "type": "bytes32"
              },
              {
                "internalType": "uint256",
                "name": "totalOriginalConsiderationItems",
                "type": "uint256"
              }
            ],
            "internalType": "struct OrderParameters",
            "name": "parameters",
            "type": "tuple"
          },
          {
            "internalType": "bytes",
            "name": "signature",
            "type": "bytes"
          }
        ],
        "internalType": "struct Order",
        "name": "",
        "type": "tuple"
      },
      {
        "internalType": "bytes32",
        "name": "fulfillerConduitKey",
        "type": "bytes32"
      }
    ],
    "name": "fulfillOrder",
    "outputs": [
      {
        "internalType": "bool",
        "name": "fulfilled",
        "type": "bool"
      }
    ],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "contractOfferer",
        "type": "address"
      }
    ],
    "name": "getContractOffererNonce",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "nonce",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "offerer",
        "type": "address"
      }
    ],
    "name": "getCounter",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "counter",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "address",
            "name": "offerer",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "zone",
            "type": "address"
          },
          {
            "components": [
              {
                "internalType": "enum ItemType",
                "name": "itemType",
                "type": "uint8"
              },
              {
                "internalType": "address",
                "name": "token",
                "type": "address"
              },
              {
                "internalType": "uint256",
                "name": "identifierOrCriteria",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "startAmount",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "endAmount",
                "type": "uint256"
              }
            ],
            "internalType": "struct OfferItem[]",
            "name": "offer",
            "type": "tuple[]"
          },
          {
            "components": [
              {
                "internalType": "enum ItemType",
                "name": "itemType",
                "type": "uint8"
              },
              {
                "internalType": "address",
                "name": "token",
                "type": "address"
              },
              {
                "internalType": "uint256",
                "name": "identifierOrCriteria",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "startAmount",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "endAmount",
                "type": "uint256"
              },
              {
                "internalType": "address payable",
                "name": "recipient",
                "type": "address"
              }
            ],
            "internalType": "struct ConsiderationItem[]",
            "name": "consideration",
            "type": "tuple[]"
          },
          {
            "internalType": "enum OrderType",
            "name": "orderType",
            "type": "uint8"
          },
          {
            "internalType": "uint256",
            "name": "startTime",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "endTime",
            "type": "uint256"
          },
          {
            "internalType": "bytes32",
            "name": "zoneHash",
            "type": "bytes32"
          },
          {
            "internalType": "uint256",
            "name": "salt",
            "type": "uint256"
          },
          {
            "internalType": "bytes32",
            "name": "conduitKey",
            "type": "bytes32"
          },
          {
            "internalType": "uint256",
            "name": "counter",
            "type": "uint256"
          }
        ],
        "internalType": "struct OrderComponents",
        "name": "",
        "type": "tuple"
      }
    ],
    "name": "getOrderHash",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "orderHash",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "orderHash",
        "type": "bytes32"
      }
    ],
    "name": "getOrderStatus",
    "outputs": [
      {
        "internalType": "bool",
        "name": "isValidated",
        "type": "bool"
      },
      {
        "internalType": "bool",
        "name": "isCancelled",
        "type": "bool"
      },
      {
        "internalType": "uint256",
        "name": "totalFilled",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "totalSize",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "incrementCounter",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "newCounter",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "information",
    "outputs": [
      {
        "internalType": "string",
        "name": "version",
        "type": "string"
      },
      {
        "internalType": "bytes32",
        "name": "domainSeparator",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "conduitController",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "components": [
              {
                "internalType": "address",
                "name": "offerer",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "zone",
                "type": "address"
              },
              {
                "components": [
                  {
                    "internalType": "enum ItemType",
                    "name": "itemType",
                    "type": "uint8"
                  },
                  {
                    "internalType": "address",
                    "name": "token",
                    "type": "address"
                  },
                  {
                    "internalType": "uint256",
                    "name": "identifierOrCriteria",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "startAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "endAmount",
                    "type": "uint256"
                  }
                ],
                "internalType": "struct OfferItem[]",
                "name": "offer",
                "type": "tuple[]"
              },
              {
                "components": [
                  {
                    "internalType": "enum ItemType",
                    "name": "itemType",
                    "type": "uint8"
                  },
                  {
                    "internalType": "address",
                    "name": "token",
                    "type": "address"
                  },
                  {
                    "internalType": "uint256",
                    "name": "identifierOrCriteria",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "startAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "endAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "address payable",
                    "name": "recipient",
                    "type": "address"
                  }
                ],
                "internalType": "struct ConsiderationItem[]",
                "name": "consideration",
                "type": "tuple[]"
              },
              {
                "internalType": "enum OrderType",
                "name": "orderType",
                "type": "uint8"
              },
              {
                "internalType": "uint256",
                "name": "startTime",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "endTime",
                "type": "uint256"
              },
              {
                "internalType": "bytes32",
                "name": "zoneHash",
                "type": "bytes32"
              },
              {
                "internalType": "uint256",
                "name": "salt",
                "type": "uint256"
              },
              {
                "internalType": "bytes32",
                "name": "conduitKey",
                "type": "bytes32"
              },
              {
                "internalType": "uint256",
                "name": "totalOriginalConsiderationItems",
                "type": "uint256"
              }
            ],
            "internalType": "struct OrderParameters",
            "name": "parameters",
            "type": "tuple"
          },
          {
            "internalType": "uint120",
            "name": "numerator",
            "type": "uint120"
          },
          {
            "internalType": "uint120",
            "name": "denominator",
            "type": "uint120"
          },
          {
            "internalType": "bytes",
            "name": "signature",
            "type": "bytes"
          },
          {
            "internalType": "bytes",
            "name": "extraData",
            "type": "bytes"
          }
        ],
        "internalType": "struct AdvancedOrder[]",
        "name": "",
        "type": "tuple[]"
      },
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "orderIndex",
            "type": "uint256"
          },
          {
            "internalType": "enum Side",
            "name": "side",
            "type": "uint8"
          },
          {
            "internalType": "uint256",
            "name": "index",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "identifier",
            "type": "uint256"
          },
          {
            "internalType": "bytes32[]",
            "name": "criteriaProof",
            "type": "bytes32[]"
          }
        ],
        "internalType": "struct CriteriaResolver[]",
        "name": "",
        "type": "tuple[]"
      },
      {
        "components": [
          {
            "components": [
              {
                "internalType": "uint256",
                "name": "orderIndex",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "itemIndex",
                "type": "uint256"
              }
            ],
            "internalType": "struct FulfillmentComponent[]",
            "name": "offerComponents",
            "type": "tuple[]"
          },
          {
            "components": [
              {
                "internalType": "uint256",
                "name": "orderIndex",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "itemIndex",
                "type": "uint256"
              }
            ],
            "internalType": "struct FulfillmentComponent[]",
            "name": "considerationComponents",
            "type": "tuple[]"
          }
        ],
        "internalType": "struct Fulfillment[]",
        "name": "",
        "type": "tuple[]"
      },
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      }
    ],
    "name": "matchAdvancedOrders",
    "outputs": [
      {
        "components": [
          {
            "components": [
              {
                "internalType": "enum ItemType",
                "name": "itemType",
                "type": "uint8"
              },
              {
                "internalType": "address",
                "name": "token",
                "type": "address"
              },
              {
                "internalType": "uint256",
                "name": "identifier",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "amount",
                "type": "uint256"
              },
              {
                "internalType": "address payable",
                "name": "recipient",
                "type": "address"
              }
            ],
            "internalType": "struct ReceivedItem",
            "name": "item",
            "type": "tuple"
          },
          {
            "internalType": "address",
            "name": "offerer",
            "type": "address"
          },
          {
            "internalType": "bytes32",
            "name": "conduitKey",
            "type": "bytes32"
          }
        ],
        "internalType": "struct Execution[]",
        "name": "",
        "type": "tuple[]"
      }
    ],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "components": [
              {
                "internalType": "address",
                "name": "offerer",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "zone",
                "type": "address"
              },
              {
                "components": [
                  {
                    "internalType": "enum ItemType",
                    "name": "itemType",
                    "type": "uint8"
                  },
                  {
                    "internalType": "address",
                    "name": "token",
                    "type": "address"
                  },
                  {
                    "internalType": "uint256",
                    "name": "identifierOrCriteria",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "startAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "endAmount",
                    "type": "uint256"
                  }
                ],
                "internalType": "struct OfferItem[]",
                "name": "offer",
                "type": "tuple[]"
              },
              {
                "components": [
                  {
                    "internalType": "enum ItemType",
                    "name": "itemType",
                    "type": "uint8"
                  },
                  {
                    "internalType": "address",
                    "name": "token",
                    "type": "address"
                  },
                  {
                    "internalType": "uint256",
                    "name": "identifierOrCriteria",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "startAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "endAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "address payable",
                    "name": "recipient",
                    "type": "address"
                  }
                ],
                "internalType": "struct ConsiderationItem[]",
                "name": "consideration",
                "type": "tuple[]"
              },
              {
                "internalType": "enum OrderType",
                "name": "orderType",
                "type": "uint8"
              },
              {
                "internalType": "uint256",
                "name": "startTime",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "endTime",
                "type": "uint256"
              },
              {
                "internalType": "bytes32",
                "name": "zoneHash",
                "type": "bytes32"
              },
              {
                "internalType": "uint256",
                "name": "salt",
                "type": "uint256"
              },
              {
                "internalType": "bytes32",
                "name": "conduitKey",
                "type": "bytes32"
              },
              {
                "internalType": "uint256",
                "name": "totalOriginalConsiderationItems",
                "type": "uint256"
              }
            ],
            "internalType": "struct OrderParameters",
            "name": "parameters",
            "type": "tuple"
          },
          {
            "internalType": "bytes",
            "name": "signature",
            "type": "bytes"
          }
        ],
        "internalType": "struct Order[]",
        "name": "",
        "type": "tuple[]"
      },
      {
        "components": [
          {
            "components": [
              {
                "internalType": "uint256",
                "name": "orderIndex",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "itemIndex",
                "type": "uint256"
              }
            ],
            "internalType": "struct FulfillmentComponent[]",
            "name": "offerComponents",
            "type": "tuple[]"
          },
          {
            "components": [
              {
                "internalType": "uint256",
                "name": "orderIndex",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "itemIndex",
                "type": "uint256"
              }
            ],
            "internalType": "struct FulfillmentComponent[]",
            "name": "considerationComponents",
            "type": "tuple[]"
          }
        ],
        "internalType": "struct Fulfillment[]",
        "name": "",
        "type": "tuple[]"
      }
    ],
    "name": "matchOrders",
    "outputs": [
      {
        "components": [
          {
            "components": [
              {
                "internalType": "enum ItemType",
                "name": "itemType",
                "type": "uint8"
              },
              {
                "internalType": "address",
                "name": "token",
                "type": "address"
              },
              {
                "internalType": "uint256",
                "name": "identifier",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "amount",
                "type": "uint256"
              },
              {
                "internalType": "address payable",
                "name": "recipient",
                "type": "address"
              }
            ],
            "internalType": "struct ReceivedItem",
            "name": "item",
            "type": "tuple"
          },
          {
            "internalType": "address",
            "name": "offerer",
            "type": "address"
          },
          {
            "internalType": "bytes32",
            "name": "conduitKey",
            "type": "bytes32"
          }
        ],
        "internalType": "struct Execution[]",
        "name": "",
        "type": "tuple[]"
      }
    ],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "components": [
              {
                "internalType": "address",
                "name": "offerer",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "zone",
                "type": "address"
              },
              {
                "components": [
                  {
                    "internalType": "enum ItemType",
                    "name": "itemType",
                    "type": "uint8"
                  },
                  {
                    "internalType": "address",
                    "name": "token",
                    "type": "address"
                  },
                  {
                    "internalType": "uint256",
                    "name": "identifierOrCriteria",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "startAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "endAmount",
                    "type": "uint256"
                  }
                ],
                "internalType": "struct OfferItem[]",
                "name": "offer",
                "type": "tuple[]"
              },
              {
                "components": [
                  {
                    "internalType": "enum ItemType",
                    "name": "itemType",
                    "type": "uint8"
                  },
                  {
                    "internalType": "address",
                    "name": "token",
                    "type": "address"
                  },
                  {
                    "internalType": "uint256",
                    "name": "identifierOrCriteria",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "startAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "uint256",
                    "name": "endAmount",
                    "type": "uint256"
                  },
                  {
                    "internalType": "address payable",
                    "name": "recipient",
                    "type": "address"
                  }
                ],
                "internalType": "struct ConsiderationItem[]",
                "name": "consideration",
                "type": "tuple[]"
              },
              {
                "internalType": "enum OrderType",
                "name": "orderType",
                "type": "uint8"
              },
              {
                "internalType": "uint256",
                "name": "startTime",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "endTime",
                "type": "uint256"
              },
              {
                "internalType": "bytes32",
                "name": "zoneHash",
                "type": "bytes32"
              },
              {
                "internalType": "uint256",
                "name": "salt",
                "type": "uint256"
              },
              {
                "internalType": "bytes32",
                "name": "conduitKey",
                "type": "bytes32"
              },
              {
                "internalType": "uint256",
                "name": "totalOriginalConsiderationItems",
                "type": "uint256"
              }
            ],
            "internalType": "struct OrderParameters",
            "name": "parameters",
            "type": "tuple"
          },
          {
            "internalType": "bytes",
            "name": "signature",
            "type": "bytes"
          }
        ],
        "internalType": "struct Order[]",
        "name": "",
        "type": "tuple[]"
      }
    ],
    "name": "validate",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]

Source code

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

import { Consideration } from "./lib/Consideration.sol";

/**
 * @title Seaport
 * @custom:version 1.6
 * @author 0age (0age.eth)
 * @custom:coauthor d1ll0n (d1ll0n.eth)
 * @custom:coauthor transmissions11 (t11s.eth)
 * @custom:coauthor James Wenzel (emo.eth)
 * @custom:coauthor Daniel Viau (snotrocket.eth)
 * @custom:contributor Kartik (slokh.eth)
 * @custom:contributor LeFevre (lefevre.eth)
 * @custom:contributor Joseph Schiarizzi (CupOJoseph.eth)
 * @custom:contributor Aspyn Palatnick (stuckinaboot.eth)
 * @custom:contributor Stephan Min (stephanm.eth)
 * @custom:contributor Ryan Ghods (ralxz.eth)
 * @custom:contributor hack3r-0m (hack3r-0m.eth)
 * @custom:contributor Diego Estevez (antidiego.eth)
 * @custom:contributor Chomtana (chomtana.eth)
 * @custom:contributor Saw-mon and Natalie (sawmonandnatalie.eth)
 * @custom:contributor 0xBeans (0xBeans.eth)
 * @custom:contributor 0x4non (punkdev.eth)
 * @custom:contributor Laurence E. Day (norsefire.eth)
 * @custom:contributor vectorized.eth (vectorized.eth)
 * @custom:contributor karmacoma (karmacoma.eth)
 * @custom:contributor horsefacts (horsefacts.eth)
 * @custom:contributor UncarvedBlock (uncarvedblock.eth)
 * @custom:contributor Zoraiz Mahmood (zorz.eth)
 * @custom:contributor William Poulin (wpoulin.eth)
 * @custom:contributor Rajiv Patel-O'Connor (rajivpoc.eth)
 * @custom:contributor tserg (tserg.eth)
 * @custom:contributor cygaar (cygaar.eth)
 * @custom:contributor Meta0xNull (meta0xnull.eth)
 * @custom:contributor gpersoon (gpersoon.eth)
 * @custom:contributor Matt Solomon (msolomon.eth)
 * @custom:contributor Weikang Song (weikangs.eth)
 * @custom:contributor zer0dot (zer0dot.eth)
 * @custom:contributor Mudit Gupta (mudit.eth)
 * @custom:contributor leonardoalt (leoalt.eth)
 * @custom:contributor cmichel (cmichel.eth)
 * @custom:contributor PraneshASP (pranesh.eth)
 * @custom:contributor JasperAlexander (jasperalexander.eth)
 * @custom:contributor Ellahi (ellahi.eth)
 * @custom:contributor zaz (1zaz1.eth)
 * @custom:contributor berndartmueller (berndartmueller.eth)
 * @custom:contributor dmfxyz (dmfxyz.eth)
 * @custom:contributor daltoncoder (dontkillrobots.eth)
 * @custom:contributor 0xf4ce (0xf4ce.eth)
 * @custom:contributor phaze (phaze.eth)
 * @custom:contributor hrkrshnn (hrkrshnn.eth)
 * @custom:contributor axic (axic.eth)
 * @custom:contributor leastwood (leastwood.eth)
 * @custom:contributor 0xsanson (sanson.eth)
 * @custom:contributor blockdev (blockd3v.eth)
 * @custom:contributor fiveoutofnine (fiveoutofnine.eth)
 * @custom:contributor shuklaayush (shuklaayush.eth)
 * @custom:contributor dravee (dravee.eth)
 * @custom:contributor 0xPatissier
 * @custom:contributor pcaversaccio
 * @custom:contributor David Eiber
 * @custom:contributor csanuragjain
 * @custom:contributor sach1r0
 * @custom:contributor twojoy0
 * @custom:contributor ori_dabush
 * @custom:contributor Daniel Gelfand
 * @custom:contributor okkothejawa
 * @custom:contributor FlameHorizon
 * @custom:contributor vdrg
 * @custom:contributor dmitriia
 * @custom:contributor bokeh-eth
 * @custom:contributor asutorufos
 * @custom:contributor rfart(rfa)
 * @custom:contributor Riley Holterhus
 * @custom:contributor big-tech-sux
 * @notice Seaport is a generalized native token/ERC20/ERC721/ERC1155
 *         marketplace with lightweight methods for common routes as well as
 *         more flexible methods for composing advanced orders or groups of
 *         orders. Each order contains an arbitrary number of items that may be
 *         spent (the "offer") along with an arbitrary number of items that must
 *         be received back by the indicated recipients (the "consideration").
 */
contract Seaport is Consideration {
    /**
     * @notice Derive and set hashes, reference chainId, and associated domain
     *         separator during deployment.
     *
     * @param conduitController A contract that deploys conduits, or proxies
     *                          that may optionally be used to transfer approved
     *                          ERC20/721/1155 tokens.
     */
    constructor(address conduitController) Consideration(conduitController) {}

    /**
     * @dev Internal pure function to retrieve and return the name of this
     *      contract.
     *
     * @return The name of this contract.
     */
    function _name() internal pure override returns (string memory) {
        // Return the name of the contract.
        assembly {
            mstore(0x20, 0x20)
            mstore(0x47, 0x07536561706f7274)
            return(0x20, 0x60)
        }
    }

    /**
     * @dev Internal pure function to retrieve the name of this contract as a
     *      string that will be used to derive the name hash in the constructor.
     *
     * @return The name of this contract as a string.
     */
    function _nameString() internal pure override returns (string memory) {
        // Return the name of the contract.
        return "Seaport";
    }
}
Chain explorer7670msChain node89ms