// Code generated - DO NOT EDIT. // This file is a generated binding and any manual changes will be lost. package collectionFactory 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 ) // AccessControlMetaData contains all meta data concerning the AccessControl contract. var AccessControlMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "a217fddf": "DEFAULT_ADMIN_ROLE()", "248a9ca3": "getRoleAdmin(bytes32)", "2f2ff15d": "grantRole(bytes32,address)", "91d14854": "hasRole(bytes32,address)", "36568abe": "renounceRole(bytes32,address)", "d547741f": "revokeRole(bytes32,address)", "01ffc9a7": "supportsInterface(bytes4)", }, } // AccessControlABI is the input ABI used to generate the binding from. // Deprecated: Use AccessControlMetaData.ABI instead. var AccessControlABI = AccessControlMetaData.ABI // Deprecated: Use AccessControlMetaData.Sigs instead. // AccessControlFuncSigs maps the 4-byte function signature to its string representation. var AccessControlFuncSigs = AccessControlMetaData.Sigs // AccessControl is an auto generated Go binding around an Ethereum contract. type AccessControl struct { AccessControlCaller // Read-only binding to the contract AccessControlTransactor // Write-only binding to the contract AccessControlFilterer // Log filterer for contract events } // AccessControlCaller is an auto generated read-only Go binding around an Ethereum contract. type AccessControlCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AccessControlTransactor is an auto generated write-only Go binding around an Ethereum contract. type AccessControlTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AccessControlFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type AccessControlFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AccessControlSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type AccessControlSession struct { Contract *AccessControl // 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 } // AccessControlCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type AccessControlCallerSession struct { Contract *AccessControlCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // AccessControlTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type AccessControlTransactorSession struct { Contract *AccessControlTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AccessControlRaw is an auto generated low-level Go binding around an Ethereum contract. type AccessControlRaw struct { Contract *AccessControl // Generic contract binding to access the raw methods on } // AccessControlCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type AccessControlCallerRaw struct { Contract *AccessControlCaller // Generic read-only contract binding to access the raw methods on } // AccessControlTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type AccessControlTransactorRaw struct { Contract *AccessControlTransactor // Generic write-only contract binding to access the raw methods on } // NewAccessControl creates a new instance of AccessControl, bound to a specific deployed contract. func NewAccessControl(address common.Address, backend bind.ContractBackend) (*AccessControl, error) { contract, err := bindAccessControl(address, backend, backend, backend) if err != nil { return nil, err } return &AccessControl{AccessControlCaller: AccessControlCaller{contract: contract}, AccessControlTransactor: AccessControlTransactor{contract: contract}, AccessControlFilterer: AccessControlFilterer{contract: contract}}, nil } // NewAccessControlCaller creates a new read-only instance of AccessControl, bound to a specific deployed contract. func NewAccessControlCaller(address common.Address, caller bind.ContractCaller) (*AccessControlCaller, error) { contract, err := bindAccessControl(address, caller, nil, nil) if err != nil { return nil, err } return &AccessControlCaller{contract: contract}, nil } // NewAccessControlTransactor creates a new write-only instance of AccessControl, bound to a specific deployed contract. func NewAccessControlTransactor(address common.Address, transactor bind.ContractTransactor) (*AccessControlTransactor, error) { contract, err := bindAccessControl(address, nil, transactor, nil) if err != nil { return nil, err } return &AccessControlTransactor{contract: contract}, nil } // NewAccessControlFilterer creates a new log filterer instance of AccessControl, bound to a specific deployed contract. func NewAccessControlFilterer(address common.Address, filterer bind.ContractFilterer) (*AccessControlFilterer, error) { contract, err := bindAccessControl(address, nil, nil, filterer) if err != nil { return nil, err } return &AccessControlFilterer{contract: contract}, nil } // bindAccessControl binds a generic wrapper to an already deployed contract. func bindAccessControl(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(AccessControlABI)) 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 (_AccessControl *AccessControlRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AccessControl.Contract.AccessControlCaller.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 (_AccessControl *AccessControlRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AccessControl.Contract.AccessControlTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AccessControl *AccessControlRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AccessControl.Contract.AccessControlTransactor.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 (_AccessControl *AccessControlCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AccessControl.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 (_AccessControl *AccessControlTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AccessControl.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AccessControl *AccessControlTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AccessControl.Contract.contract.Transact(opts, method, params...) } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_AccessControl *AccessControlCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _AccessControl.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_AccessControl *AccessControlSession) DEFAULTADMINROLE() ([32]byte, error) { return _AccessControl.Contract.DEFAULTADMINROLE(&_AccessControl.CallOpts) } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_AccessControl *AccessControlCallerSession) DEFAULTADMINROLE() ([32]byte, error) { return _AccessControl.Contract.DEFAULTADMINROLE(&_AccessControl.CallOpts) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_AccessControl *AccessControlCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { var out []interface{} err := _AccessControl.contract.Call(opts, &out, "getRoleAdmin", role) if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_AccessControl *AccessControlSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _AccessControl.Contract.GetRoleAdmin(&_AccessControl.CallOpts, role) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_AccessControl *AccessControlCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _AccessControl.Contract.GetRoleAdmin(&_AccessControl.CallOpts, role) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_AccessControl *AccessControlCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { var out []interface{} err := _AccessControl.contract.Call(opts, &out, "hasRole", role, account) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_AccessControl *AccessControlSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _AccessControl.Contract.HasRole(&_AccessControl.CallOpts, role, account) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_AccessControl *AccessControlCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _AccessControl.Contract.HasRole(&_AccessControl.CallOpts, role, account) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_AccessControl *AccessControlCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _AccessControl.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_AccessControl *AccessControlSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _AccessControl.Contract.SupportsInterface(&_AccessControl.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_AccessControl *AccessControlCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _AccessControl.Contract.SupportsInterface(&_AccessControl.CallOpts, interfaceId) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_AccessControl *AccessControlTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControl.contract.Transact(opts, "grantRole", role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_AccessControl *AccessControlSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControl.Contract.GrantRole(&_AccessControl.TransactOpts, role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_AccessControl *AccessControlTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControl.Contract.GrantRole(&_AccessControl.TransactOpts, role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() func (_AccessControl *AccessControlTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControl.contract.Transact(opts, "renounceRole", role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() func (_AccessControl *AccessControlSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControl.Contract.RenounceRole(&_AccessControl.TransactOpts, role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() func (_AccessControl *AccessControlTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControl.Contract.RenounceRole(&_AccessControl.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_AccessControl *AccessControlTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControl.contract.Transact(opts, "revokeRole", role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_AccessControl *AccessControlSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControl.Contract.RevokeRole(&_AccessControl.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_AccessControl *AccessControlTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControl.Contract.RevokeRole(&_AccessControl.TransactOpts, role, account) } // AccessControlRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the AccessControl contract. type AccessControlRoleAdminChangedIterator struct { Event *AccessControlRoleAdminChanged // 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 *AccessControlRoleAdminChangedIterator) 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(AccessControlRoleAdminChanged) 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(AccessControlRoleAdminChanged) 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 *AccessControlRoleAdminChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AccessControlRoleAdminChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // AccessControlRoleAdminChanged represents a RoleAdminChanged event raised by the AccessControl contract. type AccessControlRoleAdminChanged struct { Role [32]byte PreviousAdminRole [32]byte NewAdminRole [32]byte Raw types.Log // Blockchain specific contextual infos } // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_AccessControl *AccessControlFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*AccessControlRoleAdminChangedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _AccessControl.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) if err != nil { return nil, err } return &AccessControlRoleAdminChangedIterator{contract: _AccessControl.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil } // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_AccessControl *AccessControlFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *AccessControlRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _AccessControl.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) 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(AccessControlRoleAdminChanged) if err := _AccessControl.contract.UnpackLog(event, "RoleAdminChanged", 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 } // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_AccessControl *AccessControlFilterer) ParseRoleAdminChanged(log types.Log) (*AccessControlRoleAdminChanged, error) { event := new(AccessControlRoleAdminChanged) if err := _AccessControl.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { return nil, err } event.Raw = log return event, nil } // AccessControlRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the AccessControl contract. type AccessControlRoleGrantedIterator struct { Event *AccessControlRoleGranted // 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 *AccessControlRoleGrantedIterator) 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(AccessControlRoleGranted) 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(AccessControlRoleGranted) 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 *AccessControlRoleGrantedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AccessControlRoleGrantedIterator) Close() error { it.sub.Unsubscribe() return nil } // AccessControlRoleGranted represents a RoleGranted event raised by the AccessControl contract. type AccessControlRoleGranted struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControl *AccessControlFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlRoleGrantedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _AccessControl.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &AccessControlRoleGrantedIterator{contract: _AccessControl.contract, event: "RoleGranted", logs: logs, sub: sub}, nil } // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControl *AccessControlFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *AccessControlRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _AccessControl.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 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(AccessControlRoleGranted) if err := _AccessControl.contract.UnpackLog(event, "RoleGranted", 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 } // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControl *AccessControlFilterer) ParseRoleGranted(log types.Log) (*AccessControlRoleGranted, error) { event := new(AccessControlRoleGranted) if err := _AccessControl.contract.UnpackLog(event, "RoleGranted", log); err != nil { return nil, err } event.Raw = log return event, nil } // AccessControlRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the AccessControl contract. type AccessControlRoleRevokedIterator struct { Event *AccessControlRoleRevoked // 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 *AccessControlRoleRevokedIterator) 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(AccessControlRoleRevoked) 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(AccessControlRoleRevoked) 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 *AccessControlRoleRevokedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AccessControlRoleRevokedIterator) Close() error { it.sub.Unsubscribe() return nil } // AccessControlRoleRevoked represents a RoleRevoked event raised by the AccessControl contract. type AccessControlRoleRevoked struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControl *AccessControlFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlRoleRevokedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _AccessControl.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &AccessControlRoleRevokedIterator{contract: _AccessControl.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil } // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControl *AccessControlFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *AccessControlRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _AccessControl.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 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(AccessControlRoleRevoked) if err := _AccessControl.contract.UnpackLog(event, "RoleRevoked", 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 } // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControl *AccessControlFilterer) ParseRoleRevoked(log types.Log) (*AccessControlRoleRevoked, error) { event := new(AccessControlRoleRevoked) if err := _AccessControl.contract.UnpackLog(event, "RoleRevoked", log); err != nil { return nil, err } event.Raw = log return event, nil } // AccessControlEnumerableMetaData contains all meta data concerning the AccessControlEnumerable contract. var AccessControlEnumerableMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "a217fddf": "DEFAULT_ADMIN_ROLE()", "248a9ca3": "getRoleAdmin(bytes32)", "9010d07c": "getRoleMember(bytes32,uint256)", "ca15c873": "getRoleMemberCount(bytes32)", "2f2ff15d": "grantRole(bytes32,address)", "91d14854": "hasRole(bytes32,address)", "36568abe": "renounceRole(bytes32,address)", "d547741f": "revokeRole(bytes32,address)", "01ffc9a7": "supportsInterface(bytes4)", }, } // AccessControlEnumerableABI is the input ABI used to generate the binding from. // Deprecated: Use AccessControlEnumerableMetaData.ABI instead. var AccessControlEnumerableABI = AccessControlEnumerableMetaData.ABI // Deprecated: Use AccessControlEnumerableMetaData.Sigs instead. // AccessControlEnumerableFuncSigs maps the 4-byte function signature to its string representation. var AccessControlEnumerableFuncSigs = AccessControlEnumerableMetaData.Sigs // AccessControlEnumerable is an auto generated Go binding around an Ethereum contract. type AccessControlEnumerable struct { AccessControlEnumerableCaller // Read-only binding to the contract AccessControlEnumerableTransactor // Write-only binding to the contract AccessControlEnumerableFilterer // Log filterer for contract events } // AccessControlEnumerableCaller is an auto generated read-only Go binding around an Ethereum contract. type AccessControlEnumerableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AccessControlEnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract. type AccessControlEnumerableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AccessControlEnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type AccessControlEnumerableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AccessControlEnumerableSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type AccessControlEnumerableSession struct { Contract *AccessControlEnumerable // 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 } // AccessControlEnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type AccessControlEnumerableCallerSession struct { Contract *AccessControlEnumerableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // AccessControlEnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type AccessControlEnumerableTransactorSession struct { Contract *AccessControlEnumerableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AccessControlEnumerableRaw is an auto generated low-level Go binding around an Ethereum contract. type AccessControlEnumerableRaw struct { Contract *AccessControlEnumerable // Generic contract binding to access the raw methods on } // AccessControlEnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type AccessControlEnumerableCallerRaw struct { Contract *AccessControlEnumerableCaller // Generic read-only contract binding to access the raw methods on } // AccessControlEnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type AccessControlEnumerableTransactorRaw struct { Contract *AccessControlEnumerableTransactor // Generic write-only contract binding to access the raw methods on } // NewAccessControlEnumerable creates a new instance of AccessControlEnumerable, bound to a specific deployed contract. func NewAccessControlEnumerable(address common.Address, backend bind.ContractBackend) (*AccessControlEnumerable, error) { contract, err := bindAccessControlEnumerable(address, backend, backend, backend) if err != nil { return nil, err } return &AccessControlEnumerable{AccessControlEnumerableCaller: AccessControlEnumerableCaller{contract: contract}, AccessControlEnumerableTransactor: AccessControlEnumerableTransactor{contract: contract}, AccessControlEnumerableFilterer: AccessControlEnumerableFilterer{contract: contract}}, nil } // NewAccessControlEnumerableCaller creates a new read-only instance of AccessControlEnumerable, bound to a specific deployed contract. func NewAccessControlEnumerableCaller(address common.Address, caller bind.ContractCaller) (*AccessControlEnumerableCaller, error) { contract, err := bindAccessControlEnumerable(address, caller, nil, nil) if err != nil { return nil, err } return &AccessControlEnumerableCaller{contract: contract}, nil } // NewAccessControlEnumerableTransactor creates a new write-only instance of AccessControlEnumerable, bound to a specific deployed contract. func NewAccessControlEnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*AccessControlEnumerableTransactor, error) { contract, err := bindAccessControlEnumerable(address, nil, transactor, nil) if err != nil { return nil, err } return &AccessControlEnumerableTransactor{contract: contract}, nil } // NewAccessControlEnumerableFilterer creates a new log filterer instance of AccessControlEnumerable, bound to a specific deployed contract. func NewAccessControlEnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*AccessControlEnumerableFilterer, error) { contract, err := bindAccessControlEnumerable(address, nil, nil, filterer) if err != nil { return nil, err } return &AccessControlEnumerableFilterer{contract: contract}, nil } // bindAccessControlEnumerable binds a generic wrapper to an already deployed contract. func bindAccessControlEnumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(AccessControlEnumerableABI)) 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 (_AccessControlEnumerable *AccessControlEnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AccessControlEnumerable.Contract.AccessControlEnumerableCaller.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 (_AccessControlEnumerable *AccessControlEnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.AccessControlEnumerableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AccessControlEnumerable *AccessControlEnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.AccessControlEnumerableTransactor.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 (_AccessControlEnumerable *AccessControlEnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AccessControlEnumerable.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 (_AccessControlEnumerable *AccessControlEnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AccessControlEnumerable *AccessControlEnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.contract.Transact(opts, method, params...) } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_AccessControlEnumerable *AccessControlEnumerableCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _AccessControlEnumerable.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_AccessControlEnumerable *AccessControlEnumerableSession) DEFAULTADMINROLE() ([32]byte, error) { return _AccessControlEnumerable.Contract.DEFAULTADMINROLE(&_AccessControlEnumerable.CallOpts) } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) DEFAULTADMINROLE() ([32]byte, error) { return _AccessControlEnumerable.Contract.DEFAULTADMINROLE(&_AccessControlEnumerable.CallOpts) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_AccessControlEnumerable *AccessControlEnumerableCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { var out []interface{} err := _AccessControlEnumerable.contract.Call(opts, &out, "getRoleAdmin", role) if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_AccessControlEnumerable *AccessControlEnumerableSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _AccessControlEnumerable.Contract.GetRoleAdmin(&_AccessControlEnumerable.CallOpts, role) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _AccessControlEnumerable.Contract.GetRoleAdmin(&_AccessControlEnumerable.CallOpts, role) } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_AccessControlEnumerable *AccessControlEnumerableCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) { var out []interface{} err := _AccessControlEnumerable.contract.Call(opts, &out, "getRoleMember", role, index) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_AccessControlEnumerable *AccessControlEnumerableSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { return _AccessControlEnumerable.Contract.GetRoleMember(&_AccessControlEnumerable.CallOpts, role, index) } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { return _AccessControlEnumerable.Contract.GetRoleMember(&_AccessControlEnumerable.CallOpts, role, index) } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_AccessControlEnumerable *AccessControlEnumerableCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) { var out []interface{} err := _AccessControlEnumerable.contract.Call(opts, &out, "getRoleMemberCount", role) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_AccessControlEnumerable *AccessControlEnumerableSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { return _AccessControlEnumerable.Contract.GetRoleMemberCount(&_AccessControlEnumerable.CallOpts, role) } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { return _AccessControlEnumerable.Contract.GetRoleMemberCount(&_AccessControlEnumerable.CallOpts, role) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_AccessControlEnumerable *AccessControlEnumerableCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { var out []interface{} err := _AccessControlEnumerable.contract.Call(opts, &out, "hasRole", role, account) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_AccessControlEnumerable *AccessControlEnumerableSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _AccessControlEnumerable.Contract.HasRole(&_AccessControlEnumerable.CallOpts, role, account) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _AccessControlEnumerable.Contract.HasRole(&_AccessControlEnumerable.CallOpts, role, account) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_AccessControlEnumerable *AccessControlEnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _AccessControlEnumerable.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_AccessControlEnumerable *AccessControlEnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _AccessControlEnumerable.Contract.SupportsInterface(&_AccessControlEnumerable.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _AccessControlEnumerable.Contract.SupportsInterface(&_AccessControlEnumerable.CallOpts, interfaceId) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_AccessControlEnumerable *AccessControlEnumerableTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.contract.Transact(opts, "grantRole", role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_AccessControlEnumerable *AccessControlEnumerableSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.GrantRole(&_AccessControlEnumerable.TransactOpts, role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_AccessControlEnumerable *AccessControlEnumerableTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.GrantRole(&_AccessControlEnumerable.TransactOpts, role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() func (_AccessControlEnumerable *AccessControlEnumerableTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.contract.Transact(opts, "renounceRole", role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() func (_AccessControlEnumerable *AccessControlEnumerableSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.RenounceRole(&_AccessControlEnumerable.TransactOpts, role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() func (_AccessControlEnumerable *AccessControlEnumerableTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.RenounceRole(&_AccessControlEnumerable.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_AccessControlEnumerable *AccessControlEnumerableTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.contract.Transact(opts, "revokeRole", role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_AccessControlEnumerable *AccessControlEnumerableSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.RevokeRole(&_AccessControlEnumerable.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_AccessControlEnumerable *AccessControlEnumerableTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.RevokeRole(&_AccessControlEnumerable.TransactOpts, role, account) } // AccessControlEnumerableRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the AccessControlEnumerable contract. type AccessControlEnumerableRoleAdminChangedIterator struct { Event *AccessControlEnumerableRoleAdminChanged // 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 *AccessControlEnumerableRoleAdminChangedIterator) 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(AccessControlEnumerableRoleAdminChanged) 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(AccessControlEnumerableRoleAdminChanged) 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 *AccessControlEnumerableRoleAdminChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AccessControlEnumerableRoleAdminChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // AccessControlEnumerableRoleAdminChanged represents a RoleAdminChanged event raised by the AccessControlEnumerable contract. type AccessControlEnumerableRoleAdminChanged struct { Role [32]byte PreviousAdminRole [32]byte NewAdminRole [32]byte Raw types.Log // Blockchain specific contextual infos } // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*AccessControlEnumerableRoleAdminChangedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _AccessControlEnumerable.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) if err != nil { return nil, err } return &AccessControlEnumerableRoleAdminChangedIterator{contract: _AccessControlEnumerable.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil } // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *AccessControlEnumerableRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _AccessControlEnumerable.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) 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(AccessControlEnumerableRoleAdminChanged) if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleAdminChanged", 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 } // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) ParseRoleAdminChanged(log types.Log) (*AccessControlEnumerableRoleAdminChanged, error) { event := new(AccessControlEnumerableRoleAdminChanged) if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { return nil, err } event.Raw = log return event, nil } // AccessControlEnumerableRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the AccessControlEnumerable contract. type AccessControlEnumerableRoleGrantedIterator struct { Event *AccessControlEnumerableRoleGranted // 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 *AccessControlEnumerableRoleGrantedIterator) 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(AccessControlEnumerableRoleGranted) 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(AccessControlEnumerableRoleGranted) 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 *AccessControlEnumerableRoleGrantedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AccessControlEnumerableRoleGrantedIterator) Close() error { it.sub.Unsubscribe() return nil } // AccessControlEnumerableRoleGranted represents a RoleGranted event raised by the AccessControlEnumerable contract. type AccessControlEnumerableRoleGranted struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlEnumerableRoleGrantedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _AccessControlEnumerable.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &AccessControlEnumerableRoleGrantedIterator{contract: _AccessControlEnumerable.contract, event: "RoleGranted", logs: logs, sub: sub}, nil } // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *AccessControlEnumerableRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _AccessControlEnumerable.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 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(AccessControlEnumerableRoleGranted) if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleGranted", 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 } // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) ParseRoleGranted(log types.Log) (*AccessControlEnumerableRoleGranted, error) { event := new(AccessControlEnumerableRoleGranted) if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleGranted", log); err != nil { return nil, err } event.Raw = log return event, nil } // AccessControlEnumerableRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the AccessControlEnumerable contract. type AccessControlEnumerableRoleRevokedIterator struct { Event *AccessControlEnumerableRoleRevoked // 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 *AccessControlEnumerableRoleRevokedIterator) 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(AccessControlEnumerableRoleRevoked) 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(AccessControlEnumerableRoleRevoked) 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 *AccessControlEnumerableRoleRevokedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AccessControlEnumerableRoleRevokedIterator) Close() error { it.sub.Unsubscribe() return nil } // AccessControlEnumerableRoleRevoked represents a RoleRevoked event raised by the AccessControlEnumerable contract. type AccessControlEnumerableRoleRevoked struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlEnumerableRoleRevokedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _AccessControlEnumerable.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &AccessControlEnumerableRoleRevokedIterator{contract: _AccessControlEnumerable.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil } // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *AccessControlEnumerableRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _AccessControlEnumerable.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 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(AccessControlEnumerableRoleRevoked) if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleRevoked", 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 } // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) ParseRoleRevoked(log types.Log) (*AccessControlEnumerableRoleRevoked, error) { event := new(AccessControlEnumerableRoleRevoked) if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleRevoked", log); err != nil { return nil, err } event.Raw = log return event, nil } // AddressMetaData contains all meta data concerning the Address contract. var AddressMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220974843254cf8569e354f7abfc84d67e8842033f54611688a73ae56434ff6c20b64736f6c63430008010033", } // AddressABI is the input ABI used to generate the binding from. // Deprecated: Use AddressMetaData.ABI instead. var AddressABI = AddressMetaData.ABI // AddressBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use AddressMetaData.Bin instead. var AddressBin = AddressMetaData.Bin // DeployAddress deploys a new Ethereum contract, binding an instance of Address to it. func DeployAddress(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Address, error) { parsed, err := AddressMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(AddressBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil } // Address is an auto generated Go binding around an Ethereum contract. type Address struct { AddressCaller // Read-only binding to the contract AddressTransactor // Write-only binding to the contract AddressFilterer // Log filterer for contract events } // AddressCaller is an auto generated read-only Go binding around an Ethereum contract. type AddressCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AddressTransactor is an auto generated write-only Go binding around an Ethereum contract. type AddressTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AddressFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type AddressFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AddressSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type AddressSession struct { Contract *Address // 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 } // AddressCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type AddressCallerSession struct { Contract *AddressCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // AddressTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type AddressTransactorSession struct { Contract *AddressTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AddressRaw is an auto generated low-level Go binding around an Ethereum contract. type AddressRaw struct { Contract *Address // Generic contract binding to access the raw methods on } // AddressCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type AddressCallerRaw struct { Contract *AddressCaller // Generic read-only contract binding to access the raw methods on } // AddressTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type AddressTransactorRaw struct { Contract *AddressTransactor // Generic write-only contract binding to access the raw methods on } // NewAddress creates a new instance of Address, bound to a specific deployed contract. func NewAddress(address common.Address, backend bind.ContractBackend) (*Address, error) { contract, err := bindAddress(address, backend, backend, backend) if err != nil { return nil, err } return &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil } // NewAddressCaller creates a new read-only instance of Address, bound to a specific deployed contract. func NewAddressCaller(address common.Address, caller bind.ContractCaller) (*AddressCaller, error) { contract, err := bindAddress(address, caller, nil, nil) if err != nil { return nil, err } return &AddressCaller{contract: contract}, nil } // NewAddressTransactor creates a new write-only instance of Address, bound to a specific deployed contract. func NewAddressTransactor(address common.Address, transactor bind.ContractTransactor) (*AddressTransactor, error) { contract, err := bindAddress(address, nil, transactor, nil) if err != nil { return nil, err } return &AddressTransactor{contract: contract}, nil } // NewAddressFilterer creates a new log filterer instance of Address, bound to a specific deployed contract. func NewAddressFilterer(address common.Address, filterer bind.ContractFilterer) (*AddressFilterer, error) { contract, err := bindAddress(address, nil, nil, filterer) if err != nil { return nil, err } return &AddressFilterer{contract: contract}, nil } // bindAddress binds a generic wrapper to an already deployed contract. func bindAddress(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(AddressABI)) 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 (_Address *AddressRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Address.Contract.AddressCaller.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 (_Address *AddressRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Address.Contract.AddressTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Address *AddressRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Address.Contract.AddressTransactor.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 (_Address *AddressCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Address.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 (_Address *AddressTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Address.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Address *AddressTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Address.Contract.contract.Transact(opts, method, params...) } // ContextMetaData contains all meta data concerning the Context contract. var ContextMetaData = &bind.MetaData{ ABI: "[]", } // ContextABI is the input ABI used to generate the binding from. // Deprecated: Use ContextMetaData.ABI instead. var ContextABI = ContextMetaData.ABI // Context is an auto generated Go binding around an Ethereum contract. type Context struct { ContextCaller // Read-only binding to the contract ContextTransactor // Write-only binding to the contract ContextFilterer // Log filterer for contract events } // ContextCaller is an auto generated read-only Go binding around an Ethereum contract. type ContextCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ContextTransactor is an auto generated write-only Go binding around an Ethereum contract. type ContextTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ContextFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type ContextFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ContextSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type ContextSession struct { Contract *Context // 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 } // ContextCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type ContextCallerSession struct { Contract *ContextCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ContextTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type ContextTransactorSession struct { Contract *ContextTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ContextRaw is an auto generated low-level Go binding around an Ethereum contract. type ContextRaw struct { Contract *Context // Generic contract binding to access the raw methods on } // ContextCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type ContextCallerRaw struct { Contract *ContextCaller // Generic read-only contract binding to access the raw methods on } // ContextTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type ContextTransactorRaw struct { Contract *ContextTransactor // Generic write-only contract binding to access the raw methods on } // NewContext creates a new instance of Context, bound to a specific deployed contract. func NewContext(address common.Address, backend bind.ContractBackend) (*Context, error) { contract, err := bindContext(address, backend, backend, backend) if err != nil { return nil, err } return &Context{ContextCaller: ContextCaller{contract: contract}, ContextTransactor: ContextTransactor{contract: contract}, ContextFilterer: ContextFilterer{contract: contract}}, nil } // NewContextCaller creates a new read-only instance of Context, bound to a specific deployed contract. func NewContextCaller(address common.Address, caller bind.ContractCaller) (*ContextCaller, error) { contract, err := bindContext(address, caller, nil, nil) if err != nil { return nil, err } return &ContextCaller{contract: contract}, nil } // NewContextTransactor creates a new write-only instance of Context, bound to a specific deployed contract. func NewContextTransactor(address common.Address, transactor bind.ContractTransactor) (*ContextTransactor, error) { contract, err := bindContext(address, nil, transactor, nil) if err != nil { return nil, err } return &ContextTransactor{contract: contract}, nil } // NewContextFilterer creates a new log filterer instance of Context, bound to a specific deployed contract. func NewContextFilterer(address common.Address, filterer bind.ContractFilterer) (*ContextFilterer, error) { contract, err := bindContext(address, nil, nil, filterer) if err != nil { return nil, err } return &ContextFilterer{contract: contract}, nil } // bindContext binds a generic wrapper to an already deployed contract. func bindContext(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ContextABI)) 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 (_Context *ContextRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Context.Contract.ContextCaller.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 (_Context *ContextRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Context.Contract.ContextTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Context *ContextRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Context.Contract.ContextTransactor.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 (_Context *ContextCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Context.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 (_Context *ContextTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Context.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Context *ContextTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Context.Contract.contract.Transact(opts, method, params...) } // ERC1155MetaData contains all meta data concerning the ERC1155 contract. var ERC1155MetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"uri_\",\"type\":\"string\"}],\"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\":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\":\"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\":\"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\":\"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\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "00fdd58e": "balanceOf(address,uint256)", "4e1273f4": "balanceOfBatch(address[],uint256[])", "e985e9c5": "isApprovedForAll(address,address)", "2eb2c2d6": "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)", "f242432a": "safeTransferFrom(address,address,uint256,uint256,bytes)", "a22cb465": "setApprovalForAll(address,bool)", "01ffc9a7": "supportsInterface(bytes4)", "0e89341c": "uri(uint256)", }, Bin: "0x60806040523480156200001157600080fd5b506040516200174238038062001742833981016040819052620000349162000105565b6200003f8162000046565b506200022e565b80516200005b9060029060208401906200005f565b5050565b8280546200006d90620001db565b90600052602060002090601f016020900481019282620000915760008555620000dc565b82601f10620000ac57805160ff1916838001178555620000dc565b82800160010185558215620000dc579182015b82811115620000dc578251825591602001919060010190620000bf565b50620000ea929150620000ee565b5090565b5b80821115620000ea5760008155600101620000ef565b6000602080838503121562000118578182fd5b82516001600160401b03808211156200012f578384fd5b818501915085601f83011262000143578384fd5b81518181111562000158576200015862000218565b604051601f8201601f19908116603f0116810190838211818310171562000183576200018362000218565b8160405282815288868487010111156200019b578687fd5b8693505b82841015620001be57848401860151818501870152928501926200019f565b82841115620001cf57868684830101525b98975050505050505050565b600281046001821680620001f057607f821691505b602082108114156200021257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b611504806200023e6000396000f3fe608060405234801561001057600080fd5b50600436106100875760003560e01c80634e1273f41161005b5780634e1273f41461010a578063a22cb4651461012a578063e985e9c51461013d578063f242432a1461015057610087565b8062fdd58e1461008c57806301ffc9a7146100b55780630e89341c146100d55780632eb2c2d6146100f5575b600080fd5b61009f61009a366004610d4f565b610163565b6040516100ac919061130a565b60405180910390f35b6100c86100c3366004610e41565b6101ba565b6040516100ac9190611001565b6100e86100e3366004610e80565b610202565b6040516100ac919061100c565b610108610103366004610c0c565b610296565b005b61011d610118366004610d78565b6102f4565b6040516100ac9190610fc0565b610108610138366004610d15565b610414565b6100c861014b366004610bda565b61042a565b61010861015e366004610cb2565b610458565b60006001600160a01b0383166101945760405162461bcd60e51b815260040161018b906110bb565b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b14806101eb57506001600160e01b031982166303a24d0760e21b145b806101fa57506101fa826104af565b90505b919050565b6060600280546102119061135d565b80601f016020809104026020016040519081016040528092919081815260200182805461023d9061135d565b801561028a5780601f1061025f5761010080835404028352916020019161028a565b820191906000526020600020905b81548152906001019060200180831161026d57829003601f168201915b50505050509050919050565b61029e6104c8565b6001600160a01b0316856001600160a01b031614806102c457506102c48561014b6104c8565b6102e05760405162461bcd60e51b815260040161018b90611194565b6102ed85858585856104cd565b5050505050565b606081518351146103175760405162461bcd60e51b815260040161018b90611279565b6000835167ffffffffffffffff81111561034157634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561036a578160200160208202803683370190505b50905060005b845181101561040c576103d185828151811061039c57634e487b7160e01b600052603260045260246000fd5b60200260200101518583815181106103c457634e487b7160e01b600052603260045260246000fd5b6020026020010151610163565b8282815181106103f157634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610405816113c5565b9050610370565b509392505050565b61042661041f6104c8565b838361069e565b5050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b6104606104c8565b6001600160a01b0316856001600160a01b0316148061048657506104868561014b6104c8565b6104a25760405162461bcd60e51b815260040161018b90611106565b6102ed8585858585610741565b6001600160e01b031981166301ffc9a760e01b14919050565b335b90565b81518351146104ee5760405162461bcd60e51b815260040161018b906112c2565b6001600160a01b0384166105145760405162461bcd60e51b815260040161018b9061114f565b600061051e6104c8565b905061052e818787878787610696565b60005b845181101561063057600085828151811061055c57634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085838151811061058857634e487b7160e01b600052603260045260246000fd5b602090810291909101810151600084815280835260408082206001600160a01b038e1683529093529190912054909150818110156105d85760405162461bcd60e51b815260040161018b906111e6565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610615908490611345565b9250508190555050505080610629906113c5565b9050610531565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610680929190610fd3565b60405180910390a4610696818787878787610884565b505050505050565b816001600160a01b0316836001600160a01b031614156106d05760405162461bcd60e51b815260040161018b90611230565b6001600160a01b0383811660008181526001602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190610734908590611001565b60405180910390a3505050565b6001600160a01b0384166107675760405162461bcd60e51b815260040161018b9061114f565b60006107716104c8565b9050610791818787610782886109a9565b61078b886109a9565b87610696565b6000848152602081815260408083206001600160a01b038a168452909152902054838110156107d25760405162461bcd60e51b815260040161018b906111e6565b6000858152602081815260408083206001600160a01b038b811685529252808320878503905590881682528120805486929061080f908490611345565b92505081905550856001600160a01b0316876001600160a01b0316836001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628888604051610865929190611313565b60405180910390a461087b828888888888610a02565b50505050505050565b610896846001600160a01b0316610ad3565b156106965760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906108cf9089908990889088908890600401610f1d565b602060405180830381600087803b1580156108e957600080fd5b505af1925050508015610919575060408051601f3d908101601f1916820190925261091691810190610e64565b60015b6109795761092561140c565b806308c379a0141561095f575061093a611423565b806109455750610961565b8060405162461bcd60e51b815260040161018b919061100c565b505b60405162461bcd60e51b815260040161018b9061101f565b6001600160e01b0319811663bc197c8160e01b1461087b5760405162461bcd60e51b815260040161018b90611073565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106109f157634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b610a14846001600160a01b0316610ad3565b156106965760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190610a4d9089908990889088908890600401610f7b565b602060405180830381600087803b158015610a6757600080fd5b505af1925050508015610a97575060408051601f3d908101601f19168201909252610a9491810190610e64565b60015b610aa35761092561140c565b6001600160e01b0319811663f23a6e6160e01b1461087b5760405162461bcd60e51b815260040161018b90611073565b6001600160a01b03163b151590565b80356001600160a01b03811681146101fd57600080fd5b600082601f830112610b09578081fd5b81356020610b1682611321565b604051610b238282611398565b838152828101915085830183850287018401881015610b40578586fd5b855b85811015610b5e57813584529284019290840190600101610b42565b5090979650505050505050565b600082601f830112610b7b578081fd5b813567ffffffffffffffff811115610b9557610b956113f6565b604051610bac601f8301601f191660200182611398565b818152846020838601011115610bc0578283fd5b816020850160208301379081016020019190915292915050565b60008060408385031215610bec578182fd5b610bf583610ae2565b9150610c0360208401610ae2565b90509250929050565b600080600080600060a08688031215610c23578081fd5b610c2c86610ae2565b9450610c3a60208701610ae2565b9350604086013567ffffffffffffffff80821115610c56578283fd5b610c6289838a01610af9565b94506060880135915080821115610c77578283fd5b610c8389838a01610af9565b93506080880135915080821115610c98578283fd5b50610ca588828901610b6b565b9150509295509295909350565b600080600080600060a08688031215610cc9578081fd5b610cd286610ae2565b9450610ce060208701610ae2565b93506040860135925060608601359150608086013567ffffffffffffffff811115610d09578182fd5b610ca588828901610b6b565b60008060408385031215610d27578182fd5b610d3083610ae2565b915060208301358015158114610d44578182fd5b809150509250929050565b60008060408385031215610d61578182fd5b610d6a83610ae2565b946020939093013593505050565b60008060408385031215610d8a578182fd5b823567ffffffffffffffff80821115610da1578384fd5b818501915085601f830112610db4578384fd5b81356020610dc182611321565b604051610dce8282611398565b8381528281019150858301838502870184018b1015610deb578889fd5b8896505b84871015610e1457610e0081610ae2565b835260019690960195918301918301610def565b5096505086013592505080821115610e2a578283fd5b50610e3785828601610af9565b9150509250929050565b600060208284031215610e52578081fd5b8135610e5d816114b5565b9392505050565b600060208284031215610e75578081fd5b8151610e5d816114b5565b600060208284031215610e91578081fd5b5035919050565b6000815180845260208085019450808401835b83811015610ec757815187529582019590820190600101610eab565b509495945050505050565b60008151808452815b81811015610ef757602081850181015186830182015201610edb565b81811115610f085782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0386811682528516602082015260a060408201819052600090610f4990830186610e98565b8281036060840152610f5b8186610e98565b90508281036080840152610f6f8185610ed2565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090610fb590830184610ed2565b979650505050505050565b600060208252610e5d6020830184610e98565b600060408252610fe66040830185610e98565b8281036020840152610ff88185610e98565b95945050505050565b901515815260200190565b600060208252610e5d6020830184610ed2565b60208082526034908201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356040820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606082015260800190565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6020808252602b908201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60408201526a65726f206164647265737360a81b606082015260800190565b60208082526029908201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260408201526808185c1c1c9bdd995960ba1b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526032908201527f455243313135353a207472616e736665722063616c6c6572206973206e6f74206040820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60208082526029908201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604082015268103337b91039b2b63360b91b606082015260800190565b60208082526029908201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604082015268040dad2e6dac2e8c6d60bb1b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b90815260200190565b918252602082015260400190565b600067ffffffffffffffff82111561133b5761133b6113f6565b5060209081020190565b60008219821115611358576113586113e0565b500190565b60028104600182168061137157607f821691505b6020821081141561139257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8201601f1916810167ffffffffffffffff811182821017156113be576113be6113f6565b6040525050565b60006000198214156113d9576113d96113e0565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d11156104ca57600481823e5160e01c90565b600060443d1015611433576104ca565b6040516003193d81016004833e81513d67ffffffffffffffff81602484011181841117156114655750505050506104ca565b828501915081518181111561147f575050505050506104ca565b843d870101602082850101111561149b575050505050506104ca565b6114aa60208286010187611398565b509094505050505090565b6001600160e01b0319811681146114cb57600080fd5b5056fea2646970667358221220537687b9bdc7a223ea7d84520fd90da3fbe0f610d3d2126a4664bc2baf4c126964736f6c63430008010033", } // ERC1155ABI is the input ABI used to generate the binding from. // Deprecated: Use ERC1155MetaData.ABI instead. var ERC1155ABI = ERC1155MetaData.ABI // Deprecated: Use ERC1155MetaData.Sigs instead. // ERC1155FuncSigs maps the 4-byte function signature to its string representation. var ERC1155FuncSigs = ERC1155MetaData.Sigs // ERC1155Bin is the compiled bytecode used for deploying new contracts. // Deprecated: Use ERC1155MetaData.Bin instead. var ERC1155Bin = ERC1155MetaData.Bin // DeployERC1155 deploys a new Ethereum contract, binding an instance of ERC1155 to it. func DeployERC1155(auth *bind.TransactOpts, backend bind.ContractBackend, uri_ string) (common.Address, *types.Transaction, *ERC1155, error) { parsed, err := ERC1155MetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ERC1155Bin), backend, uri_) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &ERC1155{ERC1155Caller: ERC1155Caller{contract: contract}, ERC1155Transactor: ERC1155Transactor{contract: contract}, ERC1155Filterer: ERC1155Filterer{contract: contract}}, nil } // 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 := abi.JSON(strings.NewReader(ERC1155ABI)) 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 account, uint256 id) view returns(uint256) func (_ERC1155 *ERC1155Caller) BalanceOf(opts *bind.CallOpts, account common.Address, id *big.Int) (*big.Int, error) { var out []interface{} err := _ERC1155.contract.Call(opts, &out, "balanceOf", account, 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 account, uint256 id) view returns(uint256) func (_ERC1155 *ERC1155Session) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) { return _ERC1155.Contract.BalanceOf(&_ERC1155.CallOpts, account, id) } // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e. // // Solidity: function balanceOf(address account, uint256 id) view returns(uint256) func (_ERC1155 *ERC1155CallerSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) { return _ERC1155.Contract.BalanceOf(&_ERC1155.CallOpts, account, id) } // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4. // // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[]) func (_ERC1155 *ERC1155Caller) BalanceOfBatch(opts *bind.CallOpts, accounts []common.Address, ids []*big.Int) ([]*big.Int, error) { var out []interface{} err := _ERC1155.contract.Call(opts, &out, "balanceOfBatch", accounts, 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[] accounts, uint256[] ids) view returns(uint256[]) func (_ERC1155 *ERC1155Session) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) { return _ERC1155.Contract.BalanceOfBatch(&_ERC1155.CallOpts, accounts, ids) } // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4. // // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[]) func (_ERC1155 *ERC1155CallerSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) { return _ERC1155.Contract.BalanceOfBatch(&_ERC1155.CallOpts, accounts, ids) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address account, address operator) view returns(bool) func (_ERC1155 *ERC1155Caller) IsApprovedForAll(opts *bind.CallOpts, account common.Address, operator common.Address) (bool, error) { var out []interface{} err := _ERC1155.contract.Call(opts, &out, "isApprovedForAll", account, 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 account, address operator) view returns(bool) func (_ERC1155 *ERC1155Session) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) { return _ERC1155.Contract.IsApprovedForAll(&_ERC1155.CallOpts, account, operator) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address account, address operator) view returns(bool) func (_ERC1155 *ERC1155CallerSession) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) { return _ERC1155.Contract.IsApprovedForAll(&_ERC1155.CallOpts, account, operator) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC1155 *ERC1155Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _ERC1155.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC1155 *ERC1155Session) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC1155.Contract.SupportsInterface(&_ERC1155.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC1155 *ERC1155CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC1155.Contract.SupportsInterface(&_ERC1155.CallOpts, interfaceId) } // Uri is a free data retrieval call binding the contract method 0x0e89341c. // // Solidity: function uri(uint256 ) view returns(string) func (_ERC1155 *ERC1155Caller) Uri(opts *bind.CallOpts, arg0 *big.Int) (string, error) { var out []interface{} err := _ERC1155.contract.Call(opts, &out, "uri", arg0) if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // Uri is a free data retrieval call binding the contract method 0x0e89341c. // // Solidity: function uri(uint256 ) view returns(string) func (_ERC1155 *ERC1155Session) Uri(arg0 *big.Int) (string, error) { return _ERC1155.Contract.Uri(&_ERC1155.CallOpts, arg0) } // Uri is a free data retrieval call binding the contract method 0x0e89341c. // // Solidity: function uri(uint256 ) view returns(string) func (_ERC1155 *ERC1155CallerSession) Uri(arg0 *big.Int) (string, error) { return _ERC1155.Contract.Uri(&_ERC1155.CallOpts, arg0) } // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. // // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns() func (_ERC1155 *ERC1155Transactor) SafeBatchTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) { return _ERC1155.contract.Transact(opts, "safeBatchTransferFrom", from, to, ids, amounts, data) } // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. // // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns() func (_ERC1155 *ERC1155Session) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) { return _ERC1155.Contract.SafeBatchTransferFrom(&_ERC1155.TransactOpts, from, to, ids, amounts, data) } // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. // // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns() func (_ERC1155 *ERC1155TransactorSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) { return _ERC1155.Contract.SafeBatchTransferFrom(&_ERC1155.TransactOpts, from, to, ids, amounts, data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. // // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns() func (_ERC1155 *ERC1155Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { return _ERC1155.contract.Transact(opts, "safeTransferFrom", from, to, id, amount, data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. // // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns() func (_ERC1155 *ERC1155Session) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { return _ERC1155.Contract.SafeTransferFrom(&_ERC1155.TransactOpts, from, to, id, amount, data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. // // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns() func (_ERC1155 *ERC1155TransactorSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { return _ERC1155.Contract.SafeTransferFrom(&_ERC1155.TransactOpts, from, to, id, amount, 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 { Account 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 account, address indexed operator, bool approved) func (_ERC1155 *ERC1155Filterer) FilterApprovalForAll(opts *bind.FilterOpts, account []common.Address, operator []common.Address) (*ERC1155ApprovalForAllIterator, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _ERC1155.contract.FilterLogs(opts, "ApprovalForAll", accountRule, 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 account, address indexed operator, bool approved) func (_ERC1155 *ERC1155Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC1155ApprovalForAll, account []common.Address, operator []common.Address) (event.Subscription, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _ERC1155.contract.WatchLogs(opts, "ApprovalForAll", accountRule, 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 account, 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 } // ERC165MetaData contains all meta data concerning the ERC165 contract. var ERC165MetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "01ffc9a7": "supportsInterface(bytes4)", }, } // ERC165ABI is the input ABI used to generate the binding from. // Deprecated: Use ERC165MetaData.ABI instead. var ERC165ABI = ERC165MetaData.ABI // Deprecated: Use ERC165MetaData.Sigs instead. // ERC165FuncSigs maps the 4-byte function signature to its string representation. var ERC165FuncSigs = ERC165MetaData.Sigs // ERC165 is an auto generated Go binding around an Ethereum contract. type ERC165 struct { ERC165Caller // Read-only binding to the contract ERC165Transactor // Write-only binding to the contract ERC165Filterer // Log filterer for contract events } // ERC165Caller is an auto generated read-only Go binding around an Ethereum contract. type ERC165Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC165Transactor is an auto generated write-only Go binding around an Ethereum contract. type ERC165Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC165Filterer is an auto generated log filtering Go binding around an Ethereum contract events. type ERC165Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC165Session is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type ERC165Session struct { Contract *ERC165 // 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 } // ERC165CallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type ERC165CallerSession struct { Contract *ERC165Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ERC165TransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type ERC165TransactorSession struct { Contract *ERC165Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC165Raw is an auto generated low-level Go binding around an Ethereum contract. type ERC165Raw struct { Contract *ERC165 // Generic contract binding to access the raw methods on } // ERC165CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type ERC165CallerRaw struct { Contract *ERC165Caller // Generic read-only contract binding to access the raw methods on } // ERC165TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type ERC165TransactorRaw struct { Contract *ERC165Transactor // Generic write-only contract binding to access the raw methods on } // NewERC165 creates a new instance of ERC165, bound to a specific deployed contract. func NewERC165(address common.Address, backend bind.ContractBackend) (*ERC165, error) { contract, err := bindERC165(address, backend, backend, backend) if err != nil { return nil, err } return &ERC165{ERC165Caller: ERC165Caller{contract: contract}, ERC165Transactor: ERC165Transactor{contract: contract}, ERC165Filterer: ERC165Filterer{contract: contract}}, nil } // NewERC165Caller creates a new read-only instance of ERC165, bound to a specific deployed contract. func NewERC165Caller(address common.Address, caller bind.ContractCaller) (*ERC165Caller, error) { contract, err := bindERC165(address, caller, nil, nil) if err != nil { return nil, err } return &ERC165Caller{contract: contract}, nil } // NewERC165Transactor creates a new write-only instance of ERC165, bound to a specific deployed contract. func NewERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC165Transactor, error) { contract, err := bindERC165(address, nil, transactor, nil) if err != nil { return nil, err } return &ERC165Transactor{contract: contract}, nil } // NewERC165Filterer creates a new log filterer instance of ERC165, bound to a specific deployed contract. func NewERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC165Filterer, error) { contract, err := bindERC165(address, nil, nil, filterer) if err != nil { return nil, err } return &ERC165Filterer{contract: contract}, nil } // bindERC165 binds a generic wrapper to an already deployed contract. func bindERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ERC165ABI)) 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 (_ERC165 *ERC165Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ERC165.Contract.ERC165Caller.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 (_ERC165 *ERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC165.Contract.ERC165Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC165 *ERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC165.Contract.ERC165Transactor.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 (_ERC165 *ERC165CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ERC165.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 (_ERC165 *ERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC165.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC165 *ERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC165.Contract.contract.Transact(opts, method, params...) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC165 *ERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _ERC165.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC165 *ERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC165 *ERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) } // ERC721MetaData contains all meta data concerning the ERC721 contract. var ERC721MetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "095ea7b3": "approve(address,uint256)", "70a08231": "balanceOf(address)", "081812fc": "getApproved(uint256)", "e985e9c5": "isApprovedForAll(address,address)", "06fdde03": "name()", "6352211e": "ownerOf(uint256)", "42842e0e": "safeTransferFrom(address,address,uint256)", "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", "a22cb465": "setApprovalForAll(address,bool)", "01ffc9a7": "supportsInterface(bytes4)", "95d89b41": "symbol()", "c87b56dd": "tokenURI(uint256)", "23b872dd": "transferFrom(address,address,uint256)", }, Bin: "0x60806040523480156200001157600080fd5b5060405162001589380380620015898339810160408190526200003491620001c1565b81516200004990600090602085019062000068565b5080516200005f90600190602084019062000068565b5050506200027b565b828054620000769062000228565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b600082601f8301126200011f578081fd5b81516001600160401b03808211156200013c576200013c62000265565b604051601f8301601f19908116603f0116810190828211818310171562000167576200016762000265565b8160405283815260209250868385880101111562000183578485fd5b8491505b83821015620001a6578582018301518183018401529082019062000187565b83821115620001b757848385830101525b9695505050505050565b60008060408385031215620001d4578182fd5b82516001600160401b0380821115620001eb578384fd5b620001f9868387016200010e565b935060208501519150808211156200020f578283fd5b506200021e858286016200010e565b9150509250929050565b6002810460018216806200023d57607f821691505b602082108114156200025f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b6112fe806200028b6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101a8578063b88d4fde146101bb578063c87b56dd146101ce578063e985e9c5146101e1576100cf565b80636352211e1461016d57806370a082311461018057806395d89b41146101a0576100cf565b806301ffc9a7146100d457806306fdde03146100fd578063081812fc14610112578063095ea7b31461013257806323b872dd1461014757806342842e0e1461015a575b600080fd5b6100e76100e2366004610cf6565b6101f4565b6040516100f49190610df2565b60405180910390f35b61010561023c565b6040516100f49190610dfd565b610125610120366004610d2e565b6102ce565b6040516100f49190610da1565b610145610140366004610ccd565b61031a565b005b610145610155366004610b83565b6103b2565b610145610168366004610b83565b6103ea565b61012561017b366004610d2e565b610405565b61019361018e366004610b37565b61043a565b6040516100f4919061118b565b61010561047e565b6101456101b6366004610c93565b61048d565b6101456101c9366004610bbe565b6104a3565b6101056101dc366004610d2e565b6104e2565b6100e76101ef366004610b51565b610565565b60006001600160e01b031982166380ac58cd60e01b148061022557506001600160e01b03198216635b5e139f60e01b145b80610234575061023482610593565b90505b919050565b60606000805461024b90611203565b80601f016020809104026020016040519081016040528092919081815260200182805461027790611203565b80156102c45780601f10610299576101008083540402835291602001916102c4565b820191906000526020600020905b8154815290600101906020018083116102a757829003601f168201915b5050505050905090565b60006102d9826105ac565b6102fe5760405162461bcd60e51b81526004016102f59061105e565b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b600061032582610405565b9050806001600160a01b0316836001600160a01b031614156103595760405162461bcd60e51b81526004016102f5906110f9565b806001600160a01b031661036b6105c9565b6001600160a01b031614806103875750610387816101ef6105c9565b6103a35760405162461bcd60e51b81526004016102f590610f6e565b6103ad83836105cd565b505050565b6103c36103bd6105c9565b8261063b565b6103df5760405162461bcd60e51b81526004016102f59061113a565b6103ad8383836106c0565b6103ad838383604051806020016040528060008152506104a3565b6000818152600260205260408120546001600160a01b0316806102345760405162461bcd60e51b81526004016102f590611015565b60006001600160a01b0382166104625760405162461bcd60e51b81526004016102f590610fcb565b506001600160a01b031660009081526003602052604090205490565b60606001805461024b90611203565b61049f6104986105c9565b83836107f3565b5050565b6104b46104ae6105c9565b8361063b565b6104d05760405162461bcd60e51b81526004016102f59061113a565b6104dc84848484610896565b50505050565b60606104ed826105ac565b6105095760405162461bcd60e51b81526004016102f5906110aa565b60006105136108c9565b90506000815111610533576040518060200160405280600081525061055e565b8061053d846108db565b60405160200161054e929190610d72565b6040516020818303038152906040525b9392505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6001600160e01b031981166301ffc9a760e01b14919050565b6000908152600260205260409020546001600160a01b0316151590565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061060282610405565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610646826105ac565b6106625760405162461bcd60e51b81526004016102f590610f22565b600061066d83610405565b9050806001600160a01b0316846001600160a01b031614806106a85750836001600160a01b031661069d846102ce565b6001600160a01b0316145b806106b857506106b88185610565565b949350505050565b826001600160a01b03166106d382610405565b6001600160a01b0316146106f95760405162461bcd60e51b81526004016102f590610e62565b6001600160a01b03821661071f5760405162461bcd60e51b81526004016102f590610ea7565b61072a8383836103ad565b6107356000826105cd565b6001600160a01b038316600090815260036020526040812080546001929061075e9084906111c0565b90915550506001600160a01b038216600090815260036020526040812080546001929061078c908490611194565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46103ad8383836103ad565b816001600160a01b0316836001600160a01b031614156108255760405162461bcd60e51b81526004016102f590610eeb565b6001600160a01b0383811660008181526005602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190610889908590610df2565b60405180910390a3505050565b6108a18484846106c0565b6108ad848484846109f6565b6104dc5760405162461bcd60e51b81526004016102f590610e10565b60408051602081019091526000815290565b60608161090057506040805180820190915260018152600360fc1b6020820152610237565b8160005b811561092a57806109148161123e565b91506109239050600a836111ac565b9150610904565b60008167ffffffffffffffff81111561095357634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561097d576020820181803683370190505b5090505b84156106b8576109926001836111c0565b915061099f600a86611259565b6109aa906030611194565b60f81b8183815181106109cd57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506109ef600a866111ac565b9450610981565b6000610a0a846001600160a01b0316610b11565b15610b0657836001600160a01b031663150b7a02610a266105c9565b8786866040518563ffffffff1660e01b8152600401610a489493929190610db5565b602060405180830381600087803b158015610a6257600080fd5b505af1925050508015610a92575060408051601f3d908101601f19168201909252610a8f91810190610d12565b60015b610aec573d808015610ac0576040519150601f19603f3d011682016040523d82523d6000602084013e610ac5565b606091505b508051610ae45760405162461bcd60e51b81526004016102f590610e10565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506106b8565b506001949350505050565b6001600160a01b03163b151590565b80356001600160a01b038116811461023757600080fd5b600060208284031215610b48578081fd5b61055e82610b20565b60008060408385031215610b63578081fd5b610b6c83610b20565b9150610b7a60208401610b20565b90509250929050565b600080600060608486031215610b97578081fd5b610ba084610b20565b9250610bae60208501610b20565b9150604084013590509250925092565b60008060008060808587031215610bd3578081fd5b610bdc85610b20565b9350610bea60208601610b20565b925060408501359150606085013567ffffffffffffffff80821115610c0d578283fd5b818701915087601f830112610c20578283fd5b813581811115610c3257610c32611299565b604051601f8201601f19908116603f01168101908382118183101715610c5a57610c5a611299565b816040528281528a6020848701011115610c72578586fd5b82602086016020830137918201602001949094529598949750929550505050565b60008060408385031215610ca5578182fd5b610cae83610b20565b915060208301358015158114610cc2578182fd5b809150509250929050565b60008060408385031215610cdf578182fd5b610ce883610b20565b946020939093013593505050565b600060208284031215610d07578081fd5b813561055e816112af565b600060208284031215610d23578081fd5b815161055e816112af565b600060208284031215610d3f578081fd5b5035919050565b60008151808452610d5e8160208601602086016111d7565b601f01601f19169290920160200192915050565b60008351610d848184602088016111d7565b835190830190610d988183602088016111d7565b01949350505050565b6001600160a01b0391909116815260200190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090610de890830184610d46565b9695505050505050565b901515815260200190565b60006020825261055e6020830184610d46565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b90815260200190565b600082198211156111a7576111a761126d565b500190565b6000826111bb576111bb611283565b500490565b6000828210156111d2576111d261126d565b500390565b60005b838110156111f25781810151838201526020016111da565b838111156104dc5750506000910152565b60028104600182168061121757607f821691505b6020821081141561123857634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156112525761125261126d565b5060010190565b60008261126857611268611283565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b0319811681146112c557600080fd5b5056fea26469706673582212201ffd2d99d3cfb6ba7b371a3e2e1065b809abf1398c70241b47a0aff6b4f9695b64736f6c63430008010033", } // ERC721ABI is the input ABI used to generate the binding from. // Deprecated: Use ERC721MetaData.ABI instead. var ERC721ABI = ERC721MetaData.ABI // Deprecated: Use ERC721MetaData.Sigs instead. // ERC721FuncSigs maps the 4-byte function signature to its string representation. var ERC721FuncSigs = ERC721MetaData.Sigs // ERC721Bin is the compiled bytecode used for deploying new contracts. // Deprecated: Use ERC721MetaData.Bin instead. var ERC721Bin = ERC721MetaData.Bin // DeployERC721 deploys a new Ethereum contract, binding an instance of ERC721 to it. func DeployERC721(auth *bind.TransactOpts, backend bind.ContractBackend, name_ string, symbol_ string) (common.Address, *types.Transaction, *ERC721, error) { parsed, err := ERC721MetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ERC721Bin), backend, name_, symbol_) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil } // ERC721 is an auto generated Go binding around an Ethereum contract. type ERC721 struct { ERC721Caller // Read-only binding to the contract ERC721Transactor // Write-only binding to the contract ERC721Filterer // Log filterer for contract events } // ERC721Caller is an auto generated read-only Go binding around an Ethereum contract. type ERC721Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721Transactor is an auto generated write-only Go binding around an Ethereum contract. type ERC721Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721Filterer is an auto generated log filtering Go binding around an Ethereum contract events. type ERC721Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721Session is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type ERC721Session struct { Contract *ERC721 // 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 } // ERC721CallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type ERC721CallerSession struct { Contract *ERC721Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ERC721TransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type ERC721TransactorSession struct { Contract *ERC721Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC721Raw is an auto generated low-level Go binding around an Ethereum contract. type ERC721Raw struct { Contract *ERC721 // Generic contract binding to access the raw methods on } // ERC721CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type ERC721CallerRaw struct { Contract *ERC721Caller // Generic read-only contract binding to access the raw methods on } // ERC721TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type ERC721TransactorRaw struct { Contract *ERC721Transactor // Generic write-only contract binding to access the raw methods on } // NewERC721 creates a new instance of ERC721, bound to a specific deployed contract. func NewERC721(address common.Address, backend bind.ContractBackend) (*ERC721, error) { contract, err := bindERC721(address, backend, backend, backend) if err != nil { return nil, err } return &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil } // NewERC721Caller creates a new read-only instance of ERC721, bound to a specific deployed contract. func NewERC721Caller(address common.Address, caller bind.ContractCaller) (*ERC721Caller, error) { contract, err := bindERC721(address, caller, nil, nil) if err != nil { return nil, err } return &ERC721Caller{contract: contract}, nil } // NewERC721Transactor creates a new write-only instance of ERC721, bound to a specific deployed contract. func NewERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC721Transactor, error) { contract, err := bindERC721(address, nil, transactor, nil) if err != nil { return nil, err } return &ERC721Transactor{contract: contract}, nil } // NewERC721Filterer creates a new log filterer instance of ERC721, bound to a specific deployed contract. func NewERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC721Filterer, error) { contract, err := bindERC721(address, nil, nil, filterer) if err != nil { return nil, err } return &ERC721Filterer{contract: contract}, nil } // bindERC721 binds a generic wrapper to an already deployed contract. func bindERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ERC721ABI)) 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 (_ERC721 *ERC721Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ERC721.Contract.ERC721Caller.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 (_ERC721 *ERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC721.Contract.ERC721Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC721 *ERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC721.Contract.ERC721Transactor.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 (_ERC721 *ERC721CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ERC721.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 (_ERC721 *ERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC721.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC721 *ERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC721.Contract.contract.Transact(opts, method, params...) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256) func (_ERC721 *ERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { var out []interface{} err := _ERC721.contract.Call(opts, &out, "balanceOf", owner) 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 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256) func (_ERC721 *ERC721Session) BalanceOf(owner common.Address) (*big.Int, error) { return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256) func (_ERC721 *ERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address) func (_ERC721 *ERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var out []interface{} err := _ERC721.contract.Call(opts, &out, "getApproved", tokenId) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address) func (_ERC721 *ERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) { return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address) func (_ERC721 *ERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) func (_ERC721 *ERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { var out []interface{} err := _ERC721.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 (_ERC721 *ERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _ERC721.Contract.IsApprovedForAll(&_ERC721.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 (_ERC721 *ERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_ERC721 *ERC721Caller) Name(opts *bind.CallOpts) (string, error) { var out []interface{} err := _ERC721.contract.Call(opts, &out, "name") if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_ERC721 *ERC721Session) Name() (string, error) { return _ERC721.Contract.Name(&_ERC721.CallOpts) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_ERC721 *ERC721CallerSession) Name() (string, error) { return _ERC721.Contract.Name(&_ERC721.CallOpts) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address) func (_ERC721 *ERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var out []interface{} err := _ERC721.contract.Call(opts, &out, "ownerOf", tokenId) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address) func (_ERC721 *ERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) { return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address) func (_ERC721 *ERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC721 *ERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _ERC721.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC721 *ERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC721 *ERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_ERC721 *ERC721Caller) Symbol(opts *bind.CallOpts) (string, error) { var out []interface{} err := _ERC721.contract.Call(opts, &out, "symbol") if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_ERC721 *ERC721Session) Symbol() (string, error) { return _ERC721.Contract.Symbol(&_ERC721.CallOpts) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_ERC721 *ERC721CallerSession) Symbol() (string, error) { return _ERC721.Contract.Symbol(&_ERC721.CallOpts) } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(uint256 tokenId) view returns(string) func (_ERC721 *ERC721Caller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { var out []interface{} err := _ERC721.contract.Call(opts, &out, "tokenURI", tokenId) if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(uint256 tokenId) view returns(string) func (_ERC721 *ERC721Session) TokenURI(tokenId *big.Int) (string, error) { return _ERC721.Contract.TokenURI(&_ERC721.CallOpts, tokenId) } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(uint256 tokenId) view returns(string) func (_ERC721 *ERC721CallerSession) TokenURI(tokenId *big.Int) (string, error) { return _ERC721.Contract.TokenURI(&_ERC721.CallOpts, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_ERC721 *ERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721.contract.Transact(opts, "approve", to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_ERC721 *ERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_ERC721 *ERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721 *ERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721 *ERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721 *ERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() func (_ERC721 *ERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() func (_ERC721 *ERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, _data) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() func (_ERC721 *ERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, _data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool approved) returns() func (_ERC721 *ERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) { return _ERC721.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 (_ERC721 *ERC721Session) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, operator, approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool approved) returns() func (_ERC721 *ERC721TransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, operator, approved) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721 *ERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721.contract.Transact(opts, "transferFrom", from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721 *ERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721 *ERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId) } // ERC721ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721 contract. type ERC721ApprovalIterator struct { Event *ERC721Approval // 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 *ERC721ApprovalIterator) 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(ERC721Approval) 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(ERC721Approval) 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 *ERC721ApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721ApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721Approval represents a Approval event raised by the ERC721 contract. type ERC721Approval struct { Owner common.Address Approved common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_ERC721 *ERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721ApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return &ERC721ApprovalIterator{contract: _ERC721.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_ERC721 *ERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 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(ERC721Approval) if err := _ERC721.contract.UnpackLog(event, "Approval", 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 } // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_ERC721 *ERC721Filterer) ParseApproval(log types.Log) (*ERC721Approval, error) { event := new(ERC721Approval) if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil { return nil, err } event.Raw = log return event, nil } // ERC721ApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721 contract. type ERC721ApprovalForAllIterator struct { Event *ERC721ApprovalForAll // 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 *ERC721ApprovalForAllIterator) 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(ERC721ApprovalForAll) 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(ERC721ApprovalForAll) 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 *ERC721ApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721ApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721ApprovalForAll represents a ApprovalForAll event raised by the ERC721 contract. type ERC721ApprovalForAll 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 (_ERC721 *ERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721ApprovalForAllIterator, 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 := _ERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return &ERC721ApprovalForAllIterator{contract: _ERC721.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 (_ERC721 *ERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721ApprovalForAll, 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 := _ERC721.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(ERC721ApprovalForAll) if err := _ERC721.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 (_ERC721 *ERC721Filterer) ParseApprovalForAll(log types.Log) (*ERC721ApprovalForAll, error) { event := new(ERC721ApprovalForAll) if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return nil, err } event.Raw = log return event, nil } // ERC721TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721 contract. type ERC721TransferIterator struct { Event *ERC721Transfer // 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 *ERC721TransferIterator) 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(ERC721Transfer) 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(ERC721Transfer) 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 *ERC721TransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721TransferIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721Transfer represents a Transfer event raised by the ERC721 contract. type ERC721Transfer struct { From common.Address To common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_ERC721 *ERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721TransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return &ERC721TransferIterator{contract: _ERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_ERC721 *ERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 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(ERC721Transfer) if err := _ERC721.contract.UnpackLog(event, "Transfer", 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 } // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_ERC721 *ERC721Filterer) ParseTransfer(log types.Log) (*ERC721Transfer, error) { event := new(ERC721Transfer) if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil { return nil, err } event.Raw = log return event, nil } // ERC721EnumerableMetaData contains all meta data concerning the ERC721Enumerable contract. var ERC721EnumerableMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "095ea7b3": "approve(address,uint256)", "70a08231": "balanceOf(address)", "081812fc": "getApproved(uint256)", "e985e9c5": "isApprovedForAll(address,address)", "06fdde03": "name()", "6352211e": "ownerOf(uint256)", "42842e0e": "safeTransferFrom(address,address,uint256)", "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", "a22cb465": "setApprovalForAll(address,bool)", "01ffc9a7": "supportsInterface(bytes4)", "95d89b41": "symbol()", "4f6ccce7": "tokenByIndex(uint256)", "2f745c59": "tokenOfOwnerByIndex(address,uint256)", "c87b56dd": "tokenURI(uint256)", "18160ddd": "totalSupply()", "23b872dd": "transferFrom(address,address,uint256)", }, } // ERC721EnumerableABI is the input ABI used to generate the binding from. // Deprecated: Use ERC721EnumerableMetaData.ABI instead. var ERC721EnumerableABI = ERC721EnumerableMetaData.ABI // Deprecated: Use ERC721EnumerableMetaData.Sigs instead. // ERC721EnumerableFuncSigs maps the 4-byte function signature to its string representation. var ERC721EnumerableFuncSigs = ERC721EnumerableMetaData.Sigs // ERC721Enumerable is an auto generated Go binding around an Ethereum contract. type ERC721Enumerable struct { ERC721EnumerableCaller // Read-only binding to the contract ERC721EnumerableTransactor // Write-only binding to the contract ERC721EnumerableFilterer // Log filterer for contract events } // ERC721EnumerableCaller is an auto generated read-only Go binding around an Ethereum contract. type ERC721EnumerableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721EnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract. type ERC721EnumerableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721EnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type ERC721EnumerableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721EnumerableSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type ERC721EnumerableSession struct { Contract *ERC721Enumerable // 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 } // ERC721EnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type ERC721EnumerableCallerSession struct { Contract *ERC721EnumerableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ERC721EnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type ERC721EnumerableTransactorSession struct { Contract *ERC721EnumerableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC721EnumerableRaw is an auto generated low-level Go binding around an Ethereum contract. type ERC721EnumerableRaw struct { Contract *ERC721Enumerable // Generic contract binding to access the raw methods on } // ERC721EnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type ERC721EnumerableCallerRaw struct { Contract *ERC721EnumerableCaller // Generic read-only contract binding to access the raw methods on } // ERC721EnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type ERC721EnumerableTransactorRaw struct { Contract *ERC721EnumerableTransactor // Generic write-only contract binding to access the raw methods on } // NewERC721Enumerable creates a new instance of ERC721Enumerable, bound to a specific deployed contract. func NewERC721Enumerable(address common.Address, backend bind.ContractBackend) (*ERC721Enumerable, error) { contract, err := bindERC721Enumerable(address, backend, backend, backend) if err != nil { return nil, err } return &ERC721Enumerable{ERC721EnumerableCaller: ERC721EnumerableCaller{contract: contract}, ERC721EnumerableTransactor: ERC721EnumerableTransactor{contract: contract}, ERC721EnumerableFilterer: ERC721EnumerableFilterer{contract: contract}}, nil } // NewERC721EnumerableCaller creates a new read-only instance of ERC721Enumerable, bound to a specific deployed contract. func NewERC721EnumerableCaller(address common.Address, caller bind.ContractCaller) (*ERC721EnumerableCaller, error) { contract, err := bindERC721Enumerable(address, caller, nil, nil) if err != nil { return nil, err } return &ERC721EnumerableCaller{contract: contract}, nil } // NewERC721EnumerableTransactor creates a new write-only instance of ERC721Enumerable, bound to a specific deployed contract. func NewERC721EnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721EnumerableTransactor, error) { contract, err := bindERC721Enumerable(address, nil, transactor, nil) if err != nil { return nil, err } return &ERC721EnumerableTransactor{contract: contract}, nil } // NewERC721EnumerableFilterer creates a new log filterer instance of ERC721Enumerable, bound to a specific deployed contract. func NewERC721EnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721EnumerableFilterer, error) { contract, err := bindERC721Enumerable(address, nil, nil, filterer) if err != nil { return nil, err } return &ERC721EnumerableFilterer{contract: contract}, nil } // bindERC721Enumerable binds a generic wrapper to an already deployed contract. func bindERC721Enumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ERC721EnumerableABI)) 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 (_ERC721Enumerable *ERC721EnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ERC721Enumerable.Contract.ERC721EnumerableCaller.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 (_ERC721Enumerable *ERC721EnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC721Enumerable.Contract.ERC721EnumerableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC721Enumerable *ERC721EnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC721Enumerable.Contract.ERC721EnumerableTransactor.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 (_ERC721Enumerable *ERC721EnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ERC721Enumerable.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 (_ERC721Enumerable *ERC721EnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC721Enumerable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC721Enumerable *ERC721EnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC721Enumerable.Contract.contract.Transact(opts, method, params...) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256) func (_ERC721Enumerable *ERC721EnumerableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { var out []interface{} err := _ERC721Enumerable.contract.Call(opts, &out, "balanceOf", owner) 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 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256) func (_ERC721Enumerable *ERC721EnumerableSession) BalanceOf(owner common.Address) (*big.Int, error) { return _ERC721Enumerable.Contract.BalanceOf(&_ERC721Enumerable.CallOpts, owner) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256) func (_ERC721Enumerable *ERC721EnumerableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { return _ERC721Enumerable.Contract.BalanceOf(&_ERC721Enumerable.CallOpts, owner) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address) func (_ERC721Enumerable *ERC721EnumerableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var out []interface{} err := _ERC721Enumerable.contract.Call(opts, &out, "getApproved", tokenId) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address) func (_ERC721Enumerable *ERC721EnumerableSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _ERC721Enumerable.Contract.GetApproved(&_ERC721Enumerable.CallOpts, tokenId) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address) func (_ERC721Enumerable *ERC721EnumerableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _ERC721Enumerable.Contract.GetApproved(&_ERC721Enumerable.CallOpts, tokenId) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) func (_ERC721Enumerable *ERC721EnumerableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { var out []interface{} err := _ERC721Enumerable.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 (_ERC721Enumerable *ERC721EnumerableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _ERC721Enumerable.Contract.IsApprovedForAll(&_ERC721Enumerable.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 (_ERC721Enumerable *ERC721EnumerableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _ERC721Enumerable.Contract.IsApprovedForAll(&_ERC721Enumerable.CallOpts, owner, operator) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_ERC721Enumerable *ERC721EnumerableCaller) Name(opts *bind.CallOpts) (string, error) { var out []interface{} err := _ERC721Enumerable.contract.Call(opts, &out, "name") if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_ERC721Enumerable *ERC721EnumerableSession) Name() (string, error) { return _ERC721Enumerable.Contract.Name(&_ERC721Enumerable.CallOpts) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_ERC721Enumerable *ERC721EnumerableCallerSession) Name() (string, error) { return _ERC721Enumerable.Contract.Name(&_ERC721Enumerable.CallOpts) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address) func (_ERC721Enumerable *ERC721EnumerableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var out []interface{} err := _ERC721Enumerable.contract.Call(opts, &out, "ownerOf", tokenId) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address) func (_ERC721Enumerable *ERC721EnumerableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _ERC721Enumerable.Contract.OwnerOf(&_ERC721Enumerable.CallOpts, tokenId) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address) func (_ERC721Enumerable *ERC721EnumerableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _ERC721Enumerable.Contract.OwnerOf(&_ERC721Enumerable.CallOpts, tokenId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC721Enumerable *ERC721EnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _ERC721Enumerable.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC721Enumerable *ERC721EnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC721Enumerable.Contract.SupportsInterface(&_ERC721Enumerable.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC721Enumerable *ERC721EnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC721Enumerable.Contract.SupportsInterface(&_ERC721Enumerable.CallOpts, interfaceId) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_ERC721Enumerable *ERC721EnumerableCaller) Symbol(opts *bind.CallOpts) (string, error) { var out []interface{} err := _ERC721Enumerable.contract.Call(opts, &out, "symbol") if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_ERC721Enumerable *ERC721EnumerableSession) Symbol() (string, error) { return _ERC721Enumerable.Contract.Symbol(&_ERC721Enumerable.CallOpts) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_ERC721Enumerable *ERC721EnumerableCallerSession) Symbol() (string, error) { return _ERC721Enumerable.Contract.Symbol(&_ERC721Enumerable.CallOpts) } // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. // // Solidity: function tokenByIndex(uint256 index) view returns(uint256) func (_ERC721Enumerable *ERC721EnumerableCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { var out []interface{} err := _ERC721Enumerable.contract.Call(opts, &out, "tokenByIndex", index) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. // // Solidity: function tokenByIndex(uint256 index) view returns(uint256) func (_ERC721Enumerable *ERC721EnumerableSession) TokenByIndex(index *big.Int) (*big.Int, error) { return _ERC721Enumerable.Contract.TokenByIndex(&_ERC721Enumerable.CallOpts, index) } // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. // // Solidity: function tokenByIndex(uint256 index) view returns(uint256) func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { return _ERC721Enumerable.Contract.TokenByIndex(&_ERC721Enumerable.CallOpts, index) } // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. // // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) func (_ERC721Enumerable *ERC721EnumerableCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { var out []interface{} err := _ERC721Enumerable.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. // // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) func (_ERC721Enumerable *ERC721EnumerableSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { return _ERC721Enumerable.Contract.TokenOfOwnerByIndex(&_ERC721Enumerable.CallOpts, owner, index) } // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. // // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { return _ERC721Enumerable.Contract.TokenOfOwnerByIndex(&_ERC721Enumerable.CallOpts, owner, index) } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(uint256 tokenId) view returns(string) func (_ERC721Enumerable *ERC721EnumerableCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { var out []interface{} err := _ERC721Enumerable.contract.Call(opts, &out, "tokenURI", tokenId) if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(uint256 tokenId) view returns(string) func (_ERC721Enumerable *ERC721EnumerableSession) TokenURI(tokenId *big.Int) (string, error) { return _ERC721Enumerable.Contract.TokenURI(&_ERC721Enumerable.CallOpts, tokenId) } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(uint256 tokenId) view returns(string) func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenURI(tokenId *big.Int) (string, error) { return _ERC721Enumerable.Contract.TokenURI(&_ERC721Enumerable.CallOpts, tokenId) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() view returns(uint256) func (_ERC721Enumerable *ERC721EnumerableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _ERC721Enumerable.contract.Call(opts, &out, "totalSupply") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() view returns(uint256) func (_ERC721Enumerable *ERC721EnumerableSession) TotalSupply() (*big.Int, error) { return _ERC721Enumerable.Contract.TotalSupply(&_ERC721Enumerable.CallOpts) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() view returns(uint256) func (_ERC721Enumerable *ERC721EnumerableCallerSession) TotalSupply() (*big.Int, error) { return _ERC721Enumerable.Contract.TotalSupply(&_ERC721Enumerable.CallOpts) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_ERC721Enumerable *ERC721EnumerableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Enumerable.contract.Transact(opts, "approve", to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_ERC721Enumerable *ERC721EnumerableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Enumerable.Contract.Approve(&_ERC721Enumerable.TransactOpts, to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_ERC721Enumerable *ERC721EnumerableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Enumerable.Contract.Approve(&_ERC721Enumerable.TransactOpts, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721Enumerable *ERC721EnumerableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Enumerable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721Enumerable *ERC721EnumerableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Enumerable.Contract.SafeTransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Enumerable.Contract.SafeTransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() func (_ERC721Enumerable *ERC721EnumerableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721Enumerable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() func (_ERC721Enumerable *ERC721EnumerableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721Enumerable.Contract.SafeTransferFrom0(&_ERC721Enumerable.TransactOpts, from, to, tokenId, _data) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721Enumerable.Contract.SafeTransferFrom0(&_ERC721Enumerable.TransactOpts, from, to, tokenId, _data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool approved) returns() func (_ERC721Enumerable *ERC721EnumerableTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) { return _ERC721Enumerable.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 (_ERC721Enumerable *ERC721EnumerableSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { return _ERC721Enumerable.Contract.SetApprovalForAll(&_ERC721Enumerable.TransactOpts, operator, approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool approved) returns() func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { return _ERC721Enumerable.Contract.SetApprovalForAll(&_ERC721Enumerable.TransactOpts, operator, approved) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721Enumerable *ERC721EnumerableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Enumerable.contract.Transact(opts, "transferFrom", from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721Enumerable *ERC721EnumerableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Enumerable.Contract.TransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721Enumerable *ERC721EnumerableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Enumerable.Contract.TransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId) } // ERC721EnumerableApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721Enumerable contract. type ERC721EnumerableApprovalIterator struct { Event *ERC721EnumerableApproval // 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 *ERC721EnumerableApprovalIterator) 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(ERC721EnumerableApproval) 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(ERC721EnumerableApproval) 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 *ERC721EnumerableApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721EnumerableApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721EnumerableApproval represents a Approval event raised by the ERC721Enumerable contract. type ERC721EnumerableApproval struct { Owner common.Address Approved common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721EnumerableApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return &ERC721EnumerableApprovalIterator{contract: _ERC721Enumerable.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 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(ERC721EnumerableApproval) if err := _ERC721Enumerable.contract.UnpackLog(event, "Approval", 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 } // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseApproval(log types.Log) (*ERC721EnumerableApproval, error) { event := new(ERC721EnumerableApproval) if err := _ERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { return nil, err } event.Raw = log return event, nil } // ERC721EnumerableApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721Enumerable contract. type ERC721EnumerableApprovalForAllIterator struct { Event *ERC721EnumerableApprovalForAll // 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 *ERC721EnumerableApprovalForAllIterator) 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(ERC721EnumerableApprovalForAll) 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(ERC721EnumerableApprovalForAll) 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 *ERC721EnumerableApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721EnumerableApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721EnumerableApprovalForAll represents a ApprovalForAll event raised by the ERC721Enumerable contract. type ERC721EnumerableApprovalForAll 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 (_ERC721Enumerable *ERC721EnumerableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721EnumerableApprovalForAllIterator, 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 := _ERC721Enumerable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return &ERC721EnumerableApprovalForAllIterator{contract: _ERC721Enumerable.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 (_ERC721Enumerable *ERC721EnumerableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableApprovalForAll, 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 := _ERC721Enumerable.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(ERC721EnumerableApprovalForAll) if err := _ERC721Enumerable.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 (_ERC721Enumerable *ERC721EnumerableFilterer) ParseApprovalForAll(log types.Log) (*ERC721EnumerableApprovalForAll, error) { event := new(ERC721EnumerableApprovalForAll) if err := _ERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return nil, err } event.Raw = log return event, nil } // ERC721EnumerableTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721Enumerable contract. type ERC721EnumerableTransferIterator struct { Event *ERC721EnumerableTransfer // 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 *ERC721EnumerableTransferIterator) 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(ERC721EnumerableTransfer) 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(ERC721EnumerableTransfer) 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 *ERC721EnumerableTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721EnumerableTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721EnumerableTransfer represents a Transfer event raised by the ERC721Enumerable contract. type ERC721EnumerableTransfer struct { From common.Address To common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721EnumerableTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return &ERC721EnumerableTransferIterator{contract: _ERC721Enumerable.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 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(ERC721EnumerableTransfer) if err := _ERC721Enumerable.contract.UnpackLog(event, "Transfer", 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 } // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseTransfer(log types.Log) (*ERC721EnumerableTransfer, error) { event := new(ERC721EnumerableTransfer) if err := _ERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { return nil, err } event.Raw = log return event, nil } // ERC721URIStorageMetaData contains all meta data concerning the ERC721URIStorage contract. var ERC721URIStorageMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "095ea7b3": "approve(address,uint256)", "70a08231": "balanceOf(address)", "081812fc": "getApproved(uint256)", "e985e9c5": "isApprovedForAll(address,address)", "06fdde03": "name()", "6352211e": "ownerOf(uint256)", "42842e0e": "safeTransferFrom(address,address,uint256)", "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", "a22cb465": "setApprovalForAll(address,bool)", "01ffc9a7": "supportsInterface(bytes4)", "95d89b41": "symbol()", "c87b56dd": "tokenURI(uint256)", "23b872dd": "transferFrom(address,address,uint256)", }, } // ERC721URIStorageABI is the input ABI used to generate the binding from. // Deprecated: Use ERC721URIStorageMetaData.ABI instead. var ERC721URIStorageABI = ERC721URIStorageMetaData.ABI // Deprecated: Use ERC721URIStorageMetaData.Sigs instead. // ERC721URIStorageFuncSigs maps the 4-byte function signature to its string representation. var ERC721URIStorageFuncSigs = ERC721URIStorageMetaData.Sigs // ERC721URIStorage is an auto generated Go binding around an Ethereum contract. type ERC721URIStorage struct { ERC721URIStorageCaller // Read-only binding to the contract ERC721URIStorageTransactor // Write-only binding to the contract ERC721URIStorageFilterer // Log filterer for contract events } // ERC721URIStorageCaller is an auto generated read-only Go binding around an Ethereum contract. type ERC721URIStorageCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721URIStorageTransactor is an auto generated write-only Go binding around an Ethereum contract. type ERC721URIStorageTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721URIStorageFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type ERC721URIStorageFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721URIStorageSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type ERC721URIStorageSession struct { Contract *ERC721URIStorage // 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 } // ERC721URIStorageCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type ERC721URIStorageCallerSession struct { Contract *ERC721URIStorageCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ERC721URIStorageTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type ERC721URIStorageTransactorSession struct { Contract *ERC721URIStorageTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC721URIStorageRaw is an auto generated low-level Go binding around an Ethereum contract. type ERC721URIStorageRaw struct { Contract *ERC721URIStorage // Generic contract binding to access the raw methods on } // ERC721URIStorageCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type ERC721URIStorageCallerRaw struct { Contract *ERC721URIStorageCaller // Generic read-only contract binding to access the raw methods on } // ERC721URIStorageTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type ERC721URIStorageTransactorRaw struct { Contract *ERC721URIStorageTransactor // Generic write-only contract binding to access the raw methods on } // NewERC721URIStorage creates a new instance of ERC721URIStorage, bound to a specific deployed contract. func NewERC721URIStorage(address common.Address, backend bind.ContractBackend) (*ERC721URIStorage, error) { contract, err := bindERC721URIStorage(address, backend, backend, backend) if err != nil { return nil, err } return &ERC721URIStorage{ERC721URIStorageCaller: ERC721URIStorageCaller{contract: contract}, ERC721URIStorageTransactor: ERC721URIStorageTransactor{contract: contract}, ERC721URIStorageFilterer: ERC721URIStorageFilterer{contract: contract}}, nil } // NewERC721URIStorageCaller creates a new read-only instance of ERC721URIStorage, bound to a specific deployed contract. func NewERC721URIStorageCaller(address common.Address, caller bind.ContractCaller) (*ERC721URIStorageCaller, error) { contract, err := bindERC721URIStorage(address, caller, nil, nil) if err != nil { return nil, err } return &ERC721URIStorageCaller{contract: contract}, nil } // NewERC721URIStorageTransactor creates a new write-only instance of ERC721URIStorage, bound to a specific deployed contract. func NewERC721URIStorageTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721URIStorageTransactor, error) { contract, err := bindERC721URIStorage(address, nil, transactor, nil) if err != nil { return nil, err } return &ERC721URIStorageTransactor{contract: contract}, nil } // NewERC721URIStorageFilterer creates a new log filterer instance of ERC721URIStorage, bound to a specific deployed contract. func NewERC721URIStorageFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721URIStorageFilterer, error) { contract, err := bindERC721URIStorage(address, nil, nil, filterer) if err != nil { return nil, err } return &ERC721URIStorageFilterer{contract: contract}, nil } // bindERC721URIStorage binds a generic wrapper to an already deployed contract. func bindERC721URIStorage(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ERC721URIStorageABI)) 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 (_ERC721URIStorage *ERC721URIStorageRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ERC721URIStorage.Contract.ERC721URIStorageCaller.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 (_ERC721URIStorage *ERC721URIStorageRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC721URIStorage.Contract.ERC721URIStorageTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC721URIStorage *ERC721URIStorageRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC721URIStorage.Contract.ERC721URIStorageTransactor.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 (_ERC721URIStorage *ERC721URIStorageCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ERC721URIStorage.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 (_ERC721URIStorage *ERC721URIStorageTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC721URIStorage.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC721URIStorage *ERC721URIStorageTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC721URIStorage.Contract.contract.Transact(opts, method, params...) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256) func (_ERC721URIStorage *ERC721URIStorageCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { var out []interface{} err := _ERC721URIStorage.contract.Call(opts, &out, "balanceOf", owner) 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 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256) func (_ERC721URIStorage *ERC721URIStorageSession) BalanceOf(owner common.Address) (*big.Int, error) { return _ERC721URIStorage.Contract.BalanceOf(&_ERC721URIStorage.CallOpts, owner) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256) func (_ERC721URIStorage *ERC721URIStorageCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { return _ERC721URIStorage.Contract.BalanceOf(&_ERC721URIStorage.CallOpts, owner) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address) func (_ERC721URIStorage *ERC721URIStorageCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var out []interface{} err := _ERC721URIStorage.contract.Call(opts, &out, "getApproved", tokenId) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address) func (_ERC721URIStorage *ERC721URIStorageSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _ERC721URIStorage.Contract.GetApproved(&_ERC721URIStorage.CallOpts, tokenId) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address) func (_ERC721URIStorage *ERC721URIStorageCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _ERC721URIStorage.Contract.GetApproved(&_ERC721URIStorage.CallOpts, tokenId) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) func (_ERC721URIStorage *ERC721URIStorageCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { var out []interface{} err := _ERC721URIStorage.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 (_ERC721URIStorage *ERC721URIStorageSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _ERC721URIStorage.Contract.IsApprovedForAll(&_ERC721URIStorage.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 (_ERC721URIStorage *ERC721URIStorageCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _ERC721URIStorage.Contract.IsApprovedForAll(&_ERC721URIStorage.CallOpts, owner, operator) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_ERC721URIStorage *ERC721URIStorageCaller) Name(opts *bind.CallOpts) (string, error) { var out []interface{} err := _ERC721URIStorage.contract.Call(opts, &out, "name") if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_ERC721URIStorage *ERC721URIStorageSession) Name() (string, error) { return _ERC721URIStorage.Contract.Name(&_ERC721URIStorage.CallOpts) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_ERC721URIStorage *ERC721URIStorageCallerSession) Name() (string, error) { return _ERC721URIStorage.Contract.Name(&_ERC721URIStorage.CallOpts) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address) func (_ERC721URIStorage *ERC721URIStorageCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var out []interface{} err := _ERC721URIStorage.contract.Call(opts, &out, "ownerOf", tokenId) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address) func (_ERC721URIStorage *ERC721URIStorageSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _ERC721URIStorage.Contract.OwnerOf(&_ERC721URIStorage.CallOpts, tokenId) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address) func (_ERC721URIStorage *ERC721URIStorageCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _ERC721URIStorage.Contract.OwnerOf(&_ERC721URIStorage.CallOpts, tokenId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC721URIStorage *ERC721URIStorageCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _ERC721URIStorage.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC721URIStorage *ERC721URIStorageSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC721URIStorage.Contract.SupportsInterface(&_ERC721URIStorage.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC721URIStorage *ERC721URIStorageCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC721URIStorage.Contract.SupportsInterface(&_ERC721URIStorage.CallOpts, interfaceId) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_ERC721URIStorage *ERC721URIStorageCaller) Symbol(opts *bind.CallOpts) (string, error) { var out []interface{} err := _ERC721URIStorage.contract.Call(opts, &out, "symbol") if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_ERC721URIStorage *ERC721URIStorageSession) Symbol() (string, error) { return _ERC721URIStorage.Contract.Symbol(&_ERC721URIStorage.CallOpts) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_ERC721URIStorage *ERC721URIStorageCallerSession) Symbol() (string, error) { return _ERC721URIStorage.Contract.Symbol(&_ERC721URIStorage.CallOpts) } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(uint256 tokenId) view returns(string) func (_ERC721URIStorage *ERC721URIStorageCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { var out []interface{} err := _ERC721URIStorage.contract.Call(opts, &out, "tokenURI", tokenId) if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(uint256 tokenId) view returns(string) func (_ERC721URIStorage *ERC721URIStorageSession) TokenURI(tokenId *big.Int) (string, error) { return _ERC721URIStorage.Contract.TokenURI(&_ERC721URIStorage.CallOpts, tokenId) } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(uint256 tokenId) view returns(string) func (_ERC721URIStorage *ERC721URIStorageCallerSession) TokenURI(tokenId *big.Int) (string, error) { return _ERC721URIStorage.Contract.TokenURI(&_ERC721URIStorage.CallOpts, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_ERC721URIStorage *ERC721URIStorageTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721URIStorage.contract.Transact(opts, "approve", to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_ERC721URIStorage *ERC721URIStorageSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721URIStorage.Contract.Approve(&_ERC721URIStorage.TransactOpts, to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_ERC721URIStorage *ERC721URIStorageTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721URIStorage.Contract.Approve(&_ERC721URIStorage.TransactOpts, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721URIStorage *ERC721URIStorageTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721URIStorage.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721URIStorage *ERC721URIStorageSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721URIStorage.Contract.SafeTransferFrom(&_ERC721URIStorage.TransactOpts, from, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721URIStorage *ERC721URIStorageTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721URIStorage.Contract.SafeTransferFrom(&_ERC721URIStorage.TransactOpts, from, to, tokenId) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() func (_ERC721URIStorage *ERC721URIStorageTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721URIStorage.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() func (_ERC721URIStorage *ERC721URIStorageSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721URIStorage.Contract.SafeTransferFrom0(&_ERC721URIStorage.TransactOpts, from, to, tokenId, _data) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() func (_ERC721URIStorage *ERC721URIStorageTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721URIStorage.Contract.SafeTransferFrom0(&_ERC721URIStorage.TransactOpts, from, to, tokenId, _data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool approved) returns() func (_ERC721URIStorage *ERC721URIStorageTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) { return _ERC721URIStorage.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 (_ERC721URIStorage *ERC721URIStorageSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { return _ERC721URIStorage.Contract.SetApprovalForAll(&_ERC721URIStorage.TransactOpts, operator, approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool approved) returns() func (_ERC721URIStorage *ERC721URIStorageTransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { return _ERC721URIStorage.Contract.SetApprovalForAll(&_ERC721URIStorage.TransactOpts, operator, approved) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721URIStorage *ERC721URIStorageTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721URIStorage.contract.Transact(opts, "transferFrom", from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721URIStorage *ERC721URIStorageSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721URIStorage.Contract.TransferFrom(&_ERC721URIStorage.TransactOpts, from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_ERC721URIStorage *ERC721URIStorageTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721URIStorage.Contract.TransferFrom(&_ERC721URIStorage.TransactOpts, from, to, tokenId) } // ERC721URIStorageApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721URIStorage contract. type ERC721URIStorageApprovalIterator struct { Event *ERC721URIStorageApproval // 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 *ERC721URIStorageApprovalIterator) 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(ERC721URIStorageApproval) 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(ERC721URIStorageApproval) 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 *ERC721URIStorageApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721URIStorageApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721URIStorageApproval represents a Approval event raised by the ERC721URIStorage contract. type ERC721URIStorageApproval struct { Owner common.Address Approved common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_ERC721URIStorage *ERC721URIStorageFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721URIStorageApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721URIStorage.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return &ERC721URIStorageApprovalIterator{contract: _ERC721URIStorage.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_ERC721URIStorage *ERC721URIStorageFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721URIStorageApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721URIStorage.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 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(ERC721URIStorageApproval) if err := _ERC721URIStorage.contract.UnpackLog(event, "Approval", 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 } // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_ERC721URIStorage *ERC721URIStorageFilterer) ParseApproval(log types.Log) (*ERC721URIStorageApproval, error) { event := new(ERC721URIStorageApproval) if err := _ERC721URIStorage.contract.UnpackLog(event, "Approval", log); err != nil { return nil, err } event.Raw = log return event, nil } // ERC721URIStorageApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721URIStorage contract. type ERC721URIStorageApprovalForAllIterator struct { Event *ERC721URIStorageApprovalForAll // 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 *ERC721URIStorageApprovalForAllIterator) 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(ERC721URIStorageApprovalForAll) 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(ERC721URIStorageApprovalForAll) 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 *ERC721URIStorageApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721URIStorageApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721URIStorageApprovalForAll represents a ApprovalForAll event raised by the ERC721URIStorage contract. type ERC721URIStorageApprovalForAll 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 (_ERC721URIStorage *ERC721URIStorageFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721URIStorageApprovalForAllIterator, 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 := _ERC721URIStorage.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return &ERC721URIStorageApprovalForAllIterator{contract: _ERC721URIStorage.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 (_ERC721URIStorage *ERC721URIStorageFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721URIStorageApprovalForAll, 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 := _ERC721URIStorage.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(ERC721URIStorageApprovalForAll) if err := _ERC721URIStorage.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 (_ERC721URIStorage *ERC721URIStorageFilterer) ParseApprovalForAll(log types.Log) (*ERC721URIStorageApprovalForAll, error) { event := new(ERC721URIStorageApprovalForAll) if err := _ERC721URIStorage.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return nil, err } event.Raw = log return event, nil } // ERC721URIStorageTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721URIStorage contract. type ERC721URIStorageTransferIterator struct { Event *ERC721URIStorageTransfer // 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 *ERC721URIStorageTransferIterator) 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(ERC721URIStorageTransfer) 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(ERC721URIStorageTransfer) 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 *ERC721URIStorageTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721URIStorageTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721URIStorageTransfer represents a Transfer event raised by the ERC721URIStorage contract. type ERC721URIStorageTransfer struct { From common.Address To common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_ERC721URIStorage *ERC721URIStorageFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721URIStorageTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721URIStorage.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return &ERC721URIStorageTransferIterator{contract: _ERC721URIStorage.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_ERC721URIStorage *ERC721URIStorageFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721URIStorageTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721URIStorage.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 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(ERC721URIStorageTransfer) if err := _ERC721URIStorage.contract.UnpackLog(event, "Transfer", 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 } // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_ERC721URIStorage *ERC721URIStorageFilterer) ParseTransfer(log types.Log) (*ERC721URIStorageTransfer, error) { event := new(ERC721URIStorageTransfer) if err := _ERC721URIStorage.contract.UnpackLog(event, "Transfer", log); err != nil { return nil, err } event.Raw = log return event, nil } // EnumerableSetMetaData contains all meta data concerning the EnumerableSet contract. var EnumerableSetMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220da9c05491e529ef70e6aedbeab1e490aae2d6489c62494c898afed13e14f139564736f6c63430008010033", } // EnumerableSetABI is the input ABI used to generate the binding from. // Deprecated: Use EnumerableSetMetaData.ABI instead. var EnumerableSetABI = EnumerableSetMetaData.ABI // EnumerableSetBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use EnumerableSetMetaData.Bin instead. var EnumerableSetBin = EnumerableSetMetaData.Bin // DeployEnumerableSet deploys a new Ethereum contract, binding an instance of EnumerableSet to it. func DeployEnumerableSet(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *EnumerableSet, error) { parsed, err := EnumerableSetMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(EnumerableSetBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &EnumerableSet{EnumerableSetCaller: EnumerableSetCaller{contract: contract}, EnumerableSetTransactor: EnumerableSetTransactor{contract: contract}, EnumerableSetFilterer: EnumerableSetFilterer{contract: contract}}, nil } // EnumerableSet is an auto generated Go binding around an Ethereum contract. type EnumerableSet struct { EnumerableSetCaller // Read-only binding to the contract EnumerableSetTransactor // Write-only binding to the contract EnumerableSetFilterer // Log filterer for contract events } // EnumerableSetCaller is an auto generated read-only Go binding around an Ethereum contract. type EnumerableSetCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // EnumerableSetTransactor is an auto generated write-only Go binding around an Ethereum contract. type EnumerableSetTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // EnumerableSetFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type EnumerableSetFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // EnumerableSetSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type EnumerableSetSession struct { Contract *EnumerableSet // 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 } // EnumerableSetCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type EnumerableSetCallerSession struct { Contract *EnumerableSetCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // EnumerableSetTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type EnumerableSetTransactorSession struct { Contract *EnumerableSetTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // EnumerableSetRaw is an auto generated low-level Go binding around an Ethereum contract. type EnumerableSetRaw struct { Contract *EnumerableSet // Generic contract binding to access the raw methods on } // EnumerableSetCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type EnumerableSetCallerRaw struct { Contract *EnumerableSetCaller // Generic read-only contract binding to access the raw methods on } // EnumerableSetTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type EnumerableSetTransactorRaw struct { Contract *EnumerableSetTransactor // Generic write-only contract binding to access the raw methods on } // NewEnumerableSet creates a new instance of EnumerableSet, bound to a specific deployed contract. func NewEnumerableSet(address common.Address, backend bind.ContractBackend) (*EnumerableSet, error) { contract, err := bindEnumerableSet(address, backend, backend, backend) if err != nil { return nil, err } return &EnumerableSet{EnumerableSetCaller: EnumerableSetCaller{contract: contract}, EnumerableSetTransactor: EnumerableSetTransactor{contract: contract}, EnumerableSetFilterer: EnumerableSetFilterer{contract: contract}}, nil } // NewEnumerableSetCaller creates a new read-only instance of EnumerableSet, bound to a specific deployed contract. func NewEnumerableSetCaller(address common.Address, caller bind.ContractCaller) (*EnumerableSetCaller, error) { contract, err := bindEnumerableSet(address, caller, nil, nil) if err != nil { return nil, err } return &EnumerableSetCaller{contract: contract}, nil } // NewEnumerableSetTransactor creates a new write-only instance of EnumerableSet, bound to a specific deployed contract. func NewEnumerableSetTransactor(address common.Address, transactor bind.ContractTransactor) (*EnumerableSetTransactor, error) { contract, err := bindEnumerableSet(address, nil, transactor, nil) if err != nil { return nil, err } return &EnumerableSetTransactor{contract: contract}, nil } // NewEnumerableSetFilterer creates a new log filterer instance of EnumerableSet, bound to a specific deployed contract. func NewEnumerableSetFilterer(address common.Address, filterer bind.ContractFilterer) (*EnumerableSetFilterer, error) { contract, err := bindEnumerableSet(address, nil, nil, filterer) if err != nil { return nil, err } return &EnumerableSetFilterer{contract: contract}, nil } // bindEnumerableSet binds a generic wrapper to an already deployed contract. func bindEnumerableSet(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(EnumerableSetABI)) 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 (_EnumerableSet *EnumerableSetRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _EnumerableSet.Contract.EnumerableSetCaller.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 (_EnumerableSet *EnumerableSetRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _EnumerableSet.Contract.EnumerableSetTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_EnumerableSet *EnumerableSetRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _EnumerableSet.Contract.EnumerableSetTransactor.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 (_EnumerableSet *EnumerableSetCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _EnumerableSet.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 (_EnumerableSet *EnumerableSetTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _EnumerableSet.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_EnumerableSet *EnumerableSetTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _EnumerableSet.Contract.contract.Transact(opts, method, params...) } // IAccessControlMetaData contains all meta data concerning the IAccessControl contract. var IAccessControlMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "248a9ca3": "getRoleAdmin(bytes32)", "2f2ff15d": "grantRole(bytes32,address)", "91d14854": "hasRole(bytes32,address)", "36568abe": "renounceRole(bytes32,address)", "d547741f": "revokeRole(bytes32,address)", }, } // IAccessControlABI is the input ABI used to generate the binding from. // Deprecated: Use IAccessControlMetaData.ABI instead. var IAccessControlABI = IAccessControlMetaData.ABI // Deprecated: Use IAccessControlMetaData.Sigs instead. // IAccessControlFuncSigs maps the 4-byte function signature to its string representation. var IAccessControlFuncSigs = IAccessControlMetaData.Sigs // IAccessControl is an auto generated Go binding around an Ethereum contract. type IAccessControl struct { IAccessControlCaller // Read-only binding to the contract IAccessControlTransactor // Write-only binding to the contract IAccessControlFilterer // Log filterer for contract events } // IAccessControlCaller is an auto generated read-only Go binding around an Ethereum contract. type IAccessControlCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IAccessControlTransactor is an auto generated write-only Go binding around an Ethereum contract. type IAccessControlTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IAccessControlFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IAccessControlFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IAccessControlSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IAccessControlSession struct { Contract *IAccessControl // 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 } // IAccessControlCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IAccessControlCallerSession struct { Contract *IAccessControlCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IAccessControlTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IAccessControlTransactorSession struct { Contract *IAccessControlTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IAccessControlRaw is an auto generated low-level Go binding around an Ethereum contract. type IAccessControlRaw struct { Contract *IAccessControl // Generic contract binding to access the raw methods on } // IAccessControlCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IAccessControlCallerRaw struct { Contract *IAccessControlCaller // Generic read-only contract binding to access the raw methods on } // IAccessControlTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IAccessControlTransactorRaw struct { Contract *IAccessControlTransactor // Generic write-only contract binding to access the raw methods on } // NewIAccessControl creates a new instance of IAccessControl, bound to a specific deployed contract. func NewIAccessControl(address common.Address, backend bind.ContractBackend) (*IAccessControl, error) { contract, err := bindIAccessControl(address, backend, backend, backend) if err != nil { return nil, err } return &IAccessControl{IAccessControlCaller: IAccessControlCaller{contract: contract}, IAccessControlTransactor: IAccessControlTransactor{contract: contract}, IAccessControlFilterer: IAccessControlFilterer{contract: contract}}, nil } // NewIAccessControlCaller creates a new read-only instance of IAccessControl, bound to a specific deployed contract. func NewIAccessControlCaller(address common.Address, caller bind.ContractCaller) (*IAccessControlCaller, error) { contract, err := bindIAccessControl(address, caller, nil, nil) if err != nil { return nil, err } return &IAccessControlCaller{contract: contract}, nil } // NewIAccessControlTransactor creates a new write-only instance of IAccessControl, bound to a specific deployed contract. func NewIAccessControlTransactor(address common.Address, transactor bind.ContractTransactor) (*IAccessControlTransactor, error) { contract, err := bindIAccessControl(address, nil, transactor, nil) if err != nil { return nil, err } return &IAccessControlTransactor{contract: contract}, nil } // NewIAccessControlFilterer creates a new log filterer instance of IAccessControl, bound to a specific deployed contract. func NewIAccessControlFilterer(address common.Address, filterer bind.ContractFilterer) (*IAccessControlFilterer, error) { contract, err := bindIAccessControl(address, nil, nil, filterer) if err != nil { return nil, err } return &IAccessControlFilterer{contract: contract}, nil } // bindIAccessControl binds a generic wrapper to an already deployed contract. func bindIAccessControl(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IAccessControlABI)) 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 (_IAccessControl *IAccessControlRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IAccessControl.Contract.IAccessControlCaller.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 (_IAccessControl *IAccessControlRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IAccessControl.Contract.IAccessControlTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IAccessControl *IAccessControlRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IAccessControl.Contract.IAccessControlTransactor.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 (_IAccessControl *IAccessControlCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IAccessControl.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 (_IAccessControl *IAccessControlTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IAccessControl.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IAccessControl *IAccessControlTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IAccessControl.Contract.contract.Transact(opts, method, params...) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_IAccessControl *IAccessControlCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { var out []interface{} err := _IAccessControl.contract.Call(opts, &out, "getRoleAdmin", role) if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_IAccessControl *IAccessControlSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _IAccessControl.Contract.GetRoleAdmin(&_IAccessControl.CallOpts, role) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_IAccessControl *IAccessControlCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _IAccessControl.Contract.GetRoleAdmin(&_IAccessControl.CallOpts, role) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_IAccessControl *IAccessControlCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { var out []interface{} err := _IAccessControl.contract.Call(opts, &out, "hasRole", role, account) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_IAccessControl *IAccessControlSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _IAccessControl.Contract.HasRole(&_IAccessControl.CallOpts, role, account) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_IAccessControl *IAccessControlCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _IAccessControl.Contract.HasRole(&_IAccessControl.CallOpts, role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_IAccessControl *IAccessControlTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControl.contract.Transact(opts, "grantRole", role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_IAccessControl *IAccessControlSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControl.Contract.GrantRole(&_IAccessControl.TransactOpts, role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_IAccessControl *IAccessControlTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControl.Contract.GrantRole(&_IAccessControl.TransactOpts, role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() func (_IAccessControl *IAccessControlTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControl.contract.Transact(opts, "renounceRole", role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() func (_IAccessControl *IAccessControlSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControl.Contract.RenounceRole(&_IAccessControl.TransactOpts, role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() func (_IAccessControl *IAccessControlTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControl.Contract.RenounceRole(&_IAccessControl.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_IAccessControl *IAccessControlTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControl.contract.Transact(opts, "revokeRole", role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_IAccessControl *IAccessControlSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControl.Contract.RevokeRole(&_IAccessControl.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_IAccessControl *IAccessControlTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControl.Contract.RevokeRole(&_IAccessControl.TransactOpts, role, account) } // IAccessControlRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the IAccessControl contract. type IAccessControlRoleAdminChangedIterator struct { Event *IAccessControlRoleAdminChanged // 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 *IAccessControlRoleAdminChangedIterator) 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(IAccessControlRoleAdminChanged) 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(IAccessControlRoleAdminChanged) 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 *IAccessControlRoleAdminChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IAccessControlRoleAdminChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // IAccessControlRoleAdminChanged represents a RoleAdminChanged event raised by the IAccessControl contract. type IAccessControlRoleAdminChanged struct { Role [32]byte PreviousAdminRole [32]byte NewAdminRole [32]byte Raw types.Log // Blockchain specific contextual infos } // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_IAccessControl *IAccessControlFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*IAccessControlRoleAdminChangedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _IAccessControl.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) if err != nil { return nil, err } return &IAccessControlRoleAdminChangedIterator{contract: _IAccessControl.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil } // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_IAccessControl *IAccessControlFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *IAccessControlRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _IAccessControl.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) 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(IAccessControlRoleAdminChanged) if err := _IAccessControl.contract.UnpackLog(event, "RoleAdminChanged", 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 } // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_IAccessControl *IAccessControlFilterer) ParseRoleAdminChanged(log types.Log) (*IAccessControlRoleAdminChanged, error) { event := new(IAccessControlRoleAdminChanged) if err := _IAccessControl.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { return nil, err } event.Raw = log return event, nil } // IAccessControlRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the IAccessControl contract. type IAccessControlRoleGrantedIterator struct { Event *IAccessControlRoleGranted // 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 *IAccessControlRoleGrantedIterator) 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(IAccessControlRoleGranted) 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(IAccessControlRoleGranted) 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 *IAccessControlRoleGrantedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IAccessControlRoleGrantedIterator) Close() error { it.sub.Unsubscribe() return nil } // IAccessControlRoleGranted represents a RoleGranted event raised by the IAccessControl contract. type IAccessControlRoleGranted struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControl *IAccessControlFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*IAccessControlRoleGrantedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IAccessControl.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &IAccessControlRoleGrantedIterator{contract: _IAccessControl.contract, event: "RoleGranted", logs: logs, sub: sub}, nil } // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControl *IAccessControlFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *IAccessControlRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IAccessControl.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 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(IAccessControlRoleGranted) if err := _IAccessControl.contract.UnpackLog(event, "RoleGranted", 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 } // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControl *IAccessControlFilterer) ParseRoleGranted(log types.Log) (*IAccessControlRoleGranted, error) { event := new(IAccessControlRoleGranted) if err := _IAccessControl.contract.UnpackLog(event, "RoleGranted", log); err != nil { return nil, err } event.Raw = log return event, nil } // IAccessControlRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the IAccessControl contract. type IAccessControlRoleRevokedIterator struct { Event *IAccessControlRoleRevoked // 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 *IAccessControlRoleRevokedIterator) 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(IAccessControlRoleRevoked) 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(IAccessControlRoleRevoked) 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 *IAccessControlRoleRevokedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IAccessControlRoleRevokedIterator) Close() error { it.sub.Unsubscribe() return nil } // IAccessControlRoleRevoked represents a RoleRevoked event raised by the IAccessControl contract. type IAccessControlRoleRevoked struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControl *IAccessControlFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*IAccessControlRoleRevokedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IAccessControl.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &IAccessControlRoleRevokedIterator{contract: _IAccessControl.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil } // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControl *IAccessControlFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *IAccessControlRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IAccessControl.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 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(IAccessControlRoleRevoked) if err := _IAccessControl.contract.UnpackLog(event, "RoleRevoked", 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 } // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControl *IAccessControlFilterer) ParseRoleRevoked(log types.Log) (*IAccessControlRoleRevoked, error) { event := new(IAccessControlRoleRevoked) if err := _IAccessControl.contract.UnpackLog(event, "RoleRevoked", log); err != nil { return nil, err } event.Raw = log return event, nil } // IAccessControlEnumerableMetaData contains all meta data concerning the IAccessControlEnumerable contract. var IAccessControlEnumerableMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "248a9ca3": "getRoleAdmin(bytes32)", "9010d07c": "getRoleMember(bytes32,uint256)", "ca15c873": "getRoleMemberCount(bytes32)", "2f2ff15d": "grantRole(bytes32,address)", "91d14854": "hasRole(bytes32,address)", "36568abe": "renounceRole(bytes32,address)", "d547741f": "revokeRole(bytes32,address)", }, } // IAccessControlEnumerableABI is the input ABI used to generate the binding from. // Deprecated: Use IAccessControlEnumerableMetaData.ABI instead. var IAccessControlEnumerableABI = IAccessControlEnumerableMetaData.ABI // Deprecated: Use IAccessControlEnumerableMetaData.Sigs instead. // IAccessControlEnumerableFuncSigs maps the 4-byte function signature to its string representation. var IAccessControlEnumerableFuncSigs = IAccessControlEnumerableMetaData.Sigs // IAccessControlEnumerable is an auto generated Go binding around an Ethereum contract. type IAccessControlEnumerable struct { IAccessControlEnumerableCaller // Read-only binding to the contract IAccessControlEnumerableTransactor // Write-only binding to the contract IAccessControlEnumerableFilterer // Log filterer for contract events } // IAccessControlEnumerableCaller is an auto generated read-only Go binding around an Ethereum contract. type IAccessControlEnumerableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IAccessControlEnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract. type IAccessControlEnumerableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IAccessControlEnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IAccessControlEnumerableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IAccessControlEnumerableSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IAccessControlEnumerableSession struct { Contract *IAccessControlEnumerable // 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 } // IAccessControlEnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IAccessControlEnumerableCallerSession struct { Contract *IAccessControlEnumerableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IAccessControlEnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IAccessControlEnumerableTransactorSession struct { Contract *IAccessControlEnumerableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IAccessControlEnumerableRaw is an auto generated low-level Go binding around an Ethereum contract. type IAccessControlEnumerableRaw struct { Contract *IAccessControlEnumerable // Generic contract binding to access the raw methods on } // IAccessControlEnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IAccessControlEnumerableCallerRaw struct { Contract *IAccessControlEnumerableCaller // Generic read-only contract binding to access the raw methods on } // IAccessControlEnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IAccessControlEnumerableTransactorRaw struct { Contract *IAccessControlEnumerableTransactor // Generic write-only contract binding to access the raw methods on } // NewIAccessControlEnumerable creates a new instance of IAccessControlEnumerable, bound to a specific deployed contract. func NewIAccessControlEnumerable(address common.Address, backend bind.ContractBackend) (*IAccessControlEnumerable, error) { contract, err := bindIAccessControlEnumerable(address, backend, backend, backend) if err != nil { return nil, err } return &IAccessControlEnumerable{IAccessControlEnumerableCaller: IAccessControlEnumerableCaller{contract: contract}, IAccessControlEnumerableTransactor: IAccessControlEnumerableTransactor{contract: contract}, IAccessControlEnumerableFilterer: IAccessControlEnumerableFilterer{contract: contract}}, nil } // NewIAccessControlEnumerableCaller creates a new read-only instance of IAccessControlEnumerable, bound to a specific deployed contract. func NewIAccessControlEnumerableCaller(address common.Address, caller bind.ContractCaller) (*IAccessControlEnumerableCaller, error) { contract, err := bindIAccessControlEnumerable(address, caller, nil, nil) if err != nil { return nil, err } return &IAccessControlEnumerableCaller{contract: contract}, nil } // NewIAccessControlEnumerableTransactor creates a new write-only instance of IAccessControlEnumerable, bound to a specific deployed contract. func NewIAccessControlEnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*IAccessControlEnumerableTransactor, error) { contract, err := bindIAccessControlEnumerable(address, nil, transactor, nil) if err != nil { return nil, err } return &IAccessControlEnumerableTransactor{contract: contract}, nil } // NewIAccessControlEnumerableFilterer creates a new log filterer instance of IAccessControlEnumerable, bound to a specific deployed contract. func NewIAccessControlEnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*IAccessControlEnumerableFilterer, error) { contract, err := bindIAccessControlEnumerable(address, nil, nil, filterer) if err != nil { return nil, err } return &IAccessControlEnumerableFilterer{contract: contract}, nil } // bindIAccessControlEnumerable binds a generic wrapper to an already deployed contract. func bindIAccessControlEnumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IAccessControlEnumerableABI)) 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 (_IAccessControlEnumerable *IAccessControlEnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IAccessControlEnumerable.Contract.IAccessControlEnumerableCaller.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 (_IAccessControlEnumerable *IAccessControlEnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.IAccessControlEnumerableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IAccessControlEnumerable *IAccessControlEnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.IAccessControlEnumerableTransactor.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 (_IAccessControlEnumerable *IAccessControlEnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IAccessControlEnumerable.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 (_IAccessControlEnumerable *IAccessControlEnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.contract.Transact(opts, method, params...) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_IAccessControlEnumerable *IAccessControlEnumerableCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { var out []interface{} err := _IAccessControlEnumerable.contract.Call(opts, &out, "getRoleAdmin", role) if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_IAccessControlEnumerable *IAccessControlEnumerableSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _IAccessControlEnumerable.Contract.GetRoleAdmin(&_IAccessControlEnumerable.CallOpts, role) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_IAccessControlEnumerable *IAccessControlEnumerableCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _IAccessControlEnumerable.Contract.GetRoleAdmin(&_IAccessControlEnumerable.CallOpts, role) } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_IAccessControlEnumerable *IAccessControlEnumerableCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) { var out []interface{} err := _IAccessControlEnumerable.contract.Call(opts, &out, "getRoleMember", role, index) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_IAccessControlEnumerable *IAccessControlEnumerableSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { return _IAccessControlEnumerable.Contract.GetRoleMember(&_IAccessControlEnumerable.CallOpts, role, index) } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_IAccessControlEnumerable *IAccessControlEnumerableCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { return _IAccessControlEnumerable.Contract.GetRoleMember(&_IAccessControlEnumerable.CallOpts, role, index) } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_IAccessControlEnumerable *IAccessControlEnumerableCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) { var out []interface{} err := _IAccessControlEnumerable.contract.Call(opts, &out, "getRoleMemberCount", role) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_IAccessControlEnumerable *IAccessControlEnumerableSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { return _IAccessControlEnumerable.Contract.GetRoleMemberCount(&_IAccessControlEnumerable.CallOpts, role) } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_IAccessControlEnumerable *IAccessControlEnumerableCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { return _IAccessControlEnumerable.Contract.GetRoleMemberCount(&_IAccessControlEnumerable.CallOpts, role) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_IAccessControlEnumerable *IAccessControlEnumerableCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { var out []interface{} err := _IAccessControlEnumerable.contract.Call(opts, &out, "hasRole", role, account) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_IAccessControlEnumerable *IAccessControlEnumerableSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _IAccessControlEnumerable.Contract.HasRole(&_IAccessControlEnumerable.CallOpts, role, account) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_IAccessControlEnumerable *IAccessControlEnumerableCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _IAccessControlEnumerable.Contract.HasRole(&_IAccessControlEnumerable.CallOpts, role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.contract.Transact(opts, "grantRole", role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.GrantRole(&_IAccessControlEnumerable.TransactOpts, role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.GrantRole(&_IAccessControlEnumerable.TransactOpts, role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.contract.Transact(opts, "renounceRole", role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.RenounceRole(&_IAccessControlEnumerable.TransactOpts, role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.RenounceRole(&_IAccessControlEnumerable.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.contract.Transact(opts, "revokeRole", role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.RevokeRole(&_IAccessControlEnumerable.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.RevokeRole(&_IAccessControlEnumerable.TransactOpts, role, account) } // IAccessControlEnumerableRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the IAccessControlEnumerable contract. type IAccessControlEnumerableRoleAdminChangedIterator struct { Event *IAccessControlEnumerableRoleAdminChanged // 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 *IAccessControlEnumerableRoleAdminChangedIterator) 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(IAccessControlEnumerableRoleAdminChanged) 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(IAccessControlEnumerableRoleAdminChanged) 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 *IAccessControlEnumerableRoleAdminChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IAccessControlEnumerableRoleAdminChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // IAccessControlEnumerableRoleAdminChanged represents a RoleAdminChanged event raised by the IAccessControlEnumerable contract. type IAccessControlEnumerableRoleAdminChanged struct { Role [32]byte PreviousAdminRole [32]byte NewAdminRole [32]byte Raw types.Log // Blockchain specific contextual infos } // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*IAccessControlEnumerableRoleAdminChangedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _IAccessControlEnumerable.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) if err != nil { return nil, err } return &IAccessControlEnumerableRoleAdminChangedIterator{contract: _IAccessControlEnumerable.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil } // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *IAccessControlEnumerableRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _IAccessControlEnumerable.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) 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(IAccessControlEnumerableRoleAdminChanged) if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleAdminChanged", 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 } // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) ParseRoleAdminChanged(log types.Log) (*IAccessControlEnumerableRoleAdminChanged, error) { event := new(IAccessControlEnumerableRoleAdminChanged) if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { return nil, err } event.Raw = log return event, nil } // IAccessControlEnumerableRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the IAccessControlEnumerable contract. type IAccessControlEnumerableRoleGrantedIterator struct { Event *IAccessControlEnumerableRoleGranted // 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 *IAccessControlEnumerableRoleGrantedIterator) 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(IAccessControlEnumerableRoleGranted) 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(IAccessControlEnumerableRoleGranted) 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 *IAccessControlEnumerableRoleGrantedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IAccessControlEnumerableRoleGrantedIterator) Close() error { it.sub.Unsubscribe() return nil } // IAccessControlEnumerableRoleGranted represents a RoleGranted event raised by the IAccessControlEnumerable contract. type IAccessControlEnumerableRoleGranted struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*IAccessControlEnumerableRoleGrantedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IAccessControlEnumerable.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &IAccessControlEnumerableRoleGrantedIterator{contract: _IAccessControlEnumerable.contract, event: "RoleGranted", logs: logs, sub: sub}, nil } // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *IAccessControlEnumerableRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IAccessControlEnumerable.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 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(IAccessControlEnumerableRoleGranted) if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleGranted", 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 } // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) ParseRoleGranted(log types.Log) (*IAccessControlEnumerableRoleGranted, error) { event := new(IAccessControlEnumerableRoleGranted) if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleGranted", log); err != nil { return nil, err } event.Raw = log return event, nil } // IAccessControlEnumerableRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the IAccessControlEnumerable contract. type IAccessControlEnumerableRoleRevokedIterator struct { Event *IAccessControlEnumerableRoleRevoked // 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 *IAccessControlEnumerableRoleRevokedIterator) 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(IAccessControlEnumerableRoleRevoked) 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(IAccessControlEnumerableRoleRevoked) 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 *IAccessControlEnumerableRoleRevokedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IAccessControlEnumerableRoleRevokedIterator) Close() error { it.sub.Unsubscribe() return nil } // IAccessControlEnumerableRoleRevoked represents a RoleRevoked event raised by the IAccessControlEnumerable contract. type IAccessControlEnumerableRoleRevoked struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*IAccessControlEnumerableRoleRevokedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IAccessControlEnumerable.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &IAccessControlEnumerableRoleRevokedIterator{contract: _IAccessControlEnumerable.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil } // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *IAccessControlEnumerableRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IAccessControlEnumerable.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 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(IAccessControlEnumerableRoleRevoked) if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleRevoked", 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 } // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) ParseRoleRevoked(log types.Log) (*IAccessControlEnumerableRoleRevoked, error) { event := new(IAccessControlEnumerableRoleRevoked) if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleRevoked", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC1155MetaData contains all meta data concerning the IERC1155 contract. var IERC1155MetaData = &bind.MetaData{ ABI: "[{\"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\":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\":\"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\":\"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\":\"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\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "00fdd58e": "balanceOf(address,uint256)", "4e1273f4": "balanceOfBatch(address[],uint256[])", "e985e9c5": "isApprovedForAll(address,address)", "2eb2c2d6": "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)", "f242432a": "safeTransferFrom(address,address,uint256,uint256,bytes)", "a22cb465": "setApprovalForAll(address,bool)", "01ffc9a7": "supportsInterface(bytes4)", }, } // IERC1155ABI is the input ABI used to generate the binding from. // Deprecated: Use IERC1155MetaData.ABI instead. var IERC1155ABI = IERC1155MetaData.ABI // Deprecated: Use IERC1155MetaData.Sigs instead. // IERC1155FuncSigs maps the 4-byte function signature to its string representation. var IERC1155FuncSigs = IERC1155MetaData.Sigs // IERC1155 is an auto generated Go binding around an Ethereum contract. type IERC1155 struct { IERC1155Caller // Read-only binding to the contract IERC1155Transactor // Write-only binding to the contract IERC1155Filterer // Log filterer for contract events } // IERC1155Caller is an auto generated read-only Go binding around an Ethereum contract. type IERC1155Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC1155Transactor is an auto generated write-only Go binding around an Ethereum contract. type IERC1155Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC1155Filterer is an auto generated log filtering Go binding around an Ethereum contract events. type IERC1155Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC1155Session is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IERC1155Session struct { Contract *IERC1155 // 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 } // IERC1155CallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IERC1155CallerSession struct { Contract *IERC1155Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC1155TransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IERC1155TransactorSession struct { Contract *IERC1155Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC1155Raw is an auto generated low-level Go binding around an Ethereum contract. type IERC1155Raw struct { Contract *IERC1155 // Generic contract binding to access the raw methods on } // IERC1155CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IERC1155CallerRaw struct { Contract *IERC1155Caller // Generic read-only contract binding to access the raw methods on } // IERC1155TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IERC1155TransactorRaw struct { Contract *IERC1155Transactor // Generic write-only contract binding to access the raw methods on } // NewIERC1155 creates a new instance of IERC1155, bound to a specific deployed contract. func NewIERC1155(address common.Address, backend bind.ContractBackend) (*IERC1155, error) { contract, err := bindIERC1155(address, backend, backend, backend) if err != nil { return nil, err } return &IERC1155{IERC1155Caller: IERC1155Caller{contract: contract}, IERC1155Transactor: IERC1155Transactor{contract: contract}, IERC1155Filterer: IERC1155Filterer{contract: contract}}, nil } // NewIERC1155Caller creates a new read-only instance of IERC1155, bound to a specific deployed contract. func NewIERC1155Caller(address common.Address, caller bind.ContractCaller) (*IERC1155Caller, error) { contract, err := bindIERC1155(address, caller, nil, nil) if err != nil { return nil, err } return &IERC1155Caller{contract: contract}, nil } // NewIERC1155Transactor creates a new write-only instance of IERC1155, bound to a specific deployed contract. func NewIERC1155Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC1155Transactor, error) { contract, err := bindIERC1155(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC1155Transactor{contract: contract}, nil } // NewIERC1155Filterer creates a new log filterer instance of IERC1155, bound to a specific deployed contract. func NewIERC1155Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC1155Filterer, error) { contract, err := bindIERC1155(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC1155Filterer{contract: contract}, nil } // bindIERC1155 binds a generic wrapper to an already deployed contract. func bindIERC1155(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IERC1155ABI)) 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 (_IERC1155 *IERC1155Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC1155.Contract.IERC1155Caller.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 (_IERC1155 *IERC1155Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC1155.Contract.IERC1155Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC1155 *IERC1155Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC1155.Contract.IERC1155Transactor.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 (_IERC1155 *IERC1155CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC1155.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 (_IERC1155 *IERC1155TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC1155.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC1155 *IERC1155TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC1155.Contract.contract.Transact(opts, method, params...) } // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e. // // Solidity: function balanceOf(address account, uint256 id) view returns(uint256) func (_IERC1155 *IERC1155Caller) BalanceOf(opts *bind.CallOpts, account common.Address, id *big.Int) (*big.Int, error) { var out []interface{} err := _IERC1155.contract.Call(opts, &out, "balanceOf", account, 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 account, uint256 id) view returns(uint256) func (_IERC1155 *IERC1155Session) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) { return _IERC1155.Contract.BalanceOf(&_IERC1155.CallOpts, account, id) } // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e. // // Solidity: function balanceOf(address account, uint256 id) view returns(uint256) func (_IERC1155 *IERC1155CallerSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) { return _IERC1155.Contract.BalanceOf(&_IERC1155.CallOpts, account, id) } // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4. // // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[]) func (_IERC1155 *IERC1155Caller) BalanceOfBatch(opts *bind.CallOpts, accounts []common.Address, ids []*big.Int) ([]*big.Int, error) { var out []interface{} err := _IERC1155.contract.Call(opts, &out, "balanceOfBatch", accounts, 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[] accounts, uint256[] ids) view returns(uint256[]) func (_IERC1155 *IERC1155Session) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) { return _IERC1155.Contract.BalanceOfBatch(&_IERC1155.CallOpts, accounts, ids) } // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4. // // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[]) func (_IERC1155 *IERC1155CallerSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) { return _IERC1155.Contract.BalanceOfBatch(&_IERC1155.CallOpts, accounts, ids) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address account, address operator) view returns(bool) func (_IERC1155 *IERC1155Caller) IsApprovedForAll(opts *bind.CallOpts, account common.Address, operator common.Address) (bool, error) { var out []interface{} err := _IERC1155.contract.Call(opts, &out, "isApprovedForAll", account, 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 account, address operator) view returns(bool) func (_IERC1155 *IERC1155Session) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) { return _IERC1155.Contract.IsApprovedForAll(&_IERC1155.CallOpts, account, operator) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address account, address operator) view returns(bool) func (_IERC1155 *IERC1155CallerSession) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) { return _IERC1155.Contract.IsApprovedForAll(&_IERC1155.CallOpts, account, operator) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC1155 *IERC1155Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _IERC1155.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC1155 *IERC1155Session) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC1155.Contract.SupportsInterface(&_IERC1155.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC1155 *IERC1155CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC1155.Contract.SupportsInterface(&_IERC1155.CallOpts, interfaceId) } // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. // // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns() func (_IERC1155 *IERC1155Transactor) SafeBatchTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) { return _IERC1155.contract.Transact(opts, "safeBatchTransferFrom", from, to, ids, amounts, data) } // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. // // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns() func (_IERC1155 *IERC1155Session) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) { return _IERC1155.Contract.SafeBatchTransferFrom(&_IERC1155.TransactOpts, from, to, ids, amounts, data) } // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. // // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns() func (_IERC1155 *IERC1155TransactorSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) { return _IERC1155.Contract.SafeBatchTransferFrom(&_IERC1155.TransactOpts, from, to, ids, amounts, data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. // // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns() func (_IERC1155 *IERC1155Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { return _IERC1155.contract.Transact(opts, "safeTransferFrom", from, to, id, amount, data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. // // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns() func (_IERC1155 *IERC1155Session) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { return _IERC1155.Contract.SafeTransferFrom(&_IERC1155.TransactOpts, from, to, id, amount, data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. // // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns() func (_IERC1155 *IERC1155TransactorSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { return _IERC1155.Contract.SafeTransferFrom(&_IERC1155.TransactOpts, from, to, id, amount, data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool approved) returns() func (_IERC1155 *IERC1155Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) { return _IERC1155.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 (_IERC1155 *IERC1155Session) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { return _IERC1155.Contract.SetApprovalForAll(&_IERC1155.TransactOpts, operator, approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool approved) returns() func (_IERC1155 *IERC1155TransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { return _IERC1155.Contract.SetApprovalForAll(&_IERC1155.TransactOpts, operator, approved) } // IERC1155ApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the IERC1155 contract. type IERC1155ApprovalForAllIterator struct { Event *IERC1155ApprovalForAll // 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 *IERC1155ApprovalForAllIterator) 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(IERC1155ApprovalForAll) 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(IERC1155ApprovalForAll) 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 *IERC1155ApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC1155ApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC1155ApprovalForAll represents a ApprovalForAll event raised by the IERC1155 contract. type IERC1155ApprovalForAll struct { Account 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 account, address indexed operator, bool approved) func (_IERC1155 *IERC1155Filterer) FilterApprovalForAll(opts *bind.FilterOpts, account []common.Address, operator []common.Address) (*IERC1155ApprovalForAllIterator, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _IERC1155.contract.FilterLogs(opts, "ApprovalForAll", accountRule, operatorRule) if err != nil { return nil, err } return &IERC1155ApprovalForAllIterator{contract: _IERC1155.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 account, address indexed operator, bool approved) func (_IERC1155 *IERC1155Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC1155ApprovalForAll, account []common.Address, operator []common.Address) (event.Subscription, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _IERC1155.contract.WatchLogs(opts, "ApprovalForAll", accountRule, 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(IERC1155ApprovalForAll) if err := _IERC1155.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 account, address indexed operator, bool approved) func (_IERC1155 *IERC1155Filterer) ParseApprovalForAll(log types.Log) (*IERC1155ApprovalForAll, error) { event := new(IERC1155ApprovalForAll) if err := _IERC1155.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC1155TransferBatchIterator is returned from FilterTransferBatch and is used to iterate over the raw logs and unpacked data for TransferBatch events raised by the IERC1155 contract. type IERC1155TransferBatchIterator struct { Event *IERC1155TransferBatch // 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 *IERC1155TransferBatchIterator) 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(IERC1155TransferBatch) 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(IERC1155TransferBatch) 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 *IERC1155TransferBatchIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC1155TransferBatchIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC1155TransferBatch represents a TransferBatch event raised by the IERC1155 contract. type IERC1155TransferBatch 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 (_IERC1155 *IERC1155Filterer) FilterTransferBatch(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*IERC1155TransferBatchIterator, 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 := _IERC1155.contract.FilterLogs(opts, "TransferBatch", operatorRule, fromRule, toRule) if err != nil { return nil, err } return &IERC1155TransferBatchIterator{contract: _IERC1155.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 (_IERC1155 *IERC1155Filterer) WatchTransferBatch(opts *bind.WatchOpts, sink chan<- *IERC1155TransferBatch, 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 := _IERC1155.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(IERC1155TransferBatch) if err := _IERC1155.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 (_IERC1155 *IERC1155Filterer) ParseTransferBatch(log types.Log) (*IERC1155TransferBatch, error) { event := new(IERC1155TransferBatch) if err := _IERC1155.contract.UnpackLog(event, "TransferBatch", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC1155TransferSingleIterator is returned from FilterTransferSingle and is used to iterate over the raw logs and unpacked data for TransferSingle events raised by the IERC1155 contract. type IERC1155TransferSingleIterator struct { Event *IERC1155TransferSingle // 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 *IERC1155TransferSingleIterator) 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(IERC1155TransferSingle) 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(IERC1155TransferSingle) 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 *IERC1155TransferSingleIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC1155TransferSingleIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC1155TransferSingle represents a TransferSingle event raised by the IERC1155 contract. type IERC1155TransferSingle 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 (_IERC1155 *IERC1155Filterer) FilterTransferSingle(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*IERC1155TransferSingleIterator, 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 := _IERC1155.contract.FilterLogs(opts, "TransferSingle", operatorRule, fromRule, toRule) if err != nil { return nil, err } return &IERC1155TransferSingleIterator{contract: _IERC1155.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 (_IERC1155 *IERC1155Filterer) WatchTransferSingle(opts *bind.WatchOpts, sink chan<- *IERC1155TransferSingle, 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 := _IERC1155.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(IERC1155TransferSingle) if err := _IERC1155.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 (_IERC1155 *IERC1155Filterer) ParseTransferSingle(log types.Log) (*IERC1155TransferSingle, error) { event := new(IERC1155TransferSingle) if err := _IERC1155.contract.UnpackLog(event, "TransferSingle", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC1155URIIterator is returned from FilterURI and is used to iterate over the raw logs and unpacked data for URI events raised by the IERC1155 contract. type IERC1155URIIterator struct { Event *IERC1155URI // 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 *IERC1155URIIterator) 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(IERC1155URI) 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(IERC1155URI) 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 *IERC1155URIIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC1155URIIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC1155URI represents a URI event raised by the IERC1155 contract. type IERC1155URI 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 (_IERC1155 *IERC1155Filterer) FilterURI(opts *bind.FilterOpts, id []*big.Int) (*IERC1155URIIterator, error) { var idRule []interface{} for _, idItem := range id { idRule = append(idRule, idItem) } logs, sub, err := _IERC1155.contract.FilterLogs(opts, "URI", idRule) if err != nil { return nil, err } return &IERC1155URIIterator{contract: _IERC1155.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 (_IERC1155 *IERC1155Filterer) WatchURI(opts *bind.WatchOpts, sink chan<- *IERC1155URI, id []*big.Int) (event.Subscription, error) { var idRule []interface{} for _, idItem := range id { idRule = append(idRule, idItem) } logs, sub, err := _IERC1155.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(IERC1155URI) if err := _IERC1155.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 (_IERC1155 *IERC1155Filterer) ParseURI(log types.Log) (*IERC1155URI, error) { event := new(IERC1155URI) if err := _IERC1155.contract.UnpackLog(event, "URI", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC1155MetadataURIMetaData contains all meta data concerning the IERC1155MetadataURI contract. var IERC1155MetadataURIMetaData = &bind.MetaData{ ABI: "[{\"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\":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\":\"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\":\"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\":\"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\":\"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\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "00fdd58e": "balanceOf(address,uint256)", "4e1273f4": "balanceOfBatch(address[],uint256[])", "e985e9c5": "isApprovedForAll(address,address)", "2eb2c2d6": "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)", "f242432a": "safeTransferFrom(address,address,uint256,uint256,bytes)", "a22cb465": "setApprovalForAll(address,bool)", "01ffc9a7": "supportsInterface(bytes4)", "0e89341c": "uri(uint256)", }, } // IERC1155MetadataURIABI is the input ABI used to generate the binding from. // Deprecated: Use IERC1155MetadataURIMetaData.ABI instead. var IERC1155MetadataURIABI = IERC1155MetadataURIMetaData.ABI // Deprecated: Use IERC1155MetadataURIMetaData.Sigs instead. // IERC1155MetadataURIFuncSigs maps the 4-byte function signature to its string representation. var IERC1155MetadataURIFuncSigs = IERC1155MetadataURIMetaData.Sigs // IERC1155MetadataURI is an auto generated Go binding around an Ethereum contract. type IERC1155MetadataURI struct { IERC1155MetadataURICaller // Read-only binding to the contract IERC1155MetadataURITransactor // Write-only binding to the contract IERC1155MetadataURIFilterer // Log filterer for contract events } // IERC1155MetadataURICaller is an auto generated read-only Go binding around an Ethereum contract. type IERC1155MetadataURICaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC1155MetadataURITransactor is an auto generated write-only Go binding around an Ethereum contract. type IERC1155MetadataURITransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC1155MetadataURIFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IERC1155MetadataURIFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC1155MetadataURISession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IERC1155MetadataURISession struct { Contract *IERC1155MetadataURI // 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 } // IERC1155MetadataURICallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IERC1155MetadataURICallerSession struct { Contract *IERC1155MetadataURICaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC1155MetadataURITransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IERC1155MetadataURITransactorSession struct { Contract *IERC1155MetadataURITransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC1155MetadataURIRaw is an auto generated low-level Go binding around an Ethereum contract. type IERC1155MetadataURIRaw struct { Contract *IERC1155MetadataURI // Generic contract binding to access the raw methods on } // IERC1155MetadataURICallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IERC1155MetadataURICallerRaw struct { Contract *IERC1155MetadataURICaller // Generic read-only contract binding to access the raw methods on } // IERC1155MetadataURITransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IERC1155MetadataURITransactorRaw struct { Contract *IERC1155MetadataURITransactor // Generic write-only contract binding to access the raw methods on } // NewIERC1155MetadataURI creates a new instance of IERC1155MetadataURI, bound to a specific deployed contract. func NewIERC1155MetadataURI(address common.Address, backend bind.ContractBackend) (*IERC1155MetadataURI, error) { contract, err := bindIERC1155MetadataURI(address, backend, backend, backend) if err != nil { return nil, err } return &IERC1155MetadataURI{IERC1155MetadataURICaller: IERC1155MetadataURICaller{contract: contract}, IERC1155MetadataURITransactor: IERC1155MetadataURITransactor{contract: contract}, IERC1155MetadataURIFilterer: IERC1155MetadataURIFilterer{contract: contract}}, nil } // NewIERC1155MetadataURICaller creates a new read-only instance of IERC1155MetadataURI, bound to a specific deployed contract. func NewIERC1155MetadataURICaller(address common.Address, caller bind.ContractCaller) (*IERC1155MetadataURICaller, error) { contract, err := bindIERC1155MetadataURI(address, caller, nil, nil) if err != nil { return nil, err } return &IERC1155MetadataURICaller{contract: contract}, nil } // NewIERC1155MetadataURITransactor creates a new write-only instance of IERC1155MetadataURI, bound to a specific deployed contract. func NewIERC1155MetadataURITransactor(address common.Address, transactor bind.ContractTransactor) (*IERC1155MetadataURITransactor, error) { contract, err := bindIERC1155MetadataURI(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC1155MetadataURITransactor{contract: contract}, nil } // NewIERC1155MetadataURIFilterer creates a new log filterer instance of IERC1155MetadataURI, bound to a specific deployed contract. func NewIERC1155MetadataURIFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC1155MetadataURIFilterer, error) { contract, err := bindIERC1155MetadataURI(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC1155MetadataURIFilterer{contract: contract}, nil } // bindIERC1155MetadataURI binds a generic wrapper to an already deployed contract. func bindIERC1155MetadataURI(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IERC1155MetadataURIABI)) 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 (_IERC1155MetadataURI *IERC1155MetadataURIRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC1155MetadataURI.Contract.IERC1155MetadataURICaller.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 (_IERC1155MetadataURI *IERC1155MetadataURIRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC1155MetadataURI.Contract.IERC1155MetadataURITransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC1155MetadataURI *IERC1155MetadataURIRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC1155MetadataURI.Contract.IERC1155MetadataURITransactor.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 (_IERC1155MetadataURI *IERC1155MetadataURICallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC1155MetadataURI.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 (_IERC1155MetadataURI *IERC1155MetadataURITransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC1155MetadataURI.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC1155MetadataURI *IERC1155MetadataURITransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC1155MetadataURI.Contract.contract.Transact(opts, method, params...) } // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e. // // Solidity: function balanceOf(address account, uint256 id) view returns(uint256) func (_IERC1155MetadataURI *IERC1155MetadataURICaller) BalanceOf(opts *bind.CallOpts, account common.Address, id *big.Int) (*big.Int, error) { var out []interface{} err := _IERC1155MetadataURI.contract.Call(opts, &out, "balanceOf", account, 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 account, uint256 id) view returns(uint256) func (_IERC1155MetadataURI *IERC1155MetadataURISession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) { return _IERC1155MetadataURI.Contract.BalanceOf(&_IERC1155MetadataURI.CallOpts, account, id) } // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e. // // Solidity: function balanceOf(address account, uint256 id) view returns(uint256) func (_IERC1155MetadataURI *IERC1155MetadataURICallerSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) { return _IERC1155MetadataURI.Contract.BalanceOf(&_IERC1155MetadataURI.CallOpts, account, id) } // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4. // // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[]) func (_IERC1155MetadataURI *IERC1155MetadataURICaller) BalanceOfBatch(opts *bind.CallOpts, accounts []common.Address, ids []*big.Int) ([]*big.Int, error) { var out []interface{} err := _IERC1155MetadataURI.contract.Call(opts, &out, "balanceOfBatch", accounts, 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[] accounts, uint256[] ids) view returns(uint256[]) func (_IERC1155MetadataURI *IERC1155MetadataURISession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) { return _IERC1155MetadataURI.Contract.BalanceOfBatch(&_IERC1155MetadataURI.CallOpts, accounts, ids) } // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4. // // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[]) func (_IERC1155MetadataURI *IERC1155MetadataURICallerSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) { return _IERC1155MetadataURI.Contract.BalanceOfBatch(&_IERC1155MetadataURI.CallOpts, accounts, ids) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address account, address operator) view returns(bool) func (_IERC1155MetadataURI *IERC1155MetadataURICaller) IsApprovedForAll(opts *bind.CallOpts, account common.Address, operator common.Address) (bool, error) { var out []interface{} err := _IERC1155MetadataURI.contract.Call(opts, &out, "isApprovedForAll", account, 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 account, address operator) view returns(bool) func (_IERC1155MetadataURI *IERC1155MetadataURISession) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) { return _IERC1155MetadataURI.Contract.IsApprovedForAll(&_IERC1155MetadataURI.CallOpts, account, operator) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address account, address operator) view returns(bool) func (_IERC1155MetadataURI *IERC1155MetadataURICallerSession) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) { return _IERC1155MetadataURI.Contract.IsApprovedForAll(&_IERC1155MetadataURI.CallOpts, account, operator) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC1155MetadataURI *IERC1155MetadataURICaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _IERC1155MetadataURI.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC1155MetadataURI *IERC1155MetadataURISession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC1155MetadataURI.Contract.SupportsInterface(&_IERC1155MetadataURI.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC1155MetadataURI *IERC1155MetadataURICallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC1155MetadataURI.Contract.SupportsInterface(&_IERC1155MetadataURI.CallOpts, interfaceId) } // Uri is a free data retrieval call binding the contract method 0x0e89341c. // // Solidity: function uri(uint256 id) view returns(string) func (_IERC1155MetadataURI *IERC1155MetadataURICaller) Uri(opts *bind.CallOpts, id *big.Int) (string, error) { var out []interface{} err := _IERC1155MetadataURI.contract.Call(opts, &out, "uri", id) if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // Uri is a free data retrieval call binding the contract method 0x0e89341c. // // Solidity: function uri(uint256 id) view returns(string) func (_IERC1155MetadataURI *IERC1155MetadataURISession) Uri(id *big.Int) (string, error) { return _IERC1155MetadataURI.Contract.Uri(&_IERC1155MetadataURI.CallOpts, id) } // Uri is a free data retrieval call binding the contract method 0x0e89341c. // // Solidity: function uri(uint256 id) view returns(string) func (_IERC1155MetadataURI *IERC1155MetadataURICallerSession) Uri(id *big.Int) (string, error) { return _IERC1155MetadataURI.Contract.Uri(&_IERC1155MetadataURI.CallOpts, id) } // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. // // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns() func (_IERC1155MetadataURI *IERC1155MetadataURITransactor) SafeBatchTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) { return _IERC1155MetadataURI.contract.Transact(opts, "safeBatchTransferFrom", from, to, ids, amounts, data) } // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. // // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns() func (_IERC1155MetadataURI *IERC1155MetadataURISession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) { return _IERC1155MetadataURI.Contract.SafeBatchTransferFrom(&_IERC1155MetadataURI.TransactOpts, from, to, ids, amounts, data) } // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. // // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns() func (_IERC1155MetadataURI *IERC1155MetadataURITransactorSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) { return _IERC1155MetadataURI.Contract.SafeBatchTransferFrom(&_IERC1155MetadataURI.TransactOpts, from, to, ids, amounts, data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. // // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns() func (_IERC1155MetadataURI *IERC1155MetadataURITransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { return _IERC1155MetadataURI.contract.Transact(opts, "safeTransferFrom", from, to, id, amount, data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. // // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns() func (_IERC1155MetadataURI *IERC1155MetadataURISession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { return _IERC1155MetadataURI.Contract.SafeTransferFrom(&_IERC1155MetadataURI.TransactOpts, from, to, id, amount, data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. // // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns() func (_IERC1155MetadataURI *IERC1155MetadataURITransactorSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { return _IERC1155MetadataURI.Contract.SafeTransferFrom(&_IERC1155MetadataURI.TransactOpts, from, to, id, amount, data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool approved) returns() func (_IERC1155MetadataURI *IERC1155MetadataURITransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) { return _IERC1155MetadataURI.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 (_IERC1155MetadataURI *IERC1155MetadataURISession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { return _IERC1155MetadataURI.Contract.SetApprovalForAll(&_IERC1155MetadataURI.TransactOpts, operator, approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool approved) returns() func (_IERC1155MetadataURI *IERC1155MetadataURITransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { return _IERC1155MetadataURI.Contract.SetApprovalForAll(&_IERC1155MetadataURI.TransactOpts, operator, approved) } // IERC1155MetadataURIApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the IERC1155MetadataURI contract. type IERC1155MetadataURIApprovalForAllIterator struct { Event *IERC1155MetadataURIApprovalForAll // 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 *IERC1155MetadataURIApprovalForAllIterator) 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(IERC1155MetadataURIApprovalForAll) 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(IERC1155MetadataURIApprovalForAll) 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 *IERC1155MetadataURIApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC1155MetadataURIApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC1155MetadataURIApprovalForAll represents a ApprovalForAll event raised by the IERC1155MetadataURI contract. type IERC1155MetadataURIApprovalForAll struct { Account 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 account, address indexed operator, bool approved) func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) FilterApprovalForAll(opts *bind.FilterOpts, account []common.Address, operator []common.Address) (*IERC1155MetadataURIApprovalForAllIterator, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _IERC1155MetadataURI.contract.FilterLogs(opts, "ApprovalForAll", accountRule, operatorRule) if err != nil { return nil, err } return &IERC1155MetadataURIApprovalForAllIterator{contract: _IERC1155MetadataURI.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 account, address indexed operator, bool approved) func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC1155MetadataURIApprovalForAll, account []common.Address, operator []common.Address) (event.Subscription, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _IERC1155MetadataURI.contract.WatchLogs(opts, "ApprovalForAll", accountRule, 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(IERC1155MetadataURIApprovalForAll) if err := _IERC1155MetadataURI.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 account, address indexed operator, bool approved) func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) ParseApprovalForAll(log types.Log) (*IERC1155MetadataURIApprovalForAll, error) { event := new(IERC1155MetadataURIApprovalForAll) if err := _IERC1155MetadataURI.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC1155MetadataURITransferBatchIterator is returned from FilterTransferBatch and is used to iterate over the raw logs and unpacked data for TransferBatch events raised by the IERC1155MetadataURI contract. type IERC1155MetadataURITransferBatchIterator struct { Event *IERC1155MetadataURITransferBatch // 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 *IERC1155MetadataURITransferBatchIterator) 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(IERC1155MetadataURITransferBatch) 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(IERC1155MetadataURITransferBatch) 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 *IERC1155MetadataURITransferBatchIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC1155MetadataURITransferBatchIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC1155MetadataURITransferBatch represents a TransferBatch event raised by the IERC1155MetadataURI contract. type IERC1155MetadataURITransferBatch 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 (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) FilterTransferBatch(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*IERC1155MetadataURITransferBatchIterator, 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 := _IERC1155MetadataURI.contract.FilterLogs(opts, "TransferBatch", operatorRule, fromRule, toRule) if err != nil { return nil, err } return &IERC1155MetadataURITransferBatchIterator{contract: _IERC1155MetadataURI.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 (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) WatchTransferBatch(opts *bind.WatchOpts, sink chan<- *IERC1155MetadataURITransferBatch, 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 := _IERC1155MetadataURI.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(IERC1155MetadataURITransferBatch) if err := _IERC1155MetadataURI.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 (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) ParseTransferBatch(log types.Log) (*IERC1155MetadataURITransferBatch, error) { event := new(IERC1155MetadataURITransferBatch) if err := _IERC1155MetadataURI.contract.UnpackLog(event, "TransferBatch", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC1155MetadataURITransferSingleIterator is returned from FilterTransferSingle and is used to iterate over the raw logs and unpacked data for TransferSingle events raised by the IERC1155MetadataURI contract. type IERC1155MetadataURITransferSingleIterator struct { Event *IERC1155MetadataURITransferSingle // 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 *IERC1155MetadataURITransferSingleIterator) 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(IERC1155MetadataURITransferSingle) 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(IERC1155MetadataURITransferSingle) 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 *IERC1155MetadataURITransferSingleIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC1155MetadataURITransferSingleIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC1155MetadataURITransferSingle represents a TransferSingle event raised by the IERC1155MetadataURI contract. type IERC1155MetadataURITransferSingle 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 (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) FilterTransferSingle(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*IERC1155MetadataURITransferSingleIterator, 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 := _IERC1155MetadataURI.contract.FilterLogs(opts, "TransferSingle", operatorRule, fromRule, toRule) if err != nil { return nil, err } return &IERC1155MetadataURITransferSingleIterator{contract: _IERC1155MetadataURI.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 (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) WatchTransferSingle(opts *bind.WatchOpts, sink chan<- *IERC1155MetadataURITransferSingle, 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 := _IERC1155MetadataURI.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(IERC1155MetadataURITransferSingle) if err := _IERC1155MetadataURI.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 (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) ParseTransferSingle(log types.Log) (*IERC1155MetadataURITransferSingle, error) { event := new(IERC1155MetadataURITransferSingle) if err := _IERC1155MetadataURI.contract.UnpackLog(event, "TransferSingle", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC1155MetadataURIURIIterator is returned from FilterURI and is used to iterate over the raw logs and unpacked data for URI events raised by the IERC1155MetadataURI contract. type IERC1155MetadataURIURIIterator struct { Event *IERC1155MetadataURIURI // 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 *IERC1155MetadataURIURIIterator) 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(IERC1155MetadataURIURI) 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(IERC1155MetadataURIURI) 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 *IERC1155MetadataURIURIIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC1155MetadataURIURIIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC1155MetadataURIURI represents a URI event raised by the IERC1155MetadataURI contract. type IERC1155MetadataURIURI 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 (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) FilterURI(opts *bind.FilterOpts, id []*big.Int) (*IERC1155MetadataURIURIIterator, error) { var idRule []interface{} for _, idItem := range id { idRule = append(idRule, idItem) } logs, sub, err := _IERC1155MetadataURI.contract.FilterLogs(opts, "URI", idRule) if err != nil { return nil, err } return &IERC1155MetadataURIURIIterator{contract: _IERC1155MetadataURI.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 (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) WatchURI(opts *bind.WatchOpts, sink chan<- *IERC1155MetadataURIURI, id []*big.Int) (event.Subscription, error) { var idRule []interface{} for _, idItem := range id { idRule = append(idRule, idItem) } logs, sub, err := _IERC1155MetadataURI.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(IERC1155MetadataURIURI) if err := _IERC1155MetadataURI.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 (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) ParseURI(log types.Log) (*IERC1155MetadataURIURI, error) { event := new(IERC1155MetadataURIURI) if err := _IERC1155MetadataURI.contract.UnpackLog(event, "URI", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC1155ReceiverMetaData contains all meta data concerning the IERC1155Receiver contract. var IERC1155ReceiverMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "bc197c81": "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)", "f23a6e61": "onERC1155Received(address,address,uint256,uint256,bytes)", "01ffc9a7": "supportsInterface(bytes4)", }, } // IERC1155ReceiverABI is the input ABI used to generate the binding from. // Deprecated: Use IERC1155ReceiverMetaData.ABI instead. var IERC1155ReceiverABI = IERC1155ReceiverMetaData.ABI // Deprecated: Use IERC1155ReceiverMetaData.Sigs instead. // IERC1155ReceiverFuncSigs maps the 4-byte function signature to its string representation. var IERC1155ReceiverFuncSigs = IERC1155ReceiverMetaData.Sigs // IERC1155Receiver is an auto generated Go binding around an Ethereum contract. type IERC1155Receiver struct { IERC1155ReceiverCaller // Read-only binding to the contract IERC1155ReceiverTransactor // Write-only binding to the contract IERC1155ReceiverFilterer // Log filterer for contract events } // IERC1155ReceiverCaller is an auto generated read-only Go binding around an Ethereum contract. type IERC1155ReceiverCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC1155ReceiverTransactor is an auto generated write-only Go binding around an Ethereum contract. type IERC1155ReceiverTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC1155ReceiverFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IERC1155ReceiverFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC1155ReceiverSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IERC1155ReceiverSession struct { Contract *IERC1155Receiver // 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 } // IERC1155ReceiverCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IERC1155ReceiverCallerSession struct { Contract *IERC1155ReceiverCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC1155ReceiverTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IERC1155ReceiverTransactorSession struct { Contract *IERC1155ReceiverTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC1155ReceiverRaw is an auto generated low-level Go binding around an Ethereum contract. type IERC1155ReceiverRaw struct { Contract *IERC1155Receiver // Generic contract binding to access the raw methods on } // IERC1155ReceiverCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IERC1155ReceiverCallerRaw struct { Contract *IERC1155ReceiverCaller // Generic read-only contract binding to access the raw methods on } // IERC1155ReceiverTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IERC1155ReceiverTransactorRaw struct { Contract *IERC1155ReceiverTransactor // Generic write-only contract binding to access the raw methods on } // NewIERC1155Receiver creates a new instance of IERC1155Receiver, bound to a specific deployed contract. func NewIERC1155Receiver(address common.Address, backend bind.ContractBackend) (*IERC1155Receiver, error) { contract, err := bindIERC1155Receiver(address, backend, backend, backend) if err != nil { return nil, err } return &IERC1155Receiver{IERC1155ReceiverCaller: IERC1155ReceiverCaller{contract: contract}, IERC1155ReceiverTransactor: IERC1155ReceiverTransactor{contract: contract}, IERC1155ReceiverFilterer: IERC1155ReceiverFilterer{contract: contract}}, nil } // NewIERC1155ReceiverCaller creates a new read-only instance of IERC1155Receiver, bound to a specific deployed contract. func NewIERC1155ReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC1155ReceiverCaller, error) { contract, err := bindIERC1155Receiver(address, caller, nil, nil) if err != nil { return nil, err } return &IERC1155ReceiverCaller{contract: contract}, nil } // NewIERC1155ReceiverTransactor creates a new write-only instance of IERC1155Receiver, bound to a specific deployed contract. func NewIERC1155ReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC1155ReceiverTransactor, error) { contract, err := bindIERC1155Receiver(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC1155ReceiverTransactor{contract: contract}, nil } // NewIERC1155ReceiverFilterer creates a new log filterer instance of IERC1155Receiver, bound to a specific deployed contract. func NewIERC1155ReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC1155ReceiverFilterer, error) { contract, err := bindIERC1155Receiver(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC1155ReceiverFilterer{contract: contract}, nil } // bindIERC1155Receiver binds a generic wrapper to an already deployed contract. func bindIERC1155Receiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IERC1155ReceiverABI)) 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 (_IERC1155Receiver *IERC1155ReceiverRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC1155Receiver.Contract.IERC1155ReceiverCaller.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 (_IERC1155Receiver *IERC1155ReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC1155Receiver.Contract.IERC1155ReceiverTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC1155Receiver *IERC1155ReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC1155Receiver.Contract.IERC1155ReceiverTransactor.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 (_IERC1155Receiver *IERC1155ReceiverCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC1155Receiver.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 (_IERC1155Receiver *IERC1155ReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC1155Receiver.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC1155Receiver *IERC1155ReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC1155Receiver.Contract.contract.Transact(opts, method, params...) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC1155Receiver *IERC1155ReceiverCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _IERC1155Receiver.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC1155Receiver *IERC1155ReceiverSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC1155Receiver.Contract.SupportsInterface(&_IERC1155Receiver.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC1155Receiver *IERC1155ReceiverCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC1155Receiver.Contract.SupportsInterface(&_IERC1155Receiver.CallOpts, interfaceId) } // OnERC1155BatchReceived is a paid mutator transaction binding the contract method 0xbc197c81. // // Solidity: function onERC1155BatchReceived(address operator, address from, uint256[] ids, uint256[] values, bytes data) returns(bytes4) func (_IERC1155Receiver *IERC1155ReceiverTransactor) OnERC1155BatchReceived(opts *bind.TransactOpts, operator common.Address, from common.Address, ids []*big.Int, values []*big.Int, data []byte) (*types.Transaction, error) { return _IERC1155Receiver.contract.Transact(opts, "onERC1155BatchReceived", operator, from, ids, values, data) } // OnERC1155BatchReceived is a paid mutator transaction binding the contract method 0xbc197c81. // // Solidity: function onERC1155BatchReceived(address operator, address from, uint256[] ids, uint256[] values, bytes data) returns(bytes4) func (_IERC1155Receiver *IERC1155ReceiverSession) OnERC1155BatchReceived(operator common.Address, from common.Address, ids []*big.Int, values []*big.Int, data []byte) (*types.Transaction, error) { return _IERC1155Receiver.Contract.OnERC1155BatchReceived(&_IERC1155Receiver.TransactOpts, operator, from, ids, values, data) } // OnERC1155BatchReceived is a paid mutator transaction binding the contract method 0xbc197c81. // // Solidity: function onERC1155BatchReceived(address operator, address from, uint256[] ids, uint256[] values, bytes data) returns(bytes4) func (_IERC1155Receiver *IERC1155ReceiverTransactorSession) OnERC1155BatchReceived(operator common.Address, from common.Address, ids []*big.Int, values []*big.Int, data []byte) (*types.Transaction, error) { return _IERC1155Receiver.Contract.OnERC1155BatchReceived(&_IERC1155Receiver.TransactOpts, operator, from, ids, values, data) } // OnERC1155Received is a paid mutator transaction binding the contract method 0xf23a6e61. // // Solidity: function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes data) returns(bytes4) func (_IERC1155Receiver *IERC1155ReceiverTransactor) OnERC1155Received(opts *bind.TransactOpts, operator common.Address, from common.Address, id *big.Int, value *big.Int, data []byte) (*types.Transaction, error) { return _IERC1155Receiver.contract.Transact(opts, "onERC1155Received", operator, from, id, value, data) } // OnERC1155Received is a paid mutator transaction binding the contract method 0xf23a6e61. // // Solidity: function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes data) returns(bytes4) func (_IERC1155Receiver *IERC1155ReceiverSession) OnERC1155Received(operator common.Address, from common.Address, id *big.Int, value *big.Int, data []byte) (*types.Transaction, error) { return _IERC1155Receiver.Contract.OnERC1155Received(&_IERC1155Receiver.TransactOpts, operator, from, id, value, data) } // OnERC1155Received is a paid mutator transaction binding the contract method 0xf23a6e61. // // Solidity: function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes data) returns(bytes4) func (_IERC1155Receiver *IERC1155ReceiverTransactorSession) OnERC1155Received(operator common.Address, from common.Address, id *big.Int, value *big.Int, data []byte) (*types.Transaction, error) { return _IERC1155Receiver.Contract.OnERC1155Received(&_IERC1155Receiver.TransactOpts, operator, from, id, value, data) } // IERC165MetaData contains all meta data concerning the IERC165 contract. var IERC165MetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "01ffc9a7": "supportsInterface(bytes4)", }, } // IERC165ABI is the input ABI used to generate the binding from. // Deprecated: Use IERC165MetaData.ABI instead. var IERC165ABI = IERC165MetaData.ABI // Deprecated: Use IERC165MetaData.Sigs instead. // IERC165FuncSigs maps the 4-byte function signature to its string representation. var IERC165FuncSigs = IERC165MetaData.Sigs // IERC165 is an auto generated Go binding around an Ethereum contract. type IERC165 struct { IERC165Caller // Read-only binding to the contract IERC165Transactor // Write-only binding to the contract IERC165Filterer // Log filterer for contract events } // IERC165Caller is an auto generated read-only Go binding around an Ethereum contract. type IERC165Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC165Transactor is an auto generated write-only Go binding around an Ethereum contract. type IERC165Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC165Filterer is an auto generated log filtering Go binding around an Ethereum contract events. type IERC165Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC165Session is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IERC165Session struct { Contract *IERC165 // 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 } // IERC165CallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IERC165CallerSession struct { Contract *IERC165Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC165TransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IERC165TransactorSession struct { Contract *IERC165Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC165Raw is an auto generated low-level Go binding around an Ethereum contract. type IERC165Raw struct { Contract *IERC165 // Generic contract binding to access the raw methods on } // IERC165CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IERC165CallerRaw struct { Contract *IERC165Caller // Generic read-only contract binding to access the raw methods on } // IERC165TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IERC165TransactorRaw struct { Contract *IERC165Transactor // Generic write-only contract binding to access the raw methods on } // NewIERC165 creates a new instance of IERC165, bound to a specific deployed contract. func NewIERC165(address common.Address, backend bind.ContractBackend) (*IERC165, error) { contract, err := bindIERC165(address, backend, backend, backend) if err != nil { return nil, err } return &IERC165{IERC165Caller: IERC165Caller{contract: contract}, IERC165Transactor: IERC165Transactor{contract: contract}, IERC165Filterer: IERC165Filterer{contract: contract}}, nil } // NewIERC165Caller creates a new read-only instance of IERC165, bound to a specific deployed contract. func NewIERC165Caller(address common.Address, caller bind.ContractCaller) (*IERC165Caller, error) { contract, err := bindIERC165(address, caller, nil, nil) if err != nil { return nil, err } return &IERC165Caller{contract: contract}, nil } // NewIERC165Transactor creates a new write-only instance of IERC165, bound to a specific deployed contract. func NewIERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC165Transactor, error) { contract, err := bindIERC165(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC165Transactor{contract: contract}, nil } // NewIERC165Filterer creates a new log filterer instance of IERC165, bound to a specific deployed contract. func NewIERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC165Filterer, error) { contract, err := bindIERC165(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC165Filterer{contract: contract}, nil } // bindIERC165 binds a generic wrapper to an already deployed contract. func bindIERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IERC165ABI)) 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 (_IERC165 *IERC165Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC165.Contract.IERC165Caller.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 (_IERC165 *IERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC165.Contract.IERC165Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC165 *IERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC165.Contract.IERC165Transactor.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 (_IERC165 *IERC165CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC165.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 (_IERC165 *IERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC165.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC165 *IERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC165.Contract.contract.Transact(opts, method, params...) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC165 *IERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _IERC165.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC165 *IERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC165 *IERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) } // IERC721MetaData contains all meta data concerning the IERC721 contract. var IERC721MetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"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\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "095ea7b3": "approve(address,uint256)", "70a08231": "balanceOf(address)", "081812fc": "getApproved(uint256)", "e985e9c5": "isApprovedForAll(address,address)", "6352211e": "ownerOf(uint256)", "42842e0e": "safeTransferFrom(address,address,uint256)", "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", "a22cb465": "setApprovalForAll(address,bool)", "01ffc9a7": "supportsInterface(bytes4)", "23b872dd": "transferFrom(address,address,uint256)", }, } // IERC721ABI is the input ABI used to generate the binding from. // Deprecated: Use IERC721MetaData.ABI instead. var IERC721ABI = IERC721MetaData.ABI // Deprecated: Use IERC721MetaData.Sigs instead. // IERC721FuncSigs maps the 4-byte function signature to its string representation. var IERC721FuncSigs = IERC721MetaData.Sigs // IERC721 is an auto generated Go binding around an Ethereum contract. type IERC721 struct { IERC721Caller // Read-only binding to the contract IERC721Transactor // Write-only binding to the contract IERC721Filterer // Log filterer for contract events } // IERC721Caller is an auto generated read-only Go binding around an Ethereum contract. type IERC721Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721Transactor is an auto generated write-only Go binding around an Ethereum contract. type IERC721Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721Filterer is an auto generated log filtering Go binding around an Ethereum contract events. type IERC721Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721Session is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IERC721Session struct { Contract *IERC721 // 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 } // IERC721CallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IERC721CallerSession struct { Contract *IERC721Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC721TransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IERC721TransactorSession struct { Contract *IERC721Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC721Raw is an auto generated low-level Go binding around an Ethereum contract. type IERC721Raw struct { Contract *IERC721 // Generic contract binding to access the raw methods on } // IERC721CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IERC721CallerRaw struct { Contract *IERC721Caller // Generic read-only contract binding to access the raw methods on } // IERC721TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IERC721TransactorRaw struct { Contract *IERC721Transactor // Generic write-only contract binding to access the raw methods on } // NewIERC721 creates a new instance of IERC721, bound to a specific deployed contract. func NewIERC721(address common.Address, backend bind.ContractBackend) (*IERC721, error) { contract, err := bindIERC721(address, backend, backend, backend) if err != nil { return nil, err } return &IERC721{IERC721Caller: IERC721Caller{contract: contract}, IERC721Transactor: IERC721Transactor{contract: contract}, IERC721Filterer: IERC721Filterer{contract: contract}}, nil } // NewIERC721Caller creates a new read-only instance of IERC721, bound to a specific deployed contract. func NewIERC721Caller(address common.Address, caller bind.ContractCaller) (*IERC721Caller, error) { contract, err := bindIERC721(address, caller, nil, nil) if err != nil { return nil, err } return &IERC721Caller{contract: contract}, nil } // NewIERC721Transactor creates a new write-only instance of IERC721, bound to a specific deployed contract. func NewIERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC721Transactor, error) { contract, err := bindIERC721(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC721Transactor{contract: contract}, nil } // NewIERC721Filterer creates a new log filterer instance of IERC721, bound to a specific deployed contract. func NewIERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC721Filterer, error) { contract, err := bindIERC721(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC721Filterer{contract: contract}, nil } // bindIERC721 binds a generic wrapper to an already deployed contract. func bindIERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IERC721ABI)) 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 (_IERC721 *IERC721Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC721.Contract.IERC721Caller.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 (_IERC721 *IERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC721.Contract.IERC721Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC721 *IERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC721.Contract.IERC721Transactor.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 (_IERC721 *IERC721CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC721.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 (_IERC721 *IERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC721.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC721 *IERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC721.Contract.contract.Transact(opts, method, params...) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256 balance) func (_IERC721 *IERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { var out []interface{} err := _IERC721.contract.Call(opts, &out, "balanceOf", owner) 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 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256 balance) func (_IERC721 *IERC721Session) BalanceOf(owner common.Address) (*big.Int, error) { return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256 balance) func (_IERC721 *IERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address operator) func (_IERC721 *IERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var out []interface{} err := _IERC721.contract.Call(opts, &out, "getApproved", tokenId) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address operator) func (_IERC721 *IERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) { return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address operator) func (_IERC721 *IERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) func (_IERC721 *IERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { var out []interface{} err := _IERC721.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 (_IERC721 *IERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _IERC721.Contract.IsApprovedForAll(&_IERC721.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 (_IERC721 *IERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) func (_IERC721 *IERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var out []interface{} err := _IERC721.contract.Call(opts, &out, "ownerOf", tokenId) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) func (_IERC721 *IERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) { return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) func (_IERC721 *IERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC721 *IERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _IERC721.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC721 *IERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC721 *IERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_IERC721 *IERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721.contract.Transact(opts, "approve", to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_IERC721 *IERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_IERC721 *IERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721 *IERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721 *IERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721 *IERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() func (_IERC721 *IERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() func (_IERC721 *IERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, from, to, tokenId, data) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() func (_IERC721 *IERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, from, to, tokenId, data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool _approved) returns() func (_IERC721 *IERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { return _IERC721.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 (_IERC721 *IERC721Session) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool _approved) returns() func (_IERC721 *IERC721TransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721 *IERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721.contract.Transact(opts, "transferFrom", from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721 *IERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721 *IERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId) } // IERC721ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC721 contract. type IERC721ApprovalIterator struct { Event *IERC721Approval // 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 *IERC721ApprovalIterator) 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(IERC721Approval) 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(IERC721Approval) 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 *IERC721ApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC721ApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC721Approval represents a Approval event raised by the IERC721 contract. type IERC721Approval struct { Owner common.Address Approved common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_IERC721 *IERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721ApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return &IERC721ApprovalIterator{contract: _IERC721.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_IERC721 *IERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 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(IERC721Approval) if err := _IERC721.contract.UnpackLog(event, "Approval", 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 } // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_IERC721 *IERC721Filterer) ParseApproval(log types.Log) (*IERC721Approval, error) { event := new(IERC721Approval) if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC721ApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the IERC721 contract. type IERC721ApprovalForAllIterator struct { Event *IERC721ApprovalForAll // 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 *IERC721ApprovalForAllIterator) 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(IERC721ApprovalForAll) 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(IERC721ApprovalForAll) 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 *IERC721ApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC721ApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC721ApprovalForAll represents a ApprovalForAll event raised by the IERC721 contract. type IERC721ApprovalForAll 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 (_IERC721 *IERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721ApprovalForAllIterator, 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 := _IERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return &IERC721ApprovalForAllIterator{contract: _IERC721.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 (_IERC721 *IERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721ApprovalForAll, 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 := _IERC721.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(IERC721ApprovalForAll) if err := _IERC721.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 (_IERC721 *IERC721Filterer) ParseApprovalForAll(log types.Log) (*IERC721ApprovalForAll, error) { event := new(IERC721ApprovalForAll) if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC721TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC721 contract. type IERC721TransferIterator struct { Event *IERC721Transfer // 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 *IERC721TransferIterator) 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(IERC721Transfer) 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(IERC721Transfer) 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 *IERC721TransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC721TransferIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC721Transfer represents a Transfer event raised by the IERC721 contract. type IERC721Transfer struct { From common.Address To common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_IERC721 *IERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721TransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return &IERC721TransferIterator{contract: _IERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_IERC721 *IERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 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(IERC721Transfer) if err := _IERC721.contract.UnpackLog(event, "Transfer", 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 } // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_IERC721 *IERC721Filterer) ParseTransfer(log types.Log) (*IERC721Transfer, error) { event := new(IERC721Transfer) if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC721EnumerableMetaData contains all meta data concerning the IERC721Enumerable contract. var IERC721EnumerableMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"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\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "095ea7b3": "approve(address,uint256)", "70a08231": "balanceOf(address)", "081812fc": "getApproved(uint256)", "e985e9c5": "isApprovedForAll(address,address)", "6352211e": "ownerOf(uint256)", "42842e0e": "safeTransferFrom(address,address,uint256)", "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", "a22cb465": "setApprovalForAll(address,bool)", "01ffc9a7": "supportsInterface(bytes4)", "4f6ccce7": "tokenByIndex(uint256)", "2f745c59": "tokenOfOwnerByIndex(address,uint256)", "18160ddd": "totalSupply()", "23b872dd": "transferFrom(address,address,uint256)", }, } // IERC721EnumerableABI is the input ABI used to generate the binding from. // Deprecated: Use IERC721EnumerableMetaData.ABI instead. var IERC721EnumerableABI = IERC721EnumerableMetaData.ABI // Deprecated: Use IERC721EnumerableMetaData.Sigs instead. // IERC721EnumerableFuncSigs maps the 4-byte function signature to its string representation. var IERC721EnumerableFuncSigs = IERC721EnumerableMetaData.Sigs // IERC721Enumerable is an auto generated Go binding around an Ethereum contract. type IERC721Enumerable struct { IERC721EnumerableCaller // Read-only binding to the contract IERC721EnumerableTransactor // Write-only binding to the contract IERC721EnumerableFilterer // Log filterer for contract events } // IERC721EnumerableCaller is an auto generated read-only Go binding around an Ethereum contract. type IERC721EnumerableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721EnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract. type IERC721EnumerableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721EnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IERC721EnumerableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721EnumerableSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IERC721EnumerableSession struct { Contract *IERC721Enumerable // 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 } // IERC721EnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IERC721EnumerableCallerSession struct { Contract *IERC721EnumerableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC721EnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IERC721EnumerableTransactorSession struct { Contract *IERC721EnumerableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC721EnumerableRaw is an auto generated low-level Go binding around an Ethereum contract. type IERC721EnumerableRaw struct { Contract *IERC721Enumerable // Generic contract binding to access the raw methods on } // IERC721EnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IERC721EnumerableCallerRaw struct { Contract *IERC721EnumerableCaller // Generic read-only contract binding to access the raw methods on } // IERC721EnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IERC721EnumerableTransactorRaw struct { Contract *IERC721EnumerableTransactor // Generic write-only contract binding to access the raw methods on } // NewIERC721Enumerable creates a new instance of IERC721Enumerable, bound to a specific deployed contract. func NewIERC721Enumerable(address common.Address, backend bind.ContractBackend) (*IERC721Enumerable, error) { contract, err := bindIERC721Enumerable(address, backend, backend, backend) if err != nil { return nil, err } return &IERC721Enumerable{IERC721EnumerableCaller: IERC721EnumerableCaller{contract: contract}, IERC721EnumerableTransactor: IERC721EnumerableTransactor{contract: contract}, IERC721EnumerableFilterer: IERC721EnumerableFilterer{contract: contract}}, nil } // NewIERC721EnumerableCaller creates a new read-only instance of IERC721Enumerable, bound to a specific deployed contract. func NewIERC721EnumerableCaller(address common.Address, caller bind.ContractCaller) (*IERC721EnumerableCaller, error) { contract, err := bindIERC721Enumerable(address, caller, nil, nil) if err != nil { return nil, err } return &IERC721EnumerableCaller{contract: contract}, nil } // NewIERC721EnumerableTransactor creates a new write-only instance of IERC721Enumerable, bound to a specific deployed contract. func NewIERC721EnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721EnumerableTransactor, error) { contract, err := bindIERC721Enumerable(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC721EnumerableTransactor{contract: contract}, nil } // NewIERC721EnumerableFilterer creates a new log filterer instance of IERC721Enumerable, bound to a specific deployed contract. func NewIERC721EnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721EnumerableFilterer, error) { contract, err := bindIERC721Enumerable(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC721EnumerableFilterer{contract: contract}, nil } // bindIERC721Enumerable binds a generic wrapper to an already deployed contract. func bindIERC721Enumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IERC721EnumerableABI)) 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 (_IERC721Enumerable *IERC721EnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC721Enumerable.Contract.IERC721EnumerableCaller.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 (_IERC721Enumerable *IERC721EnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC721Enumerable.Contract.IERC721EnumerableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC721Enumerable *IERC721EnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC721Enumerable.Contract.IERC721EnumerableTransactor.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 (_IERC721Enumerable *IERC721EnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC721Enumerable.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 (_IERC721Enumerable *IERC721EnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC721Enumerable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC721Enumerable *IERC721EnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC721Enumerable.Contract.contract.Transact(opts, method, params...) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256 balance) func (_IERC721Enumerable *IERC721EnumerableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { var out []interface{} err := _IERC721Enumerable.contract.Call(opts, &out, "balanceOf", owner) 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 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256 balance) func (_IERC721Enumerable *IERC721EnumerableSession) BalanceOf(owner common.Address) (*big.Int, error) { return _IERC721Enumerable.Contract.BalanceOf(&_IERC721Enumerable.CallOpts, owner) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256 balance) func (_IERC721Enumerable *IERC721EnumerableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { return _IERC721Enumerable.Contract.BalanceOf(&_IERC721Enumerable.CallOpts, owner) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address operator) func (_IERC721Enumerable *IERC721EnumerableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var out []interface{} err := _IERC721Enumerable.contract.Call(opts, &out, "getApproved", tokenId) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address operator) func (_IERC721Enumerable *IERC721EnumerableSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _IERC721Enumerable.Contract.GetApproved(&_IERC721Enumerable.CallOpts, tokenId) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address operator) func (_IERC721Enumerable *IERC721EnumerableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _IERC721Enumerable.Contract.GetApproved(&_IERC721Enumerable.CallOpts, tokenId) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) func (_IERC721Enumerable *IERC721EnumerableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { var out []interface{} err := _IERC721Enumerable.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 (_IERC721Enumerable *IERC721EnumerableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _IERC721Enumerable.Contract.IsApprovedForAll(&_IERC721Enumerable.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 (_IERC721Enumerable *IERC721EnumerableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _IERC721Enumerable.Contract.IsApprovedForAll(&_IERC721Enumerable.CallOpts, owner, operator) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) func (_IERC721Enumerable *IERC721EnumerableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var out []interface{} err := _IERC721Enumerable.contract.Call(opts, &out, "ownerOf", tokenId) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) func (_IERC721Enumerable *IERC721EnumerableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _IERC721Enumerable.Contract.OwnerOf(&_IERC721Enumerable.CallOpts, tokenId) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) func (_IERC721Enumerable *IERC721EnumerableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _IERC721Enumerable.Contract.OwnerOf(&_IERC721Enumerable.CallOpts, tokenId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC721Enumerable *IERC721EnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _IERC721Enumerable.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC721Enumerable *IERC721EnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC721Enumerable.Contract.SupportsInterface(&_IERC721Enumerable.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC721Enumerable *IERC721EnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC721Enumerable.Contract.SupportsInterface(&_IERC721Enumerable.CallOpts, interfaceId) } // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. // // Solidity: function tokenByIndex(uint256 index) view returns(uint256) func (_IERC721Enumerable *IERC721EnumerableCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { var out []interface{} err := _IERC721Enumerable.contract.Call(opts, &out, "tokenByIndex", index) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. // // Solidity: function tokenByIndex(uint256 index) view returns(uint256) func (_IERC721Enumerable *IERC721EnumerableSession) TokenByIndex(index *big.Int) (*big.Int, error) { return _IERC721Enumerable.Contract.TokenByIndex(&_IERC721Enumerable.CallOpts, index) } // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. // // Solidity: function tokenByIndex(uint256 index) view returns(uint256) func (_IERC721Enumerable *IERC721EnumerableCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { return _IERC721Enumerable.Contract.TokenByIndex(&_IERC721Enumerable.CallOpts, index) } // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. // // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) func (_IERC721Enumerable *IERC721EnumerableCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { var out []interface{} err := _IERC721Enumerable.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. // // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) func (_IERC721Enumerable *IERC721EnumerableSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { return _IERC721Enumerable.Contract.TokenOfOwnerByIndex(&_IERC721Enumerable.CallOpts, owner, index) } // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. // // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) func (_IERC721Enumerable *IERC721EnumerableCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { return _IERC721Enumerable.Contract.TokenOfOwnerByIndex(&_IERC721Enumerable.CallOpts, owner, index) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() view returns(uint256) func (_IERC721Enumerable *IERC721EnumerableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _IERC721Enumerable.contract.Call(opts, &out, "totalSupply") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() view returns(uint256) func (_IERC721Enumerable *IERC721EnumerableSession) TotalSupply() (*big.Int, error) { return _IERC721Enumerable.Contract.TotalSupply(&_IERC721Enumerable.CallOpts) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() view returns(uint256) func (_IERC721Enumerable *IERC721EnumerableCallerSession) TotalSupply() (*big.Int, error) { return _IERC721Enumerable.Contract.TotalSupply(&_IERC721Enumerable.CallOpts) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_IERC721Enumerable *IERC721EnumerableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Enumerable.contract.Transact(opts, "approve", to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_IERC721Enumerable *IERC721EnumerableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Enumerable.Contract.Approve(&_IERC721Enumerable.TransactOpts, to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_IERC721Enumerable *IERC721EnumerableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Enumerable.Contract.Approve(&_IERC721Enumerable.TransactOpts, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721Enumerable *IERC721EnumerableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Enumerable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721Enumerable *IERC721EnumerableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Enumerable.Contract.SafeTransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Enumerable.Contract.SafeTransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() func (_IERC721Enumerable *IERC721EnumerableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721Enumerable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() func (_IERC721Enumerable *IERC721EnumerableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721Enumerable.Contract.SafeTransferFrom0(&_IERC721Enumerable.TransactOpts, from, to, tokenId, data) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721Enumerable.Contract.SafeTransferFrom0(&_IERC721Enumerable.TransactOpts, from, to, tokenId, data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool _approved) returns() func (_IERC721Enumerable *IERC721EnumerableTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { return _IERC721Enumerable.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 (_IERC721Enumerable *IERC721EnumerableSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { return _IERC721Enumerable.Contract.SetApprovalForAll(&_IERC721Enumerable.TransactOpts, operator, _approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool _approved) returns() func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { return _IERC721Enumerable.Contract.SetApprovalForAll(&_IERC721Enumerable.TransactOpts, operator, _approved) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721Enumerable *IERC721EnumerableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Enumerable.contract.Transact(opts, "transferFrom", from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721Enumerable *IERC721EnumerableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Enumerable.Contract.TransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721Enumerable *IERC721EnumerableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Enumerable.Contract.TransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) } // IERC721EnumerableApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC721Enumerable contract. type IERC721EnumerableApprovalIterator struct { Event *IERC721EnumerableApproval // 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 *IERC721EnumerableApprovalIterator) 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(IERC721EnumerableApproval) 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(IERC721EnumerableApproval) 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 *IERC721EnumerableApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC721EnumerableApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC721EnumerableApproval represents a Approval event raised by the IERC721Enumerable contract. type IERC721EnumerableApproval struct { Owner common.Address Approved common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721EnumerableApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return &IERC721EnumerableApprovalIterator{contract: _IERC721Enumerable.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 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(IERC721EnumerableApproval) if err := _IERC721Enumerable.contract.UnpackLog(event, "Approval", 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 } // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseApproval(log types.Log) (*IERC721EnumerableApproval, error) { event := new(IERC721EnumerableApproval) if err := _IERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC721EnumerableApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the IERC721Enumerable contract. type IERC721EnumerableApprovalForAllIterator struct { Event *IERC721EnumerableApprovalForAll // 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 *IERC721EnumerableApprovalForAllIterator) 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(IERC721EnumerableApprovalForAll) 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(IERC721EnumerableApprovalForAll) 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 *IERC721EnumerableApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC721EnumerableApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC721EnumerableApprovalForAll represents a ApprovalForAll event raised by the IERC721Enumerable contract. type IERC721EnumerableApprovalForAll 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 (_IERC721Enumerable *IERC721EnumerableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721EnumerableApprovalForAllIterator, 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 := _IERC721Enumerable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return &IERC721EnumerableApprovalForAllIterator{contract: _IERC721Enumerable.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 (_IERC721Enumerable *IERC721EnumerableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableApprovalForAll, 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 := _IERC721Enumerable.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(IERC721EnumerableApprovalForAll) if err := _IERC721Enumerable.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 (_IERC721Enumerable *IERC721EnumerableFilterer) ParseApprovalForAll(log types.Log) (*IERC721EnumerableApprovalForAll, error) { event := new(IERC721EnumerableApprovalForAll) if err := _IERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC721EnumerableTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC721Enumerable contract. type IERC721EnumerableTransferIterator struct { Event *IERC721EnumerableTransfer // 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 *IERC721EnumerableTransferIterator) 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(IERC721EnumerableTransfer) 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(IERC721EnumerableTransfer) 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 *IERC721EnumerableTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC721EnumerableTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC721EnumerableTransfer represents a Transfer event raised by the IERC721Enumerable contract. type IERC721EnumerableTransfer struct { From common.Address To common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721EnumerableTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return &IERC721EnumerableTransferIterator{contract: _IERC721Enumerable.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 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(IERC721EnumerableTransfer) if err := _IERC721Enumerable.contract.UnpackLog(event, "Transfer", 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 } // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseTransfer(log types.Log) (*IERC721EnumerableTransfer, error) { event := new(IERC721EnumerableTransfer) if err := _IERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC721MetadataMetaData contains all meta data concerning the IERC721Metadata contract. var IERC721MetadataMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "095ea7b3": "approve(address,uint256)", "70a08231": "balanceOf(address)", "081812fc": "getApproved(uint256)", "e985e9c5": "isApprovedForAll(address,address)", "06fdde03": "name()", "6352211e": "ownerOf(uint256)", "42842e0e": "safeTransferFrom(address,address,uint256)", "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", "a22cb465": "setApprovalForAll(address,bool)", "01ffc9a7": "supportsInterface(bytes4)", "95d89b41": "symbol()", "c87b56dd": "tokenURI(uint256)", "23b872dd": "transferFrom(address,address,uint256)", }, } // IERC721MetadataABI is the input ABI used to generate the binding from. // Deprecated: Use IERC721MetadataMetaData.ABI instead. var IERC721MetadataABI = IERC721MetadataMetaData.ABI // Deprecated: Use IERC721MetadataMetaData.Sigs instead. // IERC721MetadataFuncSigs maps the 4-byte function signature to its string representation. var IERC721MetadataFuncSigs = IERC721MetadataMetaData.Sigs // IERC721Metadata is an auto generated Go binding around an Ethereum contract. type IERC721Metadata struct { IERC721MetadataCaller // Read-only binding to the contract IERC721MetadataTransactor // Write-only binding to the contract IERC721MetadataFilterer // Log filterer for contract events } // IERC721MetadataCaller is an auto generated read-only Go binding around an Ethereum contract. type IERC721MetadataCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721MetadataTransactor is an auto generated write-only Go binding around an Ethereum contract. type IERC721MetadataTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721MetadataFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IERC721MetadataFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721MetadataSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IERC721MetadataSession struct { Contract *IERC721Metadata // 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 } // IERC721MetadataCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IERC721MetadataCallerSession struct { Contract *IERC721MetadataCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC721MetadataTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IERC721MetadataTransactorSession struct { Contract *IERC721MetadataTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC721MetadataRaw is an auto generated low-level Go binding around an Ethereum contract. type IERC721MetadataRaw struct { Contract *IERC721Metadata // Generic contract binding to access the raw methods on } // IERC721MetadataCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IERC721MetadataCallerRaw struct { Contract *IERC721MetadataCaller // Generic read-only contract binding to access the raw methods on } // IERC721MetadataTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IERC721MetadataTransactorRaw struct { Contract *IERC721MetadataTransactor // Generic write-only contract binding to access the raw methods on } // NewIERC721Metadata creates a new instance of IERC721Metadata, bound to a specific deployed contract. func NewIERC721Metadata(address common.Address, backend bind.ContractBackend) (*IERC721Metadata, error) { contract, err := bindIERC721Metadata(address, backend, backend, backend) if err != nil { return nil, err } return &IERC721Metadata{IERC721MetadataCaller: IERC721MetadataCaller{contract: contract}, IERC721MetadataTransactor: IERC721MetadataTransactor{contract: contract}, IERC721MetadataFilterer: IERC721MetadataFilterer{contract: contract}}, nil } // NewIERC721MetadataCaller creates a new read-only instance of IERC721Metadata, bound to a specific deployed contract. func NewIERC721MetadataCaller(address common.Address, caller bind.ContractCaller) (*IERC721MetadataCaller, error) { contract, err := bindIERC721Metadata(address, caller, nil, nil) if err != nil { return nil, err } return &IERC721MetadataCaller{contract: contract}, nil } // NewIERC721MetadataTransactor creates a new write-only instance of IERC721Metadata, bound to a specific deployed contract. func NewIERC721MetadataTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721MetadataTransactor, error) { contract, err := bindIERC721Metadata(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC721MetadataTransactor{contract: contract}, nil } // NewIERC721MetadataFilterer creates a new log filterer instance of IERC721Metadata, bound to a specific deployed contract. func NewIERC721MetadataFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721MetadataFilterer, error) { contract, err := bindIERC721Metadata(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC721MetadataFilterer{contract: contract}, nil } // bindIERC721Metadata binds a generic wrapper to an already deployed contract. func bindIERC721Metadata(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IERC721MetadataABI)) 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 (_IERC721Metadata *IERC721MetadataRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC721Metadata.Contract.IERC721MetadataCaller.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 (_IERC721Metadata *IERC721MetadataRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC721Metadata *IERC721MetadataRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC721Metadata.Contract.IERC721MetadataTransactor.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 (_IERC721Metadata *IERC721MetadataCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC721Metadata.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 (_IERC721Metadata *IERC721MetadataTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC721Metadata.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC721Metadata.Contract.contract.Transact(opts, method, params...) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256 balance) func (_IERC721Metadata *IERC721MetadataCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { var out []interface{} err := _IERC721Metadata.contract.Call(opts, &out, "balanceOf", owner) 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 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256 balance) func (_IERC721Metadata *IERC721MetadataSession) BalanceOf(owner common.Address) (*big.Int, error) { return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, owner) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256 balance) func (_IERC721Metadata *IERC721MetadataCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, owner) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address operator) func (_IERC721Metadata *IERC721MetadataCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var out []interface{} err := _IERC721Metadata.contract.Call(opts, &out, "getApproved", tokenId) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address operator) func (_IERC721Metadata *IERC721MetadataSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, tokenId) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address operator) func (_IERC721Metadata *IERC721MetadataCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, tokenId) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) func (_IERC721Metadata *IERC721MetadataCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { var out []interface{} err := _IERC721Metadata.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 (_IERC721Metadata *IERC721MetadataSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.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 (_IERC721Metadata *IERC721MetadataCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, owner, operator) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_IERC721Metadata *IERC721MetadataCaller) Name(opts *bind.CallOpts) (string, error) { var out []interface{} err := _IERC721Metadata.contract.Call(opts, &out, "name") if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_IERC721Metadata *IERC721MetadataSession) Name() (string, error) { return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_IERC721Metadata *IERC721MetadataCallerSession) Name() (string, error) { return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) func (_IERC721Metadata *IERC721MetadataCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var out []interface{} err := _IERC721Metadata.contract.Call(opts, &out, "ownerOf", tokenId) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) func (_IERC721Metadata *IERC721MetadataSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, tokenId) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) func (_IERC721Metadata *IERC721MetadataCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, tokenId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC721Metadata *IERC721MetadataCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _IERC721Metadata.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC721Metadata *IERC721MetadataSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC721Metadata *IERC721MetadataCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceId) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_IERC721Metadata *IERC721MetadataCaller) Symbol(opts *bind.CallOpts) (string, error) { var out []interface{} err := _IERC721Metadata.contract.Call(opts, &out, "symbol") if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_IERC721Metadata *IERC721MetadataSession) Symbol() (string, error) { return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_IERC721Metadata *IERC721MetadataCallerSession) Symbol() (string, error) { return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts) } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(uint256 tokenId) view returns(string) func (_IERC721Metadata *IERC721MetadataCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { var out []interface{} err := _IERC721Metadata.contract.Call(opts, &out, "tokenURI", tokenId) if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(uint256 tokenId) view returns(string) func (_IERC721Metadata *IERC721MetadataSession) TokenURI(tokenId *big.Int) (string, error) { return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, tokenId) } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(uint256 tokenId) view returns(string) func (_IERC721Metadata *IERC721MetadataCallerSession) TokenURI(tokenId *big.Int) (string, error) { return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_IERC721Metadata *IERC721MetadataTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Metadata.contract.Transact(opts, "approve", to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_IERC721Metadata *IERC721MetadataSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_IERC721Metadata *IERC721MetadataTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721Metadata.Contract.SafeTransferFrom0(&_IERC721Metadata.TransactOpts, from, to, tokenId, data) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721Metadata.Contract.SafeTransferFrom0(&_IERC721Metadata.TransactOpts, from, to, tokenId, data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool _approved) returns() func (_IERC721Metadata *IERC721MetadataTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { return _IERC721Metadata.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 (_IERC721Metadata *IERC721MetadataSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, operator, _approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool _approved) returns() func (_IERC721Metadata *IERC721MetadataTransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, operator, _approved) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721Metadata *IERC721MetadataTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Metadata.contract.Transact(opts, "transferFrom", from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721Metadata *IERC721MetadataSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_IERC721Metadata *IERC721MetadataTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) } // IERC721MetadataApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC721Metadata contract. type IERC721MetadataApprovalIterator struct { Event *IERC721MetadataApproval // 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 *IERC721MetadataApprovalIterator) 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(IERC721MetadataApproval) 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(IERC721MetadataApproval) 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 *IERC721MetadataApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC721MetadataApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC721MetadataApproval represents a Approval event raised by the IERC721Metadata contract. type IERC721MetadataApproval struct { Owner common.Address Approved common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_IERC721Metadata *IERC721MetadataFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721MetadataApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return &IERC721MetadataApprovalIterator{contract: _IERC721Metadata.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_IERC721Metadata *IERC721MetadataFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 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(IERC721MetadataApproval) if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", 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 } // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_IERC721Metadata *IERC721MetadataFilterer) ParseApproval(log types.Log) (*IERC721MetadataApproval, error) { event := new(IERC721MetadataApproval) if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC721MetadataApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the IERC721Metadata contract. type IERC721MetadataApprovalForAllIterator struct { Event *IERC721MetadataApprovalForAll // 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 *IERC721MetadataApprovalForAllIterator) 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(IERC721MetadataApprovalForAll) 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(IERC721MetadataApprovalForAll) 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 *IERC721MetadataApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC721MetadataApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC721MetadataApprovalForAll represents a ApprovalForAll event raised by the IERC721Metadata contract. type IERC721MetadataApprovalForAll 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 (_IERC721Metadata *IERC721MetadataFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721MetadataApprovalForAllIterator, 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 := _IERC721Metadata.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return &IERC721MetadataApprovalForAllIterator{contract: _IERC721Metadata.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 (_IERC721Metadata *IERC721MetadataFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApprovalForAll, 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 := _IERC721Metadata.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(IERC721MetadataApprovalForAll) if err := _IERC721Metadata.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 (_IERC721Metadata *IERC721MetadataFilterer) ParseApprovalForAll(log types.Log) (*IERC721MetadataApprovalForAll, error) { event := new(IERC721MetadataApprovalForAll) if err := _IERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC721MetadataTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC721Metadata contract. type IERC721MetadataTransferIterator struct { Event *IERC721MetadataTransfer // 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 *IERC721MetadataTransferIterator) 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(IERC721MetadataTransfer) 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(IERC721MetadataTransfer) 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 *IERC721MetadataTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC721MetadataTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC721MetadataTransfer represents a Transfer event raised by the IERC721Metadata contract. type IERC721MetadataTransfer struct { From common.Address To common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_IERC721Metadata *IERC721MetadataFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721MetadataTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return &IERC721MetadataTransferIterator{contract: _IERC721Metadata.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_IERC721Metadata *IERC721MetadataFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721MetadataTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 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(IERC721MetadataTransfer) if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", 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 } // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_IERC721Metadata *IERC721MetadataFilterer) ParseTransfer(log types.Log) (*IERC721MetadataTransfer, error) { event := new(IERC721MetadataTransfer) if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC721ReceiverMetaData contains all meta data concerning the IERC721Receiver contract. var IERC721ReceiverMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "150b7a02": "onERC721Received(address,address,uint256,bytes)", }, } // IERC721ReceiverABI is the input ABI used to generate the binding from. // Deprecated: Use IERC721ReceiverMetaData.ABI instead. var IERC721ReceiverABI = IERC721ReceiverMetaData.ABI // Deprecated: Use IERC721ReceiverMetaData.Sigs instead. // IERC721ReceiverFuncSigs maps the 4-byte function signature to its string representation. var IERC721ReceiverFuncSigs = IERC721ReceiverMetaData.Sigs // IERC721Receiver is an auto generated Go binding around an Ethereum contract. type IERC721Receiver struct { IERC721ReceiverCaller // Read-only binding to the contract IERC721ReceiverTransactor // Write-only binding to the contract IERC721ReceiverFilterer // Log filterer for contract events } // IERC721ReceiverCaller is an auto generated read-only Go binding around an Ethereum contract. type IERC721ReceiverCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721ReceiverTransactor is an auto generated write-only Go binding around an Ethereum contract. type IERC721ReceiverTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721ReceiverFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IERC721ReceiverFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721ReceiverSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IERC721ReceiverSession struct { Contract *IERC721Receiver // 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 } // IERC721ReceiverCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IERC721ReceiverCallerSession struct { Contract *IERC721ReceiverCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC721ReceiverTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IERC721ReceiverTransactorSession struct { Contract *IERC721ReceiverTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC721ReceiverRaw is an auto generated low-level Go binding around an Ethereum contract. type IERC721ReceiverRaw struct { Contract *IERC721Receiver // Generic contract binding to access the raw methods on } // IERC721ReceiverCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IERC721ReceiverCallerRaw struct { Contract *IERC721ReceiverCaller // Generic read-only contract binding to access the raw methods on } // IERC721ReceiverTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IERC721ReceiverTransactorRaw struct { Contract *IERC721ReceiverTransactor // Generic write-only contract binding to access the raw methods on } // NewIERC721Receiver creates a new instance of IERC721Receiver, bound to a specific deployed contract. func NewIERC721Receiver(address common.Address, backend bind.ContractBackend) (*IERC721Receiver, error) { contract, err := bindIERC721Receiver(address, backend, backend, backend) if err != nil { return nil, err } return &IERC721Receiver{IERC721ReceiverCaller: IERC721ReceiverCaller{contract: contract}, IERC721ReceiverTransactor: IERC721ReceiverTransactor{contract: contract}, IERC721ReceiverFilterer: IERC721ReceiverFilterer{contract: contract}}, nil } // NewIERC721ReceiverCaller creates a new read-only instance of IERC721Receiver, bound to a specific deployed contract. func NewIERC721ReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC721ReceiverCaller, error) { contract, err := bindIERC721Receiver(address, caller, nil, nil) if err != nil { return nil, err } return &IERC721ReceiverCaller{contract: contract}, nil } // NewIERC721ReceiverTransactor creates a new write-only instance of IERC721Receiver, bound to a specific deployed contract. func NewIERC721ReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721ReceiverTransactor, error) { contract, err := bindIERC721Receiver(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC721ReceiverTransactor{contract: contract}, nil } // NewIERC721ReceiverFilterer creates a new log filterer instance of IERC721Receiver, bound to a specific deployed contract. func NewIERC721ReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721ReceiverFilterer, error) { contract, err := bindIERC721Receiver(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC721ReceiverFilterer{contract: contract}, nil } // bindIERC721Receiver binds a generic wrapper to an already deployed contract. func bindIERC721Receiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IERC721ReceiverABI)) 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 (_IERC721Receiver *IERC721ReceiverRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC721Receiver.Contract.IERC721ReceiverCaller.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 (_IERC721Receiver *IERC721ReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC721Receiver *IERC721ReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC721Receiver.Contract.IERC721ReceiverTransactor.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 (_IERC721Receiver *IERC721ReceiverCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC721Receiver.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 (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC721Receiver.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC721Receiver.Contract.contract.Transact(opts, method, params...) } // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. // // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) func (_IERC721Receiver *IERC721ReceiverTransactor) OnERC721Received(opts *bind.TransactOpts, operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721Receiver.contract.Transact(opts, "onERC721Received", operator, from, tokenId, data) } // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. // // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) func (_IERC721Receiver *IERC721ReceiverSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data) } // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. // // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) func (_IERC721Receiver *IERC721ReceiverTransactorSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data) } // IMetaRareERC1155CollectionMetaData contains all meta data concerning the IMetaRareERC1155Collection contract. var IMetaRareERC1155CollectionMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "d6d0faee": "initialize(string,string,string,address,address)", }, } // IMetaRareERC1155CollectionABI is the input ABI used to generate the binding from. // Deprecated: Use IMetaRareERC1155CollectionMetaData.ABI instead. var IMetaRareERC1155CollectionABI = IMetaRareERC1155CollectionMetaData.ABI // Deprecated: Use IMetaRareERC1155CollectionMetaData.Sigs instead. // IMetaRareERC1155CollectionFuncSigs maps the 4-byte function signature to its string representation. var IMetaRareERC1155CollectionFuncSigs = IMetaRareERC1155CollectionMetaData.Sigs // IMetaRareERC1155Collection is an auto generated Go binding around an Ethereum contract. type IMetaRareERC1155Collection struct { IMetaRareERC1155CollectionCaller // Read-only binding to the contract IMetaRareERC1155CollectionTransactor // Write-only binding to the contract IMetaRareERC1155CollectionFilterer // Log filterer for contract events } // IMetaRareERC1155CollectionCaller is an auto generated read-only Go binding around an Ethereum contract. type IMetaRareERC1155CollectionCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IMetaRareERC1155CollectionTransactor is an auto generated write-only Go binding around an Ethereum contract. type IMetaRareERC1155CollectionTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IMetaRareERC1155CollectionFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IMetaRareERC1155CollectionFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IMetaRareERC1155CollectionSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IMetaRareERC1155CollectionSession struct { Contract *IMetaRareERC1155Collection // 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 } // IMetaRareERC1155CollectionCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IMetaRareERC1155CollectionCallerSession struct { Contract *IMetaRareERC1155CollectionCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IMetaRareERC1155CollectionTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IMetaRareERC1155CollectionTransactorSession struct { Contract *IMetaRareERC1155CollectionTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IMetaRareERC1155CollectionRaw is an auto generated low-level Go binding around an Ethereum contract. type IMetaRareERC1155CollectionRaw struct { Contract *IMetaRareERC1155Collection // Generic contract binding to access the raw methods on } // IMetaRareERC1155CollectionCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IMetaRareERC1155CollectionCallerRaw struct { Contract *IMetaRareERC1155CollectionCaller // Generic read-only contract binding to access the raw methods on } // IMetaRareERC1155CollectionTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IMetaRareERC1155CollectionTransactorRaw struct { Contract *IMetaRareERC1155CollectionTransactor // Generic write-only contract binding to access the raw methods on } // NewIMetaRareERC1155Collection creates a new instance of IMetaRareERC1155Collection, bound to a specific deployed contract. func NewIMetaRareERC1155Collection(address common.Address, backend bind.ContractBackend) (*IMetaRareERC1155Collection, error) { contract, err := bindIMetaRareERC1155Collection(address, backend, backend, backend) if err != nil { return nil, err } return &IMetaRareERC1155Collection{IMetaRareERC1155CollectionCaller: IMetaRareERC1155CollectionCaller{contract: contract}, IMetaRareERC1155CollectionTransactor: IMetaRareERC1155CollectionTransactor{contract: contract}, IMetaRareERC1155CollectionFilterer: IMetaRareERC1155CollectionFilterer{contract: contract}}, nil } // NewIMetaRareERC1155CollectionCaller creates a new read-only instance of IMetaRareERC1155Collection, bound to a specific deployed contract. func NewIMetaRareERC1155CollectionCaller(address common.Address, caller bind.ContractCaller) (*IMetaRareERC1155CollectionCaller, error) { contract, err := bindIMetaRareERC1155Collection(address, caller, nil, nil) if err != nil { return nil, err } return &IMetaRareERC1155CollectionCaller{contract: contract}, nil } // NewIMetaRareERC1155CollectionTransactor creates a new write-only instance of IMetaRareERC1155Collection, bound to a specific deployed contract. func NewIMetaRareERC1155CollectionTransactor(address common.Address, transactor bind.ContractTransactor) (*IMetaRareERC1155CollectionTransactor, error) { contract, err := bindIMetaRareERC1155Collection(address, nil, transactor, nil) if err != nil { return nil, err } return &IMetaRareERC1155CollectionTransactor{contract: contract}, nil } // NewIMetaRareERC1155CollectionFilterer creates a new log filterer instance of IMetaRareERC1155Collection, bound to a specific deployed contract. func NewIMetaRareERC1155CollectionFilterer(address common.Address, filterer bind.ContractFilterer) (*IMetaRareERC1155CollectionFilterer, error) { contract, err := bindIMetaRareERC1155Collection(address, nil, nil, filterer) if err != nil { return nil, err } return &IMetaRareERC1155CollectionFilterer{contract: contract}, nil } // bindIMetaRareERC1155Collection binds a generic wrapper to an already deployed contract. func bindIMetaRareERC1155Collection(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IMetaRareERC1155CollectionABI)) 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 (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IMetaRareERC1155Collection.Contract.IMetaRareERC1155CollectionCaller.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 (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IMetaRareERC1155Collection.Contract.IMetaRareERC1155CollectionTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IMetaRareERC1155Collection.Contract.IMetaRareERC1155CollectionTransactor.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 (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IMetaRareERC1155Collection.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 (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IMetaRareERC1155Collection.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IMetaRareERC1155Collection.Contract.contract.Transact(opts, method, params...) } // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee. // // Solidity: function initialize(string , string , string , address , address ) returns() func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionTransactor) Initialize(opts *bind.TransactOpts, arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) { return _IMetaRareERC1155Collection.contract.Transact(opts, "initialize", arg0, arg1, arg2, arg3, arg4) } // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee. // // Solidity: function initialize(string , string , string , address , address ) returns() func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionSession) Initialize(arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) { return _IMetaRareERC1155Collection.Contract.Initialize(&_IMetaRareERC1155Collection.TransactOpts, arg0, arg1, arg2, arg3, arg4) } // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee. // // Solidity: function initialize(string , string , string , address , address ) returns() func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionTransactorSession) Initialize(arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) { return _IMetaRareERC1155Collection.Contract.Initialize(&_IMetaRareERC1155Collection.TransactOpts, arg0, arg1, arg2, arg3, arg4) } // IMetaRareERC721CollectionMetaData contains all meta data concerning the IMetaRareERC721Collection contract. var IMetaRareERC721CollectionMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "d6d0faee": "initialize(string,string,string,address,address)", }, } // IMetaRareERC721CollectionABI is the input ABI used to generate the binding from. // Deprecated: Use IMetaRareERC721CollectionMetaData.ABI instead. var IMetaRareERC721CollectionABI = IMetaRareERC721CollectionMetaData.ABI // Deprecated: Use IMetaRareERC721CollectionMetaData.Sigs instead. // IMetaRareERC721CollectionFuncSigs maps the 4-byte function signature to its string representation. var IMetaRareERC721CollectionFuncSigs = IMetaRareERC721CollectionMetaData.Sigs // IMetaRareERC721Collection is an auto generated Go binding around an Ethereum contract. type IMetaRareERC721Collection struct { IMetaRareERC721CollectionCaller // Read-only binding to the contract IMetaRareERC721CollectionTransactor // Write-only binding to the contract IMetaRareERC721CollectionFilterer // Log filterer for contract events } // IMetaRareERC721CollectionCaller is an auto generated read-only Go binding around an Ethereum contract. type IMetaRareERC721CollectionCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IMetaRareERC721CollectionTransactor is an auto generated write-only Go binding around an Ethereum contract. type IMetaRareERC721CollectionTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IMetaRareERC721CollectionFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IMetaRareERC721CollectionFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IMetaRareERC721CollectionSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IMetaRareERC721CollectionSession struct { Contract *IMetaRareERC721Collection // 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 } // IMetaRareERC721CollectionCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IMetaRareERC721CollectionCallerSession struct { Contract *IMetaRareERC721CollectionCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IMetaRareERC721CollectionTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IMetaRareERC721CollectionTransactorSession struct { Contract *IMetaRareERC721CollectionTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IMetaRareERC721CollectionRaw is an auto generated low-level Go binding around an Ethereum contract. type IMetaRareERC721CollectionRaw struct { Contract *IMetaRareERC721Collection // Generic contract binding to access the raw methods on } // IMetaRareERC721CollectionCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IMetaRareERC721CollectionCallerRaw struct { Contract *IMetaRareERC721CollectionCaller // Generic read-only contract binding to access the raw methods on } // IMetaRareERC721CollectionTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IMetaRareERC721CollectionTransactorRaw struct { Contract *IMetaRareERC721CollectionTransactor // Generic write-only contract binding to access the raw methods on } // NewIMetaRareERC721Collection creates a new instance of IMetaRareERC721Collection, bound to a specific deployed contract. func NewIMetaRareERC721Collection(address common.Address, backend bind.ContractBackend) (*IMetaRareERC721Collection, error) { contract, err := bindIMetaRareERC721Collection(address, backend, backend, backend) if err != nil { return nil, err } return &IMetaRareERC721Collection{IMetaRareERC721CollectionCaller: IMetaRareERC721CollectionCaller{contract: contract}, IMetaRareERC721CollectionTransactor: IMetaRareERC721CollectionTransactor{contract: contract}, IMetaRareERC721CollectionFilterer: IMetaRareERC721CollectionFilterer{contract: contract}}, nil } // NewIMetaRareERC721CollectionCaller creates a new read-only instance of IMetaRareERC721Collection, bound to a specific deployed contract. func NewIMetaRareERC721CollectionCaller(address common.Address, caller bind.ContractCaller) (*IMetaRareERC721CollectionCaller, error) { contract, err := bindIMetaRareERC721Collection(address, caller, nil, nil) if err != nil { return nil, err } return &IMetaRareERC721CollectionCaller{contract: contract}, nil } // NewIMetaRareERC721CollectionTransactor creates a new write-only instance of IMetaRareERC721Collection, bound to a specific deployed contract. func NewIMetaRareERC721CollectionTransactor(address common.Address, transactor bind.ContractTransactor) (*IMetaRareERC721CollectionTransactor, error) { contract, err := bindIMetaRareERC721Collection(address, nil, transactor, nil) if err != nil { return nil, err } return &IMetaRareERC721CollectionTransactor{contract: contract}, nil } // NewIMetaRareERC721CollectionFilterer creates a new log filterer instance of IMetaRareERC721Collection, bound to a specific deployed contract. func NewIMetaRareERC721CollectionFilterer(address common.Address, filterer bind.ContractFilterer) (*IMetaRareERC721CollectionFilterer, error) { contract, err := bindIMetaRareERC721Collection(address, nil, nil, filterer) if err != nil { return nil, err } return &IMetaRareERC721CollectionFilterer{contract: contract}, nil } // bindIMetaRareERC721Collection binds a generic wrapper to an already deployed contract. func bindIMetaRareERC721Collection(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IMetaRareERC721CollectionABI)) 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 (_IMetaRareERC721Collection *IMetaRareERC721CollectionRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IMetaRareERC721Collection.Contract.IMetaRareERC721CollectionCaller.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 (_IMetaRareERC721Collection *IMetaRareERC721CollectionRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IMetaRareERC721Collection.Contract.IMetaRareERC721CollectionTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IMetaRareERC721Collection *IMetaRareERC721CollectionRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IMetaRareERC721Collection.Contract.IMetaRareERC721CollectionTransactor.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 (_IMetaRareERC721Collection *IMetaRareERC721CollectionCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IMetaRareERC721Collection.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 (_IMetaRareERC721Collection *IMetaRareERC721CollectionTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IMetaRareERC721Collection.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IMetaRareERC721Collection *IMetaRareERC721CollectionTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IMetaRareERC721Collection.Contract.contract.Transact(opts, method, params...) } // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee. // // Solidity: function initialize(string , string , string , address , address ) returns() func (_IMetaRareERC721Collection *IMetaRareERC721CollectionTransactor) Initialize(opts *bind.TransactOpts, arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) { return _IMetaRareERC721Collection.contract.Transact(opts, "initialize", arg0, arg1, arg2, arg3, arg4) } // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee. // // Solidity: function initialize(string , string , string , address , address ) returns() func (_IMetaRareERC721Collection *IMetaRareERC721CollectionSession) Initialize(arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) { return _IMetaRareERC721Collection.Contract.Initialize(&_IMetaRareERC721Collection.TransactOpts, arg0, arg1, arg2, arg3, arg4) } // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee. // // Solidity: function initialize(string , string , string , address , address ) returns() func (_IMetaRareERC721Collection *IMetaRareERC721CollectionTransactorSession) Initialize(arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) { return _IMetaRareERC721Collection.Contract.Initialize(&_IMetaRareERC721Collection.TransactOpts, arg0, arg1, arg2, arg3, arg4) } // MetaRareCollectionFactoryMetaData contains all meta data concerning the MetaRareCollectionFactory contract. var MetaRareCollectionFactoryMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"collection\",\"type\":\"address\"}],\"name\":\"CreateERC1155Collection\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"collection\",\"type\":\"address\"}],\"name\":\"CreateERC721Collection\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"OperatorContract\",\"type\":\"address\"}],\"name\":\"CreateMetaRareERC1155Collection\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"OperatorContract\",\"type\":\"address\"}],\"name\":\"CreateMetaRareERC721Collection\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "ce5216cf": "CreateMetaRareERC1155Collection(string,string,string,address)", "5167cf80": "CreateMetaRareERC721Collection(string,string,string,address)", }, Bin: "0x608060405234801561001057600080fd5b5060008055616002806100246000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80635167cf801461003b578063ce5216cf14610050575b600080fd5b61004e610049366004610304565b610063565b005b61004e61005e366004610304565b610117565b60006100708585856101bc565b604051636b687d7760e11b81529091506001600160a01b0382169063d6d0faee906100a7908890889088903390899060040161042f565b600060405180830381600087803b1580156100c157600080fd5b505af11580156100d5573d6000803e3d6000fd5b505050507fd6d8f7b07325e6b897eeb15a60d044c62db3616c8c636fca706fb22e3bc656f581604051610108919061041b565b60405180910390a15050505050565b6000610124858585610250565b604051636b687d7760e11b81529091506001600160a01b0382169063d6d0faee9061015b908890889088903390899060040161042f565b600060405180830381600087803b15801561017557600080fd5b505af1158015610189573d6000803e3d6000fd5b505050507f0d3de3f5754e9b4e85f7c08370a9ee6420616bddaa78ece20378473b8de6979281604051610108919061041b565b600080604051806020016101cf90610263565b6020820181038252601f19601f820116604052509050600085858560005460405160200161020094939291906103d2565b604051602081830303815290604052805190602001209050600160008082825461022a919061048e565b909155505081518190602084016000f59250823b61024757600080fd5b50509392505050565b600080604051806020016101cf90610270565b612ead806104f983390190565b612c27806133a683390190565b600082601f83011261028d578081fd5b813567ffffffffffffffff808211156102a8576102a86104e2565b604051601f8301601f19908116603f011681019082821181831017156102d0576102d06104e2565b816040528381528660208588010111156102e8578485fd5b8360208701602083013792830160200193909352509392505050565b60008060008060808587031215610319578384fd5b843567ffffffffffffffff80821115610330578586fd5b61033c8883890161027d565b95506020870135915080821115610351578485fd5b61035d8883890161027d565b94506040870135915080821115610372578384fd5b5061037f8782880161027d565b92505060608501356001600160a01b038116811461039b578182fd5b939692955090935050565b600081518084526103be8160208601602086016104b2565b601f01601f19169290920160200192915050565b600085516103e4818460208a016104b2565b8551908301906103f8818360208a016104b2565b855191019061040b8183602089016104b2565b0192835250506020019392505050565b6001600160a01b0391909116815260200190565b600060a0825261044260a08301886103a6565b828103602084015261045481886103a6565b9050828103604084015261046881876103a6565b6001600160a01b0395861660608501529390941660809092019190915250949350505050565b600082198211156104ad57634e487b7160e01b81526011600452602481fd5b500190565b60005b838110156104cd5781810151838201526020016104b5565b838111156104dc576000848401525b50505050565b634e487b7160e01b600052604160045260246000fdfe60806040523480156200001157600080fd5b506040805180820182526008815267696e69744e616d6560c01b60208083019182528351808501909452600a8452691a5b9a5d14de5b589bdb60b21b908401528151919291620000649160029162000095565b5080516200007a90600390602084019062000095565b5050600d80546001600160a01b031916331790555062000178565b828054620000a3906200013b565b90600052602060002090601f016020900481019282620000c7576000855562000112565b82601f10620000e257805160ff191683800117855562000112565b8280016001018555821562000112579182015b8281111562000112578251825591602001919060010190620000f5565b506200012092915062000124565b5090565b5b8082111562000120576000815560010162000125565b6002810460018216806200015057607f821691505b602082108114156200017257634e487b7160e01b600052602260045260246000fd5b50919050565b612d2580620001886000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80636352211e11610125578063b88d4fde116100ad578063cf25a2fd1161007c578063cf25a2fd14610458578063d539139314610460578063d547741f14610468578063d6d0faee1461047b578063e985e9c51461048e57610211565b8063b88d4fde1461040c578063c47f00271461041f578063c87b56dd14610432578063ca15c8731461044557610211565b806391d14854116100f457806391d14854146103c357806395d89b41146103d6578063a217fddf146103de578063a22cb465146103e6578063b84c8246146103f957610211565b80636352211e146103825780636585690d1461039557806370a082311461039d5780639010d07c146103b057610211565b80632f2ff15d116101a857806342842e0e1161017757806342842e0e1461032357806342966c68146103365780634f6ccce7146103495780635145dc571461035c57806355f804b31461036f57610211565b80632f2ff15d146102d75780632f745c59146102ea57806336568abe146102fd57806340c10f191461031057610211565b8063162094c4116101e4578063162094c41461028957806318160ddd1461029c57806323b872dd146102b1578063248a9ca3146102c457610211565b806301ffc9a71461021657806306fdde031461023f578063081812fc14610254578063095ea7b314610274575b600080fd5b61022961022436600461214f565b6104a1565b60405161023691906123c6565b60405180910390f35b6102476104ce565b60405161023691906123da565b6102676102623660046120f4565b610560565b6040516102369190612375565b6102876102823660046120cb565b6105ac565b005b610287610297366004612260565b610644565b6102a461067b565b60405161023691906123d1565b6102876102bf366004611fdd565b610681565b6102a46102d23660046120f4565b6106b9565b6102876102e536600461210c565b6106ce565b6102a46102f83660046120cb565b6106f2565b61028761030b36600461210c565b610747565b61028761031e3660046120cb565b610789565b610287610331366004611fdd565b6107c9565b6102876103443660046120f4565b6107e4565b6102a46103573660046120f4565b610817565b61028761036a366004611fdd565b610872565b61028761037d366004612187565b6108a7565b6102676103903660046120f4565b6108e3565b610267610918565b6102a46103ab366004611f91565b610927565b6102676103be36600461212e565b61096b565b6102296103d136600461210c565b61098a565b6102476109b3565b6102a46109c2565b6102876103f4366004612091565b6109c7565b610287610407366004612187565b6109d9565b61028761041a366004612018565b610a15565b61028761042d366004612187565b610a54565b6102476104403660046120f4565b610a90565b6102a46104533660046120f4565b610a9b565b610267610ab2565b6102a4610ac1565b61028761047636600461210c565b610ad3565b6102876104893660046121ba565b610af2565b61022961049c366004611fab565b610bda565b60006001600160e01b0319821663780e9d6360e01b14806104c657506104c682610c08565b90505b919050565b6060601080546104dd90612c0d565b80601f016020809104026020016040519081016040528092919081815260200182805461050990612c0d565b80156105565780601f1061052b57610100808354040283529160200191610556565b820191906000526020600020905b81548152906001019060200180831161053957829003601f168201915b5050505050905090565b600061056b82610c2d565b6105905760405162461bcd60e51b81526004016105879061286f565b60405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006105b7826108e3565b9050806001600160a01b0316836001600160a01b031614156105eb5760405162461bcd60e51b815260040161058790612958565b806001600160a01b03166105fd610c4a565b6001600160a01b0316148061061957506106198161049c610c4a565b6106355760405162461bcd60e51b815260040161058790612630565b61063f8383610c4e565b505050565b61065160006103d1610c4a565b61066d5760405162461bcd60e51b81526004016105879061290a565b6106778282610cbc565b5050565b600a5490565b61069261068c610c4a565b82610d00565b6106ae5760405162461bcd60e51b815260040161058790612999565b61063f838383610d85565b60009081526020819052604090206001015490565b6106d7826106b9565b6106e8816106e3610c4a565b610eb8565b61063f8383610f1c565b60006106fd83610927565b821061071b5760405162461bcd60e51b815260040161058790612422565b506001600160a01b03821660009081526008602090815260408083208484529091529020545b92915050565b61074f610c4a565b6001600160a01b0316816001600160a01b03161461077f5760405162461bcd60e51b815260040161058790612b19565b6106778282610f3e565b6107a3600080516020612cd08339815191526103d1610c4a565b6107bf5760405162461bcd60e51b815260040161058790612ad4565b6106778282610f60565b61063f83838360405180602001604052806000815250610a15565b6107ef61068c610c4a565b61080b5760405162461bcd60e51b815260040161058790612a84565b61081481611047565b50565b600061082161067b565b821061083f5760405162461bcd60e51b815260040161058790612a38565b600a828154811061086057634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b600e546001600160a01b0316331461089c5760405162461bcd60e51b8152600401610587906127da565b61063f838383611050565b6108b460006103d1610c4a565b6108d05760405162461bcd60e51b8152600401610587906129ea565b805161067790600f906020840190611e14565b6000818152600460205260408120546001600160a01b0316806104c65760405162461bcd60e51b8152600401610587906126d7565b600e546001600160a01b031681565b60006001600160a01b03821661094f5760405162461bcd60e51b81526004016105879061268d565b506001600160a01b031660009081526005602052604090205490565b6000828152600160205260408120610983908361106b565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6060601180546104dd90612c0d565b600081565b6106776109d2610c4a565b8383611077565b6109e660006103d1610c4a565b610a025760405162461bcd60e51b81526004016105879061253b565b8051610677906011906020840190611e14565b610a26610a20610c4a565b83610d00565b610a425760405162461bcd60e51b815260040161058790612999565b610a4e8484848461111a565b50505050565b610a6160006103d1610c4a565b610a7d5760405162461bcd60e51b81526004016105879061253b565b8051610677906010906020840190611e14565b60606104c68261114d565b60008181526001602052604081206104c690611266565b600d546001600160a01b031681565b600080516020612cd083398151915281565b610adc826106b9565b610ae8816106e3610c4a565b61063f8383610f3e565b600d546001600160a01b03163314610b1c5760405162461bcd60e51b81526004016105879061276e565b610b2e6000610b29610c4a565b611271565b610b48600080516020612cd0833981519152610b29610c4a565b610b60600080516020612cd083398151915283611271565b610b78600080516020612cd083398151915282611271565b8251610b8b90600f906020860190611e14565b508451610b9f906010906020880190611e14565b508351610bb3906011906020870190611e14565b50600e80546001600160a01b0319166001600160a01b039290921691909117905550505050565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b60006001600160e01b0319821663780e9d6360e01b14806104c657506104c68261127b565b6000908152600460205260409020546001600160a01b0316151590565b3390565b600081815260066020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610c83826108e3565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610cc582610c2d565b610ce15760405162461bcd60e51b815260040161058790612720565b6000828152600c60209081526040909120825161063f92840190611e14565b6000610d0b82610c2d565b610d275760405162461bcd60e51b8152600401610587906125e4565b6000610d32836108e3565b9050806001600160a01b0316846001600160a01b03161480610d6d5750836001600160a01b0316610d6284610560565b6001600160a01b0316145b80610d7d5750610d7d8185610bda565b949350505050565b826001600160a01b0316610d98826108e3565b6001600160a01b031614610dbe5760405162461bcd60e51b8152600401610587906124bf565b6001600160a01b038216610de45760405162461bcd60e51b815260040161058790612569565b610def8383836112bb565b610dfa600082610c4e565b6001600160a01b0383166000908152600560205260408120805460019290610e23908490612bb3565b90915550506001600160a01b0382166000908152600560205260408120805460019290610e51908490612b68565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a461063f83838361063f565b610ec2828261098a565b61067757610eda816001600160a01b031660146112c6565b610ee58360206112c6565b604051602001610ef6929190612300565b60408051601f198184030181529082905262461bcd60e51b8252610587916004016123da565b610f268282611478565b600082815260016020526040902061063f90826114fd565b610f488282611512565b600082815260016020526040902061063f9082611595565b6001600160a01b038216610f865760405162461bcd60e51b8152600401610587906127a5565b610f8f81610c2d565b15610fac5760405162461bcd60e51b815260040161058790612504565b610fb8600083836112bb565b6001600160a01b0382166000908152600560205260408120805460019290610fe1908490612b68565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46106776000838361063f565b610814816115aa565b61063f8383836040518060200160405280600081525061111a565b600061098383836115ea565b816001600160a01b0316836001600160a01b031614156110a95760405162461bcd60e51b8152600401610587906125ad565b6001600160a01b0383811660008181526007602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319061110d9085906123c6565b60405180910390a3505050565b611125848484610d85565b61113184848484611622565b610a4e5760405162461bcd60e51b81526004016105879061246d565b606061115882610c2d565b6111745760405162461bcd60e51b81526004016105879061281e565b6000828152600c60205260408120805461118d90612c0d565b80601f01602080910402602001604051908101604052809291908181526020018280546111b990612c0d565b80156112065780601f106111db57610100808354040283529160200191611206565b820191906000526020600020905b8154815290600101906020018083116111e957829003601f168201915b50505050509050600061121761173d565b905080516000141561122b575090506104c9565b81511561125d5780826040516020016112459291906122d1565b604051602081830303815290604052925050506104c9565b610d7d8461174c565b60006104c6826117ce565b6106778282610f1c565b60006001600160e01b031982166380ac58cd60e01b14806112ac57506001600160e01b03198216635b5e139f60e01b145b806104c657506104c6826117d2565b61063f8383836117f7565b606060006112d5836002612b94565b6112e0906002612b68565b67ffffffffffffffff81111561130657634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611330576020820181803683370190505b509050600360fc1b8160008151811061135957634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061139657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060006113ba846002612b94565b6113c5906001612b68565b90505b6001811115611459576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061140757634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061142b57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361145281612bf6565b90506113c8565b5083156109835760405162461bcd60e51b8152600401610587906123ed565b611482828261098a565b610677576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556114b9610c4a565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610983836001600160a01b038416611880565b61151c828261098a565b15610677576000828152602081815260408083206001600160a01b03851684529091529020805460ff19169055611551610c4a565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000610983836001600160a01b0384166118ca565b6115b3816119e7565b6000818152600c6020526040902080546115cc90612c0d565b159050610814576000818152600c6020526040812061081491611e98565b600082600001828154811061160f57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905092915050565b6000611636846001600160a01b0316611a96565b1561173257836001600160a01b031663150b7a02611652610c4a565b8786866040518563ffffffff1660e01b81526004016116749493929190612389565b602060405180830381600087803b15801561168e57600080fd5b505af19250505080156116be575060408051601f3d908101601f191682019092526116bb9181019061216b565b60015b611718573d8080156116ec576040519150601f19603f3d011682016040523d82523d6000602084013e6116f1565b606091505b5080516117105760405162461bcd60e51b81526004016105879061246d565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610d7d565b506001949350505050565b6060600f80546104dd90612c0d565b606061175782610c2d565b6117735760405162461bcd60e51b8152600401610587906128bb565b600061177d61173d565b9050600081511161179d5760405180602001604052806000815250610983565b806117a784611aa5565b6040516020016117b89291906122d1565b6040516020818303038152906040529392505050565b5490565b60006001600160e01b03198216635a05180f60e01b14806104c657506104c682611bc0565b61180283838361063f565b6001600160a01b03831661181e5761181981611be5565b611841565b816001600160a01b0316836001600160a01b031614611841576118418382611c29565b6001600160a01b03821661185d5761185881611cc6565b61063f565b826001600160a01b0316826001600160a01b03161461063f5761063f8282611d9f565b600061188c8383611de3565b6118c257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610741565b506000610741565b600081815260018301602052604081205480156119dd5760006118ee600183612bb3565b855490915060009061190290600190612bb3565b905081811461198357600086600001828154811061193057634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508087600001848154811061196157634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b85548690806119a257634e487b7160e01b600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610741565b6000915050610741565b60006119f2826108e3565b9050611a00816000846112bb565b611a0b600083610c4e565b6001600160a01b0381166000908152600560205260408120805460019290611a34908490612bb3565b909155505060008281526004602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a46106778160008461063f565b6001600160a01b03163b151590565b606081611aca57506040805180820190915260018152600360fc1b60208201526104c9565b8160005b8115611af45780611ade81612c48565b9150611aed9050600a83612b80565b9150611ace565b60008167ffffffffffffffff811115611b1d57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611b47576020820181803683370190505b5090505b8415610d7d57611b5c600183612bb3565b9150611b69600a86612c63565b611b74906030612b68565b60f81b818381518110611b9757634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611bb9600a86612b80565b9450611b4b565b60006001600160e01b03198216637965db0b60e01b14806104c657506104c682611dfb565b600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b60006001611c3684610927565b611c409190612bb3565b600083815260096020526040902054909150808214611c93576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a54600090611cd890600190612bb3565b6000838152600b6020526040812054600a8054939450909284908110611d0e57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905080600a8381548110611d3d57634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a805480611d8357634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b6000611daa83610927565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b60009081526001919091016020526040902054151590565b6001600160e01b031981166301ffc9a760e01b14919050565b828054611e2090612c0d565b90600052602060002090601f016020900481019282611e425760008555611e88565b82601f10611e5b57805160ff1916838001178555611e88565b82800160010185558215611e88579182015b82811115611e88578251825591602001919060010190611e6d565b50611e94929150611ed0565b5090565b508054611ea490612c0d565b6000825580601f10611eb65750610814565b601f01602090049060005260206000209081019061081491905b5b80821115611e945760008155600101611ed1565b600067ffffffffffffffff80841115611f0057611f00612ca3565b604051601f8501601f19908116603f01168101908282118183101715611f2857611f28612ca3565b81604052809350858152868686011115611f4157600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b03811681146104c957600080fd5b600082601f830112611f82578081fd5b61098383833560208501611ee5565b600060208284031215611fa2578081fd5b61098382611f5b565b60008060408385031215611fbd578081fd5b611fc683611f5b565b9150611fd460208401611f5b565b90509250929050565b600080600060608486031215611ff1578081fd5b611ffa84611f5b565b925061200860208501611f5b565b9150604084013590509250925092565b6000806000806080858703121561202d578081fd5b61203685611f5b565b935061204460208601611f5b565b925060408501359150606085013567ffffffffffffffff811115612066578182fd5b8501601f81018713612076578182fd5b61208587823560208401611ee5565b91505092959194509250565b600080604083850312156120a3578182fd5b6120ac83611f5b565b9150602083013580151581146120c0578182fd5b809150509250929050565b600080604083850312156120dd578182fd5b6120e683611f5b565b946020939093013593505050565b600060208284031215612105578081fd5b5035919050565b6000806040838503121561211e578182fd5b82359150611fd460208401611f5b565b60008060408385031215612140578182fd5b50508035926020909101359150565b600060208284031215612160578081fd5b813561098381612cb9565b60006020828403121561217c578081fd5b815161098381612cb9565b600060208284031215612198578081fd5b813567ffffffffffffffff8111156121ae578182fd5b610d7d84828501611f72565b600080600080600060a086880312156121d1578081fd5b853567ffffffffffffffff808211156121e8578283fd5b6121f489838a01611f72565b96506020880135915080821115612209578283fd5b61221589838a01611f72565b9550604088013591508082111561222a578283fd5b5061223788828901611f72565b93505061224660608701611f5b565b915061225460808701611f5b565b90509295509295909350565b60008060408385031215612272578182fd5b82359150602083013567ffffffffffffffff81111561228f578182fd5b61229b85828601611f72565b9150509250929050565b600081518084526122bd816020860160208601612bca565b601f01601f19169290920160200192915050565b600083516122e3818460208801612bca565b8351908301906122f7818360208801612bca565b01949350505050565b60007f416363657373436f6e74726f6c3a206163636f756e742000000000000000000082528351612338816017850160208801612bca565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612369816028840160208801612bca565b01602801949350505050565b6001600160a01b0391909116815260200190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906123bc908301846122a5565b9695505050505050565b901515815260200190565b90815260200190565b60006020825261098360208301846122a5565b6020808252818101527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604082015260600190565b6020808252602b908201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560408201526a74206f6620626f756e647360a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b6020808252601490820152734d75737420686176652041646d696e20726f6c6560601b604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b6020808252602e908201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60408201526d32bc34b9ba32b73a103a37b5b2b760911b606082015260800190565b6020808252601c908201527f4552433732313a20494e495449414c495a4520464f5242494444454e00000000604082015260600190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b60208082526024908201527f4f7065726174726f6e206f6e6c792063616e2075736520746869732066756e636040820152633a34b7b760e11b606082015260800190565b60208082526031908201527f45524337323155524953746f726167653a2055524920717565727920666f72206040820152703737b732bc34b9ba32b73a103a37b5b2b760791b606082015260800190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b6020808252602e908201527f4552433732313a206d75737420686176652061646d696e20726f6c6520746f2060408201526d73657420546f6b656e205552497360901b606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252602e908201527f4552433732313a206d75737420686176652061646d696e20726f6c6520746f2060408201526d6368616e6765206261736555726960901b606082015260800190565b6020808252602c908201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60408201526b7574206f6620626f756e647360a01b606082015260800190565b60208082526030908201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760408201526f1b995c881b9bdc88185c1c1c9bdd995960821b606082015260800190565b60208082526025908201527f4552433732313a206d7573742068617665206d696e74657220726f6c6520746f604082015264081b5a5b9d60da1b606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201526e103937b632b9903337b91039b2b63360891b606082015260800190565b60008219821115612b7b57612b7b612c77565b500190565b600082612b8f57612b8f612c8d565b500490565b6000816000190483118215151615612bae57612bae612c77565b500290565b600082821015612bc557612bc5612c77565b500390565b60005b83811015612be5578181015183820152602001612bcd565b83811115610a4e5750506000910152565b600081612c0557612c05612c77565b506000190190565b600281046001821680612c2157607f821691505b60208210811415612c4257634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612c5c57612c5c612c77565b5060010190565b600082612c7257612c72612c8d565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b03198116811461081457600080fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220b030f4f70553d52f8e53838cf6b36cebd96c32ddf8ea9b9b3425e184b80967a664736f6c6343000801003360806040523480156200001157600080fd5b506040805180820190915260048152635f75726960e01b6020820152620000388162000065565b506200004d620000476200007e565b62000082565b600480546001600160a01b03191633179055620001b7565b80516200007a906002906020840190620000d4565b5050565b3390565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620000e2906200017a565b90600052602060002090601f01602090048101928262000106576000855562000151565b82601f106200012157805160ff191683800117855562000151565b8280016001018555821562000151579182015b828111156200015157825182559160200191906001019062000134565b506200015f92915062000163565b5090565b5b808211156200015f576000815560010162000164565b6002810460018216806200018f57607f821691505b60208210811415620001b157634e487b7160e01b600052602260045260246000fd5b50919050565b612a6080620001c76000396000f3fe608060405234801561001057600080fd5b50600436106101ce5760003560e01c8063731133e911610104578063bd85b039116100a2578063d6d0faee11610071578063d6d0faee146103b8578063e985e9c5146103cb578063f242432a146103de578063f2fde38b146103f1576101ce565b8063bd85b03914610377578063cd53d08e1461038a578063cf25a2fd1461039d578063d2a6b51a146103a5576101ce565b80638da5cb5b116100de5780638da5cb5b1461034157806395d89b4114610349578063a22cb46514610351578063b48ab8b614610364576101ce565b8063731133e9146103085780637c7ae4d11461031b5780638a28a5a21461032e576101ce565b806336a100d5116101715780634f558e791161014b5780634f558e79146102c557806361321c14146102d85780636585690d146102eb578063715018a614610300576101ce565b806336a100d51461027f5780633adf80b4146102925780634e1273f4146102a5576101ce565b806306fdde03116101ad57806306fdde03146102315780630e89341c146102465780632693ebf2146102595780632eb2c2d61461026c576101ce565b8062fdd58e146101d357806301ffc9a7146101fc57806302fe53051461021c575b600080fd5b6101e66101e1366004611e1e565b610404565b6040516101f39190612872565b60405180910390f35b61020f61020a366004611fac565b61045b565b6040516101f39190612292565b61022f61022a366004611fe4565b6104a3565b005b6102396104ee565b6040516101f3919061229d565b6102396102543660046120c3565b61057c565b6101e66102673660046120c3565b6106fc565b61022f61027a366004611bbd565b61070e565b6101e661028d366004611e99565b61076c565b61022f6102a03660046120db565b61088a565b6102b86102b3366004611eee565b610929565b6040516101f39190612251565b61020f6102d33660046120c3565b610a48565b6101e66102e6366004611e99565b610a53565b6102f3610af3565b6040516101f3919061219a565b61022f610b02565b61022f610316366004611e47565b610b4d565b61022f610329366004611c62565b610bcd565b61023961033c3660046120c3565b610c09565b6102f3610c22565b610239610c32565b61022f61035f366004611de4565b610c3f565b61022f610372366004611d50565b610c55565b6101e66103853660046120c3565b610d53565b6102f36103983660046120c3565b610d65565b6102f3610d80565b61022f6103b3366004611d05565b610d8f565b61022f6103c636600461201e565b610e0f565b61020f6103d9366004611b8b565b610e99565b61022f6103ec366004611ca3565b610eac565b61022f6103ff366004611b71565b610f03565b60006001600160a01b0383166104355760405162461bcd60e51b815260040161042c90612409565b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b148061048c57506001600160e01b031982166303a24d0760e21b145b8061049b575061049b82610f71565b90505b919050565b6104ab610f8a565b6001600160a01b03166104bc610c22565b6001600160a01b0316146104e25760405162461bcd60e51b815260040161042c9061264e565b6104eb81610f8e565b50565b600980546104fb906128c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610527906128c4565b80156105745780601f1061054957610100808354040283529160200191610574565b820191906000526020600020905b81548152906001019060200180831161055757829003601f168201915b505050505081565b606061058782610fa1565b6105a35760405162461bcd60e51b815260040161042c9061257a565b600082815260086020526040812080546105bc906128c4565b80601f01602080910402602001604051908101604052809291908181526020018280546105e8906128c4565b80156106355780601f1061060a57610100808354040283529160200191610635565b820191906000526020600020905b81548152906001019060200180831161061857829003601f168201915b505050505090506000815111156106e5576000838152600860205260409020805461065f906128c4565b80601f016020809104026020016040519081016040528092919081815260200182805461068b906128c4565b80156106d85780601f106106ad576101008083540402835291602001916106d8565b820191906000526020600020905b8154815290600101906020018083116106bb57829003601f168201915b505050505091505061049e565b6106ee83610fbe565b91505061049e565b50919050565b60076020526000908152604090205481565b610716610f8a565b6001600160a01b0316856001600160a01b0316148061073c575061073c856103d9610f8a565b6107585760405162461bcd60e51b815260040161042c90612528565b6107658585858585611052565b5050505050565b6000610776610f8a565b6001600160a01b0316610787610c22565b6001600160a01b0316146107ad5760405162461bcd60e51b815260040161042c9061264e565b6107b685610fa1565b156107d35760405162461bcd60e51b815260040161042c90612304565b6107db610f8a565b600086815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055825115610867576000858152600860209081526040909120845161082d928601906119e1565b50847f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b8460405161085e919061229d565b60405180910390a25b61087386868685611223565b505050600082815260076020526040902055919050565b81610893610f8a565b6000828152600660205260409020546001600160a01b039081169116146108cc5760405162461bcd60e51b815260040161042c906127ea565b600083815260086020908152604090912083516108eb928501906119e1565b50827f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b8360405161091c919061229d565b60405180910390a2505050565b6060815183511461094c5760405162461bcd60e51b815260040161042c90612718565b600083516001600160401b0381111561097557634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561099e578160200160208202803683370190505b50905060005b8451811015610a4057610a058582815181106109d057634e487b7160e01b600052603260045260246000fd5b60200260200101518583815181106109f857634e487b7160e01b600052603260045260246000fd5b6020026020010151610404565b828281518110610a2557634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610a3981612925565b90506109a4565b509392505050565b600061049b82610fa1565b6005546000906001600160a01b03163314610a805760405162461bcd60e51b815260040161042c90612383565b610a8985610fa1565b15610aa65760405162461bcd60e51b815260040161042c90612304565b600085815260066020526040902080546001600160a01b0319166001600160a01b038816179055825115610867576000858152600860209081526040909120845161082d928601906119e1565b6005546001600160a01b031681565b610b0a610f8a565b6001600160a01b0316610b1b610c22565b6001600160a01b031614610b415760405162461bcd60e51b815260040161042c9061264e565b610b4b6000611312565b565b82610b56610f8a565b6000828152600660205260409020546001600160a01b03908116911614610b8f5760405162461bcd60e51b815260040161042c906127ea565b610b9b85858585611223565b600084815260076020526040902054610bb49084611364565b6000948552600760205260409094209390935550505050565b6005546001600160a01b03163314610bf75760405162461bcd60e51b815260040161042c9061260a565b610c0384848484611370565b50505050565b600860205260009081526040902080546104fb906128c4565b6003546001600160a01b03165b90565b600a80546104fb906128c4565b610c51610c4a610f8a565b838361138c565b5050565b60005b8351811015610d46576000848281518110610c8357634e487b7160e01b600052603260045260246000fd5b60200260200101519050610c95610f8a565b6000828152600660205260409020546001600160a01b03908116911614610cce5760405162461bcd60e51b815260040161042c906123ba565b6000848381518110610cf057634e487b7160e01b600052603260045260246000fd5b60200260200101519050610d2081600760008581526020019081526020016000205461136490919063ffffffff16565b600092835260076020526040909220919091555080610d3e81612925565b915050610c58565b50610c038484848461142f565b60009081526007602052604090205490565b6006602052600090815260409020546001600160a01b031681565b6004546001600160a01b031681565b6001600160a01b038216610db55760405162461bcd60e51b815260040161042c90612683565b60005b8151811015610e0a576000828281518110610de357634e487b7160e01b600052603260045260246000fd5b60200260200101519050610df784826115b0565b5080610e0281612925565b915050610db8565b505050565b6004546001600160a01b03163314610e395760405162461bcd60e51b815260040161042c9061283b565b8451610e4c9060099060208801906119e1565b508351610e6090600a9060208701906119e1565b50610e6a83610f8e565b600580546001600160a01b0319166001600160a01b038316179055610e8e82610f03565b610765816001610c3f565b6000610ea58383611621565b9392505050565b610eb4610f8a565b6001600160a01b0316856001600160a01b03161480610eda5750610eda856103d9610f8a565b610ef65760405162461bcd60e51b815260040161042c9061249a565b610765858585858561164f565b610f0b610f8a565b6001600160a01b0316610f1c610c22565b6001600160a01b031614610f425760405162461bcd60e51b815260040161042c9061264e565b6001600160a01b038116610f685760405162461bcd60e51b815260040161042c90612454565b6104eb81611312565b6001600160e01b031981166301ffc9a760e01b14919050565b3390565b8051610c519060029060208401906119e1565b6000908152600660205260409020546001600160a01b0316151590565b606060028054610fcd906128c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff9906128c4565b80156110465780601f1061101b57610100808354040283529160200191611046565b820191906000526020600020905b81548152906001019060200180831161102957829003601f168201915b50505050509050919050565b81518351146110735760405162461bcd60e51b815260040161042c90612761565b6001600160a01b0384166110995760405162461bcd60e51b815260040161042c906124e3565b60006110a3610f8a565b90506110b381878787878761121b565b60005b84518110156111b55760008582815181106110e157634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085838151811061110d57634e487b7160e01b600052603260045260246000fd5b602090810291909101810151600084815280835260408082206001600160a01b038e16835290935291909120549091508181101561115d5760405162461bcd60e51b815260040161042c906125c0565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b1682528120805484929061119a9084906128ac565b92505081905550505050806111ae90612925565b90506110b6565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611205929190612264565b60405180910390a461121b818787878787611783565b505050505050565b6001600160a01b0384166112495760405162461bcd60e51b815260040161042c906127a9565b6000611253610f8a565b905061127481600087611265886118a8565b61126e886118a8565b8761121b565b6000848152602081815260408083206001600160a01b0389168452909152812080548592906112a49084906128ac565b92505081905550846001600160a01b031660006001600160a01b0316826001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6287876040516112fb92919061287b565b60405180910390a461076581600087878787611901565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610ea582846128ac565b610c03848484846040518060200160405280600081525061164f565b816001600160a01b0316836001600160a01b031614156113be5760405162461bcd60e51b815260040161042c906126cf565b6001600160a01b0383811660008181526001602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190611422908590612292565b60405180910390a3505050565b6001600160a01b0384166114555760405162461bcd60e51b815260040161042c906127a9565b81518351146114765760405162461bcd60e51b815260040161042c90612761565b6000611480610f8a565b90506114918160008787878761121b565b60005b8451811015611548578381815181106114bd57634e487b7160e01b600052603260045260246000fd5b60200260200101516000808784815181106114e857634e487b7160e01b600052603260045260246000fd5b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b03168152602001908152602001600020600082825461153091906128ac565b9091555081905061154081612925565b915050611494565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611599929190612264565b60405180910390a461076581600087878787611783565b806115b9610f8a565b6000828152600660205260409020546001600160a01b039081169116146115f25760405162461bcd60e51b815260040161042c906127ea565b50600090815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b6001600160a01b0384166116755760405162461bcd60e51b815260040161042c906124e3565b600061167f610f8a565b9050611690818787611265886118a8565b6000848152602081815260408083206001600160a01b038a168452909152902054838110156116d15760405162461bcd60e51b815260040161042c906125c0565b6000858152602081815260408083206001600160a01b038b811685529252808320878503905590881682528120805486929061170e9084906128ac565b92505081905550856001600160a01b0316876001600160a01b0316836001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62888860405161176492919061287b565b60405180910390a461177a828888888888611901565b50505050505050565b611795846001600160a01b03166119d2565b1561121b5760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906117ce90899089908890889088906004016121ae565b602060405180830381600087803b1580156117e857600080fd5b505af1925050508015611818575060408051601f3d908101601f1916820190925261181591810190611fc8565b60015b6118785761182461296c565b806308c379a0141561185e5750611839612983565b806118445750611860565b8060405162461bcd60e51b815260040161042c919061229d565b505b60405162461bcd60e51b815260040161042c906122b0565b6001600160e01b0319811663bc197c8160e01b1461177a5760405162461bcd60e51b815260040161042c9061233b565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106118f057634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b611913846001600160a01b03166119d2565b1561121b5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e619061194c908990899088908890889060040161220c565b602060405180830381600087803b15801561196657600080fd5b505af1925050508015611996575060408051601f3d908101601f1916820190925261199391810190611fc8565b60015b6119a25761182461296c565b6001600160e01b0319811663f23a6e6160e01b1461177a5760405162461bcd60e51b815260040161042c9061233b565b6001600160a01b03163b151590565b8280546119ed906128c4565b90600052602060002090601f016020900481019282611a0f5760008555611a55565b82601f10611a2857805160ff1916838001178555611a55565b82800160010185558215611a55579182015b82811115611a55578251825591602001919060010190611a3a565b50611a61929150611a65565b5090565b5b80821115611a615760008155600101611a66565b80356001600160a01b038116811461049e57600080fd5b600082601f830112611aa1578081fd5b81356020611aae82612889565b604051611abb82826128f9565b838152828101915085830183850287018401881015611ad8578586fd5b855b85811015611af657813584529284019290840190600101611ada565b5090979650505050505050565b600082601f830112611b13578081fd5b81356001600160401b03811115611b2c57611b2c612956565b604051611b43601f8301601f1916602001826128f9565b818152846020838601011115611b57578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215611b82578081fd5b610ea582611a7a565b60008060408385031215611b9d578081fd5b611ba683611a7a565b9150611bb460208401611a7a565b90509250929050565b600080600080600060a08688031215611bd4578081fd5b611bdd86611a7a565b9450611beb60208701611a7a565b935060408601356001600160401b0380821115611c06578283fd5b611c1289838a01611a91565b94506060880135915080821115611c27578283fd5b611c3389838a01611a91565b93506080880135915080821115611c48578283fd5b50611c5588828901611b03565b9150509295509295909350565b60008060008060808587031215611c77578384fd5b611c8085611a7a565b9350611c8e60208601611a7a565b93969395505050506040820135916060013590565b600080600080600060a08688031215611cba578081fd5b611cc386611a7a565b9450611cd160208701611a7a565b9350604086013592506060860135915060808601356001600160401b03811115611cf9578182fd5b611c5588828901611b03565b60008060408385031215611d17578182fd5b611d2083611a7a565b915060208301356001600160401b03811115611d3a578182fd5b611d4685828601611a91565b9150509250929050565b60008060008060808587031215611d65578384fd5b611d6e85611a7a565b935060208501356001600160401b0380821115611d89578485fd5b611d9588838901611a91565b94506040870135915080821115611daa578384fd5b611db688838901611a91565b93506060870135915080821115611dcb578283fd5b50611dd887828801611b03565b91505092959194509250565b60008060408385031215611df6578182fd5b611dff83611a7a565b915060208301358015158114611e13578182fd5b809150509250929050565b60008060408385031215611e30578182fd5b611e3983611a7a565b946020939093013593505050565b60008060008060808587031215611e5c578182fd5b611e6585611a7a565b9350602085013592506040850135915060608501356001600160401b03811115611e8d578182fd5b611dd887828801611b03565b600080600080600060a08688031215611eb0578283fd5b611eb986611a7a565b9450602086013593506040860135925060608601356001600160401b0380821115611ee2578283fd5b611c3389838a01611b03565b60008060408385031215611f00578182fd5b82356001600160401b0380821115611f16578384fd5b818501915085601f830112611f29578384fd5b81356020611f3682612889565b604051611f4382826128f9565b8381528281019150858301838502870184018b1015611f60578889fd5b8896505b84871015611f8957611f7581611a7a565b835260019690960195918301918301611f64565b5096505086013592505080821115611f9f578283fd5b50611d4685828601611a91565b600060208284031215611fbd578081fd5b8135610ea581612a14565b600060208284031215611fd9578081fd5b8151610ea581612a14565b600060208284031215611ff5578081fd5b81356001600160401b0381111561200a578182fd5b61201684828501611b03565b949350505050565b600080600080600060a08688031215612035578283fd5b85356001600160401b038082111561204b578485fd5b61205789838a01611b03565b9650602088013591508082111561206c578485fd5b61207889838a01611b03565b9550604088013591508082111561208d578485fd5b5061209a88828901611b03565b9350506120a960608701611a7a565b91506120b760808701611a7a565b90509295509295909350565b6000602082840312156120d4578081fd5b5035919050565b600080604083850312156120ed578182fd5b8235915060208301356001600160401b03811115612109578182fd5b611d4685828601611b03565b6000815180845260208085019450808401835b8381101561214457815187529582019590820190600101612128565b509495945050505050565b60008151808452815b8181101561217457602081850181015186830182015201612158565b818111156121855782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0386811682528516602082015260a0604082018190526000906121da90830186612115565b82810360608401526121ec8186612115565b90508281036080840152612200818561214f565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906122469083018461214f565b979650505050505050565b600060208252610ea56020830184612115565b6000604082526122776040830185612115565b82810360208401526122898185612115565b95945050505050565b901515815260200190565b600060208252610ea5602083018461214f565b60208082526034908201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356040820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606082015260800190565b60208082526018908201527f746f6b656e205f696420616c7265616479206578697374730000000000000000604082015260600190565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6020808252601d908201527f43616e6e6f742063616c6c6564206279206e6f74206f70657261746f72000000604082015260600190565b6020808252602f908201527f455243313135355472616461626c652362617463684d696e743a204f4e4c595f60408201526e10d491505513d497d0531313d5d151608a1b606082015260800190565b6020808252602b908201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60408201526a65726f206164647265737360a81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526029908201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260408201526808185c1c1c9bdd995960ba1b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526032908201527f455243313135353a207472616e736665722063616c6c6572206973206e6f74206040820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b606082015260800190565b60208082526026908201527f455243313135355472616461626c65237572693a204e4f4e4558495354454e546040820152652faa27a5a2a760d11b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60208082526024908201527f4f7065726174726f6e206f6e6c792063616e2075736520746869732066756e636040820152633a34b7b760e11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c908201527f455243313135355472616461626c652373657443726561746f723a20494e564160408201526b2624a22fa0a2222922a9a99760a11b606082015260800190565b60208082526029908201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604082015268103337b91039b2b63360b91b606082015260800190565b60208082526029908201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604082015268040dad2e6dac2e8c6d60bb1b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526031908201527f455243313135355472616461626c652363726561746f724f6e6c793a204f4e4c6040820152701657d0d491505513d497d0531313d5d151607a1b606082015260800190565b6020808252601d908201527f455243313135353a20494e495449414c495a4520464f5242494444454e000000604082015260600190565b90815260200190565b918252602082015260400190565b60006001600160401b038211156128a2576128a2612956565b5060209081020190565b600082198211156128bf576128bf612940565b500190565b6002810460018216806128d857607f821691505b602082108114156106f657634e487b7160e01b600052602260045260246000fd5b601f8201601f191681016001600160401b038111828210171561291e5761291e612956565b6040525050565b600060001982141561293957612939612940565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d1115610c2f57600481823e5160e01c90565b600060443d101561299357610c2f565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156129c4575050505050610c2f565b82850191508151818111156129de57505050505050610c2f565b843d87010160208285010111156129fa57505050505050610c2f565b612a09602082860101876128f9565b509094505050505090565b6001600160e01b0319811681146104eb57600080fdfea2646970667358221220f78e3718344884bd7316b6a520c284da62c9c926c0b9bc9b54ccad0bffa695d364736f6c63430008010033a26469706673582212207edbcd58bfd6be43ca42a397426c1a0776436066dbbfaa2742d16b0b7ba15a7364736f6c63430008010033", } // MetaRareCollectionFactoryABI is the input ABI used to generate the binding from. // Deprecated: Use MetaRareCollectionFactoryMetaData.ABI instead. var MetaRareCollectionFactoryABI = MetaRareCollectionFactoryMetaData.ABI // Deprecated: Use MetaRareCollectionFactoryMetaData.Sigs instead. // MetaRareCollectionFactoryFuncSigs maps the 4-byte function signature to its string representation. var MetaRareCollectionFactoryFuncSigs = MetaRareCollectionFactoryMetaData.Sigs // MetaRareCollectionFactoryBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use MetaRareCollectionFactoryMetaData.Bin instead. var MetaRareCollectionFactoryBin = MetaRareCollectionFactoryMetaData.Bin // DeployMetaRareCollectionFactory deploys a new Ethereum contract, binding an instance of MetaRareCollectionFactory to it. func DeployMetaRareCollectionFactory(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *MetaRareCollectionFactory, error) { parsed, err := MetaRareCollectionFactoryMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(MetaRareCollectionFactoryBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &MetaRareCollectionFactory{MetaRareCollectionFactoryCaller: MetaRareCollectionFactoryCaller{contract: contract}, MetaRareCollectionFactoryTransactor: MetaRareCollectionFactoryTransactor{contract: contract}, MetaRareCollectionFactoryFilterer: MetaRareCollectionFactoryFilterer{contract: contract}}, nil } // MetaRareCollectionFactory is an auto generated Go binding around an Ethereum contract. type MetaRareCollectionFactory struct { MetaRareCollectionFactoryCaller // Read-only binding to the contract MetaRareCollectionFactoryTransactor // Write-only binding to the contract MetaRareCollectionFactoryFilterer // Log filterer for contract events } // MetaRareCollectionFactoryCaller is an auto generated read-only Go binding around an Ethereum contract. type MetaRareCollectionFactoryCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MetaRareCollectionFactoryTransactor is an auto generated write-only Go binding around an Ethereum contract. type MetaRareCollectionFactoryTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MetaRareCollectionFactoryFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type MetaRareCollectionFactoryFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MetaRareCollectionFactorySession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type MetaRareCollectionFactorySession struct { Contract *MetaRareCollectionFactory // 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 } // MetaRareCollectionFactoryCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type MetaRareCollectionFactoryCallerSession struct { Contract *MetaRareCollectionFactoryCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // MetaRareCollectionFactoryTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type MetaRareCollectionFactoryTransactorSession struct { Contract *MetaRareCollectionFactoryTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // MetaRareCollectionFactoryRaw is an auto generated low-level Go binding around an Ethereum contract. type MetaRareCollectionFactoryRaw struct { Contract *MetaRareCollectionFactory // Generic contract binding to access the raw methods on } // MetaRareCollectionFactoryCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type MetaRareCollectionFactoryCallerRaw struct { Contract *MetaRareCollectionFactoryCaller // Generic read-only contract binding to access the raw methods on } // MetaRareCollectionFactoryTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type MetaRareCollectionFactoryTransactorRaw struct { Contract *MetaRareCollectionFactoryTransactor // Generic write-only contract binding to access the raw methods on } // NewMetaRareCollectionFactory creates a new instance of MetaRareCollectionFactory, bound to a specific deployed contract. func NewMetaRareCollectionFactory(address common.Address, backend bind.ContractBackend) (*MetaRareCollectionFactory, error) { contract, err := bindMetaRareCollectionFactory(address, backend, backend, backend) if err != nil { return nil, err } return &MetaRareCollectionFactory{MetaRareCollectionFactoryCaller: MetaRareCollectionFactoryCaller{contract: contract}, MetaRareCollectionFactoryTransactor: MetaRareCollectionFactoryTransactor{contract: contract}, MetaRareCollectionFactoryFilterer: MetaRareCollectionFactoryFilterer{contract: contract}}, nil } // NewMetaRareCollectionFactoryCaller creates a new read-only instance of MetaRareCollectionFactory, bound to a specific deployed contract. func NewMetaRareCollectionFactoryCaller(address common.Address, caller bind.ContractCaller) (*MetaRareCollectionFactoryCaller, error) { contract, err := bindMetaRareCollectionFactory(address, caller, nil, nil) if err != nil { return nil, err } return &MetaRareCollectionFactoryCaller{contract: contract}, nil } // NewMetaRareCollectionFactoryTransactor creates a new write-only instance of MetaRareCollectionFactory, bound to a specific deployed contract. func NewMetaRareCollectionFactoryTransactor(address common.Address, transactor bind.ContractTransactor) (*MetaRareCollectionFactoryTransactor, error) { contract, err := bindMetaRareCollectionFactory(address, nil, transactor, nil) if err != nil { return nil, err } return &MetaRareCollectionFactoryTransactor{contract: contract}, nil } // NewMetaRareCollectionFactoryFilterer creates a new log filterer instance of MetaRareCollectionFactory, bound to a specific deployed contract. func NewMetaRareCollectionFactoryFilterer(address common.Address, filterer bind.ContractFilterer) (*MetaRareCollectionFactoryFilterer, error) { contract, err := bindMetaRareCollectionFactory(address, nil, nil, filterer) if err != nil { return nil, err } return &MetaRareCollectionFactoryFilterer{contract: contract}, nil } // bindMetaRareCollectionFactory binds a generic wrapper to an already deployed contract. func bindMetaRareCollectionFactory(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(MetaRareCollectionFactoryABI)) 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 (_MetaRareCollectionFactory *MetaRareCollectionFactoryRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _MetaRareCollectionFactory.Contract.MetaRareCollectionFactoryCaller.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 (_MetaRareCollectionFactory *MetaRareCollectionFactoryRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _MetaRareCollectionFactory.Contract.MetaRareCollectionFactoryTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _MetaRareCollectionFactory.Contract.MetaRareCollectionFactoryTransactor.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 (_MetaRareCollectionFactory *MetaRareCollectionFactoryCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _MetaRareCollectionFactory.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 (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _MetaRareCollectionFactory.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _MetaRareCollectionFactory.Contract.contract.Transact(opts, method, params...) } // CreateMetaRareERC1155Collection is a paid mutator transaction binding the contract method 0xce5216cf. // // Solidity: function CreateMetaRareERC1155Collection(string name, string symbol, string uri, address OperatorContract) returns() func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactor) CreateMetaRareERC1155Collection(opts *bind.TransactOpts, name string, symbol string, uri string, OperatorContract common.Address) (*types.Transaction, error) { return _MetaRareCollectionFactory.contract.Transact(opts, "CreateMetaRareERC1155Collection", name, symbol, uri, OperatorContract) } // CreateMetaRareERC1155Collection is a paid mutator transaction binding the contract method 0xce5216cf. // // Solidity: function CreateMetaRareERC1155Collection(string name, string symbol, string uri, address OperatorContract) returns() func (_MetaRareCollectionFactory *MetaRareCollectionFactorySession) CreateMetaRareERC1155Collection(name string, symbol string, uri string, OperatorContract common.Address) (*types.Transaction, error) { return _MetaRareCollectionFactory.Contract.CreateMetaRareERC1155Collection(&_MetaRareCollectionFactory.TransactOpts, name, symbol, uri, OperatorContract) } // CreateMetaRareERC1155Collection is a paid mutator transaction binding the contract method 0xce5216cf. // // Solidity: function CreateMetaRareERC1155Collection(string name, string symbol, string uri, address OperatorContract) returns() func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactorSession) CreateMetaRareERC1155Collection(name string, symbol string, uri string, OperatorContract common.Address) (*types.Transaction, error) { return _MetaRareCollectionFactory.Contract.CreateMetaRareERC1155Collection(&_MetaRareCollectionFactory.TransactOpts, name, symbol, uri, OperatorContract) } // CreateMetaRareERC721Collection is a paid mutator transaction binding the contract method 0x5167cf80. // // Solidity: function CreateMetaRareERC721Collection(string name, string symbol, string baseURI, address OperatorContract) returns() func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactor) CreateMetaRareERC721Collection(opts *bind.TransactOpts, name string, symbol string, baseURI string, OperatorContract common.Address) (*types.Transaction, error) { return _MetaRareCollectionFactory.contract.Transact(opts, "CreateMetaRareERC721Collection", name, symbol, baseURI, OperatorContract) } // CreateMetaRareERC721Collection is a paid mutator transaction binding the contract method 0x5167cf80. // // Solidity: function CreateMetaRareERC721Collection(string name, string symbol, string baseURI, address OperatorContract) returns() func (_MetaRareCollectionFactory *MetaRareCollectionFactorySession) CreateMetaRareERC721Collection(name string, symbol string, baseURI string, OperatorContract common.Address) (*types.Transaction, error) { return _MetaRareCollectionFactory.Contract.CreateMetaRareERC721Collection(&_MetaRareCollectionFactory.TransactOpts, name, symbol, baseURI, OperatorContract) } // CreateMetaRareERC721Collection is a paid mutator transaction binding the contract method 0x5167cf80. // // Solidity: function CreateMetaRareERC721Collection(string name, string symbol, string baseURI, address OperatorContract) returns() func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactorSession) CreateMetaRareERC721Collection(name string, symbol string, baseURI string, OperatorContract common.Address) (*types.Transaction, error) { return _MetaRareCollectionFactory.Contract.CreateMetaRareERC721Collection(&_MetaRareCollectionFactory.TransactOpts, name, symbol, baseURI, OperatorContract) } // MetaRareCollectionFactoryCreateERC1155CollectionIterator is returned from FilterCreateERC1155Collection and is used to iterate over the raw logs and unpacked data for CreateERC1155Collection events raised by the MetaRareCollectionFactory contract. type MetaRareCollectionFactoryCreateERC1155CollectionIterator struct { Event *MetaRareCollectionFactoryCreateERC1155Collection // 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 *MetaRareCollectionFactoryCreateERC1155CollectionIterator) 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(MetaRareCollectionFactoryCreateERC1155Collection) 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(MetaRareCollectionFactoryCreateERC1155Collection) 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 *MetaRareCollectionFactoryCreateERC1155CollectionIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MetaRareCollectionFactoryCreateERC1155CollectionIterator) Close() error { it.sub.Unsubscribe() return nil } // MetaRareCollectionFactoryCreateERC1155Collection represents a CreateERC1155Collection event raised by the MetaRareCollectionFactory contract. type MetaRareCollectionFactoryCreateERC1155Collection struct { Collection common.Address Raw types.Log // Blockchain specific contextual infos } // FilterCreateERC1155Collection is a free log retrieval operation binding the contract event 0x0d3de3f5754e9b4e85f7c08370a9ee6420616bddaa78ece20378473b8de69792. // // Solidity: event CreateERC1155Collection(address collection) func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) FilterCreateERC1155Collection(opts *bind.FilterOpts) (*MetaRareCollectionFactoryCreateERC1155CollectionIterator, error) { logs, sub, err := _MetaRareCollectionFactory.contract.FilterLogs(opts, "CreateERC1155Collection") if err != nil { return nil, err } return &MetaRareCollectionFactoryCreateERC1155CollectionIterator{contract: _MetaRareCollectionFactory.contract, event: "CreateERC1155Collection", logs: logs, sub: sub}, nil } // WatchCreateERC1155Collection is a free log subscription operation binding the contract event 0x0d3de3f5754e9b4e85f7c08370a9ee6420616bddaa78ece20378473b8de69792. // // Solidity: event CreateERC1155Collection(address collection) func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) WatchCreateERC1155Collection(opts *bind.WatchOpts, sink chan<- *MetaRareCollectionFactoryCreateERC1155Collection) (event.Subscription, error) { logs, sub, err := _MetaRareCollectionFactory.contract.WatchLogs(opts, "CreateERC1155Collection") 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(MetaRareCollectionFactoryCreateERC1155Collection) if err := _MetaRareCollectionFactory.contract.UnpackLog(event, "CreateERC1155Collection", 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 } // ParseCreateERC1155Collection is a log parse operation binding the contract event 0x0d3de3f5754e9b4e85f7c08370a9ee6420616bddaa78ece20378473b8de69792. // // Solidity: event CreateERC1155Collection(address collection) func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) ParseCreateERC1155Collection(log types.Log) (*MetaRareCollectionFactoryCreateERC1155Collection, error) { event := new(MetaRareCollectionFactoryCreateERC1155Collection) if err := _MetaRareCollectionFactory.contract.UnpackLog(event, "CreateERC1155Collection", log); err != nil { return nil, err } event.Raw = log return event, nil } // MetaRareCollectionFactoryCreateERC721CollectionIterator is returned from FilterCreateERC721Collection and is used to iterate over the raw logs and unpacked data for CreateERC721Collection events raised by the MetaRareCollectionFactory contract. type MetaRareCollectionFactoryCreateERC721CollectionIterator struct { Event *MetaRareCollectionFactoryCreateERC721Collection // 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 *MetaRareCollectionFactoryCreateERC721CollectionIterator) 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(MetaRareCollectionFactoryCreateERC721Collection) 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(MetaRareCollectionFactoryCreateERC721Collection) 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 *MetaRareCollectionFactoryCreateERC721CollectionIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MetaRareCollectionFactoryCreateERC721CollectionIterator) Close() error { it.sub.Unsubscribe() return nil } // MetaRareCollectionFactoryCreateERC721Collection represents a CreateERC721Collection event raised by the MetaRareCollectionFactory contract. type MetaRareCollectionFactoryCreateERC721Collection struct { Collection common.Address Raw types.Log // Blockchain specific contextual infos } // FilterCreateERC721Collection is a free log retrieval operation binding the contract event 0xd6d8f7b07325e6b897eeb15a60d044c62db3616c8c636fca706fb22e3bc656f5. // // Solidity: event CreateERC721Collection(address collection) func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) FilterCreateERC721Collection(opts *bind.FilterOpts) (*MetaRareCollectionFactoryCreateERC721CollectionIterator, error) { logs, sub, err := _MetaRareCollectionFactory.contract.FilterLogs(opts, "CreateERC721Collection") if err != nil { return nil, err } return &MetaRareCollectionFactoryCreateERC721CollectionIterator{contract: _MetaRareCollectionFactory.contract, event: "CreateERC721Collection", logs: logs, sub: sub}, nil } // WatchCreateERC721Collection is a free log subscription operation binding the contract event 0xd6d8f7b07325e6b897eeb15a60d044c62db3616c8c636fca706fb22e3bc656f5. // // Solidity: event CreateERC721Collection(address collection) func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) WatchCreateERC721Collection(opts *bind.WatchOpts, sink chan<- *MetaRareCollectionFactoryCreateERC721Collection) (event.Subscription, error) { logs, sub, err := _MetaRareCollectionFactory.contract.WatchLogs(opts, "CreateERC721Collection") 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(MetaRareCollectionFactoryCreateERC721Collection) if err := _MetaRareCollectionFactory.contract.UnpackLog(event, "CreateERC721Collection", 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 } // ParseCreateERC721Collection is a log parse operation binding the contract event 0xd6d8f7b07325e6b897eeb15a60d044c62db3616c8c636fca706fb22e3bc656f5. // // Solidity: event CreateERC721Collection(address collection) func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) ParseCreateERC721Collection(log types.Log) (*MetaRareCollectionFactoryCreateERC721Collection, error) { event := new(MetaRareCollectionFactoryCreateERC721Collection) if err := _MetaRareCollectionFactory.contract.UnpackLog(event, "CreateERC721Collection", log); err != nil { return nil, err } event.Raw = log return event, nil } // MetaRareERC1155CollectionMetaData contains all meta data concerning the MetaRareERC1155Collection contract. var MetaRareERC1155CollectionMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"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\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"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\":\"MetaRareOperator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_quantities\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"batchMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collectionFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_initialOwner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"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\":\"address\",\"name\":\"_initialOwner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"createByOperator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"creators\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"customUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"collectionOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operatorContract\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOperator\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"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\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"}],\"name\":\"setCreator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_newURI\",\"type\":\"string\"}],\"name\":\"setCustomURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_newURI\",\"type\":\"string\"}],\"name\":\"setURI\",\"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\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferOnlyOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "6585690d": "MetaRareOperator()", "00fdd58e": "balanceOf(address,uint256)", "4e1273f4": "balanceOfBatch(address[],uint256[])", "b48ab8b6": "batchMint(address,uint256[],uint256[],bytes)", "cf25a2fd": "collectionFactory()", "36a100d5": "create(address,uint256,uint256,string,bytes)", "61321c14": "createByOperator(address,uint256,uint256,string,bytes)", "cd53d08e": "creators(uint256)", "8a28a5a2": "customUri(uint256)", "4f558e79": "exists(uint256)", "d6d0faee": "initialize(string,string,string,address,address)", "e985e9c5": "isApprovedForAll(address,address)", "731133e9": "mint(address,uint256,uint256,bytes)", "06fdde03": "name()", "8da5cb5b": "owner()", "715018a6": "renounceOwnership()", "2eb2c2d6": "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)", "f242432a": "safeTransferFrom(address,address,uint256,uint256,bytes)", "a22cb465": "setApprovalForAll(address,bool)", "d2a6b51a": "setCreator(address,uint256[])", "3adf80b4": "setCustomURI(uint256,string)", "02fe5305": "setURI(string)", "01ffc9a7": "supportsInterface(bytes4)", "95d89b41": "symbol()", "2693ebf2": "tokenSupply(uint256)", "bd85b039": "totalSupply(uint256)", "7c7ae4d1": "transferOnlyOperator(address,address,uint256,uint256)", "f2fde38b": "transferOwnership(address)", "0e89341c": "uri(uint256)", }, Bin: "0x60806040523480156200001157600080fd5b506040805180820190915260048152635f75726960e01b6020820152620000388162000065565b506200004d620000476200007e565b62000082565b600480546001600160a01b03191633179055620001b7565b80516200007a906002906020840190620000d4565b5050565b3390565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620000e2906200017a565b90600052602060002090601f01602090048101928262000106576000855562000151565b82601f106200012157805160ff191683800117855562000151565b8280016001018555821562000151579182015b828111156200015157825182559160200191906001019062000134565b506200015f92915062000163565b5090565b5b808211156200015f576000815560010162000164565b6002810460018216806200018f57607f821691505b60208210811415620001b157634e487b7160e01b600052602260045260246000fd5b50919050565b612a6080620001c76000396000f3fe608060405234801561001057600080fd5b50600436106101ce5760003560e01c8063731133e911610104578063bd85b039116100a2578063d6d0faee11610071578063d6d0faee146103b8578063e985e9c5146103cb578063f242432a146103de578063f2fde38b146103f1576101ce565b8063bd85b03914610377578063cd53d08e1461038a578063cf25a2fd1461039d578063d2a6b51a146103a5576101ce565b80638da5cb5b116100de5780638da5cb5b1461034157806395d89b4114610349578063a22cb46514610351578063b48ab8b614610364576101ce565b8063731133e9146103085780637c7ae4d11461031b5780638a28a5a21461032e576101ce565b806336a100d5116101715780634f558e791161014b5780634f558e79146102c557806361321c14146102d85780636585690d146102eb578063715018a614610300576101ce565b806336a100d51461027f5780633adf80b4146102925780634e1273f4146102a5576101ce565b806306fdde03116101ad57806306fdde03146102315780630e89341c146102465780632693ebf2146102595780632eb2c2d61461026c576101ce565b8062fdd58e146101d357806301ffc9a7146101fc57806302fe53051461021c575b600080fd5b6101e66101e1366004611e1e565b610404565b6040516101f39190612872565b60405180910390f35b61020f61020a366004611fac565b61045b565b6040516101f39190612292565b61022f61022a366004611fe4565b6104a3565b005b6102396104ee565b6040516101f3919061229d565b6102396102543660046120c3565b61057c565b6101e66102673660046120c3565b6106fc565b61022f61027a366004611bbd565b61070e565b6101e661028d366004611e99565b61076c565b61022f6102a03660046120db565b61088a565b6102b86102b3366004611eee565b610929565b6040516101f39190612251565b61020f6102d33660046120c3565b610a48565b6101e66102e6366004611e99565b610a53565b6102f3610af3565b6040516101f3919061219a565b61022f610b02565b61022f610316366004611e47565b610b4d565b61022f610329366004611c62565b610bcd565b61023961033c3660046120c3565b610c09565b6102f3610c22565b610239610c32565b61022f61035f366004611de4565b610c3f565b61022f610372366004611d50565b610c55565b6101e66103853660046120c3565b610d53565b6102f36103983660046120c3565b610d65565b6102f3610d80565b61022f6103b3366004611d05565b610d8f565b61022f6103c636600461201e565b610e0f565b61020f6103d9366004611b8b565b610e99565b61022f6103ec366004611ca3565b610eac565b61022f6103ff366004611b71565b610f03565b60006001600160a01b0383166104355760405162461bcd60e51b815260040161042c90612409565b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b148061048c57506001600160e01b031982166303a24d0760e21b145b8061049b575061049b82610f71565b90505b919050565b6104ab610f8a565b6001600160a01b03166104bc610c22565b6001600160a01b0316146104e25760405162461bcd60e51b815260040161042c9061264e565b6104eb81610f8e565b50565b600980546104fb906128c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610527906128c4565b80156105745780601f1061054957610100808354040283529160200191610574565b820191906000526020600020905b81548152906001019060200180831161055757829003601f168201915b505050505081565b606061058782610fa1565b6105a35760405162461bcd60e51b815260040161042c9061257a565b600082815260086020526040812080546105bc906128c4565b80601f01602080910402602001604051908101604052809291908181526020018280546105e8906128c4565b80156106355780601f1061060a57610100808354040283529160200191610635565b820191906000526020600020905b81548152906001019060200180831161061857829003601f168201915b505050505090506000815111156106e5576000838152600860205260409020805461065f906128c4565b80601f016020809104026020016040519081016040528092919081815260200182805461068b906128c4565b80156106d85780601f106106ad576101008083540402835291602001916106d8565b820191906000526020600020905b8154815290600101906020018083116106bb57829003601f168201915b505050505091505061049e565b6106ee83610fbe565b91505061049e565b50919050565b60076020526000908152604090205481565b610716610f8a565b6001600160a01b0316856001600160a01b0316148061073c575061073c856103d9610f8a565b6107585760405162461bcd60e51b815260040161042c90612528565b6107658585858585611052565b5050505050565b6000610776610f8a565b6001600160a01b0316610787610c22565b6001600160a01b0316146107ad5760405162461bcd60e51b815260040161042c9061264e565b6107b685610fa1565b156107d35760405162461bcd60e51b815260040161042c90612304565b6107db610f8a565b600086815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055825115610867576000858152600860209081526040909120845161082d928601906119e1565b50847f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b8460405161085e919061229d565b60405180910390a25b61087386868685611223565b505050600082815260076020526040902055919050565b81610893610f8a565b6000828152600660205260409020546001600160a01b039081169116146108cc5760405162461bcd60e51b815260040161042c906127ea565b600083815260086020908152604090912083516108eb928501906119e1565b50827f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b8360405161091c919061229d565b60405180910390a2505050565b6060815183511461094c5760405162461bcd60e51b815260040161042c90612718565b600083516001600160401b0381111561097557634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561099e578160200160208202803683370190505b50905060005b8451811015610a4057610a058582815181106109d057634e487b7160e01b600052603260045260246000fd5b60200260200101518583815181106109f857634e487b7160e01b600052603260045260246000fd5b6020026020010151610404565b828281518110610a2557634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610a3981612925565b90506109a4565b509392505050565b600061049b82610fa1565b6005546000906001600160a01b03163314610a805760405162461bcd60e51b815260040161042c90612383565b610a8985610fa1565b15610aa65760405162461bcd60e51b815260040161042c90612304565b600085815260066020526040902080546001600160a01b0319166001600160a01b038816179055825115610867576000858152600860209081526040909120845161082d928601906119e1565b6005546001600160a01b031681565b610b0a610f8a565b6001600160a01b0316610b1b610c22565b6001600160a01b031614610b415760405162461bcd60e51b815260040161042c9061264e565b610b4b6000611312565b565b82610b56610f8a565b6000828152600660205260409020546001600160a01b03908116911614610b8f5760405162461bcd60e51b815260040161042c906127ea565b610b9b85858585611223565b600084815260076020526040902054610bb49084611364565b6000948552600760205260409094209390935550505050565b6005546001600160a01b03163314610bf75760405162461bcd60e51b815260040161042c9061260a565b610c0384848484611370565b50505050565b600860205260009081526040902080546104fb906128c4565b6003546001600160a01b03165b90565b600a80546104fb906128c4565b610c51610c4a610f8a565b838361138c565b5050565b60005b8351811015610d46576000848281518110610c8357634e487b7160e01b600052603260045260246000fd5b60200260200101519050610c95610f8a565b6000828152600660205260409020546001600160a01b03908116911614610cce5760405162461bcd60e51b815260040161042c906123ba565b6000848381518110610cf057634e487b7160e01b600052603260045260246000fd5b60200260200101519050610d2081600760008581526020019081526020016000205461136490919063ffffffff16565b600092835260076020526040909220919091555080610d3e81612925565b915050610c58565b50610c038484848461142f565b60009081526007602052604090205490565b6006602052600090815260409020546001600160a01b031681565b6004546001600160a01b031681565b6001600160a01b038216610db55760405162461bcd60e51b815260040161042c90612683565b60005b8151811015610e0a576000828281518110610de357634e487b7160e01b600052603260045260246000fd5b60200260200101519050610df784826115b0565b5080610e0281612925565b915050610db8565b505050565b6004546001600160a01b03163314610e395760405162461bcd60e51b815260040161042c9061283b565b8451610e4c9060099060208801906119e1565b508351610e6090600a9060208701906119e1565b50610e6a83610f8e565b600580546001600160a01b0319166001600160a01b038316179055610e8e82610f03565b610765816001610c3f565b6000610ea58383611621565b9392505050565b610eb4610f8a565b6001600160a01b0316856001600160a01b03161480610eda5750610eda856103d9610f8a565b610ef65760405162461bcd60e51b815260040161042c9061249a565b610765858585858561164f565b610f0b610f8a565b6001600160a01b0316610f1c610c22565b6001600160a01b031614610f425760405162461bcd60e51b815260040161042c9061264e565b6001600160a01b038116610f685760405162461bcd60e51b815260040161042c90612454565b6104eb81611312565b6001600160e01b031981166301ffc9a760e01b14919050565b3390565b8051610c519060029060208401906119e1565b6000908152600660205260409020546001600160a01b0316151590565b606060028054610fcd906128c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff9906128c4565b80156110465780601f1061101b57610100808354040283529160200191611046565b820191906000526020600020905b81548152906001019060200180831161102957829003601f168201915b50505050509050919050565b81518351146110735760405162461bcd60e51b815260040161042c90612761565b6001600160a01b0384166110995760405162461bcd60e51b815260040161042c906124e3565b60006110a3610f8a565b90506110b381878787878761121b565b60005b84518110156111b55760008582815181106110e157634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085838151811061110d57634e487b7160e01b600052603260045260246000fd5b602090810291909101810151600084815280835260408082206001600160a01b038e16835290935291909120549091508181101561115d5760405162461bcd60e51b815260040161042c906125c0565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b1682528120805484929061119a9084906128ac565b92505081905550505050806111ae90612925565b90506110b6565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611205929190612264565b60405180910390a461121b818787878787611783565b505050505050565b6001600160a01b0384166112495760405162461bcd60e51b815260040161042c906127a9565b6000611253610f8a565b905061127481600087611265886118a8565b61126e886118a8565b8761121b565b6000848152602081815260408083206001600160a01b0389168452909152812080548592906112a49084906128ac565b92505081905550846001600160a01b031660006001600160a01b0316826001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6287876040516112fb92919061287b565b60405180910390a461076581600087878787611901565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610ea582846128ac565b610c03848484846040518060200160405280600081525061164f565b816001600160a01b0316836001600160a01b031614156113be5760405162461bcd60e51b815260040161042c906126cf565b6001600160a01b0383811660008181526001602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190611422908590612292565b60405180910390a3505050565b6001600160a01b0384166114555760405162461bcd60e51b815260040161042c906127a9565b81518351146114765760405162461bcd60e51b815260040161042c90612761565b6000611480610f8a565b90506114918160008787878761121b565b60005b8451811015611548578381815181106114bd57634e487b7160e01b600052603260045260246000fd5b60200260200101516000808784815181106114e857634e487b7160e01b600052603260045260246000fd5b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b03168152602001908152602001600020600082825461153091906128ac565b9091555081905061154081612925565b915050611494565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611599929190612264565b60405180910390a461076581600087878787611783565b806115b9610f8a565b6000828152600660205260409020546001600160a01b039081169116146115f25760405162461bcd60e51b815260040161042c906127ea565b50600090815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b6001600160a01b0384166116755760405162461bcd60e51b815260040161042c906124e3565b600061167f610f8a565b9050611690818787611265886118a8565b6000848152602081815260408083206001600160a01b038a168452909152902054838110156116d15760405162461bcd60e51b815260040161042c906125c0565b6000858152602081815260408083206001600160a01b038b811685529252808320878503905590881682528120805486929061170e9084906128ac565b92505081905550856001600160a01b0316876001600160a01b0316836001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62888860405161176492919061287b565b60405180910390a461177a828888888888611901565b50505050505050565b611795846001600160a01b03166119d2565b1561121b5760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906117ce90899089908890889088906004016121ae565b602060405180830381600087803b1580156117e857600080fd5b505af1925050508015611818575060408051601f3d908101601f1916820190925261181591810190611fc8565b60015b6118785761182461296c565b806308c379a0141561185e5750611839612983565b806118445750611860565b8060405162461bcd60e51b815260040161042c919061229d565b505b60405162461bcd60e51b815260040161042c906122b0565b6001600160e01b0319811663bc197c8160e01b1461177a5760405162461bcd60e51b815260040161042c9061233b565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106118f057634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b611913846001600160a01b03166119d2565b1561121b5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e619061194c908990899088908890889060040161220c565b602060405180830381600087803b15801561196657600080fd5b505af1925050508015611996575060408051601f3d908101601f1916820190925261199391810190611fc8565b60015b6119a25761182461296c565b6001600160e01b0319811663f23a6e6160e01b1461177a5760405162461bcd60e51b815260040161042c9061233b565b6001600160a01b03163b151590565b8280546119ed906128c4565b90600052602060002090601f016020900481019282611a0f5760008555611a55565b82601f10611a2857805160ff1916838001178555611a55565b82800160010185558215611a55579182015b82811115611a55578251825591602001919060010190611a3a565b50611a61929150611a65565b5090565b5b80821115611a615760008155600101611a66565b80356001600160a01b038116811461049e57600080fd5b600082601f830112611aa1578081fd5b81356020611aae82612889565b604051611abb82826128f9565b838152828101915085830183850287018401881015611ad8578586fd5b855b85811015611af657813584529284019290840190600101611ada565b5090979650505050505050565b600082601f830112611b13578081fd5b81356001600160401b03811115611b2c57611b2c612956565b604051611b43601f8301601f1916602001826128f9565b818152846020838601011115611b57578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215611b82578081fd5b610ea582611a7a565b60008060408385031215611b9d578081fd5b611ba683611a7a565b9150611bb460208401611a7a565b90509250929050565b600080600080600060a08688031215611bd4578081fd5b611bdd86611a7a565b9450611beb60208701611a7a565b935060408601356001600160401b0380821115611c06578283fd5b611c1289838a01611a91565b94506060880135915080821115611c27578283fd5b611c3389838a01611a91565b93506080880135915080821115611c48578283fd5b50611c5588828901611b03565b9150509295509295909350565b60008060008060808587031215611c77578384fd5b611c8085611a7a565b9350611c8e60208601611a7a565b93969395505050506040820135916060013590565b600080600080600060a08688031215611cba578081fd5b611cc386611a7a565b9450611cd160208701611a7a565b9350604086013592506060860135915060808601356001600160401b03811115611cf9578182fd5b611c5588828901611b03565b60008060408385031215611d17578182fd5b611d2083611a7a565b915060208301356001600160401b03811115611d3a578182fd5b611d4685828601611a91565b9150509250929050565b60008060008060808587031215611d65578384fd5b611d6e85611a7a565b935060208501356001600160401b0380821115611d89578485fd5b611d9588838901611a91565b94506040870135915080821115611daa578384fd5b611db688838901611a91565b93506060870135915080821115611dcb578283fd5b50611dd887828801611b03565b91505092959194509250565b60008060408385031215611df6578182fd5b611dff83611a7a565b915060208301358015158114611e13578182fd5b809150509250929050565b60008060408385031215611e30578182fd5b611e3983611a7a565b946020939093013593505050565b60008060008060808587031215611e5c578182fd5b611e6585611a7a565b9350602085013592506040850135915060608501356001600160401b03811115611e8d578182fd5b611dd887828801611b03565b600080600080600060a08688031215611eb0578283fd5b611eb986611a7a565b9450602086013593506040860135925060608601356001600160401b0380821115611ee2578283fd5b611c3389838a01611b03565b60008060408385031215611f00578182fd5b82356001600160401b0380821115611f16578384fd5b818501915085601f830112611f29578384fd5b81356020611f3682612889565b604051611f4382826128f9565b8381528281019150858301838502870184018b1015611f60578889fd5b8896505b84871015611f8957611f7581611a7a565b835260019690960195918301918301611f64565b5096505086013592505080821115611f9f578283fd5b50611d4685828601611a91565b600060208284031215611fbd578081fd5b8135610ea581612a14565b600060208284031215611fd9578081fd5b8151610ea581612a14565b600060208284031215611ff5578081fd5b81356001600160401b0381111561200a578182fd5b61201684828501611b03565b949350505050565b600080600080600060a08688031215612035578283fd5b85356001600160401b038082111561204b578485fd5b61205789838a01611b03565b9650602088013591508082111561206c578485fd5b61207889838a01611b03565b9550604088013591508082111561208d578485fd5b5061209a88828901611b03565b9350506120a960608701611a7a565b91506120b760808701611a7a565b90509295509295909350565b6000602082840312156120d4578081fd5b5035919050565b600080604083850312156120ed578182fd5b8235915060208301356001600160401b03811115612109578182fd5b611d4685828601611b03565b6000815180845260208085019450808401835b8381101561214457815187529582019590820190600101612128565b509495945050505050565b60008151808452815b8181101561217457602081850181015186830182015201612158565b818111156121855782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0386811682528516602082015260a0604082018190526000906121da90830186612115565b82810360608401526121ec8186612115565b90508281036080840152612200818561214f565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906122469083018461214f565b979650505050505050565b600060208252610ea56020830184612115565b6000604082526122776040830185612115565b82810360208401526122898185612115565b95945050505050565b901515815260200190565b600060208252610ea5602083018461214f565b60208082526034908201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356040820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606082015260800190565b60208082526018908201527f746f6b656e205f696420616c7265616479206578697374730000000000000000604082015260600190565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6020808252601d908201527f43616e6e6f742063616c6c6564206279206e6f74206f70657261746f72000000604082015260600190565b6020808252602f908201527f455243313135355472616461626c652362617463684d696e743a204f4e4c595f60408201526e10d491505513d497d0531313d5d151608a1b606082015260800190565b6020808252602b908201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60408201526a65726f206164647265737360a81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526029908201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260408201526808185c1c1c9bdd995960ba1b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526032908201527f455243313135353a207472616e736665722063616c6c6572206973206e6f74206040820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b606082015260800190565b60208082526026908201527f455243313135355472616461626c65237572693a204e4f4e4558495354454e546040820152652faa27a5a2a760d11b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60208082526024908201527f4f7065726174726f6e206f6e6c792063616e2075736520746869732066756e636040820152633a34b7b760e11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c908201527f455243313135355472616461626c652373657443726561746f723a20494e564160408201526b2624a22fa0a2222922a9a99760a11b606082015260800190565b60208082526029908201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604082015268103337b91039b2b63360b91b606082015260800190565b60208082526029908201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604082015268040dad2e6dac2e8c6d60bb1b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526031908201527f455243313135355472616461626c652363726561746f724f6e6c793a204f4e4c6040820152701657d0d491505513d497d0531313d5d151607a1b606082015260800190565b6020808252601d908201527f455243313135353a20494e495449414c495a4520464f5242494444454e000000604082015260600190565b90815260200190565b918252602082015260400190565b60006001600160401b038211156128a2576128a2612956565b5060209081020190565b600082198211156128bf576128bf612940565b500190565b6002810460018216806128d857607f821691505b602082108114156106f657634e487b7160e01b600052602260045260246000fd5b601f8201601f191681016001600160401b038111828210171561291e5761291e612956565b6040525050565b600060001982141561293957612939612940565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d1115610c2f57600481823e5160e01c90565b600060443d101561299357610c2f565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156129c4575050505050610c2f565b82850191508151818111156129de57505050505050610c2f565b843d87010160208285010111156129fa57505050505050610c2f565b612a09602082860101876128f9565b509094505050505090565b6001600160e01b0319811681146104eb57600080fdfea2646970667358221220f78e3718344884bd7316b6a520c284da62c9c926c0b9bc9b54ccad0bffa695d364736f6c63430008010033", } // MetaRareERC1155CollectionABI is the input ABI used to generate the binding from. // Deprecated: Use MetaRareERC1155CollectionMetaData.ABI instead. var MetaRareERC1155CollectionABI = MetaRareERC1155CollectionMetaData.ABI // Deprecated: Use MetaRareERC1155CollectionMetaData.Sigs instead. // MetaRareERC1155CollectionFuncSigs maps the 4-byte function signature to its string representation. var MetaRareERC1155CollectionFuncSigs = MetaRareERC1155CollectionMetaData.Sigs // MetaRareERC1155CollectionBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use MetaRareERC1155CollectionMetaData.Bin instead. var MetaRareERC1155CollectionBin = MetaRareERC1155CollectionMetaData.Bin // DeployMetaRareERC1155Collection deploys a new Ethereum contract, binding an instance of MetaRareERC1155Collection to it. func DeployMetaRareERC1155Collection(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *MetaRareERC1155Collection, error) { parsed, err := MetaRareERC1155CollectionMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(MetaRareERC1155CollectionBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &MetaRareERC1155Collection{MetaRareERC1155CollectionCaller: MetaRareERC1155CollectionCaller{contract: contract}, MetaRareERC1155CollectionTransactor: MetaRareERC1155CollectionTransactor{contract: contract}, MetaRareERC1155CollectionFilterer: MetaRareERC1155CollectionFilterer{contract: contract}}, nil } // MetaRareERC1155Collection is an auto generated Go binding around an Ethereum contract. type MetaRareERC1155Collection struct { MetaRareERC1155CollectionCaller // Read-only binding to the contract MetaRareERC1155CollectionTransactor // Write-only binding to the contract MetaRareERC1155CollectionFilterer // Log filterer for contract events } // MetaRareERC1155CollectionCaller is an auto generated read-only Go binding around an Ethereum contract. type MetaRareERC1155CollectionCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MetaRareERC1155CollectionTransactor is an auto generated write-only Go binding around an Ethereum contract. type MetaRareERC1155CollectionTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MetaRareERC1155CollectionFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type MetaRareERC1155CollectionFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MetaRareERC1155CollectionSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type MetaRareERC1155CollectionSession struct { Contract *MetaRareERC1155Collection // 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 } // MetaRareERC1155CollectionCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type MetaRareERC1155CollectionCallerSession struct { Contract *MetaRareERC1155CollectionCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // MetaRareERC1155CollectionTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type MetaRareERC1155CollectionTransactorSession struct { Contract *MetaRareERC1155CollectionTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // MetaRareERC1155CollectionRaw is an auto generated low-level Go binding around an Ethereum contract. type MetaRareERC1155CollectionRaw struct { Contract *MetaRareERC1155Collection // Generic contract binding to access the raw methods on } // MetaRareERC1155CollectionCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type MetaRareERC1155CollectionCallerRaw struct { Contract *MetaRareERC1155CollectionCaller // Generic read-only contract binding to access the raw methods on } // MetaRareERC1155CollectionTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type MetaRareERC1155CollectionTransactorRaw struct { Contract *MetaRareERC1155CollectionTransactor // Generic write-only contract binding to access the raw methods on } // NewMetaRareERC1155Collection creates a new instance of MetaRareERC1155Collection, bound to a specific deployed contract. func NewMetaRareERC1155Collection(address common.Address, backend bind.ContractBackend) (*MetaRareERC1155Collection, error) { contract, err := bindMetaRareERC1155Collection(address, backend, backend, backend) if err != nil { return nil, err } return &MetaRareERC1155Collection{MetaRareERC1155CollectionCaller: MetaRareERC1155CollectionCaller{contract: contract}, MetaRareERC1155CollectionTransactor: MetaRareERC1155CollectionTransactor{contract: contract}, MetaRareERC1155CollectionFilterer: MetaRareERC1155CollectionFilterer{contract: contract}}, nil } // NewMetaRareERC1155CollectionCaller creates a new read-only instance of MetaRareERC1155Collection, bound to a specific deployed contract. func NewMetaRareERC1155CollectionCaller(address common.Address, caller bind.ContractCaller) (*MetaRareERC1155CollectionCaller, error) { contract, err := bindMetaRareERC1155Collection(address, caller, nil, nil) if err != nil { return nil, err } return &MetaRareERC1155CollectionCaller{contract: contract}, nil } // NewMetaRareERC1155CollectionTransactor creates a new write-only instance of MetaRareERC1155Collection, bound to a specific deployed contract. func NewMetaRareERC1155CollectionTransactor(address common.Address, transactor bind.ContractTransactor) (*MetaRareERC1155CollectionTransactor, error) { contract, err := bindMetaRareERC1155Collection(address, nil, transactor, nil) if err != nil { return nil, err } return &MetaRareERC1155CollectionTransactor{contract: contract}, nil } // NewMetaRareERC1155CollectionFilterer creates a new log filterer instance of MetaRareERC1155Collection, bound to a specific deployed contract. func NewMetaRareERC1155CollectionFilterer(address common.Address, filterer bind.ContractFilterer) (*MetaRareERC1155CollectionFilterer, error) { contract, err := bindMetaRareERC1155Collection(address, nil, nil, filterer) if err != nil { return nil, err } return &MetaRareERC1155CollectionFilterer{contract: contract}, nil } // bindMetaRareERC1155Collection binds a generic wrapper to an already deployed contract. func bindMetaRareERC1155Collection(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(MetaRareERC1155CollectionABI)) 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 (_MetaRareERC1155Collection *MetaRareERC1155CollectionRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _MetaRareERC1155Collection.Contract.MetaRareERC1155CollectionCaller.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 (_MetaRareERC1155Collection *MetaRareERC1155CollectionRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.MetaRareERC1155CollectionTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.MetaRareERC1155CollectionTransactor.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 (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _MetaRareERC1155Collection.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 (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.contract.Transact(opts, method, params...) } // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d. // // Solidity: function MetaRareOperator() view returns(address) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) MetaRareOperator(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _MetaRareERC1155Collection.contract.Call(opts, &out, "MetaRareOperator") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d. // // Solidity: function MetaRareOperator() view returns(address) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) MetaRareOperator() (common.Address, error) { return _MetaRareERC1155Collection.Contract.MetaRareOperator(&_MetaRareERC1155Collection.CallOpts) } // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d. // // Solidity: function MetaRareOperator() view returns(address) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) MetaRareOperator() (common.Address, error) { return _MetaRareERC1155Collection.Contract.MetaRareOperator(&_MetaRareERC1155Collection.CallOpts) } // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e. // // Solidity: function balanceOf(address account, uint256 id) view returns(uint256) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) BalanceOf(opts *bind.CallOpts, account common.Address, id *big.Int) (*big.Int, error) { var out []interface{} err := _MetaRareERC1155Collection.contract.Call(opts, &out, "balanceOf", account, 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 account, uint256 id) view returns(uint256) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) { return _MetaRareERC1155Collection.Contract.BalanceOf(&_MetaRareERC1155Collection.CallOpts, account, id) } // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e. // // Solidity: function balanceOf(address account, uint256 id) view returns(uint256) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) { return _MetaRareERC1155Collection.Contract.BalanceOf(&_MetaRareERC1155Collection.CallOpts, account, id) } // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4. // // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[]) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) BalanceOfBatch(opts *bind.CallOpts, accounts []common.Address, ids []*big.Int) ([]*big.Int, error) { var out []interface{} err := _MetaRareERC1155Collection.contract.Call(opts, &out, "balanceOfBatch", accounts, 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[] accounts, uint256[] ids) view returns(uint256[]) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) { return _MetaRareERC1155Collection.Contract.BalanceOfBatch(&_MetaRareERC1155Collection.CallOpts, accounts, ids) } // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4. // // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[]) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) { return _MetaRareERC1155Collection.Contract.BalanceOfBatch(&_MetaRareERC1155Collection.CallOpts, accounts, ids) } // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd. // // Solidity: function collectionFactory() view returns(address) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) CollectionFactory(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _MetaRareERC1155Collection.contract.Call(opts, &out, "collectionFactory") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd. // // Solidity: function collectionFactory() view returns(address) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) CollectionFactory() (common.Address, error) { return _MetaRareERC1155Collection.Contract.CollectionFactory(&_MetaRareERC1155Collection.CallOpts) } // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd. // // Solidity: function collectionFactory() view returns(address) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) CollectionFactory() (common.Address, error) { return _MetaRareERC1155Collection.Contract.CollectionFactory(&_MetaRareERC1155Collection.CallOpts) } // Creators is a free data retrieval call binding the contract method 0xcd53d08e. // // Solidity: function creators(uint256 ) view returns(address) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Creators(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { var out []interface{} err := _MetaRareERC1155Collection.contract.Call(opts, &out, "creators", arg0) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // Creators is a free data retrieval call binding the contract method 0xcd53d08e. // // Solidity: function creators(uint256 ) view returns(address) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Creators(arg0 *big.Int) (common.Address, error) { return _MetaRareERC1155Collection.Contract.Creators(&_MetaRareERC1155Collection.CallOpts, arg0) } // Creators is a free data retrieval call binding the contract method 0xcd53d08e. // // Solidity: function creators(uint256 ) view returns(address) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Creators(arg0 *big.Int) (common.Address, error) { return _MetaRareERC1155Collection.Contract.Creators(&_MetaRareERC1155Collection.CallOpts, arg0) } // CustomUri is a free data retrieval call binding the contract method 0x8a28a5a2. // // Solidity: function customUri(uint256 ) view returns(string) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) CustomUri(opts *bind.CallOpts, arg0 *big.Int) (string, error) { var out []interface{} err := _MetaRareERC1155Collection.contract.Call(opts, &out, "customUri", arg0) if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // CustomUri is a free data retrieval call binding the contract method 0x8a28a5a2. // // Solidity: function customUri(uint256 ) view returns(string) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) CustomUri(arg0 *big.Int) (string, error) { return _MetaRareERC1155Collection.Contract.CustomUri(&_MetaRareERC1155Collection.CallOpts, arg0) } // CustomUri is a free data retrieval call binding the contract method 0x8a28a5a2. // // Solidity: function customUri(uint256 ) view returns(string) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) CustomUri(arg0 *big.Int) (string, error) { return _MetaRareERC1155Collection.Contract.CustomUri(&_MetaRareERC1155Collection.CallOpts, arg0) } // Exists is a free data retrieval call binding the contract method 0x4f558e79. // // Solidity: function exists(uint256 _id) view returns(bool) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Exists(opts *bind.CallOpts, _id *big.Int) (bool, error) { var out []interface{} err := _MetaRareERC1155Collection.contract.Call(opts, &out, "exists", _id) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // Exists is a free data retrieval call binding the contract method 0x4f558e79. // // Solidity: function exists(uint256 _id) view returns(bool) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Exists(_id *big.Int) (bool, error) { return _MetaRareERC1155Collection.Contract.Exists(&_MetaRareERC1155Collection.CallOpts, _id) } // Exists is a free data retrieval call binding the contract method 0x4f558e79. // // Solidity: function exists(uint256 _id) view returns(bool) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Exists(_id *big.Int) (bool, error) { return _MetaRareERC1155Collection.Contract.Exists(&_MetaRareERC1155Collection.CallOpts, _id) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool isOperator) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) IsApprovedForAll(opts *bind.CallOpts, _owner common.Address, _operator common.Address) (bool, error) { var out []interface{} err := _MetaRareERC1155Collection.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 isOperator) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) IsApprovedForAll(_owner common.Address, _operator common.Address) (bool, error) { return _MetaRareERC1155Collection.Contract.IsApprovedForAll(&_MetaRareERC1155Collection.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 isOperator) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) IsApprovedForAll(_owner common.Address, _operator common.Address) (bool, error) { return _MetaRareERC1155Collection.Contract.IsApprovedForAll(&_MetaRareERC1155Collection.CallOpts, _owner, _operator) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Name(opts *bind.CallOpts) (string, error) { var out []interface{} err := _MetaRareERC1155Collection.contract.Call(opts, &out, "name") if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Name() (string, error) { return _MetaRareERC1155Collection.Contract.Name(&_MetaRareERC1155Collection.CallOpts) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Name() (string, error) { return _MetaRareERC1155Collection.Contract.Name(&_MetaRareERC1155Collection.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Owner(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _MetaRareERC1155Collection.contract.Call(opts, &out, "owner") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Owner() (common.Address, error) { return _MetaRareERC1155Collection.Contract.Owner(&_MetaRareERC1155Collection.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Owner() (common.Address, error) { return _MetaRareERC1155Collection.Contract.Owner(&_MetaRareERC1155Collection.CallOpts) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _MetaRareERC1155Collection.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _MetaRareERC1155Collection.Contract.SupportsInterface(&_MetaRareERC1155Collection.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _MetaRareERC1155Collection.Contract.SupportsInterface(&_MetaRareERC1155Collection.CallOpts, interfaceId) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Symbol(opts *bind.CallOpts) (string, error) { var out []interface{} err := _MetaRareERC1155Collection.contract.Call(opts, &out, "symbol") if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Symbol() (string, error) { return _MetaRareERC1155Collection.Contract.Symbol(&_MetaRareERC1155Collection.CallOpts) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Symbol() (string, error) { return _MetaRareERC1155Collection.Contract.Symbol(&_MetaRareERC1155Collection.CallOpts) } // TokenSupply is a free data retrieval call binding the contract method 0x2693ebf2. // // Solidity: function tokenSupply(uint256 ) view returns(uint256) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) TokenSupply(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) { var out []interface{} err := _MetaRareERC1155Collection.contract.Call(opts, &out, "tokenSupply", arg0) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // TokenSupply is a free data retrieval call binding the contract method 0x2693ebf2. // // Solidity: function tokenSupply(uint256 ) view returns(uint256) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) TokenSupply(arg0 *big.Int) (*big.Int, error) { return _MetaRareERC1155Collection.Contract.TokenSupply(&_MetaRareERC1155Collection.CallOpts, arg0) } // TokenSupply is a free data retrieval call binding the contract method 0x2693ebf2. // // Solidity: function tokenSupply(uint256 ) view returns(uint256) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) TokenSupply(arg0 *big.Int) (*big.Int, error) { return _MetaRareERC1155Collection.Contract.TokenSupply(&_MetaRareERC1155Collection.CallOpts, arg0) } // TotalSupply is a free data retrieval call binding the contract method 0xbd85b039. // // Solidity: function totalSupply(uint256 _id) view returns(uint256) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) TotalSupply(opts *bind.CallOpts, _id *big.Int) (*big.Int, error) { var out []interface{} err := _MetaRareERC1155Collection.contract.Call(opts, &out, "totalSupply", _id) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // TotalSupply is a free data retrieval call binding the contract method 0xbd85b039. // // Solidity: function totalSupply(uint256 _id) view returns(uint256) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) TotalSupply(_id *big.Int) (*big.Int, error) { return _MetaRareERC1155Collection.Contract.TotalSupply(&_MetaRareERC1155Collection.CallOpts, _id) } // TotalSupply is a free data retrieval call binding the contract method 0xbd85b039. // // Solidity: function totalSupply(uint256 _id) view returns(uint256) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) TotalSupply(_id *big.Int) (*big.Int, error) { return _MetaRareERC1155Collection.Contract.TotalSupply(&_MetaRareERC1155Collection.CallOpts, _id) } // Uri is a free data retrieval call binding the contract method 0x0e89341c. // // Solidity: function uri(uint256 _id) view returns(string) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Uri(opts *bind.CallOpts, _id *big.Int) (string, error) { var out []interface{} err := _MetaRareERC1155Collection.contract.Call(opts, &out, "uri", _id) if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // Uri is a free data retrieval call binding the contract method 0x0e89341c. // // Solidity: function uri(uint256 _id) view returns(string) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Uri(_id *big.Int) (string, error) { return _MetaRareERC1155Collection.Contract.Uri(&_MetaRareERC1155Collection.CallOpts, _id) } // Uri is a free data retrieval call binding the contract method 0x0e89341c. // // Solidity: function uri(uint256 _id) view returns(string) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Uri(_id *big.Int) (string, error) { return _MetaRareERC1155Collection.Contract.Uri(&_MetaRareERC1155Collection.CallOpts, _id) } // BatchMint is a paid mutator transaction binding the contract method 0xb48ab8b6. // // Solidity: function batchMint(address _to, uint256[] _ids, uint256[] _quantities, bytes _data) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) BatchMint(opts *bind.TransactOpts, _to common.Address, _ids []*big.Int, _quantities []*big.Int, _data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.contract.Transact(opts, "batchMint", _to, _ids, _quantities, _data) } // BatchMint is a paid mutator transaction binding the contract method 0xb48ab8b6. // // Solidity: function batchMint(address _to, uint256[] _ids, uint256[] _quantities, bytes _data) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) BatchMint(_to common.Address, _ids []*big.Int, _quantities []*big.Int, _data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.BatchMint(&_MetaRareERC1155Collection.TransactOpts, _to, _ids, _quantities, _data) } // BatchMint is a paid mutator transaction binding the contract method 0xb48ab8b6. // // Solidity: function batchMint(address _to, uint256[] _ids, uint256[] _quantities, bytes _data) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) BatchMint(_to common.Address, _ids []*big.Int, _quantities []*big.Int, _data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.BatchMint(&_MetaRareERC1155Collection.TransactOpts, _to, _ids, _quantities, _data) } // Create is a paid mutator transaction binding the contract method 0x36a100d5. // // Solidity: function create(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) Create(opts *bind.TransactOpts, _initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.contract.Transact(opts, "create", _initialOwner, _id, _initialSupply, _uri, _data) } // Create is a paid mutator transaction binding the contract method 0x36a100d5. // // Solidity: function create(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Create(_initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.Create(&_MetaRareERC1155Collection.TransactOpts, _initialOwner, _id, _initialSupply, _uri, _data) } // Create is a paid mutator transaction binding the contract method 0x36a100d5. // // Solidity: function create(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) Create(_initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.Create(&_MetaRareERC1155Collection.TransactOpts, _initialOwner, _id, _initialSupply, _uri, _data) } // CreateByOperator is a paid mutator transaction binding the contract method 0x61321c14. // // Solidity: function createByOperator(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) CreateByOperator(opts *bind.TransactOpts, _initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.contract.Transact(opts, "createByOperator", _initialOwner, _id, _initialSupply, _uri, _data) } // CreateByOperator is a paid mutator transaction binding the contract method 0x61321c14. // // Solidity: function createByOperator(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) CreateByOperator(_initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.CreateByOperator(&_MetaRareERC1155Collection.TransactOpts, _initialOwner, _id, _initialSupply, _uri, _data) } // CreateByOperator is a paid mutator transaction binding the contract method 0x61321c14. // // Solidity: function createByOperator(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) CreateByOperator(_initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.CreateByOperator(&_MetaRareERC1155Collection.TransactOpts, _initialOwner, _id, _initialSupply, _uri, _data) } // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee. // // Solidity: function initialize(string _name, string _symbol, string _uri, address collectionOwner, address operatorContract) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) Initialize(opts *bind.TransactOpts, _name string, _symbol string, _uri string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) { return _MetaRareERC1155Collection.contract.Transact(opts, "initialize", _name, _symbol, _uri, collectionOwner, operatorContract) } // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee. // // Solidity: function initialize(string _name, string _symbol, string _uri, address collectionOwner, address operatorContract) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Initialize(_name string, _symbol string, _uri string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.Initialize(&_MetaRareERC1155Collection.TransactOpts, _name, _symbol, _uri, collectionOwner, operatorContract) } // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee. // // Solidity: function initialize(string _name, string _symbol, string _uri, address collectionOwner, address operatorContract) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) Initialize(_name string, _symbol string, _uri string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.Initialize(&_MetaRareERC1155Collection.TransactOpts, _name, _symbol, _uri, collectionOwner, operatorContract) } // Mint is a paid mutator transaction binding the contract method 0x731133e9. // // Solidity: function mint(address _to, uint256 _id, uint256 _quantity, bytes _data) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) Mint(opts *bind.TransactOpts, _to common.Address, _id *big.Int, _quantity *big.Int, _data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.contract.Transact(opts, "mint", _to, _id, _quantity, _data) } // Mint is a paid mutator transaction binding the contract method 0x731133e9. // // Solidity: function mint(address _to, uint256 _id, uint256 _quantity, bytes _data) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Mint(_to common.Address, _id *big.Int, _quantity *big.Int, _data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.Mint(&_MetaRareERC1155Collection.TransactOpts, _to, _id, _quantity, _data) } // Mint is a paid mutator transaction binding the contract method 0x731133e9. // // Solidity: function mint(address _to, uint256 _id, uint256 _quantity, bytes _data) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) Mint(_to common.Address, _id *big.Int, _quantity *big.Int, _data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.Mint(&_MetaRareERC1155Collection.TransactOpts, _to, _id, _quantity, _data) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _MetaRareERC1155Collection.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) RenounceOwnership() (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.RenounceOwnership(&_MetaRareERC1155Collection.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) RenounceOwnership() (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.RenounceOwnership(&_MetaRareERC1155Collection.TransactOpts) } // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. // // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SafeBatchTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.contract.Transact(opts, "safeBatchTransferFrom", from, to, ids, amounts, data) } // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. // // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.SafeBatchTransferFrom(&_MetaRareERC1155Collection.TransactOpts, from, to, ids, amounts, data) } // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. // // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.SafeBatchTransferFrom(&_MetaRareERC1155Collection.TransactOpts, from, to, ids, amounts, data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. // // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.contract.Transact(opts, "safeTransferFrom", from, to, id, amount, data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. // // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.SafeTransferFrom(&_MetaRareERC1155Collection.TransactOpts, from, to, id, amount, data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. // // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.SafeTransferFrom(&_MetaRareERC1155Collection.TransactOpts, from, to, id, amount, data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool approved) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) { return _MetaRareERC1155Collection.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 (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.SetApprovalForAll(&_MetaRareERC1155Collection.TransactOpts, operator, approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool approved) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.SetApprovalForAll(&_MetaRareERC1155Collection.TransactOpts, operator, approved) } // SetCreator is a paid mutator transaction binding the contract method 0xd2a6b51a. // // Solidity: function setCreator(address _to, uint256[] _ids) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SetCreator(opts *bind.TransactOpts, _to common.Address, _ids []*big.Int) (*types.Transaction, error) { return _MetaRareERC1155Collection.contract.Transact(opts, "setCreator", _to, _ids) } // SetCreator is a paid mutator transaction binding the contract method 0xd2a6b51a. // // Solidity: function setCreator(address _to, uint256[] _ids) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SetCreator(_to common.Address, _ids []*big.Int) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.SetCreator(&_MetaRareERC1155Collection.TransactOpts, _to, _ids) } // SetCreator is a paid mutator transaction binding the contract method 0xd2a6b51a. // // Solidity: function setCreator(address _to, uint256[] _ids) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SetCreator(_to common.Address, _ids []*big.Int) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.SetCreator(&_MetaRareERC1155Collection.TransactOpts, _to, _ids) } // SetCustomURI is a paid mutator transaction binding the contract method 0x3adf80b4. // // Solidity: function setCustomURI(uint256 _tokenId, string _newURI) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SetCustomURI(opts *bind.TransactOpts, _tokenId *big.Int, _newURI string) (*types.Transaction, error) { return _MetaRareERC1155Collection.contract.Transact(opts, "setCustomURI", _tokenId, _newURI) } // SetCustomURI is a paid mutator transaction binding the contract method 0x3adf80b4. // // Solidity: function setCustomURI(uint256 _tokenId, string _newURI) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SetCustomURI(_tokenId *big.Int, _newURI string) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.SetCustomURI(&_MetaRareERC1155Collection.TransactOpts, _tokenId, _newURI) } // SetCustomURI is a paid mutator transaction binding the contract method 0x3adf80b4. // // Solidity: function setCustomURI(uint256 _tokenId, string _newURI) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SetCustomURI(_tokenId *big.Int, _newURI string) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.SetCustomURI(&_MetaRareERC1155Collection.TransactOpts, _tokenId, _newURI) } // SetURI is a paid mutator transaction binding the contract method 0x02fe5305. // // Solidity: function setURI(string _newURI) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SetURI(opts *bind.TransactOpts, _newURI string) (*types.Transaction, error) { return _MetaRareERC1155Collection.contract.Transact(opts, "setURI", _newURI) } // SetURI is a paid mutator transaction binding the contract method 0x02fe5305. // // Solidity: function setURI(string _newURI) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SetURI(_newURI string) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.SetURI(&_MetaRareERC1155Collection.TransactOpts, _newURI) } // SetURI is a paid mutator transaction binding the contract method 0x02fe5305. // // Solidity: function setURI(string _newURI) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SetURI(_newURI string) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.SetURI(&_MetaRareERC1155Collection.TransactOpts, _newURI) } // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x7c7ae4d1. // // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId, uint256 amount) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) TransferOnlyOperator(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, amount *big.Int) (*types.Transaction, error) { return _MetaRareERC1155Collection.contract.Transact(opts, "transferOnlyOperator", from, to, tokenId, amount) } // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x7c7ae4d1. // // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId, uint256 amount) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) TransferOnlyOperator(from common.Address, to common.Address, tokenId *big.Int, amount *big.Int) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.TransferOnlyOperator(&_MetaRareERC1155Collection.TransactOpts, from, to, tokenId, amount) } // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x7c7ae4d1. // // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId, uint256 amount) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) TransferOnlyOperator(from common.Address, to common.Address, tokenId *big.Int, amount *big.Int) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.TransferOnlyOperator(&_MetaRareERC1155Collection.TransactOpts, from, to, tokenId, amount) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _MetaRareERC1155Collection.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.TransferOwnership(&_MetaRareERC1155Collection.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _MetaRareERC1155Collection.Contract.TransferOwnership(&_MetaRareERC1155Collection.TransactOpts, newOwner) } // MetaRareERC1155CollectionApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the MetaRareERC1155Collection contract. type MetaRareERC1155CollectionApprovalForAllIterator struct { Event *MetaRareERC1155CollectionApprovalForAll // 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 *MetaRareERC1155CollectionApprovalForAllIterator) 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(MetaRareERC1155CollectionApprovalForAll) 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(MetaRareERC1155CollectionApprovalForAll) 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 *MetaRareERC1155CollectionApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MetaRareERC1155CollectionApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // MetaRareERC1155CollectionApprovalForAll represents a ApprovalForAll event raised by the MetaRareERC1155Collection contract. type MetaRareERC1155CollectionApprovalForAll struct { Account 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 account, address indexed operator, bool approved) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) FilterApprovalForAll(opts *bind.FilterOpts, account []common.Address, operator []common.Address) (*MetaRareERC1155CollectionApprovalForAllIterator, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _MetaRareERC1155Collection.contract.FilterLogs(opts, "ApprovalForAll", accountRule, operatorRule) if err != nil { return nil, err } return &MetaRareERC1155CollectionApprovalForAllIterator{contract: _MetaRareERC1155Collection.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 account, address indexed operator, bool approved) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *MetaRareERC1155CollectionApprovalForAll, account []common.Address, operator []common.Address) (event.Subscription, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _MetaRareERC1155Collection.contract.WatchLogs(opts, "ApprovalForAll", accountRule, 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(MetaRareERC1155CollectionApprovalForAll) if err := _MetaRareERC1155Collection.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 account, address indexed operator, bool approved) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) ParseApprovalForAll(log types.Log) (*MetaRareERC1155CollectionApprovalForAll, error) { event := new(MetaRareERC1155CollectionApprovalForAll) if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return nil, err } event.Raw = log return event, nil } // MetaRareERC1155CollectionOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the MetaRareERC1155Collection contract. type MetaRareERC1155CollectionOwnershipTransferredIterator struct { Event *MetaRareERC1155CollectionOwnershipTransferred // 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 *MetaRareERC1155CollectionOwnershipTransferredIterator) 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(MetaRareERC1155CollectionOwnershipTransferred) 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(MetaRareERC1155CollectionOwnershipTransferred) 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 *MetaRareERC1155CollectionOwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MetaRareERC1155CollectionOwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // MetaRareERC1155CollectionOwnershipTransferred represents a OwnershipTransferred event raised by the MetaRareERC1155Collection contract. type MetaRareERC1155CollectionOwnershipTransferred struct { PreviousOwner common.Address NewOwner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*MetaRareERC1155CollectionOwnershipTransferredIterator, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _MetaRareERC1155Collection.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &MetaRareERC1155CollectionOwnershipTransferredIterator{contract: _MetaRareERC1155Collection.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *MetaRareERC1155CollectionOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _MetaRareERC1155Collection.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 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(MetaRareERC1155CollectionOwnershipTransferred) if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "OwnershipTransferred", 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 } // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) ParseOwnershipTransferred(log types.Log) (*MetaRareERC1155CollectionOwnershipTransferred, error) { event := new(MetaRareERC1155CollectionOwnershipTransferred) if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return nil, err } event.Raw = log return event, nil } // MetaRareERC1155CollectionTransferBatchIterator is returned from FilterTransferBatch and is used to iterate over the raw logs and unpacked data for TransferBatch events raised by the MetaRareERC1155Collection contract. type MetaRareERC1155CollectionTransferBatchIterator struct { Event *MetaRareERC1155CollectionTransferBatch // 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 *MetaRareERC1155CollectionTransferBatchIterator) 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(MetaRareERC1155CollectionTransferBatch) 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(MetaRareERC1155CollectionTransferBatch) 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 *MetaRareERC1155CollectionTransferBatchIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MetaRareERC1155CollectionTransferBatchIterator) Close() error { it.sub.Unsubscribe() return nil } // MetaRareERC1155CollectionTransferBatch represents a TransferBatch event raised by the MetaRareERC1155Collection contract. type MetaRareERC1155CollectionTransferBatch 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 (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) FilterTransferBatch(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*MetaRareERC1155CollectionTransferBatchIterator, 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 := _MetaRareERC1155Collection.contract.FilterLogs(opts, "TransferBatch", operatorRule, fromRule, toRule) if err != nil { return nil, err } return &MetaRareERC1155CollectionTransferBatchIterator{contract: _MetaRareERC1155Collection.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 (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) WatchTransferBatch(opts *bind.WatchOpts, sink chan<- *MetaRareERC1155CollectionTransferBatch, 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 := _MetaRareERC1155Collection.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(MetaRareERC1155CollectionTransferBatch) if err := _MetaRareERC1155Collection.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 (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) ParseTransferBatch(log types.Log) (*MetaRareERC1155CollectionTransferBatch, error) { event := new(MetaRareERC1155CollectionTransferBatch) if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "TransferBatch", log); err != nil { return nil, err } event.Raw = log return event, nil } // MetaRareERC1155CollectionTransferSingleIterator is returned from FilterTransferSingle and is used to iterate over the raw logs and unpacked data for TransferSingle events raised by the MetaRareERC1155Collection contract. type MetaRareERC1155CollectionTransferSingleIterator struct { Event *MetaRareERC1155CollectionTransferSingle // 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 *MetaRareERC1155CollectionTransferSingleIterator) 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(MetaRareERC1155CollectionTransferSingle) 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(MetaRareERC1155CollectionTransferSingle) 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 *MetaRareERC1155CollectionTransferSingleIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MetaRareERC1155CollectionTransferSingleIterator) Close() error { it.sub.Unsubscribe() return nil } // MetaRareERC1155CollectionTransferSingle represents a TransferSingle event raised by the MetaRareERC1155Collection contract. type MetaRareERC1155CollectionTransferSingle 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 (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) FilterTransferSingle(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*MetaRareERC1155CollectionTransferSingleIterator, 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 := _MetaRareERC1155Collection.contract.FilterLogs(opts, "TransferSingle", operatorRule, fromRule, toRule) if err != nil { return nil, err } return &MetaRareERC1155CollectionTransferSingleIterator{contract: _MetaRareERC1155Collection.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 (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) WatchTransferSingle(opts *bind.WatchOpts, sink chan<- *MetaRareERC1155CollectionTransferSingle, 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 := _MetaRareERC1155Collection.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(MetaRareERC1155CollectionTransferSingle) if err := _MetaRareERC1155Collection.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 (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) ParseTransferSingle(log types.Log) (*MetaRareERC1155CollectionTransferSingle, error) { event := new(MetaRareERC1155CollectionTransferSingle) if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "TransferSingle", log); err != nil { return nil, err } event.Raw = log return event, nil } // MetaRareERC1155CollectionURIIterator is returned from FilterURI and is used to iterate over the raw logs and unpacked data for URI events raised by the MetaRareERC1155Collection contract. type MetaRareERC1155CollectionURIIterator struct { Event *MetaRareERC1155CollectionURI // 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 *MetaRareERC1155CollectionURIIterator) 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(MetaRareERC1155CollectionURI) 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(MetaRareERC1155CollectionURI) 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 *MetaRareERC1155CollectionURIIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MetaRareERC1155CollectionURIIterator) Close() error { it.sub.Unsubscribe() return nil } // MetaRareERC1155CollectionURI represents a URI event raised by the MetaRareERC1155Collection contract. type MetaRareERC1155CollectionURI 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 (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) FilterURI(opts *bind.FilterOpts, id []*big.Int) (*MetaRareERC1155CollectionURIIterator, error) { var idRule []interface{} for _, idItem := range id { idRule = append(idRule, idItem) } logs, sub, err := _MetaRareERC1155Collection.contract.FilterLogs(opts, "URI", idRule) if err != nil { return nil, err } return &MetaRareERC1155CollectionURIIterator{contract: _MetaRareERC1155Collection.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 (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) WatchURI(opts *bind.WatchOpts, sink chan<- *MetaRareERC1155CollectionURI, id []*big.Int) (event.Subscription, error) { var idRule []interface{} for _, idItem := range id { idRule = append(idRule, idItem) } logs, sub, err := _MetaRareERC1155Collection.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(MetaRareERC1155CollectionURI) if err := _MetaRareERC1155Collection.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 (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) ParseURI(log types.Log) (*MetaRareERC1155CollectionURI, error) { event := new(MetaRareERC1155CollectionURI) if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "URI", log); err != nil { return nil, err } event.Raw = log return event, nil } // MetaRareERC721CollectionMetaData contains all meta data concerning the MetaRareERC721Collection contract. var MetaRareERC721CollectionMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MetaRareOperator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collectionFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"initName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"initSymbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"collectionOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operatorContract\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"newBaseUri\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"newName\",\"type\":\"string\"}],\"name\":\"setName\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"newSymbol\",\"type\":\"string\"}],\"name\":\"setSymbol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenURI\",\"type\":\"string\"}],\"name\":\"setTokenURI\",\"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\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferOnlyOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "a217fddf": "DEFAULT_ADMIN_ROLE()", "d5391393": "MINTER_ROLE()", "6585690d": "MetaRareOperator()", "095ea7b3": "approve(address,uint256)", "70a08231": "balanceOf(address)", "42966c68": "burn(uint256)", "cf25a2fd": "collectionFactory()", "081812fc": "getApproved(uint256)", "248a9ca3": "getRoleAdmin(bytes32)", "9010d07c": "getRoleMember(bytes32,uint256)", "ca15c873": "getRoleMemberCount(bytes32)", "2f2ff15d": "grantRole(bytes32,address)", "91d14854": "hasRole(bytes32,address)", "d6d0faee": "initialize(string,string,string,address,address)", "e985e9c5": "isApprovedForAll(address,address)", "40c10f19": "mint(address,uint256)", "06fdde03": "name()", "6352211e": "ownerOf(uint256)", "36568abe": "renounceRole(bytes32,address)", "d547741f": "revokeRole(bytes32,address)", "42842e0e": "safeTransferFrom(address,address,uint256)", "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", "a22cb465": "setApprovalForAll(address,bool)", "55f804b3": "setBaseURI(string)", "c47f0027": "setName(string)", "b84c8246": "setSymbol(string)", "162094c4": "setTokenURI(uint256,string)", "01ffc9a7": "supportsInterface(bytes4)", "95d89b41": "symbol()", "4f6ccce7": "tokenByIndex(uint256)", "2f745c59": "tokenOfOwnerByIndex(address,uint256)", "c87b56dd": "tokenURI(uint256)", "18160ddd": "totalSupply()", "23b872dd": "transferFrom(address,address,uint256)", "5145dc57": "transferOnlyOperator(address,address,uint256)", }, Bin: "0x60806040523480156200001157600080fd5b506040805180820182526008815267696e69744e616d6560c01b60208083019182528351808501909452600a8452691a5b9a5d14de5b589bdb60b21b908401528151919291620000649160029162000095565b5080516200007a90600390602084019062000095565b5050600d80546001600160a01b031916331790555062000178565b828054620000a3906200013b565b90600052602060002090601f016020900481019282620000c7576000855562000112565b82601f10620000e257805160ff191683800117855562000112565b8280016001018555821562000112579182015b8281111562000112578251825591602001919060010190620000f5565b506200012092915062000124565b5090565b5b8082111562000120576000815560010162000125565b6002810460018216806200015057607f821691505b602082108114156200017257634e487b7160e01b600052602260045260246000fd5b50919050565b612d2580620001886000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80636352211e11610125578063b88d4fde116100ad578063cf25a2fd1161007c578063cf25a2fd14610458578063d539139314610460578063d547741f14610468578063d6d0faee1461047b578063e985e9c51461048e57610211565b8063b88d4fde1461040c578063c47f00271461041f578063c87b56dd14610432578063ca15c8731461044557610211565b806391d14854116100f457806391d14854146103c357806395d89b41146103d6578063a217fddf146103de578063a22cb465146103e6578063b84c8246146103f957610211565b80636352211e146103825780636585690d1461039557806370a082311461039d5780639010d07c146103b057610211565b80632f2ff15d116101a857806342842e0e1161017757806342842e0e1461032357806342966c68146103365780634f6ccce7146103495780635145dc571461035c57806355f804b31461036f57610211565b80632f2ff15d146102d75780632f745c59146102ea57806336568abe146102fd57806340c10f191461031057610211565b8063162094c4116101e4578063162094c41461028957806318160ddd1461029c57806323b872dd146102b1578063248a9ca3146102c457610211565b806301ffc9a71461021657806306fdde031461023f578063081812fc14610254578063095ea7b314610274575b600080fd5b61022961022436600461214f565b6104a1565b60405161023691906123c6565b60405180910390f35b6102476104ce565b60405161023691906123da565b6102676102623660046120f4565b610560565b6040516102369190612375565b6102876102823660046120cb565b6105ac565b005b610287610297366004612260565b610644565b6102a461067b565b60405161023691906123d1565b6102876102bf366004611fdd565b610681565b6102a46102d23660046120f4565b6106b9565b6102876102e536600461210c565b6106ce565b6102a46102f83660046120cb565b6106f2565b61028761030b36600461210c565b610747565b61028761031e3660046120cb565b610789565b610287610331366004611fdd565b6107c9565b6102876103443660046120f4565b6107e4565b6102a46103573660046120f4565b610817565b61028761036a366004611fdd565b610872565b61028761037d366004612187565b6108a7565b6102676103903660046120f4565b6108e3565b610267610918565b6102a46103ab366004611f91565b610927565b6102676103be36600461212e565b61096b565b6102296103d136600461210c565b61098a565b6102476109b3565b6102a46109c2565b6102876103f4366004612091565b6109c7565b610287610407366004612187565b6109d9565b61028761041a366004612018565b610a15565b61028761042d366004612187565b610a54565b6102476104403660046120f4565b610a90565b6102a46104533660046120f4565b610a9b565b610267610ab2565b6102a4610ac1565b61028761047636600461210c565b610ad3565b6102876104893660046121ba565b610af2565b61022961049c366004611fab565b610bda565b60006001600160e01b0319821663780e9d6360e01b14806104c657506104c682610c08565b90505b919050565b6060601080546104dd90612c0d565b80601f016020809104026020016040519081016040528092919081815260200182805461050990612c0d565b80156105565780601f1061052b57610100808354040283529160200191610556565b820191906000526020600020905b81548152906001019060200180831161053957829003601f168201915b5050505050905090565b600061056b82610c2d565b6105905760405162461bcd60e51b81526004016105879061286f565b60405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006105b7826108e3565b9050806001600160a01b0316836001600160a01b031614156105eb5760405162461bcd60e51b815260040161058790612958565b806001600160a01b03166105fd610c4a565b6001600160a01b0316148061061957506106198161049c610c4a565b6106355760405162461bcd60e51b815260040161058790612630565b61063f8383610c4e565b505050565b61065160006103d1610c4a565b61066d5760405162461bcd60e51b81526004016105879061290a565b6106778282610cbc565b5050565b600a5490565b61069261068c610c4a565b82610d00565b6106ae5760405162461bcd60e51b815260040161058790612999565b61063f838383610d85565b60009081526020819052604090206001015490565b6106d7826106b9565b6106e8816106e3610c4a565b610eb8565b61063f8383610f1c565b60006106fd83610927565b821061071b5760405162461bcd60e51b815260040161058790612422565b506001600160a01b03821660009081526008602090815260408083208484529091529020545b92915050565b61074f610c4a565b6001600160a01b0316816001600160a01b03161461077f5760405162461bcd60e51b815260040161058790612b19565b6106778282610f3e565b6107a3600080516020612cd08339815191526103d1610c4a565b6107bf5760405162461bcd60e51b815260040161058790612ad4565b6106778282610f60565b61063f83838360405180602001604052806000815250610a15565b6107ef61068c610c4a565b61080b5760405162461bcd60e51b815260040161058790612a84565b61081481611047565b50565b600061082161067b565b821061083f5760405162461bcd60e51b815260040161058790612a38565b600a828154811061086057634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b600e546001600160a01b0316331461089c5760405162461bcd60e51b8152600401610587906127da565b61063f838383611050565b6108b460006103d1610c4a565b6108d05760405162461bcd60e51b8152600401610587906129ea565b805161067790600f906020840190611e14565b6000818152600460205260408120546001600160a01b0316806104c65760405162461bcd60e51b8152600401610587906126d7565b600e546001600160a01b031681565b60006001600160a01b03821661094f5760405162461bcd60e51b81526004016105879061268d565b506001600160a01b031660009081526005602052604090205490565b6000828152600160205260408120610983908361106b565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6060601180546104dd90612c0d565b600081565b6106776109d2610c4a565b8383611077565b6109e660006103d1610c4a565b610a025760405162461bcd60e51b81526004016105879061253b565b8051610677906011906020840190611e14565b610a26610a20610c4a565b83610d00565b610a425760405162461bcd60e51b815260040161058790612999565b610a4e8484848461111a565b50505050565b610a6160006103d1610c4a565b610a7d5760405162461bcd60e51b81526004016105879061253b565b8051610677906010906020840190611e14565b60606104c68261114d565b60008181526001602052604081206104c690611266565b600d546001600160a01b031681565b600080516020612cd083398151915281565b610adc826106b9565b610ae8816106e3610c4a565b61063f8383610f3e565b600d546001600160a01b03163314610b1c5760405162461bcd60e51b81526004016105879061276e565b610b2e6000610b29610c4a565b611271565b610b48600080516020612cd0833981519152610b29610c4a565b610b60600080516020612cd083398151915283611271565b610b78600080516020612cd083398151915282611271565b8251610b8b90600f906020860190611e14565b508451610b9f906010906020880190611e14565b508351610bb3906011906020870190611e14565b50600e80546001600160a01b0319166001600160a01b039290921691909117905550505050565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b60006001600160e01b0319821663780e9d6360e01b14806104c657506104c68261127b565b6000908152600460205260409020546001600160a01b0316151590565b3390565b600081815260066020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610c83826108e3565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610cc582610c2d565b610ce15760405162461bcd60e51b815260040161058790612720565b6000828152600c60209081526040909120825161063f92840190611e14565b6000610d0b82610c2d565b610d275760405162461bcd60e51b8152600401610587906125e4565b6000610d32836108e3565b9050806001600160a01b0316846001600160a01b03161480610d6d5750836001600160a01b0316610d6284610560565b6001600160a01b0316145b80610d7d5750610d7d8185610bda565b949350505050565b826001600160a01b0316610d98826108e3565b6001600160a01b031614610dbe5760405162461bcd60e51b8152600401610587906124bf565b6001600160a01b038216610de45760405162461bcd60e51b815260040161058790612569565b610def8383836112bb565b610dfa600082610c4e565b6001600160a01b0383166000908152600560205260408120805460019290610e23908490612bb3565b90915550506001600160a01b0382166000908152600560205260408120805460019290610e51908490612b68565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a461063f83838361063f565b610ec2828261098a565b61067757610eda816001600160a01b031660146112c6565b610ee58360206112c6565b604051602001610ef6929190612300565b60408051601f198184030181529082905262461bcd60e51b8252610587916004016123da565b610f268282611478565b600082815260016020526040902061063f90826114fd565b610f488282611512565b600082815260016020526040902061063f9082611595565b6001600160a01b038216610f865760405162461bcd60e51b8152600401610587906127a5565b610f8f81610c2d565b15610fac5760405162461bcd60e51b815260040161058790612504565b610fb8600083836112bb565b6001600160a01b0382166000908152600560205260408120805460019290610fe1908490612b68565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46106776000838361063f565b610814816115aa565b61063f8383836040518060200160405280600081525061111a565b600061098383836115ea565b816001600160a01b0316836001600160a01b031614156110a95760405162461bcd60e51b8152600401610587906125ad565b6001600160a01b0383811660008181526007602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319061110d9085906123c6565b60405180910390a3505050565b611125848484610d85565b61113184848484611622565b610a4e5760405162461bcd60e51b81526004016105879061246d565b606061115882610c2d565b6111745760405162461bcd60e51b81526004016105879061281e565b6000828152600c60205260408120805461118d90612c0d565b80601f01602080910402602001604051908101604052809291908181526020018280546111b990612c0d565b80156112065780601f106111db57610100808354040283529160200191611206565b820191906000526020600020905b8154815290600101906020018083116111e957829003601f168201915b50505050509050600061121761173d565b905080516000141561122b575090506104c9565b81511561125d5780826040516020016112459291906122d1565b604051602081830303815290604052925050506104c9565b610d7d8461174c565b60006104c6826117ce565b6106778282610f1c565b60006001600160e01b031982166380ac58cd60e01b14806112ac57506001600160e01b03198216635b5e139f60e01b145b806104c657506104c6826117d2565b61063f8383836117f7565b606060006112d5836002612b94565b6112e0906002612b68565b67ffffffffffffffff81111561130657634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611330576020820181803683370190505b509050600360fc1b8160008151811061135957634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061139657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060006113ba846002612b94565b6113c5906001612b68565b90505b6001811115611459576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061140757634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061142b57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361145281612bf6565b90506113c8565b5083156109835760405162461bcd60e51b8152600401610587906123ed565b611482828261098a565b610677576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556114b9610c4a565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610983836001600160a01b038416611880565b61151c828261098a565b15610677576000828152602081815260408083206001600160a01b03851684529091529020805460ff19169055611551610c4a565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000610983836001600160a01b0384166118ca565b6115b3816119e7565b6000818152600c6020526040902080546115cc90612c0d565b159050610814576000818152600c6020526040812061081491611e98565b600082600001828154811061160f57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905092915050565b6000611636846001600160a01b0316611a96565b1561173257836001600160a01b031663150b7a02611652610c4a565b8786866040518563ffffffff1660e01b81526004016116749493929190612389565b602060405180830381600087803b15801561168e57600080fd5b505af19250505080156116be575060408051601f3d908101601f191682019092526116bb9181019061216b565b60015b611718573d8080156116ec576040519150601f19603f3d011682016040523d82523d6000602084013e6116f1565b606091505b5080516117105760405162461bcd60e51b81526004016105879061246d565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610d7d565b506001949350505050565b6060600f80546104dd90612c0d565b606061175782610c2d565b6117735760405162461bcd60e51b8152600401610587906128bb565b600061177d61173d565b9050600081511161179d5760405180602001604052806000815250610983565b806117a784611aa5565b6040516020016117b89291906122d1565b6040516020818303038152906040529392505050565b5490565b60006001600160e01b03198216635a05180f60e01b14806104c657506104c682611bc0565b61180283838361063f565b6001600160a01b03831661181e5761181981611be5565b611841565b816001600160a01b0316836001600160a01b031614611841576118418382611c29565b6001600160a01b03821661185d5761185881611cc6565b61063f565b826001600160a01b0316826001600160a01b03161461063f5761063f8282611d9f565b600061188c8383611de3565b6118c257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610741565b506000610741565b600081815260018301602052604081205480156119dd5760006118ee600183612bb3565b855490915060009061190290600190612bb3565b905081811461198357600086600001828154811061193057634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508087600001848154811061196157634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b85548690806119a257634e487b7160e01b600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610741565b6000915050610741565b60006119f2826108e3565b9050611a00816000846112bb565b611a0b600083610c4e565b6001600160a01b0381166000908152600560205260408120805460019290611a34908490612bb3565b909155505060008281526004602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a46106778160008461063f565b6001600160a01b03163b151590565b606081611aca57506040805180820190915260018152600360fc1b60208201526104c9565b8160005b8115611af45780611ade81612c48565b9150611aed9050600a83612b80565b9150611ace565b60008167ffffffffffffffff811115611b1d57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611b47576020820181803683370190505b5090505b8415610d7d57611b5c600183612bb3565b9150611b69600a86612c63565b611b74906030612b68565b60f81b818381518110611b9757634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611bb9600a86612b80565b9450611b4b565b60006001600160e01b03198216637965db0b60e01b14806104c657506104c682611dfb565b600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b60006001611c3684610927565b611c409190612bb3565b600083815260096020526040902054909150808214611c93576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a54600090611cd890600190612bb3565b6000838152600b6020526040812054600a8054939450909284908110611d0e57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905080600a8381548110611d3d57634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a805480611d8357634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b6000611daa83610927565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b60009081526001919091016020526040902054151590565b6001600160e01b031981166301ffc9a760e01b14919050565b828054611e2090612c0d565b90600052602060002090601f016020900481019282611e425760008555611e88565b82601f10611e5b57805160ff1916838001178555611e88565b82800160010185558215611e88579182015b82811115611e88578251825591602001919060010190611e6d565b50611e94929150611ed0565b5090565b508054611ea490612c0d565b6000825580601f10611eb65750610814565b601f01602090049060005260206000209081019061081491905b5b80821115611e945760008155600101611ed1565b600067ffffffffffffffff80841115611f0057611f00612ca3565b604051601f8501601f19908116603f01168101908282118183101715611f2857611f28612ca3565b81604052809350858152868686011115611f4157600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b03811681146104c957600080fd5b600082601f830112611f82578081fd5b61098383833560208501611ee5565b600060208284031215611fa2578081fd5b61098382611f5b565b60008060408385031215611fbd578081fd5b611fc683611f5b565b9150611fd460208401611f5b565b90509250929050565b600080600060608486031215611ff1578081fd5b611ffa84611f5b565b925061200860208501611f5b565b9150604084013590509250925092565b6000806000806080858703121561202d578081fd5b61203685611f5b565b935061204460208601611f5b565b925060408501359150606085013567ffffffffffffffff811115612066578182fd5b8501601f81018713612076578182fd5b61208587823560208401611ee5565b91505092959194509250565b600080604083850312156120a3578182fd5b6120ac83611f5b565b9150602083013580151581146120c0578182fd5b809150509250929050565b600080604083850312156120dd578182fd5b6120e683611f5b565b946020939093013593505050565b600060208284031215612105578081fd5b5035919050565b6000806040838503121561211e578182fd5b82359150611fd460208401611f5b565b60008060408385031215612140578182fd5b50508035926020909101359150565b600060208284031215612160578081fd5b813561098381612cb9565b60006020828403121561217c578081fd5b815161098381612cb9565b600060208284031215612198578081fd5b813567ffffffffffffffff8111156121ae578182fd5b610d7d84828501611f72565b600080600080600060a086880312156121d1578081fd5b853567ffffffffffffffff808211156121e8578283fd5b6121f489838a01611f72565b96506020880135915080821115612209578283fd5b61221589838a01611f72565b9550604088013591508082111561222a578283fd5b5061223788828901611f72565b93505061224660608701611f5b565b915061225460808701611f5b565b90509295509295909350565b60008060408385031215612272578182fd5b82359150602083013567ffffffffffffffff81111561228f578182fd5b61229b85828601611f72565b9150509250929050565b600081518084526122bd816020860160208601612bca565b601f01601f19169290920160200192915050565b600083516122e3818460208801612bca565b8351908301906122f7818360208801612bca565b01949350505050565b60007f416363657373436f6e74726f6c3a206163636f756e742000000000000000000082528351612338816017850160208801612bca565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612369816028840160208801612bca565b01602801949350505050565b6001600160a01b0391909116815260200190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906123bc908301846122a5565b9695505050505050565b901515815260200190565b90815260200190565b60006020825261098360208301846122a5565b6020808252818101527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604082015260600190565b6020808252602b908201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560408201526a74206f6620626f756e647360a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b6020808252601490820152734d75737420686176652041646d696e20726f6c6560601b604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b6020808252602e908201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60408201526d32bc34b9ba32b73a103a37b5b2b760911b606082015260800190565b6020808252601c908201527f4552433732313a20494e495449414c495a4520464f5242494444454e00000000604082015260600190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b60208082526024908201527f4f7065726174726f6e206f6e6c792063616e2075736520746869732066756e636040820152633a34b7b760e11b606082015260800190565b60208082526031908201527f45524337323155524953746f726167653a2055524920717565727920666f72206040820152703737b732bc34b9ba32b73a103a37b5b2b760791b606082015260800190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b6020808252602e908201527f4552433732313a206d75737420686176652061646d696e20726f6c6520746f2060408201526d73657420546f6b656e205552497360901b606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252602e908201527f4552433732313a206d75737420686176652061646d696e20726f6c6520746f2060408201526d6368616e6765206261736555726960901b606082015260800190565b6020808252602c908201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60408201526b7574206f6620626f756e647360a01b606082015260800190565b60208082526030908201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760408201526f1b995c881b9bdc88185c1c1c9bdd995960821b606082015260800190565b60208082526025908201527f4552433732313a206d7573742068617665206d696e74657220726f6c6520746f604082015264081b5a5b9d60da1b606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201526e103937b632b9903337b91039b2b63360891b606082015260800190565b60008219821115612b7b57612b7b612c77565b500190565b600082612b8f57612b8f612c8d565b500490565b6000816000190483118215151615612bae57612bae612c77565b500290565b600082821015612bc557612bc5612c77565b500390565b60005b83811015612be5578181015183820152602001612bcd565b83811115610a4e5750506000910152565b600081612c0557612c05612c77565b506000190190565b600281046001821680612c2157607f821691505b60208210811415612c4257634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612c5c57612c5c612c77565b5060010190565b600082612c7257612c72612c8d565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b03198116811461081457600080fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220b030f4f70553d52f8e53838cf6b36cebd96c32ddf8ea9b9b3425e184b80967a664736f6c63430008010033", } // MetaRareERC721CollectionABI is the input ABI used to generate the binding from. // Deprecated: Use MetaRareERC721CollectionMetaData.ABI instead. var MetaRareERC721CollectionABI = MetaRareERC721CollectionMetaData.ABI // Deprecated: Use MetaRareERC721CollectionMetaData.Sigs instead. // MetaRareERC721CollectionFuncSigs maps the 4-byte function signature to its string representation. var MetaRareERC721CollectionFuncSigs = MetaRareERC721CollectionMetaData.Sigs // MetaRareERC721CollectionBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use MetaRareERC721CollectionMetaData.Bin instead. var MetaRareERC721CollectionBin = MetaRareERC721CollectionMetaData.Bin // DeployMetaRareERC721Collection deploys a new Ethereum contract, binding an instance of MetaRareERC721Collection to it. func DeployMetaRareERC721Collection(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *MetaRareERC721Collection, error) { parsed, err := MetaRareERC721CollectionMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(MetaRareERC721CollectionBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &MetaRareERC721Collection{MetaRareERC721CollectionCaller: MetaRareERC721CollectionCaller{contract: contract}, MetaRareERC721CollectionTransactor: MetaRareERC721CollectionTransactor{contract: contract}, MetaRareERC721CollectionFilterer: MetaRareERC721CollectionFilterer{contract: contract}}, nil } // MetaRareERC721Collection is an auto generated Go binding around an Ethereum contract. type MetaRareERC721Collection struct { MetaRareERC721CollectionCaller // Read-only binding to the contract MetaRareERC721CollectionTransactor // Write-only binding to the contract MetaRareERC721CollectionFilterer // Log filterer for contract events } // MetaRareERC721CollectionCaller is an auto generated read-only Go binding around an Ethereum contract. type MetaRareERC721CollectionCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MetaRareERC721CollectionTransactor is an auto generated write-only Go binding around an Ethereum contract. type MetaRareERC721CollectionTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MetaRareERC721CollectionFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type MetaRareERC721CollectionFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MetaRareERC721CollectionSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type MetaRareERC721CollectionSession struct { Contract *MetaRareERC721Collection // 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 } // MetaRareERC721CollectionCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type MetaRareERC721CollectionCallerSession struct { Contract *MetaRareERC721CollectionCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // MetaRareERC721CollectionTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type MetaRareERC721CollectionTransactorSession struct { Contract *MetaRareERC721CollectionTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // MetaRareERC721CollectionRaw is an auto generated low-level Go binding around an Ethereum contract. type MetaRareERC721CollectionRaw struct { Contract *MetaRareERC721Collection // Generic contract binding to access the raw methods on } // MetaRareERC721CollectionCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type MetaRareERC721CollectionCallerRaw struct { Contract *MetaRareERC721CollectionCaller // Generic read-only contract binding to access the raw methods on } // MetaRareERC721CollectionTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type MetaRareERC721CollectionTransactorRaw struct { Contract *MetaRareERC721CollectionTransactor // Generic write-only contract binding to access the raw methods on } // NewMetaRareERC721Collection creates a new instance of MetaRareERC721Collection, bound to a specific deployed contract. func NewMetaRareERC721Collection(address common.Address, backend bind.ContractBackend) (*MetaRareERC721Collection, error) { contract, err := bindMetaRareERC721Collection(address, backend, backend, backend) if err != nil { return nil, err } return &MetaRareERC721Collection{MetaRareERC721CollectionCaller: MetaRareERC721CollectionCaller{contract: contract}, MetaRareERC721CollectionTransactor: MetaRareERC721CollectionTransactor{contract: contract}, MetaRareERC721CollectionFilterer: MetaRareERC721CollectionFilterer{contract: contract}}, nil } // NewMetaRareERC721CollectionCaller creates a new read-only instance of MetaRareERC721Collection, bound to a specific deployed contract. func NewMetaRareERC721CollectionCaller(address common.Address, caller bind.ContractCaller) (*MetaRareERC721CollectionCaller, error) { contract, err := bindMetaRareERC721Collection(address, caller, nil, nil) if err != nil { return nil, err } return &MetaRareERC721CollectionCaller{contract: contract}, nil } // NewMetaRareERC721CollectionTransactor creates a new write-only instance of MetaRareERC721Collection, bound to a specific deployed contract. func NewMetaRareERC721CollectionTransactor(address common.Address, transactor bind.ContractTransactor) (*MetaRareERC721CollectionTransactor, error) { contract, err := bindMetaRareERC721Collection(address, nil, transactor, nil) if err != nil { return nil, err } return &MetaRareERC721CollectionTransactor{contract: contract}, nil } // NewMetaRareERC721CollectionFilterer creates a new log filterer instance of MetaRareERC721Collection, bound to a specific deployed contract. func NewMetaRareERC721CollectionFilterer(address common.Address, filterer bind.ContractFilterer) (*MetaRareERC721CollectionFilterer, error) { contract, err := bindMetaRareERC721Collection(address, nil, nil, filterer) if err != nil { return nil, err } return &MetaRareERC721CollectionFilterer{contract: contract}, nil } // bindMetaRareERC721Collection binds a generic wrapper to an already deployed contract. func bindMetaRareERC721Collection(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(MetaRareERC721CollectionABI)) 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 (_MetaRareERC721Collection *MetaRareERC721CollectionRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _MetaRareERC721Collection.Contract.MetaRareERC721CollectionCaller.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 (_MetaRareERC721Collection *MetaRareERC721CollectionRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.MetaRareERC721CollectionTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_MetaRareERC721Collection *MetaRareERC721CollectionRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.MetaRareERC721CollectionTransactor.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 (_MetaRareERC721Collection *MetaRareERC721CollectionCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _MetaRareERC721Collection.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 (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.contract.Transact(opts, method, params...) } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) DEFAULTADMINROLE() ([32]byte, error) { return _MetaRareERC721Collection.Contract.DEFAULTADMINROLE(&_MetaRareERC721Collection.CallOpts) } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) DEFAULTADMINROLE() ([32]byte, error) { return _MetaRareERC721Collection.Contract.DEFAULTADMINROLE(&_MetaRareERC721Collection.CallOpts) } // MINTERROLE is a free data retrieval call binding the contract method 0xd5391393. // // Solidity: function MINTER_ROLE() view returns(bytes32) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) MINTERROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "MINTER_ROLE") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // MINTERROLE is a free data retrieval call binding the contract method 0xd5391393. // // Solidity: function MINTER_ROLE() view returns(bytes32) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) MINTERROLE() ([32]byte, error) { return _MetaRareERC721Collection.Contract.MINTERROLE(&_MetaRareERC721Collection.CallOpts) } // MINTERROLE is a free data retrieval call binding the contract method 0xd5391393. // // Solidity: function MINTER_ROLE() view returns(bytes32) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) MINTERROLE() ([32]byte, error) { return _MetaRareERC721Collection.Contract.MINTERROLE(&_MetaRareERC721Collection.CallOpts) } // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d. // // Solidity: function MetaRareOperator() view returns(address) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) MetaRareOperator(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "MetaRareOperator") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d. // // Solidity: function MetaRareOperator() view returns(address) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) MetaRareOperator() (common.Address, error) { return _MetaRareERC721Collection.Contract.MetaRareOperator(&_MetaRareERC721Collection.CallOpts) } // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d. // // Solidity: function MetaRareOperator() view returns(address) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) MetaRareOperator() (common.Address, error) { return _MetaRareERC721Collection.Contract.MetaRareOperator(&_MetaRareERC721Collection.CallOpts) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "balanceOf", owner) 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 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) BalanceOf(owner common.Address) (*big.Int, error) { return _MetaRareERC721Collection.Contract.BalanceOf(&_MetaRareERC721Collection.CallOpts, owner) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address owner) view returns(uint256) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { return _MetaRareERC721Collection.Contract.BalanceOf(&_MetaRareERC721Collection.CallOpts, owner) } // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd. // // Solidity: function collectionFactory() view returns(address) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) CollectionFactory(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "collectionFactory") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd. // // Solidity: function collectionFactory() view returns(address) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) CollectionFactory() (common.Address, error) { return _MetaRareERC721Collection.Contract.CollectionFactory(&_MetaRareERC721Collection.CallOpts) } // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd. // // Solidity: function collectionFactory() view returns(address) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) CollectionFactory() (common.Address, error) { return _MetaRareERC721Collection.Contract.CollectionFactory(&_MetaRareERC721Collection.CallOpts) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "getApproved", tokenId) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _MetaRareERC721Collection.Contract.GetApproved(&_MetaRareERC721Collection.CallOpts, tokenId) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(uint256 tokenId) view returns(address) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _MetaRareERC721Collection.Contract.GetApproved(&_MetaRareERC721Collection.CallOpts, tokenId) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "getRoleAdmin", role) if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _MetaRareERC721Collection.Contract.GetRoleAdmin(&_MetaRareERC721Collection.CallOpts, role) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _MetaRareERC721Collection.Contract.GetRoleAdmin(&_MetaRareERC721Collection.CallOpts, role) } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "getRoleMember", role, index) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { return _MetaRareERC721Collection.Contract.GetRoleMember(&_MetaRareERC721Collection.CallOpts, role, index) } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { return _MetaRareERC721Collection.Contract.GetRoleMember(&_MetaRareERC721Collection.CallOpts, role, index) } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "getRoleMemberCount", role) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { return _MetaRareERC721Collection.Contract.GetRoleMemberCount(&_MetaRareERC721Collection.CallOpts, role) } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { return _MetaRareERC721Collection.Contract.GetRoleMemberCount(&_MetaRareERC721Collection.CallOpts, role) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "hasRole", role, account) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _MetaRareERC721Collection.Contract.HasRole(&_MetaRareERC721Collection.CallOpts, role, account) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _MetaRareERC721Collection.Contract.HasRole(&_MetaRareERC721Collection.CallOpts, role, account) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { var out []interface{} err := _MetaRareERC721Collection.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 (_MetaRareERC721Collection *MetaRareERC721CollectionSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _MetaRareERC721Collection.Contract.IsApprovedForAll(&_MetaRareERC721Collection.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 (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _MetaRareERC721Collection.Contract.IsApprovedForAll(&_MetaRareERC721Collection.CallOpts, owner, operator) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) Name(opts *bind.CallOpts) (string, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "name") if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Name() (string, error) { return _MetaRareERC721Collection.Contract.Name(&_MetaRareERC721Collection.CallOpts) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() view returns(string) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) Name() (string, error) { return _MetaRareERC721Collection.Contract.Name(&_MetaRareERC721Collection.CallOpts) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "ownerOf", tokenId) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _MetaRareERC721Collection.Contract.OwnerOf(&_MetaRareERC721Collection.CallOpts, tokenId) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(uint256 tokenId) view returns(address) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _MetaRareERC721Collection.Contract.OwnerOf(&_MetaRareERC721Collection.CallOpts, tokenId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _MetaRareERC721Collection.Contract.SupportsInterface(&_MetaRareERC721Collection.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _MetaRareERC721Collection.Contract.SupportsInterface(&_MetaRareERC721Collection.CallOpts, interfaceId) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) Symbol(opts *bind.CallOpts) (string, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "symbol") if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Symbol() (string, error) { return _MetaRareERC721Collection.Contract.Symbol(&_MetaRareERC721Collection.CallOpts) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() view returns(string) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) Symbol() (string, error) { return _MetaRareERC721Collection.Contract.Symbol(&_MetaRareERC721Collection.CallOpts) } // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. // // Solidity: function tokenByIndex(uint256 index) view returns(uint256) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "tokenByIndex", index) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. // // Solidity: function tokenByIndex(uint256 index) view returns(uint256) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TokenByIndex(index *big.Int) (*big.Int, error) { return _MetaRareERC721Collection.Contract.TokenByIndex(&_MetaRareERC721Collection.CallOpts, index) } // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. // // Solidity: function tokenByIndex(uint256 index) view returns(uint256) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { return _MetaRareERC721Collection.Contract.TokenByIndex(&_MetaRareERC721Collection.CallOpts, index) } // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. // // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. // // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { return _MetaRareERC721Collection.Contract.TokenOfOwnerByIndex(&_MetaRareERC721Collection.CallOpts, owner, index) } // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. // // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { return _MetaRareERC721Collection.Contract.TokenOfOwnerByIndex(&_MetaRareERC721Collection.CallOpts, owner, index) } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(uint256 tokenId) view returns(string) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "tokenURI", tokenId) if err != nil { return *new(string), err } out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(uint256 tokenId) view returns(string) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TokenURI(tokenId *big.Int) (string, error) { return _MetaRareERC721Collection.Contract.TokenURI(&_MetaRareERC721Collection.CallOpts, tokenId) } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(uint256 tokenId) view returns(string) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) TokenURI(tokenId *big.Int) (string, error) { return _MetaRareERC721Collection.Contract.TokenURI(&_MetaRareERC721Collection.CallOpts, tokenId) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() view returns(uint256) func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _MetaRareERC721Collection.contract.Call(opts, &out, "totalSupply") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() view returns(uint256) func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TotalSupply() (*big.Int, error) { return _MetaRareERC721Collection.Contract.TotalSupply(&_MetaRareERC721Collection.CallOpts) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() view returns(uint256) func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) TotalSupply() (*big.Int, error) { return _MetaRareERC721Collection.Contract.TotalSupply(&_MetaRareERC721Collection.CallOpts) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.contract.Transact(opts, "approve", to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.Approve(&_MetaRareERC721Collection.TransactOpts, to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address to, uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.Approve(&_MetaRareERC721Collection.TransactOpts, to, tokenId) } // Burn is a paid mutator transaction binding the contract method 0x42966c68. // // Solidity: function burn(uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) Burn(opts *bind.TransactOpts, tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.contract.Transact(opts, "burn", tokenId) } // Burn is a paid mutator transaction binding the contract method 0x42966c68. // // Solidity: function burn(uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Burn(tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.Burn(&_MetaRareERC721Collection.TransactOpts, tokenId) } // Burn is a paid mutator transaction binding the contract method 0x42966c68. // // Solidity: function burn(uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) Burn(tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.Burn(&_MetaRareERC721Collection.TransactOpts, tokenId) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _MetaRareERC721Collection.contract.Transact(opts, "grantRole", role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.GrantRole(&_MetaRareERC721Collection.TransactOpts, role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.GrantRole(&_MetaRareERC721Collection.TransactOpts, role, account) } // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee. // // Solidity: function initialize(string initName, string initSymbol, string baseURI, address collectionOwner, address operatorContract) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) Initialize(opts *bind.TransactOpts, initName string, initSymbol string, baseURI string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) { return _MetaRareERC721Collection.contract.Transact(opts, "initialize", initName, initSymbol, baseURI, collectionOwner, operatorContract) } // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee. // // Solidity: function initialize(string initName, string initSymbol, string baseURI, address collectionOwner, address operatorContract) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Initialize(initName string, initSymbol string, baseURI string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.Initialize(&_MetaRareERC721Collection.TransactOpts, initName, initSymbol, baseURI, collectionOwner, operatorContract) } // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee. // // Solidity: function initialize(string initName, string initSymbol, string baseURI, address collectionOwner, address operatorContract) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) Initialize(initName string, initSymbol string, baseURI string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.Initialize(&_MetaRareERC721Collection.TransactOpts, initName, initSymbol, baseURI, collectionOwner, operatorContract) } // Mint is a paid mutator transaction binding the contract method 0x40c10f19. // // Solidity: function mint(address to, uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) Mint(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.contract.Transact(opts, "mint", to, tokenId) } // Mint is a paid mutator transaction binding the contract method 0x40c10f19. // // Solidity: function mint(address to, uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Mint(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.Mint(&_MetaRareERC721Collection.TransactOpts, to, tokenId) } // Mint is a paid mutator transaction binding the contract method 0x40c10f19. // // Solidity: function mint(address to, uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) Mint(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.Mint(&_MetaRareERC721Collection.TransactOpts, to, tokenId) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _MetaRareERC721Collection.contract.Transact(opts, "renounceRole", role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.RenounceRole(&_MetaRareERC721Collection.TransactOpts, role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.RenounceRole(&_MetaRareERC721Collection.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _MetaRareERC721Collection.contract.Transact(opts, "revokeRole", role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.RevokeRole(&_MetaRareERC721Collection.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.RevokeRole(&_MetaRareERC721Collection.TransactOpts, role, account) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.SafeTransferFrom(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.SafeTransferFrom(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _MetaRareERC721Collection.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.SafeTransferFrom0(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId, _data) } // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.SafeTransferFrom0(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId, _data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool approved) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) { return _MetaRareERC721Collection.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 (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.SetApprovalForAll(&_MetaRareERC721Collection.TransactOpts, operator, approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(address operator, bool approved) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.SetApprovalForAll(&_MetaRareERC721Collection.TransactOpts, operator, approved) } // SetBaseURI is a paid mutator transaction binding the contract method 0x55f804b3. // // Solidity: function setBaseURI(string newBaseUri) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SetBaseURI(opts *bind.TransactOpts, newBaseUri string) (*types.Transaction, error) { return _MetaRareERC721Collection.contract.Transact(opts, "setBaseURI", newBaseUri) } // SetBaseURI is a paid mutator transaction binding the contract method 0x55f804b3. // // Solidity: function setBaseURI(string newBaseUri) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SetBaseURI(newBaseUri string) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.SetBaseURI(&_MetaRareERC721Collection.TransactOpts, newBaseUri) } // SetBaseURI is a paid mutator transaction binding the contract method 0x55f804b3. // // Solidity: function setBaseURI(string newBaseUri) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SetBaseURI(newBaseUri string) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.SetBaseURI(&_MetaRareERC721Collection.TransactOpts, newBaseUri) } // SetName is a paid mutator transaction binding the contract method 0xc47f0027. // // Solidity: function setName(string newName) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SetName(opts *bind.TransactOpts, newName string) (*types.Transaction, error) { return _MetaRareERC721Collection.contract.Transact(opts, "setName", newName) } // SetName is a paid mutator transaction binding the contract method 0xc47f0027. // // Solidity: function setName(string newName) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SetName(newName string) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.SetName(&_MetaRareERC721Collection.TransactOpts, newName) } // SetName is a paid mutator transaction binding the contract method 0xc47f0027. // // Solidity: function setName(string newName) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SetName(newName string) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.SetName(&_MetaRareERC721Collection.TransactOpts, newName) } // SetSymbol is a paid mutator transaction binding the contract method 0xb84c8246. // // Solidity: function setSymbol(string newSymbol) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SetSymbol(opts *bind.TransactOpts, newSymbol string) (*types.Transaction, error) { return _MetaRareERC721Collection.contract.Transact(opts, "setSymbol", newSymbol) } // SetSymbol is a paid mutator transaction binding the contract method 0xb84c8246. // // Solidity: function setSymbol(string newSymbol) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SetSymbol(newSymbol string) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.SetSymbol(&_MetaRareERC721Collection.TransactOpts, newSymbol) } // SetSymbol is a paid mutator transaction binding the contract method 0xb84c8246. // // Solidity: function setSymbol(string newSymbol) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SetSymbol(newSymbol string) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.SetSymbol(&_MetaRareERC721Collection.TransactOpts, newSymbol) } // SetTokenURI is a paid mutator transaction binding the contract method 0x162094c4. // // Solidity: function setTokenURI(uint256 tokenId, string _tokenURI) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SetTokenURI(opts *bind.TransactOpts, tokenId *big.Int, _tokenURI string) (*types.Transaction, error) { return _MetaRareERC721Collection.contract.Transact(opts, "setTokenURI", tokenId, _tokenURI) } // SetTokenURI is a paid mutator transaction binding the contract method 0x162094c4. // // Solidity: function setTokenURI(uint256 tokenId, string _tokenURI) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SetTokenURI(tokenId *big.Int, _tokenURI string) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.SetTokenURI(&_MetaRareERC721Collection.TransactOpts, tokenId, _tokenURI) } // SetTokenURI is a paid mutator transaction binding the contract method 0x162094c4. // // Solidity: function setTokenURI(uint256 tokenId, string _tokenURI) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SetTokenURI(tokenId *big.Int, _tokenURI string) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.SetTokenURI(&_MetaRareERC721Collection.TransactOpts, tokenId, _tokenURI) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.contract.Transact(opts, "transferFrom", from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.TransferFrom(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.TransferFrom(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId) } // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x5145dc57. // // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) TransferOnlyOperator(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.contract.Transact(opts, "transferOnlyOperator", from, to, tokenId) } // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x5145dc57. // // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TransferOnlyOperator(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.TransferOnlyOperator(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId) } // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x5145dc57. // // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId) returns() func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) TransferOnlyOperator(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _MetaRareERC721Collection.Contract.TransferOnlyOperator(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId) } // MetaRareERC721CollectionApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the MetaRareERC721Collection contract. type MetaRareERC721CollectionApprovalIterator struct { Event *MetaRareERC721CollectionApproval // 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 *MetaRareERC721CollectionApprovalIterator) 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(MetaRareERC721CollectionApproval) 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(MetaRareERC721CollectionApproval) 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 *MetaRareERC721CollectionApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MetaRareERC721CollectionApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // MetaRareERC721CollectionApproval represents a Approval event raised by the MetaRareERC721Collection contract. type MetaRareERC721CollectionApproval struct { Owner common.Address Approved common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*MetaRareERC721CollectionApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return &MetaRareERC721CollectionApprovalIterator{contract: _MetaRareERC721Collection.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 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(MetaRareERC721CollectionApproval) if err := _MetaRareERC721Collection.contract.UnpackLog(event, "Approval", 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 } // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseApproval(log types.Log) (*MetaRareERC721CollectionApproval, error) { event := new(MetaRareERC721CollectionApproval) if err := _MetaRareERC721Collection.contract.UnpackLog(event, "Approval", log); err != nil { return nil, err } event.Raw = log return event, nil } // MetaRareERC721CollectionApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the MetaRareERC721Collection contract. type MetaRareERC721CollectionApprovalForAllIterator struct { Event *MetaRareERC721CollectionApprovalForAll // 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 *MetaRareERC721CollectionApprovalForAllIterator) 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(MetaRareERC721CollectionApprovalForAll) 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(MetaRareERC721CollectionApprovalForAll) 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 *MetaRareERC721CollectionApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MetaRareERC721CollectionApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // MetaRareERC721CollectionApprovalForAll represents a ApprovalForAll event raised by the MetaRareERC721Collection contract. type MetaRareERC721CollectionApprovalForAll 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 (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*MetaRareERC721CollectionApprovalForAllIterator, 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 := _MetaRareERC721Collection.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return &MetaRareERC721CollectionApprovalForAllIterator{contract: _MetaRareERC721Collection.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 (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionApprovalForAll, 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 := _MetaRareERC721Collection.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(MetaRareERC721CollectionApprovalForAll) if err := _MetaRareERC721Collection.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 (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseApprovalForAll(log types.Log) (*MetaRareERC721CollectionApprovalForAll, error) { event := new(MetaRareERC721CollectionApprovalForAll) if err := _MetaRareERC721Collection.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return nil, err } event.Raw = log return event, nil } // MetaRareERC721CollectionRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the MetaRareERC721Collection contract. type MetaRareERC721CollectionRoleAdminChangedIterator struct { Event *MetaRareERC721CollectionRoleAdminChanged // 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 *MetaRareERC721CollectionRoleAdminChangedIterator) 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(MetaRareERC721CollectionRoleAdminChanged) 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(MetaRareERC721CollectionRoleAdminChanged) 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 *MetaRareERC721CollectionRoleAdminChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MetaRareERC721CollectionRoleAdminChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // MetaRareERC721CollectionRoleAdminChanged represents a RoleAdminChanged event raised by the MetaRareERC721Collection contract. type MetaRareERC721CollectionRoleAdminChanged struct { Role [32]byte PreviousAdminRole [32]byte NewAdminRole [32]byte Raw types.Log // Blockchain specific contextual infos } // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*MetaRareERC721CollectionRoleAdminChangedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) if err != nil { return nil, err } return &MetaRareERC721CollectionRoleAdminChangedIterator{contract: _MetaRareERC721Collection.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil } // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) 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(MetaRareERC721CollectionRoleAdminChanged) if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleAdminChanged", 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 } // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseRoleAdminChanged(log types.Log) (*MetaRareERC721CollectionRoleAdminChanged, error) { event := new(MetaRareERC721CollectionRoleAdminChanged) if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { return nil, err } event.Raw = log return event, nil } // MetaRareERC721CollectionRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the MetaRareERC721Collection contract. type MetaRareERC721CollectionRoleGrantedIterator struct { Event *MetaRareERC721CollectionRoleGranted // 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 *MetaRareERC721CollectionRoleGrantedIterator) 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(MetaRareERC721CollectionRoleGranted) 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(MetaRareERC721CollectionRoleGranted) 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 *MetaRareERC721CollectionRoleGrantedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MetaRareERC721CollectionRoleGrantedIterator) Close() error { it.sub.Unsubscribe() return nil } // MetaRareERC721CollectionRoleGranted represents a RoleGranted event raised by the MetaRareERC721Collection contract. type MetaRareERC721CollectionRoleGranted struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*MetaRareERC721CollectionRoleGrantedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &MetaRareERC721CollectionRoleGrantedIterator{contract: _MetaRareERC721Collection.contract, event: "RoleGranted", logs: logs, sub: sub}, nil } // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 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(MetaRareERC721CollectionRoleGranted) if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleGranted", 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 } // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseRoleGranted(log types.Log) (*MetaRareERC721CollectionRoleGranted, error) { event := new(MetaRareERC721CollectionRoleGranted) if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleGranted", log); err != nil { return nil, err } event.Raw = log return event, nil } // MetaRareERC721CollectionRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the MetaRareERC721Collection contract. type MetaRareERC721CollectionRoleRevokedIterator struct { Event *MetaRareERC721CollectionRoleRevoked // 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 *MetaRareERC721CollectionRoleRevokedIterator) 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(MetaRareERC721CollectionRoleRevoked) 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(MetaRareERC721CollectionRoleRevoked) 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 *MetaRareERC721CollectionRoleRevokedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MetaRareERC721CollectionRoleRevokedIterator) Close() error { it.sub.Unsubscribe() return nil } // MetaRareERC721CollectionRoleRevoked represents a RoleRevoked event raised by the MetaRareERC721Collection contract. type MetaRareERC721CollectionRoleRevoked struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*MetaRareERC721CollectionRoleRevokedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &MetaRareERC721CollectionRoleRevokedIterator{contract: _MetaRareERC721Collection.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil } // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 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(MetaRareERC721CollectionRoleRevoked) if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleRevoked", 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 } // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseRoleRevoked(log types.Log) (*MetaRareERC721CollectionRoleRevoked, error) { event := new(MetaRareERC721CollectionRoleRevoked) if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleRevoked", log); err != nil { return nil, err } event.Raw = log return event, nil } // MetaRareERC721CollectionTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the MetaRareERC721Collection contract. type MetaRareERC721CollectionTransferIterator struct { Event *MetaRareERC721CollectionTransfer // 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 *MetaRareERC721CollectionTransferIterator) 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(MetaRareERC721CollectionTransfer) 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(MetaRareERC721CollectionTransfer) 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 *MetaRareERC721CollectionTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MetaRareERC721CollectionTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // MetaRareERC721CollectionTransfer represents a Transfer event raised by the MetaRareERC721Collection contract. type MetaRareERC721CollectionTransfer struct { From common.Address To common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*MetaRareERC721CollectionTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return &MetaRareERC721CollectionTransferIterator{contract: _MetaRareERC721Collection.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 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(MetaRareERC721CollectionTransfer) if err := _MetaRareERC721Collection.contract.UnpackLog(event, "Transfer", 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 } // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseTransfer(log types.Log) (*MetaRareERC721CollectionTransfer, error) { event := new(MetaRareERC721CollectionTransfer) if err := _MetaRareERC721Collection.contract.UnpackLog(event, "Transfer", log); err != nil { return nil, err } event.Raw = log return event, nil } // OwnableMetaData contains all meta data concerning the Ownable contract. var OwnableMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "8da5cb5b": "owner()", "715018a6": "renounceOwnership()", "f2fde38b": "transferOwnership(address)", }, } // OwnableABI is the input ABI used to generate the binding from. // Deprecated: Use OwnableMetaData.ABI instead. var OwnableABI = OwnableMetaData.ABI // Deprecated: Use OwnableMetaData.Sigs instead. // OwnableFuncSigs maps the 4-byte function signature to its string representation. var OwnableFuncSigs = OwnableMetaData.Sigs // Ownable is an auto generated Go binding around an Ethereum contract. type Ownable struct { OwnableCaller // Read-only binding to the contract OwnableTransactor // Write-only binding to the contract OwnableFilterer // Log filterer for contract events } // OwnableCaller is an auto generated read-only Go binding around an Ethereum contract. type OwnableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OwnableTransactor is an auto generated write-only Go binding around an Ethereum contract. type OwnableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OwnableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type OwnableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OwnableSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type OwnableSession struct { Contract *Ownable // 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 } // OwnableCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type OwnableCallerSession struct { Contract *OwnableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // OwnableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type OwnableTransactorSession struct { Contract *OwnableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // OwnableRaw is an auto generated low-level Go binding around an Ethereum contract. type OwnableRaw struct { Contract *Ownable // Generic contract binding to access the raw methods on } // OwnableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type OwnableCallerRaw struct { Contract *OwnableCaller // Generic read-only contract binding to access the raw methods on } // OwnableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type OwnableTransactorRaw struct { Contract *OwnableTransactor // Generic write-only contract binding to access the raw methods on } // NewOwnable creates a new instance of Ownable, bound to a specific deployed contract. func NewOwnable(address common.Address, backend bind.ContractBackend) (*Ownable, error) { contract, err := bindOwnable(address, backend, backend, backend) if err != nil { return nil, err } return &Ownable{OwnableCaller: OwnableCaller{contract: contract}, OwnableTransactor: OwnableTransactor{contract: contract}, OwnableFilterer: OwnableFilterer{contract: contract}}, nil } // NewOwnableCaller creates a new read-only instance of Ownable, bound to a specific deployed contract. func NewOwnableCaller(address common.Address, caller bind.ContractCaller) (*OwnableCaller, error) { contract, err := bindOwnable(address, caller, nil, nil) if err != nil { return nil, err } return &OwnableCaller{contract: contract}, nil } // NewOwnableTransactor creates a new write-only instance of Ownable, bound to a specific deployed contract. func NewOwnableTransactor(address common.Address, transactor bind.ContractTransactor) (*OwnableTransactor, error) { contract, err := bindOwnable(address, nil, transactor, nil) if err != nil { return nil, err } return &OwnableTransactor{contract: contract}, nil } // NewOwnableFilterer creates a new log filterer instance of Ownable, bound to a specific deployed contract. func NewOwnableFilterer(address common.Address, filterer bind.ContractFilterer) (*OwnableFilterer, error) { contract, err := bindOwnable(address, nil, nil, filterer) if err != nil { return nil, err } return &OwnableFilterer{contract: contract}, nil } // bindOwnable binds a generic wrapper to an already deployed contract. func bindOwnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(OwnableABI)) 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 (_Ownable *OwnableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Ownable.Contract.OwnableCaller.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 (_Ownable *OwnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Ownable.Contract.OwnableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Ownable *OwnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Ownable.Contract.OwnableTransactor.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 (_Ownable *OwnableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Ownable.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 (_Ownable *OwnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Ownable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Ownable *OwnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Ownable.Contract.contract.Transact(opts, method, params...) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_Ownable *OwnableCaller) Owner(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _Ownable.contract.Call(opts, &out, "owner") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_Ownable *OwnableSession) Owner() (common.Address, error) { return _Ownable.Contract.Owner(&_Ownable.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_Ownable *OwnableCallerSession) Owner() (common.Address, error) { return _Ownable.Contract.Owner(&_Ownable.CallOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_Ownable *OwnableTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _Ownable.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_Ownable *OwnableSession) RenounceOwnership() (*types.Transaction, error) { return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_Ownable *OwnableTransactorSession) RenounceOwnership() (*types.Transaction, error) { return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_Ownable *OwnableTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _Ownable.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_Ownable *OwnableSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_Ownable *OwnableTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) } // OwnableOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Ownable contract. type OwnableOwnershipTransferredIterator struct { Event *OwnableOwnershipTransferred // 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 *OwnableOwnershipTransferredIterator) 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(OwnableOwnershipTransferred) 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(OwnableOwnershipTransferred) 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 *OwnableOwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OwnableOwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // OwnableOwnershipTransferred represents a OwnershipTransferred event raised by the Ownable contract. type OwnableOwnershipTransferred struct { PreviousOwner common.Address NewOwner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_Ownable *OwnableFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*OwnableOwnershipTransferredIterator, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _Ownable.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &OwnableOwnershipTransferredIterator{contract: _Ownable.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_Ownable *OwnableFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *OwnableOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _Ownable.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 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(OwnableOwnershipTransferred) if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", 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 } // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_Ownable *OwnableFilterer) ParseOwnershipTransferred(log types.Log) (*OwnableOwnershipTransferred, error) { event := new(OwnableOwnershipTransferred) if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return nil, err } event.Raw = log return event, nil } // SafeMathMetaData contains all meta data concerning the SafeMath contract. var SafeMathMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201fc18ef4fe49cd386cc40f05ccfc38eca9a6a4ddd13c34f6feca7955cbf776bb64736f6c63430008010033", } // SafeMathABI is the input ABI used to generate the binding from. // Deprecated: Use SafeMathMetaData.ABI instead. var SafeMathABI = SafeMathMetaData.ABI // SafeMathBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use SafeMathMetaData.Bin instead. var SafeMathBin = SafeMathMetaData.Bin // DeploySafeMath deploys a new Ethereum contract, binding an instance of SafeMath to it. func DeploySafeMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeMath, error) { parsed, err := SafeMathMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(SafeMathBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil } // SafeMath is an auto generated Go binding around an Ethereum contract. type SafeMath struct { SafeMathCaller // Read-only binding to the contract SafeMathTransactor // Write-only binding to the contract SafeMathFilterer // Log filterer for contract events } // SafeMathCaller is an auto generated read-only Go binding around an Ethereum contract. type SafeMathCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SafeMathTransactor is an auto generated write-only Go binding around an Ethereum contract. type SafeMathTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SafeMathFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type SafeMathFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SafeMathSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type SafeMathSession struct { Contract *SafeMath // 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 } // SafeMathCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type SafeMathCallerSession struct { Contract *SafeMathCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // SafeMathTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type SafeMathTransactorSession struct { Contract *SafeMathTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // SafeMathRaw is an auto generated low-level Go binding around an Ethereum contract. type SafeMathRaw struct { Contract *SafeMath // Generic contract binding to access the raw methods on } // SafeMathCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type SafeMathCallerRaw struct { Contract *SafeMathCaller // Generic read-only contract binding to access the raw methods on } // SafeMathTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type SafeMathTransactorRaw struct { Contract *SafeMathTransactor // Generic write-only contract binding to access the raw methods on } // NewSafeMath creates a new instance of SafeMath, bound to a specific deployed contract. func NewSafeMath(address common.Address, backend bind.ContractBackend) (*SafeMath, error) { contract, err := bindSafeMath(address, backend, backend, backend) if err != nil { return nil, err } return &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil } // NewSafeMathCaller creates a new read-only instance of SafeMath, bound to a specific deployed contract. func NewSafeMathCaller(address common.Address, caller bind.ContractCaller) (*SafeMathCaller, error) { contract, err := bindSafeMath(address, caller, nil, nil) if err != nil { return nil, err } return &SafeMathCaller{contract: contract}, nil } // NewSafeMathTransactor creates a new write-only instance of SafeMath, bound to a specific deployed contract. func NewSafeMathTransactor(address common.Address, transactor bind.ContractTransactor) (*SafeMathTransactor, error) { contract, err := bindSafeMath(address, nil, transactor, nil) if err != nil { return nil, err } return &SafeMathTransactor{contract: contract}, nil } // NewSafeMathFilterer creates a new log filterer instance of SafeMath, bound to a specific deployed contract. func NewSafeMathFilterer(address common.Address, filterer bind.ContractFilterer) (*SafeMathFilterer, error) { contract, err := bindSafeMath(address, nil, nil, filterer) if err != nil { return nil, err } return &SafeMathFilterer{contract: contract}, nil } // bindSafeMath binds a generic wrapper to an already deployed contract. func bindSafeMath(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(SafeMathABI)) 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 (_SafeMath *SafeMathRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _SafeMath.Contract.SafeMathCaller.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 (_SafeMath *SafeMathRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _SafeMath.Contract.SafeMathTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_SafeMath *SafeMathRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _SafeMath.Contract.SafeMathTransactor.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 (_SafeMath *SafeMathCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _SafeMath.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 (_SafeMath *SafeMathTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _SafeMath.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_SafeMath *SafeMathTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _SafeMath.Contract.contract.Transact(opts, method, params...) } // StringsMetaData contains all meta data concerning the Strings contract. var StringsMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122058baafeed872837f3d079e468c5f41092777ed4166f64475bcc91ae3f5c7b81f64736f6c63430008010033", } // StringsABI is the input ABI used to generate the binding from. // Deprecated: Use StringsMetaData.ABI instead. var StringsABI = StringsMetaData.ABI // StringsBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use StringsMetaData.Bin instead. var StringsBin = StringsMetaData.Bin // DeployStrings deploys a new Ethereum contract, binding an instance of Strings to it. func DeployStrings(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Strings, error) { parsed, err := StringsMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(StringsBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Strings{StringsCaller: StringsCaller{contract: contract}, StringsTransactor: StringsTransactor{contract: contract}, StringsFilterer: StringsFilterer{contract: contract}}, nil } // Strings is an auto generated Go binding around an Ethereum contract. type Strings struct { StringsCaller // Read-only binding to the contract StringsTransactor // Write-only binding to the contract StringsFilterer // Log filterer for contract events } // StringsCaller is an auto generated read-only Go binding around an Ethereum contract. type StringsCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // StringsTransactor is an auto generated write-only Go binding around an Ethereum contract. type StringsTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // StringsFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type StringsFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // StringsSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type StringsSession struct { Contract *Strings // 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 } // StringsCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type StringsCallerSession struct { Contract *StringsCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // StringsTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type StringsTransactorSession struct { Contract *StringsTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // StringsRaw is an auto generated low-level Go binding around an Ethereum contract. type StringsRaw struct { Contract *Strings // Generic contract binding to access the raw methods on } // StringsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type StringsCallerRaw struct { Contract *StringsCaller // Generic read-only contract binding to access the raw methods on } // StringsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type StringsTransactorRaw struct { Contract *StringsTransactor // Generic write-only contract binding to access the raw methods on } // NewStrings creates a new instance of Strings, bound to a specific deployed contract. func NewStrings(address common.Address, backend bind.ContractBackend) (*Strings, error) { contract, err := bindStrings(address, backend, backend, backend) if err != nil { return nil, err } return &Strings{StringsCaller: StringsCaller{contract: contract}, StringsTransactor: StringsTransactor{contract: contract}, StringsFilterer: StringsFilterer{contract: contract}}, nil } // NewStringsCaller creates a new read-only instance of Strings, bound to a specific deployed contract. func NewStringsCaller(address common.Address, caller bind.ContractCaller) (*StringsCaller, error) { contract, err := bindStrings(address, caller, nil, nil) if err != nil { return nil, err } return &StringsCaller{contract: contract}, nil } // NewStringsTransactor creates a new write-only instance of Strings, bound to a specific deployed contract. func NewStringsTransactor(address common.Address, transactor bind.ContractTransactor) (*StringsTransactor, error) { contract, err := bindStrings(address, nil, transactor, nil) if err != nil { return nil, err } return &StringsTransactor{contract: contract}, nil } // NewStringsFilterer creates a new log filterer instance of Strings, bound to a specific deployed contract. func NewStringsFilterer(address common.Address, filterer bind.ContractFilterer) (*StringsFilterer, error) { contract, err := bindStrings(address, nil, nil, filterer) if err != nil { return nil, err } return &StringsFilterer{contract: contract}, nil } // bindStrings binds a generic wrapper to an already deployed contract. func bindStrings(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(StringsABI)) 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 (_Strings *StringsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Strings.Contract.StringsCaller.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 (_Strings *StringsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Strings.Contract.StringsTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Strings *StringsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Strings.Contract.StringsTransactor.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 (_Strings *StringsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Strings.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 (_Strings *StringsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Strings.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Strings *StringsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Strings.Contract.contract.Transact(opts, method, params...) }