github.com/diadata-org/diadata@v1.4.593/config/nftContracts/erc1155/erc1155.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 erc1155
     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  // Erc1155MetaData contains all meta data concerning the Erc1155 contract.
    32  var Erc1155MetaData = &bind.MetaData{
    33  	ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"uri_\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_youTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_justTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_winTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"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\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnerNominated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"JustTokenAddress\",\"outputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"WinTokenAddress\",\"outputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"YouTokenAddress\",\"outputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"burnBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"burnNReceiveNFT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_Uri\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"create\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_Uri\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"youTokensToBurn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"justTokensToBurn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"winTokensToBurn\",\"type\":\"uint256\"}],\"name\":\"createToFarm\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getTokensToBurnForNFT\",\"outputs\":[{\"internalType\":\"uint256[3]\",\"name\":\"\",\"type\":\"uint256[3]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_quantity\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"nominateNewOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nominatedOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"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\":\"_newBaseMetadataURI\",\"type\":\"string\"}],\"name\":\"setBaseMetadataURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
    34  }
    35  
    36  // Erc1155ABI is the input ABI used to generate the binding from.
    37  // Deprecated: Use Erc1155MetaData.ABI instead.
    38  var Erc1155ABI = Erc1155MetaData.ABI
    39  
    40  // Erc1155 is an auto generated Go binding around an Ethereum contract.
    41  type Erc1155 struct {
    42  	Erc1155Caller     // Read-only binding to the contract
    43  	Erc1155Transactor // Write-only binding to the contract
    44  	Erc1155Filterer   // Log filterer for contract events
    45  }
    46  
    47  // Erc1155Caller is an auto generated read-only Go binding around an Ethereum contract.
    48  type Erc1155Caller struct {
    49  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    50  }
    51  
    52  // Erc1155Transactor is an auto generated write-only Go binding around an Ethereum contract.
    53  type Erc1155Transactor struct {
    54  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    55  }
    56  
    57  // Erc1155Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
    58  type Erc1155Filterer struct {
    59  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    60  }
    61  
    62  // Erc1155Session is an auto generated Go binding around an Ethereum contract,
    63  // with pre-set call and transact options.
    64  type Erc1155Session struct {
    65  	Contract     *Erc1155          // Generic contract binding to set the session for
    66  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    67  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    68  }
    69  
    70  // Erc1155CallerSession is an auto generated read-only Go binding around an Ethereum contract,
    71  // with pre-set call options.
    72  type Erc1155CallerSession struct {
    73  	Contract *Erc1155Caller // Generic contract caller binding to set the session for
    74  	CallOpts bind.CallOpts  // Call options to use throughout this session
    75  }
    76  
    77  // Erc1155TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    78  // with pre-set transact options.
    79  type Erc1155TransactorSession struct {
    80  	Contract     *Erc1155Transactor // Generic contract transactor binding to set the session for
    81  	TransactOpts bind.TransactOpts  // Transaction auth options to use throughout this session
    82  }
    83  
    84  // Erc1155Raw is an auto generated low-level Go binding around an Ethereum contract.
    85  type Erc1155Raw struct {
    86  	Contract *Erc1155 // Generic contract binding to access the raw methods on
    87  }
    88  
    89  // Erc1155CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
    90  type Erc1155CallerRaw struct {
    91  	Contract *Erc1155Caller // Generic read-only contract binding to access the raw methods on
    92  }
    93  
    94  // Erc1155TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
    95  type Erc1155TransactorRaw struct {
    96  	Contract *Erc1155Transactor // Generic write-only contract binding to access the raw methods on
    97  }
    98  
    99  // NewErc1155 creates a new instance of Erc1155, bound to a specific deployed contract.
   100  func NewErc1155(address common.Address, backend bind.ContractBackend) (*Erc1155, error) {
   101  	contract, err := bindErc1155(address, backend, backend, backend)
   102  	if err != nil {
   103  		return nil, err
   104  	}
   105  	return &Erc1155{Erc1155Caller: Erc1155Caller{contract: contract}, Erc1155Transactor: Erc1155Transactor{contract: contract}, Erc1155Filterer: Erc1155Filterer{contract: contract}}, nil
   106  }
   107  
   108  // NewErc1155Caller creates a new read-only instance of Erc1155, bound to a specific deployed contract.
   109  func NewErc1155Caller(address common.Address, caller bind.ContractCaller) (*Erc1155Caller, error) {
   110  	contract, err := bindErc1155(address, caller, nil, nil)
   111  	if err != nil {
   112  		return nil, err
   113  	}
   114  	return &Erc1155Caller{contract: contract}, nil
   115  }
   116  
   117  // NewErc1155Transactor creates a new write-only instance of Erc1155, bound to a specific deployed contract.
   118  func NewErc1155Transactor(address common.Address, transactor bind.ContractTransactor) (*Erc1155Transactor, error) {
   119  	contract, err := bindErc1155(address, nil, transactor, nil)
   120  	if err != nil {
   121  		return nil, err
   122  	}
   123  	return &Erc1155Transactor{contract: contract}, nil
   124  }
   125  
   126  // NewErc1155Filterer creates a new log filterer instance of Erc1155, bound to a specific deployed contract.
   127  func NewErc1155Filterer(address common.Address, filterer bind.ContractFilterer) (*Erc1155Filterer, error) {
   128  	contract, err := bindErc1155(address, nil, nil, filterer)
   129  	if err != nil {
   130  		return nil, err
   131  	}
   132  	return &Erc1155Filterer{contract: contract}, nil
   133  }
   134  
   135  // bindErc1155 binds a generic wrapper to an already deployed contract.
   136  func bindErc1155(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   137  	parsed, err := abi.JSON(strings.NewReader(Erc1155ABI))
   138  	if err != nil {
   139  		return nil, err
   140  	}
   141  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
   142  }
   143  
   144  // Call invokes the (constant) contract method with params as input values and
   145  // sets the output to result. The result type might be a single field for simple
   146  // returns, a slice of interfaces for anonymous returns and a struct for named
   147  // returns.
   148  func (_Erc1155 *Erc1155Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   149  	return _Erc1155.Contract.Erc1155Caller.contract.Call(opts, result, method, params...)
   150  }
   151  
   152  // Transfer initiates a plain transaction to move funds to the contract, calling
   153  // its default method if one is available.
   154  func (_Erc1155 *Erc1155Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   155  	return _Erc1155.Contract.Erc1155Transactor.contract.Transfer(opts)
   156  }
   157  
   158  // Transact invokes the (paid) contract method with params as input values.
   159  func (_Erc1155 *Erc1155Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   160  	return _Erc1155.Contract.Erc1155Transactor.contract.Transact(opts, method, params...)
   161  }
   162  
   163  // Call invokes the (constant) contract method with params as input values and
   164  // sets the output to result. The result type might be a single field for simple
   165  // returns, a slice of interfaces for anonymous returns and a struct for named
   166  // returns.
   167  func (_Erc1155 *Erc1155CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   168  	return _Erc1155.Contract.contract.Call(opts, result, method, params...)
   169  }
   170  
   171  // Transfer initiates a plain transaction to move funds to the contract, calling
   172  // its default method if one is available.
   173  func (_Erc1155 *Erc1155TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   174  	return _Erc1155.Contract.contract.Transfer(opts)
   175  }
   176  
   177  // Transact invokes the (paid) contract method with params as input values.
   178  func (_Erc1155 *Erc1155TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   179  	return _Erc1155.Contract.contract.Transact(opts, method, params...)
   180  }
   181  
   182  // JustTokenAddress is a free data retrieval call binding the contract method 0xb9c29221.
   183  //
   184  // Solidity: function JustTokenAddress() view returns(address)
   185  func (_Erc1155 *Erc1155Caller) JustTokenAddress(opts *bind.CallOpts) (common.Address, error) {
   186  	var out []interface{}
   187  	err := _Erc1155.contract.Call(opts, &out, "JustTokenAddress")
   188  
   189  	if err != nil {
   190  		return *new(common.Address), err
   191  	}
   192  
   193  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   194  
   195  	return out0, err
   196  
   197  }
   198  
   199  // JustTokenAddress is a free data retrieval call binding the contract method 0xb9c29221.
   200  //
   201  // Solidity: function JustTokenAddress() view returns(address)
   202  func (_Erc1155 *Erc1155Session) JustTokenAddress() (common.Address, error) {
   203  	return _Erc1155.Contract.JustTokenAddress(&_Erc1155.CallOpts)
   204  }
   205  
   206  // JustTokenAddress is a free data retrieval call binding the contract method 0xb9c29221.
   207  //
   208  // Solidity: function JustTokenAddress() view returns(address)
   209  func (_Erc1155 *Erc1155CallerSession) JustTokenAddress() (common.Address, error) {
   210  	return _Erc1155.Contract.JustTokenAddress(&_Erc1155.CallOpts)
   211  }
   212  
   213  // WinTokenAddress is a free data retrieval call binding the contract method 0x4766ac77.
   214  //
   215  // Solidity: function WinTokenAddress() view returns(address)
   216  func (_Erc1155 *Erc1155Caller) WinTokenAddress(opts *bind.CallOpts) (common.Address, error) {
   217  	var out []interface{}
   218  	err := _Erc1155.contract.Call(opts, &out, "WinTokenAddress")
   219  
   220  	if err != nil {
   221  		return *new(common.Address), err
   222  	}
   223  
   224  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   225  
   226  	return out0, err
   227  
   228  }
   229  
   230  // WinTokenAddress is a free data retrieval call binding the contract method 0x4766ac77.
   231  //
   232  // Solidity: function WinTokenAddress() view returns(address)
   233  func (_Erc1155 *Erc1155Session) WinTokenAddress() (common.Address, error) {
   234  	return _Erc1155.Contract.WinTokenAddress(&_Erc1155.CallOpts)
   235  }
   236  
   237  // WinTokenAddress is a free data retrieval call binding the contract method 0x4766ac77.
   238  //
   239  // Solidity: function WinTokenAddress() view returns(address)
   240  func (_Erc1155 *Erc1155CallerSession) WinTokenAddress() (common.Address, error) {
   241  	return _Erc1155.Contract.WinTokenAddress(&_Erc1155.CallOpts)
   242  }
   243  
   244  // YouTokenAddress is a free data retrieval call binding the contract method 0x89add238.
   245  //
   246  // Solidity: function YouTokenAddress() view returns(address)
   247  func (_Erc1155 *Erc1155Caller) YouTokenAddress(opts *bind.CallOpts) (common.Address, error) {
   248  	var out []interface{}
   249  	err := _Erc1155.contract.Call(opts, &out, "YouTokenAddress")
   250  
   251  	if err != nil {
   252  		return *new(common.Address), err
   253  	}
   254  
   255  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   256  
   257  	return out0, err
   258  
   259  }
   260  
   261  // YouTokenAddress is a free data retrieval call binding the contract method 0x89add238.
   262  //
   263  // Solidity: function YouTokenAddress() view returns(address)
   264  func (_Erc1155 *Erc1155Session) YouTokenAddress() (common.Address, error) {
   265  	return _Erc1155.Contract.YouTokenAddress(&_Erc1155.CallOpts)
   266  }
   267  
   268  // YouTokenAddress is a free data retrieval call binding the contract method 0x89add238.
   269  //
   270  // Solidity: function YouTokenAddress() view returns(address)
   271  func (_Erc1155 *Erc1155CallerSession) YouTokenAddress() (common.Address, error) {
   272  	return _Erc1155.Contract.YouTokenAddress(&_Erc1155.CallOpts)
   273  }
   274  
   275  // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
   276  //
   277  // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
   278  func (_Erc1155 *Erc1155Caller) BalanceOf(opts *bind.CallOpts, account common.Address, id *big.Int) (*big.Int, error) {
   279  	var out []interface{}
   280  	err := _Erc1155.contract.Call(opts, &out, "balanceOf", account, id)
   281  
   282  	if err != nil {
   283  		return *new(*big.Int), err
   284  	}
   285  
   286  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   287  
   288  	return out0, err
   289  
   290  }
   291  
   292  // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
   293  //
   294  // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
   295  func (_Erc1155 *Erc1155Session) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
   296  	return _Erc1155.Contract.BalanceOf(&_Erc1155.CallOpts, account, id)
   297  }
   298  
   299  // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
   300  //
   301  // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
   302  func (_Erc1155 *Erc1155CallerSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
   303  	return _Erc1155.Contract.BalanceOf(&_Erc1155.CallOpts, account, id)
   304  }
   305  
   306  // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
   307  //
   308  // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
   309  func (_Erc1155 *Erc1155Caller) BalanceOfBatch(opts *bind.CallOpts, accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
   310  	var out []interface{}
   311  	err := _Erc1155.contract.Call(opts, &out, "balanceOfBatch", accounts, ids)
   312  
   313  	if err != nil {
   314  		return *new([]*big.Int), err
   315  	}
   316  
   317  	out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int)
   318  
   319  	return out0, err
   320  
   321  }
   322  
   323  // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
   324  //
   325  // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
   326  func (_Erc1155 *Erc1155Session) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
   327  	return _Erc1155.Contract.BalanceOfBatch(&_Erc1155.CallOpts, accounts, ids)
   328  }
   329  
   330  // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
   331  //
   332  // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
   333  func (_Erc1155 *Erc1155CallerSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
   334  	return _Erc1155.Contract.BalanceOfBatch(&_Erc1155.CallOpts, accounts, ids)
   335  }
   336  
   337  // GetTokensToBurnForNFT is a free data retrieval call binding the contract method 0xa53d2929.
   338  //
   339  // Solidity: function getTokensToBurnForNFT(uint256 id) view returns(uint256[3])
   340  func (_Erc1155 *Erc1155Caller) GetTokensToBurnForNFT(opts *bind.CallOpts, id *big.Int) ([3]*big.Int, error) {
   341  	var out []interface{}
   342  	err := _Erc1155.contract.Call(opts, &out, "getTokensToBurnForNFT", id)
   343  
   344  	if err != nil {
   345  		return *new([3]*big.Int), err
   346  	}
   347  
   348  	out0 := *abi.ConvertType(out[0], new([3]*big.Int)).(*[3]*big.Int)
   349  
   350  	return out0, err
   351  
   352  }
   353  
   354  // GetTokensToBurnForNFT is a free data retrieval call binding the contract method 0xa53d2929.
   355  //
   356  // Solidity: function getTokensToBurnForNFT(uint256 id) view returns(uint256[3])
   357  func (_Erc1155 *Erc1155Session) GetTokensToBurnForNFT(id *big.Int) ([3]*big.Int, error) {
   358  	return _Erc1155.Contract.GetTokensToBurnForNFT(&_Erc1155.CallOpts, id)
   359  }
   360  
   361  // GetTokensToBurnForNFT is a free data retrieval call binding the contract method 0xa53d2929.
   362  //
   363  // Solidity: function getTokensToBurnForNFT(uint256 id) view returns(uint256[3])
   364  func (_Erc1155 *Erc1155CallerSession) GetTokensToBurnForNFT(id *big.Int) ([3]*big.Int, error) {
   365  	return _Erc1155.Contract.GetTokensToBurnForNFT(&_Erc1155.CallOpts, id)
   366  }
   367  
   368  // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
   369  //
   370  // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
   371  func (_Erc1155 *Erc1155Caller) IsApprovedForAll(opts *bind.CallOpts, account common.Address, operator common.Address) (bool, error) {
   372  	var out []interface{}
   373  	err := _Erc1155.contract.Call(opts, &out, "isApprovedForAll", account, operator)
   374  
   375  	if err != nil {
   376  		return *new(bool), err
   377  	}
   378  
   379  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   380  
   381  	return out0, err
   382  
   383  }
   384  
   385  // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
   386  //
   387  // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
   388  func (_Erc1155 *Erc1155Session) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) {
   389  	return _Erc1155.Contract.IsApprovedForAll(&_Erc1155.CallOpts, account, operator)
   390  }
   391  
   392  // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
   393  //
   394  // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
   395  func (_Erc1155 *Erc1155CallerSession) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) {
   396  	return _Erc1155.Contract.IsApprovedForAll(&_Erc1155.CallOpts, account, operator)
   397  }
   398  
   399  // NominatedOwner is a free data retrieval call binding the contract method 0x53a47bb7.
   400  //
   401  // Solidity: function nominatedOwner() view returns(address)
   402  func (_Erc1155 *Erc1155Caller) NominatedOwner(opts *bind.CallOpts) (common.Address, error) {
   403  	var out []interface{}
   404  	err := _Erc1155.contract.Call(opts, &out, "nominatedOwner")
   405  
   406  	if err != nil {
   407  		return *new(common.Address), err
   408  	}
   409  
   410  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   411  
   412  	return out0, err
   413  
   414  }
   415  
   416  // NominatedOwner is a free data retrieval call binding the contract method 0x53a47bb7.
   417  //
   418  // Solidity: function nominatedOwner() view returns(address)
   419  func (_Erc1155 *Erc1155Session) NominatedOwner() (common.Address, error) {
   420  	return _Erc1155.Contract.NominatedOwner(&_Erc1155.CallOpts)
   421  }
   422  
   423  // NominatedOwner is a free data retrieval call binding the contract method 0x53a47bb7.
   424  //
   425  // Solidity: function nominatedOwner() view returns(address)
   426  func (_Erc1155 *Erc1155CallerSession) NominatedOwner() (common.Address, error) {
   427  	return _Erc1155.Contract.NominatedOwner(&_Erc1155.CallOpts)
   428  }
   429  
   430  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   431  //
   432  // Solidity: function owner() view returns(address)
   433  func (_Erc1155 *Erc1155Caller) Owner(opts *bind.CallOpts) (common.Address, error) {
   434  	var out []interface{}
   435  	err := _Erc1155.contract.Call(opts, &out, "owner")
   436  
   437  	if err != nil {
   438  		return *new(common.Address), err
   439  	}
   440  
   441  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   442  
   443  	return out0, err
   444  
   445  }
   446  
   447  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   448  //
   449  // Solidity: function owner() view returns(address)
   450  func (_Erc1155 *Erc1155Session) Owner() (common.Address, error) {
   451  	return _Erc1155.Contract.Owner(&_Erc1155.CallOpts)
   452  }
   453  
   454  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   455  //
   456  // Solidity: function owner() view returns(address)
   457  func (_Erc1155 *Erc1155CallerSession) Owner() (common.Address, error) {
   458  	return _Erc1155.Contract.Owner(&_Erc1155.CallOpts)
   459  }
   460  
   461  // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
   462  //
   463  // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
   464  func (_Erc1155 *Erc1155Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
   465  	var out []interface{}
   466  	err := _Erc1155.contract.Call(opts, &out, "supportsInterface", interfaceId)
   467  
   468  	if err != nil {
   469  		return *new(bool), err
   470  	}
   471  
   472  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   473  
   474  	return out0, err
   475  
   476  }
   477  
   478  // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
   479  //
   480  // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
   481  func (_Erc1155 *Erc1155Session) SupportsInterface(interfaceId [4]byte) (bool, error) {
   482  	return _Erc1155.Contract.SupportsInterface(&_Erc1155.CallOpts, interfaceId)
   483  }
   484  
   485  // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
   486  //
   487  // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
   488  func (_Erc1155 *Erc1155CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
   489  	return _Erc1155.Contract.SupportsInterface(&_Erc1155.CallOpts, interfaceId)
   490  }
   491  
   492  // TotalSupply is a free data retrieval call binding the contract method 0xbd85b039.
   493  //
   494  // Solidity: function totalSupply(uint256 _id) view returns(uint256)
   495  func (_Erc1155 *Erc1155Caller) TotalSupply(opts *bind.CallOpts, _id *big.Int) (*big.Int, error) {
   496  	var out []interface{}
   497  	err := _Erc1155.contract.Call(opts, &out, "totalSupply", _id)
   498  
   499  	if err != nil {
   500  		return *new(*big.Int), err
   501  	}
   502  
   503  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   504  
   505  	return out0, err
   506  
   507  }
   508  
   509  // TotalSupply is a free data retrieval call binding the contract method 0xbd85b039.
   510  //
   511  // Solidity: function totalSupply(uint256 _id) view returns(uint256)
   512  func (_Erc1155 *Erc1155Session) TotalSupply(_id *big.Int) (*big.Int, error) {
   513  	return _Erc1155.Contract.TotalSupply(&_Erc1155.CallOpts, _id)
   514  }
   515  
   516  // TotalSupply is a free data retrieval call binding the contract method 0xbd85b039.
   517  //
   518  // Solidity: function totalSupply(uint256 _id) view returns(uint256)
   519  func (_Erc1155 *Erc1155CallerSession) TotalSupply(_id *big.Int) (*big.Int, error) {
   520  	return _Erc1155.Contract.TotalSupply(&_Erc1155.CallOpts, _id)
   521  }
   522  
   523  // Uri is a free data retrieval call binding the contract method 0x0e89341c.
   524  //
   525  // Solidity: function uri(uint256 _tokenId) view returns(string)
   526  func (_Erc1155 *Erc1155Caller) Uri(opts *bind.CallOpts, _tokenId *big.Int) (string, error) {
   527  	var out []interface{}
   528  	err := _Erc1155.contract.Call(opts, &out, "uri", _tokenId)
   529  
   530  	if err != nil {
   531  		return *new(string), err
   532  	}
   533  
   534  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   535  
   536  	return out0, err
   537  
   538  }
   539  
   540  // Uri is a free data retrieval call binding the contract method 0x0e89341c.
   541  //
   542  // Solidity: function uri(uint256 _tokenId) view returns(string)
   543  func (_Erc1155 *Erc1155Session) Uri(_tokenId *big.Int) (string, error) {
   544  	return _Erc1155.Contract.Uri(&_Erc1155.CallOpts, _tokenId)
   545  }
   546  
   547  // Uri is a free data retrieval call binding the contract method 0x0e89341c.
   548  //
   549  // Solidity: function uri(uint256 _tokenId) view returns(string)
   550  func (_Erc1155 *Erc1155CallerSession) Uri(_tokenId *big.Int) (string, error) {
   551  	return _Erc1155.Contract.Uri(&_Erc1155.CallOpts, _tokenId)
   552  }
   553  
   554  // AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097.
   555  //
   556  // Solidity: function acceptOwnership() returns()
   557  func (_Erc1155 *Erc1155Transactor) AcceptOwnership(opts *bind.TransactOpts) (*types.Transaction, error) {
   558  	return _Erc1155.contract.Transact(opts, "acceptOwnership")
   559  }
   560  
   561  // AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097.
   562  //
   563  // Solidity: function acceptOwnership() returns()
   564  func (_Erc1155 *Erc1155Session) AcceptOwnership() (*types.Transaction, error) {
   565  	return _Erc1155.Contract.AcceptOwnership(&_Erc1155.TransactOpts)
   566  }
   567  
   568  // AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097.
   569  //
   570  // Solidity: function acceptOwnership() returns()
   571  func (_Erc1155 *Erc1155TransactorSession) AcceptOwnership() (*types.Transaction, error) {
   572  	return _Erc1155.Contract.AcceptOwnership(&_Erc1155.TransactOpts)
   573  }
   574  
   575  // Burn is a paid mutator transaction binding the contract method 0xf5298aca.
   576  //
   577  // Solidity: function burn(address account, uint256 id, uint256 value) returns()
   578  func (_Erc1155 *Erc1155Transactor) Burn(opts *bind.TransactOpts, account common.Address, id *big.Int, value *big.Int) (*types.Transaction, error) {
   579  	return _Erc1155.contract.Transact(opts, "burn", account, id, value)
   580  }
   581  
   582  // Burn is a paid mutator transaction binding the contract method 0xf5298aca.
   583  //
   584  // Solidity: function burn(address account, uint256 id, uint256 value) returns()
   585  func (_Erc1155 *Erc1155Session) Burn(account common.Address, id *big.Int, value *big.Int) (*types.Transaction, error) {
   586  	return _Erc1155.Contract.Burn(&_Erc1155.TransactOpts, account, id, value)
   587  }
   588  
   589  // Burn is a paid mutator transaction binding the contract method 0xf5298aca.
   590  //
   591  // Solidity: function burn(address account, uint256 id, uint256 value) returns()
   592  func (_Erc1155 *Erc1155TransactorSession) Burn(account common.Address, id *big.Int, value *big.Int) (*types.Transaction, error) {
   593  	return _Erc1155.Contract.Burn(&_Erc1155.TransactOpts, account, id, value)
   594  }
   595  
   596  // BurnBatch is a paid mutator transaction binding the contract method 0x6b20c454.
   597  //
   598  // Solidity: function burnBatch(address account, uint256[] ids, uint256[] values) returns()
   599  func (_Erc1155 *Erc1155Transactor) BurnBatch(opts *bind.TransactOpts, account common.Address, ids []*big.Int, values []*big.Int) (*types.Transaction, error) {
   600  	return _Erc1155.contract.Transact(opts, "burnBatch", account, ids, values)
   601  }
   602  
   603  // BurnBatch is a paid mutator transaction binding the contract method 0x6b20c454.
   604  //
   605  // Solidity: function burnBatch(address account, uint256[] ids, uint256[] values) returns()
   606  func (_Erc1155 *Erc1155Session) BurnBatch(account common.Address, ids []*big.Int, values []*big.Int) (*types.Transaction, error) {
   607  	return _Erc1155.Contract.BurnBatch(&_Erc1155.TransactOpts, account, ids, values)
   608  }
   609  
   610  // BurnBatch is a paid mutator transaction binding the contract method 0x6b20c454.
   611  //
   612  // Solidity: function burnBatch(address account, uint256[] ids, uint256[] values) returns()
   613  func (_Erc1155 *Erc1155TransactorSession) BurnBatch(account common.Address, ids []*big.Int, values []*big.Int) (*types.Transaction, error) {
   614  	return _Erc1155.Contract.BurnBatch(&_Erc1155.TransactOpts, account, ids, values)
   615  }
   616  
   617  // BurnNReceiveNFT is a paid mutator transaction binding the contract method 0xf2b399ee.
   618  //
   619  // Solidity: function burnNReceiveNFT(uint256 _id) returns(bool)
   620  func (_Erc1155 *Erc1155Transactor) BurnNReceiveNFT(opts *bind.TransactOpts, _id *big.Int) (*types.Transaction, error) {
   621  	return _Erc1155.contract.Transact(opts, "burnNReceiveNFT", _id)
   622  }
   623  
   624  // BurnNReceiveNFT is a paid mutator transaction binding the contract method 0xf2b399ee.
   625  //
   626  // Solidity: function burnNReceiveNFT(uint256 _id) returns(bool)
   627  func (_Erc1155 *Erc1155Session) BurnNReceiveNFT(_id *big.Int) (*types.Transaction, error) {
   628  	return _Erc1155.Contract.BurnNReceiveNFT(&_Erc1155.TransactOpts, _id)
   629  }
   630  
   631  // BurnNReceiveNFT is a paid mutator transaction binding the contract method 0xf2b399ee.
   632  //
   633  // Solidity: function burnNReceiveNFT(uint256 _id) returns(bool)
   634  func (_Erc1155 *Erc1155TransactorSession) BurnNReceiveNFT(_id *big.Int) (*types.Transaction, error) {
   635  	return _Erc1155.Contract.BurnNReceiveNFT(&_Erc1155.TransactOpts, _id)
   636  }
   637  
   638  // Create is a paid mutator transaction binding the contract method 0xe38e3b24.
   639  //
   640  // Solidity: function create(address _to, uint256 _initialSupply, string _Uri, bytes _data) returns(uint256)
   641  func (_Erc1155 *Erc1155Transactor) Create(opts *bind.TransactOpts, _to common.Address, _initialSupply *big.Int, _Uri string, _data []byte) (*types.Transaction, error) {
   642  	return _Erc1155.contract.Transact(opts, "create", _to, _initialSupply, _Uri, _data)
   643  }
   644  
   645  // Create is a paid mutator transaction binding the contract method 0xe38e3b24.
   646  //
   647  // Solidity: function create(address _to, uint256 _initialSupply, string _Uri, bytes _data) returns(uint256)
   648  func (_Erc1155 *Erc1155Session) Create(_to common.Address, _initialSupply *big.Int, _Uri string, _data []byte) (*types.Transaction, error) {
   649  	return _Erc1155.Contract.Create(&_Erc1155.TransactOpts, _to, _initialSupply, _Uri, _data)
   650  }
   651  
   652  // Create is a paid mutator transaction binding the contract method 0xe38e3b24.
   653  //
   654  // Solidity: function create(address _to, uint256 _initialSupply, string _Uri, bytes _data) returns(uint256)
   655  func (_Erc1155 *Erc1155TransactorSession) Create(_to common.Address, _initialSupply *big.Int, _Uri string, _data []byte) (*types.Transaction, error) {
   656  	return _Erc1155.Contract.Create(&_Erc1155.TransactOpts, _to, _initialSupply, _Uri, _data)
   657  }
   658  
   659  // CreateToFarm is a paid mutator transaction binding the contract method 0x116ed561.
   660  //
   661  // Solidity: function createToFarm(uint256 _initialSupply, string _Uri, bytes _data, uint256 youTokensToBurn, uint256 justTokensToBurn, uint256 winTokensToBurn) returns(uint256)
   662  func (_Erc1155 *Erc1155Transactor) CreateToFarm(opts *bind.TransactOpts, _initialSupply *big.Int, _Uri string, _data []byte, youTokensToBurn *big.Int, justTokensToBurn *big.Int, winTokensToBurn *big.Int) (*types.Transaction, error) {
   663  	return _Erc1155.contract.Transact(opts, "createToFarm", _initialSupply, _Uri, _data, youTokensToBurn, justTokensToBurn, winTokensToBurn)
   664  }
   665  
   666  // CreateToFarm is a paid mutator transaction binding the contract method 0x116ed561.
   667  //
   668  // Solidity: function createToFarm(uint256 _initialSupply, string _Uri, bytes _data, uint256 youTokensToBurn, uint256 justTokensToBurn, uint256 winTokensToBurn) returns(uint256)
   669  func (_Erc1155 *Erc1155Session) CreateToFarm(_initialSupply *big.Int, _Uri string, _data []byte, youTokensToBurn *big.Int, justTokensToBurn *big.Int, winTokensToBurn *big.Int) (*types.Transaction, error) {
   670  	return _Erc1155.Contract.CreateToFarm(&_Erc1155.TransactOpts, _initialSupply, _Uri, _data, youTokensToBurn, justTokensToBurn, winTokensToBurn)
   671  }
   672  
   673  // CreateToFarm is a paid mutator transaction binding the contract method 0x116ed561.
   674  //
   675  // Solidity: function createToFarm(uint256 _initialSupply, string _Uri, bytes _data, uint256 youTokensToBurn, uint256 justTokensToBurn, uint256 winTokensToBurn) returns(uint256)
   676  func (_Erc1155 *Erc1155TransactorSession) CreateToFarm(_initialSupply *big.Int, _Uri string, _data []byte, youTokensToBurn *big.Int, justTokensToBurn *big.Int, winTokensToBurn *big.Int) (*types.Transaction, error) {
   677  	return _Erc1155.Contract.CreateToFarm(&_Erc1155.TransactOpts, _initialSupply, _Uri, _data, youTokensToBurn, justTokensToBurn, winTokensToBurn)
   678  }
   679  
   680  // Mint is a paid mutator transaction binding the contract method 0x08dc9f42.
   681  //
   682  // Solidity: function mint(uint256 _id, uint256 _quantity, bytes _data) returns()
   683  func (_Erc1155 *Erc1155Transactor) Mint(opts *bind.TransactOpts, _id *big.Int, _quantity *big.Int, _data []byte) (*types.Transaction, error) {
   684  	return _Erc1155.contract.Transact(opts, "mint", _id, _quantity, _data)
   685  }
   686  
   687  // Mint is a paid mutator transaction binding the contract method 0x08dc9f42.
   688  //
   689  // Solidity: function mint(uint256 _id, uint256 _quantity, bytes _data) returns()
   690  func (_Erc1155 *Erc1155Session) Mint(_id *big.Int, _quantity *big.Int, _data []byte) (*types.Transaction, error) {
   691  	return _Erc1155.Contract.Mint(&_Erc1155.TransactOpts, _id, _quantity, _data)
   692  }
   693  
   694  // Mint is a paid mutator transaction binding the contract method 0x08dc9f42.
   695  //
   696  // Solidity: function mint(uint256 _id, uint256 _quantity, bytes _data) returns()
   697  func (_Erc1155 *Erc1155TransactorSession) Mint(_id *big.Int, _quantity *big.Int, _data []byte) (*types.Transaction, error) {
   698  	return _Erc1155.Contract.Mint(&_Erc1155.TransactOpts, _id, _quantity, _data)
   699  }
   700  
   701  // NominateNewOwner is a paid mutator transaction binding the contract method 0x1627540c.
   702  //
   703  // Solidity: function nominateNewOwner(address _owner) returns()
   704  func (_Erc1155 *Erc1155Transactor) NominateNewOwner(opts *bind.TransactOpts, _owner common.Address) (*types.Transaction, error) {
   705  	return _Erc1155.contract.Transact(opts, "nominateNewOwner", _owner)
   706  }
   707  
   708  // NominateNewOwner is a paid mutator transaction binding the contract method 0x1627540c.
   709  //
   710  // Solidity: function nominateNewOwner(address _owner) returns()
   711  func (_Erc1155 *Erc1155Session) NominateNewOwner(_owner common.Address) (*types.Transaction, error) {
   712  	return _Erc1155.Contract.NominateNewOwner(&_Erc1155.TransactOpts, _owner)
   713  }
   714  
   715  // NominateNewOwner is a paid mutator transaction binding the contract method 0x1627540c.
   716  //
   717  // Solidity: function nominateNewOwner(address _owner) returns()
   718  func (_Erc1155 *Erc1155TransactorSession) NominateNewOwner(_owner common.Address) (*types.Transaction, error) {
   719  	return _Erc1155.Contract.NominateNewOwner(&_Erc1155.TransactOpts, _owner)
   720  }
   721  
   722  // OnERC1155BatchReceived is a paid mutator transaction binding the contract method 0xbc197c81.
   723  //
   724  // Solidity: function onERC1155BatchReceived(address , address , uint256[] , uint256[] , bytes ) returns(bytes4)
   725  func (_Erc1155 *Erc1155Transactor) OnERC1155BatchReceived(opts *bind.TransactOpts, arg0 common.Address, arg1 common.Address, arg2 []*big.Int, arg3 []*big.Int, arg4 []byte) (*types.Transaction, error) {
   726  	return _Erc1155.contract.Transact(opts, "onERC1155BatchReceived", arg0, arg1, arg2, arg3, arg4)
   727  }
   728  
   729  // OnERC1155BatchReceived is a paid mutator transaction binding the contract method 0xbc197c81.
   730  //
   731  // Solidity: function onERC1155BatchReceived(address , address , uint256[] , uint256[] , bytes ) returns(bytes4)
   732  func (_Erc1155 *Erc1155Session) OnERC1155BatchReceived(arg0 common.Address, arg1 common.Address, arg2 []*big.Int, arg3 []*big.Int, arg4 []byte) (*types.Transaction, error) {
   733  	return _Erc1155.Contract.OnERC1155BatchReceived(&_Erc1155.TransactOpts, arg0, arg1, arg2, arg3, arg4)
   734  }
   735  
   736  // OnERC1155BatchReceived is a paid mutator transaction binding the contract method 0xbc197c81.
   737  //
   738  // Solidity: function onERC1155BatchReceived(address , address , uint256[] , uint256[] , bytes ) returns(bytes4)
   739  func (_Erc1155 *Erc1155TransactorSession) OnERC1155BatchReceived(arg0 common.Address, arg1 common.Address, arg2 []*big.Int, arg3 []*big.Int, arg4 []byte) (*types.Transaction, error) {
   740  	return _Erc1155.Contract.OnERC1155BatchReceived(&_Erc1155.TransactOpts, arg0, arg1, arg2, arg3, arg4)
   741  }
   742  
   743  // OnERC1155Received is a paid mutator transaction binding the contract method 0xf23a6e61.
   744  //
   745  // Solidity: function onERC1155Received(address , address , uint256 , uint256 , bytes ) returns(bytes4)
   746  func (_Erc1155 *Erc1155Transactor) OnERC1155Received(opts *bind.TransactOpts, arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 *big.Int, arg4 []byte) (*types.Transaction, error) {
   747  	return _Erc1155.contract.Transact(opts, "onERC1155Received", arg0, arg1, arg2, arg3, arg4)
   748  }
   749  
   750  // OnERC1155Received is a paid mutator transaction binding the contract method 0xf23a6e61.
   751  //
   752  // Solidity: function onERC1155Received(address , address , uint256 , uint256 , bytes ) returns(bytes4)
   753  func (_Erc1155 *Erc1155Session) OnERC1155Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 *big.Int, arg4 []byte) (*types.Transaction, error) {
   754  	return _Erc1155.Contract.OnERC1155Received(&_Erc1155.TransactOpts, arg0, arg1, arg2, arg3, arg4)
   755  }
   756  
   757  // OnERC1155Received is a paid mutator transaction binding the contract method 0xf23a6e61.
   758  //
   759  // Solidity: function onERC1155Received(address , address , uint256 , uint256 , bytes ) returns(bytes4)
   760  func (_Erc1155 *Erc1155TransactorSession) OnERC1155Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 *big.Int, arg4 []byte) (*types.Transaction, error) {
   761  	return _Erc1155.Contract.OnERC1155Received(&_Erc1155.TransactOpts, arg0, arg1, arg2, arg3, arg4)
   762  }
   763  
   764  // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
   765  //
   766  // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
   767  func (_Erc1155 *Erc1155Transactor) SafeBatchTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
   768  	return _Erc1155.contract.Transact(opts, "safeBatchTransferFrom", from, to, ids, amounts, data)
   769  }
   770  
   771  // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
   772  //
   773  // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
   774  func (_Erc1155 *Erc1155Session) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
   775  	return _Erc1155.Contract.SafeBatchTransferFrom(&_Erc1155.TransactOpts, from, to, ids, amounts, data)
   776  }
   777  
   778  // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
   779  //
   780  // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
   781  func (_Erc1155 *Erc1155TransactorSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
   782  	return _Erc1155.Contract.SafeBatchTransferFrom(&_Erc1155.TransactOpts, from, to, ids, amounts, data)
   783  }
   784  
   785  // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
   786  //
   787  // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
   788  func (_Erc1155 *Erc1155Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
   789  	return _Erc1155.contract.Transact(opts, "safeTransferFrom", from, to, id, amount, data)
   790  }
   791  
   792  // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
   793  //
   794  // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
   795  func (_Erc1155 *Erc1155Session) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
   796  	return _Erc1155.Contract.SafeTransferFrom(&_Erc1155.TransactOpts, from, to, id, amount, data)
   797  }
   798  
   799  // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
   800  //
   801  // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
   802  func (_Erc1155 *Erc1155TransactorSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
   803  	return _Erc1155.Contract.SafeTransferFrom(&_Erc1155.TransactOpts, from, to, id, amount, data)
   804  }
   805  
   806  // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
   807  //
   808  // Solidity: function setApprovalForAll(address operator, bool approved) returns()
   809  func (_Erc1155 *Erc1155Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
   810  	return _Erc1155.contract.Transact(opts, "setApprovalForAll", operator, approved)
   811  }
   812  
   813  // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
   814  //
   815  // Solidity: function setApprovalForAll(address operator, bool approved) returns()
   816  func (_Erc1155 *Erc1155Session) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
   817  	return _Erc1155.Contract.SetApprovalForAll(&_Erc1155.TransactOpts, operator, approved)
   818  }
   819  
   820  // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
   821  //
   822  // Solidity: function setApprovalForAll(address operator, bool approved) returns()
   823  func (_Erc1155 *Erc1155TransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
   824  	return _Erc1155.Contract.SetApprovalForAll(&_Erc1155.TransactOpts, operator, approved)
   825  }
   826  
   827  // SetBaseMetadataURI is a paid mutator transaction binding the contract method 0x7e518ec8.
   828  //
   829  // Solidity: function setBaseMetadataURI(string _newBaseMetadataURI) returns()
   830  func (_Erc1155 *Erc1155Transactor) SetBaseMetadataURI(opts *bind.TransactOpts, _newBaseMetadataURI string) (*types.Transaction, error) {
   831  	return _Erc1155.contract.Transact(opts, "setBaseMetadataURI", _newBaseMetadataURI)
   832  }
   833  
   834  // SetBaseMetadataURI is a paid mutator transaction binding the contract method 0x7e518ec8.
   835  //
   836  // Solidity: function setBaseMetadataURI(string _newBaseMetadataURI) returns()
   837  func (_Erc1155 *Erc1155Session) SetBaseMetadataURI(_newBaseMetadataURI string) (*types.Transaction, error) {
   838  	return _Erc1155.Contract.SetBaseMetadataURI(&_Erc1155.TransactOpts, _newBaseMetadataURI)
   839  }
   840  
   841  // SetBaseMetadataURI is a paid mutator transaction binding the contract method 0x7e518ec8.
   842  //
   843  // Solidity: function setBaseMetadataURI(string _newBaseMetadataURI) returns()
   844  func (_Erc1155 *Erc1155TransactorSession) SetBaseMetadataURI(_newBaseMetadataURI string) (*types.Transaction, error) {
   845  	return _Erc1155.Contract.SetBaseMetadataURI(&_Erc1155.TransactOpts, _newBaseMetadataURI)
   846  }
   847  
   848  // Erc1155ApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the Erc1155 contract.
   849  type Erc1155ApprovalForAllIterator struct {
   850  	Event *Erc1155ApprovalForAll // Event containing the contract specifics and raw log
   851  
   852  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   853  	event    string              // Event name to use for unpacking event data
   854  
   855  	logs chan types.Log        // Log channel receiving the found contract events
   856  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   857  	done bool                  // Whether the subscription completed delivering logs
   858  	fail error                 // Occurred error to stop iteration
   859  }
   860  
   861  // Next advances the iterator to the subsequent event, returning whether there
   862  // are any more events found. In case of a retrieval or parsing error, false is
   863  // returned and Error() can be queried for the exact failure.
   864  func (it *Erc1155ApprovalForAllIterator) Next() bool {
   865  	// If the iterator failed, stop iterating
   866  	if it.fail != nil {
   867  		return false
   868  	}
   869  	// If the iterator completed, deliver directly whatever's available
   870  	if it.done {
   871  		select {
   872  		case log := <-it.logs:
   873  			it.Event = new(Erc1155ApprovalForAll)
   874  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   875  				it.fail = err
   876  				return false
   877  			}
   878  			it.Event.Raw = log
   879  			return true
   880  
   881  		default:
   882  			return false
   883  		}
   884  	}
   885  	// Iterator still in progress, wait for either a data or an error event
   886  	select {
   887  	case log := <-it.logs:
   888  		it.Event = new(Erc1155ApprovalForAll)
   889  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   890  			it.fail = err
   891  			return false
   892  		}
   893  		it.Event.Raw = log
   894  		return true
   895  
   896  	case err := <-it.sub.Err():
   897  		it.done = true
   898  		it.fail = err
   899  		return it.Next()
   900  	}
   901  }
   902  
   903  // Error returns any retrieval or parsing error occurred during filtering.
   904  func (it *Erc1155ApprovalForAllIterator) Error() error {
   905  	return it.fail
   906  }
   907  
   908  // Close terminates the iteration process, releasing any pending underlying
   909  // resources.
   910  func (it *Erc1155ApprovalForAllIterator) Close() error {
   911  	it.sub.Unsubscribe()
   912  	return nil
   913  }
   914  
   915  // Erc1155ApprovalForAll represents a ApprovalForAll event raised by the Erc1155 contract.
   916  type Erc1155ApprovalForAll struct {
   917  	Account  common.Address
   918  	Operator common.Address
   919  	Approved bool
   920  	Raw      types.Log // Blockchain specific contextual infos
   921  }
   922  
   923  // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
   924  //
   925  // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
   926  func (_Erc1155 *Erc1155Filterer) FilterApprovalForAll(opts *bind.FilterOpts, account []common.Address, operator []common.Address) (*Erc1155ApprovalForAllIterator, error) {
   927  
   928  	var accountRule []interface{}
   929  	for _, accountItem := range account {
   930  		accountRule = append(accountRule, accountItem)
   931  	}
   932  	var operatorRule []interface{}
   933  	for _, operatorItem := range operator {
   934  		operatorRule = append(operatorRule, operatorItem)
   935  	}
   936  
   937  	logs, sub, err := _Erc1155.contract.FilterLogs(opts, "ApprovalForAll", accountRule, operatorRule)
   938  	if err != nil {
   939  		return nil, err
   940  	}
   941  	return &Erc1155ApprovalForAllIterator{contract: _Erc1155.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
   942  }
   943  
   944  // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
   945  //
   946  // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
   947  func (_Erc1155 *Erc1155Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *Erc1155ApprovalForAll, account []common.Address, operator []common.Address) (event.Subscription, error) {
   948  
   949  	var accountRule []interface{}
   950  	for _, accountItem := range account {
   951  		accountRule = append(accountRule, accountItem)
   952  	}
   953  	var operatorRule []interface{}
   954  	for _, operatorItem := range operator {
   955  		operatorRule = append(operatorRule, operatorItem)
   956  	}
   957  
   958  	logs, sub, err := _Erc1155.contract.WatchLogs(opts, "ApprovalForAll", accountRule, operatorRule)
   959  	if err != nil {
   960  		return nil, err
   961  	}
   962  	return event.NewSubscription(func(quit <-chan struct{}) error {
   963  		defer sub.Unsubscribe()
   964  		for {
   965  			select {
   966  			case log := <-logs:
   967  				// New log arrived, parse the event and forward to the user
   968  				event := new(Erc1155ApprovalForAll)
   969  				if err := _Erc1155.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
   970  					return err
   971  				}
   972  				event.Raw = log
   973  
   974  				select {
   975  				case sink <- event:
   976  				case err := <-sub.Err():
   977  					return err
   978  				case <-quit:
   979  					return nil
   980  				}
   981  			case err := <-sub.Err():
   982  				return err
   983  			case <-quit:
   984  				return nil
   985  			}
   986  		}
   987  	}), nil
   988  }
   989  
   990  // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
   991  //
   992  // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
   993  func (_Erc1155 *Erc1155Filterer) ParseApprovalForAll(log types.Log) (*Erc1155ApprovalForAll, error) {
   994  	event := new(Erc1155ApprovalForAll)
   995  	if err := _Erc1155.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
   996  		return nil, err
   997  	}
   998  	event.Raw = log
   999  	return event, nil
  1000  }
  1001  
  1002  // Erc1155OwnerChangedIterator is returned from FilterOwnerChanged and is used to iterate over the raw logs and unpacked data for OwnerChanged events raised by the Erc1155 contract.
  1003  type Erc1155OwnerChangedIterator struct {
  1004  	Event *Erc1155OwnerChanged // Event containing the contract specifics and raw log
  1005  
  1006  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1007  	event    string              // Event name to use for unpacking event data
  1008  
  1009  	logs chan types.Log        // Log channel receiving the found contract events
  1010  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1011  	done bool                  // Whether the subscription completed delivering logs
  1012  	fail error                 // Occurred error to stop iteration
  1013  }
  1014  
  1015  // Next advances the iterator to the subsequent event, returning whether there
  1016  // are any more events found. In case of a retrieval or parsing error, false is
  1017  // returned and Error() can be queried for the exact failure.
  1018  func (it *Erc1155OwnerChangedIterator) Next() bool {
  1019  	// If the iterator failed, stop iterating
  1020  	if it.fail != nil {
  1021  		return false
  1022  	}
  1023  	// If the iterator completed, deliver directly whatever's available
  1024  	if it.done {
  1025  		select {
  1026  		case log := <-it.logs:
  1027  			it.Event = new(Erc1155OwnerChanged)
  1028  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1029  				it.fail = err
  1030  				return false
  1031  			}
  1032  			it.Event.Raw = log
  1033  			return true
  1034  
  1035  		default:
  1036  			return false
  1037  		}
  1038  	}
  1039  	// Iterator still in progress, wait for either a data or an error event
  1040  	select {
  1041  	case log := <-it.logs:
  1042  		it.Event = new(Erc1155OwnerChanged)
  1043  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1044  			it.fail = err
  1045  			return false
  1046  		}
  1047  		it.Event.Raw = log
  1048  		return true
  1049  
  1050  	case err := <-it.sub.Err():
  1051  		it.done = true
  1052  		it.fail = err
  1053  		return it.Next()
  1054  	}
  1055  }
  1056  
  1057  // Error returns any retrieval or parsing error occurred during filtering.
  1058  func (it *Erc1155OwnerChangedIterator) Error() error {
  1059  	return it.fail
  1060  }
  1061  
  1062  // Close terminates the iteration process, releasing any pending underlying
  1063  // resources.
  1064  func (it *Erc1155OwnerChangedIterator) Close() error {
  1065  	it.sub.Unsubscribe()
  1066  	return nil
  1067  }
  1068  
  1069  // Erc1155OwnerChanged represents a OwnerChanged event raised by the Erc1155 contract.
  1070  type Erc1155OwnerChanged struct {
  1071  	OldOwner common.Address
  1072  	NewOwner common.Address
  1073  	Raw      types.Log // Blockchain specific contextual infos
  1074  }
  1075  
  1076  // FilterOwnerChanged is a free log retrieval operation binding the contract event 0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c.
  1077  //
  1078  // Solidity: event OwnerChanged(address oldOwner, address newOwner)
  1079  func (_Erc1155 *Erc1155Filterer) FilterOwnerChanged(opts *bind.FilterOpts) (*Erc1155OwnerChangedIterator, error) {
  1080  
  1081  	logs, sub, err := _Erc1155.contract.FilterLogs(opts, "OwnerChanged")
  1082  	if err != nil {
  1083  		return nil, err
  1084  	}
  1085  	return &Erc1155OwnerChangedIterator{contract: _Erc1155.contract, event: "OwnerChanged", logs: logs, sub: sub}, nil
  1086  }
  1087  
  1088  // WatchOwnerChanged is a free log subscription operation binding the contract event 0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c.
  1089  //
  1090  // Solidity: event OwnerChanged(address oldOwner, address newOwner)
  1091  func (_Erc1155 *Erc1155Filterer) WatchOwnerChanged(opts *bind.WatchOpts, sink chan<- *Erc1155OwnerChanged) (event.Subscription, error) {
  1092  
  1093  	logs, sub, err := _Erc1155.contract.WatchLogs(opts, "OwnerChanged")
  1094  	if err != nil {
  1095  		return nil, err
  1096  	}
  1097  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1098  		defer sub.Unsubscribe()
  1099  		for {
  1100  			select {
  1101  			case log := <-logs:
  1102  				// New log arrived, parse the event and forward to the user
  1103  				event := new(Erc1155OwnerChanged)
  1104  				if err := _Erc1155.contract.UnpackLog(event, "OwnerChanged", log); err != nil {
  1105  					return err
  1106  				}
  1107  				event.Raw = log
  1108  
  1109  				select {
  1110  				case sink <- event:
  1111  				case err := <-sub.Err():
  1112  					return err
  1113  				case <-quit:
  1114  					return nil
  1115  				}
  1116  			case err := <-sub.Err():
  1117  				return err
  1118  			case <-quit:
  1119  				return nil
  1120  			}
  1121  		}
  1122  	}), nil
  1123  }
  1124  
  1125  // ParseOwnerChanged is a log parse operation binding the contract event 0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c.
  1126  //
  1127  // Solidity: event OwnerChanged(address oldOwner, address newOwner)
  1128  func (_Erc1155 *Erc1155Filterer) ParseOwnerChanged(log types.Log) (*Erc1155OwnerChanged, error) {
  1129  	event := new(Erc1155OwnerChanged)
  1130  	if err := _Erc1155.contract.UnpackLog(event, "OwnerChanged", log); err != nil {
  1131  		return nil, err
  1132  	}
  1133  	event.Raw = log
  1134  	return event, nil
  1135  }
  1136  
  1137  // Erc1155OwnerNominatedIterator is returned from FilterOwnerNominated and is used to iterate over the raw logs and unpacked data for OwnerNominated events raised by the Erc1155 contract.
  1138  type Erc1155OwnerNominatedIterator struct {
  1139  	Event *Erc1155OwnerNominated // Event containing the contract specifics and raw log
  1140  
  1141  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1142  	event    string              // Event name to use for unpacking event data
  1143  
  1144  	logs chan types.Log        // Log channel receiving the found contract events
  1145  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1146  	done bool                  // Whether the subscription completed delivering logs
  1147  	fail error                 // Occurred error to stop iteration
  1148  }
  1149  
  1150  // Next advances the iterator to the subsequent event, returning whether there
  1151  // are any more events found. In case of a retrieval or parsing error, false is
  1152  // returned and Error() can be queried for the exact failure.
  1153  func (it *Erc1155OwnerNominatedIterator) Next() bool {
  1154  	// If the iterator failed, stop iterating
  1155  	if it.fail != nil {
  1156  		return false
  1157  	}
  1158  	// If the iterator completed, deliver directly whatever's available
  1159  	if it.done {
  1160  		select {
  1161  		case log := <-it.logs:
  1162  			it.Event = new(Erc1155OwnerNominated)
  1163  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1164  				it.fail = err
  1165  				return false
  1166  			}
  1167  			it.Event.Raw = log
  1168  			return true
  1169  
  1170  		default:
  1171  			return false
  1172  		}
  1173  	}
  1174  	// Iterator still in progress, wait for either a data or an error event
  1175  	select {
  1176  	case log := <-it.logs:
  1177  		it.Event = new(Erc1155OwnerNominated)
  1178  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1179  			it.fail = err
  1180  			return false
  1181  		}
  1182  		it.Event.Raw = log
  1183  		return true
  1184  
  1185  	case err := <-it.sub.Err():
  1186  		it.done = true
  1187  		it.fail = err
  1188  		return it.Next()
  1189  	}
  1190  }
  1191  
  1192  // Error returns any retrieval or parsing error occurred during filtering.
  1193  func (it *Erc1155OwnerNominatedIterator) Error() error {
  1194  	return it.fail
  1195  }
  1196  
  1197  // Close terminates the iteration process, releasing any pending underlying
  1198  // resources.
  1199  func (it *Erc1155OwnerNominatedIterator) Close() error {
  1200  	it.sub.Unsubscribe()
  1201  	return nil
  1202  }
  1203  
  1204  // Erc1155OwnerNominated represents a OwnerNominated event raised by the Erc1155 contract.
  1205  type Erc1155OwnerNominated struct {
  1206  	NewOwner common.Address
  1207  	Raw      types.Log // Blockchain specific contextual infos
  1208  }
  1209  
  1210  // FilterOwnerNominated is a free log retrieval operation binding the contract event 0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22.
  1211  //
  1212  // Solidity: event OwnerNominated(address newOwner)
  1213  func (_Erc1155 *Erc1155Filterer) FilterOwnerNominated(opts *bind.FilterOpts) (*Erc1155OwnerNominatedIterator, error) {
  1214  
  1215  	logs, sub, err := _Erc1155.contract.FilterLogs(opts, "OwnerNominated")
  1216  	if err != nil {
  1217  		return nil, err
  1218  	}
  1219  	return &Erc1155OwnerNominatedIterator{contract: _Erc1155.contract, event: "OwnerNominated", logs: logs, sub: sub}, nil
  1220  }
  1221  
  1222  // WatchOwnerNominated is a free log subscription operation binding the contract event 0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22.
  1223  //
  1224  // Solidity: event OwnerNominated(address newOwner)
  1225  func (_Erc1155 *Erc1155Filterer) WatchOwnerNominated(opts *bind.WatchOpts, sink chan<- *Erc1155OwnerNominated) (event.Subscription, error) {
  1226  
  1227  	logs, sub, err := _Erc1155.contract.WatchLogs(opts, "OwnerNominated")
  1228  	if err != nil {
  1229  		return nil, err
  1230  	}
  1231  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1232  		defer sub.Unsubscribe()
  1233  		for {
  1234  			select {
  1235  			case log := <-logs:
  1236  				// New log arrived, parse the event and forward to the user
  1237  				event := new(Erc1155OwnerNominated)
  1238  				if err := _Erc1155.contract.UnpackLog(event, "OwnerNominated", log); err != nil {
  1239  					return err
  1240  				}
  1241  				event.Raw = log
  1242  
  1243  				select {
  1244  				case sink <- event:
  1245  				case err := <-sub.Err():
  1246  					return err
  1247  				case <-quit:
  1248  					return nil
  1249  				}
  1250  			case err := <-sub.Err():
  1251  				return err
  1252  			case <-quit:
  1253  				return nil
  1254  			}
  1255  		}
  1256  	}), nil
  1257  }
  1258  
  1259  // ParseOwnerNominated is a log parse operation binding the contract event 0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22.
  1260  //
  1261  // Solidity: event OwnerNominated(address newOwner)
  1262  func (_Erc1155 *Erc1155Filterer) ParseOwnerNominated(log types.Log) (*Erc1155OwnerNominated, error) {
  1263  	event := new(Erc1155OwnerNominated)
  1264  	if err := _Erc1155.contract.UnpackLog(event, "OwnerNominated", log); err != nil {
  1265  		return nil, err
  1266  	}
  1267  	event.Raw = log
  1268  	return event, nil
  1269  }
  1270  
  1271  // Erc1155TransferBatchIterator is returned from FilterTransferBatch and is used to iterate over the raw logs and unpacked data for TransferBatch events raised by the Erc1155 contract.
  1272  type Erc1155TransferBatchIterator struct {
  1273  	Event *Erc1155TransferBatch // Event containing the contract specifics and raw log
  1274  
  1275  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1276  	event    string              // Event name to use for unpacking event data
  1277  
  1278  	logs chan types.Log        // Log channel receiving the found contract events
  1279  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1280  	done bool                  // Whether the subscription completed delivering logs
  1281  	fail error                 // Occurred error to stop iteration
  1282  }
  1283  
  1284  // Next advances the iterator to the subsequent event, returning whether there
  1285  // are any more events found. In case of a retrieval or parsing error, false is
  1286  // returned and Error() can be queried for the exact failure.
  1287  func (it *Erc1155TransferBatchIterator) Next() bool {
  1288  	// If the iterator failed, stop iterating
  1289  	if it.fail != nil {
  1290  		return false
  1291  	}
  1292  	// If the iterator completed, deliver directly whatever's available
  1293  	if it.done {
  1294  		select {
  1295  		case log := <-it.logs:
  1296  			it.Event = new(Erc1155TransferBatch)
  1297  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1298  				it.fail = err
  1299  				return false
  1300  			}
  1301  			it.Event.Raw = log
  1302  			return true
  1303  
  1304  		default:
  1305  			return false
  1306  		}
  1307  	}
  1308  	// Iterator still in progress, wait for either a data or an error event
  1309  	select {
  1310  	case log := <-it.logs:
  1311  		it.Event = new(Erc1155TransferBatch)
  1312  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1313  			it.fail = err
  1314  			return false
  1315  		}
  1316  		it.Event.Raw = log
  1317  		return true
  1318  
  1319  	case err := <-it.sub.Err():
  1320  		it.done = true
  1321  		it.fail = err
  1322  		return it.Next()
  1323  	}
  1324  }
  1325  
  1326  // Error returns any retrieval or parsing error occurred during filtering.
  1327  func (it *Erc1155TransferBatchIterator) Error() error {
  1328  	return it.fail
  1329  }
  1330  
  1331  // Close terminates the iteration process, releasing any pending underlying
  1332  // resources.
  1333  func (it *Erc1155TransferBatchIterator) Close() error {
  1334  	it.sub.Unsubscribe()
  1335  	return nil
  1336  }
  1337  
  1338  // Erc1155TransferBatch represents a TransferBatch event raised by the Erc1155 contract.
  1339  type Erc1155TransferBatch struct {
  1340  	Operator common.Address
  1341  	From     common.Address
  1342  	To       common.Address
  1343  	Ids      []*big.Int
  1344  	Values   []*big.Int
  1345  	Raw      types.Log // Blockchain specific contextual infos
  1346  }
  1347  
  1348  // FilterTransferBatch is a free log retrieval operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
  1349  //
  1350  // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
  1351  func (_Erc1155 *Erc1155Filterer) FilterTransferBatch(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*Erc1155TransferBatchIterator, error) {
  1352  
  1353  	var operatorRule []interface{}
  1354  	for _, operatorItem := range operator {
  1355  		operatorRule = append(operatorRule, operatorItem)
  1356  	}
  1357  	var fromRule []interface{}
  1358  	for _, fromItem := range from {
  1359  		fromRule = append(fromRule, fromItem)
  1360  	}
  1361  	var toRule []interface{}
  1362  	for _, toItem := range to {
  1363  		toRule = append(toRule, toItem)
  1364  	}
  1365  
  1366  	logs, sub, err := _Erc1155.contract.FilterLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
  1367  	if err != nil {
  1368  		return nil, err
  1369  	}
  1370  	return &Erc1155TransferBatchIterator{contract: _Erc1155.contract, event: "TransferBatch", logs: logs, sub: sub}, nil
  1371  }
  1372  
  1373  // WatchTransferBatch is a free log subscription operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
  1374  //
  1375  // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
  1376  func (_Erc1155 *Erc1155Filterer) WatchTransferBatch(opts *bind.WatchOpts, sink chan<- *Erc1155TransferBatch, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
  1377  
  1378  	var operatorRule []interface{}
  1379  	for _, operatorItem := range operator {
  1380  		operatorRule = append(operatorRule, operatorItem)
  1381  	}
  1382  	var fromRule []interface{}
  1383  	for _, fromItem := range from {
  1384  		fromRule = append(fromRule, fromItem)
  1385  	}
  1386  	var toRule []interface{}
  1387  	for _, toItem := range to {
  1388  		toRule = append(toRule, toItem)
  1389  	}
  1390  
  1391  	logs, sub, err := _Erc1155.contract.WatchLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
  1392  	if err != nil {
  1393  		return nil, err
  1394  	}
  1395  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1396  		defer sub.Unsubscribe()
  1397  		for {
  1398  			select {
  1399  			case log := <-logs:
  1400  				// New log arrived, parse the event and forward to the user
  1401  				event := new(Erc1155TransferBatch)
  1402  				if err := _Erc1155.contract.UnpackLog(event, "TransferBatch", log); err != nil {
  1403  					return err
  1404  				}
  1405  				event.Raw = log
  1406  
  1407  				select {
  1408  				case sink <- event:
  1409  				case err := <-sub.Err():
  1410  					return err
  1411  				case <-quit:
  1412  					return nil
  1413  				}
  1414  			case err := <-sub.Err():
  1415  				return err
  1416  			case <-quit:
  1417  				return nil
  1418  			}
  1419  		}
  1420  	}), nil
  1421  }
  1422  
  1423  // ParseTransferBatch is a log parse operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
  1424  //
  1425  // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
  1426  func (_Erc1155 *Erc1155Filterer) ParseTransferBatch(log types.Log) (*Erc1155TransferBatch, error) {
  1427  	event := new(Erc1155TransferBatch)
  1428  	if err := _Erc1155.contract.UnpackLog(event, "TransferBatch", log); err != nil {
  1429  		return nil, err
  1430  	}
  1431  	event.Raw = log
  1432  	return event, nil
  1433  }
  1434  
  1435  // Erc1155TransferSingleIterator is returned from FilterTransferSingle and is used to iterate over the raw logs and unpacked data for TransferSingle events raised by the Erc1155 contract.
  1436  type Erc1155TransferSingleIterator struct {
  1437  	Event *Erc1155TransferSingle // Event containing the contract specifics and raw log
  1438  
  1439  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1440  	event    string              // Event name to use for unpacking event data
  1441  
  1442  	logs chan types.Log        // Log channel receiving the found contract events
  1443  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1444  	done bool                  // Whether the subscription completed delivering logs
  1445  	fail error                 // Occurred error to stop iteration
  1446  }
  1447  
  1448  // Next advances the iterator to the subsequent event, returning whether there
  1449  // are any more events found. In case of a retrieval or parsing error, false is
  1450  // returned and Error() can be queried for the exact failure.
  1451  func (it *Erc1155TransferSingleIterator) Next() bool {
  1452  	// If the iterator failed, stop iterating
  1453  	if it.fail != nil {
  1454  		return false
  1455  	}
  1456  	// If the iterator completed, deliver directly whatever's available
  1457  	if it.done {
  1458  		select {
  1459  		case log := <-it.logs:
  1460  			it.Event = new(Erc1155TransferSingle)
  1461  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1462  				it.fail = err
  1463  				return false
  1464  			}
  1465  			it.Event.Raw = log
  1466  			return true
  1467  
  1468  		default:
  1469  			return false
  1470  		}
  1471  	}
  1472  	// Iterator still in progress, wait for either a data or an error event
  1473  	select {
  1474  	case log := <-it.logs:
  1475  		it.Event = new(Erc1155TransferSingle)
  1476  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1477  			it.fail = err
  1478  			return false
  1479  		}
  1480  		it.Event.Raw = log
  1481  		return true
  1482  
  1483  	case err := <-it.sub.Err():
  1484  		it.done = true
  1485  		it.fail = err
  1486  		return it.Next()
  1487  	}
  1488  }
  1489  
  1490  // Error returns any retrieval or parsing error occurred during filtering.
  1491  func (it *Erc1155TransferSingleIterator) Error() error {
  1492  	return it.fail
  1493  }
  1494  
  1495  // Close terminates the iteration process, releasing any pending underlying
  1496  // resources.
  1497  func (it *Erc1155TransferSingleIterator) Close() error {
  1498  	it.sub.Unsubscribe()
  1499  	return nil
  1500  }
  1501  
  1502  // Erc1155TransferSingle represents a TransferSingle event raised by the Erc1155 contract.
  1503  type Erc1155TransferSingle struct {
  1504  	Operator common.Address
  1505  	From     common.Address
  1506  	To       common.Address
  1507  	Id       *big.Int
  1508  	Value    *big.Int
  1509  	Raw      types.Log // Blockchain specific contextual infos
  1510  }
  1511  
  1512  // FilterTransferSingle is a free log retrieval operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
  1513  //
  1514  // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
  1515  func (_Erc1155 *Erc1155Filterer) FilterTransferSingle(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*Erc1155TransferSingleIterator, error) {
  1516  
  1517  	var operatorRule []interface{}
  1518  	for _, operatorItem := range operator {
  1519  		operatorRule = append(operatorRule, operatorItem)
  1520  	}
  1521  	var fromRule []interface{}
  1522  	for _, fromItem := range from {
  1523  		fromRule = append(fromRule, fromItem)
  1524  	}
  1525  	var toRule []interface{}
  1526  	for _, toItem := range to {
  1527  		toRule = append(toRule, toItem)
  1528  	}
  1529  
  1530  	logs, sub, err := _Erc1155.contract.FilterLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
  1531  	if err != nil {
  1532  		return nil, err
  1533  	}
  1534  	return &Erc1155TransferSingleIterator{contract: _Erc1155.contract, event: "TransferSingle", logs: logs, sub: sub}, nil
  1535  }
  1536  
  1537  // WatchTransferSingle is a free log subscription operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
  1538  //
  1539  // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
  1540  func (_Erc1155 *Erc1155Filterer) WatchTransferSingle(opts *bind.WatchOpts, sink chan<- *Erc1155TransferSingle, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
  1541  
  1542  	var operatorRule []interface{}
  1543  	for _, operatorItem := range operator {
  1544  		operatorRule = append(operatorRule, operatorItem)
  1545  	}
  1546  	var fromRule []interface{}
  1547  	for _, fromItem := range from {
  1548  		fromRule = append(fromRule, fromItem)
  1549  	}
  1550  	var toRule []interface{}
  1551  	for _, toItem := range to {
  1552  		toRule = append(toRule, toItem)
  1553  	}
  1554  
  1555  	logs, sub, err := _Erc1155.contract.WatchLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
  1556  	if err != nil {
  1557  		return nil, err
  1558  	}
  1559  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1560  		defer sub.Unsubscribe()
  1561  		for {
  1562  			select {
  1563  			case log := <-logs:
  1564  				// New log arrived, parse the event and forward to the user
  1565  				event := new(Erc1155TransferSingle)
  1566  				if err := _Erc1155.contract.UnpackLog(event, "TransferSingle", log); err != nil {
  1567  					return err
  1568  				}
  1569  				event.Raw = log
  1570  
  1571  				select {
  1572  				case sink <- event:
  1573  				case err := <-sub.Err():
  1574  					return err
  1575  				case <-quit:
  1576  					return nil
  1577  				}
  1578  			case err := <-sub.Err():
  1579  				return err
  1580  			case <-quit:
  1581  				return nil
  1582  			}
  1583  		}
  1584  	}), nil
  1585  }
  1586  
  1587  // ParseTransferSingle is a log parse operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
  1588  //
  1589  // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
  1590  func (_Erc1155 *Erc1155Filterer) ParseTransferSingle(log types.Log) (*Erc1155TransferSingle, error) {
  1591  	event := new(Erc1155TransferSingle)
  1592  	if err := _Erc1155.contract.UnpackLog(event, "TransferSingle", log); err != nil {
  1593  		return nil, err
  1594  	}
  1595  	event.Raw = log
  1596  	return event, nil
  1597  }
  1598  
  1599  // Erc1155URIIterator is returned from FilterURI and is used to iterate over the raw logs and unpacked data for URI events raised by the Erc1155 contract.
  1600  type Erc1155URIIterator struct {
  1601  	Event *Erc1155URI // Event containing the contract specifics and raw log
  1602  
  1603  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1604  	event    string              // Event name to use for unpacking event data
  1605  
  1606  	logs chan types.Log        // Log channel receiving the found contract events
  1607  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1608  	done bool                  // Whether the subscription completed delivering logs
  1609  	fail error                 // Occurred error to stop iteration
  1610  }
  1611  
  1612  // Next advances the iterator to the subsequent event, returning whether there
  1613  // are any more events found. In case of a retrieval or parsing error, false is
  1614  // returned and Error() can be queried for the exact failure.
  1615  func (it *Erc1155URIIterator) Next() bool {
  1616  	// If the iterator failed, stop iterating
  1617  	if it.fail != nil {
  1618  		return false
  1619  	}
  1620  	// If the iterator completed, deliver directly whatever's available
  1621  	if it.done {
  1622  		select {
  1623  		case log := <-it.logs:
  1624  			it.Event = new(Erc1155URI)
  1625  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1626  				it.fail = err
  1627  				return false
  1628  			}
  1629  			it.Event.Raw = log
  1630  			return true
  1631  
  1632  		default:
  1633  			return false
  1634  		}
  1635  	}
  1636  	// Iterator still in progress, wait for either a data or an error event
  1637  	select {
  1638  	case log := <-it.logs:
  1639  		it.Event = new(Erc1155URI)
  1640  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1641  			it.fail = err
  1642  			return false
  1643  		}
  1644  		it.Event.Raw = log
  1645  		return true
  1646  
  1647  	case err := <-it.sub.Err():
  1648  		it.done = true
  1649  		it.fail = err
  1650  		return it.Next()
  1651  	}
  1652  }
  1653  
  1654  // Error returns any retrieval or parsing error occurred during filtering.
  1655  func (it *Erc1155URIIterator) Error() error {
  1656  	return it.fail
  1657  }
  1658  
  1659  // Close terminates the iteration process, releasing any pending underlying
  1660  // resources.
  1661  func (it *Erc1155URIIterator) Close() error {
  1662  	it.sub.Unsubscribe()
  1663  	return nil
  1664  }
  1665  
  1666  // Erc1155URI represents a URI event raised by the Erc1155 contract.
  1667  type Erc1155URI struct {
  1668  	Value string
  1669  	Id    *big.Int
  1670  	Raw   types.Log // Blockchain specific contextual infos
  1671  }
  1672  
  1673  // FilterURI is a free log retrieval operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
  1674  //
  1675  // Solidity: event URI(string value, uint256 indexed id)
  1676  func (_Erc1155 *Erc1155Filterer) FilterURI(opts *bind.FilterOpts, id []*big.Int) (*Erc1155URIIterator, error) {
  1677  
  1678  	var idRule []interface{}
  1679  	for _, idItem := range id {
  1680  		idRule = append(idRule, idItem)
  1681  	}
  1682  
  1683  	logs, sub, err := _Erc1155.contract.FilterLogs(opts, "URI", idRule)
  1684  	if err != nil {
  1685  		return nil, err
  1686  	}
  1687  	return &Erc1155URIIterator{contract: _Erc1155.contract, event: "URI", logs: logs, sub: sub}, nil
  1688  }
  1689  
  1690  // WatchURI is a free log subscription operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
  1691  //
  1692  // Solidity: event URI(string value, uint256 indexed id)
  1693  func (_Erc1155 *Erc1155Filterer) WatchURI(opts *bind.WatchOpts, sink chan<- *Erc1155URI, id []*big.Int) (event.Subscription, error) {
  1694  
  1695  	var idRule []interface{}
  1696  	for _, idItem := range id {
  1697  		idRule = append(idRule, idItem)
  1698  	}
  1699  
  1700  	logs, sub, err := _Erc1155.contract.WatchLogs(opts, "URI", idRule)
  1701  	if err != nil {
  1702  		return nil, err
  1703  	}
  1704  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1705  		defer sub.Unsubscribe()
  1706  		for {
  1707  			select {
  1708  			case log := <-logs:
  1709  				// New log arrived, parse the event and forward to the user
  1710  				event := new(Erc1155URI)
  1711  				if err := _Erc1155.contract.UnpackLog(event, "URI", log); err != nil {
  1712  					return err
  1713  				}
  1714  				event.Raw = log
  1715  
  1716  				select {
  1717  				case sink <- event:
  1718  				case err := <-sub.Err():
  1719  					return err
  1720  				case <-quit:
  1721  					return nil
  1722  				}
  1723  			case err := <-sub.Err():
  1724  				return err
  1725  			case <-quit:
  1726  				return nil
  1727  			}
  1728  		}
  1729  	}), nil
  1730  }
  1731  
  1732  // ParseURI is a log parse operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
  1733  //
  1734  // Solidity: event URI(string value, uint256 indexed id)
  1735  func (_Erc1155 *Erc1155Filterer) ParseURI(log types.Log) (*Erc1155URI, error) {
  1736  	event := new(Erc1155URI)
  1737  	if err := _Erc1155.contract.UnpackLog(event, "URI", log); err != nil {
  1738  		return nil, err
  1739  	}
  1740  	event.Raw = log
  1741  	return event, nil
  1742  }