github.com/diadata-org/diadata@v1.4.593/config/nftContracts/openseaseaport/openseaseaport.go (about)

     1  // Code generated - DO NOT EDIT.
     2  // This file is a generated binding and any manual changes will be lost.
     3  
     4  package openseaseaport
     5  
     6  import (
     7  	"errors"
     8  	"math/big"
     9  	"strings"
    10  
    11  	ethereum "github.com/ethereum/go-ethereum"
    12  	"github.com/ethereum/go-ethereum/accounts/abi"
    13  	"github.com/ethereum/go-ethereum/accounts/abi/bind"
    14  	"github.com/ethereum/go-ethereum/common"
    15  	"github.com/ethereum/go-ethereum/core/types"
    16  	"github.com/ethereum/go-ethereum/event"
    17  )
    18  
    19  // Reference imports to suppress errors if they are not otherwise used.
    20  var (
    21  	_ = errors.New
    22  	_ = big.NewInt
    23  	_ = strings.NewReader
    24  	_ = ethereum.NotFound
    25  	_ = bind.Bind
    26  	_ = common.Big1
    27  	_ = types.BloomLookup
    28  	_ = event.NewSubscription
    29  )
    30  
    31  // AdditionalRecipient is an auto generated low-level Go binding around an user-defined struct.
    32  type AdditionalRecipient struct {
    33  	Amount    *big.Int
    34  	Recipient common.Address
    35  }
    36  
    37  // AdvancedOrder is an auto generated low-level Go binding around an user-defined struct.
    38  type AdvancedOrder struct {
    39  	Parameters  OrderParameters
    40  	Numerator   *big.Int
    41  	Denominator *big.Int
    42  	Signature   []byte
    43  	ExtraData   []byte
    44  }
    45  
    46  // BasicOrderParameters is an auto generated low-level Go binding around an user-defined struct.
    47  type BasicOrderParameters struct {
    48  	ConsiderationToken                common.Address
    49  	ConsiderationIdentifier           *big.Int
    50  	ConsiderationAmount               *big.Int
    51  	Offerer                           common.Address
    52  	Zone                              common.Address
    53  	OfferToken                        common.Address
    54  	OfferIdentifier                   *big.Int
    55  	OfferAmount                       *big.Int
    56  	BasicOrderType                    uint8
    57  	StartTime                         *big.Int
    58  	EndTime                           *big.Int
    59  	ZoneHash                          [32]byte
    60  	Salt                              *big.Int
    61  	OffererConduitKey                 [32]byte
    62  	FulfillerConduitKey               [32]byte
    63  	TotalOriginalAdditionalRecipients *big.Int
    64  	AdditionalRecipients              []AdditionalRecipient
    65  	Signature                         []byte
    66  }
    67  
    68  // ConsiderationItem is an auto generated low-level Go binding around an user-defined struct.
    69  type ConsiderationItem struct {
    70  	ItemType             uint8
    71  	Token                common.Address
    72  	IdentifierOrCriteria *big.Int
    73  	StartAmount          *big.Int
    74  	EndAmount            *big.Int
    75  	Recipient            common.Address
    76  }
    77  
    78  // CriteriaResolver is an auto generated low-level Go binding around an user-defined struct.
    79  type CriteriaResolver struct {
    80  	OrderIndex    *big.Int
    81  	Side          uint8
    82  	Index         *big.Int
    83  	Identifier    *big.Int
    84  	CriteriaProof [][32]byte
    85  }
    86  
    87  // Execution is an auto generated low-level Go binding around an user-defined struct.
    88  type Execution struct {
    89  	Item       ReceivedItem
    90  	Offerer    common.Address
    91  	ConduitKey [32]byte
    92  }
    93  
    94  // Fulfillment is an auto generated low-level Go binding around an user-defined struct.
    95  type Fulfillment struct {
    96  	OfferComponents         []FulfillmentComponent
    97  	ConsiderationComponents []FulfillmentComponent
    98  }
    99  
   100  // FulfillmentComponent is an auto generated low-level Go binding around an user-defined struct.
   101  type FulfillmentComponent struct {
   102  	OrderIndex *big.Int
   103  	ItemIndex  *big.Int
   104  }
   105  
   106  // OfferItem is an auto generated low-level Go binding around an user-defined struct.
   107  type OfferItem struct {
   108  	ItemType             uint8
   109  	Token                common.Address
   110  	IdentifierOrCriteria *big.Int
   111  	StartAmount          *big.Int
   112  	EndAmount            *big.Int
   113  }
   114  
   115  // Order is an auto generated low-level Go binding around an user-defined struct.
   116  type Order struct {
   117  	Parameters OrderParameters
   118  	Signature  []byte
   119  }
   120  
   121  // OrderComponents is an auto generated low-level Go binding around an user-defined struct.
   122  type OrderComponents struct {
   123  	Offerer       common.Address
   124  	Zone          common.Address
   125  	Offer         []OfferItem
   126  	Consideration []ConsiderationItem
   127  	OrderType     uint8
   128  	StartTime     *big.Int
   129  	EndTime       *big.Int
   130  	ZoneHash      [32]byte
   131  	Salt          *big.Int
   132  	ConduitKey    [32]byte
   133  	Counter       *big.Int
   134  }
   135  
   136  // OrderParameters is an auto generated low-level Go binding around an user-defined struct.
   137  type OrderParameters struct {
   138  	Offerer                         common.Address
   139  	Zone                            common.Address
   140  	Offer                           []OfferItem
   141  	Consideration                   []ConsiderationItem
   142  	OrderType                       uint8
   143  	StartTime                       *big.Int
   144  	EndTime                         *big.Int
   145  	ZoneHash                        [32]byte
   146  	Salt                            *big.Int
   147  	ConduitKey                      [32]byte
   148  	TotalOriginalConsiderationItems *big.Int
   149  }
   150  
   151  // ReceivedItem is an auto generated low-level Go binding around an user-defined struct.
   152  type ReceivedItem struct {
   153  	ItemType   uint8
   154  	Token      common.Address
   155  	Identifier *big.Int
   156  	Amount     *big.Int
   157  	Recipient  common.Address
   158  }
   159  
   160  // SpentItem is an auto generated low-level Go binding around an user-defined struct.
   161  type SpentItem struct {
   162  	ItemType   uint8
   163  	Token      common.Address
   164  	Identifier *big.Int
   165  	Amount     *big.Int
   166  }
   167  
   168  // OpenseaseaportMetaData contains all meta data concerning the Openseaseaport contract.
   169  var OpenseaseaportMetaData = &bind.MetaData{
   170  	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\":\"ConsiderationCriteriaResolverOutOfRange\",\"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\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"EtherTransferGenericFailure\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InexactFraction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientEtherSupplied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Invalid1155BatchTransferEncoding\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidBasicOrderParameterEncoding\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"conduit\",\"type\":\"address\"}],\"name\":\"InvalidCallToConduit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCanceller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"conduitKey\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"conduit\",\"type\":\"address\"}],\"name\":\"InvalidConduit\",\"type\":\"error\"},{\"inputs\":[],\"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\":[],\"name\":\"InvalidTime\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MismatchedFulfillmentOfferAndConsiderationComponents\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"enumSide\",\"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\"}],\"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\":[],\"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\":[{\"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\":[],\"name\":\"UnresolvedConsiderationCriteria\",\"type\":\"error\"},{\"inputs\":[],\"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\":\"enumItemType\",\"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\":\"structSpentItem[]\",\"name\":\"offer\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enumItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"identifier\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"structReceivedItem[]\",\"name\":\"consideration\",\"type\":\"tuple[]\"}],\"name\":\"OrderFulfilled\",\"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\":\"OrderValidated\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"offerer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"zone\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enumItemType\",\"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\":\"structOfferItem[]\",\"name\":\"offer\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enumItemType\",\"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\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"structConsiderationItem[]\",\"name\":\"consideration\",\"type\":\"tuple[]\"},{\"internalType\":\"enumOrderType\",\"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\":\"structOrderComponents[]\",\"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\":\"enumItemType\",\"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\":\"structOfferItem[]\",\"name\":\"offer\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enumItemType\",\"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\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"structConsiderationItem[]\",\"name\":\"consideration\",\"type\":\"tuple[]\"},{\"internalType\":\"enumOrderType\",\"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\":\"structOrderParameters\",\"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\":\"structAdvancedOrder\",\"name\":\"advancedOrder\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"orderIndex\",\"type\":\"uint256\"},{\"internalType\":\"enumSide\",\"name\":\"side\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"identifier\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"criteriaProof\",\"type\":\"bytes32[]\"}],\"internalType\":\"structCriteriaResolver[]\",\"name\":\"criteriaResolvers\",\"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\":\"enumItemType\",\"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\":\"structOfferItem[]\",\"name\":\"offer\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enumItemType\",\"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\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"structConsiderationItem[]\",\"name\":\"consideration\",\"type\":\"tuple[]\"},{\"internalType\":\"enumOrderType\",\"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\":\"structOrderParameters\",\"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\":\"structAdvancedOrder[]\",\"name\":\"advancedOrders\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"orderIndex\",\"type\":\"uint256\"},{\"internalType\":\"enumSide\",\"name\":\"side\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"identifier\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"criteriaProof\",\"type\":\"bytes32[]\"}],\"internalType\":\"structCriteriaResolver[]\",\"name\":\"criteriaResolvers\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"orderIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemIndex\",\"type\":\"uint256\"}],\"internalType\":\"structFulfillmentComponent[][]\",\"name\":\"offerFulfillments\",\"type\":\"tuple[][]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"orderIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemIndex\",\"type\":\"uint256\"}],\"internalType\":\"structFulfillmentComponent[][]\",\"name\":\"considerationFulfillments\",\"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\":\"availableOrders\",\"type\":\"bool[]\"},{\"components\":[{\"components\":[{\"internalType\":\"enumItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"identifier\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"structReceivedItem\",\"name\":\"item\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"offerer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"conduitKey\",\"type\":\"bytes32\"}],\"internalType\":\"structExecution[]\",\"name\":\"executions\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"offerer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"zone\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enumItemType\",\"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\":\"structOfferItem[]\",\"name\":\"offer\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enumItemType\",\"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\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"structConsiderationItem[]\",\"name\":\"consideration\",\"type\":\"tuple[]\"},{\"internalType\":\"enumOrderType\",\"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\":\"structOrderParameters\",\"name\":\"parameters\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"structOrder[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"orderIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemIndex\",\"type\":\"uint256\"}],\"internalType\":\"structFulfillmentComponent[][]\",\"name\":\"offerFulfillments\",\"type\":\"tuple[][]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"orderIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemIndex\",\"type\":\"uint256\"}],\"internalType\":\"structFulfillmentComponent[][]\",\"name\":\"considerationFulfillments\",\"type\":\"tuple[][]\"},{\"internalType\":\"bytes32\",\"name\":\"fulfillerConduitKey\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"maximumFulfilled\",\"type\":\"uint256\"}],\"name\":\"fulfillAvailableOrders\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"availableOrders\",\"type\":\"bool[]\"},{\"components\":[{\"components\":[{\"internalType\":\"enumItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"identifier\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"structReceivedItem\",\"name\":\"item\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"offerer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"conduitKey\",\"type\":\"bytes32\"}],\"internalType\":\"structExecution[]\",\"name\":\"executions\",\"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\":\"addresspayable\",\"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\":\"enumBasicOrderType\",\"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\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"structAdditionalRecipient[]\",\"name\":\"additionalRecipients\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"structBasicOrderParameters\",\"name\":\"parameters\",\"type\":\"tuple\"}],\"name\":\"fulfillBasicOrder\",\"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\":\"enumItemType\",\"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\":\"structOfferItem[]\",\"name\":\"offer\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enumItemType\",\"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\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"structConsiderationItem[]\",\"name\":\"consideration\",\"type\":\"tuple[]\"},{\"internalType\":\"enumOrderType\",\"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\":\"structOrderParameters\",\"name\":\"parameters\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"structOrder\",\"name\":\"order\",\"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\":\"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\":\"enumItemType\",\"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\":\"structOfferItem[]\",\"name\":\"offer\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enumItemType\",\"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\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"structConsiderationItem[]\",\"name\":\"consideration\",\"type\":\"tuple[]\"},{\"internalType\":\"enumOrderType\",\"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\":\"structOrderComponents\",\"name\":\"order\",\"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\":\"enumItemType\",\"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\":\"structOfferItem[]\",\"name\":\"offer\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enumItemType\",\"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\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"structConsiderationItem[]\",\"name\":\"consideration\",\"type\":\"tuple[]\"},{\"internalType\":\"enumOrderType\",\"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\":\"structOrderParameters\",\"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\":\"structAdvancedOrder[]\",\"name\":\"advancedOrders\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"orderIndex\",\"type\":\"uint256\"},{\"internalType\":\"enumSide\",\"name\":\"side\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"identifier\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"criteriaProof\",\"type\":\"bytes32[]\"}],\"internalType\":\"structCriteriaResolver[]\",\"name\":\"criteriaResolvers\",\"type\":\"tuple[]\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"orderIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemIndex\",\"type\":\"uint256\"}],\"internalType\":\"structFulfillmentComponent[]\",\"name\":\"offerComponents\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"orderIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemIndex\",\"type\":\"uint256\"}],\"internalType\":\"structFulfillmentComponent[]\",\"name\":\"considerationComponents\",\"type\":\"tuple[]\"}],\"internalType\":\"structFulfillment[]\",\"name\":\"fulfillments\",\"type\":\"tuple[]\"}],\"name\":\"matchAdvancedOrders\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"enumItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"identifier\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"structReceivedItem\",\"name\":\"item\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"offerer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"conduitKey\",\"type\":\"bytes32\"}],\"internalType\":\"structExecution[]\",\"name\":\"executions\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"offerer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"zone\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enumItemType\",\"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\":\"structOfferItem[]\",\"name\":\"offer\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enumItemType\",\"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\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"structConsiderationItem[]\",\"name\":\"consideration\",\"type\":\"tuple[]\"},{\"internalType\":\"enumOrderType\",\"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\":\"structOrderParameters\",\"name\":\"parameters\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"structOrder[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"orderIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemIndex\",\"type\":\"uint256\"}],\"internalType\":\"structFulfillmentComponent[]\",\"name\":\"offerComponents\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"orderIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemIndex\",\"type\":\"uint256\"}],\"internalType\":\"structFulfillmentComponent[]\",\"name\":\"considerationComponents\",\"type\":\"tuple[]\"}],\"internalType\":\"structFulfillment[]\",\"name\":\"fulfillments\",\"type\":\"tuple[]\"}],\"name\":\"matchOrders\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"enumItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"identifier\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"structReceivedItem\",\"name\":\"item\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"offerer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"conduitKey\",\"type\":\"bytes32\"}],\"internalType\":\"structExecution[]\",\"name\":\"executions\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"offerer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"zone\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enumItemType\",\"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\":\"structOfferItem[]\",\"name\":\"offer\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enumItemType\",\"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\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"structConsiderationItem[]\",\"name\":\"consideration\",\"type\":\"tuple[]\"},{\"internalType\":\"enumOrderType\",\"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\":\"structOrderParameters\",\"name\":\"parameters\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"structOrder[]\",\"name\":\"orders\",\"type\":\"tuple[]\"}],\"name\":\"validate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"validated\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
   171  }
   172  
   173  // OpenseaseaportABI is the input ABI used to generate the binding from.
   174  // Deprecated: Use OpenseaseaportMetaData.ABI instead.
   175  var OpenseaseaportABI = OpenseaseaportMetaData.ABI
   176  
   177  // Openseaseaport is an auto generated Go binding around an Ethereum contract.
   178  type Openseaseaport struct {
   179  	OpenseaseaportCaller     // Read-only binding to the contract
   180  	OpenseaseaportTransactor // Write-only binding to the contract
   181  	OpenseaseaportFilterer   // Log filterer for contract events
   182  }
   183  
   184  // OpenseaseaportCaller is an auto generated read-only Go binding around an Ethereum contract.
   185  type OpenseaseaportCaller struct {
   186  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   187  }
   188  
   189  // OpenseaseaportTransactor is an auto generated write-only Go binding around an Ethereum contract.
   190  type OpenseaseaportTransactor struct {
   191  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   192  }
   193  
   194  // OpenseaseaportFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
   195  type OpenseaseaportFilterer struct {
   196  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   197  }
   198  
   199  // OpenseaseaportSession is an auto generated Go binding around an Ethereum contract,
   200  // with pre-set call and transact options.
   201  type OpenseaseaportSession struct {
   202  	Contract     *Openseaseaport   // Generic contract binding to set the session for
   203  	CallOpts     bind.CallOpts     // Call options to use throughout this session
   204  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
   205  }
   206  
   207  // OpenseaseaportCallerSession is an auto generated read-only Go binding around an Ethereum contract,
   208  // with pre-set call options.
   209  type OpenseaseaportCallerSession struct {
   210  	Contract *OpenseaseaportCaller // Generic contract caller binding to set the session for
   211  	CallOpts bind.CallOpts         // Call options to use throughout this session
   212  }
   213  
   214  // OpenseaseaportTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
   215  // with pre-set transact options.
   216  type OpenseaseaportTransactorSession struct {
   217  	Contract     *OpenseaseaportTransactor // Generic contract transactor binding to set the session for
   218  	TransactOpts bind.TransactOpts         // Transaction auth options to use throughout this session
   219  }
   220  
   221  // OpenseaseaportRaw is an auto generated low-level Go binding around an Ethereum contract.
   222  type OpenseaseaportRaw struct {
   223  	Contract *Openseaseaport // Generic contract binding to access the raw methods on
   224  }
   225  
   226  // OpenseaseaportCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
   227  type OpenseaseaportCallerRaw struct {
   228  	Contract *OpenseaseaportCaller // Generic read-only contract binding to access the raw methods on
   229  }
   230  
   231  // OpenseaseaportTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   232  type OpenseaseaportTransactorRaw struct {
   233  	Contract *OpenseaseaportTransactor // Generic write-only contract binding to access the raw methods on
   234  }
   235  
   236  // NewOpenseaseaport creates a new instance of Openseaseaport, bound to a specific deployed contract.
   237  func NewOpenseaseaport(address common.Address, backend bind.ContractBackend) (*Openseaseaport, error) {
   238  	contract, err := bindOpenseaseaport(address, backend, backend, backend)
   239  	if err != nil {
   240  		return nil, err
   241  	}
   242  	return &Openseaseaport{OpenseaseaportCaller: OpenseaseaportCaller{contract: contract}, OpenseaseaportTransactor: OpenseaseaportTransactor{contract: contract}, OpenseaseaportFilterer: OpenseaseaportFilterer{contract: contract}}, nil
   243  }
   244  
   245  // NewOpenseaseaportCaller creates a new read-only instance of Openseaseaport, bound to a specific deployed contract.
   246  func NewOpenseaseaportCaller(address common.Address, caller bind.ContractCaller) (*OpenseaseaportCaller, error) {
   247  	contract, err := bindOpenseaseaport(address, caller, nil, nil)
   248  	if err != nil {
   249  		return nil, err
   250  	}
   251  	return &OpenseaseaportCaller{contract: contract}, nil
   252  }
   253  
   254  // NewOpenseaseaportTransactor creates a new write-only instance of Openseaseaport, bound to a specific deployed contract.
   255  func NewOpenseaseaportTransactor(address common.Address, transactor bind.ContractTransactor) (*OpenseaseaportTransactor, error) {
   256  	contract, err := bindOpenseaseaport(address, nil, transactor, nil)
   257  	if err != nil {
   258  		return nil, err
   259  	}
   260  	return &OpenseaseaportTransactor{contract: contract}, nil
   261  }
   262  
   263  // NewOpenseaseaportFilterer creates a new log filterer instance of Openseaseaport, bound to a specific deployed contract.
   264  func NewOpenseaseaportFilterer(address common.Address, filterer bind.ContractFilterer) (*OpenseaseaportFilterer, error) {
   265  	contract, err := bindOpenseaseaport(address, nil, nil, filterer)
   266  	if err != nil {
   267  		return nil, err
   268  	}
   269  	return &OpenseaseaportFilterer{contract: contract}, nil
   270  }
   271  
   272  // bindOpenseaseaport binds a generic wrapper to an already deployed contract.
   273  func bindOpenseaseaport(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   274  	parsed, err := abi.JSON(strings.NewReader(OpenseaseaportABI))
   275  	if err != nil {
   276  		return nil, err
   277  	}
   278  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
   279  }
   280  
   281  // Call invokes the (constant) contract method with params as input values and
   282  // sets the output to result. The result type might be a single field for simple
   283  // returns, a slice of interfaces for anonymous returns and a struct for named
   284  // returns.
   285  func (_Openseaseaport *OpenseaseaportRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   286  	return _Openseaseaport.Contract.OpenseaseaportCaller.contract.Call(opts, result, method, params...)
   287  }
   288  
   289  // Transfer initiates a plain transaction to move funds to the contract, calling
   290  // its default method if one is available.
   291  func (_Openseaseaport *OpenseaseaportRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   292  	return _Openseaseaport.Contract.OpenseaseaportTransactor.contract.Transfer(opts)
   293  }
   294  
   295  // Transact invokes the (paid) contract method with params as input values.
   296  func (_Openseaseaport *OpenseaseaportRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   297  	return _Openseaseaport.Contract.OpenseaseaportTransactor.contract.Transact(opts, method, params...)
   298  }
   299  
   300  // Call invokes the (constant) contract method with params as input values and
   301  // sets the output to result. The result type might be a single field for simple
   302  // returns, a slice of interfaces for anonymous returns and a struct for named
   303  // returns.
   304  func (_Openseaseaport *OpenseaseaportCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   305  	return _Openseaseaport.Contract.contract.Call(opts, result, method, params...)
   306  }
   307  
   308  // Transfer initiates a plain transaction to move funds to the contract, calling
   309  // its default method if one is available.
   310  func (_Openseaseaport *OpenseaseaportTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   311  	return _Openseaseaport.Contract.contract.Transfer(opts)
   312  }
   313  
   314  // Transact invokes the (paid) contract method with params as input values.
   315  func (_Openseaseaport *OpenseaseaportTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   316  	return _Openseaseaport.Contract.contract.Transact(opts, method, params...)
   317  }
   318  
   319  // GetCounter is a free data retrieval call binding the contract method 0xf07ec373.
   320  //
   321  // Solidity: function getCounter(address offerer) view returns(uint256 counter)
   322  func (_Openseaseaport *OpenseaseaportCaller) GetCounter(opts *bind.CallOpts, offerer common.Address) (*big.Int, error) {
   323  	var out []interface{}
   324  	err := _Openseaseaport.contract.Call(opts, &out, "getCounter", offerer)
   325  
   326  	if err != nil {
   327  		return *new(*big.Int), err
   328  	}
   329  
   330  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   331  
   332  	return out0, err
   333  
   334  }
   335  
   336  // GetCounter is a free data retrieval call binding the contract method 0xf07ec373.
   337  //
   338  // Solidity: function getCounter(address offerer) view returns(uint256 counter)
   339  func (_Openseaseaport *OpenseaseaportSession) GetCounter(offerer common.Address) (*big.Int, error) {
   340  	return _Openseaseaport.Contract.GetCounter(&_Openseaseaport.CallOpts, offerer)
   341  }
   342  
   343  // GetCounter is a free data retrieval call binding the contract method 0xf07ec373.
   344  //
   345  // Solidity: function getCounter(address offerer) view returns(uint256 counter)
   346  func (_Openseaseaport *OpenseaseaportCallerSession) GetCounter(offerer common.Address) (*big.Int, error) {
   347  	return _Openseaseaport.Contract.GetCounter(&_Openseaseaport.CallOpts, offerer)
   348  }
   349  
   350  // GetOrderHash is a free data retrieval call binding the contract method 0x79df72bd.
   351  //
   352  // Solidity: function getOrderHash((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256) order) view returns(bytes32 orderHash)
   353  func (_Openseaseaport *OpenseaseaportCaller) GetOrderHash(opts *bind.CallOpts, order OrderComponents) ([32]byte, error) {
   354  	var out []interface{}
   355  	err := _Openseaseaport.contract.Call(opts, &out, "getOrderHash", order)
   356  
   357  	if err != nil {
   358  		return *new([32]byte), err
   359  	}
   360  
   361  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
   362  
   363  	return out0, err
   364  
   365  }
   366  
   367  // GetOrderHash is a free data retrieval call binding the contract method 0x79df72bd.
   368  //
   369  // Solidity: function getOrderHash((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256) order) view returns(bytes32 orderHash)
   370  func (_Openseaseaport *OpenseaseaportSession) GetOrderHash(order OrderComponents) ([32]byte, error) {
   371  	return _Openseaseaport.Contract.GetOrderHash(&_Openseaseaport.CallOpts, order)
   372  }
   373  
   374  // GetOrderHash is a free data retrieval call binding the contract method 0x79df72bd.
   375  //
   376  // Solidity: function getOrderHash((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256) order) view returns(bytes32 orderHash)
   377  func (_Openseaseaport *OpenseaseaportCallerSession) GetOrderHash(order OrderComponents) ([32]byte, error) {
   378  	return _Openseaseaport.Contract.GetOrderHash(&_Openseaseaport.CallOpts, order)
   379  }
   380  
   381  // GetOrderStatus is a free data retrieval call binding the contract method 0x46423aa7.
   382  //
   383  // Solidity: function getOrderStatus(bytes32 orderHash) view returns(bool isValidated, bool isCancelled, uint256 totalFilled, uint256 totalSize)
   384  func (_Openseaseaport *OpenseaseaportCaller) GetOrderStatus(opts *bind.CallOpts, orderHash [32]byte) (struct {
   385  	IsValidated bool
   386  	IsCancelled bool
   387  	TotalFilled *big.Int
   388  	TotalSize   *big.Int
   389  }, error) {
   390  	var out []interface{}
   391  	err := _Openseaseaport.contract.Call(opts, &out, "getOrderStatus", orderHash)
   392  
   393  	outstruct := new(struct {
   394  		IsValidated bool
   395  		IsCancelled bool
   396  		TotalFilled *big.Int
   397  		TotalSize   *big.Int
   398  	})
   399  	if err != nil {
   400  		return *outstruct, err
   401  	}
   402  
   403  	outstruct.IsValidated = *abi.ConvertType(out[0], new(bool)).(*bool)
   404  	outstruct.IsCancelled = *abi.ConvertType(out[1], new(bool)).(*bool)
   405  	outstruct.TotalFilled = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int)
   406  	outstruct.TotalSize = *abi.ConvertType(out[3], new(*big.Int)).(**big.Int)
   407  
   408  	return *outstruct, err
   409  
   410  }
   411  
   412  // GetOrderStatus is a free data retrieval call binding the contract method 0x46423aa7.
   413  //
   414  // Solidity: function getOrderStatus(bytes32 orderHash) view returns(bool isValidated, bool isCancelled, uint256 totalFilled, uint256 totalSize)
   415  func (_Openseaseaport *OpenseaseaportSession) GetOrderStatus(orderHash [32]byte) (struct {
   416  	IsValidated bool
   417  	IsCancelled bool
   418  	TotalFilled *big.Int
   419  	TotalSize   *big.Int
   420  }, error) {
   421  	return _Openseaseaport.Contract.GetOrderStatus(&_Openseaseaport.CallOpts, orderHash)
   422  }
   423  
   424  // GetOrderStatus is a free data retrieval call binding the contract method 0x46423aa7.
   425  //
   426  // Solidity: function getOrderStatus(bytes32 orderHash) view returns(bool isValidated, bool isCancelled, uint256 totalFilled, uint256 totalSize)
   427  func (_Openseaseaport *OpenseaseaportCallerSession) GetOrderStatus(orderHash [32]byte) (struct {
   428  	IsValidated bool
   429  	IsCancelled bool
   430  	TotalFilled *big.Int
   431  	TotalSize   *big.Int
   432  }, error) {
   433  	return _Openseaseaport.Contract.GetOrderStatus(&_Openseaseaport.CallOpts, orderHash)
   434  }
   435  
   436  // Information is a free data retrieval call binding the contract method 0xf47b7740.
   437  //
   438  // Solidity: function information() view returns(string version, bytes32 domainSeparator, address conduitController)
   439  func (_Openseaseaport *OpenseaseaportCaller) Information(opts *bind.CallOpts) (struct {
   440  	Version           string
   441  	DomainSeparator   [32]byte
   442  	ConduitController common.Address
   443  }, error) {
   444  	var out []interface{}
   445  	err := _Openseaseaport.contract.Call(opts, &out, "information")
   446  
   447  	outstruct := new(struct {
   448  		Version           string
   449  		DomainSeparator   [32]byte
   450  		ConduitController common.Address
   451  	})
   452  	if err != nil {
   453  		return *outstruct, err
   454  	}
   455  
   456  	outstruct.Version = *abi.ConvertType(out[0], new(string)).(*string)
   457  	outstruct.DomainSeparator = *abi.ConvertType(out[1], new([32]byte)).(*[32]byte)
   458  	outstruct.ConduitController = *abi.ConvertType(out[2], new(common.Address)).(*common.Address)
   459  
   460  	return *outstruct, err
   461  
   462  }
   463  
   464  // Information is a free data retrieval call binding the contract method 0xf47b7740.
   465  //
   466  // Solidity: function information() view returns(string version, bytes32 domainSeparator, address conduitController)
   467  func (_Openseaseaport *OpenseaseaportSession) Information() (struct {
   468  	Version           string
   469  	DomainSeparator   [32]byte
   470  	ConduitController common.Address
   471  }, error) {
   472  	return _Openseaseaport.Contract.Information(&_Openseaseaport.CallOpts)
   473  }
   474  
   475  // Information is a free data retrieval call binding the contract method 0xf47b7740.
   476  //
   477  // Solidity: function information() view returns(string version, bytes32 domainSeparator, address conduitController)
   478  func (_Openseaseaport *OpenseaseaportCallerSession) Information() (struct {
   479  	Version           string
   480  	DomainSeparator   [32]byte
   481  	ConduitController common.Address
   482  }, error) {
   483  	return _Openseaseaport.Contract.Information(&_Openseaseaport.CallOpts)
   484  }
   485  
   486  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   487  //
   488  // Solidity: function name() pure returns(string contractName)
   489  func (_Openseaseaport *OpenseaseaportCaller) Name(opts *bind.CallOpts) (string, error) {
   490  	var out []interface{}
   491  	err := _Openseaseaport.contract.Call(opts, &out, "name")
   492  
   493  	if err != nil {
   494  		return *new(string), err
   495  	}
   496  
   497  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   498  
   499  	return out0, err
   500  
   501  }
   502  
   503  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   504  //
   505  // Solidity: function name() pure returns(string contractName)
   506  func (_Openseaseaport *OpenseaseaportSession) Name() (string, error) {
   507  	return _Openseaseaport.Contract.Name(&_Openseaseaport.CallOpts)
   508  }
   509  
   510  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   511  //
   512  // Solidity: function name() pure returns(string contractName)
   513  func (_Openseaseaport *OpenseaseaportCallerSession) Name() (string, error) {
   514  	return _Openseaseaport.Contract.Name(&_Openseaseaport.CallOpts)
   515  }
   516  
   517  // Cancel is a paid mutator transaction binding the contract method 0xfd9f1e10.
   518  //
   519  // Solidity: function cancel((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256)[] orders) returns(bool cancelled)
   520  func (_Openseaseaport *OpenseaseaportTransactor) Cancel(opts *bind.TransactOpts, orders []OrderComponents) (*types.Transaction, error) {
   521  	return _Openseaseaport.contract.Transact(opts, "cancel", orders)
   522  }
   523  
   524  // Cancel is a paid mutator transaction binding the contract method 0xfd9f1e10.
   525  //
   526  // Solidity: function cancel((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256)[] orders) returns(bool cancelled)
   527  func (_Openseaseaport *OpenseaseaportSession) Cancel(orders []OrderComponents) (*types.Transaction, error) {
   528  	return _Openseaseaport.Contract.Cancel(&_Openseaseaport.TransactOpts, orders)
   529  }
   530  
   531  // Cancel is a paid mutator transaction binding the contract method 0xfd9f1e10.
   532  //
   533  // Solidity: function cancel((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256)[] orders) returns(bool cancelled)
   534  func (_Openseaseaport *OpenseaseaportTransactorSession) Cancel(orders []OrderComponents) (*types.Transaction, error) {
   535  	return _Openseaseaport.Contract.Cancel(&_Openseaseaport.TransactOpts, orders)
   536  }
   537  
   538  // FulfillAdvancedOrder is a paid mutator transaction binding the contract method 0xe7acab24.
   539  //
   540  // Solidity: function fulfillAdvancedOrder(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),uint120,uint120,bytes,bytes) advancedOrder, (uint256,uint8,uint256,uint256,bytes32[])[] criteriaResolvers, bytes32 fulfillerConduitKey, address recipient) payable returns(bool fulfilled)
   541  func (_Openseaseaport *OpenseaseaportTransactor) FulfillAdvancedOrder(opts *bind.TransactOpts, advancedOrder AdvancedOrder, criteriaResolvers []CriteriaResolver, fulfillerConduitKey [32]byte, recipient common.Address) (*types.Transaction, error) {
   542  	return _Openseaseaport.contract.Transact(opts, "fulfillAdvancedOrder", advancedOrder, criteriaResolvers, fulfillerConduitKey, recipient)
   543  }
   544  
   545  // FulfillAdvancedOrder is a paid mutator transaction binding the contract method 0xe7acab24.
   546  //
   547  // Solidity: function fulfillAdvancedOrder(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),uint120,uint120,bytes,bytes) advancedOrder, (uint256,uint8,uint256,uint256,bytes32[])[] criteriaResolvers, bytes32 fulfillerConduitKey, address recipient) payable returns(bool fulfilled)
   548  func (_Openseaseaport *OpenseaseaportSession) FulfillAdvancedOrder(advancedOrder AdvancedOrder, criteriaResolvers []CriteriaResolver, fulfillerConduitKey [32]byte, recipient common.Address) (*types.Transaction, error) {
   549  	return _Openseaseaport.Contract.FulfillAdvancedOrder(&_Openseaseaport.TransactOpts, advancedOrder, criteriaResolvers, fulfillerConduitKey, recipient)
   550  }
   551  
   552  // FulfillAdvancedOrder is a paid mutator transaction binding the contract method 0xe7acab24.
   553  //
   554  // Solidity: function fulfillAdvancedOrder(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),uint120,uint120,bytes,bytes) advancedOrder, (uint256,uint8,uint256,uint256,bytes32[])[] criteriaResolvers, bytes32 fulfillerConduitKey, address recipient) payable returns(bool fulfilled)
   555  func (_Openseaseaport *OpenseaseaportTransactorSession) FulfillAdvancedOrder(advancedOrder AdvancedOrder, criteriaResolvers []CriteriaResolver, fulfillerConduitKey [32]byte, recipient common.Address) (*types.Transaction, error) {
   556  	return _Openseaseaport.Contract.FulfillAdvancedOrder(&_Openseaseaport.TransactOpts, advancedOrder, criteriaResolvers, fulfillerConduitKey, recipient)
   557  }
   558  
   559  // FulfillAvailableAdvancedOrders is a paid mutator transaction binding the contract method 0x87201b41.
   560  //
   561  // Solidity: function fulfillAvailableAdvancedOrders(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),uint120,uint120,bytes,bytes)[] advancedOrders, (uint256,uint8,uint256,uint256,bytes32[])[] criteriaResolvers, (uint256,uint256)[][] offerFulfillments, (uint256,uint256)[][] considerationFulfillments, bytes32 fulfillerConduitKey, address recipient, uint256 maximumFulfilled) payable returns(bool[] availableOrders, ((uint8,address,uint256,uint256,address),address,bytes32)[] executions)
   562  func (_Openseaseaport *OpenseaseaportTransactor) FulfillAvailableAdvancedOrders(opts *bind.TransactOpts, advancedOrders []AdvancedOrder, criteriaResolvers []CriteriaResolver, offerFulfillments [][]FulfillmentComponent, considerationFulfillments [][]FulfillmentComponent, fulfillerConduitKey [32]byte, recipient common.Address, maximumFulfilled *big.Int) (*types.Transaction, error) {
   563  	return _Openseaseaport.contract.Transact(opts, "fulfillAvailableAdvancedOrders", advancedOrders, criteriaResolvers, offerFulfillments, considerationFulfillments, fulfillerConduitKey, recipient, maximumFulfilled)
   564  }
   565  
   566  // FulfillAvailableAdvancedOrders is a paid mutator transaction binding the contract method 0x87201b41.
   567  //
   568  // Solidity: function fulfillAvailableAdvancedOrders(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),uint120,uint120,bytes,bytes)[] advancedOrders, (uint256,uint8,uint256,uint256,bytes32[])[] criteriaResolvers, (uint256,uint256)[][] offerFulfillments, (uint256,uint256)[][] considerationFulfillments, bytes32 fulfillerConduitKey, address recipient, uint256 maximumFulfilled) payable returns(bool[] availableOrders, ((uint8,address,uint256,uint256,address),address,bytes32)[] executions)
   569  func (_Openseaseaport *OpenseaseaportSession) FulfillAvailableAdvancedOrders(advancedOrders []AdvancedOrder, criteriaResolvers []CriteriaResolver, offerFulfillments [][]FulfillmentComponent, considerationFulfillments [][]FulfillmentComponent, fulfillerConduitKey [32]byte, recipient common.Address, maximumFulfilled *big.Int) (*types.Transaction, error) {
   570  	return _Openseaseaport.Contract.FulfillAvailableAdvancedOrders(&_Openseaseaport.TransactOpts, advancedOrders, criteriaResolvers, offerFulfillments, considerationFulfillments, fulfillerConduitKey, recipient, maximumFulfilled)
   571  }
   572  
   573  // FulfillAvailableAdvancedOrders is a paid mutator transaction binding the contract method 0x87201b41.
   574  //
   575  // Solidity: function fulfillAvailableAdvancedOrders(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),uint120,uint120,bytes,bytes)[] advancedOrders, (uint256,uint8,uint256,uint256,bytes32[])[] criteriaResolvers, (uint256,uint256)[][] offerFulfillments, (uint256,uint256)[][] considerationFulfillments, bytes32 fulfillerConduitKey, address recipient, uint256 maximumFulfilled) payable returns(bool[] availableOrders, ((uint8,address,uint256,uint256,address),address,bytes32)[] executions)
   576  func (_Openseaseaport *OpenseaseaportTransactorSession) FulfillAvailableAdvancedOrders(advancedOrders []AdvancedOrder, criteriaResolvers []CriteriaResolver, offerFulfillments [][]FulfillmentComponent, considerationFulfillments [][]FulfillmentComponent, fulfillerConduitKey [32]byte, recipient common.Address, maximumFulfilled *big.Int) (*types.Transaction, error) {
   577  	return _Openseaseaport.Contract.FulfillAvailableAdvancedOrders(&_Openseaseaport.TransactOpts, advancedOrders, criteriaResolvers, offerFulfillments, considerationFulfillments, fulfillerConduitKey, recipient, maximumFulfilled)
   578  }
   579  
   580  // FulfillAvailableOrders is a paid mutator transaction binding the contract method 0xed98a574.
   581  //
   582  // Solidity: function fulfillAvailableOrders(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),bytes)[] orders, (uint256,uint256)[][] offerFulfillments, (uint256,uint256)[][] considerationFulfillments, bytes32 fulfillerConduitKey, uint256 maximumFulfilled) payable returns(bool[] availableOrders, ((uint8,address,uint256,uint256,address),address,bytes32)[] executions)
   583  func (_Openseaseaport *OpenseaseaportTransactor) FulfillAvailableOrders(opts *bind.TransactOpts, orders []Order, offerFulfillments [][]FulfillmentComponent, considerationFulfillments [][]FulfillmentComponent, fulfillerConduitKey [32]byte, maximumFulfilled *big.Int) (*types.Transaction, error) {
   584  	return _Openseaseaport.contract.Transact(opts, "fulfillAvailableOrders", orders, offerFulfillments, considerationFulfillments, fulfillerConduitKey, maximumFulfilled)
   585  }
   586  
   587  // FulfillAvailableOrders is a paid mutator transaction binding the contract method 0xed98a574.
   588  //
   589  // Solidity: function fulfillAvailableOrders(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),bytes)[] orders, (uint256,uint256)[][] offerFulfillments, (uint256,uint256)[][] considerationFulfillments, bytes32 fulfillerConduitKey, uint256 maximumFulfilled) payable returns(bool[] availableOrders, ((uint8,address,uint256,uint256,address),address,bytes32)[] executions)
   590  func (_Openseaseaport *OpenseaseaportSession) FulfillAvailableOrders(orders []Order, offerFulfillments [][]FulfillmentComponent, considerationFulfillments [][]FulfillmentComponent, fulfillerConduitKey [32]byte, maximumFulfilled *big.Int) (*types.Transaction, error) {
   591  	return _Openseaseaport.Contract.FulfillAvailableOrders(&_Openseaseaport.TransactOpts, orders, offerFulfillments, considerationFulfillments, fulfillerConduitKey, maximumFulfilled)
   592  }
   593  
   594  // FulfillAvailableOrders is a paid mutator transaction binding the contract method 0xed98a574.
   595  //
   596  // Solidity: function fulfillAvailableOrders(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),bytes)[] orders, (uint256,uint256)[][] offerFulfillments, (uint256,uint256)[][] considerationFulfillments, bytes32 fulfillerConduitKey, uint256 maximumFulfilled) payable returns(bool[] availableOrders, ((uint8,address,uint256,uint256,address),address,bytes32)[] executions)
   597  func (_Openseaseaport *OpenseaseaportTransactorSession) FulfillAvailableOrders(orders []Order, offerFulfillments [][]FulfillmentComponent, considerationFulfillments [][]FulfillmentComponent, fulfillerConduitKey [32]byte, maximumFulfilled *big.Int) (*types.Transaction, error) {
   598  	return _Openseaseaport.Contract.FulfillAvailableOrders(&_Openseaseaport.TransactOpts, orders, offerFulfillments, considerationFulfillments, fulfillerConduitKey, maximumFulfilled)
   599  }
   600  
   601  // FulfillBasicOrder is a paid mutator transaction binding the contract method 0xfb0f3ee1.
   602  //
   603  // Solidity: function fulfillBasicOrder((address,uint256,uint256,address,address,address,uint256,uint256,uint8,uint256,uint256,bytes32,uint256,bytes32,bytes32,uint256,(uint256,address)[],bytes) parameters) payable returns(bool fulfilled)
   604  func (_Openseaseaport *OpenseaseaportTransactor) FulfillBasicOrder(opts *bind.TransactOpts, parameters BasicOrderParameters) (*types.Transaction, error) {
   605  	return _Openseaseaport.contract.Transact(opts, "fulfillBasicOrder", parameters)
   606  }
   607  
   608  // FulfillBasicOrder is a paid mutator transaction binding the contract method 0xfb0f3ee1.
   609  //
   610  // Solidity: function fulfillBasicOrder((address,uint256,uint256,address,address,address,uint256,uint256,uint8,uint256,uint256,bytes32,uint256,bytes32,bytes32,uint256,(uint256,address)[],bytes) parameters) payable returns(bool fulfilled)
   611  func (_Openseaseaport *OpenseaseaportSession) FulfillBasicOrder(parameters BasicOrderParameters) (*types.Transaction, error) {
   612  	return _Openseaseaport.Contract.FulfillBasicOrder(&_Openseaseaport.TransactOpts, parameters)
   613  }
   614  
   615  // FulfillBasicOrder is a paid mutator transaction binding the contract method 0xfb0f3ee1.
   616  //
   617  // Solidity: function fulfillBasicOrder((address,uint256,uint256,address,address,address,uint256,uint256,uint8,uint256,uint256,bytes32,uint256,bytes32,bytes32,uint256,(uint256,address)[],bytes) parameters) payable returns(bool fulfilled)
   618  func (_Openseaseaport *OpenseaseaportTransactorSession) FulfillBasicOrder(parameters BasicOrderParameters) (*types.Transaction, error) {
   619  	return _Openseaseaport.Contract.FulfillBasicOrder(&_Openseaseaport.TransactOpts, parameters)
   620  }
   621  
   622  // FulfillOrder is a paid mutator transaction binding the contract method 0xb3a34c4c.
   623  //
   624  // Solidity: function fulfillOrder(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),bytes) order, bytes32 fulfillerConduitKey) payable returns(bool fulfilled)
   625  func (_Openseaseaport *OpenseaseaportTransactor) FulfillOrder(opts *bind.TransactOpts, order Order, fulfillerConduitKey [32]byte) (*types.Transaction, error) {
   626  	return _Openseaseaport.contract.Transact(opts, "fulfillOrder", order, fulfillerConduitKey)
   627  }
   628  
   629  // FulfillOrder is a paid mutator transaction binding the contract method 0xb3a34c4c.
   630  //
   631  // Solidity: function fulfillOrder(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),bytes) order, bytes32 fulfillerConduitKey) payable returns(bool fulfilled)
   632  func (_Openseaseaport *OpenseaseaportSession) FulfillOrder(order Order, fulfillerConduitKey [32]byte) (*types.Transaction, error) {
   633  	return _Openseaseaport.Contract.FulfillOrder(&_Openseaseaport.TransactOpts, order, fulfillerConduitKey)
   634  }
   635  
   636  // FulfillOrder is a paid mutator transaction binding the contract method 0xb3a34c4c.
   637  //
   638  // Solidity: function fulfillOrder(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),bytes) order, bytes32 fulfillerConduitKey) payable returns(bool fulfilled)
   639  func (_Openseaseaport *OpenseaseaportTransactorSession) FulfillOrder(order Order, fulfillerConduitKey [32]byte) (*types.Transaction, error) {
   640  	return _Openseaseaport.Contract.FulfillOrder(&_Openseaseaport.TransactOpts, order, fulfillerConduitKey)
   641  }
   642  
   643  // IncrementCounter is a paid mutator transaction binding the contract method 0x5b34b966.
   644  //
   645  // Solidity: function incrementCounter() returns(uint256 newCounter)
   646  func (_Openseaseaport *OpenseaseaportTransactor) IncrementCounter(opts *bind.TransactOpts) (*types.Transaction, error) {
   647  	return _Openseaseaport.contract.Transact(opts, "incrementCounter")
   648  }
   649  
   650  // IncrementCounter is a paid mutator transaction binding the contract method 0x5b34b966.
   651  //
   652  // Solidity: function incrementCounter() returns(uint256 newCounter)
   653  func (_Openseaseaport *OpenseaseaportSession) IncrementCounter() (*types.Transaction, error) {
   654  	return _Openseaseaport.Contract.IncrementCounter(&_Openseaseaport.TransactOpts)
   655  }
   656  
   657  // IncrementCounter is a paid mutator transaction binding the contract method 0x5b34b966.
   658  //
   659  // Solidity: function incrementCounter() returns(uint256 newCounter)
   660  func (_Openseaseaport *OpenseaseaportTransactorSession) IncrementCounter() (*types.Transaction, error) {
   661  	return _Openseaseaport.Contract.IncrementCounter(&_Openseaseaport.TransactOpts)
   662  }
   663  
   664  // MatchAdvancedOrders is a paid mutator transaction binding the contract method 0x55944a42.
   665  //
   666  // Solidity: function matchAdvancedOrders(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),uint120,uint120,bytes,bytes)[] advancedOrders, (uint256,uint8,uint256,uint256,bytes32[])[] criteriaResolvers, ((uint256,uint256)[],(uint256,uint256)[])[] fulfillments) payable returns(((uint8,address,uint256,uint256,address),address,bytes32)[] executions)
   667  func (_Openseaseaport *OpenseaseaportTransactor) MatchAdvancedOrders(opts *bind.TransactOpts, advancedOrders []AdvancedOrder, criteriaResolvers []CriteriaResolver, fulfillments []Fulfillment) (*types.Transaction, error) {
   668  	return _Openseaseaport.contract.Transact(opts, "matchAdvancedOrders", advancedOrders, criteriaResolvers, fulfillments)
   669  }
   670  
   671  // MatchAdvancedOrders is a paid mutator transaction binding the contract method 0x55944a42.
   672  //
   673  // Solidity: function matchAdvancedOrders(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),uint120,uint120,bytes,bytes)[] advancedOrders, (uint256,uint8,uint256,uint256,bytes32[])[] criteriaResolvers, ((uint256,uint256)[],(uint256,uint256)[])[] fulfillments) payable returns(((uint8,address,uint256,uint256,address),address,bytes32)[] executions)
   674  func (_Openseaseaport *OpenseaseaportSession) MatchAdvancedOrders(advancedOrders []AdvancedOrder, criteriaResolvers []CriteriaResolver, fulfillments []Fulfillment) (*types.Transaction, error) {
   675  	return _Openseaseaport.Contract.MatchAdvancedOrders(&_Openseaseaport.TransactOpts, advancedOrders, criteriaResolvers, fulfillments)
   676  }
   677  
   678  // MatchAdvancedOrders is a paid mutator transaction binding the contract method 0x55944a42.
   679  //
   680  // Solidity: function matchAdvancedOrders(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),uint120,uint120,bytes,bytes)[] advancedOrders, (uint256,uint8,uint256,uint256,bytes32[])[] criteriaResolvers, ((uint256,uint256)[],(uint256,uint256)[])[] fulfillments) payable returns(((uint8,address,uint256,uint256,address),address,bytes32)[] executions)
   681  func (_Openseaseaport *OpenseaseaportTransactorSession) MatchAdvancedOrders(advancedOrders []AdvancedOrder, criteriaResolvers []CriteriaResolver, fulfillments []Fulfillment) (*types.Transaction, error) {
   682  	return _Openseaseaport.Contract.MatchAdvancedOrders(&_Openseaseaport.TransactOpts, advancedOrders, criteriaResolvers, fulfillments)
   683  }
   684  
   685  // MatchOrders is a paid mutator transaction binding the contract method 0xa8174404.
   686  //
   687  // Solidity: function matchOrders(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),bytes)[] orders, ((uint256,uint256)[],(uint256,uint256)[])[] fulfillments) payable returns(((uint8,address,uint256,uint256,address),address,bytes32)[] executions)
   688  func (_Openseaseaport *OpenseaseaportTransactor) MatchOrders(opts *bind.TransactOpts, orders []Order, fulfillments []Fulfillment) (*types.Transaction, error) {
   689  	return _Openseaseaport.contract.Transact(opts, "matchOrders", orders, fulfillments)
   690  }
   691  
   692  // MatchOrders is a paid mutator transaction binding the contract method 0xa8174404.
   693  //
   694  // Solidity: function matchOrders(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),bytes)[] orders, ((uint256,uint256)[],(uint256,uint256)[])[] fulfillments) payable returns(((uint8,address,uint256,uint256,address),address,bytes32)[] executions)
   695  func (_Openseaseaport *OpenseaseaportSession) MatchOrders(orders []Order, fulfillments []Fulfillment) (*types.Transaction, error) {
   696  	return _Openseaseaport.Contract.MatchOrders(&_Openseaseaport.TransactOpts, orders, fulfillments)
   697  }
   698  
   699  // MatchOrders is a paid mutator transaction binding the contract method 0xa8174404.
   700  //
   701  // Solidity: function matchOrders(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),bytes)[] orders, ((uint256,uint256)[],(uint256,uint256)[])[] fulfillments) payable returns(((uint8,address,uint256,uint256,address),address,bytes32)[] executions)
   702  func (_Openseaseaport *OpenseaseaportTransactorSession) MatchOrders(orders []Order, fulfillments []Fulfillment) (*types.Transaction, error) {
   703  	return _Openseaseaport.Contract.MatchOrders(&_Openseaseaport.TransactOpts, orders, fulfillments)
   704  }
   705  
   706  // Validate is a paid mutator transaction binding the contract method 0x88147732.
   707  //
   708  // Solidity: function validate(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),bytes)[] orders) returns(bool validated)
   709  func (_Openseaseaport *OpenseaseaportTransactor) Validate(opts *bind.TransactOpts, orders []Order) (*types.Transaction, error) {
   710  	return _Openseaseaport.contract.Transact(opts, "validate", orders)
   711  }
   712  
   713  // Validate is a paid mutator transaction binding the contract method 0x88147732.
   714  //
   715  // Solidity: function validate(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),bytes)[] orders) returns(bool validated)
   716  func (_Openseaseaport *OpenseaseaportSession) Validate(orders []Order) (*types.Transaction, error) {
   717  	return _Openseaseaport.Contract.Validate(&_Openseaseaport.TransactOpts, orders)
   718  }
   719  
   720  // Validate is a paid mutator transaction binding the contract method 0x88147732.
   721  //
   722  // Solidity: function validate(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),bytes)[] orders) returns(bool validated)
   723  func (_Openseaseaport *OpenseaseaportTransactorSession) Validate(orders []Order) (*types.Transaction, error) {
   724  	return _Openseaseaport.Contract.Validate(&_Openseaseaport.TransactOpts, orders)
   725  }
   726  
   727  // OpenseaseaportCounterIncrementedIterator is returned from FilterCounterIncremented and is used to iterate over the raw logs and unpacked data for CounterIncremented events raised by the Openseaseaport contract.
   728  type OpenseaseaportCounterIncrementedIterator struct {
   729  	Event *OpenseaseaportCounterIncremented // Event containing the contract specifics and raw log
   730  
   731  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   732  	event    string              // Event name to use for unpacking event data
   733  
   734  	logs chan types.Log        // Log channel receiving the found contract events
   735  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   736  	done bool                  // Whether the subscription completed delivering logs
   737  	fail error                 // Occurred error to stop iteration
   738  }
   739  
   740  // Next advances the iterator to the subsequent event, returning whether there
   741  // are any more events found. In case of a retrieval or parsing error, false is
   742  // returned and Error() can be queried for the exact failure.
   743  func (it *OpenseaseaportCounterIncrementedIterator) Next() bool {
   744  	// If the iterator failed, stop iterating
   745  	if it.fail != nil {
   746  		return false
   747  	}
   748  	// If the iterator completed, deliver directly whatever's available
   749  	if it.done {
   750  		select {
   751  		case log := <-it.logs:
   752  			it.Event = new(OpenseaseaportCounterIncremented)
   753  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   754  				it.fail = err
   755  				return false
   756  			}
   757  			it.Event.Raw = log
   758  			return true
   759  
   760  		default:
   761  			return false
   762  		}
   763  	}
   764  	// Iterator still in progress, wait for either a data or an error event
   765  	select {
   766  	case log := <-it.logs:
   767  		it.Event = new(OpenseaseaportCounterIncremented)
   768  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   769  			it.fail = err
   770  			return false
   771  		}
   772  		it.Event.Raw = log
   773  		return true
   774  
   775  	case err := <-it.sub.Err():
   776  		it.done = true
   777  		it.fail = err
   778  		return it.Next()
   779  	}
   780  }
   781  
   782  // Error returns any retrieval or parsing error occurred during filtering.
   783  func (it *OpenseaseaportCounterIncrementedIterator) Error() error {
   784  	return it.fail
   785  }
   786  
   787  // Close terminates the iteration process, releasing any pending underlying
   788  // resources.
   789  func (it *OpenseaseaportCounterIncrementedIterator) Close() error {
   790  	it.sub.Unsubscribe()
   791  	return nil
   792  }
   793  
   794  // OpenseaseaportCounterIncremented represents a CounterIncremented event raised by the Openseaseaport contract.
   795  type OpenseaseaportCounterIncremented struct {
   796  	NewCounter *big.Int
   797  	Offerer    common.Address
   798  	Raw        types.Log // Blockchain specific contextual infos
   799  }
   800  
   801  // FilterCounterIncremented is a free log retrieval operation binding the contract event 0x721c20121297512b72821b97f5326877ea8ecf4bb9948fea5bfcb6453074d37f.
   802  //
   803  // Solidity: event CounterIncremented(uint256 newCounter, address indexed offerer)
   804  func (_Openseaseaport *OpenseaseaportFilterer) FilterCounterIncremented(opts *bind.FilterOpts, offerer []common.Address) (*OpenseaseaportCounterIncrementedIterator, error) {
   805  
   806  	var offererRule []interface{}
   807  	for _, offererItem := range offerer {
   808  		offererRule = append(offererRule, offererItem)
   809  	}
   810  
   811  	logs, sub, err := _Openseaseaport.contract.FilterLogs(opts, "CounterIncremented", offererRule)
   812  	if err != nil {
   813  		return nil, err
   814  	}
   815  	return &OpenseaseaportCounterIncrementedIterator{contract: _Openseaseaport.contract, event: "CounterIncremented", logs: logs, sub: sub}, nil
   816  }
   817  
   818  // WatchCounterIncremented is a free log subscription operation binding the contract event 0x721c20121297512b72821b97f5326877ea8ecf4bb9948fea5bfcb6453074d37f.
   819  //
   820  // Solidity: event CounterIncremented(uint256 newCounter, address indexed offerer)
   821  func (_Openseaseaport *OpenseaseaportFilterer) WatchCounterIncremented(opts *bind.WatchOpts, sink chan<- *OpenseaseaportCounterIncremented, offerer []common.Address) (event.Subscription, error) {
   822  
   823  	var offererRule []interface{}
   824  	for _, offererItem := range offerer {
   825  		offererRule = append(offererRule, offererItem)
   826  	}
   827  
   828  	logs, sub, err := _Openseaseaport.contract.WatchLogs(opts, "CounterIncremented", offererRule)
   829  	if err != nil {
   830  		return nil, err
   831  	}
   832  	return event.NewSubscription(func(quit <-chan struct{}) error {
   833  		defer sub.Unsubscribe()
   834  		for {
   835  			select {
   836  			case log := <-logs:
   837  				// New log arrived, parse the event and forward to the user
   838  				event := new(OpenseaseaportCounterIncremented)
   839  				if err := _Openseaseaport.contract.UnpackLog(event, "CounterIncremented", log); err != nil {
   840  					return err
   841  				}
   842  				event.Raw = log
   843  
   844  				select {
   845  				case sink <- event:
   846  				case err := <-sub.Err():
   847  					return err
   848  				case <-quit:
   849  					return nil
   850  				}
   851  			case err := <-sub.Err():
   852  				return err
   853  			case <-quit:
   854  				return nil
   855  			}
   856  		}
   857  	}), nil
   858  }
   859  
   860  // ParseCounterIncremented is a log parse operation binding the contract event 0x721c20121297512b72821b97f5326877ea8ecf4bb9948fea5bfcb6453074d37f.
   861  //
   862  // Solidity: event CounterIncremented(uint256 newCounter, address indexed offerer)
   863  func (_Openseaseaport *OpenseaseaportFilterer) ParseCounterIncremented(log types.Log) (*OpenseaseaportCounterIncremented, error) {
   864  	event := new(OpenseaseaportCounterIncremented)
   865  	if err := _Openseaseaport.contract.UnpackLog(event, "CounterIncremented", log); err != nil {
   866  		return nil, err
   867  	}
   868  	event.Raw = log
   869  	return event, nil
   870  }
   871  
   872  // OpenseaseaportOrderCancelledIterator is returned from FilterOrderCancelled and is used to iterate over the raw logs and unpacked data for OrderCancelled events raised by the Openseaseaport contract.
   873  type OpenseaseaportOrderCancelledIterator struct {
   874  	Event *OpenseaseaportOrderCancelled // Event containing the contract specifics and raw log
   875  
   876  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   877  	event    string              // Event name to use for unpacking event data
   878  
   879  	logs chan types.Log        // Log channel receiving the found contract events
   880  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   881  	done bool                  // Whether the subscription completed delivering logs
   882  	fail error                 // Occurred error to stop iteration
   883  }
   884  
   885  // Next advances the iterator to the subsequent event, returning whether there
   886  // are any more events found. In case of a retrieval or parsing error, false is
   887  // returned and Error() can be queried for the exact failure.
   888  func (it *OpenseaseaportOrderCancelledIterator) Next() bool {
   889  	// If the iterator failed, stop iterating
   890  	if it.fail != nil {
   891  		return false
   892  	}
   893  	// If the iterator completed, deliver directly whatever's available
   894  	if it.done {
   895  		select {
   896  		case log := <-it.logs:
   897  			it.Event = new(OpenseaseaportOrderCancelled)
   898  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   899  				it.fail = err
   900  				return false
   901  			}
   902  			it.Event.Raw = log
   903  			return true
   904  
   905  		default:
   906  			return false
   907  		}
   908  	}
   909  	// Iterator still in progress, wait for either a data or an error event
   910  	select {
   911  	case log := <-it.logs:
   912  		it.Event = new(OpenseaseaportOrderCancelled)
   913  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   914  			it.fail = err
   915  			return false
   916  		}
   917  		it.Event.Raw = log
   918  		return true
   919  
   920  	case err := <-it.sub.Err():
   921  		it.done = true
   922  		it.fail = err
   923  		return it.Next()
   924  	}
   925  }
   926  
   927  // Error returns any retrieval or parsing error occurred during filtering.
   928  func (it *OpenseaseaportOrderCancelledIterator) Error() error {
   929  	return it.fail
   930  }
   931  
   932  // Close terminates the iteration process, releasing any pending underlying
   933  // resources.
   934  func (it *OpenseaseaportOrderCancelledIterator) Close() error {
   935  	it.sub.Unsubscribe()
   936  	return nil
   937  }
   938  
   939  // OpenseaseaportOrderCancelled represents a OrderCancelled event raised by the Openseaseaport contract.
   940  type OpenseaseaportOrderCancelled struct {
   941  	OrderHash [32]byte
   942  	Offerer   common.Address
   943  	Zone      common.Address
   944  	Raw       types.Log // Blockchain specific contextual infos
   945  }
   946  
   947  // FilterOrderCancelled is a free log retrieval operation binding the contract event 0x6bacc01dbe442496068f7d234edd811f1a5f833243e0aec824f86ab861f3c90d.
   948  //
   949  // Solidity: event OrderCancelled(bytes32 orderHash, address indexed offerer, address indexed zone)
   950  func (_Openseaseaport *OpenseaseaportFilterer) FilterOrderCancelled(opts *bind.FilterOpts, offerer []common.Address, zone []common.Address) (*OpenseaseaportOrderCancelledIterator, error) {
   951  
   952  	var offererRule []interface{}
   953  	for _, offererItem := range offerer {
   954  		offererRule = append(offererRule, offererItem)
   955  	}
   956  	var zoneRule []interface{}
   957  	for _, zoneItem := range zone {
   958  		zoneRule = append(zoneRule, zoneItem)
   959  	}
   960  
   961  	logs, sub, err := _Openseaseaport.contract.FilterLogs(opts, "OrderCancelled", offererRule, zoneRule)
   962  	if err != nil {
   963  		return nil, err
   964  	}
   965  	return &OpenseaseaportOrderCancelledIterator{contract: _Openseaseaport.contract, event: "OrderCancelled", logs: logs, sub: sub}, nil
   966  }
   967  
   968  // WatchOrderCancelled is a free log subscription operation binding the contract event 0x6bacc01dbe442496068f7d234edd811f1a5f833243e0aec824f86ab861f3c90d.
   969  //
   970  // Solidity: event OrderCancelled(bytes32 orderHash, address indexed offerer, address indexed zone)
   971  func (_Openseaseaport *OpenseaseaportFilterer) WatchOrderCancelled(opts *bind.WatchOpts, sink chan<- *OpenseaseaportOrderCancelled, offerer []common.Address, zone []common.Address) (event.Subscription, error) {
   972  
   973  	var offererRule []interface{}
   974  	for _, offererItem := range offerer {
   975  		offererRule = append(offererRule, offererItem)
   976  	}
   977  	var zoneRule []interface{}
   978  	for _, zoneItem := range zone {
   979  		zoneRule = append(zoneRule, zoneItem)
   980  	}
   981  
   982  	logs, sub, err := _Openseaseaport.contract.WatchLogs(opts, "OrderCancelled", offererRule, zoneRule)
   983  	if err != nil {
   984  		return nil, err
   985  	}
   986  	return event.NewSubscription(func(quit <-chan struct{}) error {
   987  		defer sub.Unsubscribe()
   988  		for {
   989  			select {
   990  			case log := <-logs:
   991  				// New log arrived, parse the event and forward to the user
   992  				event := new(OpenseaseaportOrderCancelled)
   993  				if err := _Openseaseaport.contract.UnpackLog(event, "OrderCancelled", log); err != nil {
   994  					return err
   995  				}
   996  				event.Raw = log
   997  
   998  				select {
   999  				case sink <- event:
  1000  				case err := <-sub.Err():
  1001  					return err
  1002  				case <-quit:
  1003  					return nil
  1004  				}
  1005  			case err := <-sub.Err():
  1006  				return err
  1007  			case <-quit:
  1008  				return nil
  1009  			}
  1010  		}
  1011  	}), nil
  1012  }
  1013  
  1014  // ParseOrderCancelled is a log parse operation binding the contract event 0x6bacc01dbe442496068f7d234edd811f1a5f833243e0aec824f86ab861f3c90d.
  1015  //
  1016  // Solidity: event OrderCancelled(bytes32 orderHash, address indexed offerer, address indexed zone)
  1017  func (_Openseaseaport *OpenseaseaportFilterer) ParseOrderCancelled(log types.Log) (*OpenseaseaportOrderCancelled, error) {
  1018  	event := new(OpenseaseaportOrderCancelled)
  1019  	if err := _Openseaseaport.contract.UnpackLog(event, "OrderCancelled", log); err != nil {
  1020  		return nil, err
  1021  	}
  1022  	event.Raw = log
  1023  	return event, nil
  1024  }
  1025  
  1026  // OpenseaseaportOrderFulfilledIterator is returned from FilterOrderFulfilled and is used to iterate over the raw logs and unpacked data for OrderFulfilled events raised by the Openseaseaport contract.
  1027  type OpenseaseaportOrderFulfilledIterator struct {
  1028  	Event *OpenseaseaportOrderFulfilled // Event containing the contract specifics and raw log
  1029  
  1030  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1031  	event    string              // Event name to use for unpacking event data
  1032  
  1033  	logs chan types.Log        // Log channel receiving the found contract events
  1034  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1035  	done bool                  // Whether the subscription completed delivering logs
  1036  	fail error                 // Occurred error to stop iteration
  1037  }
  1038  
  1039  // Next advances the iterator to the subsequent event, returning whether there
  1040  // are any more events found. In case of a retrieval or parsing error, false is
  1041  // returned and Error() can be queried for the exact failure.
  1042  func (it *OpenseaseaportOrderFulfilledIterator) Next() bool {
  1043  	// If the iterator failed, stop iterating
  1044  	if it.fail != nil {
  1045  		return false
  1046  	}
  1047  	// If the iterator completed, deliver directly whatever's available
  1048  	if it.done {
  1049  		select {
  1050  		case log := <-it.logs:
  1051  			it.Event = new(OpenseaseaportOrderFulfilled)
  1052  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1053  				it.fail = err
  1054  				return false
  1055  			}
  1056  			it.Event.Raw = log
  1057  			return true
  1058  
  1059  		default:
  1060  			return false
  1061  		}
  1062  	}
  1063  	// Iterator still in progress, wait for either a data or an error event
  1064  	select {
  1065  	case log := <-it.logs:
  1066  		it.Event = new(OpenseaseaportOrderFulfilled)
  1067  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1068  			it.fail = err
  1069  			return false
  1070  		}
  1071  		it.Event.Raw = log
  1072  		return true
  1073  
  1074  	case err := <-it.sub.Err():
  1075  		it.done = true
  1076  		it.fail = err
  1077  		return it.Next()
  1078  	}
  1079  }
  1080  
  1081  // Error returns any retrieval or parsing error occurred during filtering.
  1082  func (it *OpenseaseaportOrderFulfilledIterator) Error() error {
  1083  	return it.fail
  1084  }
  1085  
  1086  // Close terminates the iteration process, releasing any pending underlying
  1087  // resources.
  1088  func (it *OpenseaseaportOrderFulfilledIterator) Close() error {
  1089  	it.sub.Unsubscribe()
  1090  	return nil
  1091  }
  1092  
  1093  // OpenseaseaportOrderFulfilled represents a OrderFulfilled event raised by the Openseaseaport contract.
  1094  type OpenseaseaportOrderFulfilled struct {
  1095  	OrderHash     [32]byte
  1096  	Offerer       common.Address
  1097  	Zone          common.Address
  1098  	Recipient     common.Address
  1099  	Offer         []SpentItem
  1100  	Consideration []ReceivedItem
  1101  	Raw           types.Log // Blockchain specific contextual infos
  1102  }
  1103  
  1104  // FilterOrderFulfilled is a free log retrieval operation binding the contract event 0x9d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31.
  1105  //
  1106  // Solidity: event OrderFulfilled(bytes32 orderHash, address indexed offerer, address indexed zone, address recipient, (uint8,address,uint256,uint256)[] offer, (uint8,address,uint256,uint256,address)[] consideration)
  1107  func (_Openseaseaport *OpenseaseaportFilterer) FilterOrderFulfilled(opts *bind.FilterOpts, offerer []common.Address, zone []common.Address) (*OpenseaseaportOrderFulfilledIterator, error) {
  1108  
  1109  	var offererRule []interface{}
  1110  	for _, offererItem := range offerer {
  1111  		offererRule = append(offererRule, offererItem)
  1112  	}
  1113  	var zoneRule []interface{}
  1114  	for _, zoneItem := range zone {
  1115  		zoneRule = append(zoneRule, zoneItem)
  1116  	}
  1117  
  1118  	logs, sub, err := _Openseaseaport.contract.FilterLogs(opts, "OrderFulfilled", offererRule, zoneRule)
  1119  	if err != nil {
  1120  		return nil, err
  1121  	}
  1122  	return &OpenseaseaportOrderFulfilledIterator{contract: _Openseaseaport.contract, event: "OrderFulfilled", logs: logs, sub: sub}, nil
  1123  }
  1124  
  1125  // WatchOrderFulfilled is a free log subscription operation binding the contract event 0x9d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31.
  1126  //
  1127  // Solidity: event OrderFulfilled(bytes32 orderHash, address indexed offerer, address indexed zone, address recipient, (uint8,address,uint256,uint256)[] offer, (uint8,address,uint256,uint256,address)[] consideration)
  1128  func (_Openseaseaport *OpenseaseaportFilterer) WatchOrderFulfilled(opts *bind.WatchOpts, sink chan<- *OpenseaseaportOrderFulfilled, offerer []common.Address, zone []common.Address) (event.Subscription, error) {
  1129  
  1130  	var offererRule []interface{}
  1131  	for _, offererItem := range offerer {
  1132  		offererRule = append(offererRule, offererItem)
  1133  	}
  1134  	var zoneRule []interface{}
  1135  	for _, zoneItem := range zone {
  1136  		zoneRule = append(zoneRule, zoneItem)
  1137  	}
  1138  
  1139  	logs, sub, err := _Openseaseaport.contract.WatchLogs(opts, "OrderFulfilled", offererRule, zoneRule)
  1140  	if err != nil {
  1141  		return nil, err
  1142  	}
  1143  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1144  		defer sub.Unsubscribe()
  1145  		for {
  1146  			select {
  1147  			case log := <-logs:
  1148  				// New log arrived, parse the event and forward to the user
  1149  				event := new(OpenseaseaportOrderFulfilled)
  1150  				if err := _Openseaseaport.contract.UnpackLog(event, "OrderFulfilled", log); err != nil {
  1151  					return err
  1152  				}
  1153  				event.Raw = log
  1154  
  1155  				select {
  1156  				case sink <- event:
  1157  				case err := <-sub.Err():
  1158  					return err
  1159  				case <-quit:
  1160  					return nil
  1161  				}
  1162  			case err := <-sub.Err():
  1163  				return err
  1164  			case <-quit:
  1165  				return nil
  1166  			}
  1167  		}
  1168  	}), nil
  1169  }
  1170  
  1171  // ParseOrderFulfilled is a log parse operation binding the contract event 0x9d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31.
  1172  //
  1173  // Solidity: event OrderFulfilled(bytes32 orderHash, address indexed offerer, address indexed zone, address recipient, (uint8,address,uint256,uint256)[] offer, (uint8,address,uint256,uint256,address)[] consideration)
  1174  func (_Openseaseaport *OpenseaseaportFilterer) ParseOrderFulfilled(log types.Log) (*OpenseaseaportOrderFulfilled, error) {
  1175  	event := new(OpenseaseaportOrderFulfilled)
  1176  	if err := _Openseaseaport.contract.UnpackLog(event, "OrderFulfilled", log); err != nil {
  1177  		return nil, err
  1178  	}
  1179  	event.Raw = log
  1180  	return event, nil
  1181  }
  1182  
  1183  // OpenseaseaportOrderValidatedIterator is returned from FilterOrderValidated and is used to iterate over the raw logs and unpacked data for OrderValidated events raised by the Openseaseaport contract.
  1184  type OpenseaseaportOrderValidatedIterator struct {
  1185  	Event *OpenseaseaportOrderValidated // Event containing the contract specifics and raw log
  1186  
  1187  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1188  	event    string              // Event name to use for unpacking event data
  1189  
  1190  	logs chan types.Log        // Log channel receiving the found contract events
  1191  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1192  	done bool                  // Whether the subscription completed delivering logs
  1193  	fail error                 // Occurred error to stop iteration
  1194  }
  1195  
  1196  // Next advances the iterator to the subsequent event, returning whether there
  1197  // are any more events found. In case of a retrieval or parsing error, false is
  1198  // returned and Error() can be queried for the exact failure.
  1199  func (it *OpenseaseaportOrderValidatedIterator) Next() bool {
  1200  	// If the iterator failed, stop iterating
  1201  	if it.fail != nil {
  1202  		return false
  1203  	}
  1204  	// If the iterator completed, deliver directly whatever's available
  1205  	if it.done {
  1206  		select {
  1207  		case log := <-it.logs:
  1208  			it.Event = new(OpenseaseaportOrderValidated)
  1209  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1210  				it.fail = err
  1211  				return false
  1212  			}
  1213  			it.Event.Raw = log
  1214  			return true
  1215  
  1216  		default:
  1217  			return false
  1218  		}
  1219  	}
  1220  	// Iterator still in progress, wait for either a data or an error event
  1221  	select {
  1222  	case log := <-it.logs:
  1223  		it.Event = new(OpenseaseaportOrderValidated)
  1224  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1225  			it.fail = err
  1226  			return false
  1227  		}
  1228  		it.Event.Raw = log
  1229  		return true
  1230  
  1231  	case err := <-it.sub.Err():
  1232  		it.done = true
  1233  		it.fail = err
  1234  		return it.Next()
  1235  	}
  1236  }
  1237  
  1238  // Error returns any retrieval or parsing error occurred during filtering.
  1239  func (it *OpenseaseaportOrderValidatedIterator) Error() error {
  1240  	return it.fail
  1241  }
  1242  
  1243  // Close terminates the iteration process, releasing any pending underlying
  1244  // resources.
  1245  func (it *OpenseaseaportOrderValidatedIterator) Close() error {
  1246  	it.sub.Unsubscribe()
  1247  	return nil
  1248  }
  1249  
  1250  // OpenseaseaportOrderValidated represents a OrderValidated event raised by the Openseaseaport contract.
  1251  type OpenseaseaportOrderValidated struct {
  1252  	OrderHash [32]byte
  1253  	Offerer   common.Address
  1254  	Zone      common.Address
  1255  	Raw       types.Log // Blockchain specific contextual infos
  1256  }
  1257  
  1258  // FilterOrderValidated is a free log retrieval operation binding the contract event 0xfde361574a066b44b3b5fe98a87108b7565e327327954c4faeea56a4e6491a0a.
  1259  //
  1260  // Solidity: event OrderValidated(bytes32 orderHash, address indexed offerer, address indexed zone)
  1261  func (_Openseaseaport *OpenseaseaportFilterer) FilterOrderValidated(opts *bind.FilterOpts, offerer []common.Address, zone []common.Address) (*OpenseaseaportOrderValidatedIterator, error) {
  1262  
  1263  	var offererRule []interface{}
  1264  	for _, offererItem := range offerer {
  1265  		offererRule = append(offererRule, offererItem)
  1266  	}
  1267  	var zoneRule []interface{}
  1268  	for _, zoneItem := range zone {
  1269  		zoneRule = append(zoneRule, zoneItem)
  1270  	}
  1271  
  1272  	logs, sub, err := _Openseaseaport.contract.FilterLogs(opts, "OrderValidated", offererRule, zoneRule)
  1273  	if err != nil {
  1274  		return nil, err
  1275  	}
  1276  	return &OpenseaseaportOrderValidatedIterator{contract: _Openseaseaport.contract, event: "OrderValidated", logs: logs, sub: sub}, nil
  1277  }
  1278  
  1279  // WatchOrderValidated is a free log subscription operation binding the contract event 0xfde361574a066b44b3b5fe98a87108b7565e327327954c4faeea56a4e6491a0a.
  1280  //
  1281  // Solidity: event OrderValidated(bytes32 orderHash, address indexed offerer, address indexed zone)
  1282  func (_Openseaseaport *OpenseaseaportFilterer) WatchOrderValidated(opts *bind.WatchOpts, sink chan<- *OpenseaseaportOrderValidated, offerer []common.Address, zone []common.Address) (event.Subscription, error) {
  1283  
  1284  	var offererRule []interface{}
  1285  	for _, offererItem := range offerer {
  1286  		offererRule = append(offererRule, offererItem)
  1287  	}
  1288  	var zoneRule []interface{}
  1289  	for _, zoneItem := range zone {
  1290  		zoneRule = append(zoneRule, zoneItem)
  1291  	}
  1292  
  1293  	logs, sub, err := _Openseaseaport.contract.WatchLogs(opts, "OrderValidated", offererRule, zoneRule)
  1294  	if err != nil {
  1295  		return nil, err
  1296  	}
  1297  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1298  		defer sub.Unsubscribe()
  1299  		for {
  1300  			select {
  1301  			case log := <-logs:
  1302  				// New log arrived, parse the event and forward to the user
  1303  				event := new(OpenseaseaportOrderValidated)
  1304  				if err := _Openseaseaport.contract.UnpackLog(event, "OrderValidated", log); err != nil {
  1305  					return err
  1306  				}
  1307  				event.Raw = log
  1308  
  1309  				select {
  1310  				case sink <- event:
  1311  				case err := <-sub.Err():
  1312  					return err
  1313  				case <-quit:
  1314  					return nil
  1315  				}
  1316  			case err := <-sub.Err():
  1317  				return err
  1318  			case <-quit:
  1319  				return nil
  1320  			}
  1321  		}
  1322  	}), nil
  1323  }
  1324  
  1325  // ParseOrderValidated is a log parse operation binding the contract event 0xfde361574a066b44b3b5fe98a87108b7565e327327954c4faeea56a4e6491a0a.
  1326  //
  1327  // Solidity: event OrderValidated(bytes32 orderHash, address indexed offerer, address indexed zone)
  1328  func (_Openseaseaport *OpenseaseaportFilterer) ParseOrderValidated(log types.Log) (*OpenseaseaportOrderValidated, error) {
  1329  	event := new(OpenseaseaportOrderValidated)
  1330  	if err := _Openseaseaport.contract.UnpackLog(event, "OrderValidated", log); err != nil {
  1331  		return nil, err
  1332  	}
  1333  	event.Raw = log
  1334  	return event, nil
  1335  }