// Code generated - DO NOT EDIT. // This file is a generated binding and any manual changes will be lost. package contracts import ( "errors" "math/big" "strings" ethereum "github.com/ethereum/go-ethereum" "github.com/ethereum/go-ethereum/accounts/abi" "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/event" ) // Reference imports to suppress errors if they are not otherwise used. var ( _ = errors.New _ = big.NewInt _ = strings.NewReader _ = ethereum.NotFound _ = bind.Bind _ = common.Big1 _ = types.BloomLookup _ = event.NewSubscription _ = abi.ConvertType ) // ERC1155MetaData contains all meta data concerning the ERC1155 contract. var ERC1155MetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":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\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_values\",\"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\":\"_value\",\"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\"}]", } // ERC1155ABI is the input ABI used to generate the binding from. // Deprecated: Use ERC1155MetaData.ABI instead. var ERC1155ABI = ERC1155MetaData.ABI // ERC1155 is an auto generated Go binding around an Ethereum contract. type ERC1155 struct { ERC1155Caller // Read-only binding to the contract ERC1155Transactor // Write-only binding to the contract ERC1155Filterer // Log filterer for contract events } // ERC1155Caller is an auto generated read-only Go binding around an Ethereum contract. type ERC1155Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC1155Transactor is an auto generated write-only Go binding around an Ethereum contract. type ERC1155Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC1155Filterer is an auto generated log filtering Go binding around an Ethereum contract events. type ERC1155Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC1155Session is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type ERC1155Session struct { Contract *ERC1155 // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC1155CallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type ERC1155CallerSession struct { Contract *ERC1155Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ERC1155TransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type ERC1155TransactorSession struct { Contract *ERC1155Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC1155Raw is an auto generated low-level Go binding around an Ethereum contract. type ERC1155Raw struct { Contract *ERC1155 // Generic contract binding to access the raw methods on } // ERC1155CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type ERC1155CallerRaw struct { Contract *ERC1155Caller // Generic read-only contract binding to access the raw methods on } // ERC1155TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type ERC1155TransactorRaw struct { Contract *ERC1155Transactor // Generic write-only contract binding to access the raw methods on } // NewERC1155 creates a new instance of ERC1155, bound to a specific deployed contract. func NewERC1155(address common.Address, backend bind.ContractBackend) (*ERC1155, error) { contract, err := bindERC1155(address, backend, backend, backend) if err != nil { return nil, err } return &ERC1155{ERC1155Caller: ERC1155Caller{contract: contract}, ERC1155Transactor: ERC1155Transactor{contract: contract}, ERC1155Filterer: ERC1155Filterer{contract: contract}}, nil } // NewERC1155Caller creates a new read-only instance of ERC1155, bound to a specific deployed contract. func NewERC1155Caller(address common.Address, caller bind.ContractCaller) (*ERC1155Caller, error) { contract, err := bindERC1155(address, caller, nil, nil) if err != nil { return nil, err } return &ERC1155Caller{contract: contract}, nil } // NewERC1155Transactor creates a new write-only instance of ERC1155, bound to a specific deployed contract. func NewERC1155Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC1155Transactor, error) { contract, err := bindERC1155(address, nil, transactor, nil) if err != nil { return nil, err } return &ERC1155Transactor{contract: contract}, nil } // NewERC1155Filterer creates a new log filterer instance of ERC1155, bound to a specific deployed contract. func NewERC1155Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC1155Filterer, error) { contract, err := bindERC1155(address, nil, nil, filterer) if err != nil { return nil, err } return &ERC1155Filterer{contract: contract}, nil } // bindERC1155 binds a generic wrapper to an already deployed contract. func bindERC1155(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := ERC1155MetaData.GetAbi() if err != nil { return nil, err } return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC1155 *ERC1155Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ERC1155.Contract.ERC1155Caller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC1155 *ERC1155Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC1155.Contract.ERC1155Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC1155 *ERC1155Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC1155.Contract.ERC1155Transactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC1155 *ERC1155CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ERC1155.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC1155 *ERC1155TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC1155.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC1155 *ERC1155TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC1155.Contract.contract.Transact(opts, method, params...) } // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e. // // Solidity: function balanceOf(address _owner, uint256 _id) view returns(uint256) func (_ERC1155 *ERC1155Caller) BalanceOf(opts *bind.CallOpts, _owner common.Address, _id *big.Int) (*big.Int, error) { var out []interface{} err := _ERC1155.contract.Call(opts, &out, "balanceOf", _owner, _id) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e. // // Solidity: function balanceOf(address _owner, uint256 _id) view returns(uint256) func (_ERC1155 *ERC1155Session) BalanceOf(_owner common.Address, _id *big.Int) (*big.Int, error) { return _ERC1155.Contract.BalanceOf(&_ERC1155.CallOpts, _owner, _id) } // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e. // // Solidity: function balanceOf(address _owner, uint256 _id) view returns(uint256) func (_ERC1155 *ERC1155CallerSession) BalanceOf(_owner common.Address, _id *big.Int) (*big.Int, error) { return _ERC1155.Contract.BalanceOf(&_ERC1155.CallOpts, _owner, _id) } // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4. // // Solidity: function balanceOfBatch(address[] _owners, uint256[] _ids) view returns(uint256[]) func (_ERC1155 *ERC1155Caller) BalanceOfBatch(opts *bind.CallOpts, _owners []common.Address, _ids []*big.Int) ([]*big.Int, error) { var out []interface{} err := _ERC1155.contract.Call(opts, &out, "balanceOfBatch", _owners, _ids) if err != nil { return *new([]*big.Int), err } out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) return out0, err } // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4. // // Solidity: function balanceOfBatch(address[] _owners, uint256[] _ids) view returns(uint256[]) func (_ERC1155 *ERC1155Session) BalanceOfBatch(_owners []common.Address, _ids []*big.Int) ([]*big.Int, error) { return _ERC1155.Contract.BalanceOfBatch(&_ERC1155.CallOpts, _owners, _ids) } // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4. // // Solidity: function balanceOfBatch(address[] _owners, uint256[] _ids) view returns(uint256[]) func (_ERC1155 *ERC1155CallerSession) BalanceOfBatch(_owners []common.Address, _ids []*big.Int) ([]*big.Int, error) { return _ERC1155.Contract.BalanceOfBatch(&_ERC1155.CallOpts, _owners, _ids) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool) func (_ERC1155 *ERC1155Caller) IsApprovedForAll(opts *bind.CallOpts, _owner common.Address, _operator common.Address) (bool, error) { var out []interface{} err := _ERC1155.contract.Call(opts, &out, "isApprovedForAll", _owner, _operator) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool) func (_ERC1155 *ERC1155Session) IsApprovedForAll(_owner common.Address, _operator common.Address) (bool, error) { return _ERC1155.Contract.IsApprovedForAll(&_ERC1155.CallOpts, _owner, _operator) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool) func (_ERC1155 *ERC1155CallerSession) IsApprovedForAll(_owner common.Address, _operator common.Address) (bool, error) { return _ERC1155.Contract.IsApprovedForAll(&_ERC1155.CallOpts, _owner, _operator) } // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. // // Solidity: function safeBatchTransferFrom(address _from, address _to, uint256[] _ids, uint256[] _values, bytes _data) returns() func (_ERC1155 *ERC1155Transactor) SafeBatchTransferFrom(opts *bind.TransactOpts, _from common.Address, _to common.Address, _ids []*big.Int, _values []*big.Int, _data []byte) (*types.Transaction, error) { return _ERC1155.contract.Transact(opts, "safeBatchTransferFrom", _from, _to, _ids, _values, _data) } // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. // // Solidity: function safeBatchTransferFrom(address _from, address _to, uint256[] _ids, uint256[] _values, bytes _data) returns() func (_ERC1155 *ERC1155Session) SafeBatchTransferFrom(_from common.Address, _to common.Address, _ids []*big.Int, _values []*big.Int, _data []byte) (*types.Transaction, error) { return _ERC1155.Contract.SafeBatchTransferFrom(&_ERC1155.TransactOpts, _from, _to, _ids, _values, _data) } // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. // // Solidity: function safeBatchTransferFrom(address _from, address _to, uint256[] _ids, uint256[] _values, bytes _data) returns() func (_ERC1155 *ERC1155TransactorSession) SafeBatchTransferFrom(_from common.Address, _to common.Address, _ids []*big.Int, _values []*big.Int, _data []byte) (*types.Transaction, error) { return _ERC1155.Contract.SafeBatchTransferFrom(&_ERC1155.TransactOpts, _from, _to, _ids, _values, _data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. // // Solidity: function safeTransferFrom(address _from, address _to, uint256 _id, uint256 _value, bytes _data) returns() func (_ERC1155 *ERC1155Transactor) SafeTransferFrom(opts *bind.TransactOpts, _from common.Address, _to common.Address, _id *big.Int, _value *big.Int, _data []byte) (*types.Transaction, error) { return _ERC1155.contract.Transact(opts, "safeTransferFrom", _from, _to, _id, _value, _data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. // // Solidity: function safeTransferFrom(address _from, address _to, uint256 _id, uint256 _value, bytes _data) returns() func (_ERC1155 *ERC1155Session) SafeTransferFrom(_from common.Address, _to common.Address, _id *big.Int, _value *big.Int, _data []byte) (*types.Transaction, error) { return _ERC1155.Contract.SafeTransferFrom(&_ERC1155.TransactOpts, _from, _to, _id, _value, _data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. // // Solidity: function safeTransferFrom(address _from, address _to, uint256 _id, uint256 _value, bytes _data) returns() func (_ERC1155 *ERC1155TransactorSession) SafeTransferFrom(_from common.Address, _to common.Address, _id *big.Int, _value *big.Int, _data []byte) (*types.Transaction, error) { return _ERC1155.Contract.SafeTransferFrom(&_ERC1155.TransactOpts, _from, _to, _id, _value, _data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address _operator, bool _approved) returns() func (_ERC1155 *ERC1155Transactor) SetApprovalForAll(opts *bind.TransactOpts, _operator common.Address, _approved bool) (*types.Transaction, error) { return _ERC1155.contract.Transact(opts, "setApprovalForAll", _operator, _approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address _operator, bool _approved) returns() func (_ERC1155 *ERC1155Session) SetApprovalForAll(_operator common.Address, _approved bool) (*types.Transaction, error) { return _ERC1155.Contract.SetApprovalForAll(&_ERC1155.TransactOpts, _operator, _approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address _operator, bool _approved) returns() func (_ERC1155 *ERC1155TransactorSession) SetApprovalForAll(_operator common.Address, _approved bool) (*types.Transaction, error) { return _ERC1155.Contract.SetApprovalForAll(&_ERC1155.TransactOpts, _operator, _approved) } // 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. type ERC1155ApprovalForAllIterator struct { Event *ERC1155ApprovalForAll // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC1155ApprovalForAllIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC1155ApprovalForAll) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC1155ApprovalForAll) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC1155ApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC1155ApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC1155ApprovalForAll represents a ApprovalForAll event raised by the ERC1155 contract. type ERC1155ApprovalForAll struct { Owner common.Address Operator common.Address Approved bool Raw types.Log // Blockchain specific contextual infos } // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. // // Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) func (_ERC1155 *ERC1155Filterer) FilterApprovalForAll(opts *bind.FilterOpts, _owner []common.Address, _operator []common.Address) (*ERC1155ApprovalForAllIterator, error) { var _ownerRule []interface{} for _, _ownerItem := range _owner { _ownerRule = append(_ownerRule, _ownerItem) } var _operatorRule []interface{} for _, _operatorItem := range _operator { _operatorRule = append(_operatorRule, _operatorItem) } logs, sub, err := _ERC1155.contract.FilterLogs(opts, "ApprovalForAll", _ownerRule, _operatorRule) if err != nil { return nil, err } return &ERC1155ApprovalForAllIterator{contract: _ERC1155.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil } // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. // // Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) func (_ERC1155 *ERC1155Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC1155ApprovalForAll, _owner []common.Address, _operator []common.Address) (event.Subscription, error) { var _ownerRule []interface{} for _, _ownerItem := range _owner { _ownerRule = append(_ownerRule, _ownerItem) } var _operatorRule []interface{} for _, _operatorItem := range _operator { _operatorRule = append(_operatorRule, _operatorItem) } logs, sub, err := _ERC1155.contract.WatchLogs(opts, "ApprovalForAll", _ownerRule, _operatorRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC1155ApprovalForAll) if err := _ERC1155.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. // // Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) func (_ERC1155 *ERC1155Filterer) ParseApprovalForAll(log types.Log) (*ERC1155ApprovalForAll, error) { event := new(ERC1155ApprovalForAll) if err := _ERC1155.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return nil, err } event.Raw = log return event, nil } // 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. type ERC1155TransferBatchIterator struct { Event *ERC1155TransferBatch // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC1155TransferBatchIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC1155TransferBatch) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC1155TransferBatch) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC1155TransferBatchIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC1155TransferBatchIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC1155TransferBatch represents a TransferBatch event raised by the ERC1155 contract. type ERC1155TransferBatch struct { Operator common.Address From common.Address To common.Address Ids []*big.Int Values []*big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransferBatch is a free log retrieval operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb. // // Solidity: event TransferBatch(address indexed _operator, address indexed _from, address indexed _to, uint256[] _ids, uint256[] _values) func (_ERC1155 *ERC1155Filterer) FilterTransferBatch(opts *bind.FilterOpts, _operator []common.Address, _from []common.Address, _to []common.Address) (*ERC1155TransferBatchIterator, error) { var _operatorRule []interface{} for _, _operatorItem := range _operator { _operatorRule = append(_operatorRule, _operatorItem) } var _fromRule []interface{} for _, _fromItem := range _from { _fromRule = append(_fromRule, _fromItem) } var _toRule []interface{} for _, _toItem := range _to { _toRule = append(_toRule, _toItem) } logs, sub, err := _ERC1155.contract.FilterLogs(opts, "TransferBatch", _operatorRule, _fromRule, _toRule) if err != nil { return nil, err } return &ERC1155TransferBatchIterator{contract: _ERC1155.contract, event: "TransferBatch", logs: logs, sub: sub}, nil } // WatchTransferBatch is a free log subscription operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb. // // Solidity: event TransferBatch(address indexed _operator, address indexed _from, address indexed _to, uint256[] _ids, uint256[] _values) func (_ERC1155 *ERC1155Filterer) WatchTransferBatch(opts *bind.WatchOpts, sink chan<- *ERC1155TransferBatch, _operator []common.Address, _from []common.Address, _to []common.Address) (event.Subscription, error) { var _operatorRule []interface{} for _, _operatorItem := range _operator { _operatorRule = append(_operatorRule, _operatorItem) } var _fromRule []interface{} for _, _fromItem := range _from { _fromRule = append(_fromRule, _fromItem) } var _toRule []interface{} for _, _toItem := range _to { _toRule = append(_toRule, _toItem) } logs, sub, err := _ERC1155.contract.WatchLogs(opts, "TransferBatch", _operatorRule, _fromRule, _toRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC1155TransferBatch) if err := _ERC1155.contract.UnpackLog(event, "TransferBatch", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseTransferBatch is a log parse operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb. // // Solidity: event TransferBatch(address indexed _operator, address indexed _from, address indexed _to, uint256[] _ids, uint256[] _values) func (_ERC1155 *ERC1155Filterer) ParseTransferBatch(log types.Log) (*ERC1155TransferBatch, error) { event := new(ERC1155TransferBatch) if err := _ERC1155.contract.UnpackLog(event, "TransferBatch", log); err != nil { return nil, err } event.Raw = log return event, nil } // 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. type ERC1155TransferSingleIterator struct { Event *ERC1155TransferSingle // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC1155TransferSingleIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC1155TransferSingle) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC1155TransferSingle) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC1155TransferSingleIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC1155TransferSingleIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC1155TransferSingle represents a TransferSingle event raised by the ERC1155 contract. type ERC1155TransferSingle struct { Operator common.Address From common.Address To common.Address Id *big.Int Value *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransferSingle is a free log retrieval operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62. // // Solidity: event TransferSingle(address indexed _operator, address indexed _from, address indexed _to, uint256 _id, uint256 _value) func (_ERC1155 *ERC1155Filterer) FilterTransferSingle(opts *bind.FilterOpts, _operator []common.Address, _from []common.Address, _to []common.Address) (*ERC1155TransferSingleIterator, error) { var _operatorRule []interface{} for _, _operatorItem := range _operator { _operatorRule = append(_operatorRule, _operatorItem) } var _fromRule []interface{} for _, _fromItem := range _from { _fromRule = append(_fromRule, _fromItem) } var _toRule []interface{} for _, _toItem := range _to { _toRule = append(_toRule, _toItem) } logs, sub, err := _ERC1155.contract.FilterLogs(opts, "TransferSingle", _operatorRule, _fromRule, _toRule) if err != nil { return nil, err } return &ERC1155TransferSingleIterator{contract: _ERC1155.contract, event: "TransferSingle", logs: logs, sub: sub}, nil } // WatchTransferSingle is a free log subscription operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62. // // Solidity: event TransferSingle(address indexed _operator, address indexed _from, address indexed _to, uint256 _id, uint256 _value) func (_ERC1155 *ERC1155Filterer) WatchTransferSingle(opts *bind.WatchOpts, sink chan<- *ERC1155TransferSingle, _operator []common.Address, _from []common.Address, _to []common.Address) (event.Subscription, error) { var _operatorRule []interface{} for _, _operatorItem := range _operator { _operatorRule = append(_operatorRule, _operatorItem) } var _fromRule []interface{} for _, _fromItem := range _from { _fromRule = append(_fromRule, _fromItem) } var _toRule []interface{} for _, _toItem := range _to { _toRule = append(_toRule, _toItem) } logs, sub, err := _ERC1155.contract.WatchLogs(opts, "TransferSingle", _operatorRule, _fromRule, _toRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC1155TransferSingle) if err := _ERC1155.contract.UnpackLog(event, "TransferSingle", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseTransferSingle is a log parse operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62. // // Solidity: event TransferSingle(address indexed _operator, address indexed _from, address indexed _to, uint256 _id, uint256 _value) func (_ERC1155 *ERC1155Filterer) ParseTransferSingle(log types.Log) (*ERC1155TransferSingle, error) { event := new(ERC1155TransferSingle) if err := _ERC1155.contract.UnpackLog(event, "TransferSingle", log); err != nil { return nil, err } event.Raw = log return event, nil } // 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. type ERC1155URIIterator struct { Event *ERC1155URI // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC1155URIIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC1155URI) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC1155URI) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC1155URIIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC1155URIIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC1155URI represents a URI event raised by the ERC1155 contract. type ERC1155URI struct { Value string Id *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterURI is a free log retrieval operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b. // // Solidity: event URI(string _value, uint256 indexed _id) func (_ERC1155 *ERC1155Filterer) FilterURI(opts *bind.FilterOpts, _id []*big.Int) (*ERC1155URIIterator, error) { var _idRule []interface{} for _, _idItem := range _id { _idRule = append(_idRule, _idItem) } logs, sub, err := _ERC1155.contract.FilterLogs(opts, "URI", _idRule) if err != nil { return nil, err } return &ERC1155URIIterator{contract: _ERC1155.contract, event: "URI", logs: logs, sub: sub}, nil } // WatchURI is a free log subscription operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b. // // Solidity: event URI(string _value, uint256 indexed _id) func (_ERC1155 *ERC1155Filterer) WatchURI(opts *bind.WatchOpts, sink chan<- *ERC1155URI, _id []*big.Int) (event.Subscription, error) { var _idRule []interface{} for _, _idItem := range _id { _idRule = append(_idRule, _idItem) } logs, sub, err := _ERC1155.contract.WatchLogs(opts, "URI", _idRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC1155URI) if err := _ERC1155.contract.UnpackLog(event, "URI", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseURI is a log parse operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b. // // Solidity: event URI(string _value, uint256 indexed _id) func (_ERC1155 *ERC1155Filterer) ParseURI(log types.Log) (*ERC1155URI, error) { event := new(ERC1155URI) if err := _ERC1155.contract.UnpackLog(event, "URI", log); err != nil { return nil, err } event.Raw = log return event, nil }