github.com/0chain/gosdk@v1.17.11/znft/contracts/dstorageerc721random/binding/dstorageerc721random.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 binding
     5  
     6  import (
     7  	"errors"
     8  	"math/big"
     9  	"strings"
    10  
    11  	ethereum "github.com/ethereum/go-ethereum"
    12  	"github.com/ethereum/go-ethereum/accounts/abi"
    13  	"github.com/ethereum/go-ethereum/accounts/abi/bind"
    14  	"github.com/ethereum/go-ethereum/common"
    15  	"github.com/ethereum/go-ethereum/core/types"
    16  	"github.com/ethereum/go-ethereum/event"
    17  )
    18  
    19  // Reference imports to suppress errors if they are not otherwise used.
    20  var (
    21  	_ = errors.New
    22  	_ = big.NewInt
    23  	_ = strings.NewReader
    24  	_ = ethereum.NotFound
    25  	_ = bind.Bind
    26  	_ = common.Big1
    27  	_ = types.BloomLookup
    28  	_ = event.NewSubscription
    29  )
    30  
    31  // DStorageERC721RandomVRFConfig is an auto generated low-level Go binding around an user-defined struct.
    32  type DStorageERC721RandomVRFConfig struct {
    33  	Coordinator common.Address
    34  	Link        common.Address
    35  	Keyhash     [32]byte
    36  	Fee         *big.Int
    37  }
    38  
    39  // BindingMetaData contains all meta data concerning the Binding contract.
    40  var BindingMetaData = &bind.MetaData{
    41  	ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"uri_\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"max_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"batch_\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"coordinator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"link\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"keyhash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"internalType\":\"structDStorageERC721Random.VRFConfig\",\"name\":\"vrf_\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previous\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"updated\",\"type\":\"uint256\"}],\"name\":\"BatchUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"previous\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"updated\",\"type\":\"string\"}],\"name\":\"HiddenUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"name\":\"MetadataFrozen\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"previous\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"updated\",\"type\":\"bool\"}],\"name\":\"MintableUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previous\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"updated\",\"type\":\"address\"}],\"name\":\"PackUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previous\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"updated\",\"type\":\"uint256\"}],\"name\":\"PriceUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previous\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"updated\",\"type\":\"address\"}],\"name\":\"ReceiverUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"previous\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"updated\",\"type\":\"bool\"}],\"name\":\"RevealableUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previous\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"updated\",\"type\":\"uint256\"}],\"name\":\"RoyaltyUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"tokens\",\"type\":\"uint256[]\"}],\"name\":\"TokenReveal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"previous\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"updated\",\"type\":\"string\"}],\"name\":\"UriFallbackUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"previous\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"updated\",\"type\":\"string\"}],\"name\":\"UriUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"allocation\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"batch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"freeze\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"frozen\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hidden\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"max\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mintOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mintable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"order\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pack\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pending\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomness\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"randomness\",\"type\":\"uint256\"}],\"name\":\"rawFulfillRandomness\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"receiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokens\",\"type\":\"uint256[]\"}],\"name\":\"reveal\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revealable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revealed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royalty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"allocation_\",\"type\":\"string\"}],\"name\":\"setAllocation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"hidden_\",\"type\":\"string\"}],\"name\":\"setHidden\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status_\",\"type\":\"bool\"}],\"name\":\"setMintable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pack_\",\"type\":\"address\"}],\"name\":\"setPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver_\",\"type\":\"address\"}],\"name\":\"setReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status_\",\"type\":\"bool\"}],\"name\":\"setRevealable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"royalty_\",\"type\":\"uint256\"}],\"name\":\"setRoyalty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"uri_\",\"type\":\"string\"}],\"name\":\"setURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"uri_\",\"type\":\"string\"}],\"name\":\"setURIFallback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"shuffle\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURIFallback\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"total\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"uriFallback\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vrfFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vrfKeyHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
    42  }
    43  
    44  // BindingABI is the input ABI used to generate the binding from.
    45  // Deprecated: Use BindingMetaData.ABI instead.
    46  var BindingABI = BindingMetaData.ABI
    47  
    48  // Binding is an auto generated Go binding around an Ethereum contract.
    49  type Binding struct {
    50  	BindingCaller     // Read-only binding to the contract
    51  	BindingTransactor // Write-only binding to the contract
    52  	BindingFilterer   // Log filterer for contract events
    53  }
    54  
    55  // BindingCaller is an auto generated read-only Go binding around an Ethereum contract.
    56  type BindingCaller struct {
    57  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    58  }
    59  
    60  // BindingTransactor is an auto generated write-only Go binding around an Ethereum contract.
    61  type BindingTransactor struct {
    62  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    63  }
    64  
    65  // BindingFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    66  type BindingFilterer struct {
    67  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    68  }
    69  
    70  // BindingSession is an auto generated Go binding around an Ethereum contract,
    71  // with pre-set call and transact options.
    72  type BindingSession struct {
    73  	Contract     *Binding          // Generic contract binding to set the session for
    74  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    75  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    76  }
    77  
    78  // BindingCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    79  // with pre-set call options.
    80  type BindingCallerSession struct {
    81  	Contract *BindingCaller // Generic contract caller binding to set the session for
    82  	CallOpts bind.CallOpts  // Call options to use throughout this session
    83  }
    84  
    85  // BindingTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    86  // with pre-set transact options.
    87  type BindingTransactorSession struct {
    88  	Contract     *BindingTransactor // Generic contract transactor binding to set the session for
    89  	TransactOpts bind.TransactOpts  // Transaction auth options to use throughout this session
    90  }
    91  
    92  // BindingRaw is an auto generated low-level Go binding around an Ethereum contract.
    93  type BindingRaw struct {
    94  	Contract *Binding // Generic contract binding to access the raw methods on
    95  }
    96  
    97  // BindingCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
    98  type BindingCallerRaw struct {
    99  	Contract *BindingCaller // Generic read-only contract binding to access the raw methods on
   100  }
   101  
   102  // BindingTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   103  type BindingTransactorRaw struct {
   104  	Contract *BindingTransactor // Generic write-only contract binding to access the raw methods on
   105  }
   106  
   107  // NewBinding creates a new instance of Binding, bound to a specific deployed contract.
   108  func NewBinding(address common.Address, backend bind.ContractBackend) (*Binding, error) {
   109  	contract, err := bindBinding(address, backend, backend, backend)
   110  	if err != nil {
   111  		return nil, err
   112  	}
   113  	return &Binding{BindingCaller: BindingCaller{contract: contract}, BindingTransactor: BindingTransactor{contract: contract}, BindingFilterer: BindingFilterer{contract: contract}}, nil
   114  }
   115  
   116  // NewBindingCaller creates a new read-only instance of Binding, bound to a specific deployed contract.
   117  func NewBindingCaller(address common.Address, caller bind.ContractCaller) (*BindingCaller, error) {
   118  	contract, err := bindBinding(address, caller, nil, nil)
   119  	if err != nil {
   120  		return nil, err
   121  	}
   122  	return &BindingCaller{contract: contract}, nil
   123  }
   124  
   125  // NewBindingTransactor creates a new write-only instance of Binding, bound to a specific deployed contract.
   126  func NewBindingTransactor(address common.Address, transactor bind.ContractTransactor) (*BindingTransactor, error) {
   127  	contract, err := bindBinding(address, nil, transactor, nil)
   128  	if err != nil {
   129  		return nil, err
   130  	}
   131  	return &BindingTransactor{contract: contract}, nil
   132  }
   133  
   134  // NewBindingFilterer creates a new log filterer instance of Binding, bound to a specific deployed contract.
   135  func NewBindingFilterer(address common.Address, filterer bind.ContractFilterer) (*BindingFilterer, error) {
   136  	contract, err := bindBinding(address, nil, nil, filterer)
   137  	if err != nil {
   138  		return nil, err
   139  	}
   140  	return &BindingFilterer{contract: contract}, nil
   141  }
   142  
   143  // bindBinding binds a generic wrapper to an already deployed contract.
   144  func bindBinding(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   145  	parsed, err := abi.JSON(strings.NewReader(BindingABI))
   146  	if err != nil {
   147  		return nil, err
   148  	}
   149  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
   150  }
   151  
   152  // Call invokes the (constant) contract method with params as input values and
   153  // sets the output to result. The result type might be a single field for simple
   154  // returns, a slice of interfaces for anonymous returns and a struct for named
   155  // returns.
   156  func (_Binding *BindingRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   157  	return _Binding.Contract.BindingCaller.contract.Call(opts, result, method, params...)
   158  }
   159  
   160  // Transfer initiates a plain transaction to move funds to the contract, calling
   161  // its default method if one is available.
   162  func (_Binding *BindingRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   163  	return _Binding.Contract.BindingTransactor.contract.Transfer(opts)
   164  }
   165  
   166  // Transact invokes the (paid) contract method with params as input values.
   167  func (_Binding *BindingRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   168  	return _Binding.Contract.BindingTransactor.contract.Transact(opts, method, params...)
   169  }
   170  
   171  // Call invokes the (constant) contract method with params as input values and
   172  // sets the output to result. The result type might be a single field for simple
   173  // returns, a slice of interfaces for anonymous returns and a struct for named
   174  // returns.
   175  func (_Binding *BindingCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   176  	return _Binding.Contract.contract.Call(opts, result, method, params...)
   177  }
   178  
   179  // Transfer initiates a plain transaction to move funds to the contract, calling
   180  // its default method if one is available.
   181  func (_Binding *BindingTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   182  	return _Binding.Contract.contract.Transfer(opts)
   183  }
   184  
   185  // Transact invokes the (paid) contract method with params as input values.
   186  func (_Binding *BindingTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   187  	return _Binding.Contract.contract.Transact(opts, method, params...)
   188  }
   189  
   190  // Allocation is a free data retrieval call binding the contract method 0x88a17bde.
   191  //
   192  // Solidity: function allocation() view returns(string)
   193  func (_Binding *BindingCaller) Allocation(opts *bind.CallOpts) (string, error) {
   194  	var out []interface{}
   195  	err := _Binding.contract.Call(opts, &out, "allocation")
   196  
   197  	if err != nil {
   198  		return *new(string), err
   199  	}
   200  
   201  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   202  
   203  	return out0, err
   204  
   205  }
   206  
   207  // Allocation is a free data retrieval call binding the contract method 0x88a17bde.
   208  //
   209  // Solidity: function allocation() view returns(string)
   210  func (_Binding *BindingSession) Allocation() (string, error) {
   211  	return _Binding.Contract.Allocation(&_Binding.CallOpts)
   212  }
   213  
   214  // Allocation is a free data retrieval call binding the contract method 0x88a17bde.
   215  //
   216  // Solidity: function allocation() view returns(string)
   217  func (_Binding *BindingCallerSession) Allocation() (string, error) {
   218  	return _Binding.Contract.Allocation(&_Binding.CallOpts)
   219  }
   220  
   221  // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
   222  //
   223  // Solidity: function balanceOf(address owner) view returns(uint256)
   224  func (_Binding *BindingCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) {
   225  	var out []interface{}
   226  	err := _Binding.contract.Call(opts, &out, "balanceOf", owner)
   227  
   228  	if err != nil {
   229  		return *new(*big.Int), err
   230  	}
   231  
   232  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   233  
   234  	return out0, err
   235  
   236  }
   237  
   238  // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
   239  //
   240  // Solidity: function balanceOf(address owner) view returns(uint256)
   241  func (_Binding *BindingSession) BalanceOf(owner common.Address) (*big.Int, error) {
   242  	return _Binding.Contract.BalanceOf(&_Binding.CallOpts, owner)
   243  }
   244  
   245  // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
   246  //
   247  // Solidity: function balanceOf(address owner) view returns(uint256)
   248  func (_Binding *BindingCallerSession) BalanceOf(owner common.Address) (*big.Int, error) {
   249  	return _Binding.Contract.BalanceOf(&_Binding.CallOpts, owner)
   250  }
   251  
   252  // Batch is a free data retrieval call binding the contract method 0xaf713566.
   253  //
   254  // Solidity: function batch() view returns(uint256)
   255  func (_Binding *BindingCaller) Batch(opts *bind.CallOpts) (*big.Int, error) {
   256  	var out []interface{}
   257  	err := _Binding.contract.Call(opts, &out, "batch")
   258  
   259  	if err != nil {
   260  		return *new(*big.Int), err
   261  	}
   262  
   263  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   264  
   265  	return out0, err
   266  
   267  }
   268  
   269  // Batch is a free data retrieval call binding the contract method 0xaf713566.
   270  //
   271  // Solidity: function batch() view returns(uint256)
   272  func (_Binding *BindingSession) Batch() (*big.Int, error) {
   273  	return _Binding.Contract.Batch(&_Binding.CallOpts)
   274  }
   275  
   276  // Batch is a free data retrieval call binding the contract method 0xaf713566.
   277  //
   278  // Solidity: function batch() view returns(uint256)
   279  func (_Binding *BindingCallerSession) Batch() (*big.Int, error) {
   280  	return _Binding.Contract.Batch(&_Binding.CallOpts)
   281  }
   282  
   283  // Frozen is a free data retrieval call binding the contract method 0x054f7d9c.
   284  //
   285  // Solidity: function frozen() view returns(bool)
   286  func (_Binding *BindingCaller) Frozen(opts *bind.CallOpts) (bool, error) {
   287  	var out []interface{}
   288  	err := _Binding.contract.Call(opts, &out, "frozen")
   289  
   290  	if err != nil {
   291  		return *new(bool), err
   292  	}
   293  
   294  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   295  
   296  	return out0, err
   297  
   298  }
   299  
   300  // Frozen is a free data retrieval call binding the contract method 0x054f7d9c.
   301  //
   302  // Solidity: function frozen() view returns(bool)
   303  func (_Binding *BindingSession) Frozen() (bool, error) {
   304  	return _Binding.Contract.Frozen(&_Binding.CallOpts)
   305  }
   306  
   307  // Frozen is a free data retrieval call binding the contract method 0x054f7d9c.
   308  //
   309  // Solidity: function frozen() view returns(bool)
   310  func (_Binding *BindingCallerSession) Frozen() (bool, error) {
   311  	return _Binding.Contract.Frozen(&_Binding.CallOpts)
   312  }
   313  
   314  // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
   315  //
   316  // Solidity: function getApproved(uint256 tokenId) view returns(address)
   317  func (_Binding *BindingCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
   318  	var out []interface{}
   319  	err := _Binding.contract.Call(opts, &out, "getApproved", tokenId)
   320  
   321  	if err != nil {
   322  		return *new(common.Address), err
   323  	}
   324  
   325  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   326  
   327  	return out0, err
   328  
   329  }
   330  
   331  // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
   332  //
   333  // Solidity: function getApproved(uint256 tokenId) view returns(address)
   334  func (_Binding *BindingSession) GetApproved(tokenId *big.Int) (common.Address, error) {
   335  	return _Binding.Contract.GetApproved(&_Binding.CallOpts, tokenId)
   336  }
   337  
   338  // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
   339  //
   340  // Solidity: function getApproved(uint256 tokenId) view returns(address)
   341  func (_Binding *BindingCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) {
   342  	return _Binding.Contract.GetApproved(&_Binding.CallOpts, tokenId)
   343  }
   344  
   345  // Hidden is a free data retrieval call binding the contract method 0xaef6d4b1.
   346  //
   347  // Solidity: function hidden() view returns(string)
   348  func (_Binding *BindingCaller) Hidden(opts *bind.CallOpts) (string, error) {
   349  	var out []interface{}
   350  	err := _Binding.contract.Call(opts, &out, "hidden")
   351  
   352  	if err != nil {
   353  		return *new(string), err
   354  	}
   355  
   356  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   357  
   358  	return out0, err
   359  
   360  }
   361  
   362  // Hidden is a free data retrieval call binding the contract method 0xaef6d4b1.
   363  //
   364  // Solidity: function hidden() view returns(string)
   365  func (_Binding *BindingSession) Hidden() (string, error) {
   366  	return _Binding.Contract.Hidden(&_Binding.CallOpts)
   367  }
   368  
   369  // Hidden is a free data retrieval call binding the contract method 0xaef6d4b1.
   370  //
   371  // Solidity: function hidden() view returns(string)
   372  func (_Binding *BindingCallerSession) Hidden() (string, error) {
   373  	return _Binding.Contract.Hidden(&_Binding.CallOpts)
   374  }
   375  
   376  // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
   377  //
   378  // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
   379  func (_Binding *BindingCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) {
   380  	var out []interface{}
   381  	err := _Binding.contract.Call(opts, &out, "isApprovedForAll", owner, operator)
   382  
   383  	if err != nil {
   384  		return *new(bool), err
   385  	}
   386  
   387  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   388  
   389  	return out0, err
   390  
   391  }
   392  
   393  // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
   394  //
   395  // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
   396  func (_Binding *BindingSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
   397  	return _Binding.Contract.IsApprovedForAll(&_Binding.CallOpts, owner, operator)
   398  }
   399  
   400  // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
   401  //
   402  // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
   403  func (_Binding *BindingCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
   404  	return _Binding.Contract.IsApprovedForAll(&_Binding.CallOpts, owner, operator)
   405  }
   406  
   407  // Max is a free data retrieval call binding the contract method 0x6ac5db19.
   408  //
   409  // Solidity: function max() view returns(uint256)
   410  func (_Binding *BindingCaller) Max(opts *bind.CallOpts) (*big.Int, error) {
   411  	var out []interface{}
   412  	err := _Binding.contract.Call(opts, &out, "max")
   413  
   414  	if err != nil {
   415  		return *new(*big.Int), err
   416  	}
   417  
   418  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   419  
   420  	return out0, err
   421  
   422  }
   423  
   424  // Max is a free data retrieval call binding the contract method 0x6ac5db19.
   425  //
   426  // Solidity: function max() view returns(uint256)
   427  func (_Binding *BindingSession) Max() (*big.Int, error) {
   428  	return _Binding.Contract.Max(&_Binding.CallOpts)
   429  }
   430  
   431  // Max is a free data retrieval call binding the contract method 0x6ac5db19.
   432  //
   433  // Solidity: function max() view returns(uint256)
   434  func (_Binding *BindingCallerSession) Max() (*big.Int, error) {
   435  	return _Binding.Contract.Max(&_Binding.CallOpts)
   436  }
   437  
   438  // Mintable is a free data retrieval call binding the contract method 0x4bf365df.
   439  //
   440  // Solidity: function mintable() view returns(bool)
   441  func (_Binding *BindingCaller) Mintable(opts *bind.CallOpts) (bool, error) {
   442  	var out []interface{}
   443  	err := _Binding.contract.Call(opts, &out, "mintable")
   444  
   445  	if err != nil {
   446  		return *new(bool), err
   447  	}
   448  
   449  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   450  
   451  	return out0, err
   452  
   453  }
   454  
   455  // Mintable is a free data retrieval call binding the contract method 0x4bf365df.
   456  //
   457  // Solidity: function mintable() view returns(bool)
   458  func (_Binding *BindingSession) Mintable() (bool, error) {
   459  	return _Binding.Contract.Mintable(&_Binding.CallOpts)
   460  }
   461  
   462  // Mintable is a free data retrieval call binding the contract method 0x4bf365df.
   463  //
   464  // Solidity: function mintable() view returns(bool)
   465  func (_Binding *BindingCallerSession) Mintable() (bool, error) {
   466  	return _Binding.Contract.Mintable(&_Binding.CallOpts)
   467  }
   468  
   469  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   470  //
   471  // Solidity: function name() view returns(string)
   472  func (_Binding *BindingCaller) Name(opts *bind.CallOpts) (string, error) {
   473  	var out []interface{}
   474  	err := _Binding.contract.Call(opts, &out, "name")
   475  
   476  	if err != nil {
   477  		return *new(string), err
   478  	}
   479  
   480  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   481  
   482  	return out0, err
   483  
   484  }
   485  
   486  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   487  //
   488  // Solidity: function name() view returns(string)
   489  func (_Binding *BindingSession) Name() (string, error) {
   490  	return _Binding.Contract.Name(&_Binding.CallOpts)
   491  }
   492  
   493  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   494  //
   495  // Solidity: function name() view returns(string)
   496  func (_Binding *BindingCallerSession) Name() (string, error) {
   497  	return _Binding.Contract.Name(&_Binding.CallOpts)
   498  }
   499  
   500  // Order is a free data retrieval call binding the contract method 0x21603f43.
   501  //
   502  // Solidity: function order(uint256 ) view returns(uint256)
   503  func (_Binding *BindingCaller) Order(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) {
   504  	var out []interface{}
   505  	err := _Binding.contract.Call(opts, &out, "order", arg0)
   506  
   507  	if err != nil {
   508  		return *new(*big.Int), err
   509  	}
   510  
   511  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   512  
   513  	return out0, err
   514  
   515  }
   516  
   517  // Order is a free data retrieval call binding the contract method 0x21603f43.
   518  //
   519  // Solidity: function order(uint256 ) view returns(uint256)
   520  func (_Binding *BindingSession) Order(arg0 *big.Int) (*big.Int, error) {
   521  	return _Binding.Contract.Order(&_Binding.CallOpts, arg0)
   522  }
   523  
   524  // Order is a free data retrieval call binding the contract method 0x21603f43.
   525  //
   526  // Solidity: function order(uint256 ) view returns(uint256)
   527  func (_Binding *BindingCallerSession) Order(arg0 *big.Int) (*big.Int, error) {
   528  	return _Binding.Contract.Order(&_Binding.CallOpts, arg0)
   529  }
   530  
   531  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   532  //
   533  // Solidity: function owner() view returns(address)
   534  func (_Binding *BindingCaller) Owner(opts *bind.CallOpts) (common.Address, error) {
   535  	var out []interface{}
   536  	err := _Binding.contract.Call(opts, &out, "owner")
   537  
   538  	if err != nil {
   539  		return *new(common.Address), err
   540  	}
   541  
   542  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   543  
   544  	return out0, err
   545  
   546  }
   547  
   548  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   549  //
   550  // Solidity: function owner() view returns(address)
   551  func (_Binding *BindingSession) Owner() (common.Address, error) {
   552  	return _Binding.Contract.Owner(&_Binding.CallOpts)
   553  }
   554  
   555  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   556  //
   557  // Solidity: function owner() view returns(address)
   558  func (_Binding *BindingCallerSession) Owner() (common.Address, error) {
   559  	return _Binding.Contract.Owner(&_Binding.CallOpts)
   560  }
   561  
   562  // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
   563  //
   564  // Solidity: function ownerOf(uint256 tokenId) view returns(address)
   565  func (_Binding *BindingCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
   566  	var out []interface{}
   567  	err := _Binding.contract.Call(opts, &out, "ownerOf", tokenId)
   568  
   569  	if err != nil {
   570  		return *new(common.Address), err
   571  	}
   572  
   573  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   574  
   575  	return out0, err
   576  
   577  }
   578  
   579  // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
   580  //
   581  // Solidity: function ownerOf(uint256 tokenId) view returns(address)
   582  func (_Binding *BindingSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
   583  	return _Binding.Contract.OwnerOf(&_Binding.CallOpts, tokenId)
   584  }
   585  
   586  // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
   587  //
   588  // Solidity: function ownerOf(uint256 tokenId) view returns(address)
   589  func (_Binding *BindingCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
   590  	return _Binding.Contract.OwnerOf(&_Binding.CallOpts, tokenId)
   591  }
   592  
   593  // Pack is a free data retrieval call binding the contract method 0xef082838.
   594  //
   595  // Solidity: function pack() view returns(address)
   596  func (_Binding *BindingCaller) Pack(opts *bind.CallOpts) (common.Address, error) {
   597  	var out []interface{}
   598  	err := _Binding.contract.Call(opts, &out, "pack")
   599  
   600  	if err != nil {
   601  		return *new(common.Address), err
   602  	}
   603  
   604  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   605  
   606  	return out0, err
   607  
   608  }
   609  
   610  // Pack is a free data retrieval call binding the contract method 0xef082838.
   611  //
   612  // Solidity: function pack() view returns(address)
   613  func (_Binding *BindingSession) Pack() (common.Address, error) {
   614  	return _Binding.Contract.Pack(&_Binding.CallOpts)
   615  }
   616  
   617  // Pack is a free data retrieval call binding the contract method 0xef082838.
   618  //
   619  // Solidity: function pack() view returns(address)
   620  func (_Binding *BindingCallerSession) Pack() (common.Address, error) {
   621  	return _Binding.Contract.Pack(&_Binding.CallOpts)
   622  }
   623  
   624  // Pending is a free data retrieval call binding the contract method 0xe20ccec3.
   625  //
   626  // Solidity: function pending() view returns(uint256)
   627  func (_Binding *BindingCaller) Pending(opts *bind.CallOpts) (*big.Int, error) {
   628  	var out []interface{}
   629  	err := _Binding.contract.Call(opts, &out, "pending")
   630  
   631  	if err != nil {
   632  		return *new(*big.Int), err
   633  	}
   634  
   635  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   636  
   637  	return out0, err
   638  
   639  }
   640  
   641  // Pending is a free data retrieval call binding the contract method 0xe20ccec3.
   642  //
   643  // Solidity: function pending() view returns(uint256)
   644  func (_Binding *BindingSession) Pending() (*big.Int, error) {
   645  	return _Binding.Contract.Pending(&_Binding.CallOpts)
   646  }
   647  
   648  // Pending is a free data retrieval call binding the contract method 0xe20ccec3.
   649  //
   650  // Solidity: function pending() view returns(uint256)
   651  func (_Binding *BindingCallerSession) Pending() (*big.Int, error) {
   652  	return _Binding.Contract.Pending(&_Binding.CallOpts)
   653  }
   654  
   655  // Price is a free data retrieval call binding the contract method 0xa035b1fe.
   656  //
   657  // Solidity: function price() view returns(uint256)
   658  func (_Binding *BindingCaller) Price(opts *bind.CallOpts) (*big.Int, error) {
   659  	var out []interface{}
   660  	err := _Binding.contract.Call(opts, &out, "price")
   661  
   662  	if err != nil {
   663  		return *new(*big.Int), err
   664  	}
   665  
   666  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   667  
   668  	return out0, err
   669  
   670  }
   671  
   672  // Price is a free data retrieval call binding the contract method 0xa035b1fe.
   673  //
   674  // Solidity: function price() view returns(uint256)
   675  func (_Binding *BindingSession) Price() (*big.Int, error) {
   676  	return _Binding.Contract.Price(&_Binding.CallOpts)
   677  }
   678  
   679  // Price is a free data retrieval call binding the contract method 0xa035b1fe.
   680  //
   681  // Solidity: function price() view returns(uint256)
   682  func (_Binding *BindingCallerSession) Price() (*big.Int, error) {
   683  	return _Binding.Contract.Price(&_Binding.CallOpts)
   684  }
   685  
   686  // Randomness is a free data retrieval call binding the contract method 0x36013189.
   687  //
   688  // Solidity: function randomness() view returns(uint256)
   689  func (_Binding *BindingCaller) Randomness(opts *bind.CallOpts) (*big.Int, error) {
   690  	var out []interface{}
   691  	err := _Binding.contract.Call(opts, &out, "randomness")
   692  
   693  	if err != nil {
   694  		return *new(*big.Int), err
   695  	}
   696  
   697  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   698  
   699  	return out0, err
   700  
   701  }
   702  
   703  // Randomness is a free data retrieval call binding the contract method 0x36013189.
   704  //
   705  // Solidity: function randomness() view returns(uint256)
   706  func (_Binding *BindingSession) Randomness() (*big.Int, error) {
   707  	return _Binding.Contract.Randomness(&_Binding.CallOpts)
   708  }
   709  
   710  // Randomness is a free data retrieval call binding the contract method 0x36013189.
   711  //
   712  // Solidity: function randomness() view returns(uint256)
   713  func (_Binding *BindingCallerSession) Randomness() (*big.Int, error) {
   714  	return _Binding.Contract.Randomness(&_Binding.CallOpts)
   715  }
   716  
   717  // Receiver is a free data retrieval call binding the contract method 0xf7260d3e.
   718  //
   719  // Solidity: function receiver() view returns(address)
   720  func (_Binding *BindingCaller) Receiver(opts *bind.CallOpts) (common.Address, error) {
   721  	var out []interface{}
   722  	err := _Binding.contract.Call(opts, &out, "receiver")
   723  
   724  	if err != nil {
   725  		return *new(common.Address), err
   726  	}
   727  
   728  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   729  
   730  	return out0, err
   731  
   732  }
   733  
   734  // Receiver is a free data retrieval call binding the contract method 0xf7260d3e.
   735  //
   736  // Solidity: function receiver() view returns(address)
   737  func (_Binding *BindingSession) Receiver() (common.Address, error) {
   738  	return _Binding.Contract.Receiver(&_Binding.CallOpts)
   739  }
   740  
   741  // Receiver is a free data retrieval call binding the contract method 0xf7260d3e.
   742  //
   743  // Solidity: function receiver() view returns(address)
   744  func (_Binding *BindingCallerSession) Receiver() (common.Address, error) {
   745  	return _Binding.Contract.Receiver(&_Binding.CallOpts)
   746  }
   747  
   748  // Revealable is a free data retrieval call binding the contract method 0x03d16985.
   749  //
   750  // Solidity: function revealable() view returns(bool)
   751  func (_Binding *BindingCaller) Revealable(opts *bind.CallOpts) (bool, error) {
   752  	var out []interface{}
   753  	err := _Binding.contract.Call(opts, &out, "revealable")
   754  
   755  	if err != nil {
   756  		return *new(bool), err
   757  	}
   758  
   759  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   760  
   761  	return out0, err
   762  
   763  }
   764  
   765  // Revealable is a free data retrieval call binding the contract method 0x03d16985.
   766  //
   767  // Solidity: function revealable() view returns(bool)
   768  func (_Binding *BindingSession) Revealable() (bool, error) {
   769  	return _Binding.Contract.Revealable(&_Binding.CallOpts)
   770  }
   771  
   772  // Revealable is a free data retrieval call binding the contract method 0x03d16985.
   773  //
   774  // Solidity: function revealable() view returns(bool)
   775  func (_Binding *BindingCallerSession) Revealable() (bool, error) {
   776  	return _Binding.Contract.Revealable(&_Binding.CallOpts)
   777  }
   778  
   779  // Revealed is a free data retrieval call binding the contract method 0x51830227.
   780  //
   781  // Solidity: function revealed() view returns(uint256)
   782  func (_Binding *BindingCaller) Revealed(opts *bind.CallOpts) (*big.Int, error) {
   783  	var out []interface{}
   784  	err := _Binding.contract.Call(opts, &out, "revealed")
   785  
   786  	if err != nil {
   787  		return *new(*big.Int), err
   788  	}
   789  
   790  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   791  
   792  	return out0, err
   793  
   794  }
   795  
   796  // Revealed is a free data retrieval call binding the contract method 0x51830227.
   797  //
   798  // Solidity: function revealed() view returns(uint256)
   799  func (_Binding *BindingSession) Revealed() (*big.Int, error) {
   800  	return _Binding.Contract.Revealed(&_Binding.CallOpts)
   801  }
   802  
   803  // Revealed is a free data retrieval call binding the contract method 0x51830227.
   804  //
   805  // Solidity: function revealed() view returns(uint256)
   806  func (_Binding *BindingCallerSession) Revealed() (*big.Int, error) {
   807  	return _Binding.Contract.Revealed(&_Binding.CallOpts)
   808  }
   809  
   810  // Royalty is a free data retrieval call binding the contract method 0x29ee566c.
   811  //
   812  // Solidity: function royalty() view returns(uint256)
   813  func (_Binding *BindingCaller) Royalty(opts *bind.CallOpts) (*big.Int, error) {
   814  	var out []interface{}
   815  	err := _Binding.contract.Call(opts, &out, "royalty")
   816  
   817  	if err != nil {
   818  		return *new(*big.Int), err
   819  	}
   820  
   821  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   822  
   823  	return out0, err
   824  
   825  }
   826  
   827  // Royalty is a free data retrieval call binding the contract method 0x29ee566c.
   828  //
   829  // Solidity: function royalty() view returns(uint256)
   830  func (_Binding *BindingSession) Royalty() (*big.Int, error) {
   831  	return _Binding.Contract.Royalty(&_Binding.CallOpts)
   832  }
   833  
   834  // Royalty is a free data retrieval call binding the contract method 0x29ee566c.
   835  //
   836  // Solidity: function royalty() view returns(uint256)
   837  func (_Binding *BindingCallerSession) Royalty() (*big.Int, error) {
   838  	return _Binding.Contract.Royalty(&_Binding.CallOpts)
   839  }
   840  
   841  // RoyaltyInfo is a free data retrieval call binding the contract method 0x2a55205a.
   842  //
   843  // Solidity: function royaltyInfo(uint256 tokenId, uint256 salePrice) view returns(address, uint256)
   844  func (_Binding *BindingCaller) RoyaltyInfo(opts *bind.CallOpts, tokenId *big.Int, salePrice *big.Int) (common.Address, *big.Int, error) {
   845  	var out []interface{}
   846  	err := _Binding.contract.Call(opts, &out, "royaltyInfo", tokenId, salePrice)
   847  
   848  	if err != nil {
   849  		return *new(common.Address), *new(*big.Int), err
   850  	}
   851  
   852  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   853  	out1 := *abi.ConvertType(out[1], new(*big.Int)).(**big.Int)
   854  
   855  	return out0, out1, err
   856  
   857  }
   858  
   859  // RoyaltyInfo is a free data retrieval call binding the contract method 0x2a55205a.
   860  //
   861  // Solidity: function royaltyInfo(uint256 tokenId, uint256 salePrice) view returns(address, uint256)
   862  func (_Binding *BindingSession) RoyaltyInfo(tokenId *big.Int, salePrice *big.Int) (common.Address, *big.Int, error) {
   863  	return _Binding.Contract.RoyaltyInfo(&_Binding.CallOpts, tokenId, salePrice)
   864  }
   865  
   866  // RoyaltyInfo is a free data retrieval call binding the contract method 0x2a55205a.
   867  //
   868  // Solidity: function royaltyInfo(uint256 tokenId, uint256 salePrice) view returns(address, uint256)
   869  func (_Binding *BindingCallerSession) RoyaltyInfo(tokenId *big.Int, salePrice *big.Int) (common.Address, *big.Int, error) {
   870  	return _Binding.Contract.RoyaltyInfo(&_Binding.CallOpts, tokenId, salePrice)
   871  }
   872  
   873  // Shuffle is a free data retrieval call binding the contract method 0xef6537b5.
   874  //
   875  // Solidity: function shuffle(uint256 ) view returns(uint256)
   876  func (_Binding *BindingCaller) Shuffle(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) {
   877  	var out []interface{}
   878  	err := _Binding.contract.Call(opts, &out, "shuffle", arg0)
   879  
   880  	if err != nil {
   881  		return *new(*big.Int), err
   882  	}
   883  
   884  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   885  
   886  	return out0, err
   887  
   888  }
   889  
   890  // Shuffle is a free data retrieval call binding the contract method 0xef6537b5.
   891  //
   892  // Solidity: function shuffle(uint256 ) view returns(uint256)
   893  func (_Binding *BindingSession) Shuffle(arg0 *big.Int) (*big.Int, error) {
   894  	return _Binding.Contract.Shuffle(&_Binding.CallOpts, arg0)
   895  }
   896  
   897  // Shuffle is a free data retrieval call binding the contract method 0xef6537b5.
   898  //
   899  // Solidity: function shuffle(uint256 ) view returns(uint256)
   900  func (_Binding *BindingCallerSession) Shuffle(arg0 *big.Int) (*big.Int, error) {
   901  	return _Binding.Contract.Shuffle(&_Binding.CallOpts, arg0)
   902  }
   903  
   904  // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
   905  //
   906  // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
   907  func (_Binding *BindingCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
   908  	var out []interface{}
   909  	err := _Binding.contract.Call(opts, &out, "supportsInterface", interfaceId)
   910  
   911  	if err != nil {
   912  		return *new(bool), err
   913  	}
   914  
   915  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   916  
   917  	return out0, err
   918  
   919  }
   920  
   921  // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
   922  //
   923  // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
   924  func (_Binding *BindingSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
   925  	return _Binding.Contract.SupportsInterface(&_Binding.CallOpts, interfaceId)
   926  }
   927  
   928  // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
   929  //
   930  // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
   931  func (_Binding *BindingCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
   932  	return _Binding.Contract.SupportsInterface(&_Binding.CallOpts, interfaceId)
   933  }
   934  
   935  // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
   936  //
   937  // Solidity: function symbol() view returns(string)
   938  func (_Binding *BindingCaller) Symbol(opts *bind.CallOpts) (string, error) {
   939  	var out []interface{}
   940  	err := _Binding.contract.Call(opts, &out, "symbol")
   941  
   942  	if err != nil {
   943  		return *new(string), err
   944  	}
   945  
   946  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   947  
   948  	return out0, err
   949  
   950  }
   951  
   952  // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
   953  //
   954  // Solidity: function symbol() view returns(string)
   955  func (_Binding *BindingSession) Symbol() (string, error) {
   956  	return _Binding.Contract.Symbol(&_Binding.CallOpts)
   957  }
   958  
   959  // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
   960  //
   961  // Solidity: function symbol() view returns(string)
   962  func (_Binding *BindingCallerSession) Symbol() (string, error) {
   963  	return _Binding.Contract.Symbol(&_Binding.CallOpts)
   964  }
   965  
   966  // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
   967  //
   968  // Solidity: function tokenURI(uint256 tokenId) view returns(string)
   969  func (_Binding *BindingCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) {
   970  	var out []interface{}
   971  	err := _Binding.contract.Call(opts, &out, "tokenURI", tokenId)
   972  
   973  	if err != nil {
   974  		return *new(string), err
   975  	}
   976  
   977  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   978  
   979  	return out0, err
   980  
   981  }
   982  
   983  // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
   984  //
   985  // Solidity: function tokenURI(uint256 tokenId) view returns(string)
   986  func (_Binding *BindingSession) TokenURI(tokenId *big.Int) (string, error) {
   987  	return _Binding.Contract.TokenURI(&_Binding.CallOpts, tokenId)
   988  }
   989  
   990  // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
   991  //
   992  // Solidity: function tokenURI(uint256 tokenId) view returns(string)
   993  func (_Binding *BindingCallerSession) TokenURI(tokenId *big.Int) (string, error) {
   994  	return _Binding.Contract.TokenURI(&_Binding.CallOpts, tokenId)
   995  }
   996  
   997  // TokenURIFallback is a free data retrieval call binding the contract method 0xc7c8f564.
   998  //
   999  // Solidity: function tokenURIFallback(uint256 tokenId) view returns(string)
  1000  func (_Binding *BindingCaller) TokenURIFallback(opts *bind.CallOpts, tokenId *big.Int) (string, error) {
  1001  	var out []interface{}
  1002  	err := _Binding.contract.Call(opts, &out, "tokenURIFallback", tokenId)
  1003  
  1004  	if err != nil {
  1005  		return *new(string), err
  1006  	}
  1007  
  1008  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
  1009  
  1010  	return out0, err
  1011  
  1012  }
  1013  
  1014  // TokenURIFallback is a free data retrieval call binding the contract method 0xc7c8f564.
  1015  //
  1016  // Solidity: function tokenURIFallback(uint256 tokenId) view returns(string)
  1017  func (_Binding *BindingSession) TokenURIFallback(tokenId *big.Int) (string, error) {
  1018  	return _Binding.Contract.TokenURIFallback(&_Binding.CallOpts, tokenId)
  1019  }
  1020  
  1021  // TokenURIFallback is a free data retrieval call binding the contract method 0xc7c8f564.
  1022  //
  1023  // Solidity: function tokenURIFallback(uint256 tokenId) view returns(string)
  1024  func (_Binding *BindingCallerSession) TokenURIFallback(tokenId *big.Int) (string, error) {
  1025  	return _Binding.Contract.TokenURIFallback(&_Binding.CallOpts, tokenId)
  1026  }
  1027  
  1028  // Total is a free data retrieval call binding the contract method 0x2ddbd13a.
  1029  //
  1030  // Solidity: function total() view returns(uint256)
  1031  func (_Binding *BindingCaller) Total(opts *bind.CallOpts) (*big.Int, error) {
  1032  	var out []interface{}
  1033  	err := _Binding.contract.Call(opts, &out, "total")
  1034  
  1035  	if err != nil {
  1036  		return *new(*big.Int), err
  1037  	}
  1038  
  1039  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1040  
  1041  	return out0, err
  1042  
  1043  }
  1044  
  1045  // Total is a free data retrieval call binding the contract method 0x2ddbd13a.
  1046  //
  1047  // Solidity: function total() view returns(uint256)
  1048  func (_Binding *BindingSession) Total() (*big.Int, error) {
  1049  	return _Binding.Contract.Total(&_Binding.CallOpts)
  1050  }
  1051  
  1052  // Total is a free data retrieval call binding the contract method 0x2ddbd13a.
  1053  //
  1054  // Solidity: function total() view returns(uint256)
  1055  func (_Binding *BindingCallerSession) Total() (*big.Int, error) {
  1056  	return _Binding.Contract.Total(&_Binding.CallOpts)
  1057  }
  1058  
  1059  // Uri is a free data retrieval call binding the contract method 0xeac989f8.
  1060  //
  1061  // Solidity: function uri() view returns(string)
  1062  func (_Binding *BindingCaller) Uri(opts *bind.CallOpts) (string, error) {
  1063  	var out []interface{}
  1064  	err := _Binding.contract.Call(opts, &out, "uri")
  1065  
  1066  	if err != nil {
  1067  		return *new(string), err
  1068  	}
  1069  
  1070  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
  1071  
  1072  	return out0, err
  1073  
  1074  }
  1075  
  1076  // Uri is a free data retrieval call binding the contract method 0xeac989f8.
  1077  //
  1078  // Solidity: function uri() view returns(string)
  1079  func (_Binding *BindingSession) Uri() (string, error) {
  1080  	return _Binding.Contract.Uri(&_Binding.CallOpts)
  1081  }
  1082  
  1083  // Uri is a free data retrieval call binding the contract method 0xeac989f8.
  1084  //
  1085  // Solidity: function uri() view returns(string)
  1086  func (_Binding *BindingCallerSession) Uri() (string, error) {
  1087  	return _Binding.Contract.Uri(&_Binding.CallOpts)
  1088  }
  1089  
  1090  // UriFallback is a free data retrieval call binding the contract method 0x6dd8e21a.
  1091  //
  1092  // Solidity: function uriFallback() view returns(string)
  1093  func (_Binding *BindingCaller) UriFallback(opts *bind.CallOpts) (string, error) {
  1094  	var out []interface{}
  1095  	err := _Binding.contract.Call(opts, &out, "uriFallback")
  1096  
  1097  	if err != nil {
  1098  		return *new(string), err
  1099  	}
  1100  
  1101  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
  1102  
  1103  	return out0, err
  1104  
  1105  }
  1106  
  1107  // UriFallback is a free data retrieval call binding the contract method 0x6dd8e21a.
  1108  //
  1109  // Solidity: function uriFallback() view returns(string)
  1110  func (_Binding *BindingSession) UriFallback() (string, error) {
  1111  	return _Binding.Contract.UriFallback(&_Binding.CallOpts)
  1112  }
  1113  
  1114  // UriFallback is a free data retrieval call binding the contract method 0x6dd8e21a.
  1115  //
  1116  // Solidity: function uriFallback() view returns(string)
  1117  func (_Binding *BindingCallerSession) UriFallback() (string, error) {
  1118  	return _Binding.Contract.UriFallback(&_Binding.CallOpts)
  1119  }
  1120  
  1121  // VrfFee is a free data retrieval call binding the contract method 0x1017507d.
  1122  //
  1123  // Solidity: function vrfFee() view returns(uint256)
  1124  func (_Binding *BindingCaller) VrfFee(opts *bind.CallOpts) (*big.Int, error) {
  1125  	var out []interface{}
  1126  	err := _Binding.contract.Call(opts, &out, "vrfFee")
  1127  
  1128  	if err != nil {
  1129  		return *new(*big.Int), err
  1130  	}
  1131  
  1132  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1133  
  1134  	return out0, err
  1135  
  1136  }
  1137  
  1138  // VrfFee is a free data retrieval call binding the contract method 0x1017507d.
  1139  //
  1140  // Solidity: function vrfFee() view returns(uint256)
  1141  func (_Binding *BindingSession) VrfFee() (*big.Int, error) {
  1142  	return _Binding.Contract.VrfFee(&_Binding.CallOpts)
  1143  }
  1144  
  1145  // VrfFee is a free data retrieval call binding the contract method 0x1017507d.
  1146  //
  1147  // Solidity: function vrfFee() view returns(uint256)
  1148  func (_Binding *BindingCallerSession) VrfFee() (*big.Int, error) {
  1149  	return _Binding.Contract.VrfFee(&_Binding.CallOpts)
  1150  }
  1151  
  1152  // VrfKeyHash is a free data retrieval call binding the contract method 0x041d443e.
  1153  //
  1154  // Solidity: function vrfKeyHash() view returns(bytes32)
  1155  func (_Binding *BindingCaller) VrfKeyHash(opts *bind.CallOpts) ([32]byte, error) {
  1156  	var out []interface{}
  1157  	err := _Binding.contract.Call(opts, &out, "vrfKeyHash")
  1158  
  1159  	if err != nil {
  1160  		return *new([32]byte), err
  1161  	}
  1162  
  1163  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  1164  
  1165  	return out0, err
  1166  
  1167  }
  1168  
  1169  // VrfKeyHash is a free data retrieval call binding the contract method 0x041d443e.
  1170  //
  1171  // Solidity: function vrfKeyHash() view returns(bytes32)
  1172  func (_Binding *BindingSession) VrfKeyHash() ([32]byte, error) {
  1173  	return _Binding.Contract.VrfKeyHash(&_Binding.CallOpts)
  1174  }
  1175  
  1176  // VrfKeyHash is a free data retrieval call binding the contract method 0x041d443e.
  1177  //
  1178  // Solidity: function vrfKeyHash() view returns(bytes32)
  1179  func (_Binding *BindingCallerSession) VrfKeyHash() ([32]byte, error) {
  1180  	return _Binding.Contract.VrfKeyHash(&_Binding.CallOpts)
  1181  }
  1182  
  1183  // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  1184  //
  1185  // Solidity: function approve(address to, uint256 tokenId) returns()
  1186  func (_Binding *BindingTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  1187  	return _Binding.contract.Transact(opts, "approve", to, tokenId)
  1188  }
  1189  
  1190  // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  1191  //
  1192  // Solidity: function approve(address to, uint256 tokenId) returns()
  1193  func (_Binding *BindingSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  1194  	return _Binding.Contract.Approve(&_Binding.TransactOpts, to, tokenId)
  1195  }
  1196  
  1197  // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  1198  //
  1199  // Solidity: function approve(address to, uint256 tokenId) returns()
  1200  func (_Binding *BindingTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  1201  	return _Binding.Contract.Approve(&_Binding.TransactOpts, to, tokenId)
  1202  }
  1203  
  1204  // Freeze is a paid mutator transaction binding the contract method 0x62a5af3b.
  1205  //
  1206  // Solidity: function freeze() returns()
  1207  func (_Binding *BindingTransactor) Freeze(opts *bind.TransactOpts) (*types.Transaction, error) {
  1208  	return _Binding.contract.Transact(opts, "freeze")
  1209  }
  1210  
  1211  // Freeze is a paid mutator transaction binding the contract method 0x62a5af3b.
  1212  //
  1213  // Solidity: function freeze() returns()
  1214  func (_Binding *BindingSession) Freeze() (*types.Transaction, error) {
  1215  	return _Binding.Contract.Freeze(&_Binding.TransactOpts)
  1216  }
  1217  
  1218  // Freeze is a paid mutator transaction binding the contract method 0x62a5af3b.
  1219  //
  1220  // Solidity: function freeze() returns()
  1221  func (_Binding *BindingTransactorSession) Freeze() (*types.Transaction, error) {
  1222  	return _Binding.Contract.Freeze(&_Binding.TransactOpts)
  1223  }
  1224  
  1225  // Mint is a paid mutator transaction binding the contract method 0xa0712d68.
  1226  //
  1227  // Solidity: function mint(uint256 amount) payable returns()
  1228  func (_Binding *BindingTransactor) Mint(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) {
  1229  	return _Binding.contract.Transact(opts, "mint", amount)
  1230  }
  1231  
  1232  // Mint is a paid mutator transaction binding the contract method 0xa0712d68.
  1233  //
  1234  // Solidity: function mint(uint256 amount) payable returns()
  1235  func (_Binding *BindingSession) Mint(amount *big.Int) (*types.Transaction, error) {
  1236  	return _Binding.Contract.Mint(&_Binding.TransactOpts, amount)
  1237  }
  1238  
  1239  // Mint is a paid mutator transaction binding the contract method 0xa0712d68.
  1240  //
  1241  // Solidity: function mint(uint256 amount) payable returns()
  1242  func (_Binding *BindingTransactorSession) Mint(amount *big.Int) (*types.Transaction, error) {
  1243  	return _Binding.Contract.Mint(&_Binding.TransactOpts, amount)
  1244  }
  1245  
  1246  // MintOwner is a paid mutator transaction binding the contract method 0x33f88d22.
  1247  //
  1248  // Solidity: function mintOwner(uint256 amount) returns()
  1249  func (_Binding *BindingTransactor) MintOwner(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) {
  1250  	return _Binding.contract.Transact(opts, "mintOwner", amount)
  1251  }
  1252  
  1253  // MintOwner is a paid mutator transaction binding the contract method 0x33f88d22.
  1254  //
  1255  // Solidity: function mintOwner(uint256 amount) returns()
  1256  func (_Binding *BindingSession) MintOwner(amount *big.Int) (*types.Transaction, error) {
  1257  	return _Binding.Contract.MintOwner(&_Binding.TransactOpts, amount)
  1258  }
  1259  
  1260  // MintOwner is a paid mutator transaction binding the contract method 0x33f88d22.
  1261  //
  1262  // Solidity: function mintOwner(uint256 amount) returns()
  1263  func (_Binding *BindingTransactorSession) MintOwner(amount *big.Int) (*types.Transaction, error) {
  1264  	return _Binding.Contract.MintOwner(&_Binding.TransactOpts, amount)
  1265  }
  1266  
  1267  // RawFulfillRandomness is a paid mutator transaction binding the contract method 0x94985ddd.
  1268  //
  1269  // Solidity: function rawFulfillRandomness(bytes32 requestId, uint256 randomness) returns()
  1270  func (_Binding *BindingTransactor) RawFulfillRandomness(opts *bind.TransactOpts, requestId [32]byte, randomness *big.Int) (*types.Transaction, error) {
  1271  	return _Binding.contract.Transact(opts, "rawFulfillRandomness", requestId, randomness)
  1272  }
  1273  
  1274  // RawFulfillRandomness is a paid mutator transaction binding the contract method 0x94985ddd.
  1275  //
  1276  // Solidity: function rawFulfillRandomness(bytes32 requestId, uint256 randomness) returns()
  1277  func (_Binding *BindingSession) RawFulfillRandomness(requestId [32]byte, randomness *big.Int) (*types.Transaction, error) {
  1278  	return _Binding.Contract.RawFulfillRandomness(&_Binding.TransactOpts, requestId, randomness)
  1279  }
  1280  
  1281  // RawFulfillRandomness is a paid mutator transaction binding the contract method 0x94985ddd.
  1282  //
  1283  // Solidity: function rawFulfillRandomness(bytes32 requestId, uint256 randomness) returns()
  1284  func (_Binding *BindingTransactorSession) RawFulfillRandomness(requestId [32]byte, randomness *big.Int) (*types.Transaction, error) {
  1285  	return _Binding.Contract.RawFulfillRandomness(&_Binding.TransactOpts, requestId, randomness)
  1286  }
  1287  
  1288  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  1289  //
  1290  // Solidity: function renounceOwnership() returns()
  1291  func (_Binding *BindingTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) {
  1292  	return _Binding.contract.Transact(opts, "renounceOwnership")
  1293  }
  1294  
  1295  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  1296  //
  1297  // Solidity: function renounceOwnership() returns()
  1298  func (_Binding *BindingSession) RenounceOwnership() (*types.Transaction, error) {
  1299  	return _Binding.Contract.RenounceOwnership(&_Binding.TransactOpts)
  1300  }
  1301  
  1302  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  1303  //
  1304  // Solidity: function renounceOwnership() returns()
  1305  func (_Binding *BindingTransactorSession) RenounceOwnership() (*types.Transaction, error) {
  1306  	return _Binding.Contract.RenounceOwnership(&_Binding.TransactOpts)
  1307  }
  1308  
  1309  // Reveal is a paid mutator transaction binding the contract method 0xb93f208a.
  1310  //
  1311  // Solidity: function reveal(uint256[] tokens) returns(bytes32)
  1312  func (_Binding *BindingTransactor) Reveal(opts *bind.TransactOpts, tokens []*big.Int) (*types.Transaction, error) {
  1313  	return _Binding.contract.Transact(opts, "reveal", tokens)
  1314  }
  1315  
  1316  // Reveal is a paid mutator transaction binding the contract method 0xb93f208a.
  1317  //
  1318  // Solidity: function reveal(uint256[] tokens) returns(bytes32)
  1319  func (_Binding *BindingSession) Reveal(tokens []*big.Int) (*types.Transaction, error) {
  1320  	return _Binding.Contract.Reveal(&_Binding.TransactOpts, tokens)
  1321  }
  1322  
  1323  // Reveal is a paid mutator transaction binding the contract method 0xb93f208a.
  1324  //
  1325  // Solidity: function reveal(uint256[] tokens) returns(bytes32)
  1326  func (_Binding *BindingTransactorSession) Reveal(tokens []*big.Int) (*types.Transaction, error) {
  1327  	return _Binding.Contract.Reveal(&_Binding.TransactOpts, tokens)
  1328  }
  1329  
  1330  // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  1331  //
  1332  // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  1333  func (_Binding *BindingTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  1334  	return _Binding.contract.Transact(opts, "safeTransferFrom", from, to, tokenId)
  1335  }
  1336  
  1337  // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  1338  //
  1339  // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  1340  func (_Binding *BindingSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  1341  	return _Binding.Contract.SafeTransferFrom(&_Binding.TransactOpts, from, to, tokenId)
  1342  }
  1343  
  1344  // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  1345  //
  1346  // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  1347  func (_Binding *BindingTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  1348  	return _Binding.Contract.SafeTransferFrom(&_Binding.TransactOpts, from, to, tokenId)
  1349  }
  1350  
  1351  // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  1352  //
  1353  // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
  1354  func (_Binding *BindingTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
  1355  	return _Binding.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data)
  1356  }
  1357  
  1358  // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  1359  //
  1360  // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
  1361  func (_Binding *BindingSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
  1362  	return _Binding.Contract.SafeTransferFrom0(&_Binding.TransactOpts, from, to, tokenId, _data)
  1363  }
  1364  
  1365  // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  1366  //
  1367  // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
  1368  func (_Binding *BindingTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
  1369  	return _Binding.Contract.SafeTransferFrom0(&_Binding.TransactOpts, from, to, tokenId, _data)
  1370  }
  1371  
  1372  // SetAllocation is a paid mutator transaction binding the contract method 0x970a1fa8.
  1373  //
  1374  // Solidity: function setAllocation(string allocation_) returns()
  1375  func (_Binding *BindingTransactor) SetAllocation(opts *bind.TransactOpts, allocation_ string) (*types.Transaction, error) {
  1376  	return _Binding.contract.Transact(opts, "setAllocation", allocation_)
  1377  }
  1378  
  1379  // SetAllocation is a paid mutator transaction binding the contract method 0x970a1fa8.
  1380  //
  1381  // Solidity: function setAllocation(string allocation_) returns()
  1382  func (_Binding *BindingSession) SetAllocation(allocation_ string) (*types.Transaction, error) {
  1383  	return _Binding.Contract.SetAllocation(&_Binding.TransactOpts, allocation_)
  1384  }
  1385  
  1386  // SetAllocation is a paid mutator transaction binding the contract method 0x970a1fa8.
  1387  //
  1388  // Solidity: function setAllocation(string allocation_) returns()
  1389  func (_Binding *BindingTransactorSession) SetAllocation(allocation_ string) (*types.Transaction, error) {
  1390  	return _Binding.Contract.SetAllocation(&_Binding.TransactOpts, allocation_)
  1391  }
  1392  
  1393  // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  1394  //
  1395  // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  1396  func (_Binding *BindingTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
  1397  	return _Binding.contract.Transact(opts, "setApprovalForAll", operator, approved)
  1398  }
  1399  
  1400  // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  1401  //
  1402  // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  1403  func (_Binding *BindingSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  1404  	return _Binding.Contract.SetApprovalForAll(&_Binding.TransactOpts, operator, approved)
  1405  }
  1406  
  1407  // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  1408  //
  1409  // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  1410  func (_Binding *BindingTransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  1411  	return _Binding.Contract.SetApprovalForAll(&_Binding.TransactOpts, operator, approved)
  1412  }
  1413  
  1414  // SetHidden is a paid mutator transaction binding the contract method 0xd309aa2c.
  1415  //
  1416  // Solidity: function setHidden(string hidden_) returns()
  1417  func (_Binding *BindingTransactor) SetHidden(opts *bind.TransactOpts, hidden_ string) (*types.Transaction, error) {
  1418  	return _Binding.contract.Transact(opts, "setHidden", hidden_)
  1419  }
  1420  
  1421  // SetHidden is a paid mutator transaction binding the contract method 0xd309aa2c.
  1422  //
  1423  // Solidity: function setHidden(string hidden_) returns()
  1424  func (_Binding *BindingSession) SetHidden(hidden_ string) (*types.Transaction, error) {
  1425  	return _Binding.Contract.SetHidden(&_Binding.TransactOpts, hidden_)
  1426  }
  1427  
  1428  // SetHidden is a paid mutator transaction binding the contract method 0xd309aa2c.
  1429  //
  1430  // Solidity: function setHidden(string hidden_) returns()
  1431  func (_Binding *BindingTransactorSession) SetHidden(hidden_ string) (*types.Transaction, error) {
  1432  	return _Binding.Contract.SetHidden(&_Binding.TransactOpts, hidden_)
  1433  }
  1434  
  1435  // SetMintable is a paid mutator transaction binding the contract method 0x285d70d4.
  1436  //
  1437  // Solidity: function setMintable(bool status_) returns()
  1438  func (_Binding *BindingTransactor) SetMintable(opts *bind.TransactOpts, status_ bool) (*types.Transaction, error) {
  1439  	return _Binding.contract.Transact(opts, "setMintable", status_)
  1440  }
  1441  
  1442  // SetMintable is a paid mutator transaction binding the contract method 0x285d70d4.
  1443  //
  1444  // Solidity: function setMintable(bool status_) returns()
  1445  func (_Binding *BindingSession) SetMintable(status_ bool) (*types.Transaction, error) {
  1446  	return _Binding.Contract.SetMintable(&_Binding.TransactOpts, status_)
  1447  }
  1448  
  1449  // SetMintable is a paid mutator transaction binding the contract method 0x285d70d4.
  1450  //
  1451  // Solidity: function setMintable(bool status_) returns()
  1452  func (_Binding *BindingTransactorSession) SetMintable(status_ bool) (*types.Transaction, error) {
  1453  	return _Binding.Contract.SetMintable(&_Binding.TransactOpts, status_)
  1454  }
  1455  
  1456  // SetPack is a paid mutator transaction binding the contract method 0x353c65c5.
  1457  //
  1458  // Solidity: function setPack(address pack_) returns()
  1459  func (_Binding *BindingTransactor) SetPack(opts *bind.TransactOpts, pack_ common.Address) (*types.Transaction, error) {
  1460  	return _Binding.contract.Transact(opts, "setPack", pack_)
  1461  }
  1462  
  1463  // SetPack is a paid mutator transaction binding the contract method 0x353c65c5.
  1464  //
  1465  // Solidity: function setPack(address pack_) returns()
  1466  func (_Binding *BindingSession) SetPack(pack_ common.Address) (*types.Transaction, error) {
  1467  	return _Binding.Contract.SetPack(&_Binding.TransactOpts, pack_)
  1468  }
  1469  
  1470  // SetPack is a paid mutator transaction binding the contract method 0x353c65c5.
  1471  //
  1472  // Solidity: function setPack(address pack_) returns()
  1473  func (_Binding *BindingTransactorSession) SetPack(pack_ common.Address) (*types.Transaction, error) {
  1474  	return _Binding.Contract.SetPack(&_Binding.TransactOpts, pack_)
  1475  }
  1476  
  1477  // SetReceiver is a paid mutator transaction binding the contract method 0x718da7ee.
  1478  //
  1479  // Solidity: function setReceiver(address receiver_) returns()
  1480  func (_Binding *BindingTransactor) SetReceiver(opts *bind.TransactOpts, receiver_ common.Address) (*types.Transaction, error) {
  1481  	return _Binding.contract.Transact(opts, "setReceiver", receiver_)
  1482  }
  1483  
  1484  // SetReceiver is a paid mutator transaction binding the contract method 0x718da7ee.
  1485  //
  1486  // Solidity: function setReceiver(address receiver_) returns()
  1487  func (_Binding *BindingSession) SetReceiver(receiver_ common.Address) (*types.Transaction, error) {
  1488  	return _Binding.Contract.SetReceiver(&_Binding.TransactOpts, receiver_)
  1489  }
  1490  
  1491  // SetReceiver is a paid mutator transaction binding the contract method 0x718da7ee.
  1492  //
  1493  // Solidity: function setReceiver(address receiver_) returns()
  1494  func (_Binding *BindingTransactorSession) SetReceiver(receiver_ common.Address) (*types.Transaction, error) {
  1495  	return _Binding.Contract.SetReceiver(&_Binding.TransactOpts, receiver_)
  1496  }
  1497  
  1498  // SetRevealable is a paid mutator transaction binding the contract method 0xb06194d3.
  1499  //
  1500  // Solidity: function setRevealable(bool status_) returns()
  1501  func (_Binding *BindingTransactor) SetRevealable(opts *bind.TransactOpts, status_ bool) (*types.Transaction, error) {
  1502  	return _Binding.contract.Transact(opts, "setRevealable", status_)
  1503  }
  1504  
  1505  // SetRevealable is a paid mutator transaction binding the contract method 0xb06194d3.
  1506  //
  1507  // Solidity: function setRevealable(bool status_) returns()
  1508  func (_Binding *BindingSession) SetRevealable(status_ bool) (*types.Transaction, error) {
  1509  	return _Binding.Contract.SetRevealable(&_Binding.TransactOpts, status_)
  1510  }
  1511  
  1512  // SetRevealable is a paid mutator transaction binding the contract method 0xb06194d3.
  1513  //
  1514  // Solidity: function setRevealable(bool status_) returns()
  1515  func (_Binding *BindingTransactorSession) SetRevealable(status_ bool) (*types.Transaction, error) {
  1516  	return _Binding.Contract.SetRevealable(&_Binding.TransactOpts, status_)
  1517  }
  1518  
  1519  // SetRoyalty is a paid mutator transaction binding the contract method 0x4209a2e1.
  1520  //
  1521  // Solidity: function setRoyalty(uint256 royalty_) returns()
  1522  func (_Binding *BindingTransactor) SetRoyalty(opts *bind.TransactOpts, royalty_ *big.Int) (*types.Transaction, error) {
  1523  	return _Binding.contract.Transact(opts, "setRoyalty", royalty_)
  1524  }
  1525  
  1526  // SetRoyalty is a paid mutator transaction binding the contract method 0x4209a2e1.
  1527  //
  1528  // Solidity: function setRoyalty(uint256 royalty_) returns()
  1529  func (_Binding *BindingSession) SetRoyalty(royalty_ *big.Int) (*types.Transaction, error) {
  1530  	return _Binding.Contract.SetRoyalty(&_Binding.TransactOpts, royalty_)
  1531  }
  1532  
  1533  // SetRoyalty is a paid mutator transaction binding the contract method 0x4209a2e1.
  1534  //
  1535  // Solidity: function setRoyalty(uint256 royalty_) returns()
  1536  func (_Binding *BindingTransactorSession) SetRoyalty(royalty_ *big.Int) (*types.Transaction, error) {
  1537  	return _Binding.Contract.SetRoyalty(&_Binding.TransactOpts, royalty_)
  1538  }
  1539  
  1540  // SetURI is a paid mutator transaction binding the contract method 0x02fe5305.
  1541  //
  1542  // Solidity: function setURI(string uri_) returns()
  1543  func (_Binding *BindingTransactor) SetURI(opts *bind.TransactOpts, uri_ string) (*types.Transaction, error) {
  1544  	return _Binding.contract.Transact(opts, "setURI", uri_)
  1545  }
  1546  
  1547  // SetURI is a paid mutator transaction binding the contract method 0x02fe5305.
  1548  //
  1549  // Solidity: function setURI(string uri_) returns()
  1550  func (_Binding *BindingSession) SetURI(uri_ string) (*types.Transaction, error) {
  1551  	return _Binding.Contract.SetURI(&_Binding.TransactOpts, uri_)
  1552  }
  1553  
  1554  // SetURI is a paid mutator transaction binding the contract method 0x02fe5305.
  1555  //
  1556  // Solidity: function setURI(string uri_) returns()
  1557  func (_Binding *BindingTransactorSession) SetURI(uri_ string) (*types.Transaction, error) {
  1558  	return _Binding.Contract.SetURI(&_Binding.TransactOpts, uri_)
  1559  }
  1560  
  1561  // SetURIFallback is a paid mutator transaction binding the contract method 0x0c8ab6e1.
  1562  //
  1563  // Solidity: function setURIFallback(string uri_) returns()
  1564  func (_Binding *BindingTransactor) SetURIFallback(opts *bind.TransactOpts, uri_ string) (*types.Transaction, error) {
  1565  	return _Binding.contract.Transact(opts, "setURIFallback", uri_)
  1566  }
  1567  
  1568  // SetURIFallback is a paid mutator transaction binding the contract method 0x0c8ab6e1.
  1569  //
  1570  // Solidity: function setURIFallback(string uri_) returns()
  1571  func (_Binding *BindingSession) SetURIFallback(uri_ string) (*types.Transaction, error) {
  1572  	return _Binding.Contract.SetURIFallback(&_Binding.TransactOpts, uri_)
  1573  }
  1574  
  1575  // SetURIFallback is a paid mutator transaction binding the contract method 0x0c8ab6e1.
  1576  //
  1577  // Solidity: function setURIFallback(string uri_) returns()
  1578  func (_Binding *BindingTransactorSession) SetURIFallback(uri_ string) (*types.Transaction, error) {
  1579  	return _Binding.Contract.SetURIFallback(&_Binding.TransactOpts, uri_)
  1580  }
  1581  
  1582  // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  1583  //
  1584  // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  1585  func (_Binding *BindingTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  1586  	return _Binding.contract.Transact(opts, "transferFrom", from, to, tokenId)
  1587  }
  1588  
  1589  // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  1590  //
  1591  // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  1592  func (_Binding *BindingSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  1593  	return _Binding.Contract.TransferFrom(&_Binding.TransactOpts, from, to, tokenId)
  1594  }
  1595  
  1596  // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  1597  //
  1598  // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  1599  func (_Binding *BindingTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  1600  	return _Binding.Contract.TransferFrom(&_Binding.TransactOpts, from, to, tokenId)
  1601  }
  1602  
  1603  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  1604  //
  1605  // Solidity: function transferOwnership(address newOwner) returns()
  1606  func (_Binding *BindingTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) {
  1607  	return _Binding.contract.Transact(opts, "transferOwnership", newOwner)
  1608  }
  1609  
  1610  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  1611  //
  1612  // Solidity: function transferOwnership(address newOwner) returns()
  1613  func (_Binding *BindingSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
  1614  	return _Binding.Contract.TransferOwnership(&_Binding.TransactOpts, newOwner)
  1615  }
  1616  
  1617  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  1618  //
  1619  // Solidity: function transferOwnership(address newOwner) returns()
  1620  func (_Binding *BindingTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
  1621  	return _Binding.Contract.TransferOwnership(&_Binding.TransactOpts, newOwner)
  1622  }
  1623  
  1624  // Update is a paid mutator transaction binding the contract method 0xa2e62045.
  1625  //
  1626  // Solidity: function update() returns()
  1627  func (_Binding *BindingTransactor) Update(opts *bind.TransactOpts) (*types.Transaction, error) {
  1628  	return _Binding.contract.Transact(opts, "update")
  1629  }
  1630  
  1631  // Update is a paid mutator transaction binding the contract method 0xa2e62045.
  1632  //
  1633  // Solidity: function update() returns()
  1634  func (_Binding *BindingSession) Update() (*types.Transaction, error) {
  1635  	return _Binding.Contract.Update(&_Binding.TransactOpts)
  1636  }
  1637  
  1638  // Update is a paid mutator transaction binding the contract method 0xa2e62045.
  1639  //
  1640  // Solidity: function update() returns()
  1641  func (_Binding *BindingTransactorSession) Update() (*types.Transaction, error) {
  1642  	return _Binding.Contract.Update(&_Binding.TransactOpts)
  1643  }
  1644  
  1645  // Withdraw is a paid mutator transaction binding the contract method 0x3ccfd60b.
  1646  //
  1647  // Solidity: function withdraw() returns()
  1648  func (_Binding *BindingTransactor) Withdraw(opts *bind.TransactOpts) (*types.Transaction, error) {
  1649  	return _Binding.contract.Transact(opts, "withdraw")
  1650  }
  1651  
  1652  // Withdraw is a paid mutator transaction binding the contract method 0x3ccfd60b.
  1653  //
  1654  // Solidity: function withdraw() returns()
  1655  func (_Binding *BindingSession) Withdraw() (*types.Transaction, error) {
  1656  	return _Binding.Contract.Withdraw(&_Binding.TransactOpts)
  1657  }
  1658  
  1659  // Withdraw is a paid mutator transaction binding the contract method 0x3ccfd60b.
  1660  //
  1661  // Solidity: function withdraw() returns()
  1662  func (_Binding *BindingTransactorSession) Withdraw() (*types.Transaction, error) {
  1663  	return _Binding.Contract.Withdraw(&_Binding.TransactOpts)
  1664  }
  1665  
  1666  // BindingApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the Binding contract.
  1667  type BindingApprovalIterator struct {
  1668  	Event *BindingApproval // Event containing the contract specifics and raw log
  1669  
  1670  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1671  	event    string              // Event name to use for unpacking event data
  1672  
  1673  	logs chan types.Log        // Log channel receiving the found contract events
  1674  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1675  	done bool                  // Whether the subscription completed delivering logs
  1676  	fail error                 // Occurred error to stop iteration
  1677  }
  1678  
  1679  // Next advances the iterator to the subsequent event, returning whether there
  1680  // are any more events found. In case of a retrieval or parsing error, false is
  1681  // returned and Error() can be queried for the exact failure.
  1682  func (it *BindingApprovalIterator) Next() bool {
  1683  	// If the iterator failed, stop iterating
  1684  	if it.fail != nil {
  1685  		return false
  1686  	}
  1687  	// If the iterator completed, deliver directly whatever's available
  1688  	if it.done {
  1689  		select {
  1690  		case log := <-it.logs:
  1691  			it.Event = new(BindingApproval)
  1692  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1693  				it.fail = err
  1694  				return false
  1695  			}
  1696  			it.Event.Raw = log
  1697  			return true
  1698  
  1699  		default:
  1700  			return false
  1701  		}
  1702  	}
  1703  	// Iterator still in progress, wait for either a data or an error event
  1704  	select {
  1705  	case log := <-it.logs:
  1706  		it.Event = new(BindingApproval)
  1707  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1708  			it.fail = err
  1709  			return false
  1710  		}
  1711  		it.Event.Raw = log
  1712  		return true
  1713  
  1714  	case err := <-it.sub.Err():
  1715  		it.done = true
  1716  		it.fail = err
  1717  		return it.Next()
  1718  	}
  1719  }
  1720  
  1721  // Error returns any retrieval or parsing error occurred during filtering.
  1722  func (it *BindingApprovalIterator) Error() error {
  1723  	return it.fail
  1724  }
  1725  
  1726  // Close terminates the iteration process, releasing any pending underlying
  1727  // resources.
  1728  func (it *BindingApprovalIterator) Close() error {
  1729  	it.sub.Unsubscribe()
  1730  	return nil
  1731  }
  1732  
  1733  // BindingApproval represents a Approval event raised by the Binding contract.
  1734  type BindingApproval struct {
  1735  	Owner    common.Address
  1736  	Approved common.Address
  1737  	TokenId  *big.Int
  1738  	Raw      types.Log // Blockchain specific contextual infos
  1739  }
  1740  
  1741  // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  1742  //
  1743  // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  1744  func (_Binding *BindingFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*BindingApprovalIterator, error) {
  1745  
  1746  	var ownerRule []interface{}
  1747  	for _, ownerItem := range owner {
  1748  		ownerRule = append(ownerRule, ownerItem)
  1749  	}
  1750  	var approvedRule []interface{}
  1751  	for _, approvedItem := range approved {
  1752  		approvedRule = append(approvedRule, approvedItem)
  1753  	}
  1754  	var tokenIdRule []interface{}
  1755  	for _, tokenIdItem := range tokenId {
  1756  		tokenIdRule = append(tokenIdRule, tokenIdItem)
  1757  	}
  1758  
  1759  	logs, sub, err := _Binding.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
  1760  	if err != nil {
  1761  		return nil, err
  1762  	}
  1763  	return &BindingApprovalIterator{contract: _Binding.contract, event: "Approval", logs: logs, sub: sub}, nil
  1764  }
  1765  
  1766  // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  1767  //
  1768  // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  1769  func (_Binding *BindingFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *BindingApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) {
  1770  
  1771  	var ownerRule []interface{}
  1772  	for _, ownerItem := range owner {
  1773  		ownerRule = append(ownerRule, ownerItem)
  1774  	}
  1775  	var approvedRule []interface{}
  1776  	for _, approvedItem := range approved {
  1777  		approvedRule = append(approvedRule, approvedItem)
  1778  	}
  1779  	var tokenIdRule []interface{}
  1780  	for _, tokenIdItem := range tokenId {
  1781  		tokenIdRule = append(tokenIdRule, tokenIdItem)
  1782  	}
  1783  
  1784  	logs, sub, err := _Binding.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
  1785  	if err != nil {
  1786  		return nil, err
  1787  	}
  1788  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1789  		defer sub.Unsubscribe()
  1790  		for {
  1791  			select {
  1792  			case log := <-logs:
  1793  				// New log arrived, parse the event and forward to the user
  1794  				event := new(BindingApproval)
  1795  				if err := _Binding.contract.UnpackLog(event, "Approval", log); err != nil {
  1796  					return err
  1797  				}
  1798  				event.Raw = log
  1799  
  1800  				select {
  1801  				case sink <- event:
  1802  				case err := <-sub.Err():
  1803  					return err
  1804  				case <-quit:
  1805  					return nil
  1806  				}
  1807  			case err := <-sub.Err():
  1808  				return err
  1809  			case <-quit:
  1810  				return nil
  1811  			}
  1812  		}
  1813  	}), nil
  1814  }
  1815  
  1816  // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  1817  //
  1818  // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  1819  func (_Binding *BindingFilterer) ParseApproval(log types.Log) (*BindingApproval, error) {
  1820  	event := new(BindingApproval)
  1821  	if err := _Binding.contract.UnpackLog(event, "Approval", log); err != nil {
  1822  		return nil, err
  1823  	}
  1824  	event.Raw = log
  1825  	return event, nil
  1826  }
  1827  
  1828  // BindingApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the Binding contract.
  1829  type BindingApprovalForAllIterator struct {
  1830  	Event *BindingApprovalForAll // Event containing the contract specifics and raw log
  1831  
  1832  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1833  	event    string              // Event name to use for unpacking event data
  1834  
  1835  	logs chan types.Log        // Log channel receiving the found contract events
  1836  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1837  	done bool                  // Whether the subscription completed delivering logs
  1838  	fail error                 // Occurred error to stop iteration
  1839  }
  1840  
  1841  // Next advances the iterator to the subsequent event, returning whether there
  1842  // are any more events found. In case of a retrieval or parsing error, false is
  1843  // returned and Error() can be queried for the exact failure.
  1844  func (it *BindingApprovalForAllIterator) Next() bool {
  1845  	// If the iterator failed, stop iterating
  1846  	if it.fail != nil {
  1847  		return false
  1848  	}
  1849  	// If the iterator completed, deliver directly whatever's available
  1850  	if it.done {
  1851  		select {
  1852  		case log := <-it.logs:
  1853  			it.Event = new(BindingApprovalForAll)
  1854  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1855  				it.fail = err
  1856  				return false
  1857  			}
  1858  			it.Event.Raw = log
  1859  			return true
  1860  
  1861  		default:
  1862  			return false
  1863  		}
  1864  	}
  1865  	// Iterator still in progress, wait for either a data or an error event
  1866  	select {
  1867  	case log := <-it.logs:
  1868  		it.Event = new(BindingApprovalForAll)
  1869  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1870  			it.fail = err
  1871  			return false
  1872  		}
  1873  		it.Event.Raw = log
  1874  		return true
  1875  
  1876  	case err := <-it.sub.Err():
  1877  		it.done = true
  1878  		it.fail = err
  1879  		return it.Next()
  1880  	}
  1881  }
  1882  
  1883  // Error returns any retrieval or parsing error occurred during filtering.
  1884  func (it *BindingApprovalForAllIterator) Error() error {
  1885  	return it.fail
  1886  }
  1887  
  1888  // Close terminates the iteration process, releasing any pending underlying
  1889  // resources.
  1890  func (it *BindingApprovalForAllIterator) Close() error {
  1891  	it.sub.Unsubscribe()
  1892  	return nil
  1893  }
  1894  
  1895  // BindingApprovalForAll represents a ApprovalForAll event raised by the Binding contract.
  1896  type BindingApprovalForAll struct {
  1897  	Owner    common.Address
  1898  	Operator common.Address
  1899  	Approved bool
  1900  	Raw      types.Log // Blockchain specific contextual infos
  1901  }
  1902  
  1903  // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  1904  //
  1905  // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  1906  func (_Binding *BindingFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*BindingApprovalForAllIterator, error) {
  1907  
  1908  	var ownerRule []interface{}
  1909  	for _, ownerItem := range owner {
  1910  		ownerRule = append(ownerRule, ownerItem)
  1911  	}
  1912  	var operatorRule []interface{}
  1913  	for _, operatorItem := range operator {
  1914  		operatorRule = append(operatorRule, operatorItem)
  1915  	}
  1916  
  1917  	logs, sub, err := _Binding.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
  1918  	if err != nil {
  1919  		return nil, err
  1920  	}
  1921  	return &BindingApprovalForAllIterator{contract: _Binding.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
  1922  }
  1923  
  1924  // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  1925  //
  1926  // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  1927  func (_Binding *BindingFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *BindingApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) {
  1928  
  1929  	var ownerRule []interface{}
  1930  	for _, ownerItem := range owner {
  1931  		ownerRule = append(ownerRule, ownerItem)
  1932  	}
  1933  	var operatorRule []interface{}
  1934  	for _, operatorItem := range operator {
  1935  		operatorRule = append(operatorRule, operatorItem)
  1936  	}
  1937  
  1938  	logs, sub, err := _Binding.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
  1939  	if err != nil {
  1940  		return nil, err
  1941  	}
  1942  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1943  		defer sub.Unsubscribe()
  1944  		for {
  1945  			select {
  1946  			case log := <-logs:
  1947  				// New log arrived, parse the event and forward to the user
  1948  				event := new(BindingApprovalForAll)
  1949  				if err := _Binding.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  1950  					return err
  1951  				}
  1952  				event.Raw = log
  1953  
  1954  				select {
  1955  				case sink <- event:
  1956  				case err := <-sub.Err():
  1957  					return err
  1958  				case <-quit:
  1959  					return nil
  1960  				}
  1961  			case err := <-sub.Err():
  1962  				return err
  1963  			case <-quit:
  1964  				return nil
  1965  			}
  1966  		}
  1967  	}), nil
  1968  }
  1969  
  1970  // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  1971  //
  1972  // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  1973  func (_Binding *BindingFilterer) ParseApprovalForAll(log types.Log) (*BindingApprovalForAll, error) {
  1974  	event := new(BindingApprovalForAll)
  1975  	if err := _Binding.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  1976  		return nil, err
  1977  	}
  1978  	event.Raw = log
  1979  	return event, nil
  1980  }
  1981  
  1982  // BindingBatchUpdatedIterator is returned from FilterBatchUpdated and is used to iterate over the raw logs and unpacked data for BatchUpdated events raised by the Binding contract.
  1983  type BindingBatchUpdatedIterator struct {
  1984  	Event *BindingBatchUpdated // Event containing the contract specifics and raw log
  1985  
  1986  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1987  	event    string              // Event name to use for unpacking event data
  1988  
  1989  	logs chan types.Log        // Log channel receiving the found contract events
  1990  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1991  	done bool                  // Whether the subscription completed delivering logs
  1992  	fail error                 // Occurred error to stop iteration
  1993  }
  1994  
  1995  // Next advances the iterator to the subsequent event, returning whether there
  1996  // are any more events found. In case of a retrieval or parsing error, false is
  1997  // returned and Error() can be queried for the exact failure.
  1998  func (it *BindingBatchUpdatedIterator) Next() bool {
  1999  	// If the iterator failed, stop iterating
  2000  	if it.fail != nil {
  2001  		return false
  2002  	}
  2003  	// If the iterator completed, deliver directly whatever's available
  2004  	if it.done {
  2005  		select {
  2006  		case log := <-it.logs:
  2007  			it.Event = new(BindingBatchUpdated)
  2008  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2009  				it.fail = err
  2010  				return false
  2011  			}
  2012  			it.Event.Raw = log
  2013  			return true
  2014  
  2015  		default:
  2016  			return false
  2017  		}
  2018  	}
  2019  	// Iterator still in progress, wait for either a data or an error event
  2020  	select {
  2021  	case log := <-it.logs:
  2022  		it.Event = new(BindingBatchUpdated)
  2023  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2024  			it.fail = err
  2025  			return false
  2026  		}
  2027  		it.Event.Raw = log
  2028  		return true
  2029  
  2030  	case err := <-it.sub.Err():
  2031  		it.done = true
  2032  		it.fail = err
  2033  		return it.Next()
  2034  	}
  2035  }
  2036  
  2037  // Error returns any retrieval or parsing error occurred during filtering.
  2038  func (it *BindingBatchUpdatedIterator) Error() error {
  2039  	return it.fail
  2040  }
  2041  
  2042  // Close terminates the iteration process, releasing any pending underlying
  2043  // resources.
  2044  func (it *BindingBatchUpdatedIterator) Close() error {
  2045  	it.sub.Unsubscribe()
  2046  	return nil
  2047  }
  2048  
  2049  // BindingBatchUpdated represents a BatchUpdated event raised by the Binding contract.
  2050  type BindingBatchUpdated struct {
  2051  	Previous *big.Int
  2052  	Updated  *big.Int
  2053  	Raw      types.Log // Blockchain specific contextual infos
  2054  }
  2055  
  2056  // FilterBatchUpdated is a free log retrieval operation binding the contract event 0x656359bd8624a98c9559c454e7835a5e93f0867eacab61bfda9d2d0fce4e3097.
  2057  //
  2058  // Solidity: event BatchUpdated(uint256 previous, uint256 updated)
  2059  func (_Binding *BindingFilterer) FilterBatchUpdated(opts *bind.FilterOpts) (*BindingBatchUpdatedIterator, error) {
  2060  
  2061  	logs, sub, err := _Binding.contract.FilterLogs(opts, "BatchUpdated")
  2062  	if err != nil {
  2063  		return nil, err
  2064  	}
  2065  	return &BindingBatchUpdatedIterator{contract: _Binding.contract, event: "BatchUpdated", logs: logs, sub: sub}, nil
  2066  }
  2067  
  2068  // WatchBatchUpdated is a free log subscription operation binding the contract event 0x656359bd8624a98c9559c454e7835a5e93f0867eacab61bfda9d2d0fce4e3097.
  2069  //
  2070  // Solidity: event BatchUpdated(uint256 previous, uint256 updated)
  2071  func (_Binding *BindingFilterer) WatchBatchUpdated(opts *bind.WatchOpts, sink chan<- *BindingBatchUpdated) (event.Subscription, error) {
  2072  
  2073  	logs, sub, err := _Binding.contract.WatchLogs(opts, "BatchUpdated")
  2074  	if err != nil {
  2075  		return nil, err
  2076  	}
  2077  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2078  		defer sub.Unsubscribe()
  2079  		for {
  2080  			select {
  2081  			case log := <-logs:
  2082  				// New log arrived, parse the event and forward to the user
  2083  				event := new(BindingBatchUpdated)
  2084  				if err := _Binding.contract.UnpackLog(event, "BatchUpdated", log); err != nil {
  2085  					return err
  2086  				}
  2087  				event.Raw = log
  2088  
  2089  				select {
  2090  				case sink <- event:
  2091  				case err := <-sub.Err():
  2092  					return err
  2093  				case <-quit:
  2094  					return nil
  2095  				}
  2096  			case err := <-sub.Err():
  2097  				return err
  2098  			case <-quit:
  2099  				return nil
  2100  			}
  2101  		}
  2102  	}), nil
  2103  }
  2104  
  2105  // ParseBatchUpdated is a log parse operation binding the contract event 0x656359bd8624a98c9559c454e7835a5e93f0867eacab61bfda9d2d0fce4e3097.
  2106  //
  2107  // Solidity: event BatchUpdated(uint256 previous, uint256 updated)
  2108  func (_Binding *BindingFilterer) ParseBatchUpdated(log types.Log) (*BindingBatchUpdated, error) {
  2109  	event := new(BindingBatchUpdated)
  2110  	if err := _Binding.contract.UnpackLog(event, "BatchUpdated", log); err != nil {
  2111  		return nil, err
  2112  	}
  2113  	event.Raw = log
  2114  	return event, nil
  2115  }
  2116  
  2117  // BindingHiddenUpdatedIterator is returned from FilterHiddenUpdated and is used to iterate over the raw logs and unpacked data for HiddenUpdated events raised by the Binding contract.
  2118  type BindingHiddenUpdatedIterator struct {
  2119  	Event *BindingHiddenUpdated // Event containing the contract specifics and raw log
  2120  
  2121  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2122  	event    string              // Event name to use for unpacking event data
  2123  
  2124  	logs chan types.Log        // Log channel receiving the found contract events
  2125  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2126  	done bool                  // Whether the subscription completed delivering logs
  2127  	fail error                 // Occurred error to stop iteration
  2128  }
  2129  
  2130  // Next advances the iterator to the subsequent event, returning whether there
  2131  // are any more events found. In case of a retrieval or parsing error, false is
  2132  // returned and Error() can be queried for the exact failure.
  2133  func (it *BindingHiddenUpdatedIterator) Next() bool {
  2134  	// If the iterator failed, stop iterating
  2135  	if it.fail != nil {
  2136  		return false
  2137  	}
  2138  	// If the iterator completed, deliver directly whatever's available
  2139  	if it.done {
  2140  		select {
  2141  		case log := <-it.logs:
  2142  			it.Event = new(BindingHiddenUpdated)
  2143  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2144  				it.fail = err
  2145  				return false
  2146  			}
  2147  			it.Event.Raw = log
  2148  			return true
  2149  
  2150  		default:
  2151  			return false
  2152  		}
  2153  	}
  2154  	// Iterator still in progress, wait for either a data or an error event
  2155  	select {
  2156  	case log := <-it.logs:
  2157  		it.Event = new(BindingHiddenUpdated)
  2158  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2159  			it.fail = err
  2160  			return false
  2161  		}
  2162  		it.Event.Raw = log
  2163  		return true
  2164  
  2165  	case err := <-it.sub.Err():
  2166  		it.done = true
  2167  		it.fail = err
  2168  		return it.Next()
  2169  	}
  2170  }
  2171  
  2172  // Error returns any retrieval or parsing error occurred during filtering.
  2173  func (it *BindingHiddenUpdatedIterator) Error() error {
  2174  	return it.fail
  2175  }
  2176  
  2177  // Close terminates the iteration process, releasing any pending underlying
  2178  // resources.
  2179  func (it *BindingHiddenUpdatedIterator) Close() error {
  2180  	it.sub.Unsubscribe()
  2181  	return nil
  2182  }
  2183  
  2184  // BindingHiddenUpdated represents a HiddenUpdated event raised by the Binding contract.
  2185  type BindingHiddenUpdated struct {
  2186  	Previous string
  2187  	Updated  string
  2188  	Raw      types.Log // Blockchain specific contextual infos
  2189  }
  2190  
  2191  // FilterHiddenUpdated is a free log retrieval operation binding the contract event 0x57189fe32dda35d8b092ccd5a7d65eeecb46be25ce11a28ad02b5b0d3f662505.
  2192  //
  2193  // Solidity: event HiddenUpdated(string previous, string updated)
  2194  func (_Binding *BindingFilterer) FilterHiddenUpdated(opts *bind.FilterOpts) (*BindingHiddenUpdatedIterator, error) {
  2195  
  2196  	logs, sub, err := _Binding.contract.FilterLogs(opts, "HiddenUpdated")
  2197  	if err != nil {
  2198  		return nil, err
  2199  	}
  2200  	return &BindingHiddenUpdatedIterator{contract: _Binding.contract, event: "HiddenUpdated", logs: logs, sub: sub}, nil
  2201  }
  2202  
  2203  // WatchHiddenUpdated is a free log subscription operation binding the contract event 0x57189fe32dda35d8b092ccd5a7d65eeecb46be25ce11a28ad02b5b0d3f662505.
  2204  //
  2205  // Solidity: event HiddenUpdated(string previous, string updated)
  2206  func (_Binding *BindingFilterer) WatchHiddenUpdated(opts *bind.WatchOpts, sink chan<- *BindingHiddenUpdated) (event.Subscription, error) {
  2207  
  2208  	logs, sub, err := _Binding.contract.WatchLogs(opts, "HiddenUpdated")
  2209  	if err != nil {
  2210  		return nil, err
  2211  	}
  2212  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2213  		defer sub.Unsubscribe()
  2214  		for {
  2215  			select {
  2216  			case log := <-logs:
  2217  				// New log arrived, parse the event and forward to the user
  2218  				event := new(BindingHiddenUpdated)
  2219  				if err := _Binding.contract.UnpackLog(event, "HiddenUpdated", log); err != nil {
  2220  					return err
  2221  				}
  2222  				event.Raw = log
  2223  
  2224  				select {
  2225  				case sink <- event:
  2226  				case err := <-sub.Err():
  2227  					return err
  2228  				case <-quit:
  2229  					return nil
  2230  				}
  2231  			case err := <-sub.Err():
  2232  				return err
  2233  			case <-quit:
  2234  				return nil
  2235  			}
  2236  		}
  2237  	}), nil
  2238  }
  2239  
  2240  // ParseHiddenUpdated is a log parse operation binding the contract event 0x57189fe32dda35d8b092ccd5a7d65eeecb46be25ce11a28ad02b5b0d3f662505.
  2241  //
  2242  // Solidity: event HiddenUpdated(string previous, string updated)
  2243  func (_Binding *BindingFilterer) ParseHiddenUpdated(log types.Log) (*BindingHiddenUpdated, error) {
  2244  	event := new(BindingHiddenUpdated)
  2245  	if err := _Binding.contract.UnpackLog(event, "HiddenUpdated", log); err != nil {
  2246  		return nil, err
  2247  	}
  2248  	event.Raw = log
  2249  	return event, nil
  2250  }
  2251  
  2252  // BindingMetadataFrozenIterator is returned from FilterMetadataFrozen and is used to iterate over the raw logs and unpacked data for MetadataFrozen events raised by the Binding contract.
  2253  type BindingMetadataFrozenIterator struct {
  2254  	Event *BindingMetadataFrozen // Event containing the contract specifics and raw log
  2255  
  2256  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2257  	event    string              // Event name to use for unpacking event data
  2258  
  2259  	logs chan types.Log        // Log channel receiving the found contract events
  2260  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2261  	done bool                  // Whether the subscription completed delivering logs
  2262  	fail error                 // Occurred error to stop iteration
  2263  }
  2264  
  2265  // Next advances the iterator to the subsequent event, returning whether there
  2266  // are any more events found. In case of a retrieval or parsing error, false is
  2267  // returned and Error() can be queried for the exact failure.
  2268  func (it *BindingMetadataFrozenIterator) Next() bool {
  2269  	// If the iterator failed, stop iterating
  2270  	if it.fail != nil {
  2271  		return false
  2272  	}
  2273  	// If the iterator completed, deliver directly whatever's available
  2274  	if it.done {
  2275  		select {
  2276  		case log := <-it.logs:
  2277  			it.Event = new(BindingMetadataFrozen)
  2278  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2279  				it.fail = err
  2280  				return false
  2281  			}
  2282  			it.Event.Raw = log
  2283  			return true
  2284  
  2285  		default:
  2286  			return false
  2287  		}
  2288  	}
  2289  	// Iterator still in progress, wait for either a data or an error event
  2290  	select {
  2291  	case log := <-it.logs:
  2292  		it.Event = new(BindingMetadataFrozen)
  2293  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2294  			it.fail = err
  2295  			return false
  2296  		}
  2297  		it.Event.Raw = log
  2298  		return true
  2299  
  2300  	case err := <-it.sub.Err():
  2301  		it.done = true
  2302  		it.fail = err
  2303  		return it.Next()
  2304  	}
  2305  }
  2306  
  2307  // Error returns any retrieval or parsing error occurred during filtering.
  2308  func (it *BindingMetadataFrozenIterator) Error() error {
  2309  	return it.fail
  2310  }
  2311  
  2312  // Close terminates the iteration process, releasing any pending underlying
  2313  // resources.
  2314  func (it *BindingMetadataFrozenIterator) Close() error {
  2315  	it.sub.Unsubscribe()
  2316  	return nil
  2317  }
  2318  
  2319  // BindingMetadataFrozen represents a MetadataFrozen event raised by the Binding contract.
  2320  type BindingMetadataFrozen struct {
  2321  	Uri string
  2322  	Raw types.Log // Blockchain specific contextual infos
  2323  }
  2324  
  2325  // FilterMetadataFrozen is a free log retrieval operation binding the contract event 0xac32328134cd103aa01cccc8f61d479f9613e7f9c1de6bfc70c78412b15c18e3.
  2326  //
  2327  // Solidity: event MetadataFrozen(string uri)
  2328  func (_Binding *BindingFilterer) FilterMetadataFrozen(opts *bind.FilterOpts) (*BindingMetadataFrozenIterator, error) {
  2329  
  2330  	logs, sub, err := _Binding.contract.FilterLogs(opts, "MetadataFrozen")
  2331  	if err != nil {
  2332  		return nil, err
  2333  	}
  2334  	return &BindingMetadataFrozenIterator{contract: _Binding.contract, event: "MetadataFrozen", logs: logs, sub: sub}, nil
  2335  }
  2336  
  2337  // WatchMetadataFrozen is a free log subscription operation binding the contract event 0xac32328134cd103aa01cccc8f61d479f9613e7f9c1de6bfc70c78412b15c18e3.
  2338  //
  2339  // Solidity: event MetadataFrozen(string uri)
  2340  func (_Binding *BindingFilterer) WatchMetadataFrozen(opts *bind.WatchOpts, sink chan<- *BindingMetadataFrozen) (event.Subscription, error) {
  2341  
  2342  	logs, sub, err := _Binding.contract.WatchLogs(opts, "MetadataFrozen")
  2343  	if err != nil {
  2344  		return nil, err
  2345  	}
  2346  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2347  		defer sub.Unsubscribe()
  2348  		for {
  2349  			select {
  2350  			case log := <-logs:
  2351  				// New log arrived, parse the event and forward to the user
  2352  				event := new(BindingMetadataFrozen)
  2353  				if err := _Binding.contract.UnpackLog(event, "MetadataFrozen", log); err != nil {
  2354  					return err
  2355  				}
  2356  				event.Raw = log
  2357  
  2358  				select {
  2359  				case sink <- event:
  2360  				case err := <-sub.Err():
  2361  					return err
  2362  				case <-quit:
  2363  					return nil
  2364  				}
  2365  			case err := <-sub.Err():
  2366  				return err
  2367  			case <-quit:
  2368  				return nil
  2369  			}
  2370  		}
  2371  	}), nil
  2372  }
  2373  
  2374  // ParseMetadataFrozen is a log parse operation binding the contract event 0xac32328134cd103aa01cccc8f61d479f9613e7f9c1de6bfc70c78412b15c18e3.
  2375  //
  2376  // Solidity: event MetadataFrozen(string uri)
  2377  func (_Binding *BindingFilterer) ParseMetadataFrozen(log types.Log) (*BindingMetadataFrozen, error) {
  2378  	event := new(BindingMetadataFrozen)
  2379  	if err := _Binding.contract.UnpackLog(event, "MetadataFrozen", log); err != nil {
  2380  		return nil, err
  2381  	}
  2382  	event.Raw = log
  2383  	return event, nil
  2384  }
  2385  
  2386  // BindingMintableUpdatedIterator is returned from FilterMintableUpdated and is used to iterate over the raw logs and unpacked data for MintableUpdated events raised by the Binding contract.
  2387  type BindingMintableUpdatedIterator struct {
  2388  	Event *BindingMintableUpdated // Event containing the contract specifics and raw log
  2389  
  2390  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2391  	event    string              // Event name to use for unpacking event data
  2392  
  2393  	logs chan types.Log        // Log channel receiving the found contract events
  2394  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2395  	done bool                  // Whether the subscription completed delivering logs
  2396  	fail error                 // Occurred error to stop iteration
  2397  }
  2398  
  2399  // Next advances the iterator to the subsequent event, returning whether there
  2400  // are any more events found. In case of a retrieval or parsing error, false is
  2401  // returned and Error() can be queried for the exact failure.
  2402  func (it *BindingMintableUpdatedIterator) Next() bool {
  2403  	// If the iterator failed, stop iterating
  2404  	if it.fail != nil {
  2405  		return false
  2406  	}
  2407  	// If the iterator completed, deliver directly whatever's available
  2408  	if it.done {
  2409  		select {
  2410  		case log := <-it.logs:
  2411  			it.Event = new(BindingMintableUpdated)
  2412  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2413  				it.fail = err
  2414  				return false
  2415  			}
  2416  			it.Event.Raw = log
  2417  			return true
  2418  
  2419  		default:
  2420  			return false
  2421  		}
  2422  	}
  2423  	// Iterator still in progress, wait for either a data or an error event
  2424  	select {
  2425  	case log := <-it.logs:
  2426  		it.Event = new(BindingMintableUpdated)
  2427  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2428  			it.fail = err
  2429  			return false
  2430  		}
  2431  		it.Event.Raw = log
  2432  		return true
  2433  
  2434  	case err := <-it.sub.Err():
  2435  		it.done = true
  2436  		it.fail = err
  2437  		return it.Next()
  2438  	}
  2439  }
  2440  
  2441  // Error returns any retrieval or parsing error occurred during filtering.
  2442  func (it *BindingMintableUpdatedIterator) Error() error {
  2443  	return it.fail
  2444  }
  2445  
  2446  // Close terminates the iteration process, releasing any pending underlying
  2447  // resources.
  2448  func (it *BindingMintableUpdatedIterator) Close() error {
  2449  	it.sub.Unsubscribe()
  2450  	return nil
  2451  }
  2452  
  2453  // BindingMintableUpdated represents a MintableUpdated event raised by the Binding contract.
  2454  type BindingMintableUpdated struct {
  2455  	Previous bool
  2456  	Updated  bool
  2457  	Raw      types.Log // Blockchain specific contextual infos
  2458  }
  2459  
  2460  // FilterMintableUpdated is a free log retrieval operation binding the contract event 0x8d9383d773c0600295154578f39da3106938ba8d1fe1767bcfabe8bf05f555f4.
  2461  //
  2462  // Solidity: event MintableUpdated(bool previous, bool updated)
  2463  func (_Binding *BindingFilterer) FilterMintableUpdated(opts *bind.FilterOpts) (*BindingMintableUpdatedIterator, error) {
  2464  
  2465  	logs, sub, err := _Binding.contract.FilterLogs(opts, "MintableUpdated")
  2466  	if err != nil {
  2467  		return nil, err
  2468  	}
  2469  	return &BindingMintableUpdatedIterator{contract: _Binding.contract, event: "MintableUpdated", logs: logs, sub: sub}, nil
  2470  }
  2471  
  2472  // WatchMintableUpdated is a free log subscription operation binding the contract event 0x8d9383d773c0600295154578f39da3106938ba8d1fe1767bcfabe8bf05f555f4.
  2473  //
  2474  // Solidity: event MintableUpdated(bool previous, bool updated)
  2475  func (_Binding *BindingFilterer) WatchMintableUpdated(opts *bind.WatchOpts, sink chan<- *BindingMintableUpdated) (event.Subscription, error) {
  2476  
  2477  	logs, sub, err := _Binding.contract.WatchLogs(opts, "MintableUpdated")
  2478  	if err != nil {
  2479  		return nil, err
  2480  	}
  2481  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2482  		defer sub.Unsubscribe()
  2483  		for {
  2484  			select {
  2485  			case log := <-logs:
  2486  				// New log arrived, parse the event and forward to the user
  2487  				event := new(BindingMintableUpdated)
  2488  				if err := _Binding.contract.UnpackLog(event, "MintableUpdated", log); err != nil {
  2489  					return err
  2490  				}
  2491  				event.Raw = log
  2492  
  2493  				select {
  2494  				case sink <- event:
  2495  				case err := <-sub.Err():
  2496  					return err
  2497  				case <-quit:
  2498  					return nil
  2499  				}
  2500  			case err := <-sub.Err():
  2501  				return err
  2502  			case <-quit:
  2503  				return nil
  2504  			}
  2505  		}
  2506  	}), nil
  2507  }
  2508  
  2509  // ParseMintableUpdated is a log parse operation binding the contract event 0x8d9383d773c0600295154578f39da3106938ba8d1fe1767bcfabe8bf05f555f4.
  2510  //
  2511  // Solidity: event MintableUpdated(bool previous, bool updated)
  2512  func (_Binding *BindingFilterer) ParseMintableUpdated(log types.Log) (*BindingMintableUpdated, error) {
  2513  	event := new(BindingMintableUpdated)
  2514  	if err := _Binding.contract.UnpackLog(event, "MintableUpdated", log); err != nil {
  2515  		return nil, err
  2516  	}
  2517  	event.Raw = log
  2518  	return event, nil
  2519  }
  2520  
  2521  // BindingOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Binding contract.
  2522  type BindingOwnershipTransferredIterator struct {
  2523  	Event *BindingOwnershipTransferred // Event containing the contract specifics and raw log
  2524  
  2525  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2526  	event    string              // Event name to use for unpacking event data
  2527  
  2528  	logs chan types.Log        // Log channel receiving the found contract events
  2529  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2530  	done bool                  // Whether the subscription completed delivering logs
  2531  	fail error                 // Occurred error to stop iteration
  2532  }
  2533  
  2534  // Next advances the iterator to the subsequent event, returning whether there
  2535  // are any more events found. In case of a retrieval or parsing error, false is
  2536  // returned and Error() can be queried for the exact failure.
  2537  func (it *BindingOwnershipTransferredIterator) Next() bool {
  2538  	// If the iterator failed, stop iterating
  2539  	if it.fail != nil {
  2540  		return false
  2541  	}
  2542  	// If the iterator completed, deliver directly whatever's available
  2543  	if it.done {
  2544  		select {
  2545  		case log := <-it.logs:
  2546  			it.Event = new(BindingOwnershipTransferred)
  2547  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2548  				it.fail = err
  2549  				return false
  2550  			}
  2551  			it.Event.Raw = log
  2552  			return true
  2553  
  2554  		default:
  2555  			return false
  2556  		}
  2557  	}
  2558  	// Iterator still in progress, wait for either a data or an error event
  2559  	select {
  2560  	case log := <-it.logs:
  2561  		it.Event = new(BindingOwnershipTransferred)
  2562  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2563  			it.fail = err
  2564  			return false
  2565  		}
  2566  		it.Event.Raw = log
  2567  		return true
  2568  
  2569  	case err := <-it.sub.Err():
  2570  		it.done = true
  2571  		it.fail = err
  2572  		return it.Next()
  2573  	}
  2574  }
  2575  
  2576  // Error returns any retrieval or parsing error occurred during filtering.
  2577  func (it *BindingOwnershipTransferredIterator) Error() error {
  2578  	return it.fail
  2579  }
  2580  
  2581  // Close terminates the iteration process, releasing any pending underlying
  2582  // resources.
  2583  func (it *BindingOwnershipTransferredIterator) Close() error {
  2584  	it.sub.Unsubscribe()
  2585  	return nil
  2586  }
  2587  
  2588  // BindingOwnershipTransferred represents a OwnershipTransferred event raised by the Binding contract.
  2589  type BindingOwnershipTransferred struct {
  2590  	PreviousOwner common.Address
  2591  	NewOwner      common.Address
  2592  	Raw           types.Log // Blockchain specific contextual infos
  2593  }
  2594  
  2595  // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  2596  //
  2597  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  2598  func (_Binding *BindingFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*BindingOwnershipTransferredIterator, error) {
  2599  
  2600  	var previousOwnerRule []interface{}
  2601  	for _, previousOwnerItem := range previousOwner {
  2602  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  2603  	}
  2604  	var newOwnerRule []interface{}
  2605  	for _, newOwnerItem := range newOwner {
  2606  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  2607  	}
  2608  
  2609  	logs, sub, err := _Binding.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  2610  	if err != nil {
  2611  		return nil, err
  2612  	}
  2613  	return &BindingOwnershipTransferredIterator{contract: _Binding.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil
  2614  }
  2615  
  2616  // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  2617  //
  2618  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  2619  func (_Binding *BindingFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *BindingOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) {
  2620  
  2621  	var previousOwnerRule []interface{}
  2622  	for _, previousOwnerItem := range previousOwner {
  2623  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  2624  	}
  2625  	var newOwnerRule []interface{}
  2626  	for _, newOwnerItem := range newOwner {
  2627  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  2628  	}
  2629  
  2630  	logs, sub, err := _Binding.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  2631  	if err != nil {
  2632  		return nil, err
  2633  	}
  2634  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2635  		defer sub.Unsubscribe()
  2636  		for {
  2637  			select {
  2638  			case log := <-logs:
  2639  				// New log arrived, parse the event and forward to the user
  2640  				event := new(BindingOwnershipTransferred)
  2641  				if err := _Binding.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  2642  					return err
  2643  				}
  2644  				event.Raw = log
  2645  
  2646  				select {
  2647  				case sink <- event:
  2648  				case err := <-sub.Err():
  2649  					return err
  2650  				case <-quit:
  2651  					return nil
  2652  				}
  2653  			case err := <-sub.Err():
  2654  				return err
  2655  			case <-quit:
  2656  				return nil
  2657  			}
  2658  		}
  2659  	}), nil
  2660  }
  2661  
  2662  // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  2663  //
  2664  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  2665  func (_Binding *BindingFilterer) ParseOwnershipTransferred(log types.Log) (*BindingOwnershipTransferred, error) {
  2666  	event := new(BindingOwnershipTransferred)
  2667  	if err := _Binding.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  2668  		return nil, err
  2669  	}
  2670  	event.Raw = log
  2671  	return event, nil
  2672  }
  2673  
  2674  // BindingPackUpdatedIterator is returned from FilterPackUpdated and is used to iterate over the raw logs and unpacked data for PackUpdated events raised by the Binding contract.
  2675  type BindingPackUpdatedIterator struct {
  2676  	Event *BindingPackUpdated // Event containing the contract specifics and raw log
  2677  
  2678  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2679  	event    string              // Event name to use for unpacking event data
  2680  
  2681  	logs chan types.Log        // Log channel receiving the found contract events
  2682  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2683  	done bool                  // Whether the subscription completed delivering logs
  2684  	fail error                 // Occurred error to stop iteration
  2685  }
  2686  
  2687  // Next advances the iterator to the subsequent event, returning whether there
  2688  // are any more events found. In case of a retrieval or parsing error, false is
  2689  // returned and Error() can be queried for the exact failure.
  2690  func (it *BindingPackUpdatedIterator) Next() bool {
  2691  	// If the iterator failed, stop iterating
  2692  	if it.fail != nil {
  2693  		return false
  2694  	}
  2695  	// If the iterator completed, deliver directly whatever's available
  2696  	if it.done {
  2697  		select {
  2698  		case log := <-it.logs:
  2699  			it.Event = new(BindingPackUpdated)
  2700  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2701  				it.fail = err
  2702  				return false
  2703  			}
  2704  			it.Event.Raw = log
  2705  			return true
  2706  
  2707  		default:
  2708  			return false
  2709  		}
  2710  	}
  2711  	// Iterator still in progress, wait for either a data or an error event
  2712  	select {
  2713  	case log := <-it.logs:
  2714  		it.Event = new(BindingPackUpdated)
  2715  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2716  			it.fail = err
  2717  			return false
  2718  		}
  2719  		it.Event.Raw = log
  2720  		return true
  2721  
  2722  	case err := <-it.sub.Err():
  2723  		it.done = true
  2724  		it.fail = err
  2725  		return it.Next()
  2726  	}
  2727  }
  2728  
  2729  // Error returns any retrieval or parsing error occurred during filtering.
  2730  func (it *BindingPackUpdatedIterator) Error() error {
  2731  	return it.fail
  2732  }
  2733  
  2734  // Close terminates the iteration process, releasing any pending underlying
  2735  // resources.
  2736  func (it *BindingPackUpdatedIterator) Close() error {
  2737  	it.sub.Unsubscribe()
  2738  	return nil
  2739  }
  2740  
  2741  // BindingPackUpdated represents a PackUpdated event raised by the Binding contract.
  2742  type BindingPackUpdated struct {
  2743  	Previous common.Address
  2744  	Updated  common.Address
  2745  	Raw      types.Log // Blockchain specific contextual infos
  2746  }
  2747  
  2748  // FilterPackUpdated is a free log retrieval operation binding the contract event 0x69c956910dd41d384c8eaa85a91003a538ae5d5ceb57ae4e530072e3908b10f4.
  2749  //
  2750  // Solidity: event PackUpdated(address previous, address updated)
  2751  func (_Binding *BindingFilterer) FilterPackUpdated(opts *bind.FilterOpts) (*BindingPackUpdatedIterator, error) {
  2752  
  2753  	logs, sub, err := _Binding.contract.FilterLogs(opts, "PackUpdated")
  2754  	if err != nil {
  2755  		return nil, err
  2756  	}
  2757  	return &BindingPackUpdatedIterator{contract: _Binding.contract, event: "PackUpdated", logs: logs, sub: sub}, nil
  2758  }
  2759  
  2760  // WatchPackUpdated is a free log subscription operation binding the contract event 0x69c956910dd41d384c8eaa85a91003a538ae5d5ceb57ae4e530072e3908b10f4.
  2761  //
  2762  // Solidity: event PackUpdated(address previous, address updated)
  2763  func (_Binding *BindingFilterer) WatchPackUpdated(opts *bind.WatchOpts, sink chan<- *BindingPackUpdated) (event.Subscription, error) {
  2764  
  2765  	logs, sub, err := _Binding.contract.WatchLogs(opts, "PackUpdated")
  2766  	if err != nil {
  2767  		return nil, err
  2768  	}
  2769  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2770  		defer sub.Unsubscribe()
  2771  		for {
  2772  			select {
  2773  			case log := <-logs:
  2774  				// New log arrived, parse the event and forward to the user
  2775  				event := new(BindingPackUpdated)
  2776  				if err := _Binding.contract.UnpackLog(event, "PackUpdated", log); err != nil {
  2777  					return err
  2778  				}
  2779  				event.Raw = log
  2780  
  2781  				select {
  2782  				case sink <- event:
  2783  				case err := <-sub.Err():
  2784  					return err
  2785  				case <-quit:
  2786  					return nil
  2787  				}
  2788  			case err := <-sub.Err():
  2789  				return err
  2790  			case <-quit:
  2791  				return nil
  2792  			}
  2793  		}
  2794  	}), nil
  2795  }
  2796  
  2797  // ParsePackUpdated is a log parse operation binding the contract event 0x69c956910dd41d384c8eaa85a91003a538ae5d5ceb57ae4e530072e3908b10f4.
  2798  //
  2799  // Solidity: event PackUpdated(address previous, address updated)
  2800  func (_Binding *BindingFilterer) ParsePackUpdated(log types.Log) (*BindingPackUpdated, error) {
  2801  	event := new(BindingPackUpdated)
  2802  	if err := _Binding.contract.UnpackLog(event, "PackUpdated", log); err != nil {
  2803  		return nil, err
  2804  	}
  2805  	event.Raw = log
  2806  	return event, nil
  2807  }
  2808  
  2809  // BindingPriceUpdatedIterator is returned from FilterPriceUpdated and is used to iterate over the raw logs and unpacked data for PriceUpdated events raised by the Binding contract.
  2810  type BindingPriceUpdatedIterator struct {
  2811  	Event *BindingPriceUpdated // Event containing the contract specifics and raw log
  2812  
  2813  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2814  	event    string              // Event name to use for unpacking event data
  2815  
  2816  	logs chan types.Log        // Log channel receiving the found contract events
  2817  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2818  	done bool                  // Whether the subscription completed delivering logs
  2819  	fail error                 // Occurred error to stop iteration
  2820  }
  2821  
  2822  // Next advances the iterator to the subsequent event, returning whether there
  2823  // are any more events found. In case of a retrieval or parsing error, false is
  2824  // returned and Error() can be queried for the exact failure.
  2825  func (it *BindingPriceUpdatedIterator) Next() bool {
  2826  	// If the iterator failed, stop iterating
  2827  	if it.fail != nil {
  2828  		return false
  2829  	}
  2830  	// If the iterator completed, deliver directly whatever's available
  2831  	if it.done {
  2832  		select {
  2833  		case log := <-it.logs:
  2834  			it.Event = new(BindingPriceUpdated)
  2835  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2836  				it.fail = err
  2837  				return false
  2838  			}
  2839  			it.Event.Raw = log
  2840  			return true
  2841  
  2842  		default:
  2843  			return false
  2844  		}
  2845  	}
  2846  	// Iterator still in progress, wait for either a data or an error event
  2847  	select {
  2848  	case log := <-it.logs:
  2849  		it.Event = new(BindingPriceUpdated)
  2850  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2851  			it.fail = err
  2852  			return false
  2853  		}
  2854  		it.Event.Raw = log
  2855  		return true
  2856  
  2857  	case err := <-it.sub.Err():
  2858  		it.done = true
  2859  		it.fail = err
  2860  		return it.Next()
  2861  	}
  2862  }
  2863  
  2864  // Error returns any retrieval or parsing error occurred during filtering.
  2865  func (it *BindingPriceUpdatedIterator) Error() error {
  2866  	return it.fail
  2867  }
  2868  
  2869  // Close terminates the iteration process, releasing any pending underlying
  2870  // resources.
  2871  func (it *BindingPriceUpdatedIterator) Close() error {
  2872  	it.sub.Unsubscribe()
  2873  	return nil
  2874  }
  2875  
  2876  // BindingPriceUpdated represents a PriceUpdated event raised by the Binding contract.
  2877  type BindingPriceUpdated struct {
  2878  	Previous *big.Int
  2879  	Updated  *big.Int
  2880  	Raw      types.Log // Blockchain specific contextual infos
  2881  }
  2882  
  2883  // FilterPriceUpdated is a free log retrieval operation binding the contract event 0x945c1c4e99aa89f648fbfe3df471b916f719e16d960fcec0737d4d56bd696838.
  2884  //
  2885  // Solidity: event PriceUpdated(uint256 previous, uint256 updated)
  2886  func (_Binding *BindingFilterer) FilterPriceUpdated(opts *bind.FilterOpts) (*BindingPriceUpdatedIterator, error) {
  2887  
  2888  	logs, sub, err := _Binding.contract.FilterLogs(opts, "PriceUpdated")
  2889  	if err != nil {
  2890  		return nil, err
  2891  	}
  2892  	return &BindingPriceUpdatedIterator{contract: _Binding.contract, event: "PriceUpdated", logs: logs, sub: sub}, nil
  2893  }
  2894  
  2895  // WatchPriceUpdated is a free log subscription operation binding the contract event 0x945c1c4e99aa89f648fbfe3df471b916f719e16d960fcec0737d4d56bd696838.
  2896  //
  2897  // Solidity: event PriceUpdated(uint256 previous, uint256 updated)
  2898  func (_Binding *BindingFilterer) WatchPriceUpdated(opts *bind.WatchOpts, sink chan<- *BindingPriceUpdated) (event.Subscription, error) {
  2899  
  2900  	logs, sub, err := _Binding.contract.WatchLogs(opts, "PriceUpdated")
  2901  	if err != nil {
  2902  		return nil, err
  2903  	}
  2904  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2905  		defer sub.Unsubscribe()
  2906  		for {
  2907  			select {
  2908  			case log := <-logs:
  2909  				// New log arrived, parse the event and forward to the user
  2910  				event := new(BindingPriceUpdated)
  2911  				if err := _Binding.contract.UnpackLog(event, "PriceUpdated", log); err != nil {
  2912  					return err
  2913  				}
  2914  				event.Raw = log
  2915  
  2916  				select {
  2917  				case sink <- event:
  2918  				case err := <-sub.Err():
  2919  					return err
  2920  				case <-quit:
  2921  					return nil
  2922  				}
  2923  			case err := <-sub.Err():
  2924  				return err
  2925  			case <-quit:
  2926  				return nil
  2927  			}
  2928  		}
  2929  	}), nil
  2930  }
  2931  
  2932  // ParsePriceUpdated is a log parse operation binding the contract event 0x945c1c4e99aa89f648fbfe3df471b916f719e16d960fcec0737d4d56bd696838.
  2933  //
  2934  // Solidity: event PriceUpdated(uint256 previous, uint256 updated)
  2935  func (_Binding *BindingFilterer) ParsePriceUpdated(log types.Log) (*BindingPriceUpdated, error) {
  2936  	event := new(BindingPriceUpdated)
  2937  	if err := _Binding.contract.UnpackLog(event, "PriceUpdated", log); err != nil {
  2938  		return nil, err
  2939  	}
  2940  	event.Raw = log
  2941  	return event, nil
  2942  }
  2943  
  2944  // BindingReceiverUpdatedIterator is returned from FilterReceiverUpdated and is used to iterate over the raw logs and unpacked data for ReceiverUpdated events raised by the Binding contract.
  2945  type BindingReceiverUpdatedIterator struct {
  2946  	Event *BindingReceiverUpdated // Event containing the contract specifics and raw log
  2947  
  2948  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2949  	event    string              // Event name to use for unpacking event data
  2950  
  2951  	logs chan types.Log        // Log channel receiving the found contract events
  2952  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2953  	done bool                  // Whether the subscription completed delivering logs
  2954  	fail error                 // Occurred error to stop iteration
  2955  }
  2956  
  2957  // Next advances the iterator to the subsequent event, returning whether there
  2958  // are any more events found. In case of a retrieval or parsing error, false is
  2959  // returned and Error() can be queried for the exact failure.
  2960  func (it *BindingReceiverUpdatedIterator) Next() bool {
  2961  	// If the iterator failed, stop iterating
  2962  	if it.fail != nil {
  2963  		return false
  2964  	}
  2965  	// If the iterator completed, deliver directly whatever's available
  2966  	if it.done {
  2967  		select {
  2968  		case log := <-it.logs:
  2969  			it.Event = new(BindingReceiverUpdated)
  2970  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2971  				it.fail = err
  2972  				return false
  2973  			}
  2974  			it.Event.Raw = log
  2975  			return true
  2976  
  2977  		default:
  2978  			return false
  2979  		}
  2980  	}
  2981  	// Iterator still in progress, wait for either a data or an error event
  2982  	select {
  2983  	case log := <-it.logs:
  2984  		it.Event = new(BindingReceiverUpdated)
  2985  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2986  			it.fail = err
  2987  			return false
  2988  		}
  2989  		it.Event.Raw = log
  2990  		return true
  2991  
  2992  	case err := <-it.sub.Err():
  2993  		it.done = true
  2994  		it.fail = err
  2995  		return it.Next()
  2996  	}
  2997  }
  2998  
  2999  // Error returns any retrieval or parsing error occurred during filtering.
  3000  func (it *BindingReceiverUpdatedIterator) Error() error {
  3001  	return it.fail
  3002  }
  3003  
  3004  // Close terminates the iteration process, releasing any pending underlying
  3005  // resources.
  3006  func (it *BindingReceiverUpdatedIterator) Close() error {
  3007  	it.sub.Unsubscribe()
  3008  	return nil
  3009  }
  3010  
  3011  // BindingReceiverUpdated represents a ReceiverUpdated event raised by the Binding contract.
  3012  type BindingReceiverUpdated struct {
  3013  	Previous common.Address
  3014  	Updated  common.Address
  3015  	Raw      types.Log // Blockchain specific contextual infos
  3016  }
  3017  
  3018  // FilterReceiverUpdated is a free log retrieval operation binding the contract event 0xbda2bcccbfa5ae883ab7d9f03480ab68fe68e9200c9b52c0c47abc21d2c90ec9.
  3019  //
  3020  // Solidity: event ReceiverUpdated(address previous, address updated)
  3021  func (_Binding *BindingFilterer) FilterReceiverUpdated(opts *bind.FilterOpts) (*BindingReceiverUpdatedIterator, error) {
  3022  
  3023  	logs, sub, err := _Binding.contract.FilterLogs(opts, "ReceiverUpdated")
  3024  	if err != nil {
  3025  		return nil, err
  3026  	}
  3027  	return &BindingReceiverUpdatedIterator{contract: _Binding.contract, event: "ReceiverUpdated", logs: logs, sub: sub}, nil
  3028  }
  3029  
  3030  // WatchReceiverUpdated is a free log subscription operation binding the contract event 0xbda2bcccbfa5ae883ab7d9f03480ab68fe68e9200c9b52c0c47abc21d2c90ec9.
  3031  //
  3032  // Solidity: event ReceiverUpdated(address previous, address updated)
  3033  func (_Binding *BindingFilterer) WatchReceiverUpdated(opts *bind.WatchOpts, sink chan<- *BindingReceiverUpdated) (event.Subscription, error) {
  3034  
  3035  	logs, sub, err := _Binding.contract.WatchLogs(opts, "ReceiverUpdated")
  3036  	if err != nil {
  3037  		return nil, err
  3038  	}
  3039  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3040  		defer sub.Unsubscribe()
  3041  		for {
  3042  			select {
  3043  			case log := <-logs:
  3044  				// New log arrived, parse the event and forward to the user
  3045  				event := new(BindingReceiverUpdated)
  3046  				if err := _Binding.contract.UnpackLog(event, "ReceiverUpdated", log); err != nil {
  3047  					return err
  3048  				}
  3049  				event.Raw = log
  3050  
  3051  				select {
  3052  				case sink <- event:
  3053  				case err := <-sub.Err():
  3054  					return err
  3055  				case <-quit:
  3056  					return nil
  3057  				}
  3058  			case err := <-sub.Err():
  3059  				return err
  3060  			case <-quit:
  3061  				return nil
  3062  			}
  3063  		}
  3064  	}), nil
  3065  }
  3066  
  3067  // ParseReceiverUpdated is a log parse operation binding the contract event 0xbda2bcccbfa5ae883ab7d9f03480ab68fe68e9200c9b52c0c47abc21d2c90ec9.
  3068  //
  3069  // Solidity: event ReceiverUpdated(address previous, address updated)
  3070  func (_Binding *BindingFilterer) ParseReceiverUpdated(log types.Log) (*BindingReceiverUpdated, error) {
  3071  	event := new(BindingReceiverUpdated)
  3072  	if err := _Binding.contract.UnpackLog(event, "ReceiverUpdated", log); err != nil {
  3073  		return nil, err
  3074  	}
  3075  	event.Raw = log
  3076  	return event, nil
  3077  }
  3078  
  3079  // BindingRevealableUpdatedIterator is returned from FilterRevealableUpdated and is used to iterate over the raw logs and unpacked data for RevealableUpdated events raised by the Binding contract.
  3080  type BindingRevealableUpdatedIterator struct {
  3081  	Event *BindingRevealableUpdated // Event containing the contract specifics and raw log
  3082  
  3083  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  3084  	event    string              // Event name to use for unpacking event data
  3085  
  3086  	logs chan types.Log        // Log channel receiving the found contract events
  3087  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  3088  	done bool                  // Whether the subscription completed delivering logs
  3089  	fail error                 // Occurred error to stop iteration
  3090  }
  3091  
  3092  // Next advances the iterator to the subsequent event, returning whether there
  3093  // are any more events found. In case of a retrieval or parsing error, false is
  3094  // returned and Error() can be queried for the exact failure.
  3095  func (it *BindingRevealableUpdatedIterator) Next() bool {
  3096  	// If the iterator failed, stop iterating
  3097  	if it.fail != nil {
  3098  		return false
  3099  	}
  3100  	// If the iterator completed, deliver directly whatever's available
  3101  	if it.done {
  3102  		select {
  3103  		case log := <-it.logs:
  3104  			it.Event = new(BindingRevealableUpdated)
  3105  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3106  				it.fail = err
  3107  				return false
  3108  			}
  3109  			it.Event.Raw = log
  3110  			return true
  3111  
  3112  		default:
  3113  			return false
  3114  		}
  3115  	}
  3116  	// Iterator still in progress, wait for either a data or an error event
  3117  	select {
  3118  	case log := <-it.logs:
  3119  		it.Event = new(BindingRevealableUpdated)
  3120  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3121  			it.fail = err
  3122  			return false
  3123  		}
  3124  		it.Event.Raw = log
  3125  		return true
  3126  
  3127  	case err := <-it.sub.Err():
  3128  		it.done = true
  3129  		it.fail = err
  3130  		return it.Next()
  3131  	}
  3132  }
  3133  
  3134  // Error returns any retrieval or parsing error occurred during filtering.
  3135  func (it *BindingRevealableUpdatedIterator) Error() error {
  3136  	return it.fail
  3137  }
  3138  
  3139  // Close terminates the iteration process, releasing any pending underlying
  3140  // resources.
  3141  func (it *BindingRevealableUpdatedIterator) Close() error {
  3142  	it.sub.Unsubscribe()
  3143  	return nil
  3144  }
  3145  
  3146  // BindingRevealableUpdated represents a RevealableUpdated event raised by the Binding contract.
  3147  type BindingRevealableUpdated struct {
  3148  	Previous bool
  3149  	Updated  bool
  3150  	Raw      types.Log // Blockchain specific contextual infos
  3151  }
  3152  
  3153  // FilterRevealableUpdated is a free log retrieval operation binding the contract event 0x84cc45418127802859711bdf440a92a3a6d3819145166e3f884db8d202aa5ebf.
  3154  //
  3155  // Solidity: event RevealableUpdated(bool previous, bool updated)
  3156  func (_Binding *BindingFilterer) FilterRevealableUpdated(opts *bind.FilterOpts) (*BindingRevealableUpdatedIterator, error) {
  3157  
  3158  	logs, sub, err := _Binding.contract.FilterLogs(opts, "RevealableUpdated")
  3159  	if err != nil {
  3160  		return nil, err
  3161  	}
  3162  	return &BindingRevealableUpdatedIterator{contract: _Binding.contract, event: "RevealableUpdated", logs: logs, sub: sub}, nil
  3163  }
  3164  
  3165  // WatchRevealableUpdated is a free log subscription operation binding the contract event 0x84cc45418127802859711bdf440a92a3a6d3819145166e3f884db8d202aa5ebf.
  3166  //
  3167  // Solidity: event RevealableUpdated(bool previous, bool updated)
  3168  func (_Binding *BindingFilterer) WatchRevealableUpdated(opts *bind.WatchOpts, sink chan<- *BindingRevealableUpdated) (event.Subscription, error) {
  3169  
  3170  	logs, sub, err := _Binding.contract.WatchLogs(opts, "RevealableUpdated")
  3171  	if err != nil {
  3172  		return nil, err
  3173  	}
  3174  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3175  		defer sub.Unsubscribe()
  3176  		for {
  3177  			select {
  3178  			case log := <-logs:
  3179  				// New log arrived, parse the event and forward to the user
  3180  				event := new(BindingRevealableUpdated)
  3181  				if err := _Binding.contract.UnpackLog(event, "RevealableUpdated", log); err != nil {
  3182  					return err
  3183  				}
  3184  				event.Raw = log
  3185  
  3186  				select {
  3187  				case sink <- event:
  3188  				case err := <-sub.Err():
  3189  					return err
  3190  				case <-quit:
  3191  					return nil
  3192  				}
  3193  			case err := <-sub.Err():
  3194  				return err
  3195  			case <-quit:
  3196  				return nil
  3197  			}
  3198  		}
  3199  	}), nil
  3200  }
  3201  
  3202  // ParseRevealableUpdated is a log parse operation binding the contract event 0x84cc45418127802859711bdf440a92a3a6d3819145166e3f884db8d202aa5ebf.
  3203  //
  3204  // Solidity: event RevealableUpdated(bool previous, bool updated)
  3205  func (_Binding *BindingFilterer) ParseRevealableUpdated(log types.Log) (*BindingRevealableUpdated, error) {
  3206  	event := new(BindingRevealableUpdated)
  3207  	if err := _Binding.contract.UnpackLog(event, "RevealableUpdated", log); err != nil {
  3208  		return nil, err
  3209  	}
  3210  	event.Raw = log
  3211  	return event, nil
  3212  }
  3213  
  3214  // BindingRoyaltyUpdatedIterator is returned from FilterRoyaltyUpdated and is used to iterate over the raw logs and unpacked data for RoyaltyUpdated events raised by the Binding contract.
  3215  type BindingRoyaltyUpdatedIterator struct {
  3216  	Event *BindingRoyaltyUpdated // Event containing the contract specifics and raw log
  3217  
  3218  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  3219  	event    string              // Event name to use for unpacking event data
  3220  
  3221  	logs chan types.Log        // Log channel receiving the found contract events
  3222  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  3223  	done bool                  // Whether the subscription completed delivering logs
  3224  	fail error                 // Occurred error to stop iteration
  3225  }
  3226  
  3227  // Next advances the iterator to the subsequent event, returning whether there
  3228  // are any more events found. In case of a retrieval or parsing error, false is
  3229  // returned and Error() can be queried for the exact failure.
  3230  func (it *BindingRoyaltyUpdatedIterator) Next() bool {
  3231  	// If the iterator failed, stop iterating
  3232  	if it.fail != nil {
  3233  		return false
  3234  	}
  3235  	// If the iterator completed, deliver directly whatever's available
  3236  	if it.done {
  3237  		select {
  3238  		case log := <-it.logs:
  3239  			it.Event = new(BindingRoyaltyUpdated)
  3240  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3241  				it.fail = err
  3242  				return false
  3243  			}
  3244  			it.Event.Raw = log
  3245  			return true
  3246  
  3247  		default:
  3248  			return false
  3249  		}
  3250  	}
  3251  	// Iterator still in progress, wait for either a data or an error event
  3252  	select {
  3253  	case log := <-it.logs:
  3254  		it.Event = new(BindingRoyaltyUpdated)
  3255  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3256  			it.fail = err
  3257  			return false
  3258  		}
  3259  		it.Event.Raw = log
  3260  		return true
  3261  
  3262  	case err := <-it.sub.Err():
  3263  		it.done = true
  3264  		it.fail = err
  3265  		return it.Next()
  3266  	}
  3267  }
  3268  
  3269  // Error returns any retrieval or parsing error occurred during filtering.
  3270  func (it *BindingRoyaltyUpdatedIterator) Error() error {
  3271  	return it.fail
  3272  }
  3273  
  3274  // Close terminates the iteration process, releasing any pending underlying
  3275  // resources.
  3276  func (it *BindingRoyaltyUpdatedIterator) Close() error {
  3277  	it.sub.Unsubscribe()
  3278  	return nil
  3279  }
  3280  
  3281  // BindingRoyaltyUpdated represents a RoyaltyUpdated event raised by the Binding contract.
  3282  type BindingRoyaltyUpdated struct {
  3283  	Previous *big.Int
  3284  	Updated  *big.Int
  3285  	Raw      types.Log // Blockchain specific contextual infos
  3286  }
  3287  
  3288  // FilterRoyaltyUpdated is a free log retrieval operation binding the contract event 0x54e506cda8889617ec187c699f1c3b373053eb5796248194796f7e1501dfab24.
  3289  //
  3290  // Solidity: event RoyaltyUpdated(uint256 previous, uint256 updated)
  3291  func (_Binding *BindingFilterer) FilterRoyaltyUpdated(opts *bind.FilterOpts) (*BindingRoyaltyUpdatedIterator, error) {
  3292  
  3293  	logs, sub, err := _Binding.contract.FilterLogs(opts, "RoyaltyUpdated")
  3294  	if err != nil {
  3295  		return nil, err
  3296  	}
  3297  	return &BindingRoyaltyUpdatedIterator{contract: _Binding.contract, event: "RoyaltyUpdated", logs: logs, sub: sub}, nil
  3298  }
  3299  
  3300  // WatchRoyaltyUpdated is a free log subscription operation binding the contract event 0x54e506cda8889617ec187c699f1c3b373053eb5796248194796f7e1501dfab24.
  3301  //
  3302  // Solidity: event RoyaltyUpdated(uint256 previous, uint256 updated)
  3303  func (_Binding *BindingFilterer) WatchRoyaltyUpdated(opts *bind.WatchOpts, sink chan<- *BindingRoyaltyUpdated) (event.Subscription, error) {
  3304  
  3305  	logs, sub, err := _Binding.contract.WatchLogs(opts, "RoyaltyUpdated")
  3306  	if err != nil {
  3307  		return nil, err
  3308  	}
  3309  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3310  		defer sub.Unsubscribe()
  3311  		for {
  3312  			select {
  3313  			case log := <-logs:
  3314  				// New log arrived, parse the event and forward to the user
  3315  				event := new(BindingRoyaltyUpdated)
  3316  				if err := _Binding.contract.UnpackLog(event, "RoyaltyUpdated", log); err != nil {
  3317  					return err
  3318  				}
  3319  				event.Raw = log
  3320  
  3321  				select {
  3322  				case sink <- event:
  3323  				case err := <-sub.Err():
  3324  					return err
  3325  				case <-quit:
  3326  					return nil
  3327  				}
  3328  			case err := <-sub.Err():
  3329  				return err
  3330  			case <-quit:
  3331  				return nil
  3332  			}
  3333  		}
  3334  	}), nil
  3335  }
  3336  
  3337  // ParseRoyaltyUpdated is a log parse operation binding the contract event 0x54e506cda8889617ec187c699f1c3b373053eb5796248194796f7e1501dfab24.
  3338  //
  3339  // Solidity: event RoyaltyUpdated(uint256 previous, uint256 updated)
  3340  func (_Binding *BindingFilterer) ParseRoyaltyUpdated(log types.Log) (*BindingRoyaltyUpdated, error) {
  3341  	event := new(BindingRoyaltyUpdated)
  3342  	if err := _Binding.contract.UnpackLog(event, "RoyaltyUpdated", log); err != nil {
  3343  		return nil, err
  3344  	}
  3345  	event.Raw = log
  3346  	return event, nil
  3347  }
  3348  
  3349  // BindingTokenRevealIterator is returned from FilterTokenReveal and is used to iterate over the raw logs and unpacked data for TokenReveal events raised by the Binding contract.
  3350  type BindingTokenRevealIterator struct {
  3351  	Event *BindingTokenReveal // Event containing the contract specifics and raw log
  3352  
  3353  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  3354  	event    string              // Event name to use for unpacking event data
  3355  
  3356  	logs chan types.Log        // Log channel receiving the found contract events
  3357  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  3358  	done bool                  // Whether the subscription completed delivering logs
  3359  	fail error                 // Occurred error to stop iteration
  3360  }
  3361  
  3362  // Next advances the iterator to the subsequent event, returning whether there
  3363  // are any more events found. In case of a retrieval or parsing error, false is
  3364  // returned and Error() can be queried for the exact failure.
  3365  func (it *BindingTokenRevealIterator) Next() bool {
  3366  	// If the iterator failed, stop iterating
  3367  	if it.fail != nil {
  3368  		return false
  3369  	}
  3370  	// If the iterator completed, deliver directly whatever's available
  3371  	if it.done {
  3372  		select {
  3373  		case log := <-it.logs:
  3374  			it.Event = new(BindingTokenReveal)
  3375  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3376  				it.fail = err
  3377  				return false
  3378  			}
  3379  			it.Event.Raw = log
  3380  			return true
  3381  
  3382  		default:
  3383  			return false
  3384  		}
  3385  	}
  3386  	// Iterator still in progress, wait for either a data or an error event
  3387  	select {
  3388  	case log := <-it.logs:
  3389  		it.Event = new(BindingTokenReveal)
  3390  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3391  			it.fail = err
  3392  			return false
  3393  		}
  3394  		it.Event.Raw = log
  3395  		return true
  3396  
  3397  	case err := <-it.sub.Err():
  3398  		it.done = true
  3399  		it.fail = err
  3400  		return it.Next()
  3401  	}
  3402  }
  3403  
  3404  // Error returns any retrieval or parsing error occurred during filtering.
  3405  func (it *BindingTokenRevealIterator) Error() error {
  3406  	return it.fail
  3407  }
  3408  
  3409  // Close terminates the iteration process, releasing any pending underlying
  3410  // resources.
  3411  func (it *BindingTokenRevealIterator) Close() error {
  3412  	it.sub.Unsubscribe()
  3413  	return nil
  3414  }
  3415  
  3416  // BindingTokenReveal represents a TokenReveal event raised by the Binding contract.
  3417  type BindingTokenReveal struct {
  3418  	User      common.Address
  3419  	RequestId [32]byte
  3420  	Tokens    []*big.Int
  3421  	Raw       types.Log // Blockchain specific contextual infos
  3422  }
  3423  
  3424  // FilterTokenReveal is a free log retrieval operation binding the contract event 0xf78fdbb14693a4df69f9724dd4d02cb841094dbff2f6dac48ad20cda511f2d12.
  3425  //
  3426  // Solidity: event TokenReveal(address indexed user, bytes32 requestId, uint256[] tokens)
  3427  func (_Binding *BindingFilterer) FilterTokenReveal(opts *bind.FilterOpts, user []common.Address) (*BindingTokenRevealIterator, error) {
  3428  
  3429  	var userRule []interface{}
  3430  	for _, userItem := range user {
  3431  		userRule = append(userRule, userItem)
  3432  	}
  3433  
  3434  	logs, sub, err := _Binding.contract.FilterLogs(opts, "TokenReveal", userRule)
  3435  	if err != nil {
  3436  		return nil, err
  3437  	}
  3438  	return &BindingTokenRevealIterator{contract: _Binding.contract, event: "TokenReveal", logs: logs, sub: sub}, nil
  3439  }
  3440  
  3441  // WatchTokenReveal is a free log subscription operation binding the contract event 0xf78fdbb14693a4df69f9724dd4d02cb841094dbff2f6dac48ad20cda511f2d12.
  3442  //
  3443  // Solidity: event TokenReveal(address indexed user, bytes32 requestId, uint256[] tokens)
  3444  func (_Binding *BindingFilterer) WatchTokenReveal(opts *bind.WatchOpts, sink chan<- *BindingTokenReveal, user []common.Address) (event.Subscription, error) {
  3445  
  3446  	var userRule []interface{}
  3447  	for _, userItem := range user {
  3448  		userRule = append(userRule, userItem)
  3449  	}
  3450  
  3451  	logs, sub, err := _Binding.contract.WatchLogs(opts, "TokenReveal", userRule)
  3452  	if err != nil {
  3453  		return nil, err
  3454  	}
  3455  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3456  		defer sub.Unsubscribe()
  3457  		for {
  3458  			select {
  3459  			case log := <-logs:
  3460  				// New log arrived, parse the event and forward to the user
  3461  				event := new(BindingTokenReveal)
  3462  				if err := _Binding.contract.UnpackLog(event, "TokenReveal", log); err != nil {
  3463  					return err
  3464  				}
  3465  				event.Raw = log
  3466  
  3467  				select {
  3468  				case sink <- event:
  3469  				case err := <-sub.Err():
  3470  					return err
  3471  				case <-quit:
  3472  					return nil
  3473  				}
  3474  			case err := <-sub.Err():
  3475  				return err
  3476  			case <-quit:
  3477  				return nil
  3478  			}
  3479  		}
  3480  	}), nil
  3481  }
  3482  
  3483  // ParseTokenReveal is a log parse operation binding the contract event 0xf78fdbb14693a4df69f9724dd4d02cb841094dbff2f6dac48ad20cda511f2d12.
  3484  //
  3485  // Solidity: event TokenReveal(address indexed user, bytes32 requestId, uint256[] tokens)
  3486  func (_Binding *BindingFilterer) ParseTokenReveal(log types.Log) (*BindingTokenReveal, error) {
  3487  	event := new(BindingTokenReveal)
  3488  	if err := _Binding.contract.UnpackLog(event, "TokenReveal", log); err != nil {
  3489  		return nil, err
  3490  	}
  3491  	event.Raw = log
  3492  	return event, nil
  3493  }
  3494  
  3495  // BindingTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the Binding contract.
  3496  type BindingTransferIterator struct {
  3497  	Event *BindingTransfer // Event containing the contract specifics and raw log
  3498  
  3499  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  3500  	event    string              // Event name to use for unpacking event data
  3501  
  3502  	logs chan types.Log        // Log channel receiving the found contract events
  3503  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  3504  	done bool                  // Whether the subscription completed delivering logs
  3505  	fail error                 // Occurred error to stop iteration
  3506  }
  3507  
  3508  // Next advances the iterator to the subsequent event, returning whether there
  3509  // are any more events found. In case of a retrieval or parsing error, false is
  3510  // returned and Error() can be queried for the exact failure.
  3511  func (it *BindingTransferIterator) Next() bool {
  3512  	// If the iterator failed, stop iterating
  3513  	if it.fail != nil {
  3514  		return false
  3515  	}
  3516  	// If the iterator completed, deliver directly whatever's available
  3517  	if it.done {
  3518  		select {
  3519  		case log := <-it.logs:
  3520  			it.Event = new(BindingTransfer)
  3521  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3522  				it.fail = err
  3523  				return false
  3524  			}
  3525  			it.Event.Raw = log
  3526  			return true
  3527  
  3528  		default:
  3529  			return false
  3530  		}
  3531  	}
  3532  	// Iterator still in progress, wait for either a data or an error event
  3533  	select {
  3534  	case log := <-it.logs:
  3535  		it.Event = new(BindingTransfer)
  3536  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3537  			it.fail = err
  3538  			return false
  3539  		}
  3540  		it.Event.Raw = log
  3541  		return true
  3542  
  3543  	case err := <-it.sub.Err():
  3544  		it.done = true
  3545  		it.fail = err
  3546  		return it.Next()
  3547  	}
  3548  }
  3549  
  3550  // Error returns any retrieval or parsing error occurred during filtering.
  3551  func (it *BindingTransferIterator) Error() error {
  3552  	return it.fail
  3553  }
  3554  
  3555  // Close terminates the iteration process, releasing any pending underlying
  3556  // resources.
  3557  func (it *BindingTransferIterator) Close() error {
  3558  	it.sub.Unsubscribe()
  3559  	return nil
  3560  }
  3561  
  3562  // BindingTransfer represents a Transfer event raised by the Binding contract.
  3563  type BindingTransfer struct {
  3564  	From    common.Address
  3565  	To      common.Address
  3566  	TokenId *big.Int
  3567  	Raw     types.Log // Blockchain specific contextual infos
  3568  }
  3569  
  3570  // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  3571  //
  3572  // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  3573  func (_Binding *BindingFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*BindingTransferIterator, error) {
  3574  
  3575  	var fromRule []interface{}
  3576  	for _, fromItem := range from {
  3577  		fromRule = append(fromRule, fromItem)
  3578  	}
  3579  	var toRule []interface{}
  3580  	for _, toItem := range to {
  3581  		toRule = append(toRule, toItem)
  3582  	}
  3583  	var tokenIdRule []interface{}
  3584  	for _, tokenIdItem := range tokenId {
  3585  		tokenIdRule = append(tokenIdRule, tokenIdItem)
  3586  	}
  3587  
  3588  	logs, sub, err := _Binding.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
  3589  	if err != nil {
  3590  		return nil, err
  3591  	}
  3592  	return &BindingTransferIterator{contract: _Binding.contract, event: "Transfer", logs: logs, sub: sub}, nil
  3593  }
  3594  
  3595  // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  3596  //
  3597  // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  3598  func (_Binding *BindingFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *BindingTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) {
  3599  
  3600  	var fromRule []interface{}
  3601  	for _, fromItem := range from {
  3602  		fromRule = append(fromRule, fromItem)
  3603  	}
  3604  	var toRule []interface{}
  3605  	for _, toItem := range to {
  3606  		toRule = append(toRule, toItem)
  3607  	}
  3608  	var tokenIdRule []interface{}
  3609  	for _, tokenIdItem := range tokenId {
  3610  		tokenIdRule = append(tokenIdRule, tokenIdItem)
  3611  	}
  3612  
  3613  	logs, sub, err := _Binding.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
  3614  	if err != nil {
  3615  		return nil, err
  3616  	}
  3617  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3618  		defer sub.Unsubscribe()
  3619  		for {
  3620  			select {
  3621  			case log := <-logs:
  3622  				// New log arrived, parse the event and forward to the user
  3623  				event := new(BindingTransfer)
  3624  				if err := _Binding.contract.UnpackLog(event, "Transfer", log); err != nil {
  3625  					return err
  3626  				}
  3627  				event.Raw = log
  3628  
  3629  				select {
  3630  				case sink <- event:
  3631  				case err := <-sub.Err():
  3632  					return err
  3633  				case <-quit:
  3634  					return nil
  3635  				}
  3636  			case err := <-sub.Err():
  3637  				return err
  3638  			case <-quit:
  3639  				return nil
  3640  			}
  3641  		}
  3642  	}), nil
  3643  }
  3644  
  3645  // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  3646  //
  3647  // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  3648  func (_Binding *BindingFilterer) ParseTransfer(log types.Log) (*BindingTransfer, error) {
  3649  	event := new(BindingTransfer)
  3650  	if err := _Binding.contract.UnpackLog(event, "Transfer", log); err != nil {
  3651  		return nil, err
  3652  	}
  3653  	event.Raw = log
  3654  	return event, nil
  3655  }
  3656  
  3657  // BindingUriFallbackUpdatedIterator is returned from FilterUriFallbackUpdated and is used to iterate over the raw logs and unpacked data for UriFallbackUpdated events raised by the Binding contract.
  3658  type BindingUriFallbackUpdatedIterator struct {
  3659  	Event *BindingUriFallbackUpdated // Event containing the contract specifics and raw log
  3660  
  3661  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  3662  	event    string              // Event name to use for unpacking event data
  3663  
  3664  	logs chan types.Log        // Log channel receiving the found contract events
  3665  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  3666  	done bool                  // Whether the subscription completed delivering logs
  3667  	fail error                 // Occurred error to stop iteration
  3668  }
  3669  
  3670  // Next advances the iterator to the subsequent event, returning whether there
  3671  // are any more events found. In case of a retrieval or parsing error, false is
  3672  // returned and Error() can be queried for the exact failure.
  3673  func (it *BindingUriFallbackUpdatedIterator) Next() bool {
  3674  	// If the iterator failed, stop iterating
  3675  	if it.fail != nil {
  3676  		return false
  3677  	}
  3678  	// If the iterator completed, deliver directly whatever's available
  3679  	if it.done {
  3680  		select {
  3681  		case log := <-it.logs:
  3682  			it.Event = new(BindingUriFallbackUpdated)
  3683  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3684  				it.fail = err
  3685  				return false
  3686  			}
  3687  			it.Event.Raw = log
  3688  			return true
  3689  
  3690  		default:
  3691  			return false
  3692  		}
  3693  	}
  3694  	// Iterator still in progress, wait for either a data or an error event
  3695  	select {
  3696  	case log := <-it.logs:
  3697  		it.Event = new(BindingUriFallbackUpdated)
  3698  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3699  			it.fail = err
  3700  			return false
  3701  		}
  3702  		it.Event.Raw = log
  3703  		return true
  3704  
  3705  	case err := <-it.sub.Err():
  3706  		it.done = true
  3707  		it.fail = err
  3708  		return it.Next()
  3709  	}
  3710  }
  3711  
  3712  // Error returns any retrieval or parsing error occurred during filtering.
  3713  func (it *BindingUriFallbackUpdatedIterator) Error() error {
  3714  	return it.fail
  3715  }
  3716  
  3717  // Close terminates the iteration process, releasing any pending underlying
  3718  // resources.
  3719  func (it *BindingUriFallbackUpdatedIterator) Close() error {
  3720  	it.sub.Unsubscribe()
  3721  	return nil
  3722  }
  3723  
  3724  // BindingUriFallbackUpdated represents a UriFallbackUpdated event raised by the Binding contract.
  3725  type BindingUriFallbackUpdated struct {
  3726  	Previous string
  3727  	Updated  string
  3728  	Raw      types.Log // Blockchain specific contextual infos
  3729  }
  3730  
  3731  // FilterUriFallbackUpdated is a free log retrieval operation binding the contract event 0xe1b7ff5efe58018e39b7877b5cfa772bb90f32504be7b2330b078d2a9b114bbe.
  3732  //
  3733  // Solidity: event UriFallbackUpdated(string previous, string updated)
  3734  func (_Binding *BindingFilterer) FilterUriFallbackUpdated(opts *bind.FilterOpts) (*BindingUriFallbackUpdatedIterator, error) {
  3735  
  3736  	logs, sub, err := _Binding.contract.FilterLogs(opts, "UriFallbackUpdated")
  3737  	if err != nil {
  3738  		return nil, err
  3739  	}
  3740  	return &BindingUriFallbackUpdatedIterator{contract: _Binding.contract, event: "UriFallbackUpdated", logs: logs, sub: sub}, nil
  3741  }
  3742  
  3743  // WatchUriFallbackUpdated is a free log subscription operation binding the contract event 0xe1b7ff5efe58018e39b7877b5cfa772bb90f32504be7b2330b078d2a9b114bbe.
  3744  //
  3745  // Solidity: event UriFallbackUpdated(string previous, string updated)
  3746  func (_Binding *BindingFilterer) WatchUriFallbackUpdated(opts *bind.WatchOpts, sink chan<- *BindingUriFallbackUpdated) (event.Subscription, error) {
  3747  
  3748  	logs, sub, err := _Binding.contract.WatchLogs(opts, "UriFallbackUpdated")
  3749  	if err != nil {
  3750  		return nil, err
  3751  	}
  3752  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3753  		defer sub.Unsubscribe()
  3754  		for {
  3755  			select {
  3756  			case log := <-logs:
  3757  				// New log arrived, parse the event and forward to the user
  3758  				event := new(BindingUriFallbackUpdated)
  3759  				if err := _Binding.contract.UnpackLog(event, "UriFallbackUpdated", log); err != nil {
  3760  					return err
  3761  				}
  3762  				event.Raw = log
  3763  
  3764  				select {
  3765  				case sink <- event:
  3766  				case err := <-sub.Err():
  3767  					return err
  3768  				case <-quit:
  3769  					return nil
  3770  				}
  3771  			case err := <-sub.Err():
  3772  				return err
  3773  			case <-quit:
  3774  				return nil
  3775  			}
  3776  		}
  3777  	}), nil
  3778  }
  3779  
  3780  // ParseUriFallbackUpdated is a log parse operation binding the contract event 0xe1b7ff5efe58018e39b7877b5cfa772bb90f32504be7b2330b078d2a9b114bbe.
  3781  //
  3782  // Solidity: event UriFallbackUpdated(string previous, string updated)
  3783  func (_Binding *BindingFilterer) ParseUriFallbackUpdated(log types.Log) (*BindingUriFallbackUpdated, error) {
  3784  	event := new(BindingUriFallbackUpdated)
  3785  	if err := _Binding.contract.UnpackLog(event, "UriFallbackUpdated", log); err != nil {
  3786  		return nil, err
  3787  	}
  3788  	event.Raw = log
  3789  	return event, nil
  3790  }
  3791  
  3792  // BindingUriUpdatedIterator is returned from FilterUriUpdated and is used to iterate over the raw logs and unpacked data for UriUpdated events raised by the Binding contract.
  3793  type BindingUriUpdatedIterator struct {
  3794  	Event *BindingUriUpdated // Event containing the contract specifics and raw log
  3795  
  3796  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  3797  	event    string              // Event name to use for unpacking event data
  3798  
  3799  	logs chan types.Log        // Log channel receiving the found contract events
  3800  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  3801  	done bool                  // Whether the subscription completed delivering logs
  3802  	fail error                 // Occurred error to stop iteration
  3803  }
  3804  
  3805  // Next advances the iterator to the subsequent event, returning whether there
  3806  // are any more events found. In case of a retrieval or parsing error, false is
  3807  // returned and Error() can be queried for the exact failure.
  3808  func (it *BindingUriUpdatedIterator) Next() bool {
  3809  	// If the iterator failed, stop iterating
  3810  	if it.fail != nil {
  3811  		return false
  3812  	}
  3813  	// If the iterator completed, deliver directly whatever's available
  3814  	if it.done {
  3815  		select {
  3816  		case log := <-it.logs:
  3817  			it.Event = new(BindingUriUpdated)
  3818  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3819  				it.fail = err
  3820  				return false
  3821  			}
  3822  			it.Event.Raw = log
  3823  			return true
  3824  
  3825  		default:
  3826  			return false
  3827  		}
  3828  	}
  3829  	// Iterator still in progress, wait for either a data or an error event
  3830  	select {
  3831  	case log := <-it.logs:
  3832  		it.Event = new(BindingUriUpdated)
  3833  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3834  			it.fail = err
  3835  			return false
  3836  		}
  3837  		it.Event.Raw = log
  3838  		return true
  3839  
  3840  	case err := <-it.sub.Err():
  3841  		it.done = true
  3842  		it.fail = err
  3843  		return it.Next()
  3844  	}
  3845  }
  3846  
  3847  // Error returns any retrieval or parsing error occurred during filtering.
  3848  func (it *BindingUriUpdatedIterator) Error() error {
  3849  	return it.fail
  3850  }
  3851  
  3852  // Close terminates the iteration process, releasing any pending underlying
  3853  // resources.
  3854  func (it *BindingUriUpdatedIterator) Close() error {
  3855  	it.sub.Unsubscribe()
  3856  	return nil
  3857  }
  3858  
  3859  // BindingUriUpdated represents a UriUpdated event raised by the Binding contract.
  3860  type BindingUriUpdated struct {
  3861  	Previous string
  3862  	Updated  string
  3863  	Raw      types.Log // Blockchain specific contextual infos
  3864  }
  3865  
  3866  // FilterUriUpdated is a free log retrieval operation binding the contract event 0x7d8ebb5abe647a67ba3a2649e11557ae5aa256cf3449245e0c840c98132e5a37.
  3867  //
  3868  // Solidity: event UriUpdated(string previous, string updated)
  3869  func (_Binding *BindingFilterer) FilterUriUpdated(opts *bind.FilterOpts) (*BindingUriUpdatedIterator, error) {
  3870  
  3871  	logs, sub, err := _Binding.contract.FilterLogs(opts, "UriUpdated")
  3872  	if err != nil {
  3873  		return nil, err
  3874  	}
  3875  	return &BindingUriUpdatedIterator{contract: _Binding.contract, event: "UriUpdated", logs: logs, sub: sub}, nil
  3876  }
  3877  
  3878  // WatchUriUpdated is a free log subscription operation binding the contract event 0x7d8ebb5abe647a67ba3a2649e11557ae5aa256cf3449245e0c840c98132e5a37.
  3879  //
  3880  // Solidity: event UriUpdated(string previous, string updated)
  3881  func (_Binding *BindingFilterer) WatchUriUpdated(opts *bind.WatchOpts, sink chan<- *BindingUriUpdated) (event.Subscription, error) {
  3882  
  3883  	logs, sub, err := _Binding.contract.WatchLogs(opts, "UriUpdated")
  3884  	if err != nil {
  3885  		return nil, err
  3886  	}
  3887  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3888  		defer sub.Unsubscribe()
  3889  		for {
  3890  			select {
  3891  			case log := <-logs:
  3892  				// New log arrived, parse the event and forward to the user
  3893  				event := new(BindingUriUpdated)
  3894  				if err := _Binding.contract.UnpackLog(event, "UriUpdated", log); err != nil {
  3895  					return err
  3896  				}
  3897  				event.Raw = log
  3898  
  3899  				select {
  3900  				case sink <- event:
  3901  				case err := <-sub.Err():
  3902  					return err
  3903  				case <-quit:
  3904  					return nil
  3905  				}
  3906  			case err := <-sub.Err():
  3907  				return err
  3908  			case <-quit:
  3909  				return nil
  3910  			}
  3911  		}
  3912  	}), nil
  3913  }
  3914  
  3915  // ParseUriUpdated is a log parse operation binding the contract event 0x7d8ebb5abe647a67ba3a2649e11557ae5aa256cf3449245e0c840c98132e5a37.
  3916  //
  3917  // Solidity: event UriUpdated(string previous, string updated)
  3918  func (_Binding *BindingFilterer) ParseUriUpdated(log types.Log) (*BindingUriUpdated, error) {
  3919  	event := new(BindingUriUpdated)
  3920  	if err := _Binding.contract.UnpackLog(event, "UriUpdated", log); err != nil {
  3921  		return nil, err
  3922  	}
  3923  	event.Raw = log
  3924  	return event, nil
  3925  }