github.com/diadata-org/diadata@v1.4.593/config/nftContracts/opensea/contract.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 opensea
     5  
     6  import (
     7  	"math/big"
     8  	"strings"
     9  
    10  	ethereum "github.com/ethereum/go-ethereum"
    11  	"github.com/ethereum/go-ethereum/accounts/abi"
    12  	"github.com/ethereum/go-ethereum/accounts/abi/bind"
    13  	"github.com/ethereum/go-ethereum/common"
    14  	"github.com/ethereum/go-ethereum/core/types"
    15  	"github.com/ethereum/go-ethereum/event"
    16  )
    17  
    18  // Reference imports to suppress errors if they are not otherwise used.
    19  var (
    20  	_ = big.NewInt
    21  	_ = strings.NewReader
    22  	_ = ethereum.NotFound
    23  	_ = bind.Bind
    24  	_ = common.Big1
    25  	_ = types.BloomLookup
    26  	_ = event.NewSubscription
    27  )
    28  
    29  // ContractABI is the input ABI used to generate the binding from.
    30  const ContractABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenTransferProxy\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"target\",\"type\":\"address\"},{\"name\":\"calldata\",\"type\":\"bytes\"},{\"name\":\"extradata\",\"type\":\"bytes\"}],\"name\":\"staticCall\",\"outputs\":[{\"name\":\"result\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newMinimumMakerProtocolFee\",\"type\":\"uint256\"}],\"name\":\"changeMinimumMakerProtocolFee\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newMinimumTakerProtocolFee\",\"type\":\"uint256\"}],\"name\":\"changeMinimumTakerProtocolFee\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"array\",\"type\":\"bytes\"},{\"name\":\"desired\",\"type\":\"bytes\"},{\"name\":\"mask\",\"type\":\"bytes\"}],\"name\":\"guardedArrayReplace\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumTakerProtocolFee\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"codename\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"testCopyAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"arrToCopy\",\"type\":\"bytes\"}],\"name\":\"testCopy\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"addrs\",\"type\":\"address[7]\"},{\"name\":\"uints\",\"type\":\"uint256[9]\"},{\"name\":\"feeMethod\",\"type\":\"uint8\"},{\"name\":\"side\",\"type\":\"uint8\"},{\"name\":\"saleKind\",\"type\":\"uint8\"},{\"name\":\"howToCall\",\"type\":\"uint8\"},{\"name\":\"calldata\",\"type\":\"bytes\"},{\"name\":\"replacementPattern\",\"type\":\"bytes\"},{\"name\":\"staticExtradata\",\"type\":\"bytes\"}],\"name\":\"calculateCurrentPrice_\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newProtocolFeeRecipient\",\"type\":\"address\"}],\"name\":\"changeProtocolFeeRecipient\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"buyCalldata\",\"type\":\"bytes\"},{\"name\":\"buyReplacementPattern\",\"type\":\"bytes\"},{\"name\":\"sellCalldata\",\"type\":\"bytes\"},{\"name\":\"sellReplacementPattern\",\"type\":\"bytes\"}],\"name\":\"orderCalldataCanMatch\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"addrs\",\"type\":\"address[7]\"},{\"name\":\"uints\",\"type\":\"uint256[9]\"},{\"name\":\"feeMethod\",\"type\":\"uint8\"},{\"name\":\"side\",\"type\":\"uint8\"},{\"name\":\"saleKind\",\"type\":\"uint8\"},{\"name\":\"howToCall\",\"type\":\"uint8\"},{\"name\":\"calldata\",\"type\":\"bytes\"},{\"name\":\"replacementPattern\",\"type\":\"bytes\"},{\"name\":\"staticExtradata\",\"type\":\"bytes\"},{\"name\":\"v\",\"type\":\"uint8\"},{\"name\":\"r\",\"type\":\"bytes32\"},{\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"validateOrder_\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"side\",\"type\":\"uint8\"},{\"name\":\"saleKind\",\"type\":\"uint8\"},{\"name\":\"basePrice\",\"type\":\"uint256\"},{\"name\":\"extra\",\"type\":\"uint256\"},{\"name\":\"listingTime\",\"type\":\"uint256\"},{\"name\":\"expirationTime\",\"type\":\"uint256\"}],\"name\":\"calculateFinalPrice\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"protocolFeeRecipient\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"addrs\",\"type\":\"address[7]\"},{\"name\":\"uints\",\"type\":\"uint256[9]\"},{\"name\":\"feeMethod\",\"type\":\"uint8\"},{\"name\":\"side\",\"type\":\"uint8\"},{\"name\":\"saleKind\",\"type\":\"uint8\"},{\"name\":\"howToCall\",\"type\":\"uint8\"},{\"name\":\"calldata\",\"type\":\"bytes\"},{\"name\":\"replacementPattern\",\"type\":\"bytes\"},{\"name\":\"staticExtradata\",\"type\":\"bytes\"}],\"name\":\"hashOrder_\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"addrs\",\"type\":\"address[14]\"},{\"name\":\"uints\",\"type\":\"uint256[18]\"},{\"name\":\"feeMethodsSidesKindsHowToCalls\",\"type\":\"uint8[8]\"},{\"name\":\"calldataBuy\",\"type\":\"bytes\"},{\"name\":\"calldataSell\",\"type\":\"bytes\"},{\"name\":\"replacementPatternBuy\",\"type\":\"bytes\"},{\"name\":\"replacementPatternSell\",\"type\":\"bytes\"},{\"name\":\"staticExtradataBuy\",\"type\":\"bytes\"},{\"name\":\"staticExtradataSell\",\"type\":\"bytes\"}],\"name\":\"ordersCanMatch_\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"addrs\",\"type\":\"address[7]\"},{\"name\":\"uints\",\"type\":\"uint256[9]\"},{\"name\":\"feeMethod\",\"type\":\"uint8\"},{\"name\":\"side\",\"type\":\"uint8\"},{\"name\":\"saleKind\",\"type\":\"uint8\"},{\"name\":\"howToCall\",\"type\":\"uint8\"},{\"name\":\"calldata\",\"type\":\"bytes\"},{\"name\":\"replacementPattern\",\"type\":\"bytes\"},{\"name\":\"staticExtradata\",\"type\":\"bytes\"},{\"name\":\"orderbookInclusionDesired\",\"type\":\"bool\"}],\"name\":\"approveOrder_\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumMakerProtocolFee\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"addrs\",\"type\":\"address[7]\"},{\"name\":\"uints\",\"type\":\"uint256[9]\"},{\"name\":\"feeMethod\",\"type\":\"uint8\"},{\"name\":\"side\",\"type\":\"uint8\"},{\"name\":\"saleKind\",\"type\":\"uint8\"},{\"name\":\"howToCall\",\"type\":\"uint8\"},{\"name\":\"calldata\",\"type\":\"bytes\"},{\"name\":\"replacementPattern\",\"type\":\"bytes\"},{\"name\":\"staticExtradata\",\"type\":\"bytes\"}],\"name\":\"hashToSign_\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"cancelledOrFinalized\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"exchangeToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"addrs\",\"type\":\"address[7]\"},{\"name\":\"uints\",\"type\":\"uint256[9]\"},{\"name\":\"feeMethod\",\"type\":\"uint8\"},{\"name\":\"side\",\"type\":\"uint8\"},{\"name\":\"saleKind\",\"type\":\"uint8\"},{\"name\":\"howToCall\",\"type\":\"uint8\"},{\"name\":\"calldata\",\"type\":\"bytes\"},{\"name\":\"replacementPattern\",\"type\":\"bytes\"},{\"name\":\"staticExtradata\",\"type\":\"bytes\"},{\"name\":\"v\",\"type\":\"uint8\"},{\"name\":\"r\",\"type\":\"bytes32\"},{\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"cancelOrder_\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"addrs\",\"type\":\"address[14]\"},{\"name\":\"uints\",\"type\":\"uint256[18]\"},{\"name\":\"feeMethodsSidesKindsHowToCalls\",\"type\":\"uint8[8]\"},{\"name\":\"calldataBuy\",\"type\":\"bytes\"},{\"name\":\"calldataSell\",\"type\":\"bytes\"},{\"name\":\"replacementPatternBuy\",\"type\":\"bytes\"},{\"name\":\"replacementPatternSell\",\"type\":\"bytes\"},{\"name\":\"staticExtradataBuy\",\"type\":\"bytes\"},{\"name\":\"staticExtradataSell\",\"type\":\"bytes\"},{\"name\":\"vs\",\"type\":\"uint8[2]\"},{\"name\":\"rssMetadata\",\"type\":\"bytes32[5]\"}],\"name\":\"atomicMatch_\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"addrs\",\"type\":\"address[7]\"},{\"name\":\"uints\",\"type\":\"uint256[9]\"},{\"name\":\"feeMethod\",\"type\":\"uint8\"},{\"name\":\"side\",\"type\":\"uint8\"},{\"name\":\"saleKind\",\"type\":\"uint8\"},{\"name\":\"howToCall\",\"type\":\"uint8\"},{\"name\":\"calldata\",\"type\":\"bytes\"},{\"name\":\"replacementPattern\",\"type\":\"bytes\"},{\"name\":\"staticExtradata\",\"type\":\"bytes\"}],\"name\":\"validateOrderParameters_\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INVERSE_BASIS_POINT\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"addrs\",\"type\":\"address[14]\"},{\"name\":\"uints\",\"type\":\"uint256[18]\"},{\"name\":\"feeMethodsSidesKindsHowToCalls\",\"type\":\"uint8[8]\"},{\"name\":\"calldataBuy\",\"type\":\"bytes\"},{\"name\":\"calldataSell\",\"type\":\"bytes\"},{\"name\":\"replacementPatternBuy\",\"type\":\"bytes\"},{\"name\":\"replacementPatternSell\",\"type\":\"bytes\"},{\"name\":\"staticExtradataBuy\",\"type\":\"bytes\"},{\"name\":\"staticExtradataSell\",\"type\":\"bytes\"}],\"name\":\"calculateMatchPrice_\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"approvedOrders\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"registryAddress\",\"type\":\"address\"},{\"name\":\"tokenTransferProxyAddress\",\"type\":\"address\"},{\"name\":\"tokenAddress\",\"type\":\"address\"},{\"name\":\"protocolFeeAddress\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"exchange\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"maker\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"taker\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"makerRelayerFee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"takerRelayerFee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"makerProtocolFee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"takerProtocolFee\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"feeRecipient\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"feeMethod\",\"type\":\"uint8\"},{\"indexed\":false,\"name\":\"side\",\"type\":\"uint8\"},{\"indexed\":false,\"name\":\"saleKind\",\"type\":\"uint8\"},{\"indexed\":false,\"name\":\"target\",\"type\":\"address\"}],\"name\":\"OrderApprovedPartOne\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"howToCall\",\"type\":\"uint8\"},{\"indexed\":false,\"name\":\"calldata\",\"type\":\"bytes\"},{\"indexed\":false,\"name\":\"replacementPattern\",\"type\":\"bytes\"},{\"indexed\":false,\"name\":\"staticTarget\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"staticExtradata\",\"type\":\"bytes\"},{\"indexed\":false,\"name\":\"paymentToken\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"basePrice\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extra\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"listingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"expirationTime\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"salt\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"orderbookInclusionDesired\",\"type\":\"bool\"}],\"name\":\"OrderApprovedPartTwo\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"OrderCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"buyHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"sellHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"maker\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"taker\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"metadata\",\"type\":\"bytes32\"}],\"name\":\"OrdersMatched\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"}],\"name\":\"OwnershipRenounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]"
    31  
    32  // Contract is an auto generated Go binding around an Ethereum contract.
    33  type Contract struct {
    34  	ContractCaller     // Read-only binding to the contract
    35  	ContractTransactor // Write-only binding to the contract
    36  	ContractFilterer   // Log filterer for contract events
    37  }
    38  
    39  // ContractCaller is an auto generated read-only Go binding around an Ethereum contract.
    40  type ContractCaller struct {
    41  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    42  }
    43  
    44  // ContractTransactor is an auto generated write-only Go binding around an Ethereum contract.
    45  type ContractTransactor struct {
    46  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    47  }
    48  
    49  // ContractFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    50  type ContractFilterer struct {
    51  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    52  }
    53  
    54  // ContractSession is an auto generated Go binding around an Ethereum contract,
    55  // with pre-set call and transact options.
    56  type ContractSession struct {
    57  	Contract     *Contract         // Generic contract binding to set the session for
    58  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    59  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    60  }
    61  
    62  // ContractCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    63  // with pre-set call options.
    64  type ContractCallerSession struct {
    65  	Contract *ContractCaller // Generic contract caller binding to set the session for
    66  	CallOpts bind.CallOpts   // Call options to use throughout this session
    67  }
    68  
    69  // ContractTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    70  // with pre-set transact options.
    71  type ContractTransactorSession struct {
    72  	Contract     *ContractTransactor // Generic contract transactor binding to set the session for
    73  	TransactOpts bind.TransactOpts   // Transaction auth options to use throughout this session
    74  }
    75  
    76  // ContractRaw is an auto generated low-level Go binding around an Ethereum contract.
    77  type ContractRaw struct {
    78  	Contract *Contract // Generic contract binding to access the raw methods on
    79  }
    80  
    81  // ContractCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
    82  type ContractCallerRaw struct {
    83  	Contract *ContractCaller // Generic read-only contract binding to access the raw methods on
    84  }
    85  
    86  // ContractTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
    87  type ContractTransactorRaw struct {
    88  	Contract *ContractTransactor // Generic write-only contract binding to access the raw methods on
    89  }
    90  
    91  // NewContract creates a new instance of Contract, bound to a specific deployed contract.
    92  func NewContract(address common.Address, backend bind.ContractBackend) (*Contract, error) {
    93  	contract, err := bindContract(address, backend, backend, backend)
    94  	if err != nil {
    95  		return nil, err
    96  	}
    97  	return &Contract{ContractCaller: ContractCaller{contract: contract}, ContractTransactor: ContractTransactor{contract: contract}, ContractFilterer: ContractFilterer{contract: contract}}, nil
    98  }
    99  
   100  // NewContractCaller creates a new read-only instance of Contract, bound to a specific deployed contract.
   101  func NewContractCaller(address common.Address, caller bind.ContractCaller) (*ContractCaller, error) {
   102  	contract, err := bindContract(address, caller, nil, nil)
   103  	if err != nil {
   104  		return nil, err
   105  	}
   106  	return &ContractCaller{contract: contract}, nil
   107  }
   108  
   109  // NewContractTransactor creates a new write-only instance of Contract, bound to a specific deployed contract.
   110  func NewContractTransactor(address common.Address, transactor bind.ContractTransactor) (*ContractTransactor, error) {
   111  	contract, err := bindContract(address, nil, transactor, nil)
   112  	if err != nil {
   113  		return nil, err
   114  	}
   115  	return &ContractTransactor{contract: contract}, nil
   116  }
   117  
   118  // NewContractFilterer creates a new log filterer instance of Contract, bound to a specific deployed contract.
   119  func NewContractFilterer(address common.Address, filterer bind.ContractFilterer) (*ContractFilterer, error) {
   120  	contract, err := bindContract(address, nil, nil, filterer)
   121  	if err != nil {
   122  		return nil, err
   123  	}
   124  	return &ContractFilterer{contract: contract}, nil
   125  }
   126  
   127  // bindContract binds a generic wrapper to an already deployed contract.
   128  func bindContract(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   129  	parsed, err := abi.JSON(strings.NewReader(ContractABI))
   130  	if err != nil {
   131  		return nil, err
   132  	}
   133  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
   134  }
   135  
   136  // Call invokes the (constant) contract method with params as input values and
   137  // sets the output to result. The result type might be a single field for simple
   138  // returns, a slice of interfaces for anonymous returns and a struct for named
   139  // returns.
   140  func (_Contract *ContractRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   141  	return _Contract.Contract.ContractCaller.contract.Call(opts, result, method, params...)
   142  }
   143  
   144  // Transfer initiates a plain transaction to move funds to the contract, calling
   145  // its default method if one is available.
   146  func (_Contract *ContractRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   147  	return _Contract.Contract.ContractTransactor.contract.Transfer(opts)
   148  }
   149  
   150  // Transact invokes the (paid) contract method with params as input values.
   151  func (_Contract *ContractRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   152  	return _Contract.Contract.ContractTransactor.contract.Transact(opts, method, params...)
   153  }
   154  
   155  // Call invokes the (constant) contract method with params as input values and
   156  // sets the output to result. The result type might be a single field for simple
   157  // returns, a slice of interfaces for anonymous returns and a struct for named
   158  // returns.
   159  func (_Contract *ContractCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   160  	return _Contract.Contract.contract.Call(opts, result, method, params...)
   161  }
   162  
   163  // Transfer initiates a plain transaction to move funds to the contract, calling
   164  // its default method if one is available.
   165  func (_Contract *ContractTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   166  	return _Contract.Contract.contract.Transfer(opts)
   167  }
   168  
   169  // Transact invokes the (paid) contract method with params as input values.
   170  func (_Contract *ContractTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   171  	return _Contract.Contract.contract.Transact(opts, method, params...)
   172  }
   173  
   174  // INVERSEBASISPOINT is a free data retrieval call binding the contract method 0xcae6047f.
   175  //
   176  // Solidity: function INVERSE_BASIS_POINT() view returns(uint256)
   177  func (_Contract *ContractCaller) INVERSEBASISPOINT(opts *bind.CallOpts) (*big.Int, error) {
   178  	var out []interface{}
   179  	err := _Contract.contract.Call(opts, &out, "INVERSE_BASIS_POINT")
   180  
   181  	if err != nil {
   182  		return *new(*big.Int), err
   183  	}
   184  
   185  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   186  
   187  	return out0, err
   188  
   189  }
   190  
   191  // INVERSEBASISPOINT is a free data retrieval call binding the contract method 0xcae6047f.
   192  //
   193  // Solidity: function INVERSE_BASIS_POINT() view returns(uint256)
   194  func (_Contract *ContractSession) INVERSEBASISPOINT() (*big.Int, error) {
   195  	return _Contract.Contract.INVERSEBASISPOINT(&_Contract.CallOpts)
   196  }
   197  
   198  // INVERSEBASISPOINT is a free data retrieval call binding the contract method 0xcae6047f.
   199  //
   200  // Solidity: function INVERSE_BASIS_POINT() view returns(uint256)
   201  func (_Contract *ContractCallerSession) INVERSEBASISPOINT() (*big.Int, error) {
   202  	return _Contract.Contract.INVERSEBASISPOINT(&_Contract.CallOpts)
   203  }
   204  
   205  // ApprovedOrders is a free data retrieval call binding the contract method 0xe57d4adb.
   206  //
   207  // Solidity: function approvedOrders(bytes32 ) view returns(bool)
   208  func (_Contract *ContractCaller) ApprovedOrders(opts *bind.CallOpts, arg0 [32]byte) (bool, error) {
   209  	var out []interface{}
   210  	err := _Contract.contract.Call(opts, &out, "approvedOrders", arg0)
   211  
   212  	if err != nil {
   213  		return *new(bool), err
   214  	}
   215  
   216  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   217  
   218  	return out0, err
   219  
   220  }
   221  
   222  // ApprovedOrders is a free data retrieval call binding the contract method 0xe57d4adb.
   223  //
   224  // Solidity: function approvedOrders(bytes32 ) view returns(bool)
   225  func (_Contract *ContractSession) ApprovedOrders(arg0 [32]byte) (bool, error) {
   226  	return _Contract.Contract.ApprovedOrders(&_Contract.CallOpts, arg0)
   227  }
   228  
   229  // ApprovedOrders is a free data retrieval call binding the contract method 0xe57d4adb.
   230  //
   231  // Solidity: function approvedOrders(bytes32 ) view returns(bool)
   232  func (_Contract *ContractCallerSession) ApprovedOrders(arg0 [32]byte) (bool, error) {
   233  	return _Contract.Contract.ApprovedOrders(&_Contract.CallOpts, arg0)
   234  }
   235  
   236  // CalculateCurrentPrice is a free data retrieval call binding the contract method 0x3f67ee0d.
   237  //
   238  // Solidity: function calculateCurrentPrice_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata) view returns(uint256)
   239  func (_Contract *ContractCaller) CalculateCurrentPrice(opts *bind.CallOpts, addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte) (*big.Int, error) {
   240  	var out []interface{}
   241  	err := _Contract.contract.Call(opts, &out, "calculateCurrentPrice_", addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata)
   242  
   243  	if err != nil {
   244  		return *new(*big.Int), err
   245  	}
   246  
   247  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   248  
   249  	return out0, err
   250  
   251  }
   252  
   253  // CalculateCurrentPrice is a free data retrieval call binding the contract method 0x3f67ee0d.
   254  //
   255  // Solidity: function calculateCurrentPrice_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata) view returns(uint256)
   256  func (_Contract *ContractSession) CalculateCurrentPrice(addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte) (*big.Int, error) {
   257  	return _Contract.Contract.CalculateCurrentPrice(&_Contract.CallOpts, addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata)
   258  }
   259  
   260  // CalculateCurrentPrice is a free data retrieval call binding the contract method 0x3f67ee0d.
   261  //
   262  // Solidity: function calculateCurrentPrice_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata) view returns(uint256)
   263  func (_Contract *ContractCallerSession) CalculateCurrentPrice(addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte) (*big.Int, error) {
   264  	return _Contract.Contract.CalculateCurrentPrice(&_Contract.CallOpts, addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata)
   265  }
   266  
   267  // CalculateFinalPrice is a free data retrieval call binding the contract method 0x63d36c0b.
   268  //
   269  // Solidity: function calculateFinalPrice(uint8 side, uint8 saleKind, uint256 basePrice, uint256 extra, uint256 listingTime, uint256 expirationTime) view returns(uint256)
   270  func (_Contract *ContractCaller) CalculateFinalPrice(opts *bind.CallOpts, side uint8, saleKind uint8, basePrice *big.Int, extra *big.Int, listingTime *big.Int, expirationTime *big.Int) (*big.Int, error) {
   271  	var out []interface{}
   272  	err := _Contract.contract.Call(opts, &out, "calculateFinalPrice", side, saleKind, basePrice, extra, listingTime, expirationTime)
   273  
   274  	if err != nil {
   275  		return *new(*big.Int), err
   276  	}
   277  
   278  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   279  
   280  	return out0, err
   281  
   282  }
   283  
   284  // CalculateFinalPrice is a free data retrieval call binding the contract method 0x63d36c0b.
   285  //
   286  // Solidity: function calculateFinalPrice(uint8 side, uint8 saleKind, uint256 basePrice, uint256 extra, uint256 listingTime, uint256 expirationTime) view returns(uint256)
   287  func (_Contract *ContractSession) CalculateFinalPrice(side uint8, saleKind uint8, basePrice *big.Int, extra *big.Int, listingTime *big.Int, expirationTime *big.Int) (*big.Int, error) {
   288  	return _Contract.Contract.CalculateFinalPrice(&_Contract.CallOpts, side, saleKind, basePrice, extra, listingTime, expirationTime)
   289  }
   290  
   291  // CalculateFinalPrice is a free data retrieval call binding the contract method 0x63d36c0b.
   292  //
   293  // Solidity: function calculateFinalPrice(uint8 side, uint8 saleKind, uint256 basePrice, uint256 extra, uint256 listingTime, uint256 expirationTime) view returns(uint256)
   294  func (_Contract *ContractCallerSession) CalculateFinalPrice(side uint8, saleKind uint8, basePrice *big.Int, extra *big.Int, listingTime *big.Int, expirationTime *big.Int) (*big.Int, error) {
   295  	return _Contract.Contract.CalculateFinalPrice(&_Contract.CallOpts, side, saleKind, basePrice, extra, listingTime, expirationTime)
   296  }
   297  
   298  // CalculateMatchPrice is a free data retrieval call binding the contract method 0xd537e131.
   299  //
   300  // Solidity: function calculateMatchPrice_(address[14] addrs, uint256[18] uints, uint8[8] feeMethodsSidesKindsHowToCalls, bytes calldataBuy, bytes calldataSell, bytes replacementPatternBuy, bytes replacementPatternSell, bytes staticExtradataBuy, bytes staticExtradataSell) view returns(uint256)
   301  func (_Contract *ContractCaller) CalculateMatchPrice(opts *bind.CallOpts, addrs [14]common.Address, uints [18]*big.Int, feeMethodsSidesKindsHowToCalls [8]uint8, calldataBuy []byte, calldataSell []byte, replacementPatternBuy []byte, replacementPatternSell []byte, staticExtradataBuy []byte, staticExtradataSell []byte) (*big.Int, error) {
   302  	var out []interface{}
   303  	err := _Contract.contract.Call(opts, &out, "calculateMatchPrice_", addrs, uints, feeMethodsSidesKindsHowToCalls, calldataBuy, calldataSell, replacementPatternBuy, replacementPatternSell, staticExtradataBuy, staticExtradataSell)
   304  
   305  	if err != nil {
   306  		return *new(*big.Int), err
   307  	}
   308  
   309  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   310  
   311  	return out0, err
   312  
   313  }
   314  
   315  // CalculateMatchPrice is a free data retrieval call binding the contract method 0xd537e131.
   316  //
   317  // Solidity: function calculateMatchPrice_(address[14] addrs, uint256[18] uints, uint8[8] feeMethodsSidesKindsHowToCalls, bytes calldataBuy, bytes calldataSell, bytes replacementPatternBuy, bytes replacementPatternSell, bytes staticExtradataBuy, bytes staticExtradataSell) view returns(uint256)
   318  func (_Contract *ContractSession) CalculateMatchPrice(addrs [14]common.Address, uints [18]*big.Int, feeMethodsSidesKindsHowToCalls [8]uint8, calldataBuy []byte, calldataSell []byte, replacementPatternBuy []byte, replacementPatternSell []byte, staticExtradataBuy []byte, staticExtradataSell []byte) (*big.Int, error) {
   319  	return _Contract.Contract.CalculateMatchPrice(&_Contract.CallOpts, addrs, uints, feeMethodsSidesKindsHowToCalls, calldataBuy, calldataSell, replacementPatternBuy, replacementPatternSell, staticExtradataBuy, staticExtradataSell)
   320  }
   321  
   322  // CalculateMatchPrice is a free data retrieval call binding the contract method 0xd537e131.
   323  //
   324  // Solidity: function calculateMatchPrice_(address[14] addrs, uint256[18] uints, uint8[8] feeMethodsSidesKindsHowToCalls, bytes calldataBuy, bytes calldataSell, bytes replacementPatternBuy, bytes replacementPatternSell, bytes staticExtradataBuy, bytes staticExtradataSell) view returns(uint256)
   325  func (_Contract *ContractCallerSession) CalculateMatchPrice(addrs [14]common.Address, uints [18]*big.Int, feeMethodsSidesKindsHowToCalls [8]uint8, calldataBuy []byte, calldataSell []byte, replacementPatternBuy []byte, replacementPatternSell []byte, staticExtradataBuy []byte, staticExtradataSell []byte) (*big.Int, error) {
   326  	return _Contract.Contract.CalculateMatchPrice(&_Contract.CallOpts, addrs, uints, feeMethodsSidesKindsHowToCalls, calldataBuy, calldataSell, replacementPatternBuy, replacementPatternSell, staticExtradataBuy, staticExtradataSell)
   327  }
   328  
   329  // CancelledOrFinalized is a free data retrieval call binding the contract method 0x8076f005.
   330  //
   331  // Solidity: function cancelledOrFinalized(bytes32 ) view returns(bool)
   332  func (_Contract *ContractCaller) CancelledOrFinalized(opts *bind.CallOpts, arg0 [32]byte) (bool, error) {
   333  	var out []interface{}
   334  	err := _Contract.contract.Call(opts, &out, "cancelledOrFinalized", arg0)
   335  
   336  	if err != nil {
   337  		return *new(bool), err
   338  	}
   339  
   340  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   341  
   342  	return out0, err
   343  
   344  }
   345  
   346  // CancelledOrFinalized is a free data retrieval call binding the contract method 0x8076f005.
   347  //
   348  // Solidity: function cancelledOrFinalized(bytes32 ) view returns(bool)
   349  func (_Contract *ContractSession) CancelledOrFinalized(arg0 [32]byte) (bool, error) {
   350  	return _Contract.Contract.CancelledOrFinalized(&_Contract.CallOpts, arg0)
   351  }
   352  
   353  // CancelledOrFinalized is a free data retrieval call binding the contract method 0x8076f005.
   354  //
   355  // Solidity: function cancelledOrFinalized(bytes32 ) view returns(bool)
   356  func (_Contract *ContractCallerSession) CancelledOrFinalized(arg0 [32]byte) (bool, error) {
   357  	return _Contract.Contract.CancelledOrFinalized(&_Contract.CallOpts, arg0)
   358  }
   359  
   360  // Codename is a free data retrieval call binding the contract method 0x31e63199.
   361  //
   362  // Solidity: function codename() view returns(string)
   363  func (_Contract *ContractCaller) Codename(opts *bind.CallOpts) (string, error) {
   364  	var out []interface{}
   365  	err := _Contract.contract.Call(opts, &out, "codename")
   366  
   367  	if err != nil {
   368  		return *new(string), err
   369  	}
   370  
   371  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   372  
   373  	return out0, err
   374  
   375  }
   376  
   377  // Codename is a free data retrieval call binding the contract method 0x31e63199.
   378  //
   379  // Solidity: function codename() view returns(string)
   380  func (_Contract *ContractSession) Codename() (string, error) {
   381  	return _Contract.Contract.Codename(&_Contract.CallOpts)
   382  }
   383  
   384  // Codename is a free data retrieval call binding the contract method 0x31e63199.
   385  //
   386  // Solidity: function codename() view returns(string)
   387  func (_Contract *ContractCallerSession) Codename() (string, error) {
   388  	return _Contract.Contract.Codename(&_Contract.CallOpts)
   389  }
   390  
   391  // ExchangeToken is a free data retrieval call binding the contract method 0xa25eb5d9.
   392  //
   393  // Solidity: function exchangeToken() view returns(address)
   394  func (_Contract *ContractCaller) ExchangeToken(opts *bind.CallOpts) (common.Address, error) {
   395  	var out []interface{}
   396  	err := _Contract.contract.Call(opts, &out, "exchangeToken")
   397  
   398  	if err != nil {
   399  		return *new(common.Address), err
   400  	}
   401  
   402  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   403  
   404  	return out0, err
   405  
   406  }
   407  
   408  // ExchangeToken is a free data retrieval call binding the contract method 0xa25eb5d9.
   409  //
   410  // Solidity: function exchangeToken() view returns(address)
   411  func (_Contract *ContractSession) ExchangeToken() (common.Address, error) {
   412  	return _Contract.Contract.ExchangeToken(&_Contract.CallOpts)
   413  }
   414  
   415  // ExchangeToken is a free data retrieval call binding the contract method 0xa25eb5d9.
   416  //
   417  // Solidity: function exchangeToken() view returns(address)
   418  func (_Contract *ContractCallerSession) ExchangeToken() (common.Address, error) {
   419  	return _Contract.Contract.ExchangeToken(&_Contract.CallOpts)
   420  }
   421  
   422  // GuardedArrayReplace is a free data retrieval call binding the contract method 0x239e83df.
   423  //
   424  // Solidity: function guardedArrayReplace(bytes array, bytes desired, bytes mask) pure returns(bytes)
   425  func (_Contract *ContractCaller) GuardedArrayReplace(opts *bind.CallOpts, array []byte, desired []byte, mask []byte) ([]byte, error) {
   426  	var out []interface{}
   427  	err := _Contract.contract.Call(opts, &out, "guardedArrayReplace", array, desired, mask)
   428  
   429  	if err != nil {
   430  		return *new([]byte), err
   431  	}
   432  
   433  	out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte)
   434  
   435  	return out0, err
   436  
   437  }
   438  
   439  // GuardedArrayReplace is a free data retrieval call binding the contract method 0x239e83df.
   440  //
   441  // Solidity: function guardedArrayReplace(bytes array, bytes desired, bytes mask) pure returns(bytes)
   442  func (_Contract *ContractSession) GuardedArrayReplace(array []byte, desired []byte, mask []byte) ([]byte, error) {
   443  	return _Contract.Contract.GuardedArrayReplace(&_Contract.CallOpts, array, desired, mask)
   444  }
   445  
   446  // GuardedArrayReplace is a free data retrieval call binding the contract method 0x239e83df.
   447  //
   448  // Solidity: function guardedArrayReplace(bytes array, bytes desired, bytes mask) pure returns(bytes)
   449  func (_Contract *ContractCallerSession) GuardedArrayReplace(array []byte, desired []byte, mask []byte) ([]byte, error) {
   450  	return _Contract.Contract.GuardedArrayReplace(&_Contract.CallOpts, array, desired, mask)
   451  }
   452  
   453  // HashOrder is a free data retrieval call binding the contract method 0x71d02b38.
   454  //
   455  // Solidity: function hashOrder_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata) pure returns(bytes32)
   456  func (_Contract *ContractCaller) HashOrder(opts *bind.CallOpts, addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte) ([32]byte, error) {
   457  	var out []interface{}
   458  	err := _Contract.contract.Call(opts, &out, "hashOrder_", addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata)
   459  
   460  	if err != nil {
   461  		return *new([32]byte), err
   462  	}
   463  
   464  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
   465  
   466  	return out0, err
   467  
   468  }
   469  
   470  // HashOrder is a free data retrieval call binding the contract method 0x71d02b38.
   471  //
   472  // Solidity: function hashOrder_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata) pure returns(bytes32)
   473  func (_Contract *ContractSession) HashOrder(addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte) ([32]byte, error) {
   474  	return _Contract.Contract.HashOrder(&_Contract.CallOpts, addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata)
   475  }
   476  
   477  // HashOrder is a free data retrieval call binding the contract method 0x71d02b38.
   478  //
   479  // Solidity: function hashOrder_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata) pure returns(bytes32)
   480  func (_Contract *ContractCallerSession) HashOrder(addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte) ([32]byte, error) {
   481  	return _Contract.Contract.HashOrder(&_Contract.CallOpts, addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata)
   482  }
   483  
   484  // HashToSign is a free data retrieval call binding the contract method 0x7d766981.
   485  //
   486  // Solidity: function hashToSign_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata) pure returns(bytes32)
   487  func (_Contract *ContractCaller) HashToSign(opts *bind.CallOpts, addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte) ([32]byte, error) {
   488  	var out []interface{}
   489  	err := _Contract.contract.Call(opts, &out, "hashToSign_", addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata)
   490  
   491  	if err != nil {
   492  		return *new([32]byte), err
   493  	}
   494  
   495  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
   496  
   497  	return out0, err
   498  
   499  }
   500  
   501  // HashToSign is a free data retrieval call binding the contract method 0x7d766981.
   502  //
   503  // Solidity: function hashToSign_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata) pure returns(bytes32)
   504  func (_Contract *ContractSession) HashToSign(addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte) ([32]byte, error) {
   505  	return _Contract.Contract.HashToSign(&_Contract.CallOpts, addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata)
   506  }
   507  
   508  // HashToSign is a free data retrieval call binding the contract method 0x7d766981.
   509  //
   510  // Solidity: function hashToSign_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata) pure returns(bytes32)
   511  func (_Contract *ContractCallerSession) HashToSign(addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte) ([32]byte, error) {
   512  	return _Contract.Contract.HashToSign(&_Contract.CallOpts, addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata)
   513  }
   514  
   515  // MinimumMakerProtocolFee is a free data retrieval call binding the contract method 0x7ccefc52.
   516  //
   517  // Solidity: function minimumMakerProtocolFee() view returns(uint256)
   518  func (_Contract *ContractCaller) MinimumMakerProtocolFee(opts *bind.CallOpts) (*big.Int, error) {
   519  	var out []interface{}
   520  	err := _Contract.contract.Call(opts, &out, "minimumMakerProtocolFee")
   521  
   522  	if err != nil {
   523  		return *new(*big.Int), err
   524  	}
   525  
   526  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   527  
   528  	return out0, err
   529  
   530  }
   531  
   532  // MinimumMakerProtocolFee is a free data retrieval call binding the contract method 0x7ccefc52.
   533  //
   534  // Solidity: function minimumMakerProtocolFee() view returns(uint256)
   535  func (_Contract *ContractSession) MinimumMakerProtocolFee() (*big.Int, error) {
   536  	return _Contract.Contract.MinimumMakerProtocolFee(&_Contract.CallOpts)
   537  }
   538  
   539  // MinimumMakerProtocolFee is a free data retrieval call binding the contract method 0x7ccefc52.
   540  //
   541  // Solidity: function minimumMakerProtocolFee() view returns(uint256)
   542  func (_Contract *ContractCallerSession) MinimumMakerProtocolFee() (*big.Int, error) {
   543  	return _Contract.Contract.MinimumMakerProtocolFee(&_Contract.CallOpts)
   544  }
   545  
   546  // MinimumTakerProtocolFee is a free data retrieval call binding the contract method 0x28a8ee68.
   547  //
   548  // Solidity: function minimumTakerProtocolFee() view returns(uint256)
   549  func (_Contract *ContractCaller) MinimumTakerProtocolFee(opts *bind.CallOpts) (*big.Int, error) {
   550  	var out []interface{}
   551  	err := _Contract.contract.Call(opts, &out, "minimumTakerProtocolFee")
   552  
   553  	if err != nil {
   554  		return *new(*big.Int), err
   555  	}
   556  
   557  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   558  
   559  	return out0, err
   560  
   561  }
   562  
   563  // MinimumTakerProtocolFee is a free data retrieval call binding the contract method 0x28a8ee68.
   564  //
   565  // Solidity: function minimumTakerProtocolFee() view returns(uint256)
   566  func (_Contract *ContractSession) MinimumTakerProtocolFee() (*big.Int, error) {
   567  	return _Contract.Contract.MinimumTakerProtocolFee(&_Contract.CallOpts)
   568  }
   569  
   570  // MinimumTakerProtocolFee is a free data retrieval call binding the contract method 0x28a8ee68.
   571  //
   572  // Solidity: function minimumTakerProtocolFee() view returns(uint256)
   573  func (_Contract *ContractCallerSession) MinimumTakerProtocolFee() (*big.Int, error) {
   574  	return _Contract.Contract.MinimumTakerProtocolFee(&_Contract.CallOpts)
   575  }
   576  
   577  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   578  //
   579  // Solidity: function name() view returns(string)
   580  func (_Contract *ContractCaller) Name(opts *bind.CallOpts) (string, error) {
   581  	var out []interface{}
   582  	err := _Contract.contract.Call(opts, &out, "name")
   583  
   584  	if err != nil {
   585  		return *new(string), err
   586  	}
   587  
   588  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   589  
   590  	return out0, err
   591  
   592  }
   593  
   594  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   595  //
   596  // Solidity: function name() view returns(string)
   597  func (_Contract *ContractSession) Name() (string, error) {
   598  	return _Contract.Contract.Name(&_Contract.CallOpts)
   599  }
   600  
   601  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   602  //
   603  // Solidity: function name() view returns(string)
   604  func (_Contract *ContractCallerSession) Name() (string, error) {
   605  	return _Contract.Contract.Name(&_Contract.CallOpts)
   606  }
   607  
   608  // OrderCalldataCanMatch is a free data retrieval call binding the contract method 0x562b2ebc.
   609  //
   610  // Solidity: function orderCalldataCanMatch(bytes buyCalldata, bytes buyReplacementPattern, bytes sellCalldata, bytes sellReplacementPattern) pure returns(bool)
   611  func (_Contract *ContractCaller) OrderCalldataCanMatch(opts *bind.CallOpts, buyCalldata []byte, buyReplacementPattern []byte, sellCalldata []byte, sellReplacementPattern []byte) (bool, error) {
   612  	var out []interface{}
   613  	err := _Contract.contract.Call(opts, &out, "orderCalldataCanMatch", buyCalldata, buyReplacementPattern, sellCalldata, sellReplacementPattern)
   614  
   615  	if err != nil {
   616  		return *new(bool), err
   617  	}
   618  
   619  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   620  
   621  	return out0, err
   622  
   623  }
   624  
   625  // OrderCalldataCanMatch is a free data retrieval call binding the contract method 0x562b2ebc.
   626  //
   627  // Solidity: function orderCalldataCanMatch(bytes buyCalldata, bytes buyReplacementPattern, bytes sellCalldata, bytes sellReplacementPattern) pure returns(bool)
   628  func (_Contract *ContractSession) OrderCalldataCanMatch(buyCalldata []byte, buyReplacementPattern []byte, sellCalldata []byte, sellReplacementPattern []byte) (bool, error) {
   629  	return _Contract.Contract.OrderCalldataCanMatch(&_Contract.CallOpts, buyCalldata, buyReplacementPattern, sellCalldata, sellReplacementPattern)
   630  }
   631  
   632  // OrderCalldataCanMatch is a free data retrieval call binding the contract method 0x562b2ebc.
   633  //
   634  // Solidity: function orderCalldataCanMatch(bytes buyCalldata, bytes buyReplacementPattern, bytes sellCalldata, bytes sellReplacementPattern) pure returns(bool)
   635  func (_Contract *ContractCallerSession) OrderCalldataCanMatch(buyCalldata []byte, buyReplacementPattern []byte, sellCalldata []byte, sellReplacementPattern []byte) (bool, error) {
   636  	return _Contract.Contract.OrderCalldataCanMatch(&_Contract.CallOpts, buyCalldata, buyReplacementPattern, sellCalldata, sellReplacementPattern)
   637  }
   638  
   639  // OrdersCanMatch is a free data retrieval call binding the contract method 0x72593b4c.
   640  //
   641  // Solidity: function ordersCanMatch_(address[14] addrs, uint256[18] uints, uint8[8] feeMethodsSidesKindsHowToCalls, bytes calldataBuy, bytes calldataSell, bytes replacementPatternBuy, bytes replacementPatternSell, bytes staticExtradataBuy, bytes staticExtradataSell) view returns(bool)
   642  func (_Contract *ContractCaller) OrdersCanMatch(opts *bind.CallOpts, addrs [14]common.Address, uints [18]*big.Int, feeMethodsSidesKindsHowToCalls [8]uint8, calldataBuy []byte, calldataSell []byte, replacementPatternBuy []byte, replacementPatternSell []byte, staticExtradataBuy []byte, staticExtradataSell []byte) (bool, error) {
   643  	var out []interface{}
   644  	err := _Contract.contract.Call(opts, &out, "ordersCanMatch_", addrs, uints, feeMethodsSidesKindsHowToCalls, calldataBuy, calldataSell, replacementPatternBuy, replacementPatternSell, staticExtradataBuy, staticExtradataSell)
   645  
   646  	if err != nil {
   647  		return *new(bool), err
   648  	}
   649  
   650  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   651  
   652  	return out0, err
   653  
   654  }
   655  
   656  // OrdersCanMatch is a free data retrieval call binding the contract method 0x72593b4c.
   657  //
   658  // Solidity: function ordersCanMatch_(address[14] addrs, uint256[18] uints, uint8[8] feeMethodsSidesKindsHowToCalls, bytes calldataBuy, bytes calldataSell, bytes replacementPatternBuy, bytes replacementPatternSell, bytes staticExtradataBuy, bytes staticExtradataSell) view returns(bool)
   659  func (_Contract *ContractSession) OrdersCanMatch(addrs [14]common.Address, uints [18]*big.Int, feeMethodsSidesKindsHowToCalls [8]uint8, calldataBuy []byte, calldataSell []byte, replacementPatternBuy []byte, replacementPatternSell []byte, staticExtradataBuy []byte, staticExtradataSell []byte) (bool, error) {
   660  	return _Contract.Contract.OrdersCanMatch(&_Contract.CallOpts, addrs, uints, feeMethodsSidesKindsHowToCalls, calldataBuy, calldataSell, replacementPatternBuy, replacementPatternSell, staticExtradataBuy, staticExtradataSell)
   661  }
   662  
   663  // OrdersCanMatch is a free data retrieval call binding the contract method 0x72593b4c.
   664  //
   665  // Solidity: function ordersCanMatch_(address[14] addrs, uint256[18] uints, uint8[8] feeMethodsSidesKindsHowToCalls, bytes calldataBuy, bytes calldataSell, bytes replacementPatternBuy, bytes replacementPatternSell, bytes staticExtradataBuy, bytes staticExtradataSell) view returns(bool)
   666  func (_Contract *ContractCallerSession) OrdersCanMatch(addrs [14]common.Address, uints [18]*big.Int, feeMethodsSidesKindsHowToCalls [8]uint8, calldataBuy []byte, calldataSell []byte, replacementPatternBuy []byte, replacementPatternSell []byte, staticExtradataBuy []byte, staticExtradataSell []byte) (bool, error) {
   667  	return _Contract.Contract.OrdersCanMatch(&_Contract.CallOpts, addrs, uints, feeMethodsSidesKindsHowToCalls, calldataBuy, calldataSell, replacementPatternBuy, replacementPatternSell, staticExtradataBuy, staticExtradataSell)
   668  }
   669  
   670  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   671  //
   672  // Solidity: function owner() view returns(address)
   673  func (_Contract *ContractCaller) Owner(opts *bind.CallOpts) (common.Address, error) {
   674  	var out []interface{}
   675  	err := _Contract.contract.Call(opts, &out, "owner")
   676  
   677  	if err != nil {
   678  		return *new(common.Address), err
   679  	}
   680  
   681  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   682  
   683  	return out0, err
   684  
   685  }
   686  
   687  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   688  //
   689  // Solidity: function owner() view returns(address)
   690  func (_Contract *ContractSession) Owner() (common.Address, error) {
   691  	return _Contract.Contract.Owner(&_Contract.CallOpts)
   692  }
   693  
   694  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   695  //
   696  // Solidity: function owner() view returns(address)
   697  func (_Contract *ContractCallerSession) Owner() (common.Address, error) {
   698  	return _Contract.Contract.Owner(&_Contract.CallOpts)
   699  }
   700  
   701  // ProtocolFeeRecipient is a free data retrieval call binding the contract method 0x64df049e.
   702  //
   703  // Solidity: function protocolFeeRecipient() view returns(address)
   704  func (_Contract *ContractCaller) ProtocolFeeRecipient(opts *bind.CallOpts) (common.Address, error) {
   705  	var out []interface{}
   706  	err := _Contract.contract.Call(opts, &out, "protocolFeeRecipient")
   707  
   708  	if err != nil {
   709  		return *new(common.Address), err
   710  	}
   711  
   712  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   713  
   714  	return out0, err
   715  
   716  }
   717  
   718  // ProtocolFeeRecipient is a free data retrieval call binding the contract method 0x64df049e.
   719  //
   720  // Solidity: function protocolFeeRecipient() view returns(address)
   721  func (_Contract *ContractSession) ProtocolFeeRecipient() (common.Address, error) {
   722  	return _Contract.Contract.ProtocolFeeRecipient(&_Contract.CallOpts)
   723  }
   724  
   725  // ProtocolFeeRecipient is a free data retrieval call binding the contract method 0x64df049e.
   726  //
   727  // Solidity: function protocolFeeRecipient() view returns(address)
   728  func (_Contract *ContractCallerSession) ProtocolFeeRecipient() (common.Address, error) {
   729  	return _Contract.Contract.ProtocolFeeRecipient(&_Contract.CallOpts)
   730  }
   731  
   732  // Registry is a free data retrieval call binding the contract method 0x7b103999.
   733  //
   734  // Solidity: function registry() view returns(address)
   735  func (_Contract *ContractCaller) Registry(opts *bind.CallOpts) (common.Address, error) {
   736  	var out []interface{}
   737  	err := _Contract.contract.Call(opts, &out, "registry")
   738  
   739  	if err != nil {
   740  		return *new(common.Address), err
   741  	}
   742  
   743  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   744  
   745  	return out0, err
   746  
   747  }
   748  
   749  // Registry is a free data retrieval call binding the contract method 0x7b103999.
   750  //
   751  // Solidity: function registry() view returns(address)
   752  func (_Contract *ContractSession) Registry() (common.Address, error) {
   753  	return _Contract.Contract.Registry(&_Contract.CallOpts)
   754  }
   755  
   756  // Registry is a free data retrieval call binding the contract method 0x7b103999.
   757  //
   758  // Solidity: function registry() view returns(address)
   759  func (_Contract *ContractCallerSession) Registry() (common.Address, error) {
   760  	return _Contract.Contract.Registry(&_Contract.CallOpts)
   761  }
   762  
   763  // StaticCall is a free data retrieval call binding the contract method 0x10796a47.
   764  //
   765  // Solidity: function staticCall(address target, bytes calldata, bytes extradata) view returns(bool result)
   766  func (_Contract *ContractCaller) StaticCall(opts *bind.CallOpts, target common.Address, calldata []byte, extradata []byte) (bool, error) {
   767  	var out []interface{}
   768  	err := _Contract.contract.Call(opts, &out, "staticCall", target, calldata, extradata)
   769  
   770  	if err != nil {
   771  		return *new(bool), err
   772  	}
   773  
   774  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   775  
   776  	return out0, err
   777  
   778  }
   779  
   780  // StaticCall is a free data retrieval call binding the contract method 0x10796a47.
   781  //
   782  // Solidity: function staticCall(address target, bytes calldata, bytes extradata) view returns(bool result)
   783  func (_Contract *ContractSession) StaticCall(target common.Address, calldata []byte, extradata []byte) (bool, error) {
   784  	return _Contract.Contract.StaticCall(&_Contract.CallOpts, target, calldata, extradata)
   785  }
   786  
   787  // StaticCall is a free data retrieval call binding the contract method 0x10796a47.
   788  //
   789  // Solidity: function staticCall(address target, bytes calldata, bytes extradata) view returns(bool result)
   790  func (_Contract *ContractCallerSession) StaticCall(target common.Address, calldata []byte, extradata []byte) (bool, error) {
   791  	return _Contract.Contract.StaticCall(&_Contract.CallOpts, target, calldata, extradata)
   792  }
   793  
   794  // TestCopy is a free data retrieval call binding the contract method 0x3e1e292a.
   795  //
   796  // Solidity: function testCopy(bytes arrToCopy) pure returns(bytes)
   797  func (_Contract *ContractCaller) TestCopy(opts *bind.CallOpts, arrToCopy []byte) ([]byte, error) {
   798  	var out []interface{}
   799  	err := _Contract.contract.Call(opts, &out, "testCopy", arrToCopy)
   800  
   801  	if err != nil {
   802  		return *new([]byte), err
   803  	}
   804  
   805  	out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte)
   806  
   807  	return out0, err
   808  
   809  }
   810  
   811  // TestCopy is a free data retrieval call binding the contract method 0x3e1e292a.
   812  //
   813  // Solidity: function testCopy(bytes arrToCopy) pure returns(bytes)
   814  func (_Contract *ContractSession) TestCopy(arrToCopy []byte) ([]byte, error) {
   815  	return _Contract.Contract.TestCopy(&_Contract.CallOpts, arrToCopy)
   816  }
   817  
   818  // TestCopy is a free data retrieval call binding the contract method 0x3e1e292a.
   819  //
   820  // Solidity: function testCopy(bytes arrToCopy) pure returns(bytes)
   821  func (_Contract *ContractCallerSession) TestCopy(arrToCopy []byte) ([]byte, error) {
   822  	return _Contract.Contract.TestCopy(&_Contract.CallOpts, arrToCopy)
   823  }
   824  
   825  // TestCopyAddress is a free data retrieval call binding the contract method 0x3464af6a.
   826  //
   827  // Solidity: function testCopyAddress(address addr) pure returns(bytes)
   828  func (_Contract *ContractCaller) TestCopyAddress(opts *bind.CallOpts, addr common.Address) ([]byte, error) {
   829  	var out []interface{}
   830  	err := _Contract.contract.Call(opts, &out, "testCopyAddress", addr)
   831  
   832  	if err != nil {
   833  		return *new([]byte), err
   834  	}
   835  
   836  	out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte)
   837  
   838  	return out0, err
   839  
   840  }
   841  
   842  // TestCopyAddress is a free data retrieval call binding the contract method 0x3464af6a.
   843  //
   844  // Solidity: function testCopyAddress(address addr) pure returns(bytes)
   845  func (_Contract *ContractSession) TestCopyAddress(addr common.Address) ([]byte, error) {
   846  	return _Contract.Contract.TestCopyAddress(&_Contract.CallOpts, addr)
   847  }
   848  
   849  // TestCopyAddress is a free data retrieval call binding the contract method 0x3464af6a.
   850  //
   851  // Solidity: function testCopyAddress(address addr) pure returns(bytes)
   852  func (_Contract *ContractCallerSession) TestCopyAddress(addr common.Address) ([]byte, error) {
   853  	return _Contract.Contract.TestCopyAddress(&_Contract.CallOpts, addr)
   854  }
   855  
   856  // TokenTransferProxy is a free data retrieval call binding the contract method 0x0eefdbad.
   857  //
   858  // Solidity: function tokenTransferProxy() view returns(address)
   859  func (_Contract *ContractCaller) TokenTransferProxy(opts *bind.CallOpts) (common.Address, error) {
   860  	var out []interface{}
   861  	err := _Contract.contract.Call(opts, &out, "tokenTransferProxy")
   862  
   863  	if err != nil {
   864  		return *new(common.Address), err
   865  	}
   866  
   867  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   868  
   869  	return out0, err
   870  
   871  }
   872  
   873  // TokenTransferProxy is a free data retrieval call binding the contract method 0x0eefdbad.
   874  //
   875  // Solidity: function tokenTransferProxy() view returns(address)
   876  func (_Contract *ContractSession) TokenTransferProxy() (common.Address, error) {
   877  	return _Contract.Contract.TokenTransferProxy(&_Contract.CallOpts)
   878  }
   879  
   880  // TokenTransferProxy is a free data retrieval call binding the contract method 0x0eefdbad.
   881  //
   882  // Solidity: function tokenTransferProxy() view returns(address)
   883  func (_Contract *ContractCallerSession) TokenTransferProxy() (common.Address, error) {
   884  	return _Contract.Contract.TokenTransferProxy(&_Contract.CallOpts)
   885  }
   886  
   887  // ValidateOrderParameters is a free data retrieval call binding the contract method 0xca595b9a.
   888  //
   889  // Solidity: function validateOrderParameters_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata) view returns(bool)
   890  func (_Contract *ContractCaller) ValidateOrderParameters(opts *bind.CallOpts, addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte) (bool, error) {
   891  	var out []interface{}
   892  	err := _Contract.contract.Call(opts, &out, "validateOrderParameters_", addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata)
   893  
   894  	if err != nil {
   895  		return *new(bool), err
   896  	}
   897  
   898  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   899  
   900  	return out0, err
   901  
   902  }
   903  
   904  // ValidateOrderParameters is a free data retrieval call binding the contract method 0xca595b9a.
   905  //
   906  // Solidity: function validateOrderParameters_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata) view returns(bool)
   907  func (_Contract *ContractSession) ValidateOrderParameters(addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte) (bool, error) {
   908  	return _Contract.Contract.ValidateOrderParameters(&_Contract.CallOpts, addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata)
   909  }
   910  
   911  // ValidateOrderParameters is a free data retrieval call binding the contract method 0xca595b9a.
   912  //
   913  // Solidity: function validateOrderParameters_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata) view returns(bool)
   914  func (_Contract *ContractCallerSession) ValidateOrderParameters(addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte) (bool, error) {
   915  	return _Contract.Contract.ValidateOrderParameters(&_Contract.CallOpts, addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata)
   916  }
   917  
   918  // ValidateOrder is a free data retrieval call binding the contract method 0x60bef33a.
   919  //
   920  // Solidity: function validateOrder_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata, uint8 v, bytes32 r, bytes32 s) view returns(bool)
   921  func (_Contract *ContractCaller) ValidateOrder(opts *bind.CallOpts, addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte, v uint8, r [32]byte, s [32]byte) (bool, error) {
   922  	var out []interface{}
   923  	err := _Contract.contract.Call(opts, &out, "validateOrder_", addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata, v, r, s)
   924  
   925  	if err != nil {
   926  		return *new(bool), err
   927  	}
   928  
   929  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   930  
   931  	return out0, err
   932  
   933  }
   934  
   935  // ValidateOrder is a free data retrieval call binding the contract method 0x60bef33a.
   936  //
   937  // Solidity: function validateOrder_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata, uint8 v, bytes32 r, bytes32 s) view returns(bool)
   938  func (_Contract *ContractSession) ValidateOrder(addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte, v uint8, r [32]byte, s [32]byte) (bool, error) {
   939  	return _Contract.Contract.ValidateOrder(&_Contract.CallOpts, addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata, v, r, s)
   940  }
   941  
   942  // ValidateOrder is a free data retrieval call binding the contract method 0x60bef33a.
   943  //
   944  // Solidity: function validateOrder_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata, uint8 v, bytes32 r, bytes32 s) view returns(bool)
   945  func (_Contract *ContractCallerSession) ValidateOrder(addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte, v uint8, r [32]byte, s [32]byte) (bool, error) {
   946  	return _Contract.Contract.ValidateOrder(&_Contract.CallOpts, addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata, v, r, s)
   947  }
   948  
   949  // Version is a free data retrieval call binding the contract method 0x54fd4d50.
   950  //
   951  // Solidity: function version() view returns(string)
   952  func (_Contract *ContractCaller) Version(opts *bind.CallOpts) (string, error) {
   953  	var out []interface{}
   954  	err := _Contract.contract.Call(opts, &out, "version")
   955  
   956  	if err != nil {
   957  		return *new(string), err
   958  	}
   959  
   960  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   961  
   962  	return out0, err
   963  
   964  }
   965  
   966  // Version is a free data retrieval call binding the contract method 0x54fd4d50.
   967  //
   968  // Solidity: function version() view returns(string)
   969  func (_Contract *ContractSession) Version() (string, error) {
   970  	return _Contract.Contract.Version(&_Contract.CallOpts)
   971  }
   972  
   973  // Version is a free data retrieval call binding the contract method 0x54fd4d50.
   974  //
   975  // Solidity: function version() view returns(string)
   976  func (_Contract *ContractCallerSession) Version() (string, error) {
   977  	return _Contract.Contract.Version(&_Contract.CallOpts)
   978  }
   979  
   980  // ApproveOrder is a paid mutator transaction binding the contract method 0x79666868.
   981  //
   982  // Solidity: function approveOrder_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata, bool orderbookInclusionDesired) returns()
   983  func (_Contract *ContractTransactor) ApproveOrder(opts *bind.TransactOpts, addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte, orderbookInclusionDesired bool) (*types.Transaction, error) {
   984  	return _Contract.contract.Transact(opts, "approveOrder_", addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata, orderbookInclusionDesired)
   985  }
   986  
   987  // ApproveOrder is a paid mutator transaction binding the contract method 0x79666868.
   988  //
   989  // Solidity: function approveOrder_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata, bool orderbookInclusionDesired) returns()
   990  func (_Contract *ContractSession) ApproveOrder(addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte, orderbookInclusionDesired bool) (*types.Transaction, error) {
   991  	return _Contract.Contract.ApproveOrder(&_Contract.TransactOpts, addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata, orderbookInclusionDesired)
   992  }
   993  
   994  // ApproveOrder is a paid mutator transaction binding the contract method 0x79666868.
   995  //
   996  // Solidity: function approveOrder_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata, bool orderbookInclusionDesired) returns()
   997  func (_Contract *ContractTransactorSession) ApproveOrder(addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte, orderbookInclusionDesired bool) (*types.Transaction, error) {
   998  	return _Contract.Contract.ApproveOrder(&_Contract.TransactOpts, addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata, orderbookInclusionDesired)
   999  }
  1000  
  1001  // AtomicMatch is a paid mutator transaction binding the contract method 0xab834bab.
  1002  //
  1003  // Solidity: function atomicMatch_(address[14] addrs, uint256[18] uints, uint8[8] feeMethodsSidesKindsHowToCalls, bytes calldataBuy, bytes calldataSell, bytes replacementPatternBuy, bytes replacementPatternSell, bytes staticExtradataBuy, bytes staticExtradataSell, uint8[2] vs, bytes32[5] rssMetadata) payable returns()
  1004  func (_Contract *ContractTransactor) AtomicMatch(opts *bind.TransactOpts, addrs [14]common.Address, uints [18]*big.Int, feeMethodsSidesKindsHowToCalls [8]uint8, calldataBuy []byte, calldataSell []byte, replacementPatternBuy []byte, replacementPatternSell []byte, staticExtradataBuy []byte, staticExtradataSell []byte, vs [2]uint8, rssMetadata [5][32]byte) (*types.Transaction, error) {
  1005  	return _Contract.contract.Transact(opts, "atomicMatch_", addrs, uints, feeMethodsSidesKindsHowToCalls, calldataBuy, calldataSell, replacementPatternBuy, replacementPatternSell, staticExtradataBuy, staticExtradataSell, vs, rssMetadata)
  1006  }
  1007  
  1008  // AtomicMatch is a paid mutator transaction binding the contract method 0xab834bab.
  1009  //
  1010  // Solidity: function atomicMatch_(address[14] addrs, uint256[18] uints, uint8[8] feeMethodsSidesKindsHowToCalls, bytes calldataBuy, bytes calldataSell, bytes replacementPatternBuy, bytes replacementPatternSell, bytes staticExtradataBuy, bytes staticExtradataSell, uint8[2] vs, bytes32[5] rssMetadata) payable returns()
  1011  func (_Contract *ContractSession) AtomicMatch(addrs [14]common.Address, uints [18]*big.Int, feeMethodsSidesKindsHowToCalls [8]uint8, calldataBuy []byte, calldataSell []byte, replacementPatternBuy []byte, replacementPatternSell []byte, staticExtradataBuy []byte, staticExtradataSell []byte, vs [2]uint8, rssMetadata [5][32]byte) (*types.Transaction, error) {
  1012  	return _Contract.Contract.AtomicMatch(&_Contract.TransactOpts, addrs, uints, feeMethodsSidesKindsHowToCalls, calldataBuy, calldataSell, replacementPatternBuy, replacementPatternSell, staticExtradataBuy, staticExtradataSell, vs, rssMetadata)
  1013  }
  1014  
  1015  // AtomicMatch is a paid mutator transaction binding the contract method 0xab834bab.
  1016  //
  1017  // Solidity: function atomicMatch_(address[14] addrs, uint256[18] uints, uint8[8] feeMethodsSidesKindsHowToCalls, bytes calldataBuy, bytes calldataSell, bytes replacementPatternBuy, bytes replacementPatternSell, bytes staticExtradataBuy, bytes staticExtradataSell, uint8[2] vs, bytes32[5] rssMetadata) payable returns()
  1018  func (_Contract *ContractTransactorSession) AtomicMatch(addrs [14]common.Address, uints [18]*big.Int, feeMethodsSidesKindsHowToCalls [8]uint8, calldataBuy []byte, calldataSell []byte, replacementPatternBuy []byte, replacementPatternSell []byte, staticExtradataBuy []byte, staticExtradataSell []byte, vs [2]uint8, rssMetadata [5][32]byte) (*types.Transaction, error) {
  1019  	return _Contract.Contract.AtomicMatch(&_Contract.TransactOpts, addrs, uints, feeMethodsSidesKindsHowToCalls, calldataBuy, calldataSell, replacementPatternBuy, replacementPatternSell, staticExtradataBuy, staticExtradataSell, vs, rssMetadata)
  1020  }
  1021  
  1022  // CancelOrder is a paid mutator transaction binding the contract method 0xa8a41c70.
  1023  //
  1024  // Solidity: function cancelOrder_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata, uint8 v, bytes32 r, bytes32 s) returns()
  1025  func (_Contract *ContractTransactor) CancelOrder(opts *bind.TransactOpts, addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
  1026  	return _Contract.contract.Transact(opts, "cancelOrder_", addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata, v, r, s)
  1027  }
  1028  
  1029  // CancelOrder is a paid mutator transaction binding the contract method 0xa8a41c70.
  1030  //
  1031  // Solidity: function cancelOrder_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata, uint8 v, bytes32 r, bytes32 s) returns()
  1032  func (_Contract *ContractSession) CancelOrder(addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
  1033  	return _Contract.Contract.CancelOrder(&_Contract.TransactOpts, addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata, v, r, s)
  1034  }
  1035  
  1036  // CancelOrder is a paid mutator transaction binding the contract method 0xa8a41c70.
  1037  //
  1038  // Solidity: function cancelOrder_(address[7] addrs, uint256[9] uints, uint8 feeMethod, uint8 side, uint8 saleKind, uint8 howToCall, bytes calldata, bytes replacementPattern, bytes staticExtradata, uint8 v, bytes32 r, bytes32 s) returns()
  1039  func (_Contract *ContractTransactorSession) CancelOrder(addrs [7]common.Address, uints [9]*big.Int, feeMethod uint8, side uint8, saleKind uint8, howToCall uint8, calldata []byte, replacementPattern []byte, staticExtradata []byte, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
  1040  	return _Contract.Contract.CancelOrder(&_Contract.TransactOpts, addrs, uints, feeMethod, side, saleKind, howToCall, calldata, replacementPattern, staticExtradata, v, r, s)
  1041  }
  1042  
  1043  // ChangeMinimumMakerProtocolFee is a paid mutator transaction binding the contract method 0x14350c24.
  1044  //
  1045  // Solidity: function changeMinimumMakerProtocolFee(uint256 newMinimumMakerProtocolFee) returns()
  1046  func (_Contract *ContractTransactor) ChangeMinimumMakerProtocolFee(opts *bind.TransactOpts, newMinimumMakerProtocolFee *big.Int) (*types.Transaction, error) {
  1047  	return _Contract.contract.Transact(opts, "changeMinimumMakerProtocolFee", newMinimumMakerProtocolFee)
  1048  }
  1049  
  1050  // ChangeMinimumMakerProtocolFee is a paid mutator transaction binding the contract method 0x14350c24.
  1051  //
  1052  // Solidity: function changeMinimumMakerProtocolFee(uint256 newMinimumMakerProtocolFee) returns()
  1053  func (_Contract *ContractSession) ChangeMinimumMakerProtocolFee(newMinimumMakerProtocolFee *big.Int) (*types.Transaction, error) {
  1054  	return _Contract.Contract.ChangeMinimumMakerProtocolFee(&_Contract.TransactOpts, newMinimumMakerProtocolFee)
  1055  }
  1056  
  1057  // ChangeMinimumMakerProtocolFee is a paid mutator transaction binding the contract method 0x14350c24.
  1058  //
  1059  // Solidity: function changeMinimumMakerProtocolFee(uint256 newMinimumMakerProtocolFee) returns()
  1060  func (_Contract *ContractTransactorSession) ChangeMinimumMakerProtocolFee(newMinimumMakerProtocolFee *big.Int) (*types.Transaction, error) {
  1061  	return _Contract.Contract.ChangeMinimumMakerProtocolFee(&_Contract.TransactOpts, newMinimumMakerProtocolFee)
  1062  }
  1063  
  1064  // ChangeMinimumTakerProtocolFee is a paid mutator transaction binding the contract method 0x1a6b13e2.
  1065  //
  1066  // Solidity: function changeMinimumTakerProtocolFee(uint256 newMinimumTakerProtocolFee) returns()
  1067  func (_Contract *ContractTransactor) ChangeMinimumTakerProtocolFee(opts *bind.TransactOpts, newMinimumTakerProtocolFee *big.Int) (*types.Transaction, error) {
  1068  	return _Contract.contract.Transact(opts, "changeMinimumTakerProtocolFee", newMinimumTakerProtocolFee)
  1069  }
  1070  
  1071  // ChangeMinimumTakerProtocolFee is a paid mutator transaction binding the contract method 0x1a6b13e2.
  1072  //
  1073  // Solidity: function changeMinimumTakerProtocolFee(uint256 newMinimumTakerProtocolFee) returns()
  1074  func (_Contract *ContractSession) ChangeMinimumTakerProtocolFee(newMinimumTakerProtocolFee *big.Int) (*types.Transaction, error) {
  1075  	return _Contract.Contract.ChangeMinimumTakerProtocolFee(&_Contract.TransactOpts, newMinimumTakerProtocolFee)
  1076  }
  1077  
  1078  // ChangeMinimumTakerProtocolFee is a paid mutator transaction binding the contract method 0x1a6b13e2.
  1079  //
  1080  // Solidity: function changeMinimumTakerProtocolFee(uint256 newMinimumTakerProtocolFee) returns()
  1081  func (_Contract *ContractTransactorSession) ChangeMinimumTakerProtocolFee(newMinimumTakerProtocolFee *big.Int) (*types.Transaction, error) {
  1082  	return _Contract.Contract.ChangeMinimumTakerProtocolFee(&_Contract.TransactOpts, newMinimumTakerProtocolFee)
  1083  }
  1084  
  1085  // ChangeProtocolFeeRecipient is a paid mutator transaction binding the contract method 0x514f0330.
  1086  //
  1087  // Solidity: function changeProtocolFeeRecipient(address newProtocolFeeRecipient) returns()
  1088  func (_Contract *ContractTransactor) ChangeProtocolFeeRecipient(opts *bind.TransactOpts, newProtocolFeeRecipient common.Address) (*types.Transaction, error) {
  1089  	return _Contract.contract.Transact(opts, "changeProtocolFeeRecipient", newProtocolFeeRecipient)
  1090  }
  1091  
  1092  // ChangeProtocolFeeRecipient is a paid mutator transaction binding the contract method 0x514f0330.
  1093  //
  1094  // Solidity: function changeProtocolFeeRecipient(address newProtocolFeeRecipient) returns()
  1095  func (_Contract *ContractSession) ChangeProtocolFeeRecipient(newProtocolFeeRecipient common.Address) (*types.Transaction, error) {
  1096  	return _Contract.Contract.ChangeProtocolFeeRecipient(&_Contract.TransactOpts, newProtocolFeeRecipient)
  1097  }
  1098  
  1099  // ChangeProtocolFeeRecipient is a paid mutator transaction binding the contract method 0x514f0330.
  1100  //
  1101  // Solidity: function changeProtocolFeeRecipient(address newProtocolFeeRecipient) returns()
  1102  func (_Contract *ContractTransactorSession) ChangeProtocolFeeRecipient(newProtocolFeeRecipient common.Address) (*types.Transaction, error) {
  1103  	return _Contract.Contract.ChangeProtocolFeeRecipient(&_Contract.TransactOpts, newProtocolFeeRecipient)
  1104  }
  1105  
  1106  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  1107  //
  1108  // Solidity: function renounceOwnership() returns()
  1109  func (_Contract *ContractTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) {
  1110  	return _Contract.contract.Transact(opts, "renounceOwnership")
  1111  }
  1112  
  1113  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  1114  //
  1115  // Solidity: function renounceOwnership() returns()
  1116  func (_Contract *ContractSession) RenounceOwnership() (*types.Transaction, error) {
  1117  	return _Contract.Contract.RenounceOwnership(&_Contract.TransactOpts)
  1118  }
  1119  
  1120  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  1121  //
  1122  // Solidity: function renounceOwnership() returns()
  1123  func (_Contract *ContractTransactorSession) RenounceOwnership() (*types.Transaction, error) {
  1124  	return _Contract.Contract.RenounceOwnership(&_Contract.TransactOpts)
  1125  }
  1126  
  1127  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  1128  //
  1129  // Solidity: function transferOwnership(address newOwner) returns()
  1130  func (_Contract *ContractTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) {
  1131  	return _Contract.contract.Transact(opts, "transferOwnership", newOwner)
  1132  }
  1133  
  1134  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  1135  //
  1136  // Solidity: function transferOwnership(address newOwner) returns()
  1137  func (_Contract *ContractSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
  1138  	return _Contract.Contract.TransferOwnership(&_Contract.TransactOpts, newOwner)
  1139  }
  1140  
  1141  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  1142  //
  1143  // Solidity: function transferOwnership(address newOwner) returns()
  1144  func (_Contract *ContractTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
  1145  	return _Contract.Contract.TransferOwnership(&_Contract.TransactOpts, newOwner)
  1146  }
  1147  
  1148  // ContractOrderApprovedPartOneIterator is returned from FilterOrderApprovedPartOne and is used to iterate over the raw logs and unpacked data for OrderApprovedPartOne events raised by the Contract contract.
  1149  type ContractOrderApprovedPartOneIterator struct {
  1150  	Event *ContractOrderApprovedPartOne // Event containing the contract specifics and raw log
  1151  
  1152  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1153  	event    string              // Event name to use for unpacking event data
  1154  
  1155  	logs chan types.Log        // Log channel receiving the found contract events
  1156  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1157  	done bool                  // Whether the subscription completed delivering logs
  1158  	fail error                 // Occurred error to stop iteration
  1159  }
  1160  
  1161  // Next advances the iterator to the subsequent event, returning whether there
  1162  // are any more events found. In case of a retrieval or parsing error, false is
  1163  // returned and Error() can be queried for the exact failure.
  1164  func (it *ContractOrderApprovedPartOneIterator) Next() bool {
  1165  	// If the iterator failed, stop iterating
  1166  	if it.fail != nil {
  1167  		return false
  1168  	}
  1169  	// If the iterator completed, deliver directly whatever's available
  1170  	if it.done {
  1171  		select {
  1172  		case log := <-it.logs:
  1173  			it.Event = new(ContractOrderApprovedPartOne)
  1174  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1175  				it.fail = err
  1176  				return false
  1177  			}
  1178  			it.Event.Raw = log
  1179  			return true
  1180  
  1181  		default:
  1182  			return false
  1183  		}
  1184  	}
  1185  	// Iterator still in progress, wait for either a data or an error event
  1186  	select {
  1187  	case log := <-it.logs:
  1188  		it.Event = new(ContractOrderApprovedPartOne)
  1189  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1190  			it.fail = err
  1191  			return false
  1192  		}
  1193  		it.Event.Raw = log
  1194  		return true
  1195  
  1196  	case err := <-it.sub.Err():
  1197  		it.done = true
  1198  		it.fail = err
  1199  		return it.Next()
  1200  	}
  1201  }
  1202  
  1203  // Error returns any retrieval or parsing error occurred during filtering.
  1204  func (it *ContractOrderApprovedPartOneIterator) Error() error {
  1205  	return it.fail
  1206  }
  1207  
  1208  // Close terminates the iteration process, releasing any pending underlying
  1209  // resources.
  1210  func (it *ContractOrderApprovedPartOneIterator) Close() error {
  1211  	it.sub.Unsubscribe()
  1212  	return nil
  1213  }
  1214  
  1215  // ContractOrderApprovedPartOne represents a OrderApprovedPartOne event raised by the Contract contract.
  1216  type ContractOrderApprovedPartOne struct {
  1217  	Hash             [32]byte
  1218  	Exchange         common.Address
  1219  	Maker            common.Address
  1220  	Taker            common.Address
  1221  	MakerRelayerFee  *big.Int
  1222  	TakerRelayerFee  *big.Int
  1223  	MakerProtocolFee *big.Int
  1224  	TakerProtocolFee *big.Int
  1225  	FeeRecipient     common.Address
  1226  	FeeMethod        uint8
  1227  	Side             uint8
  1228  	SaleKind         uint8
  1229  	Target           common.Address
  1230  	Raw              types.Log // Blockchain specific contextual infos
  1231  }
  1232  
  1233  // FilterOrderApprovedPartOne is a free log retrieval operation binding the contract event 0x90c7f9f5b58c15f0f635bfb99f55d3d78fdbef3559e7d8abf5c81052a5276622.
  1234  //
  1235  // Solidity: event OrderApprovedPartOne(bytes32 indexed hash, address exchange, address indexed maker, address taker, uint256 makerRelayerFee, uint256 takerRelayerFee, uint256 makerProtocolFee, uint256 takerProtocolFee, address indexed feeRecipient, uint8 feeMethod, uint8 side, uint8 saleKind, address target)
  1236  func (_Contract *ContractFilterer) FilterOrderApprovedPartOne(opts *bind.FilterOpts, hash [][32]byte, maker []common.Address, feeRecipient []common.Address) (*ContractOrderApprovedPartOneIterator, error) {
  1237  
  1238  	var hashRule []interface{}
  1239  	for _, hashItem := range hash {
  1240  		hashRule = append(hashRule, hashItem)
  1241  	}
  1242  
  1243  	var makerRule []interface{}
  1244  	for _, makerItem := range maker {
  1245  		makerRule = append(makerRule, makerItem)
  1246  	}
  1247  
  1248  	var feeRecipientRule []interface{}
  1249  	for _, feeRecipientItem := range feeRecipient {
  1250  		feeRecipientRule = append(feeRecipientRule, feeRecipientItem)
  1251  	}
  1252  
  1253  	logs, sub, err := _Contract.contract.FilterLogs(opts, "OrderApprovedPartOne", hashRule, makerRule, feeRecipientRule)
  1254  	if err != nil {
  1255  		return nil, err
  1256  	}
  1257  	return &ContractOrderApprovedPartOneIterator{contract: _Contract.contract, event: "OrderApprovedPartOne", logs: logs, sub: sub}, nil
  1258  }
  1259  
  1260  // WatchOrderApprovedPartOne is a free log subscription operation binding the contract event 0x90c7f9f5b58c15f0f635bfb99f55d3d78fdbef3559e7d8abf5c81052a5276622.
  1261  //
  1262  // Solidity: event OrderApprovedPartOne(bytes32 indexed hash, address exchange, address indexed maker, address taker, uint256 makerRelayerFee, uint256 takerRelayerFee, uint256 makerProtocolFee, uint256 takerProtocolFee, address indexed feeRecipient, uint8 feeMethod, uint8 side, uint8 saleKind, address target)
  1263  func (_Contract *ContractFilterer) WatchOrderApprovedPartOne(opts *bind.WatchOpts, sink chan<- *ContractOrderApprovedPartOne, hash [][32]byte, maker []common.Address, feeRecipient []common.Address) (event.Subscription, error) {
  1264  
  1265  	var hashRule []interface{}
  1266  	for _, hashItem := range hash {
  1267  		hashRule = append(hashRule, hashItem)
  1268  	}
  1269  
  1270  	var makerRule []interface{}
  1271  	for _, makerItem := range maker {
  1272  		makerRule = append(makerRule, makerItem)
  1273  	}
  1274  
  1275  	var feeRecipientRule []interface{}
  1276  	for _, feeRecipientItem := range feeRecipient {
  1277  		feeRecipientRule = append(feeRecipientRule, feeRecipientItem)
  1278  	}
  1279  
  1280  	logs, sub, err := _Contract.contract.WatchLogs(opts, "OrderApprovedPartOne", hashRule, makerRule, feeRecipientRule)
  1281  	if err != nil {
  1282  		return nil, err
  1283  	}
  1284  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1285  		defer sub.Unsubscribe()
  1286  		for {
  1287  			select {
  1288  			case log := <-logs:
  1289  				// New log arrived, parse the event and forward to the user
  1290  				event := new(ContractOrderApprovedPartOne)
  1291  				if err := _Contract.contract.UnpackLog(event, "OrderApprovedPartOne", log); err != nil {
  1292  					return err
  1293  				}
  1294  				event.Raw = log
  1295  
  1296  				select {
  1297  				case sink <- event:
  1298  				case err := <-sub.Err():
  1299  					return err
  1300  				case <-quit:
  1301  					return nil
  1302  				}
  1303  			case err := <-sub.Err():
  1304  				return err
  1305  			case <-quit:
  1306  				return nil
  1307  			}
  1308  		}
  1309  	}), nil
  1310  }
  1311  
  1312  // ParseOrderApprovedPartOne is a log parse operation binding the contract event 0x90c7f9f5b58c15f0f635bfb99f55d3d78fdbef3559e7d8abf5c81052a5276622.
  1313  //
  1314  // Solidity: event OrderApprovedPartOne(bytes32 indexed hash, address exchange, address indexed maker, address taker, uint256 makerRelayerFee, uint256 takerRelayerFee, uint256 makerProtocolFee, uint256 takerProtocolFee, address indexed feeRecipient, uint8 feeMethod, uint8 side, uint8 saleKind, address target)
  1315  func (_Contract *ContractFilterer) ParseOrderApprovedPartOne(log types.Log) (*ContractOrderApprovedPartOne, error) {
  1316  	event := new(ContractOrderApprovedPartOne)
  1317  	if err := _Contract.contract.UnpackLog(event, "OrderApprovedPartOne", log); err != nil {
  1318  		return nil, err
  1319  	}
  1320  	event.Raw = log
  1321  	return event, nil
  1322  }
  1323  
  1324  // ContractOrderApprovedPartTwoIterator is returned from FilterOrderApprovedPartTwo and is used to iterate over the raw logs and unpacked data for OrderApprovedPartTwo events raised by the Contract contract.
  1325  type ContractOrderApprovedPartTwoIterator struct {
  1326  	Event *ContractOrderApprovedPartTwo // Event containing the contract specifics and raw log
  1327  
  1328  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1329  	event    string              // Event name to use for unpacking event data
  1330  
  1331  	logs chan types.Log        // Log channel receiving the found contract events
  1332  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1333  	done bool                  // Whether the subscription completed delivering logs
  1334  	fail error                 // Occurred error to stop iteration
  1335  }
  1336  
  1337  // Next advances the iterator to the subsequent event, returning whether there
  1338  // are any more events found. In case of a retrieval or parsing error, false is
  1339  // returned and Error() can be queried for the exact failure.
  1340  func (it *ContractOrderApprovedPartTwoIterator) Next() bool {
  1341  	// If the iterator failed, stop iterating
  1342  	if it.fail != nil {
  1343  		return false
  1344  	}
  1345  	// If the iterator completed, deliver directly whatever's available
  1346  	if it.done {
  1347  		select {
  1348  		case log := <-it.logs:
  1349  			it.Event = new(ContractOrderApprovedPartTwo)
  1350  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1351  				it.fail = err
  1352  				return false
  1353  			}
  1354  			it.Event.Raw = log
  1355  			return true
  1356  
  1357  		default:
  1358  			return false
  1359  		}
  1360  	}
  1361  	// Iterator still in progress, wait for either a data or an error event
  1362  	select {
  1363  	case log := <-it.logs:
  1364  		it.Event = new(ContractOrderApprovedPartTwo)
  1365  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1366  			it.fail = err
  1367  			return false
  1368  		}
  1369  		it.Event.Raw = log
  1370  		return true
  1371  
  1372  	case err := <-it.sub.Err():
  1373  		it.done = true
  1374  		it.fail = err
  1375  		return it.Next()
  1376  	}
  1377  }
  1378  
  1379  // Error returns any retrieval or parsing error occurred during filtering.
  1380  func (it *ContractOrderApprovedPartTwoIterator) Error() error {
  1381  	return it.fail
  1382  }
  1383  
  1384  // Close terminates the iteration process, releasing any pending underlying
  1385  // resources.
  1386  func (it *ContractOrderApprovedPartTwoIterator) Close() error {
  1387  	it.sub.Unsubscribe()
  1388  	return nil
  1389  }
  1390  
  1391  // ContractOrderApprovedPartTwo represents a OrderApprovedPartTwo event raised by the Contract contract.
  1392  type ContractOrderApprovedPartTwo struct {
  1393  	Hash                      [32]byte
  1394  	HowToCall                 uint8
  1395  	Calldata                  []byte
  1396  	ReplacementPattern        []byte
  1397  	StaticTarget              common.Address
  1398  	StaticExtradata           []byte
  1399  	PaymentToken              common.Address
  1400  	BasePrice                 *big.Int
  1401  	Extra                     *big.Int
  1402  	ListingTime               *big.Int
  1403  	ExpirationTime            *big.Int
  1404  	Salt                      *big.Int
  1405  	OrderbookInclusionDesired bool
  1406  	Raw                       types.Log // Blockchain specific contextual infos
  1407  }
  1408  
  1409  // FilterOrderApprovedPartTwo is a free log retrieval operation binding the contract event 0xe55393c778364e440d958b39ac1debd99dcfae3775a8a04d1e79124adf6a2d08.
  1410  //
  1411  // Solidity: event OrderApprovedPartTwo(bytes32 indexed hash, uint8 howToCall, bytes calldata, bytes replacementPattern, address staticTarget, bytes staticExtradata, address paymentToken, uint256 basePrice, uint256 extra, uint256 listingTime, uint256 expirationTime, uint256 salt, bool orderbookInclusionDesired)
  1412  func (_Contract *ContractFilterer) FilterOrderApprovedPartTwo(opts *bind.FilterOpts, hash [][32]byte) (*ContractOrderApprovedPartTwoIterator, error) {
  1413  
  1414  	var hashRule []interface{}
  1415  	for _, hashItem := range hash {
  1416  		hashRule = append(hashRule, hashItem)
  1417  	}
  1418  
  1419  	logs, sub, err := _Contract.contract.FilterLogs(opts, "OrderApprovedPartTwo", hashRule)
  1420  	if err != nil {
  1421  		return nil, err
  1422  	}
  1423  	return &ContractOrderApprovedPartTwoIterator{contract: _Contract.contract, event: "OrderApprovedPartTwo", logs: logs, sub: sub}, nil
  1424  }
  1425  
  1426  // WatchOrderApprovedPartTwo is a free log subscription operation binding the contract event 0xe55393c778364e440d958b39ac1debd99dcfae3775a8a04d1e79124adf6a2d08.
  1427  //
  1428  // Solidity: event OrderApprovedPartTwo(bytes32 indexed hash, uint8 howToCall, bytes calldata, bytes replacementPattern, address staticTarget, bytes staticExtradata, address paymentToken, uint256 basePrice, uint256 extra, uint256 listingTime, uint256 expirationTime, uint256 salt, bool orderbookInclusionDesired)
  1429  func (_Contract *ContractFilterer) WatchOrderApprovedPartTwo(opts *bind.WatchOpts, sink chan<- *ContractOrderApprovedPartTwo, hash [][32]byte) (event.Subscription, error) {
  1430  
  1431  	var hashRule []interface{}
  1432  	for _, hashItem := range hash {
  1433  		hashRule = append(hashRule, hashItem)
  1434  	}
  1435  
  1436  	logs, sub, err := _Contract.contract.WatchLogs(opts, "OrderApprovedPartTwo", hashRule)
  1437  	if err != nil {
  1438  		return nil, err
  1439  	}
  1440  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1441  		defer sub.Unsubscribe()
  1442  		for {
  1443  			select {
  1444  			case log := <-logs:
  1445  				// New log arrived, parse the event and forward to the user
  1446  				event := new(ContractOrderApprovedPartTwo)
  1447  				if err := _Contract.contract.UnpackLog(event, "OrderApprovedPartTwo", log); err != nil {
  1448  					return err
  1449  				}
  1450  				event.Raw = log
  1451  
  1452  				select {
  1453  				case sink <- event:
  1454  				case err := <-sub.Err():
  1455  					return err
  1456  				case <-quit:
  1457  					return nil
  1458  				}
  1459  			case err := <-sub.Err():
  1460  				return err
  1461  			case <-quit:
  1462  				return nil
  1463  			}
  1464  		}
  1465  	}), nil
  1466  }
  1467  
  1468  // ParseOrderApprovedPartTwo is a log parse operation binding the contract event 0xe55393c778364e440d958b39ac1debd99dcfae3775a8a04d1e79124adf6a2d08.
  1469  //
  1470  // Solidity: event OrderApprovedPartTwo(bytes32 indexed hash, uint8 howToCall, bytes calldata, bytes replacementPattern, address staticTarget, bytes staticExtradata, address paymentToken, uint256 basePrice, uint256 extra, uint256 listingTime, uint256 expirationTime, uint256 salt, bool orderbookInclusionDesired)
  1471  func (_Contract *ContractFilterer) ParseOrderApprovedPartTwo(log types.Log) (*ContractOrderApprovedPartTwo, error) {
  1472  	event := new(ContractOrderApprovedPartTwo)
  1473  	if err := _Contract.contract.UnpackLog(event, "OrderApprovedPartTwo", log); err != nil {
  1474  		return nil, err
  1475  	}
  1476  	event.Raw = log
  1477  	return event, nil
  1478  }
  1479  
  1480  // ContractOrderCancelledIterator is returned from FilterOrderCancelled and is used to iterate over the raw logs and unpacked data for OrderCancelled events raised by the Contract contract.
  1481  type ContractOrderCancelledIterator struct {
  1482  	Event *ContractOrderCancelled // Event containing the contract specifics and raw log
  1483  
  1484  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1485  	event    string              // Event name to use for unpacking event data
  1486  
  1487  	logs chan types.Log        // Log channel receiving the found contract events
  1488  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1489  	done bool                  // Whether the subscription completed delivering logs
  1490  	fail error                 // Occurred error to stop iteration
  1491  }
  1492  
  1493  // Next advances the iterator to the subsequent event, returning whether there
  1494  // are any more events found. In case of a retrieval or parsing error, false is
  1495  // returned and Error() can be queried for the exact failure.
  1496  func (it *ContractOrderCancelledIterator) Next() bool {
  1497  	// If the iterator failed, stop iterating
  1498  	if it.fail != nil {
  1499  		return false
  1500  	}
  1501  	// If the iterator completed, deliver directly whatever's available
  1502  	if it.done {
  1503  		select {
  1504  		case log := <-it.logs:
  1505  			it.Event = new(ContractOrderCancelled)
  1506  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1507  				it.fail = err
  1508  				return false
  1509  			}
  1510  			it.Event.Raw = log
  1511  			return true
  1512  
  1513  		default:
  1514  			return false
  1515  		}
  1516  	}
  1517  	// Iterator still in progress, wait for either a data or an error event
  1518  	select {
  1519  	case log := <-it.logs:
  1520  		it.Event = new(ContractOrderCancelled)
  1521  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1522  			it.fail = err
  1523  			return false
  1524  		}
  1525  		it.Event.Raw = log
  1526  		return true
  1527  
  1528  	case err := <-it.sub.Err():
  1529  		it.done = true
  1530  		it.fail = err
  1531  		return it.Next()
  1532  	}
  1533  }
  1534  
  1535  // Error returns any retrieval or parsing error occurred during filtering.
  1536  func (it *ContractOrderCancelledIterator) Error() error {
  1537  	return it.fail
  1538  }
  1539  
  1540  // Close terminates the iteration process, releasing any pending underlying
  1541  // resources.
  1542  func (it *ContractOrderCancelledIterator) Close() error {
  1543  	it.sub.Unsubscribe()
  1544  	return nil
  1545  }
  1546  
  1547  // ContractOrderCancelled represents a OrderCancelled event raised by the Contract contract.
  1548  type ContractOrderCancelled struct {
  1549  	Hash [32]byte
  1550  	Raw  types.Log // Blockchain specific contextual infos
  1551  }
  1552  
  1553  // FilterOrderCancelled is a free log retrieval operation binding the contract event 0x5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d.
  1554  //
  1555  // Solidity: event OrderCancelled(bytes32 indexed hash)
  1556  func (_Contract *ContractFilterer) FilterOrderCancelled(opts *bind.FilterOpts, hash [][32]byte) (*ContractOrderCancelledIterator, error) {
  1557  
  1558  	var hashRule []interface{}
  1559  	for _, hashItem := range hash {
  1560  		hashRule = append(hashRule, hashItem)
  1561  	}
  1562  
  1563  	logs, sub, err := _Contract.contract.FilterLogs(opts, "OrderCancelled", hashRule)
  1564  	if err != nil {
  1565  		return nil, err
  1566  	}
  1567  	return &ContractOrderCancelledIterator{contract: _Contract.contract, event: "OrderCancelled", logs: logs, sub: sub}, nil
  1568  }
  1569  
  1570  // WatchOrderCancelled is a free log subscription operation binding the contract event 0x5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d.
  1571  //
  1572  // Solidity: event OrderCancelled(bytes32 indexed hash)
  1573  func (_Contract *ContractFilterer) WatchOrderCancelled(opts *bind.WatchOpts, sink chan<- *ContractOrderCancelled, hash [][32]byte) (event.Subscription, error) {
  1574  
  1575  	var hashRule []interface{}
  1576  	for _, hashItem := range hash {
  1577  		hashRule = append(hashRule, hashItem)
  1578  	}
  1579  
  1580  	logs, sub, err := _Contract.contract.WatchLogs(opts, "OrderCancelled", hashRule)
  1581  	if err != nil {
  1582  		return nil, err
  1583  	}
  1584  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1585  		defer sub.Unsubscribe()
  1586  		for {
  1587  			select {
  1588  			case log := <-logs:
  1589  				// New log arrived, parse the event and forward to the user
  1590  				event := new(ContractOrderCancelled)
  1591  				if err := _Contract.contract.UnpackLog(event, "OrderCancelled", log); err != nil {
  1592  					return err
  1593  				}
  1594  				event.Raw = log
  1595  
  1596  				select {
  1597  				case sink <- event:
  1598  				case err := <-sub.Err():
  1599  					return err
  1600  				case <-quit:
  1601  					return nil
  1602  				}
  1603  			case err := <-sub.Err():
  1604  				return err
  1605  			case <-quit:
  1606  				return nil
  1607  			}
  1608  		}
  1609  	}), nil
  1610  }
  1611  
  1612  // ParseOrderCancelled is a log parse operation binding the contract event 0x5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d.
  1613  //
  1614  // Solidity: event OrderCancelled(bytes32 indexed hash)
  1615  func (_Contract *ContractFilterer) ParseOrderCancelled(log types.Log) (*ContractOrderCancelled, error) {
  1616  	event := new(ContractOrderCancelled)
  1617  	if err := _Contract.contract.UnpackLog(event, "OrderCancelled", log); err != nil {
  1618  		return nil, err
  1619  	}
  1620  	event.Raw = log
  1621  	return event, nil
  1622  }
  1623  
  1624  // ContractOrdersMatchedIterator is returned from FilterOrdersMatched and is used to iterate over the raw logs and unpacked data for OrdersMatched events raised by the Contract contract.
  1625  type ContractOrdersMatchedIterator struct {
  1626  	Event *ContractOrdersMatched // Event containing the contract specifics and raw log
  1627  
  1628  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1629  	event    string              // Event name to use for unpacking event data
  1630  
  1631  	logs chan types.Log        // Log channel receiving the found contract events
  1632  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1633  	done bool                  // Whether the subscription completed delivering logs
  1634  	fail error                 // Occurred error to stop iteration
  1635  }
  1636  
  1637  // Next advances the iterator to the subsequent event, returning whether there
  1638  // are any more events found. In case of a retrieval or parsing error, false is
  1639  // returned and Error() can be queried for the exact failure.
  1640  func (it *ContractOrdersMatchedIterator) Next() bool {
  1641  	// If the iterator failed, stop iterating
  1642  	if it.fail != nil {
  1643  		return false
  1644  	}
  1645  	// If the iterator completed, deliver directly whatever's available
  1646  	if it.done {
  1647  		select {
  1648  		case log := <-it.logs:
  1649  			it.Event = new(ContractOrdersMatched)
  1650  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1651  				it.fail = err
  1652  				return false
  1653  			}
  1654  			it.Event.Raw = log
  1655  			return true
  1656  
  1657  		default:
  1658  			return false
  1659  		}
  1660  	}
  1661  	// Iterator still in progress, wait for either a data or an error event
  1662  	select {
  1663  	case log := <-it.logs:
  1664  		it.Event = new(ContractOrdersMatched)
  1665  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1666  			it.fail = err
  1667  			return false
  1668  		}
  1669  		it.Event.Raw = log
  1670  		return true
  1671  
  1672  	case err := <-it.sub.Err():
  1673  		it.done = true
  1674  		it.fail = err
  1675  		return it.Next()
  1676  	}
  1677  }
  1678  
  1679  // Error returns any retrieval or parsing error occurred during filtering.
  1680  func (it *ContractOrdersMatchedIterator) Error() error {
  1681  	return it.fail
  1682  }
  1683  
  1684  // Close terminates the iteration process, releasing any pending underlying
  1685  // resources.
  1686  func (it *ContractOrdersMatchedIterator) Close() error {
  1687  	it.sub.Unsubscribe()
  1688  	return nil
  1689  }
  1690  
  1691  // ContractOrdersMatched represents a OrdersMatched event raised by the Contract contract.
  1692  type ContractOrdersMatched struct {
  1693  	BuyHash  [32]byte
  1694  	SellHash [32]byte
  1695  	Maker    common.Address
  1696  	Taker    common.Address
  1697  	Price    *big.Int
  1698  	Metadata [32]byte
  1699  	Raw      types.Log // Blockchain specific contextual infos
  1700  }
  1701  
  1702  // FilterOrdersMatched is a free log retrieval operation binding the contract event 0xc4109843e0b7d514e4c093114b863f8e7d8d9a458c372cd51bfe526b588006c9.
  1703  //
  1704  // Solidity: event OrdersMatched(bytes32 buyHash, bytes32 sellHash, address indexed maker, address indexed taker, uint256 price, bytes32 indexed metadata)
  1705  func (_Contract *ContractFilterer) FilterOrdersMatched(opts *bind.FilterOpts, maker []common.Address, taker []common.Address, metadata [][32]byte) (*ContractOrdersMatchedIterator, error) {
  1706  
  1707  	var makerRule []interface{}
  1708  	for _, makerItem := range maker {
  1709  		makerRule = append(makerRule, makerItem)
  1710  	}
  1711  	var takerRule []interface{}
  1712  	for _, takerItem := range taker {
  1713  		takerRule = append(takerRule, takerItem)
  1714  	}
  1715  
  1716  	var metadataRule []interface{}
  1717  	for _, metadataItem := range metadata {
  1718  		metadataRule = append(metadataRule, metadataItem)
  1719  	}
  1720  
  1721  	logs, sub, err := _Contract.contract.FilterLogs(opts, "OrdersMatched", makerRule, takerRule, metadataRule)
  1722  	if err != nil {
  1723  		return nil, err
  1724  	}
  1725  	return &ContractOrdersMatchedIterator{contract: _Contract.contract, event: "OrdersMatched", logs: logs, sub: sub}, nil
  1726  }
  1727  
  1728  // WatchOrdersMatched is a free log subscription operation binding the contract event 0xc4109843e0b7d514e4c093114b863f8e7d8d9a458c372cd51bfe526b588006c9.
  1729  //
  1730  // Solidity: event OrdersMatched(bytes32 buyHash, bytes32 sellHash, address indexed maker, address indexed taker, uint256 price, bytes32 indexed metadata)
  1731  func (_Contract *ContractFilterer) WatchOrdersMatched(opts *bind.WatchOpts, sink chan<- *ContractOrdersMatched, maker []common.Address, taker []common.Address, metadata [][32]byte) (event.Subscription, error) {
  1732  
  1733  	var makerRule []interface{}
  1734  	for _, makerItem := range maker {
  1735  		makerRule = append(makerRule, makerItem)
  1736  	}
  1737  	var takerRule []interface{}
  1738  	for _, takerItem := range taker {
  1739  		takerRule = append(takerRule, takerItem)
  1740  	}
  1741  
  1742  	var metadataRule []interface{}
  1743  	for _, metadataItem := range metadata {
  1744  		metadataRule = append(metadataRule, metadataItem)
  1745  	}
  1746  
  1747  	logs, sub, err := _Contract.contract.WatchLogs(opts, "OrdersMatched", makerRule, takerRule, metadataRule)
  1748  	if err != nil {
  1749  		return nil, err
  1750  	}
  1751  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1752  		defer sub.Unsubscribe()
  1753  		for {
  1754  			select {
  1755  			case log := <-logs:
  1756  				// New log arrived, parse the event and forward to the user
  1757  				event := new(ContractOrdersMatched)
  1758  				if err := _Contract.contract.UnpackLog(event, "OrdersMatched", log); err != nil {
  1759  					return err
  1760  				}
  1761  				event.Raw = log
  1762  
  1763  				select {
  1764  				case sink <- event:
  1765  				case err := <-sub.Err():
  1766  					return err
  1767  				case <-quit:
  1768  					return nil
  1769  				}
  1770  			case err := <-sub.Err():
  1771  				return err
  1772  			case <-quit:
  1773  				return nil
  1774  			}
  1775  		}
  1776  	}), nil
  1777  }
  1778  
  1779  // ParseOrdersMatched is a log parse operation binding the contract event 0xc4109843e0b7d514e4c093114b863f8e7d8d9a458c372cd51bfe526b588006c9.
  1780  //
  1781  // Solidity: event OrdersMatched(bytes32 buyHash, bytes32 sellHash, address indexed maker, address indexed taker, uint256 price, bytes32 indexed metadata)
  1782  func (_Contract *ContractFilterer) ParseOrdersMatched(log types.Log) (*ContractOrdersMatched, error) {
  1783  	event := new(ContractOrdersMatched)
  1784  	if err := _Contract.contract.UnpackLog(event, "OrdersMatched", log); err != nil {
  1785  		return nil, err
  1786  	}
  1787  	event.Raw = log
  1788  	return event, nil
  1789  }
  1790  
  1791  // ContractOwnershipRenouncedIterator is returned from FilterOwnershipRenounced and is used to iterate over the raw logs and unpacked data for OwnershipRenounced events raised by the Contract contract.
  1792  type ContractOwnershipRenouncedIterator struct {
  1793  	Event *ContractOwnershipRenounced // Event containing the contract specifics and raw log
  1794  
  1795  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1796  	event    string              // Event name to use for unpacking event data
  1797  
  1798  	logs chan types.Log        // Log channel receiving the found contract events
  1799  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1800  	done bool                  // Whether the subscription completed delivering logs
  1801  	fail error                 // Occurred error to stop iteration
  1802  }
  1803  
  1804  // Next advances the iterator to the subsequent event, returning whether there
  1805  // are any more events found. In case of a retrieval or parsing error, false is
  1806  // returned and Error() can be queried for the exact failure.
  1807  func (it *ContractOwnershipRenouncedIterator) Next() bool {
  1808  	// If the iterator failed, stop iterating
  1809  	if it.fail != nil {
  1810  		return false
  1811  	}
  1812  	// If the iterator completed, deliver directly whatever's available
  1813  	if it.done {
  1814  		select {
  1815  		case log := <-it.logs:
  1816  			it.Event = new(ContractOwnershipRenounced)
  1817  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1818  				it.fail = err
  1819  				return false
  1820  			}
  1821  			it.Event.Raw = log
  1822  			return true
  1823  
  1824  		default:
  1825  			return false
  1826  		}
  1827  	}
  1828  	// Iterator still in progress, wait for either a data or an error event
  1829  	select {
  1830  	case log := <-it.logs:
  1831  		it.Event = new(ContractOwnershipRenounced)
  1832  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1833  			it.fail = err
  1834  			return false
  1835  		}
  1836  		it.Event.Raw = log
  1837  		return true
  1838  
  1839  	case err := <-it.sub.Err():
  1840  		it.done = true
  1841  		it.fail = err
  1842  		return it.Next()
  1843  	}
  1844  }
  1845  
  1846  // Error returns any retrieval or parsing error occurred during filtering.
  1847  func (it *ContractOwnershipRenouncedIterator) Error() error {
  1848  	return it.fail
  1849  }
  1850  
  1851  // Close terminates the iteration process, releasing any pending underlying
  1852  // resources.
  1853  func (it *ContractOwnershipRenouncedIterator) Close() error {
  1854  	it.sub.Unsubscribe()
  1855  	return nil
  1856  }
  1857  
  1858  // ContractOwnershipRenounced represents a OwnershipRenounced event raised by the Contract contract.
  1859  type ContractOwnershipRenounced struct {
  1860  	PreviousOwner common.Address
  1861  	Raw           types.Log // Blockchain specific contextual infos
  1862  }
  1863  
  1864  // FilterOwnershipRenounced is a free log retrieval operation binding the contract event 0xf8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c64820.
  1865  //
  1866  // Solidity: event OwnershipRenounced(address indexed previousOwner)
  1867  func (_Contract *ContractFilterer) FilterOwnershipRenounced(opts *bind.FilterOpts, previousOwner []common.Address) (*ContractOwnershipRenouncedIterator, error) {
  1868  
  1869  	var previousOwnerRule []interface{}
  1870  	for _, previousOwnerItem := range previousOwner {
  1871  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  1872  	}
  1873  
  1874  	logs, sub, err := _Contract.contract.FilterLogs(opts, "OwnershipRenounced", previousOwnerRule)
  1875  	if err != nil {
  1876  		return nil, err
  1877  	}
  1878  	return &ContractOwnershipRenouncedIterator{contract: _Contract.contract, event: "OwnershipRenounced", logs: logs, sub: sub}, nil
  1879  }
  1880  
  1881  // WatchOwnershipRenounced is a free log subscription operation binding the contract event 0xf8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c64820.
  1882  //
  1883  // Solidity: event OwnershipRenounced(address indexed previousOwner)
  1884  func (_Contract *ContractFilterer) WatchOwnershipRenounced(opts *bind.WatchOpts, sink chan<- *ContractOwnershipRenounced, previousOwner []common.Address) (event.Subscription, error) {
  1885  
  1886  	var previousOwnerRule []interface{}
  1887  	for _, previousOwnerItem := range previousOwner {
  1888  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  1889  	}
  1890  
  1891  	logs, sub, err := _Contract.contract.WatchLogs(opts, "OwnershipRenounced", previousOwnerRule)
  1892  	if err != nil {
  1893  		return nil, err
  1894  	}
  1895  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1896  		defer sub.Unsubscribe()
  1897  		for {
  1898  			select {
  1899  			case log := <-logs:
  1900  				// New log arrived, parse the event and forward to the user
  1901  				event := new(ContractOwnershipRenounced)
  1902  				if err := _Contract.contract.UnpackLog(event, "OwnershipRenounced", log); err != nil {
  1903  					return err
  1904  				}
  1905  				event.Raw = log
  1906  
  1907  				select {
  1908  				case sink <- event:
  1909  				case err := <-sub.Err():
  1910  					return err
  1911  				case <-quit:
  1912  					return nil
  1913  				}
  1914  			case err := <-sub.Err():
  1915  				return err
  1916  			case <-quit:
  1917  				return nil
  1918  			}
  1919  		}
  1920  	}), nil
  1921  }
  1922  
  1923  // ParseOwnershipRenounced is a log parse operation binding the contract event 0xf8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c64820.
  1924  //
  1925  // Solidity: event OwnershipRenounced(address indexed previousOwner)
  1926  func (_Contract *ContractFilterer) ParseOwnershipRenounced(log types.Log) (*ContractOwnershipRenounced, error) {
  1927  	event := new(ContractOwnershipRenounced)
  1928  	if err := _Contract.contract.UnpackLog(event, "OwnershipRenounced", log); err != nil {
  1929  		return nil, err
  1930  	}
  1931  	event.Raw = log
  1932  	return event, nil
  1933  }
  1934  
  1935  // ContractOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Contract contract.
  1936  type ContractOwnershipTransferredIterator struct {
  1937  	Event *ContractOwnershipTransferred // Event containing the contract specifics and raw log
  1938  
  1939  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1940  	event    string              // Event name to use for unpacking event data
  1941  
  1942  	logs chan types.Log        // Log channel receiving the found contract events
  1943  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1944  	done bool                  // Whether the subscription completed delivering logs
  1945  	fail error                 // Occurred error to stop iteration
  1946  }
  1947  
  1948  // Next advances the iterator to the subsequent event, returning whether there
  1949  // are any more events found. In case of a retrieval or parsing error, false is
  1950  // returned and Error() can be queried for the exact failure.
  1951  func (it *ContractOwnershipTransferredIterator) Next() bool {
  1952  	// If the iterator failed, stop iterating
  1953  	if it.fail != nil {
  1954  		return false
  1955  	}
  1956  	// If the iterator completed, deliver directly whatever's available
  1957  	if it.done {
  1958  		select {
  1959  		case log := <-it.logs:
  1960  			it.Event = new(ContractOwnershipTransferred)
  1961  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1962  				it.fail = err
  1963  				return false
  1964  			}
  1965  			it.Event.Raw = log
  1966  			return true
  1967  
  1968  		default:
  1969  			return false
  1970  		}
  1971  	}
  1972  	// Iterator still in progress, wait for either a data or an error event
  1973  	select {
  1974  	case log := <-it.logs:
  1975  		it.Event = new(ContractOwnershipTransferred)
  1976  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1977  			it.fail = err
  1978  			return false
  1979  		}
  1980  		it.Event.Raw = log
  1981  		return true
  1982  
  1983  	case err := <-it.sub.Err():
  1984  		it.done = true
  1985  		it.fail = err
  1986  		return it.Next()
  1987  	}
  1988  }
  1989  
  1990  // Error returns any retrieval or parsing error occurred during filtering.
  1991  func (it *ContractOwnershipTransferredIterator) Error() error {
  1992  	return it.fail
  1993  }
  1994  
  1995  // Close terminates the iteration process, releasing any pending underlying
  1996  // resources.
  1997  func (it *ContractOwnershipTransferredIterator) Close() error {
  1998  	it.sub.Unsubscribe()
  1999  	return nil
  2000  }
  2001  
  2002  // ContractOwnershipTransferred represents a OwnershipTransferred event raised by the Contract contract.
  2003  type ContractOwnershipTransferred struct {
  2004  	PreviousOwner common.Address
  2005  	NewOwner      common.Address
  2006  	Raw           types.Log // Blockchain specific contextual infos
  2007  }
  2008  
  2009  // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  2010  //
  2011  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  2012  func (_Contract *ContractFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ContractOwnershipTransferredIterator, error) {
  2013  
  2014  	var previousOwnerRule []interface{}
  2015  	for _, previousOwnerItem := range previousOwner {
  2016  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  2017  	}
  2018  	var newOwnerRule []interface{}
  2019  	for _, newOwnerItem := range newOwner {
  2020  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  2021  	}
  2022  
  2023  	logs, sub, err := _Contract.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  2024  	if err != nil {
  2025  		return nil, err
  2026  	}
  2027  	return &ContractOwnershipTransferredIterator{contract: _Contract.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil
  2028  }
  2029  
  2030  // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  2031  //
  2032  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  2033  func (_Contract *ContractFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *ContractOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) {
  2034  
  2035  	var previousOwnerRule []interface{}
  2036  	for _, previousOwnerItem := range previousOwner {
  2037  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  2038  	}
  2039  	var newOwnerRule []interface{}
  2040  	for _, newOwnerItem := range newOwner {
  2041  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  2042  	}
  2043  
  2044  	logs, sub, err := _Contract.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  2045  	if err != nil {
  2046  		return nil, err
  2047  	}
  2048  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2049  		defer sub.Unsubscribe()
  2050  		for {
  2051  			select {
  2052  			case log := <-logs:
  2053  				// New log arrived, parse the event and forward to the user
  2054  				event := new(ContractOwnershipTransferred)
  2055  				if err := _Contract.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  2056  					return err
  2057  				}
  2058  				event.Raw = log
  2059  
  2060  				select {
  2061  				case sink <- event:
  2062  				case err := <-sub.Err():
  2063  					return err
  2064  				case <-quit:
  2065  					return nil
  2066  				}
  2067  			case err := <-sub.Err():
  2068  				return err
  2069  			case <-quit:
  2070  				return nil
  2071  			}
  2072  		}
  2073  	}), nil
  2074  }
  2075  
  2076  // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  2077  //
  2078  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  2079  func (_Contract *ContractFilterer) ParseOwnershipTransferred(log types.Log) (*ContractOwnershipTransferred, error) {
  2080  	event := new(ContractOwnershipTransferred)
  2081  	if err := _Contract.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  2082  		return nil, err
  2083  	}
  2084  	event.Raw = log
  2085  	return event, nil
  2086  }