github.com/diadata-org/diadata@v1.4.593/config/nftContracts/sorare/sorare.go (about) 1 // Code generated - DO NOT EDIT. 2 // This file is a generated binding and any manual changes will be lost. 3 4 package sorare 5 6 import ( 7 "math/big" 8 "strings" 9 10 ethereum "github.com/ethereum/go-ethereum" 11 "github.com/ethereum/go-ethereum/accounts/abi" 12 "github.com/ethereum/go-ethereum/accounts/abi/bind" 13 "github.com/ethereum/go-ethereum/common" 14 "github.com/ethereum/go-ethereum/core/types" 15 "github.com/ethereum/go-ethereum/event" 16 ) 17 18 // Reference imports to suppress errors if they are not otherwise used. 19 var ( 20 _ = big.NewInt 21 _ = strings.NewReader 22 _ = ethereum.NotFound 23 _ = bind.Bind 24 _ = common.Big1 25 _ = types.BloomLookup 26 _ = event.NewSubscription 27 ) 28 29 // AccessControlABI is the input ABI used to generate the binding from. 30 const AccessControlABI = "[{\"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\"}]" 31 32 // AccessControlFuncSigs maps the 4-byte function signature to its string representation. 33 var AccessControlFuncSigs = map[string]string{ 34 "a217fddf": "DEFAULT_ADMIN_ROLE()", 35 "248a9ca3": "getRoleAdmin(bytes32)", 36 "9010d07c": "getRoleMember(bytes32,uint256)", 37 "ca15c873": "getRoleMemberCount(bytes32)", 38 "2f2ff15d": "grantRole(bytes32,address)", 39 "91d14854": "hasRole(bytes32,address)", 40 "36568abe": "renounceRole(bytes32,address)", 41 "d547741f": "revokeRole(bytes32,address)", 42 } 43 44 // AccessControl is an auto generated Go binding around an Ethereum contract. 45 type AccessControl struct { 46 AccessControlCaller // Read-only binding to the contract 47 AccessControlTransactor // Write-only binding to the contract 48 AccessControlFilterer // Log filterer for contract events 49 } 50 51 // AccessControlCaller is an auto generated read-only Go binding around an Ethereum contract. 52 type AccessControlCaller struct { 53 contract *bind.BoundContract // Generic contract wrapper for the low level calls 54 } 55 56 // AccessControlTransactor is an auto generated write-only Go binding around an Ethereum contract. 57 type AccessControlTransactor struct { 58 contract *bind.BoundContract // Generic contract wrapper for the low level calls 59 } 60 61 // AccessControlFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 62 type AccessControlFilterer struct { 63 contract *bind.BoundContract // Generic contract wrapper for the low level calls 64 } 65 66 // AccessControlSession is an auto generated Go binding around an Ethereum contract, 67 // with pre-set call and transact options. 68 type AccessControlSession struct { 69 Contract *AccessControl // Generic contract binding to set the session for 70 CallOpts bind.CallOpts // Call options to use throughout this session 71 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 72 } 73 74 // AccessControlCallerSession is an auto generated read-only Go binding around an Ethereum contract, 75 // with pre-set call options. 76 type AccessControlCallerSession struct { 77 Contract *AccessControlCaller // Generic contract caller binding to set the session for 78 CallOpts bind.CallOpts // Call options to use throughout this session 79 } 80 81 // AccessControlTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 82 // with pre-set transact options. 83 type AccessControlTransactorSession struct { 84 Contract *AccessControlTransactor // Generic contract transactor binding to set the session for 85 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 86 } 87 88 // AccessControlRaw is an auto generated low-level Go binding around an Ethereum contract. 89 type AccessControlRaw struct { 90 Contract *AccessControl // Generic contract binding to access the raw methods on 91 } 92 93 // AccessControlCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 94 type AccessControlCallerRaw struct { 95 Contract *AccessControlCaller // Generic read-only contract binding to access the raw methods on 96 } 97 98 // AccessControlTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 99 type AccessControlTransactorRaw struct { 100 Contract *AccessControlTransactor // Generic write-only contract binding to access the raw methods on 101 } 102 103 // NewAccessControl creates a new instance of AccessControl, bound to a specific deployed contract. 104 func NewAccessControl(address common.Address, backend bind.ContractBackend) (*AccessControl, error) { 105 contract, err := bindAccessControl(address, backend, backend, backend) 106 if err != nil { 107 return nil, err 108 } 109 return &AccessControl{AccessControlCaller: AccessControlCaller{contract: contract}, AccessControlTransactor: AccessControlTransactor{contract: contract}, AccessControlFilterer: AccessControlFilterer{contract: contract}}, nil 110 } 111 112 // NewAccessControlCaller creates a new read-only instance of AccessControl, bound to a specific deployed contract. 113 func NewAccessControlCaller(address common.Address, caller bind.ContractCaller) (*AccessControlCaller, error) { 114 contract, err := bindAccessControl(address, caller, nil, nil) 115 if err != nil { 116 return nil, err 117 } 118 return &AccessControlCaller{contract: contract}, nil 119 } 120 121 // NewAccessControlTransactor creates a new write-only instance of AccessControl, bound to a specific deployed contract. 122 func NewAccessControlTransactor(address common.Address, transactor bind.ContractTransactor) (*AccessControlTransactor, error) { 123 contract, err := bindAccessControl(address, nil, transactor, nil) 124 if err != nil { 125 return nil, err 126 } 127 return &AccessControlTransactor{contract: contract}, nil 128 } 129 130 // NewAccessControlFilterer creates a new log filterer instance of AccessControl, bound to a specific deployed contract. 131 func NewAccessControlFilterer(address common.Address, filterer bind.ContractFilterer) (*AccessControlFilterer, error) { 132 contract, err := bindAccessControl(address, nil, nil, filterer) 133 if err != nil { 134 return nil, err 135 } 136 return &AccessControlFilterer{contract: contract}, nil 137 } 138 139 // bindAccessControl binds a generic wrapper to an already deployed contract. 140 func bindAccessControl(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 141 parsed, err := abi.JSON(strings.NewReader(AccessControlABI)) 142 if err != nil { 143 return nil, err 144 } 145 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 146 } 147 148 // Call invokes the (constant) contract method with params as input values and 149 // sets the output to result. The result type might be a single field for simple 150 // returns, a slice of interfaces for anonymous returns and a struct for named 151 // returns. 152 func (_AccessControl *AccessControlRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 153 return _AccessControl.Contract.AccessControlCaller.contract.Call(opts, result, method, params...) 154 } 155 156 // Transfer initiates a plain transaction to move funds to the contract, calling 157 // its default method if one is available. 158 func (_AccessControl *AccessControlRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 159 return _AccessControl.Contract.AccessControlTransactor.contract.Transfer(opts) 160 } 161 162 // Transact invokes the (paid) contract method with params as input values. 163 func (_AccessControl *AccessControlRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 164 return _AccessControl.Contract.AccessControlTransactor.contract.Transact(opts, method, params...) 165 } 166 167 // Call invokes the (constant) contract method with params as input values and 168 // sets the output to result. The result type might be a single field for simple 169 // returns, a slice of interfaces for anonymous returns and a struct for named 170 // returns. 171 func (_AccessControl *AccessControlCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 172 return _AccessControl.Contract.contract.Call(opts, result, method, params...) 173 } 174 175 // Transfer initiates a plain transaction to move funds to the contract, calling 176 // its default method if one is available. 177 func (_AccessControl *AccessControlTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 178 return _AccessControl.Contract.contract.Transfer(opts) 179 } 180 181 // Transact invokes the (paid) contract method with params as input values. 182 func (_AccessControl *AccessControlTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 183 return _AccessControl.Contract.contract.Transact(opts, method, params...) 184 } 185 186 // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. 187 // 188 // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) 189 func (_AccessControl *AccessControlCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) { 190 var out []interface{} 191 err := _AccessControl.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE") 192 193 if err != nil { 194 return *new([32]byte), err 195 } 196 197 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 198 199 return out0, err 200 201 } 202 203 // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. 204 // 205 // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) 206 func (_AccessControl *AccessControlSession) DEFAULTADMINROLE() ([32]byte, error) { 207 return _AccessControl.Contract.DEFAULTADMINROLE(&_AccessControl.CallOpts) 208 } 209 210 // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. 211 // 212 // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) 213 func (_AccessControl *AccessControlCallerSession) DEFAULTADMINROLE() ([32]byte, error) { 214 return _AccessControl.Contract.DEFAULTADMINROLE(&_AccessControl.CallOpts) 215 } 216 217 // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. 218 // 219 // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) 220 func (_AccessControl *AccessControlCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { 221 var out []interface{} 222 err := _AccessControl.contract.Call(opts, &out, "getRoleAdmin", role) 223 224 if err != nil { 225 return *new([32]byte), err 226 } 227 228 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 229 230 return out0, err 231 232 } 233 234 // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. 235 // 236 // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) 237 func (_AccessControl *AccessControlSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { 238 return _AccessControl.Contract.GetRoleAdmin(&_AccessControl.CallOpts, role) 239 } 240 241 // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. 242 // 243 // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) 244 func (_AccessControl *AccessControlCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { 245 return _AccessControl.Contract.GetRoleAdmin(&_AccessControl.CallOpts, role) 246 } 247 248 // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. 249 // 250 // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) 251 func (_AccessControl *AccessControlCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) { 252 var out []interface{} 253 err := _AccessControl.contract.Call(opts, &out, "getRoleMember", role, index) 254 255 if err != nil { 256 return *new(common.Address), err 257 } 258 259 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 260 261 return out0, err 262 263 } 264 265 // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. 266 // 267 // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) 268 func (_AccessControl *AccessControlSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { 269 return _AccessControl.Contract.GetRoleMember(&_AccessControl.CallOpts, role, index) 270 } 271 272 // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. 273 // 274 // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) 275 func (_AccessControl *AccessControlCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { 276 return _AccessControl.Contract.GetRoleMember(&_AccessControl.CallOpts, role, index) 277 } 278 279 // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. 280 // 281 // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) 282 func (_AccessControl *AccessControlCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) { 283 var out []interface{} 284 err := _AccessControl.contract.Call(opts, &out, "getRoleMemberCount", role) 285 286 if err != nil { 287 return *new(*big.Int), err 288 } 289 290 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 291 292 return out0, err 293 294 } 295 296 // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. 297 // 298 // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) 299 func (_AccessControl *AccessControlSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { 300 return _AccessControl.Contract.GetRoleMemberCount(&_AccessControl.CallOpts, role) 301 } 302 303 // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. 304 // 305 // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) 306 func (_AccessControl *AccessControlCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { 307 return _AccessControl.Contract.GetRoleMemberCount(&_AccessControl.CallOpts, role) 308 } 309 310 // HasRole is a free data retrieval call binding the contract method 0x91d14854. 311 // 312 // Solidity: function hasRole(bytes32 role, address account) view returns(bool) 313 func (_AccessControl *AccessControlCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { 314 var out []interface{} 315 err := _AccessControl.contract.Call(opts, &out, "hasRole", role, account) 316 317 if err != nil { 318 return *new(bool), err 319 } 320 321 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 322 323 return out0, err 324 325 } 326 327 // HasRole is a free data retrieval call binding the contract method 0x91d14854. 328 // 329 // Solidity: function hasRole(bytes32 role, address account) view returns(bool) 330 func (_AccessControl *AccessControlSession) HasRole(role [32]byte, account common.Address) (bool, error) { 331 return _AccessControl.Contract.HasRole(&_AccessControl.CallOpts, role, account) 332 } 333 334 // HasRole is a free data retrieval call binding the contract method 0x91d14854. 335 // 336 // Solidity: function hasRole(bytes32 role, address account) view returns(bool) 337 func (_AccessControl *AccessControlCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { 338 return _AccessControl.Contract.HasRole(&_AccessControl.CallOpts, role, account) 339 } 340 341 // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. 342 // 343 // Solidity: function grantRole(bytes32 role, address account) returns() 344 func (_AccessControl *AccessControlTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { 345 return _AccessControl.contract.Transact(opts, "grantRole", role, account) 346 } 347 348 // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. 349 // 350 // Solidity: function grantRole(bytes32 role, address account) returns() 351 func (_AccessControl *AccessControlSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { 352 return _AccessControl.Contract.GrantRole(&_AccessControl.TransactOpts, role, account) 353 } 354 355 // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. 356 // 357 // Solidity: function grantRole(bytes32 role, address account) returns() 358 func (_AccessControl *AccessControlTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { 359 return _AccessControl.Contract.GrantRole(&_AccessControl.TransactOpts, role, account) 360 } 361 362 // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. 363 // 364 // Solidity: function renounceRole(bytes32 role, address account) returns() 365 func (_AccessControl *AccessControlTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { 366 return _AccessControl.contract.Transact(opts, "renounceRole", role, account) 367 } 368 369 // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. 370 // 371 // Solidity: function renounceRole(bytes32 role, address account) returns() 372 func (_AccessControl *AccessControlSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { 373 return _AccessControl.Contract.RenounceRole(&_AccessControl.TransactOpts, role, account) 374 } 375 376 // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. 377 // 378 // Solidity: function renounceRole(bytes32 role, address account) returns() 379 func (_AccessControl *AccessControlTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { 380 return _AccessControl.Contract.RenounceRole(&_AccessControl.TransactOpts, role, account) 381 } 382 383 // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. 384 // 385 // Solidity: function revokeRole(bytes32 role, address account) returns() 386 func (_AccessControl *AccessControlTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { 387 return _AccessControl.contract.Transact(opts, "revokeRole", role, account) 388 } 389 390 // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. 391 // 392 // Solidity: function revokeRole(bytes32 role, address account) returns() 393 func (_AccessControl *AccessControlSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { 394 return _AccessControl.Contract.RevokeRole(&_AccessControl.TransactOpts, role, account) 395 } 396 397 // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. 398 // 399 // Solidity: function revokeRole(bytes32 role, address account) returns() 400 func (_AccessControl *AccessControlTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { 401 return _AccessControl.Contract.RevokeRole(&_AccessControl.TransactOpts, role, account) 402 } 403 404 // 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. 405 type AccessControlRoleGrantedIterator struct { 406 Event *AccessControlRoleGranted // Event containing the contract specifics and raw log 407 408 contract *bind.BoundContract // Generic contract to use for unpacking event data 409 event string // Event name to use for unpacking event data 410 411 logs chan types.Log // Log channel receiving the found contract events 412 sub ethereum.Subscription // Subscription for errors, completion and termination 413 done bool // Whether the subscription completed delivering logs 414 fail error // Occurred error to stop iteration 415 } 416 417 // Next advances the iterator to the subsequent event, returning whether there 418 // are any more events found. In case of a retrieval or parsing error, false is 419 // returned and Error() can be queried for the exact failure. 420 func (it *AccessControlRoleGrantedIterator) Next() bool { 421 // If the iterator failed, stop iterating 422 if it.fail != nil { 423 return false 424 } 425 // If the iterator completed, deliver directly whatever's available 426 if it.done { 427 select { 428 case log := <-it.logs: 429 it.Event = new(AccessControlRoleGranted) 430 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 431 it.fail = err 432 return false 433 } 434 it.Event.Raw = log 435 return true 436 437 default: 438 return false 439 } 440 } 441 // Iterator still in progress, wait for either a data or an error event 442 select { 443 case log := <-it.logs: 444 it.Event = new(AccessControlRoleGranted) 445 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 446 it.fail = err 447 return false 448 } 449 it.Event.Raw = log 450 return true 451 452 case err := <-it.sub.Err(): 453 it.done = true 454 it.fail = err 455 return it.Next() 456 } 457 } 458 459 // Error returns any retrieval or parsing error occurred during filtering. 460 func (it *AccessControlRoleGrantedIterator) Error() error { 461 return it.fail 462 } 463 464 // Close terminates the iteration process, releasing any pending underlying 465 // resources. 466 func (it *AccessControlRoleGrantedIterator) Close() error { 467 it.sub.Unsubscribe() 468 return nil 469 } 470 471 // AccessControlRoleGranted represents a RoleGranted event raised by the AccessControl contract. 472 type AccessControlRoleGranted struct { 473 Role [32]byte 474 Account common.Address 475 Sender common.Address 476 Raw types.Log // Blockchain specific contextual infos 477 } 478 479 // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. 480 // 481 // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) 482 func (_AccessControl *AccessControlFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlRoleGrantedIterator, error) { 483 484 var roleRule []interface{} 485 for _, roleItem := range role { 486 roleRule = append(roleRule, roleItem) 487 } 488 var accountRule []interface{} 489 for _, accountItem := range account { 490 accountRule = append(accountRule, accountItem) 491 } 492 var senderRule []interface{} 493 for _, senderItem := range sender { 494 senderRule = append(senderRule, senderItem) 495 } 496 497 logs, sub, err := _AccessControl.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 498 if err != nil { 499 return nil, err 500 } 501 return &AccessControlRoleGrantedIterator{contract: _AccessControl.contract, event: "RoleGranted", logs: logs, sub: sub}, nil 502 } 503 504 // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. 505 // 506 // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) 507 func (_AccessControl *AccessControlFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *AccessControlRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { 508 509 var roleRule []interface{} 510 for _, roleItem := range role { 511 roleRule = append(roleRule, roleItem) 512 } 513 var accountRule []interface{} 514 for _, accountItem := range account { 515 accountRule = append(accountRule, accountItem) 516 } 517 var senderRule []interface{} 518 for _, senderItem := range sender { 519 senderRule = append(senderRule, senderItem) 520 } 521 522 logs, sub, err := _AccessControl.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 523 if err != nil { 524 return nil, err 525 } 526 return event.NewSubscription(func(quit <-chan struct{}) error { 527 defer sub.Unsubscribe() 528 for { 529 select { 530 case log := <-logs: 531 // New log arrived, parse the event and forward to the user 532 event := new(AccessControlRoleGranted) 533 if err := _AccessControl.contract.UnpackLog(event, "RoleGranted", log); err != nil { 534 return err 535 } 536 event.Raw = log 537 538 select { 539 case sink <- event: 540 case err := <-sub.Err(): 541 return err 542 case <-quit: 543 return nil 544 } 545 case err := <-sub.Err(): 546 return err 547 case <-quit: 548 return nil 549 } 550 } 551 }), nil 552 } 553 554 // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. 555 // 556 // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) 557 func (_AccessControl *AccessControlFilterer) ParseRoleGranted(log types.Log) (*AccessControlRoleGranted, error) { 558 event := new(AccessControlRoleGranted) 559 if err := _AccessControl.contract.UnpackLog(event, "RoleGranted", log); err != nil { 560 return nil, err 561 } 562 event.Raw = log 563 return event, nil 564 } 565 566 // 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. 567 type AccessControlRoleRevokedIterator struct { 568 Event *AccessControlRoleRevoked // Event containing the contract specifics and raw log 569 570 contract *bind.BoundContract // Generic contract to use for unpacking event data 571 event string // Event name to use for unpacking event data 572 573 logs chan types.Log // Log channel receiving the found contract events 574 sub ethereum.Subscription // Subscription for errors, completion and termination 575 done bool // Whether the subscription completed delivering logs 576 fail error // Occurred error to stop iteration 577 } 578 579 // Next advances the iterator to the subsequent event, returning whether there 580 // are any more events found. In case of a retrieval or parsing error, false is 581 // returned and Error() can be queried for the exact failure. 582 func (it *AccessControlRoleRevokedIterator) Next() bool { 583 // If the iterator failed, stop iterating 584 if it.fail != nil { 585 return false 586 } 587 // If the iterator completed, deliver directly whatever's available 588 if it.done { 589 select { 590 case log := <-it.logs: 591 it.Event = new(AccessControlRoleRevoked) 592 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 593 it.fail = err 594 return false 595 } 596 it.Event.Raw = log 597 return true 598 599 default: 600 return false 601 } 602 } 603 // Iterator still in progress, wait for either a data or an error event 604 select { 605 case log := <-it.logs: 606 it.Event = new(AccessControlRoleRevoked) 607 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 608 it.fail = err 609 return false 610 } 611 it.Event.Raw = log 612 return true 613 614 case err := <-it.sub.Err(): 615 it.done = true 616 it.fail = err 617 return it.Next() 618 } 619 } 620 621 // Error returns any retrieval or parsing error occurred during filtering. 622 func (it *AccessControlRoleRevokedIterator) Error() error { 623 return it.fail 624 } 625 626 // Close terminates the iteration process, releasing any pending underlying 627 // resources. 628 func (it *AccessControlRoleRevokedIterator) Close() error { 629 it.sub.Unsubscribe() 630 return nil 631 } 632 633 // AccessControlRoleRevoked represents a RoleRevoked event raised by the AccessControl contract. 634 type AccessControlRoleRevoked struct { 635 Role [32]byte 636 Account common.Address 637 Sender common.Address 638 Raw types.Log // Blockchain specific contextual infos 639 } 640 641 // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. 642 // 643 // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) 644 func (_AccessControl *AccessControlFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlRoleRevokedIterator, error) { 645 646 var roleRule []interface{} 647 for _, roleItem := range role { 648 roleRule = append(roleRule, roleItem) 649 } 650 var accountRule []interface{} 651 for _, accountItem := range account { 652 accountRule = append(accountRule, accountItem) 653 } 654 var senderRule []interface{} 655 for _, senderItem := range sender { 656 senderRule = append(senderRule, senderItem) 657 } 658 659 logs, sub, err := _AccessControl.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 660 if err != nil { 661 return nil, err 662 } 663 return &AccessControlRoleRevokedIterator{contract: _AccessControl.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil 664 } 665 666 // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. 667 // 668 // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) 669 func (_AccessControl *AccessControlFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *AccessControlRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { 670 671 var roleRule []interface{} 672 for _, roleItem := range role { 673 roleRule = append(roleRule, roleItem) 674 } 675 var accountRule []interface{} 676 for _, accountItem := range account { 677 accountRule = append(accountRule, accountItem) 678 } 679 var senderRule []interface{} 680 for _, senderItem := range sender { 681 senderRule = append(senderRule, senderItem) 682 } 683 684 logs, sub, err := _AccessControl.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 685 if err != nil { 686 return nil, err 687 } 688 return event.NewSubscription(func(quit <-chan struct{}) error { 689 defer sub.Unsubscribe() 690 for { 691 select { 692 case log := <-logs: 693 // New log arrived, parse the event and forward to the user 694 event := new(AccessControlRoleRevoked) 695 if err := _AccessControl.contract.UnpackLog(event, "RoleRevoked", log); err != nil { 696 return err 697 } 698 event.Raw = log 699 700 select { 701 case sink <- event: 702 case err := <-sub.Err(): 703 return err 704 case <-quit: 705 return nil 706 } 707 case err := <-sub.Err(): 708 return err 709 case <-quit: 710 return nil 711 } 712 } 713 }), nil 714 } 715 716 // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. 717 // 718 // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) 719 func (_AccessControl *AccessControlFilterer) ParseRoleRevoked(log types.Log) (*AccessControlRoleRevoked, error) { 720 event := new(AccessControlRoleRevoked) 721 if err := _AccessControl.contract.UnpackLog(event, "RoleRevoked", log); err != nil { 722 return nil, err 723 } 724 event.Raw = log 725 return event, nil 726 } 727 728 // AddressABI is the input ABI used to generate the binding from. 729 const AddressABI = "[]" 730 731 // AddressBin is the compiled bytecode used for deploying new contracts. 732 var AddressBin = "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202b0eb88c4c4349fe220768698c4f9fc125177f16e50e87b66b8c7d7ec78951ed64736f6c63430006060033" 733 734 // DeployAddress deploys a new Ethereum contract, binding an instance of Address to it. 735 func DeployAddress(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Address, error) { 736 parsed, err := abi.JSON(strings.NewReader(AddressABI)) 737 if err != nil { 738 return common.Address{}, nil, nil, err 739 } 740 741 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(AddressBin), backend) 742 if err != nil { 743 return common.Address{}, nil, nil, err 744 } 745 return address, tx, &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil 746 } 747 748 // Address is an auto generated Go binding around an Ethereum contract. 749 type Address struct { 750 AddressCaller // Read-only binding to the contract 751 AddressTransactor // Write-only binding to the contract 752 AddressFilterer // Log filterer for contract events 753 } 754 755 // AddressCaller is an auto generated read-only Go binding around an Ethereum contract. 756 type AddressCaller struct { 757 contract *bind.BoundContract // Generic contract wrapper for the low level calls 758 } 759 760 // AddressTransactor is an auto generated write-only Go binding around an Ethereum contract. 761 type AddressTransactor struct { 762 contract *bind.BoundContract // Generic contract wrapper for the low level calls 763 } 764 765 // AddressFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 766 type AddressFilterer struct { 767 contract *bind.BoundContract // Generic contract wrapper for the low level calls 768 } 769 770 // AddressSession is an auto generated Go binding around an Ethereum contract, 771 // with pre-set call and transact options. 772 type AddressSession struct { 773 Contract *Address // Generic contract binding to set the session for 774 CallOpts bind.CallOpts // Call options to use throughout this session 775 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 776 } 777 778 // AddressCallerSession is an auto generated read-only Go binding around an Ethereum contract, 779 // with pre-set call options. 780 type AddressCallerSession struct { 781 Contract *AddressCaller // Generic contract caller binding to set the session for 782 CallOpts bind.CallOpts // Call options to use throughout this session 783 } 784 785 // AddressTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 786 // with pre-set transact options. 787 type AddressTransactorSession struct { 788 Contract *AddressTransactor // Generic contract transactor binding to set the session for 789 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 790 } 791 792 // AddressRaw is an auto generated low-level Go binding around an Ethereum contract. 793 type AddressRaw struct { 794 Contract *Address // Generic contract binding to access the raw methods on 795 } 796 797 // AddressCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 798 type AddressCallerRaw struct { 799 Contract *AddressCaller // Generic read-only contract binding to access the raw methods on 800 } 801 802 // AddressTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 803 type AddressTransactorRaw struct { 804 Contract *AddressTransactor // Generic write-only contract binding to access the raw methods on 805 } 806 807 // NewAddress creates a new instance of Address, bound to a specific deployed contract. 808 func NewAddress(address common.Address, backend bind.ContractBackend) (*Address, error) { 809 contract, err := bindAddress(address, backend, backend, backend) 810 if err != nil { 811 return nil, err 812 } 813 return &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil 814 } 815 816 // NewAddressCaller creates a new read-only instance of Address, bound to a specific deployed contract. 817 func NewAddressCaller(address common.Address, caller bind.ContractCaller) (*AddressCaller, error) { 818 contract, err := bindAddress(address, caller, nil, nil) 819 if err != nil { 820 return nil, err 821 } 822 return &AddressCaller{contract: contract}, nil 823 } 824 825 // NewAddressTransactor creates a new write-only instance of Address, bound to a specific deployed contract. 826 func NewAddressTransactor(address common.Address, transactor bind.ContractTransactor) (*AddressTransactor, error) { 827 contract, err := bindAddress(address, nil, transactor, nil) 828 if err != nil { 829 return nil, err 830 } 831 return &AddressTransactor{contract: contract}, nil 832 } 833 834 // NewAddressFilterer creates a new log filterer instance of Address, bound to a specific deployed contract. 835 func NewAddressFilterer(address common.Address, filterer bind.ContractFilterer) (*AddressFilterer, error) { 836 contract, err := bindAddress(address, nil, nil, filterer) 837 if err != nil { 838 return nil, err 839 } 840 return &AddressFilterer{contract: contract}, nil 841 } 842 843 // bindAddress binds a generic wrapper to an already deployed contract. 844 func bindAddress(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 845 parsed, err := abi.JSON(strings.NewReader(AddressABI)) 846 if err != nil { 847 return nil, err 848 } 849 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 850 } 851 852 // Call invokes the (constant) contract method with params as input values and 853 // sets the output to result. The result type might be a single field for simple 854 // returns, a slice of interfaces for anonymous returns and a struct for named 855 // returns. 856 func (_Address *AddressRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 857 return _Address.Contract.AddressCaller.contract.Call(opts, result, method, params...) 858 } 859 860 // Transfer initiates a plain transaction to move funds to the contract, calling 861 // its default method if one is available. 862 func (_Address *AddressRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 863 return _Address.Contract.AddressTransactor.contract.Transfer(opts) 864 } 865 866 // Transact invokes the (paid) contract method with params as input values. 867 func (_Address *AddressRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 868 return _Address.Contract.AddressTransactor.contract.Transact(opts, method, params...) 869 } 870 871 // Call invokes the (constant) contract method with params as input values and 872 // sets the output to result. The result type might be a single field for simple 873 // returns, a slice of interfaces for anonymous returns and a struct for named 874 // returns. 875 func (_Address *AddressCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 876 return _Address.Contract.contract.Call(opts, result, method, params...) 877 } 878 879 // Transfer initiates a plain transaction to move funds to the contract, calling 880 // its default method if one is available. 881 func (_Address *AddressTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 882 return _Address.Contract.contract.Transfer(opts) 883 } 884 885 // Transact invokes the (paid) contract method with params as input values. 886 func (_Address *AddressTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 887 return _Address.Contract.contract.Transact(opts, method, params...) 888 } 889 890 // ContextABI is the input ABI used to generate the binding from. 891 const ContextABI = "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}]" 892 893 // Context is an auto generated Go binding around an Ethereum contract. 894 type Context struct { 895 ContextCaller // Read-only binding to the contract 896 ContextTransactor // Write-only binding to the contract 897 ContextFilterer // Log filterer for contract events 898 } 899 900 // ContextCaller is an auto generated read-only Go binding around an Ethereum contract. 901 type ContextCaller struct { 902 contract *bind.BoundContract // Generic contract wrapper for the low level calls 903 } 904 905 // ContextTransactor is an auto generated write-only Go binding around an Ethereum contract. 906 type ContextTransactor struct { 907 contract *bind.BoundContract // Generic contract wrapper for the low level calls 908 } 909 910 // ContextFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 911 type ContextFilterer struct { 912 contract *bind.BoundContract // Generic contract wrapper for the low level calls 913 } 914 915 // ContextSession is an auto generated Go binding around an Ethereum contract, 916 // with pre-set call and transact options. 917 type ContextSession struct { 918 Contract *Context // Generic contract binding to set the session for 919 CallOpts bind.CallOpts // Call options to use throughout this session 920 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 921 } 922 923 // ContextCallerSession is an auto generated read-only Go binding around an Ethereum contract, 924 // with pre-set call options. 925 type ContextCallerSession struct { 926 Contract *ContextCaller // Generic contract caller binding to set the session for 927 CallOpts bind.CallOpts // Call options to use throughout this session 928 } 929 930 // ContextTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 931 // with pre-set transact options. 932 type ContextTransactorSession struct { 933 Contract *ContextTransactor // Generic contract transactor binding to set the session for 934 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 935 } 936 937 // ContextRaw is an auto generated low-level Go binding around an Ethereum contract. 938 type ContextRaw struct { 939 Contract *Context // Generic contract binding to access the raw methods on 940 } 941 942 // ContextCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 943 type ContextCallerRaw struct { 944 Contract *ContextCaller // Generic read-only contract binding to access the raw methods on 945 } 946 947 // ContextTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 948 type ContextTransactorRaw struct { 949 Contract *ContextTransactor // Generic write-only contract binding to access the raw methods on 950 } 951 952 // NewContext creates a new instance of Context, bound to a specific deployed contract. 953 func NewContext(address common.Address, backend bind.ContractBackend) (*Context, error) { 954 contract, err := bindContext(address, backend, backend, backend) 955 if err != nil { 956 return nil, err 957 } 958 return &Context{ContextCaller: ContextCaller{contract: contract}, ContextTransactor: ContextTransactor{contract: contract}, ContextFilterer: ContextFilterer{contract: contract}}, nil 959 } 960 961 // NewContextCaller creates a new read-only instance of Context, bound to a specific deployed contract. 962 func NewContextCaller(address common.Address, caller bind.ContractCaller) (*ContextCaller, error) { 963 contract, err := bindContext(address, caller, nil, nil) 964 if err != nil { 965 return nil, err 966 } 967 return &ContextCaller{contract: contract}, nil 968 } 969 970 // NewContextTransactor creates a new write-only instance of Context, bound to a specific deployed contract. 971 func NewContextTransactor(address common.Address, transactor bind.ContractTransactor) (*ContextTransactor, error) { 972 contract, err := bindContext(address, nil, transactor, nil) 973 if err != nil { 974 return nil, err 975 } 976 return &ContextTransactor{contract: contract}, nil 977 } 978 979 // NewContextFilterer creates a new log filterer instance of Context, bound to a specific deployed contract. 980 func NewContextFilterer(address common.Address, filterer bind.ContractFilterer) (*ContextFilterer, error) { 981 contract, err := bindContext(address, nil, nil, filterer) 982 if err != nil { 983 return nil, err 984 } 985 return &ContextFilterer{contract: contract}, nil 986 } 987 988 // bindContext binds a generic wrapper to an already deployed contract. 989 func bindContext(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 990 parsed, err := abi.JSON(strings.NewReader(ContextABI)) 991 if err != nil { 992 return nil, err 993 } 994 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 995 } 996 997 // Call invokes the (constant) contract method with params as input values and 998 // sets the output to result. The result type might be a single field for simple 999 // returns, a slice of interfaces for anonymous returns and a struct for named 1000 // returns. 1001 func (_Context *ContextRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1002 return _Context.Contract.ContextCaller.contract.Call(opts, result, method, params...) 1003 } 1004 1005 // Transfer initiates a plain transaction to move funds to the contract, calling 1006 // its default method if one is available. 1007 func (_Context *ContextRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1008 return _Context.Contract.ContextTransactor.contract.Transfer(opts) 1009 } 1010 1011 // Transact invokes the (paid) contract method with params as input values. 1012 func (_Context *ContextRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1013 return _Context.Contract.ContextTransactor.contract.Transact(opts, method, params...) 1014 } 1015 1016 // Call invokes the (constant) contract method with params as input values and 1017 // sets the output to result. The result type might be a single field for simple 1018 // returns, a slice of interfaces for anonymous returns and a struct for named 1019 // returns. 1020 func (_Context *ContextCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1021 return _Context.Contract.contract.Call(opts, result, method, params...) 1022 } 1023 1024 // Transfer initiates a plain transaction to move funds to the contract, calling 1025 // its default method if one is available. 1026 func (_Context *ContextTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1027 return _Context.Contract.contract.Transfer(opts) 1028 } 1029 1030 // Transact invokes the (paid) contract method with params as input values. 1031 func (_Context *ContextTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1032 return _Context.Contract.contract.Transact(opts, method, params...) 1033 } 1034 1035 // ERC165ABI is the input ABI used to generate the binding from. 1036 const ERC165ABI = "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]" 1037 1038 // ERC165FuncSigs maps the 4-byte function signature to its string representation. 1039 var ERC165FuncSigs = map[string]string{ 1040 "01ffc9a7": "supportsInterface(bytes4)", 1041 } 1042 1043 // ERC165 is an auto generated Go binding around an Ethereum contract. 1044 type ERC165 struct { 1045 ERC165Caller // Read-only binding to the contract 1046 ERC165Transactor // Write-only binding to the contract 1047 ERC165Filterer // Log filterer for contract events 1048 } 1049 1050 // ERC165Caller is an auto generated read-only Go binding around an Ethereum contract. 1051 type ERC165Caller struct { 1052 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1053 } 1054 1055 // ERC165Transactor is an auto generated write-only Go binding around an Ethereum contract. 1056 type ERC165Transactor struct { 1057 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1058 } 1059 1060 // ERC165Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 1061 type ERC165Filterer struct { 1062 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1063 } 1064 1065 // ERC165Session is an auto generated Go binding around an Ethereum contract, 1066 // with pre-set call and transact options. 1067 type ERC165Session struct { 1068 Contract *ERC165 // Generic contract binding to set the session for 1069 CallOpts bind.CallOpts // Call options to use throughout this session 1070 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1071 } 1072 1073 // ERC165CallerSession is an auto generated read-only Go binding around an Ethereum contract, 1074 // with pre-set call options. 1075 type ERC165CallerSession struct { 1076 Contract *ERC165Caller // Generic contract caller binding to set the session for 1077 CallOpts bind.CallOpts // Call options to use throughout this session 1078 } 1079 1080 // ERC165TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 1081 // with pre-set transact options. 1082 type ERC165TransactorSession struct { 1083 Contract *ERC165Transactor // Generic contract transactor binding to set the session for 1084 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1085 } 1086 1087 // ERC165Raw is an auto generated low-level Go binding around an Ethereum contract. 1088 type ERC165Raw struct { 1089 Contract *ERC165 // Generic contract binding to access the raw methods on 1090 } 1091 1092 // ERC165CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 1093 type ERC165CallerRaw struct { 1094 Contract *ERC165Caller // Generic read-only contract binding to access the raw methods on 1095 } 1096 1097 // ERC165TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 1098 type ERC165TransactorRaw struct { 1099 Contract *ERC165Transactor // Generic write-only contract binding to access the raw methods on 1100 } 1101 1102 // NewERC165 creates a new instance of ERC165, bound to a specific deployed contract. 1103 func NewERC165(address common.Address, backend bind.ContractBackend) (*ERC165, error) { 1104 contract, err := bindERC165(address, backend, backend, backend) 1105 if err != nil { 1106 return nil, err 1107 } 1108 return &ERC165{ERC165Caller: ERC165Caller{contract: contract}, ERC165Transactor: ERC165Transactor{contract: contract}, ERC165Filterer: ERC165Filterer{contract: contract}}, nil 1109 } 1110 1111 // NewERC165Caller creates a new read-only instance of ERC165, bound to a specific deployed contract. 1112 func NewERC165Caller(address common.Address, caller bind.ContractCaller) (*ERC165Caller, error) { 1113 contract, err := bindERC165(address, caller, nil, nil) 1114 if err != nil { 1115 return nil, err 1116 } 1117 return &ERC165Caller{contract: contract}, nil 1118 } 1119 1120 // NewERC165Transactor creates a new write-only instance of ERC165, bound to a specific deployed contract. 1121 func NewERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC165Transactor, error) { 1122 contract, err := bindERC165(address, nil, transactor, nil) 1123 if err != nil { 1124 return nil, err 1125 } 1126 return &ERC165Transactor{contract: contract}, nil 1127 } 1128 1129 // NewERC165Filterer creates a new log filterer instance of ERC165, bound to a specific deployed contract. 1130 func NewERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC165Filterer, error) { 1131 contract, err := bindERC165(address, nil, nil, filterer) 1132 if err != nil { 1133 return nil, err 1134 } 1135 return &ERC165Filterer{contract: contract}, nil 1136 } 1137 1138 // bindERC165 binds a generic wrapper to an already deployed contract. 1139 func bindERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1140 parsed, err := abi.JSON(strings.NewReader(ERC165ABI)) 1141 if err != nil { 1142 return nil, err 1143 } 1144 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 1145 } 1146 1147 // Call invokes the (constant) contract method with params as input values and 1148 // sets the output to result. The result type might be a single field for simple 1149 // returns, a slice of interfaces for anonymous returns and a struct for named 1150 // returns. 1151 func (_ERC165 *ERC165Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1152 return _ERC165.Contract.ERC165Caller.contract.Call(opts, result, method, params...) 1153 } 1154 1155 // Transfer initiates a plain transaction to move funds to the contract, calling 1156 // its default method if one is available. 1157 func (_ERC165 *ERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1158 return _ERC165.Contract.ERC165Transactor.contract.Transfer(opts) 1159 } 1160 1161 // Transact invokes the (paid) contract method with params as input values. 1162 func (_ERC165 *ERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1163 return _ERC165.Contract.ERC165Transactor.contract.Transact(opts, method, params...) 1164 } 1165 1166 // Call invokes the (constant) contract method with params as input values and 1167 // sets the output to result. The result type might be a single field for simple 1168 // returns, a slice of interfaces for anonymous returns and a struct for named 1169 // returns. 1170 func (_ERC165 *ERC165CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1171 return _ERC165.Contract.contract.Call(opts, result, method, params...) 1172 } 1173 1174 // Transfer initiates a plain transaction to move funds to the contract, calling 1175 // its default method if one is available. 1176 func (_ERC165 *ERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1177 return _ERC165.Contract.contract.Transfer(opts) 1178 } 1179 1180 // Transact invokes the (paid) contract method with params as input values. 1181 func (_ERC165 *ERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1182 return _ERC165.Contract.contract.Transact(opts, method, params...) 1183 } 1184 1185 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1186 // 1187 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1188 func (_ERC165 *ERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 1189 var out []interface{} 1190 err := _ERC165.contract.Call(opts, &out, "supportsInterface", interfaceId) 1191 1192 if err != nil { 1193 return *new(bool), err 1194 } 1195 1196 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 1197 1198 return out0, err 1199 1200 } 1201 1202 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1203 // 1204 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1205 func (_ERC165 *ERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 1206 return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) 1207 } 1208 1209 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1210 // 1211 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1212 func (_ERC165 *ERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 1213 return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) 1214 } 1215 1216 // ERC721ABI is the input ABI used to generate the binding from. 1217 const ERC721ABI = "[{\"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\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\"}]" 1218 1219 // ERC721FuncSigs maps the 4-byte function signature to its string representation. 1220 var ERC721FuncSigs = map[string]string{ 1221 "095ea7b3": "approve(address,uint256)", 1222 "70a08231": "balanceOf(address)", 1223 "6c0360eb": "baseURI()", 1224 "081812fc": "getApproved(uint256)", 1225 "e985e9c5": "isApprovedForAll(address,address)", 1226 "06fdde03": "name()", 1227 "6352211e": "ownerOf(uint256)", 1228 "42842e0e": "safeTransferFrom(address,address,uint256)", 1229 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 1230 "a22cb465": "setApprovalForAll(address,bool)", 1231 "01ffc9a7": "supportsInterface(bytes4)", 1232 "95d89b41": "symbol()", 1233 "4f6ccce7": "tokenByIndex(uint256)", 1234 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 1235 "c87b56dd": "tokenURI(uint256)", 1236 "18160ddd": "totalSupply()", 1237 "23b872dd": "transferFrom(address,address,uint256)", 1238 } 1239 1240 // ERC721Bin is the compiled bytecode used for deploying new contracts. 1241 var ERC721Bin = "0x60806040523480156200001157600080fd5b5060405162001cd638038062001cd6833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405250620001bc91506301ffc9a760e01b90506001600160e01b036200024116565b8151620001d1906006906020850190620002c6565b508051620001e7906007906020840190620002c6565b50620002036380ac58cd60e01b6001600160e01b036200024116565b6200021e635b5e139f60e01b6001600160e01b036200024116565b6200023963780e9d6360e01b6001600160e01b036200024116565b50506200036b565b6001600160e01b03198082161415620002a1576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030957805160ff191683800117855562000339565b8280016001018555821562000339579182015b82811115620003395782518255916020019190600101906200031c565b50620003479291506200034b565b5090565b6200036891905b8082111562000347576000815560010162000352565b90565b61195b806200037b6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80634f6ccce7116100a257806395d89b411161007157806395d89b4114610349578063a22cb46514610351578063b88d4fde1461037f578063c87b56dd14610445578063e985e9c5146104625761010b565b80634f6ccce7146102e15780636352211e146102fe5780636c0360eb1461031b57806370a08231146103235761010b565b806318160ddd116100de57806318160ddd1461022f57806323b872dd146102495780632f745c591461027f57806342842e0e146102ab5761010b565b806301ffc9a71461011057806306fdde031461014b578063081812fc146101c8578063095ea7b314610201575b600080fd5b6101376004803603602081101561012657600080fd5b50356001600160e01b031916610490565b604080519115158252519081900360200190f35b6101536104b3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018d578181015183820152602001610175565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e5600480360360208110156101de57600080fd5b5035610549565b604080516001600160a01b039092168252519081900360200190f35b61022d6004803603604081101561021757600080fd5b506001600160a01b0381351690602001356105ab565b005b610237610686565b60408051918252519081900360200190f35b61022d6004803603606081101561025f57600080fd5b506001600160a01b03813581169160208101359091169060400135610697565b6102376004803603604081101561029557600080fd5b506001600160a01b0381351690602001356106ee565b61022d600480360360608110156102c157600080fd5b506001600160a01b0381358116916020810135909116906040013561071f565b610237600480360360208110156102f757600080fd5b503561073a565b6101e56004803603602081101561031457600080fd5b5035610756565b610153610784565b6102376004803603602081101561033957600080fd5b50356001600160a01b03166107e5565b61015361084d565b61022d6004803603604081101561036757600080fd5b506001600160a01b03813516906020013515156108ae565b61022d6004803603608081101561039557600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156103d057600080fd5b8201836020820111156103e257600080fd5b8035906020019184600183028401116401000000008311171561040457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109b3945050505050565b6101536004803603602081101561045b57600080fd5b5035610a11565b6101376004803603604081101561047857600080fd5b506001600160a01b0381358116916020013516610cb8565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b820191906000526020600020905b81548152906001019060200180831161052257829003601f168201915b5050505050905090565b600061055482610ce6565b61058f5760405162461bcd60e51b815260040180806020018281038252602c815260200180611850602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006105b682610756565b9050806001600160a01b0316836001600160a01b031614156106095760405162461bcd60e51b81526004018080602001828103825260218152602001806118d46021913960400191505060405180910390fd5b806001600160a01b031661061b610cf9565b6001600160a01b0316148061063c575061063c81610637610cf9565b610cb8565b6106775760405162461bcd60e51b81526004018080602001828103825260388152602001806117a36038913960400191505060405180910390fd5b6106818383610cfd565b505050565b60006106926002610d6b565b905090565b6106a86106a2610cf9565b82610d76565b6106e35760405162461bcd60e51b81526004018080602001828103825260318152602001806118f56031913960400191505060405180910390fd5b610681838383610e1a565b6001600160a01b0382166000908152600160205260408120610716908363ffffffff610f7816565b90505b92915050565b610681838383604051806020016040528060008152506109b3565b60008061074e60028463ffffffff610f8416565b509392505050565b600061071982604051806060016040528060298152602001611805602991396002919063ffffffff610fa016565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b60006001600160a01b03821661082c5760405162461bcd60e51b815260040180806020018281038252602a8152602001806117db602a913960400191505060405180910390fd5b6001600160a01b038216600090815260016020526040902061071990610d6b565b60078054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b6108b6610cf9565b6001600160a01b0316826001600160a01b0316141561091c576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060056000610929610cf9565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff19169215159290921790915561096d610cf9565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b6109c46109be610cf9565b83610d76565b6109ff5760405162461bcd60e51b81526004018080602001828103825260318152602001806118f56031913960400191505060405180910390fd5b610a0b84848484610fb7565b50505050565b6060610a1c82610ce6565b610a575760405162461bcd60e51b815260040180806020018281038252602f8152602001806118a5602f913960400191505060405180910390fd5b60008281526008602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610aec5780601f10610ac157610100808354040283529160200191610aec565b820191906000526020600020905b815481529060010190602001808311610acf57829003601f168201915b505060095493945050505060026000196101006001841615020190911604610b155790506104ae565b805115610be6576009816040516020018083805460018160011615610100020316600290048015610b7d5780601f10610b5b576101008083540402835291820191610b7d565b820191906000526020600020905b815481529060010190602001808311610b69575b5050825160208401908083835b60208310610ba95780518252601f199092019160209182019101610b8a565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529150506104ae565b6009610bf184611009565b6040516020018083805460018160011615610100020316600290048015610c4f5780601f10610c2d576101008083540402835291820191610c4f565b820191906000526020600020905b815481529060010190602001808311610c3b575b5050825160208401908083835b60208310610c7b5780518252601f199092019160209182019101610c5c565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052915050919050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b600061071960028363ffffffff6110e416565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610d3282610756565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610719826110f0565b6000610d8182610ce6565b610dbc5760405162461bcd60e51b815260040180806020018281038252602c815260200180611777602c913960400191505060405180910390fd5b6000610dc783610756565b9050806001600160a01b0316846001600160a01b03161480610e025750836001600160a01b0316610df784610549565b6001600160a01b0316145b80610e125750610e128185610cb8565b949350505050565b826001600160a01b0316610e2d82610756565b6001600160a01b031614610e725760405162461bcd60e51b815260040180806020018281038252602981526020018061187c6029913960400191505060405180910390fd5b6001600160a01b038216610eb75760405162461bcd60e51b81526004018080602001828103825260248152602001806117536024913960400191505060405180910390fd5b610ec2838383610681565b610ecd600082610cfd565b6001600160a01b0383166000908152600160205260409020610ef5908263ffffffff6110f416565b506001600160a01b0382166000908152600160205260409020610f1e908263ffffffff61110016565b50610f316002828463ffffffff61110c16565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006107168383611122565b6000808080610f938686611186565b9097909650945050505050565b6000610fad848484611201565b90505b9392505050565b610fc2848484610e1a565b610fce848484846112cb565b610a0b5760405162461bcd60e51b81526004018080602001828103825260328152602001806117216032913960400191505060405180910390fd5b60608161102e57506040805180820190915260018152600360fc1b60208201526104ae565b8160005b811561104657600101600a82049150611032565b60608167ffffffffffffffff8111801561105f57600080fd5b506040519080825280601f01601f19166020018201604052801561108a576020820181803683370190505b50859350905060001982015b83156110db57600a840660300160f81b828280600190039350815181106110b957fe5b60200101906001600160f81b031916908160001a905350600a84049350611096565b50949350505050565b60006107168383611506565b5490565b6000610716838361151e565b600061071683836115e4565b6000610fad84846001600160a01b03851661162e565b815460009082106111645760405162461bcd60e51b81526004018080602001828103825260228152602001806116ff6022913960400191505060405180910390fd5b82600001828154811061117357fe5b9060005260206000200154905092915050565b8154600090819083106111ca5760405162461bcd60e51b815260040180806020018281038252602281526020018061182e6022913960400191505060405180910390fd5b60008460000184815481106111db57fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b6000828152600184016020526040812054828161129c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611261578181015183820152602001611249565b50505050905090810190601f16801561128e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508460000160018203815481106112af57fe5b9060005260206000209060020201600101549150509392505050565b60006112df846001600160a01b03166116c5565b6112eb57506001610e12565b600060606001600160a01b038616630a85bd0160e11b611309610cf9565b89888860405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561138257818101518382015260200161136a565b50505050905090810190601f1680156113af5780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909a16999099178952518151919890975087965094509250829150849050835b602083106114175780518252601f1990920191602091820191016113f8565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611479576040519150601f19603f3d011682016040523d82523d6000602084013e61147e565b606091505b5091509150816114cf578051156114985780518082602001fd5b60405162461bcd60e51b81526004018080602001828103825260328152602001806117216032913960400191505060405180910390fd5b60008180602001905160208110156114e657600080fd5b50516001600160e01b031916630a85bd0160e11b149350610e1292505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156115da578354600019808301919081019060009087908390811061155157fe5b906000526020600020015490508087600001848154811061156e57fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061159e57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610719565b6000915050610719565b60006115f08383611506565b61162657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610719565b506000610719565b600082815260018401602052604081205480611693575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055610fb0565b828560000160018303815481106116a657fe5b9060005260206000209060020201600101819055506000915050610fb0565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610e1257505015159291505056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a2646970667358221220f6f422b16aa279e945d803b8a56bafd616bb3493ab0fb5195077df294a76a03c64736f6c63430006060033" 1242 1243 // DeployERC721 deploys a new Ethereum contract, binding an instance of ERC721 to it. 1244 func DeployERC721(auth *bind.TransactOpts, backend bind.ContractBackend, name string, symbol string) (common.Address, *types.Transaction, *ERC721, error) { 1245 parsed, err := abi.JSON(strings.NewReader(ERC721ABI)) 1246 if err != nil { 1247 return common.Address{}, nil, nil, err 1248 } 1249 1250 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC721Bin), backend, name, symbol) 1251 if err != nil { 1252 return common.Address{}, nil, nil, err 1253 } 1254 return address, tx, &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil 1255 } 1256 1257 // ERC721 is an auto generated Go binding around an Ethereum contract. 1258 type ERC721 struct { 1259 ERC721Caller // Read-only binding to the contract 1260 ERC721Transactor // Write-only binding to the contract 1261 ERC721Filterer // Log filterer for contract events 1262 } 1263 1264 // ERC721Caller is an auto generated read-only Go binding around an Ethereum contract. 1265 type ERC721Caller struct { 1266 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1267 } 1268 1269 // ERC721Transactor is an auto generated write-only Go binding around an Ethereum contract. 1270 type ERC721Transactor struct { 1271 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1272 } 1273 1274 // ERC721Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 1275 type ERC721Filterer struct { 1276 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1277 } 1278 1279 // ERC721Session is an auto generated Go binding around an Ethereum contract, 1280 // with pre-set call and transact options. 1281 type ERC721Session struct { 1282 Contract *ERC721 // Generic contract binding to set the session for 1283 CallOpts bind.CallOpts // Call options to use throughout this session 1284 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1285 } 1286 1287 // ERC721CallerSession is an auto generated read-only Go binding around an Ethereum contract, 1288 // with pre-set call options. 1289 type ERC721CallerSession struct { 1290 Contract *ERC721Caller // Generic contract caller binding to set the session for 1291 CallOpts bind.CallOpts // Call options to use throughout this session 1292 } 1293 1294 // ERC721TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 1295 // with pre-set transact options. 1296 type ERC721TransactorSession struct { 1297 Contract *ERC721Transactor // Generic contract transactor binding to set the session for 1298 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1299 } 1300 1301 // ERC721Raw is an auto generated low-level Go binding around an Ethereum contract. 1302 type ERC721Raw struct { 1303 Contract *ERC721 // Generic contract binding to access the raw methods on 1304 } 1305 1306 // ERC721CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 1307 type ERC721CallerRaw struct { 1308 Contract *ERC721Caller // Generic read-only contract binding to access the raw methods on 1309 } 1310 1311 // ERC721TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 1312 type ERC721TransactorRaw struct { 1313 Contract *ERC721Transactor // Generic write-only contract binding to access the raw methods on 1314 } 1315 1316 // NewERC721 creates a new instance of ERC721, bound to a specific deployed contract. 1317 func NewERC721(address common.Address, backend bind.ContractBackend) (*ERC721, error) { 1318 contract, err := bindERC721(address, backend, backend, backend) 1319 if err != nil { 1320 return nil, err 1321 } 1322 return &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil 1323 } 1324 1325 // NewERC721Caller creates a new read-only instance of ERC721, bound to a specific deployed contract. 1326 func NewERC721Caller(address common.Address, caller bind.ContractCaller) (*ERC721Caller, error) { 1327 contract, err := bindERC721(address, caller, nil, nil) 1328 if err != nil { 1329 return nil, err 1330 } 1331 return &ERC721Caller{contract: contract}, nil 1332 } 1333 1334 // NewERC721Transactor creates a new write-only instance of ERC721, bound to a specific deployed contract. 1335 func NewERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC721Transactor, error) { 1336 contract, err := bindERC721(address, nil, transactor, nil) 1337 if err != nil { 1338 return nil, err 1339 } 1340 return &ERC721Transactor{contract: contract}, nil 1341 } 1342 1343 // NewERC721Filterer creates a new log filterer instance of ERC721, bound to a specific deployed contract. 1344 func NewERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC721Filterer, error) { 1345 contract, err := bindERC721(address, nil, nil, filterer) 1346 if err != nil { 1347 return nil, err 1348 } 1349 return &ERC721Filterer{contract: contract}, nil 1350 } 1351 1352 // bindERC721 binds a generic wrapper to an already deployed contract. 1353 func bindERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1354 parsed, err := abi.JSON(strings.NewReader(ERC721ABI)) 1355 if err != nil { 1356 return nil, err 1357 } 1358 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 1359 } 1360 1361 // Call invokes the (constant) contract method with params as input values and 1362 // sets the output to result. The result type might be a single field for simple 1363 // returns, a slice of interfaces for anonymous returns and a struct for named 1364 // returns. 1365 func (_ERC721 *ERC721Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1366 return _ERC721.Contract.ERC721Caller.contract.Call(opts, result, method, params...) 1367 } 1368 1369 // Transfer initiates a plain transaction to move funds to the contract, calling 1370 // its default method if one is available. 1371 func (_ERC721 *ERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1372 return _ERC721.Contract.ERC721Transactor.contract.Transfer(opts) 1373 } 1374 1375 // Transact invokes the (paid) contract method with params as input values. 1376 func (_ERC721 *ERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1377 return _ERC721.Contract.ERC721Transactor.contract.Transact(opts, method, params...) 1378 } 1379 1380 // Call invokes the (constant) contract method with params as input values and 1381 // sets the output to result. The result type might be a single field for simple 1382 // returns, a slice of interfaces for anonymous returns and a struct for named 1383 // returns. 1384 func (_ERC721 *ERC721CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1385 return _ERC721.Contract.contract.Call(opts, result, method, params...) 1386 } 1387 1388 // Transfer initiates a plain transaction to move funds to the contract, calling 1389 // its default method if one is available. 1390 func (_ERC721 *ERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1391 return _ERC721.Contract.contract.Transfer(opts) 1392 } 1393 1394 // Transact invokes the (paid) contract method with params as input values. 1395 func (_ERC721 *ERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1396 return _ERC721.Contract.contract.Transact(opts, method, params...) 1397 } 1398 1399 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1400 // 1401 // Solidity: function balanceOf(address owner) view returns(uint256) 1402 func (_ERC721 *ERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 1403 var out []interface{} 1404 err := _ERC721.contract.Call(opts, &out, "balanceOf", owner) 1405 1406 if err != nil { 1407 return *new(*big.Int), err 1408 } 1409 1410 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1411 1412 return out0, err 1413 1414 } 1415 1416 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1417 // 1418 // Solidity: function balanceOf(address owner) view returns(uint256) 1419 func (_ERC721 *ERC721Session) BalanceOf(owner common.Address) (*big.Int, error) { 1420 return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner) 1421 } 1422 1423 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1424 // 1425 // Solidity: function balanceOf(address owner) view returns(uint256) 1426 func (_ERC721 *ERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 1427 return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner) 1428 } 1429 1430 // BaseURI is a free data retrieval call binding the contract method 0x6c0360eb. 1431 // 1432 // Solidity: function baseURI() view returns(string) 1433 func (_ERC721 *ERC721Caller) BaseURI(opts *bind.CallOpts) (string, error) { 1434 var out []interface{} 1435 err := _ERC721.contract.Call(opts, &out, "baseURI") 1436 1437 if err != nil { 1438 return *new(string), err 1439 } 1440 1441 out0 := *abi.ConvertType(out[0], new(string)).(*string) 1442 1443 return out0, err 1444 1445 } 1446 1447 // BaseURI is a free data retrieval call binding the contract method 0x6c0360eb. 1448 // 1449 // Solidity: function baseURI() view returns(string) 1450 func (_ERC721 *ERC721Session) BaseURI() (string, error) { 1451 return _ERC721.Contract.BaseURI(&_ERC721.CallOpts) 1452 } 1453 1454 // BaseURI is a free data retrieval call binding the contract method 0x6c0360eb. 1455 // 1456 // Solidity: function baseURI() view returns(string) 1457 func (_ERC721 *ERC721CallerSession) BaseURI() (string, error) { 1458 return _ERC721.Contract.BaseURI(&_ERC721.CallOpts) 1459 } 1460 1461 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 1462 // 1463 // Solidity: function getApproved(uint256 tokenId) view returns(address) 1464 func (_ERC721 *ERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 1465 var out []interface{} 1466 err := _ERC721.contract.Call(opts, &out, "getApproved", tokenId) 1467 1468 if err != nil { 1469 return *new(common.Address), err 1470 } 1471 1472 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 1473 1474 return out0, err 1475 1476 } 1477 1478 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 1479 // 1480 // Solidity: function getApproved(uint256 tokenId) view returns(address) 1481 func (_ERC721 *ERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) { 1482 return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId) 1483 } 1484 1485 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 1486 // 1487 // Solidity: function getApproved(uint256 tokenId) view returns(address) 1488 func (_ERC721 *ERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 1489 return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId) 1490 } 1491 1492 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 1493 // 1494 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 1495 func (_ERC721 *ERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 1496 var out []interface{} 1497 err := _ERC721.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 1498 1499 if err != nil { 1500 return *new(bool), err 1501 } 1502 1503 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 1504 1505 return out0, err 1506 1507 } 1508 1509 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 1510 // 1511 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 1512 func (_ERC721 *ERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 1513 return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator) 1514 } 1515 1516 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 1517 // 1518 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 1519 func (_ERC721 *ERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 1520 return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator) 1521 } 1522 1523 // Name is a free data retrieval call binding the contract method 0x06fdde03. 1524 // 1525 // Solidity: function name() view returns(string) 1526 func (_ERC721 *ERC721Caller) Name(opts *bind.CallOpts) (string, error) { 1527 var out []interface{} 1528 err := _ERC721.contract.Call(opts, &out, "name") 1529 1530 if err != nil { 1531 return *new(string), err 1532 } 1533 1534 out0 := *abi.ConvertType(out[0], new(string)).(*string) 1535 1536 return out0, err 1537 1538 } 1539 1540 // Name is a free data retrieval call binding the contract method 0x06fdde03. 1541 // 1542 // Solidity: function name() view returns(string) 1543 func (_ERC721 *ERC721Session) Name() (string, error) { 1544 return _ERC721.Contract.Name(&_ERC721.CallOpts) 1545 } 1546 1547 // Name is a free data retrieval call binding the contract method 0x06fdde03. 1548 // 1549 // Solidity: function name() view returns(string) 1550 func (_ERC721 *ERC721CallerSession) Name() (string, error) { 1551 return _ERC721.Contract.Name(&_ERC721.CallOpts) 1552 } 1553 1554 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 1555 // 1556 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 1557 func (_ERC721 *ERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 1558 var out []interface{} 1559 err := _ERC721.contract.Call(opts, &out, "ownerOf", tokenId) 1560 1561 if err != nil { 1562 return *new(common.Address), err 1563 } 1564 1565 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 1566 1567 return out0, err 1568 1569 } 1570 1571 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 1572 // 1573 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 1574 func (_ERC721 *ERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) { 1575 return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId) 1576 } 1577 1578 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 1579 // 1580 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 1581 func (_ERC721 *ERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 1582 return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId) 1583 } 1584 1585 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1586 // 1587 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1588 func (_ERC721 *ERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 1589 var out []interface{} 1590 err := _ERC721.contract.Call(opts, &out, "supportsInterface", interfaceId) 1591 1592 if err != nil { 1593 return *new(bool), err 1594 } 1595 1596 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 1597 1598 return out0, err 1599 1600 } 1601 1602 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1603 // 1604 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1605 func (_ERC721 *ERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 1606 return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId) 1607 } 1608 1609 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1610 // 1611 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1612 func (_ERC721 *ERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 1613 return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId) 1614 } 1615 1616 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 1617 // 1618 // Solidity: function symbol() view returns(string) 1619 func (_ERC721 *ERC721Caller) Symbol(opts *bind.CallOpts) (string, error) { 1620 var out []interface{} 1621 err := _ERC721.contract.Call(opts, &out, "symbol") 1622 1623 if err != nil { 1624 return *new(string), err 1625 } 1626 1627 out0 := *abi.ConvertType(out[0], new(string)).(*string) 1628 1629 return out0, err 1630 1631 } 1632 1633 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 1634 // 1635 // Solidity: function symbol() view returns(string) 1636 func (_ERC721 *ERC721Session) Symbol() (string, error) { 1637 return _ERC721.Contract.Symbol(&_ERC721.CallOpts) 1638 } 1639 1640 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 1641 // 1642 // Solidity: function symbol() view returns(string) 1643 func (_ERC721 *ERC721CallerSession) Symbol() (string, error) { 1644 return _ERC721.Contract.Symbol(&_ERC721.CallOpts) 1645 } 1646 1647 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 1648 // 1649 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 1650 func (_ERC721 *ERC721Caller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 1651 var out []interface{} 1652 err := _ERC721.contract.Call(opts, &out, "tokenByIndex", index) 1653 1654 if err != nil { 1655 return *new(*big.Int), err 1656 } 1657 1658 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1659 1660 return out0, err 1661 1662 } 1663 1664 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 1665 // 1666 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 1667 func (_ERC721 *ERC721Session) TokenByIndex(index *big.Int) (*big.Int, error) { 1668 return _ERC721.Contract.TokenByIndex(&_ERC721.CallOpts, index) 1669 } 1670 1671 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 1672 // 1673 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 1674 func (_ERC721 *ERC721CallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 1675 return _ERC721.Contract.TokenByIndex(&_ERC721.CallOpts, index) 1676 } 1677 1678 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 1679 // 1680 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 1681 func (_ERC721 *ERC721Caller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 1682 var out []interface{} 1683 err := _ERC721.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index) 1684 1685 if err != nil { 1686 return *new(*big.Int), err 1687 } 1688 1689 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1690 1691 return out0, err 1692 1693 } 1694 1695 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 1696 // 1697 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 1698 func (_ERC721 *ERC721Session) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 1699 return _ERC721.Contract.TokenOfOwnerByIndex(&_ERC721.CallOpts, owner, index) 1700 } 1701 1702 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 1703 // 1704 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 1705 func (_ERC721 *ERC721CallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 1706 return _ERC721.Contract.TokenOfOwnerByIndex(&_ERC721.CallOpts, owner, index) 1707 } 1708 1709 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 1710 // 1711 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 1712 func (_ERC721 *ERC721Caller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 1713 var out []interface{} 1714 err := _ERC721.contract.Call(opts, &out, "tokenURI", tokenId) 1715 1716 if err != nil { 1717 return *new(string), err 1718 } 1719 1720 out0 := *abi.ConvertType(out[0], new(string)).(*string) 1721 1722 return out0, err 1723 1724 } 1725 1726 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 1727 // 1728 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 1729 func (_ERC721 *ERC721Session) TokenURI(tokenId *big.Int) (string, error) { 1730 return _ERC721.Contract.TokenURI(&_ERC721.CallOpts, tokenId) 1731 } 1732 1733 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 1734 // 1735 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 1736 func (_ERC721 *ERC721CallerSession) TokenURI(tokenId *big.Int) (string, error) { 1737 return _ERC721.Contract.TokenURI(&_ERC721.CallOpts, tokenId) 1738 } 1739 1740 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1741 // 1742 // Solidity: function totalSupply() view returns(uint256) 1743 func (_ERC721 *ERC721Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 1744 var out []interface{} 1745 err := _ERC721.contract.Call(opts, &out, "totalSupply") 1746 1747 if err != nil { 1748 return *new(*big.Int), err 1749 } 1750 1751 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1752 1753 return out0, err 1754 1755 } 1756 1757 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1758 // 1759 // Solidity: function totalSupply() view returns(uint256) 1760 func (_ERC721 *ERC721Session) TotalSupply() (*big.Int, error) { 1761 return _ERC721.Contract.TotalSupply(&_ERC721.CallOpts) 1762 } 1763 1764 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1765 // 1766 // Solidity: function totalSupply() view returns(uint256) 1767 func (_ERC721 *ERC721CallerSession) TotalSupply() (*big.Int, error) { 1768 return _ERC721.Contract.TotalSupply(&_ERC721.CallOpts) 1769 } 1770 1771 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1772 // 1773 // Solidity: function approve(address to, uint256 tokenId) returns() 1774 func (_ERC721 *ERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1775 return _ERC721.contract.Transact(opts, "approve", to, tokenId) 1776 } 1777 1778 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1779 // 1780 // Solidity: function approve(address to, uint256 tokenId) returns() 1781 func (_ERC721 *ERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1782 return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId) 1783 } 1784 1785 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1786 // 1787 // Solidity: function approve(address to, uint256 tokenId) returns() 1788 func (_ERC721 *ERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1789 return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId) 1790 } 1791 1792 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 1793 // 1794 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 1795 func (_ERC721 *ERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1796 return _ERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 1797 } 1798 1799 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 1800 // 1801 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 1802 func (_ERC721 *ERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1803 return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 1804 } 1805 1806 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 1807 // 1808 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 1809 func (_ERC721 *ERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1810 return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 1811 } 1812 1813 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 1814 // 1815 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 1816 func (_ERC721 *ERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 1817 return _ERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 1818 } 1819 1820 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 1821 // 1822 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 1823 func (_ERC721 *ERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 1824 return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, _data) 1825 } 1826 1827 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 1828 // 1829 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 1830 func (_ERC721 *ERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 1831 return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, _data) 1832 } 1833 1834 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 1835 // 1836 // Solidity: function setApprovalForAll(address operator, bool approved) returns() 1837 func (_ERC721 *ERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) { 1838 return _ERC721.contract.Transact(opts, "setApprovalForAll", operator, approved) 1839 } 1840 1841 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 1842 // 1843 // Solidity: function setApprovalForAll(address operator, bool approved) returns() 1844 func (_ERC721 *ERC721Session) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { 1845 return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, operator, approved) 1846 } 1847 1848 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 1849 // 1850 // Solidity: function setApprovalForAll(address operator, bool approved) returns() 1851 func (_ERC721 *ERC721TransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { 1852 return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, operator, approved) 1853 } 1854 1855 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1856 // 1857 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1858 func (_ERC721 *ERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1859 return _ERC721.contract.Transact(opts, "transferFrom", from, to, tokenId) 1860 } 1861 1862 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1863 // 1864 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1865 func (_ERC721 *ERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1866 return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 1867 } 1868 1869 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1870 // 1871 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1872 func (_ERC721 *ERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1873 return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 1874 } 1875 1876 // 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. 1877 type ERC721ApprovalIterator struct { 1878 Event *ERC721Approval // Event containing the contract specifics and raw log 1879 1880 contract *bind.BoundContract // Generic contract to use for unpacking event data 1881 event string // Event name to use for unpacking event data 1882 1883 logs chan types.Log // Log channel receiving the found contract events 1884 sub ethereum.Subscription // Subscription for errors, completion and termination 1885 done bool // Whether the subscription completed delivering logs 1886 fail error // Occurred error to stop iteration 1887 } 1888 1889 // Next advances the iterator to the subsequent event, returning whether there 1890 // are any more events found. In case of a retrieval or parsing error, false is 1891 // returned and Error() can be queried for the exact failure. 1892 func (it *ERC721ApprovalIterator) Next() bool { 1893 // If the iterator failed, stop iterating 1894 if it.fail != nil { 1895 return false 1896 } 1897 // If the iterator completed, deliver directly whatever's available 1898 if it.done { 1899 select { 1900 case log := <-it.logs: 1901 it.Event = new(ERC721Approval) 1902 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1903 it.fail = err 1904 return false 1905 } 1906 it.Event.Raw = log 1907 return true 1908 1909 default: 1910 return false 1911 } 1912 } 1913 // Iterator still in progress, wait for either a data or an error event 1914 select { 1915 case log := <-it.logs: 1916 it.Event = new(ERC721Approval) 1917 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1918 it.fail = err 1919 return false 1920 } 1921 it.Event.Raw = log 1922 return true 1923 1924 case err := <-it.sub.Err(): 1925 it.done = true 1926 it.fail = err 1927 return it.Next() 1928 } 1929 } 1930 1931 // Error returns any retrieval or parsing error occurred during filtering. 1932 func (it *ERC721ApprovalIterator) Error() error { 1933 return it.fail 1934 } 1935 1936 // Close terminates the iteration process, releasing any pending underlying 1937 // resources. 1938 func (it *ERC721ApprovalIterator) Close() error { 1939 it.sub.Unsubscribe() 1940 return nil 1941 } 1942 1943 // ERC721Approval represents a Approval event raised by the ERC721 contract. 1944 type ERC721Approval struct { 1945 Owner common.Address 1946 Approved common.Address 1947 TokenId *big.Int 1948 Raw types.Log // Blockchain specific contextual infos 1949 } 1950 1951 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1952 // 1953 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1954 func (_ERC721 *ERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721ApprovalIterator, error) { 1955 1956 var ownerRule []interface{} 1957 for _, ownerItem := range owner { 1958 ownerRule = append(ownerRule, ownerItem) 1959 } 1960 var approvedRule []interface{} 1961 for _, approvedItem := range approved { 1962 approvedRule = append(approvedRule, approvedItem) 1963 } 1964 var tokenIdRule []interface{} 1965 for _, tokenIdItem := range tokenId { 1966 tokenIdRule = append(tokenIdRule, tokenIdItem) 1967 } 1968 1969 logs, sub, err := _ERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 1970 if err != nil { 1971 return nil, err 1972 } 1973 return &ERC721ApprovalIterator{contract: _ERC721.contract, event: "Approval", logs: logs, sub: sub}, nil 1974 } 1975 1976 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1977 // 1978 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1979 func (_ERC721 *ERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 1980 1981 var ownerRule []interface{} 1982 for _, ownerItem := range owner { 1983 ownerRule = append(ownerRule, ownerItem) 1984 } 1985 var approvedRule []interface{} 1986 for _, approvedItem := range approved { 1987 approvedRule = append(approvedRule, approvedItem) 1988 } 1989 var tokenIdRule []interface{} 1990 for _, tokenIdItem := range tokenId { 1991 tokenIdRule = append(tokenIdRule, tokenIdItem) 1992 } 1993 1994 logs, sub, err := _ERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 1995 if err != nil { 1996 return nil, err 1997 } 1998 return event.NewSubscription(func(quit <-chan struct{}) error { 1999 defer sub.Unsubscribe() 2000 for { 2001 select { 2002 case log := <-logs: 2003 // New log arrived, parse the event and forward to the user 2004 event := new(ERC721Approval) 2005 if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil { 2006 return err 2007 } 2008 event.Raw = log 2009 2010 select { 2011 case sink <- event: 2012 case err := <-sub.Err(): 2013 return err 2014 case <-quit: 2015 return nil 2016 } 2017 case err := <-sub.Err(): 2018 return err 2019 case <-quit: 2020 return nil 2021 } 2022 } 2023 }), nil 2024 } 2025 2026 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2027 // 2028 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 2029 func (_ERC721 *ERC721Filterer) ParseApproval(log types.Log) (*ERC721Approval, error) { 2030 event := new(ERC721Approval) 2031 if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil { 2032 return nil, err 2033 } 2034 event.Raw = log 2035 return event, nil 2036 } 2037 2038 // 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. 2039 type ERC721ApprovalForAllIterator struct { 2040 Event *ERC721ApprovalForAll // Event containing the contract specifics and raw log 2041 2042 contract *bind.BoundContract // Generic contract to use for unpacking event data 2043 event string // Event name to use for unpacking event data 2044 2045 logs chan types.Log // Log channel receiving the found contract events 2046 sub ethereum.Subscription // Subscription for errors, completion and termination 2047 done bool // Whether the subscription completed delivering logs 2048 fail error // Occurred error to stop iteration 2049 } 2050 2051 // Next advances the iterator to the subsequent event, returning whether there 2052 // are any more events found. In case of a retrieval or parsing error, false is 2053 // returned and Error() can be queried for the exact failure. 2054 func (it *ERC721ApprovalForAllIterator) Next() bool { 2055 // If the iterator failed, stop iterating 2056 if it.fail != nil { 2057 return false 2058 } 2059 // If the iterator completed, deliver directly whatever's available 2060 if it.done { 2061 select { 2062 case log := <-it.logs: 2063 it.Event = new(ERC721ApprovalForAll) 2064 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2065 it.fail = err 2066 return false 2067 } 2068 it.Event.Raw = log 2069 return true 2070 2071 default: 2072 return false 2073 } 2074 } 2075 // Iterator still in progress, wait for either a data or an error event 2076 select { 2077 case log := <-it.logs: 2078 it.Event = new(ERC721ApprovalForAll) 2079 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2080 it.fail = err 2081 return false 2082 } 2083 it.Event.Raw = log 2084 return true 2085 2086 case err := <-it.sub.Err(): 2087 it.done = true 2088 it.fail = err 2089 return it.Next() 2090 } 2091 } 2092 2093 // Error returns any retrieval or parsing error occurred during filtering. 2094 func (it *ERC721ApprovalForAllIterator) Error() error { 2095 return it.fail 2096 } 2097 2098 // Close terminates the iteration process, releasing any pending underlying 2099 // resources. 2100 func (it *ERC721ApprovalForAllIterator) Close() error { 2101 it.sub.Unsubscribe() 2102 return nil 2103 } 2104 2105 // ERC721ApprovalForAll represents a ApprovalForAll event raised by the ERC721 contract. 2106 type ERC721ApprovalForAll struct { 2107 Owner common.Address 2108 Operator common.Address 2109 Approved bool 2110 Raw types.Log // Blockchain specific contextual infos 2111 } 2112 2113 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 2114 // 2115 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 2116 func (_ERC721 *ERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721ApprovalForAllIterator, error) { 2117 2118 var ownerRule []interface{} 2119 for _, ownerItem := range owner { 2120 ownerRule = append(ownerRule, ownerItem) 2121 } 2122 var operatorRule []interface{} 2123 for _, operatorItem := range operator { 2124 operatorRule = append(operatorRule, operatorItem) 2125 } 2126 2127 logs, sub, err := _ERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 2128 if err != nil { 2129 return nil, err 2130 } 2131 return &ERC721ApprovalForAllIterator{contract: _ERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 2132 } 2133 2134 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 2135 // 2136 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 2137 func (_ERC721 *ERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 2138 2139 var ownerRule []interface{} 2140 for _, ownerItem := range owner { 2141 ownerRule = append(ownerRule, ownerItem) 2142 } 2143 var operatorRule []interface{} 2144 for _, operatorItem := range operator { 2145 operatorRule = append(operatorRule, operatorItem) 2146 } 2147 2148 logs, sub, err := _ERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 2149 if err != nil { 2150 return nil, err 2151 } 2152 return event.NewSubscription(func(quit <-chan struct{}) error { 2153 defer sub.Unsubscribe() 2154 for { 2155 select { 2156 case log := <-logs: 2157 // New log arrived, parse the event and forward to the user 2158 event := new(ERC721ApprovalForAll) 2159 if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 2160 return err 2161 } 2162 event.Raw = log 2163 2164 select { 2165 case sink <- event: 2166 case err := <-sub.Err(): 2167 return err 2168 case <-quit: 2169 return nil 2170 } 2171 case err := <-sub.Err(): 2172 return err 2173 case <-quit: 2174 return nil 2175 } 2176 } 2177 }), nil 2178 } 2179 2180 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 2181 // 2182 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 2183 func (_ERC721 *ERC721Filterer) ParseApprovalForAll(log types.Log) (*ERC721ApprovalForAll, error) { 2184 event := new(ERC721ApprovalForAll) 2185 if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 2186 return nil, err 2187 } 2188 event.Raw = log 2189 return event, nil 2190 } 2191 2192 // 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. 2193 type ERC721TransferIterator struct { 2194 Event *ERC721Transfer // Event containing the contract specifics and raw log 2195 2196 contract *bind.BoundContract // Generic contract to use for unpacking event data 2197 event string // Event name to use for unpacking event data 2198 2199 logs chan types.Log // Log channel receiving the found contract events 2200 sub ethereum.Subscription // Subscription for errors, completion and termination 2201 done bool // Whether the subscription completed delivering logs 2202 fail error // Occurred error to stop iteration 2203 } 2204 2205 // Next advances the iterator to the subsequent event, returning whether there 2206 // are any more events found. In case of a retrieval or parsing error, false is 2207 // returned and Error() can be queried for the exact failure. 2208 func (it *ERC721TransferIterator) Next() bool { 2209 // If the iterator failed, stop iterating 2210 if it.fail != nil { 2211 return false 2212 } 2213 // If the iterator completed, deliver directly whatever's available 2214 if it.done { 2215 select { 2216 case log := <-it.logs: 2217 it.Event = new(ERC721Transfer) 2218 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2219 it.fail = err 2220 return false 2221 } 2222 it.Event.Raw = log 2223 return true 2224 2225 default: 2226 return false 2227 } 2228 } 2229 // Iterator still in progress, wait for either a data or an error event 2230 select { 2231 case log := <-it.logs: 2232 it.Event = new(ERC721Transfer) 2233 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2234 it.fail = err 2235 return false 2236 } 2237 it.Event.Raw = log 2238 return true 2239 2240 case err := <-it.sub.Err(): 2241 it.done = true 2242 it.fail = err 2243 return it.Next() 2244 } 2245 } 2246 2247 // Error returns any retrieval or parsing error occurred during filtering. 2248 func (it *ERC721TransferIterator) Error() error { 2249 return it.fail 2250 } 2251 2252 // Close terminates the iteration process, releasing any pending underlying 2253 // resources. 2254 func (it *ERC721TransferIterator) Close() error { 2255 it.sub.Unsubscribe() 2256 return nil 2257 } 2258 2259 // ERC721Transfer represents a Transfer event raised by the ERC721 contract. 2260 type ERC721Transfer struct { 2261 From common.Address 2262 To common.Address 2263 TokenId *big.Int 2264 Raw types.Log // Blockchain specific contextual infos 2265 } 2266 2267 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2268 // 2269 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 2270 func (_ERC721 *ERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721TransferIterator, error) { 2271 2272 var fromRule []interface{} 2273 for _, fromItem := range from { 2274 fromRule = append(fromRule, fromItem) 2275 } 2276 var toRule []interface{} 2277 for _, toItem := range to { 2278 toRule = append(toRule, toItem) 2279 } 2280 var tokenIdRule []interface{} 2281 for _, tokenIdItem := range tokenId { 2282 tokenIdRule = append(tokenIdRule, tokenIdItem) 2283 } 2284 2285 logs, sub, err := _ERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 2286 if err != nil { 2287 return nil, err 2288 } 2289 return &ERC721TransferIterator{contract: _ERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil 2290 } 2291 2292 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2293 // 2294 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 2295 func (_ERC721 *ERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 2296 2297 var fromRule []interface{} 2298 for _, fromItem := range from { 2299 fromRule = append(fromRule, fromItem) 2300 } 2301 var toRule []interface{} 2302 for _, toItem := range to { 2303 toRule = append(toRule, toItem) 2304 } 2305 var tokenIdRule []interface{} 2306 for _, tokenIdItem := range tokenId { 2307 tokenIdRule = append(tokenIdRule, tokenIdItem) 2308 } 2309 2310 logs, sub, err := _ERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 2311 if err != nil { 2312 return nil, err 2313 } 2314 return event.NewSubscription(func(quit <-chan struct{}) error { 2315 defer sub.Unsubscribe() 2316 for { 2317 select { 2318 case log := <-logs: 2319 // New log arrived, parse the event and forward to the user 2320 event := new(ERC721Transfer) 2321 if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 2322 return err 2323 } 2324 event.Raw = log 2325 2326 select { 2327 case sink <- event: 2328 case err := <-sub.Err(): 2329 return err 2330 case <-quit: 2331 return nil 2332 } 2333 case err := <-sub.Err(): 2334 return err 2335 case <-quit: 2336 return nil 2337 } 2338 } 2339 }), nil 2340 } 2341 2342 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2343 // 2344 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 2345 func (_ERC721 *ERC721Filterer) ParseTransfer(log types.Log) (*ERC721Transfer, error) { 2346 event := new(ERC721Transfer) 2347 if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 2348 return nil, err 2349 } 2350 event.Raw = log 2351 return event, nil 2352 } 2353 2354 // EnumerableMapABI is the input ABI used to generate the binding from. 2355 const EnumerableMapABI = "[]" 2356 2357 // EnumerableMapBin is the compiled bytecode used for deploying new contracts. 2358 var EnumerableMapBin = "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ae2d82cdf7f3594805398713255350301a08dbee7b0181a00aa4ca544b0ef88b64736f6c63430006060033" 2359 2360 // DeployEnumerableMap deploys a new Ethereum contract, binding an instance of EnumerableMap to it. 2361 func DeployEnumerableMap(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *EnumerableMap, error) { 2362 parsed, err := abi.JSON(strings.NewReader(EnumerableMapABI)) 2363 if err != nil { 2364 return common.Address{}, nil, nil, err 2365 } 2366 2367 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(EnumerableMapBin), backend) 2368 if err != nil { 2369 return common.Address{}, nil, nil, err 2370 } 2371 return address, tx, &EnumerableMap{EnumerableMapCaller: EnumerableMapCaller{contract: contract}, EnumerableMapTransactor: EnumerableMapTransactor{contract: contract}, EnumerableMapFilterer: EnumerableMapFilterer{contract: contract}}, nil 2372 } 2373 2374 // EnumerableMap is an auto generated Go binding around an Ethereum contract. 2375 type EnumerableMap struct { 2376 EnumerableMapCaller // Read-only binding to the contract 2377 EnumerableMapTransactor // Write-only binding to the contract 2378 EnumerableMapFilterer // Log filterer for contract events 2379 } 2380 2381 // EnumerableMapCaller is an auto generated read-only Go binding around an Ethereum contract. 2382 type EnumerableMapCaller struct { 2383 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2384 } 2385 2386 // EnumerableMapTransactor is an auto generated write-only Go binding around an Ethereum contract. 2387 type EnumerableMapTransactor struct { 2388 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2389 } 2390 2391 // EnumerableMapFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 2392 type EnumerableMapFilterer struct { 2393 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2394 } 2395 2396 // EnumerableMapSession is an auto generated Go binding around an Ethereum contract, 2397 // with pre-set call and transact options. 2398 type EnumerableMapSession struct { 2399 Contract *EnumerableMap // Generic contract binding to set the session for 2400 CallOpts bind.CallOpts // Call options to use throughout this session 2401 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2402 } 2403 2404 // EnumerableMapCallerSession is an auto generated read-only Go binding around an Ethereum contract, 2405 // with pre-set call options. 2406 type EnumerableMapCallerSession struct { 2407 Contract *EnumerableMapCaller // Generic contract caller binding to set the session for 2408 CallOpts bind.CallOpts // Call options to use throughout this session 2409 } 2410 2411 // EnumerableMapTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 2412 // with pre-set transact options. 2413 type EnumerableMapTransactorSession struct { 2414 Contract *EnumerableMapTransactor // Generic contract transactor binding to set the session for 2415 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2416 } 2417 2418 // EnumerableMapRaw is an auto generated low-level Go binding around an Ethereum contract. 2419 type EnumerableMapRaw struct { 2420 Contract *EnumerableMap // Generic contract binding to access the raw methods on 2421 } 2422 2423 // EnumerableMapCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 2424 type EnumerableMapCallerRaw struct { 2425 Contract *EnumerableMapCaller // Generic read-only contract binding to access the raw methods on 2426 } 2427 2428 // EnumerableMapTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 2429 type EnumerableMapTransactorRaw struct { 2430 Contract *EnumerableMapTransactor // Generic write-only contract binding to access the raw methods on 2431 } 2432 2433 // NewEnumerableMap creates a new instance of EnumerableMap, bound to a specific deployed contract. 2434 func NewEnumerableMap(address common.Address, backend bind.ContractBackend) (*EnumerableMap, error) { 2435 contract, err := bindEnumerableMap(address, backend, backend, backend) 2436 if err != nil { 2437 return nil, err 2438 } 2439 return &EnumerableMap{EnumerableMapCaller: EnumerableMapCaller{contract: contract}, EnumerableMapTransactor: EnumerableMapTransactor{contract: contract}, EnumerableMapFilterer: EnumerableMapFilterer{contract: contract}}, nil 2440 } 2441 2442 // NewEnumerableMapCaller creates a new read-only instance of EnumerableMap, bound to a specific deployed contract. 2443 func NewEnumerableMapCaller(address common.Address, caller bind.ContractCaller) (*EnumerableMapCaller, error) { 2444 contract, err := bindEnumerableMap(address, caller, nil, nil) 2445 if err != nil { 2446 return nil, err 2447 } 2448 return &EnumerableMapCaller{contract: contract}, nil 2449 } 2450 2451 // NewEnumerableMapTransactor creates a new write-only instance of EnumerableMap, bound to a specific deployed contract. 2452 func NewEnumerableMapTransactor(address common.Address, transactor bind.ContractTransactor) (*EnumerableMapTransactor, error) { 2453 contract, err := bindEnumerableMap(address, nil, transactor, nil) 2454 if err != nil { 2455 return nil, err 2456 } 2457 return &EnumerableMapTransactor{contract: contract}, nil 2458 } 2459 2460 // NewEnumerableMapFilterer creates a new log filterer instance of EnumerableMap, bound to a specific deployed contract. 2461 func NewEnumerableMapFilterer(address common.Address, filterer bind.ContractFilterer) (*EnumerableMapFilterer, error) { 2462 contract, err := bindEnumerableMap(address, nil, nil, filterer) 2463 if err != nil { 2464 return nil, err 2465 } 2466 return &EnumerableMapFilterer{contract: contract}, nil 2467 } 2468 2469 // bindEnumerableMap binds a generic wrapper to an already deployed contract. 2470 func bindEnumerableMap(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 2471 parsed, err := abi.JSON(strings.NewReader(EnumerableMapABI)) 2472 if err != nil { 2473 return nil, err 2474 } 2475 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 2476 } 2477 2478 // Call invokes the (constant) contract method with params as input values and 2479 // sets the output to result. The result type might be a single field for simple 2480 // returns, a slice of interfaces for anonymous returns and a struct for named 2481 // returns. 2482 func (_EnumerableMap *EnumerableMapRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 2483 return _EnumerableMap.Contract.EnumerableMapCaller.contract.Call(opts, result, method, params...) 2484 } 2485 2486 // Transfer initiates a plain transaction to move funds to the contract, calling 2487 // its default method if one is available. 2488 func (_EnumerableMap *EnumerableMapRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2489 return _EnumerableMap.Contract.EnumerableMapTransactor.contract.Transfer(opts) 2490 } 2491 2492 // Transact invokes the (paid) contract method with params as input values. 2493 func (_EnumerableMap *EnumerableMapRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2494 return _EnumerableMap.Contract.EnumerableMapTransactor.contract.Transact(opts, method, params...) 2495 } 2496 2497 // Call invokes the (constant) contract method with params as input values and 2498 // sets the output to result. The result type might be a single field for simple 2499 // returns, a slice of interfaces for anonymous returns and a struct for named 2500 // returns. 2501 func (_EnumerableMap *EnumerableMapCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 2502 return _EnumerableMap.Contract.contract.Call(opts, result, method, params...) 2503 } 2504 2505 // Transfer initiates a plain transaction to move funds to the contract, calling 2506 // its default method if one is available. 2507 func (_EnumerableMap *EnumerableMapTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2508 return _EnumerableMap.Contract.contract.Transfer(opts) 2509 } 2510 2511 // Transact invokes the (paid) contract method with params as input values. 2512 func (_EnumerableMap *EnumerableMapTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2513 return _EnumerableMap.Contract.contract.Transact(opts, method, params...) 2514 } 2515 2516 // EnumerableSetABI is the input ABI used to generate the binding from. 2517 const EnumerableSetABI = "[]" 2518 2519 // EnumerableSetBin is the compiled bytecode used for deploying new contracts. 2520 var EnumerableSetBin = "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c88debb9494829d50bc3d47c25913a9854deb61fadd18a19b59c7669365b211664736f6c63430006060033" 2521 2522 // DeployEnumerableSet deploys a new Ethereum contract, binding an instance of EnumerableSet to it. 2523 func DeployEnumerableSet(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *EnumerableSet, error) { 2524 parsed, err := abi.JSON(strings.NewReader(EnumerableSetABI)) 2525 if err != nil { 2526 return common.Address{}, nil, nil, err 2527 } 2528 2529 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(EnumerableSetBin), backend) 2530 if err != nil { 2531 return common.Address{}, nil, nil, err 2532 } 2533 return address, tx, &EnumerableSet{EnumerableSetCaller: EnumerableSetCaller{contract: contract}, EnumerableSetTransactor: EnumerableSetTransactor{contract: contract}, EnumerableSetFilterer: EnumerableSetFilterer{contract: contract}}, nil 2534 } 2535 2536 // EnumerableSet is an auto generated Go binding around an Ethereum contract. 2537 type EnumerableSet struct { 2538 EnumerableSetCaller // Read-only binding to the contract 2539 EnumerableSetTransactor // Write-only binding to the contract 2540 EnumerableSetFilterer // Log filterer for contract events 2541 } 2542 2543 // EnumerableSetCaller is an auto generated read-only Go binding around an Ethereum contract. 2544 type EnumerableSetCaller struct { 2545 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2546 } 2547 2548 // EnumerableSetTransactor is an auto generated write-only Go binding around an Ethereum contract. 2549 type EnumerableSetTransactor struct { 2550 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2551 } 2552 2553 // EnumerableSetFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 2554 type EnumerableSetFilterer struct { 2555 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2556 } 2557 2558 // EnumerableSetSession is an auto generated Go binding around an Ethereum contract, 2559 // with pre-set call and transact options. 2560 type EnumerableSetSession struct { 2561 Contract *EnumerableSet // Generic contract binding to set the session for 2562 CallOpts bind.CallOpts // Call options to use throughout this session 2563 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2564 } 2565 2566 // EnumerableSetCallerSession is an auto generated read-only Go binding around an Ethereum contract, 2567 // with pre-set call options. 2568 type EnumerableSetCallerSession struct { 2569 Contract *EnumerableSetCaller // Generic contract caller binding to set the session for 2570 CallOpts bind.CallOpts // Call options to use throughout this session 2571 } 2572 2573 // EnumerableSetTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 2574 // with pre-set transact options. 2575 type EnumerableSetTransactorSession struct { 2576 Contract *EnumerableSetTransactor // Generic contract transactor binding to set the session for 2577 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2578 } 2579 2580 // EnumerableSetRaw is an auto generated low-level Go binding around an Ethereum contract. 2581 type EnumerableSetRaw struct { 2582 Contract *EnumerableSet // Generic contract binding to access the raw methods on 2583 } 2584 2585 // EnumerableSetCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 2586 type EnumerableSetCallerRaw struct { 2587 Contract *EnumerableSetCaller // Generic read-only contract binding to access the raw methods on 2588 } 2589 2590 // EnumerableSetTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 2591 type EnumerableSetTransactorRaw struct { 2592 Contract *EnumerableSetTransactor // Generic write-only contract binding to access the raw methods on 2593 } 2594 2595 // NewEnumerableSet creates a new instance of EnumerableSet, bound to a specific deployed contract. 2596 func NewEnumerableSet(address common.Address, backend bind.ContractBackend) (*EnumerableSet, error) { 2597 contract, err := bindEnumerableSet(address, backend, backend, backend) 2598 if err != nil { 2599 return nil, err 2600 } 2601 return &EnumerableSet{EnumerableSetCaller: EnumerableSetCaller{contract: contract}, EnumerableSetTransactor: EnumerableSetTransactor{contract: contract}, EnumerableSetFilterer: EnumerableSetFilterer{contract: contract}}, nil 2602 } 2603 2604 // NewEnumerableSetCaller creates a new read-only instance of EnumerableSet, bound to a specific deployed contract. 2605 func NewEnumerableSetCaller(address common.Address, caller bind.ContractCaller) (*EnumerableSetCaller, error) { 2606 contract, err := bindEnumerableSet(address, caller, nil, nil) 2607 if err != nil { 2608 return nil, err 2609 } 2610 return &EnumerableSetCaller{contract: contract}, nil 2611 } 2612 2613 // NewEnumerableSetTransactor creates a new write-only instance of EnumerableSet, bound to a specific deployed contract. 2614 func NewEnumerableSetTransactor(address common.Address, transactor bind.ContractTransactor) (*EnumerableSetTransactor, error) { 2615 contract, err := bindEnumerableSet(address, nil, transactor, nil) 2616 if err != nil { 2617 return nil, err 2618 } 2619 return &EnumerableSetTransactor{contract: contract}, nil 2620 } 2621 2622 // NewEnumerableSetFilterer creates a new log filterer instance of EnumerableSet, bound to a specific deployed contract. 2623 func NewEnumerableSetFilterer(address common.Address, filterer bind.ContractFilterer) (*EnumerableSetFilterer, error) { 2624 contract, err := bindEnumerableSet(address, nil, nil, filterer) 2625 if err != nil { 2626 return nil, err 2627 } 2628 return &EnumerableSetFilterer{contract: contract}, nil 2629 } 2630 2631 // bindEnumerableSet binds a generic wrapper to an already deployed contract. 2632 func bindEnumerableSet(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 2633 parsed, err := abi.JSON(strings.NewReader(EnumerableSetABI)) 2634 if err != nil { 2635 return nil, err 2636 } 2637 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 2638 } 2639 2640 // Call invokes the (constant) contract method with params as input values and 2641 // sets the output to result. The result type might be a single field for simple 2642 // returns, a slice of interfaces for anonymous returns and a struct for named 2643 // returns. 2644 func (_EnumerableSet *EnumerableSetRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 2645 return _EnumerableSet.Contract.EnumerableSetCaller.contract.Call(opts, result, method, params...) 2646 } 2647 2648 // Transfer initiates a plain transaction to move funds to the contract, calling 2649 // its default method if one is available. 2650 func (_EnumerableSet *EnumerableSetRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2651 return _EnumerableSet.Contract.EnumerableSetTransactor.contract.Transfer(opts) 2652 } 2653 2654 // Transact invokes the (paid) contract method with params as input values. 2655 func (_EnumerableSet *EnumerableSetRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2656 return _EnumerableSet.Contract.EnumerableSetTransactor.contract.Transact(opts, method, params...) 2657 } 2658 2659 // Call invokes the (constant) contract method with params as input values and 2660 // sets the output to result. The result type might be a single field for simple 2661 // returns, a slice of interfaces for anonymous returns and a struct for named 2662 // returns. 2663 func (_EnumerableSet *EnumerableSetCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 2664 return _EnumerableSet.Contract.contract.Call(opts, result, method, params...) 2665 } 2666 2667 // Transfer initiates a plain transaction to move funds to the contract, calling 2668 // its default method if one is available. 2669 func (_EnumerableSet *EnumerableSetTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2670 return _EnumerableSet.Contract.contract.Transfer(opts) 2671 } 2672 2673 // Transact invokes the (paid) contract method with params as input values. 2674 func (_EnumerableSet *EnumerableSetTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2675 return _EnumerableSet.Contract.contract.Transact(opts, method, params...) 2676 } 2677 2678 // IERC165ABI is the input ABI used to generate the binding from. 2679 const IERC165ABI = "[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]" 2680 2681 // IERC165FuncSigs maps the 4-byte function signature to its string representation. 2682 var IERC165FuncSigs = map[string]string{ 2683 "01ffc9a7": "supportsInterface(bytes4)", 2684 } 2685 2686 // IERC165 is an auto generated Go binding around an Ethereum contract. 2687 type IERC165 struct { 2688 IERC165Caller // Read-only binding to the contract 2689 IERC165Transactor // Write-only binding to the contract 2690 IERC165Filterer // Log filterer for contract events 2691 } 2692 2693 // IERC165Caller is an auto generated read-only Go binding around an Ethereum contract. 2694 type IERC165Caller struct { 2695 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2696 } 2697 2698 // IERC165Transactor is an auto generated write-only Go binding around an Ethereum contract. 2699 type IERC165Transactor struct { 2700 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2701 } 2702 2703 // IERC165Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 2704 type IERC165Filterer struct { 2705 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2706 } 2707 2708 // IERC165Session is an auto generated Go binding around an Ethereum contract, 2709 // with pre-set call and transact options. 2710 type IERC165Session struct { 2711 Contract *IERC165 // Generic contract binding to set the session for 2712 CallOpts bind.CallOpts // Call options to use throughout this session 2713 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2714 } 2715 2716 // IERC165CallerSession is an auto generated read-only Go binding around an Ethereum contract, 2717 // with pre-set call options. 2718 type IERC165CallerSession struct { 2719 Contract *IERC165Caller // Generic contract caller binding to set the session for 2720 CallOpts bind.CallOpts // Call options to use throughout this session 2721 } 2722 2723 // IERC165TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 2724 // with pre-set transact options. 2725 type IERC165TransactorSession struct { 2726 Contract *IERC165Transactor // Generic contract transactor binding to set the session for 2727 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2728 } 2729 2730 // IERC165Raw is an auto generated low-level Go binding around an Ethereum contract. 2731 type IERC165Raw struct { 2732 Contract *IERC165 // Generic contract binding to access the raw methods on 2733 } 2734 2735 // IERC165CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 2736 type IERC165CallerRaw struct { 2737 Contract *IERC165Caller // Generic read-only contract binding to access the raw methods on 2738 } 2739 2740 // IERC165TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 2741 type IERC165TransactorRaw struct { 2742 Contract *IERC165Transactor // Generic write-only contract binding to access the raw methods on 2743 } 2744 2745 // NewIERC165 creates a new instance of IERC165, bound to a specific deployed contract. 2746 func NewIERC165(address common.Address, backend bind.ContractBackend) (*IERC165, error) { 2747 contract, err := bindIERC165(address, backend, backend, backend) 2748 if err != nil { 2749 return nil, err 2750 } 2751 return &IERC165{IERC165Caller: IERC165Caller{contract: contract}, IERC165Transactor: IERC165Transactor{contract: contract}, IERC165Filterer: IERC165Filterer{contract: contract}}, nil 2752 } 2753 2754 // NewIERC165Caller creates a new read-only instance of IERC165, bound to a specific deployed contract. 2755 func NewIERC165Caller(address common.Address, caller bind.ContractCaller) (*IERC165Caller, error) { 2756 contract, err := bindIERC165(address, caller, nil, nil) 2757 if err != nil { 2758 return nil, err 2759 } 2760 return &IERC165Caller{contract: contract}, nil 2761 } 2762 2763 // NewIERC165Transactor creates a new write-only instance of IERC165, bound to a specific deployed contract. 2764 func NewIERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC165Transactor, error) { 2765 contract, err := bindIERC165(address, nil, transactor, nil) 2766 if err != nil { 2767 return nil, err 2768 } 2769 return &IERC165Transactor{contract: contract}, nil 2770 } 2771 2772 // NewIERC165Filterer creates a new log filterer instance of IERC165, bound to a specific deployed contract. 2773 func NewIERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC165Filterer, error) { 2774 contract, err := bindIERC165(address, nil, nil, filterer) 2775 if err != nil { 2776 return nil, err 2777 } 2778 return &IERC165Filterer{contract: contract}, nil 2779 } 2780 2781 // bindIERC165 binds a generic wrapper to an already deployed contract. 2782 func bindIERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 2783 parsed, err := abi.JSON(strings.NewReader(IERC165ABI)) 2784 if err != nil { 2785 return nil, err 2786 } 2787 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 2788 } 2789 2790 // Call invokes the (constant) contract method with params as input values and 2791 // sets the output to result. The result type might be a single field for simple 2792 // returns, a slice of interfaces for anonymous returns and a struct for named 2793 // returns. 2794 func (_IERC165 *IERC165Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 2795 return _IERC165.Contract.IERC165Caller.contract.Call(opts, result, method, params...) 2796 } 2797 2798 // Transfer initiates a plain transaction to move funds to the contract, calling 2799 // its default method if one is available. 2800 func (_IERC165 *IERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2801 return _IERC165.Contract.IERC165Transactor.contract.Transfer(opts) 2802 } 2803 2804 // Transact invokes the (paid) contract method with params as input values. 2805 func (_IERC165 *IERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2806 return _IERC165.Contract.IERC165Transactor.contract.Transact(opts, method, params...) 2807 } 2808 2809 // Call invokes the (constant) contract method with params as input values and 2810 // sets the output to result. The result type might be a single field for simple 2811 // returns, a slice of interfaces for anonymous returns and a struct for named 2812 // returns. 2813 func (_IERC165 *IERC165CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 2814 return _IERC165.Contract.contract.Call(opts, result, method, params...) 2815 } 2816 2817 // Transfer initiates a plain transaction to move funds to the contract, calling 2818 // its default method if one is available. 2819 func (_IERC165 *IERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2820 return _IERC165.Contract.contract.Transfer(opts) 2821 } 2822 2823 // Transact invokes the (paid) contract method with params as input values. 2824 func (_IERC165 *IERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2825 return _IERC165.Contract.contract.Transact(opts, method, params...) 2826 } 2827 2828 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 2829 // 2830 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 2831 func (_IERC165 *IERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 2832 var out []interface{} 2833 err := _IERC165.contract.Call(opts, &out, "supportsInterface", interfaceId) 2834 2835 if err != nil { 2836 return *new(bool), err 2837 } 2838 2839 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 2840 2841 return out0, err 2842 2843 } 2844 2845 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 2846 // 2847 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 2848 func (_IERC165 *IERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 2849 return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) 2850 } 2851 2852 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 2853 // 2854 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 2855 func (_IERC165 *IERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 2856 return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) 2857 } 2858 2859 // IERC721ABI is the input ABI used to generate the binding from. 2860 const IERC721ABI = "[{\"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\"}]" 2861 2862 // IERC721FuncSigs maps the 4-byte function signature to its string representation. 2863 var IERC721FuncSigs = map[string]string{ 2864 "095ea7b3": "approve(address,uint256)", 2865 "70a08231": "balanceOf(address)", 2866 "081812fc": "getApproved(uint256)", 2867 "e985e9c5": "isApprovedForAll(address,address)", 2868 "6352211e": "ownerOf(uint256)", 2869 "42842e0e": "safeTransferFrom(address,address,uint256)", 2870 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 2871 "a22cb465": "setApprovalForAll(address,bool)", 2872 "01ffc9a7": "supportsInterface(bytes4)", 2873 "23b872dd": "transferFrom(address,address,uint256)", 2874 } 2875 2876 // IERC721 is an auto generated Go binding around an Ethereum contract. 2877 type IERC721 struct { 2878 IERC721Caller // Read-only binding to the contract 2879 IERC721Transactor // Write-only binding to the contract 2880 IERC721Filterer // Log filterer for contract events 2881 } 2882 2883 // IERC721Caller is an auto generated read-only Go binding around an Ethereum contract. 2884 type IERC721Caller struct { 2885 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2886 } 2887 2888 // IERC721Transactor is an auto generated write-only Go binding around an Ethereum contract. 2889 type IERC721Transactor struct { 2890 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2891 } 2892 2893 // IERC721Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 2894 type IERC721Filterer struct { 2895 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2896 } 2897 2898 // IERC721Session is an auto generated Go binding around an Ethereum contract, 2899 // with pre-set call and transact options. 2900 type IERC721Session struct { 2901 Contract *IERC721 // Generic contract binding to set the session for 2902 CallOpts bind.CallOpts // Call options to use throughout this session 2903 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2904 } 2905 2906 // IERC721CallerSession is an auto generated read-only Go binding around an Ethereum contract, 2907 // with pre-set call options. 2908 type IERC721CallerSession struct { 2909 Contract *IERC721Caller // Generic contract caller binding to set the session for 2910 CallOpts bind.CallOpts // Call options to use throughout this session 2911 } 2912 2913 // IERC721TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 2914 // with pre-set transact options. 2915 type IERC721TransactorSession struct { 2916 Contract *IERC721Transactor // Generic contract transactor binding to set the session for 2917 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2918 } 2919 2920 // IERC721Raw is an auto generated low-level Go binding around an Ethereum contract. 2921 type IERC721Raw struct { 2922 Contract *IERC721 // Generic contract binding to access the raw methods on 2923 } 2924 2925 // IERC721CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 2926 type IERC721CallerRaw struct { 2927 Contract *IERC721Caller // Generic read-only contract binding to access the raw methods on 2928 } 2929 2930 // IERC721TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 2931 type IERC721TransactorRaw struct { 2932 Contract *IERC721Transactor // Generic write-only contract binding to access the raw methods on 2933 } 2934 2935 // NewIERC721 creates a new instance of IERC721, bound to a specific deployed contract. 2936 func NewIERC721(address common.Address, backend bind.ContractBackend) (*IERC721, error) { 2937 contract, err := bindIERC721(address, backend, backend, backend) 2938 if err != nil { 2939 return nil, err 2940 } 2941 return &IERC721{IERC721Caller: IERC721Caller{contract: contract}, IERC721Transactor: IERC721Transactor{contract: contract}, IERC721Filterer: IERC721Filterer{contract: contract}}, nil 2942 } 2943 2944 // NewIERC721Caller creates a new read-only instance of IERC721, bound to a specific deployed contract. 2945 func NewIERC721Caller(address common.Address, caller bind.ContractCaller) (*IERC721Caller, error) { 2946 contract, err := bindIERC721(address, caller, nil, nil) 2947 if err != nil { 2948 return nil, err 2949 } 2950 return &IERC721Caller{contract: contract}, nil 2951 } 2952 2953 // NewIERC721Transactor creates a new write-only instance of IERC721, bound to a specific deployed contract. 2954 func NewIERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC721Transactor, error) { 2955 contract, err := bindIERC721(address, nil, transactor, nil) 2956 if err != nil { 2957 return nil, err 2958 } 2959 return &IERC721Transactor{contract: contract}, nil 2960 } 2961 2962 // NewIERC721Filterer creates a new log filterer instance of IERC721, bound to a specific deployed contract. 2963 func NewIERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC721Filterer, error) { 2964 contract, err := bindIERC721(address, nil, nil, filterer) 2965 if err != nil { 2966 return nil, err 2967 } 2968 return &IERC721Filterer{contract: contract}, nil 2969 } 2970 2971 // bindIERC721 binds a generic wrapper to an already deployed contract. 2972 func bindIERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 2973 parsed, err := abi.JSON(strings.NewReader(IERC721ABI)) 2974 if err != nil { 2975 return nil, err 2976 } 2977 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 2978 } 2979 2980 // Call invokes the (constant) contract method with params as input values and 2981 // sets the output to result. The result type might be a single field for simple 2982 // returns, a slice of interfaces for anonymous returns and a struct for named 2983 // returns. 2984 func (_IERC721 *IERC721Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 2985 return _IERC721.Contract.IERC721Caller.contract.Call(opts, result, method, params...) 2986 } 2987 2988 // Transfer initiates a plain transaction to move funds to the contract, calling 2989 // its default method if one is available. 2990 func (_IERC721 *IERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2991 return _IERC721.Contract.IERC721Transactor.contract.Transfer(opts) 2992 } 2993 2994 // Transact invokes the (paid) contract method with params as input values. 2995 func (_IERC721 *IERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2996 return _IERC721.Contract.IERC721Transactor.contract.Transact(opts, method, params...) 2997 } 2998 2999 // Call invokes the (constant) contract method with params as input values and 3000 // sets the output to result. The result type might be a single field for simple 3001 // returns, a slice of interfaces for anonymous returns and a struct for named 3002 // returns. 3003 func (_IERC721 *IERC721CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 3004 return _IERC721.Contract.contract.Call(opts, result, method, params...) 3005 } 3006 3007 // Transfer initiates a plain transaction to move funds to the contract, calling 3008 // its default method if one is available. 3009 func (_IERC721 *IERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 3010 return _IERC721.Contract.contract.Transfer(opts) 3011 } 3012 3013 // Transact invokes the (paid) contract method with params as input values. 3014 func (_IERC721 *IERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 3015 return _IERC721.Contract.contract.Transact(opts, method, params...) 3016 } 3017 3018 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3019 // 3020 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 3021 func (_IERC721 *IERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 3022 var out []interface{} 3023 err := _IERC721.contract.Call(opts, &out, "balanceOf", owner) 3024 3025 if err != nil { 3026 return *new(*big.Int), err 3027 } 3028 3029 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 3030 3031 return out0, err 3032 3033 } 3034 3035 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3036 // 3037 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 3038 func (_IERC721 *IERC721Session) BalanceOf(owner common.Address) (*big.Int, error) { 3039 return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner) 3040 } 3041 3042 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3043 // 3044 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 3045 func (_IERC721 *IERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 3046 return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner) 3047 } 3048 3049 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3050 // 3051 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 3052 func (_IERC721 *IERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 3053 var out []interface{} 3054 err := _IERC721.contract.Call(opts, &out, "getApproved", tokenId) 3055 3056 if err != nil { 3057 return *new(common.Address), err 3058 } 3059 3060 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 3061 3062 return out0, err 3063 3064 } 3065 3066 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3067 // 3068 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 3069 func (_IERC721 *IERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) { 3070 return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId) 3071 } 3072 3073 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3074 // 3075 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 3076 func (_IERC721 *IERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 3077 return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId) 3078 } 3079 3080 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3081 // 3082 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 3083 func (_IERC721 *IERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 3084 var out []interface{} 3085 err := _IERC721.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 3086 3087 if err != nil { 3088 return *new(bool), err 3089 } 3090 3091 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 3092 3093 return out0, err 3094 3095 } 3096 3097 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3098 // 3099 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 3100 func (_IERC721 *IERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 3101 return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator) 3102 } 3103 3104 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3105 // 3106 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 3107 func (_IERC721 *IERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 3108 return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator) 3109 } 3110 3111 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 3112 // 3113 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 3114 func (_IERC721 *IERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 3115 var out []interface{} 3116 err := _IERC721.contract.Call(opts, &out, "ownerOf", tokenId) 3117 3118 if err != nil { 3119 return *new(common.Address), err 3120 } 3121 3122 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 3123 3124 return out0, err 3125 3126 } 3127 3128 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 3129 // 3130 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 3131 func (_IERC721 *IERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) { 3132 return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId) 3133 } 3134 3135 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 3136 // 3137 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 3138 func (_IERC721 *IERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 3139 return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId) 3140 } 3141 3142 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 3143 // 3144 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 3145 func (_IERC721 *IERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 3146 var out []interface{} 3147 err := _IERC721.contract.Call(opts, &out, "supportsInterface", interfaceId) 3148 3149 if err != nil { 3150 return *new(bool), err 3151 } 3152 3153 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 3154 3155 return out0, err 3156 3157 } 3158 3159 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 3160 // 3161 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 3162 func (_IERC721 *IERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 3163 return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId) 3164 } 3165 3166 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 3167 // 3168 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 3169 func (_IERC721 *IERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 3170 return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId) 3171 } 3172 3173 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3174 // 3175 // Solidity: function approve(address to, uint256 tokenId) returns() 3176 func (_IERC721 *IERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3177 return _IERC721.contract.Transact(opts, "approve", to, tokenId) 3178 } 3179 3180 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3181 // 3182 // Solidity: function approve(address to, uint256 tokenId) returns() 3183 func (_IERC721 *IERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3184 return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId) 3185 } 3186 3187 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3188 // 3189 // Solidity: function approve(address to, uint256 tokenId) returns() 3190 func (_IERC721 *IERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3191 return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId) 3192 } 3193 3194 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 3195 // 3196 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 3197 func (_IERC721 *IERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3198 return _IERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 3199 } 3200 3201 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 3202 // 3203 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 3204 func (_IERC721 *IERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3205 return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 3206 } 3207 3208 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 3209 // 3210 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 3211 func (_IERC721 *IERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3212 return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 3213 } 3214 3215 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 3216 // 3217 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 3218 func (_IERC721 *IERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 3219 return _IERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) 3220 } 3221 3222 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 3223 // 3224 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 3225 func (_IERC721 *IERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 3226 return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, from, to, tokenId, data) 3227 } 3228 3229 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 3230 // 3231 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 3232 func (_IERC721 *IERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 3233 return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, from, to, tokenId, data) 3234 } 3235 3236 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 3237 // 3238 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 3239 func (_IERC721 *IERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { 3240 return _IERC721.contract.Transact(opts, "setApprovalForAll", operator, _approved) 3241 } 3242 3243 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 3244 // 3245 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 3246 func (_IERC721 *IERC721Session) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 3247 return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved) 3248 } 3249 3250 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 3251 // 3252 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 3253 func (_IERC721 *IERC721TransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 3254 return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved) 3255 } 3256 3257 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3258 // 3259 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 3260 func (_IERC721 *IERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3261 return _IERC721.contract.Transact(opts, "transferFrom", from, to, tokenId) 3262 } 3263 3264 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3265 // 3266 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 3267 func (_IERC721 *IERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3268 return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 3269 } 3270 3271 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3272 // 3273 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 3274 func (_IERC721 *IERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3275 return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 3276 } 3277 3278 // 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. 3279 type IERC721ApprovalIterator struct { 3280 Event *IERC721Approval // Event containing the contract specifics and raw log 3281 3282 contract *bind.BoundContract // Generic contract to use for unpacking event data 3283 event string // Event name to use for unpacking event data 3284 3285 logs chan types.Log // Log channel receiving the found contract events 3286 sub ethereum.Subscription // Subscription for errors, completion and termination 3287 done bool // Whether the subscription completed delivering logs 3288 fail error // Occurred error to stop iteration 3289 } 3290 3291 // Next advances the iterator to the subsequent event, returning whether there 3292 // are any more events found. In case of a retrieval or parsing error, false is 3293 // returned and Error() can be queried for the exact failure. 3294 func (it *IERC721ApprovalIterator) Next() bool { 3295 // If the iterator failed, stop iterating 3296 if it.fail != nil { 3297 return false 3298 } 3299 // If the iterator completed, deliver directly whatever's available 3300 if it.done { 3301 select { 3302 case log := <-it.logs: 3303 it.Event = new(IERC721Approval) 3304 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3305 it.fail = err 3306 return false 3307 } 3308 it.Event.Raw = log 3309 return true 3310 3311 default: 3312 return false 3313 } 3314 } 3315 // Iterator still in progress, wait for either a data or an error event 3316 select { 3317 case log := <-it.logs: 3318 it.Event = new(IERC721Approval) 3319 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3320 it.fail = err 3321 return false 3322 } 3323 it.Event.Raw = log 3324 return true 3325 3326 case err := <-it.sub.Err(): 3327 it.done = true 3328 it.fail = err 3329 return it.Next() 3330 } 3331 } 3332 3333 // Error returns any retrieval or parsing error occurred during filtering. 3334 func (it *IERC721ApprovalIterator) Error() error { 3335 return it.fail 3336 } 3337 3338 // Close terminates the iteration process, releasing any pending underlying 3339 // resources. 3340 func (it *IERC721ApprovalIterator) Close() error { 3341 it.sub.Unsubscribe() 3342 return nil 3343 } 3344 3345 // IERC721Approval represents a Approval event raised by the IERC721 contract. 3346 type IERC721Approval struct { 3347 Owner common.Address 3348 Approved common.Address 3349 TokenId *big.Int 3350 Raw types.Log // Blockchain specific contextual infos 3351 } 3352 3353 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3354 // 3355 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 3356 func (_IERC721 *IERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721ApprovalIterator, error) { 3357 3358 var ownerRule []interface{} 3359 for _, ownerItem := range owner { 3360 ownerRule = append(ownerRule, ownerItem) 3361 } 3362 var approvedRule []interface{} 3363 for _, approvedItem := range approved { 3364 approvedRule = append(approvedRule, approvedItem) 3365 } 3366 var tokenIdRule []interface{} 3367 for _, tokenIdItem := range tokenId { 3368 tokenIdRule = append(tokenIdRule, tokenIdItem) 3369 } 3370 3371 logs, sub, err := _IERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 3372 if err != nil { 3373 return nil, err 3374 } 3375 return &IERC721ApprovalIterator{contract: _IERC721.contract, event: "Approval", logs: logs, sub: sub}, nil 3376 } 3377 3378 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3379 // 3380 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 3381 func (_IERC721 *IERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 3382 3383 var ownerRule []interface{} 3384 for _, ownerItem := range owner { 3385 ownerRule = append(ownerRule, ownerItem) 3386 } 3387 var approvedRule []interface{} 3388 for _, approvedItem := range approved { 3389 approvedRule = append(approvedRule, approvedItem) 3390 } 3391 var tokenIdRule []interface{} 3392 for _, tokenIdItem := range tokenId { 3393 tokenIdRule = append(tokenIdRule, tokenIdItem) 3394 } 3395 3396 logs, sub, err := _IERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 3397 if err != nil { 3398 return nil, err 3399 } 3400 return event.NewSubscription(func(quit <-chan struct{}) error { 3401 defer sub.Unsubscribe() 3402 for { 3403 select { 3404 case log := <-logs: 3405 // New log arrived, parse the event and forward to the user 3406 event := new(IERC721Approval) 3407 if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil { 3408 return err 3409 } 3410 event.Raw = log 3411 3412 select { 3413 case sink <- event: 3414 case err := <-sub.Err(): 3415 return err 3416 case <-quit: 3417 return nil 3418 } 3419 case err := <-sub.Err(): 3420 return err 3421 case <-quit: 3422 return nil 3423 } 3424 } 3425 }), nil 3426 } 3427 3428 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3429 // 3430 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 3431 func (_IERC721 *IERC721Filterer) ParseApproval(log types.Log) (*IERC721Approval, error) { 3432 event := new(IERC721Approval) 3433 if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil { 3434 return nil, err 3435 } 3436 event.Raw = log 3437 return event, nil 3438 } 3439 3440 // 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. 3441 type IERC721ApprovalForAllIterator struct { 3442 Event *IERC721ApprovalForAll // Event containing the contract specifics and raw log 3443 3444 contract *bind.BoundContract // Generic contract to use for unpacking event data 3445 event string // Event name to use for unpacking event data 3446 3447 logs chan types.Log // Log channel receiving the found contract events 3448 sub ethereum.Subscription // Subscription for errors, completion and termination 3449 done bool // Whether the subscription completed delivering logs 3450 fail error // Occurred error to stop iteration 3451 } 3452 3453 // Next advances the iterator to the subsequent event, returning whether there 3454 // are any more events found. In case of a retrieval or parsing error, false is 3455 // returned and Error() can be queried for the exact failure. 3456 func (it *IERC721ApprovalForAllIterator) Next() bool { 3457 // If the iterator failed, stop iterating 3458 if it.fail != nil { 3459 return false 3460 } 3461 // If the iterator completed, deliver directly whatever's available 3462 if it.done { 3463 select { 3464 case log := <-it.logs: 3465 it.Event = new(IERC721ApprovalForAll) 3466 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3467 it.fail = err 3468 return false 3469 } 3470 it.Event.Raw = log 3471 return true 3472 3473 default: 3474 return false 3475 } 3476 } 3477 // Iterator still in progress, wait for either a data or an error event 3478 select { 3479 case log := <-it.logs: 3480 it.Event = new(IERC721ApprovalForAll) 3481 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3482 it.fail = err 3483 return false 3484 } 3485 it.Event.Raw = log 3486 return true 3487 3488 case err := <-it.sub.Err(): 3489 it.done = true 3490 it.fail = err 3491 return it.Next() 3492 } 3493 } 3494 3495 // Error returns any retrieval or parsing error occurred during filtering. 3496 func (it *IERC721ApprovalForAllIterator) Error() error { 3497 return it.fail 3498 } 3499 3500 // Close terminates the iteration process, releasing any pending underlying 3501 // resources. 3502 func (it *IERC721ApprovalForAllIterator) Close() error { 3503 it.sub.Unsubscribe() 3504 return nil 3505 } 3506 3507 // IERC721ApprovalForAll represents a ApprovalForAll event raised by the IERC721 contract. 3508 type IERC721ApprovalForAll struct { 3509 Owner common.Address 3510 Operator common.Address 3511 Approved bool 3512 Raw types.Log // Blockchain specific contextual infos 3513 } 3514 3515 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 3516 // 3517 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 3518 func (_IERC721 *IERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721ApprovalForAllIterator, error) { 3519 3520 var ownerRule []interface{} 3521 for _, ownerItem := range owner { 3522 ownerRule = append(ownerRule, ownerItem) 3523 } 3524 var operatorRule []interface{} 3525 for _, operatorItem := range operator { 3526 operatorRule = append(operatorRule, operatorItem) 3527 } 3528 3529 logs, sub, err := _IERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 3530 if err != nil { 3531 return nil, err 3532 } 3533 return &IERC721ApprovalForAllIterator{contract: _IERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 3534 } 3535 3536 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 3537 // 3538 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 3539 func (_IERC721 *IERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 3540 3541 var ownerRule []interface{} 3542 for _, ownerItem := range owner { 3543 ownerRule = append(ownerRule, ownerItem) 3544 } 3545 var operatorRule []interface{} 3546 for _, operatorItem := range operator { 3547 operatorRule = append(operatorRule, operatorItem) 3548 } 3549 3550 logs, sub, err := _IERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 3551 if err != nil { 3552 return nil, err 3553 } 3554 return event.NewSubscription(func(quit <-chan struct{}) error { 3555 defer sub.Unsubscribe() 3556 for { 3557 select { 3558 case log := <-logs: 3559 // New log arrived, parse the event and forward to the user 3560 event := new(IERC721ApprovalForAll) 3561 if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 3562 return err 3563 } 3564 event.Raw = log 3565 3566 select { 3567 case sink <- event: 3568 case err := <-sub.Err(): 3569 return err 3570 case <-quit: 3571 return nil 3572 } 3573 case err := <-sub.Err(): 3574 return err 3575 case <-quit: 3576 return nil 3577 } 3578 } 3579 }), nil 3580 } 3581 3582 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 3583 // 3584 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 3585 func (_IERC721 *IERC721Filterer) ParseApprovalForAll(log types.Log) (*IERC721ApprovalForAll, error) { 3586 event := new(IERC721ApprovalForAll) 3587 if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 3588 return nil, err 3589 } 3590 event.Raw = log 3591 return event, nil 3592 } 3593 3594 // 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. 3595 type IERC721TransferIterator struct { 3596 Event *IERC721Transfer // Event containing the contract specifics and raw log 3597 3598 contract *bind.BoundContract // Generic contract to use for unpacking event data 3599 event string // Event name to use for unpacking event data 3600 3601 logs chan types.Log // Log channel receiving the found contract events 3602 sub ethereum.Subscription // Subscription for errors, completion and termination 3603 done bool // Whether the subscription completed delivering logs 3604 fail error // Occurred error to stop iteration 3605 } 3606 3607 // Next advances the iterator to the subsequent event, returning whether there 3608 // are any more events found. In case of a retrieval or parsing error, false is 3609 // returned and Error() can be queried for the exact failure. 3610 func (it *IERC721TransferIterator) Next() bool { 3611 // If the iterator failed, stop iterating 3612 if it.fail != nil { 3613 return false 3614 } 3615 // If the iterator completed, deliver directly whatever's available 3616 if it.done { 3617 select { 3618 case log := <-it.logs: 3619 it.Event = new(IERC721Transfer) 3620 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3621 it.fail = err 3622 return false 3623 } 3624 it.Event.Raw = log 3625 return true 3626 3627 default: 3628 return false 3629 } 3630 } 3631 // Iterator still in progress, wait for either a data or an error event 3632 select { 3633 case log := <-it.logs: 3634 it.Event = new(IERC721Transfer) 3635 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3636 it.fail = err 3637 return false 3638 } 3639 it.Event.Raw = log 3640 return true 3641 3642 case err := <-it.sub.Err(): 3643 it.done = true 3644 it.fail = err 3645 return it.Next() 3646 } 3647 } 3648 3649 // Error returns any retrieval or parsing error occurred during filtering. 3650 func (it *IERC721TransferIterator) Error() error { 3651 return it.fail 3652 } 3653 3654 // Close terminates the iteration process, releasing any pending underlying 3655 // resources. 3656 func (it *IERC721TransferIterator) Close() error { 3657 it.sub.Unsubscribe() 3658 return nil 3659 } 3660 3661 // IERC721Transfer represents a Transfer event raised by the IERC721 contract. 3662 type IERC721Transfer struct { 3663 From common.Address 3664 To common.Address 3665 TokenId *big.Int 3666 Raw types.Log // Blockchain specific contextual infos 3667 } 3668 3669 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3670 // 3671 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 3672 func (_IERC721 *IERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721TransferIterator, error) { 3673 3674 var fromRule []interface{} 3675 for _, fromItem := range from { 3676 fromRule = append(fromRule, fromItem) 3677 } 3678 var toRule []interface{} 3679 for _, toItem := range to { 3680 toRule = append(toRule, toItem) 3681 } 3682 var tokenIdRule []interface{} 3683 for _, tokenIdItem := range tokenId { 3684 tokenIdRule = append(tokenIdRule, tokenIdItem) 3685 } 3686 3687 logs, sub, err := _IERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 3688 if err != nil { 3689 return nil, err 3690 } 3691 return &IERC721TransferIterator{contract: _IERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil 3692 } 3693 3694 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3695 // 3696 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 3697 func (_IERC721 *IERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 3698 3699 var fromRule []interface{} 3700 for _, fromItem := range from { 3701 fromRule = append(fromRule, fromItem) 3702 } 3703 var toRule []interface{} 3704 for _, toItem := range to { 3705 toRule = append(toRule, toItem) 3706 } 3707 var tokenIdRule []interface{} 3708 for _, tokenIdItem := range tokenId { 3709 tokenIdRule = append(tokenIdRule, tokenIdItem) 3710 } 3711 3712 logs, sub, err := _IERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 3713 if err != nil { 3714 return nil, err 3715 } 3716 return event.NewSubscription(func(quit <-chan struct{}) error { 3717 defer sub.Unsubscribe() 3718 for { 3719 select { 3720 case log := <-logs: 3721 // New log arrived, parse the event and forward to the user 3722 event := new(IERC721Transfer) 3723 if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 3724 return err 3725 } 3726 event.Raw = log 3727 3728 select { 3729 case sink <- event: 3730 case err := <-sub.Err(): 3731 return err 3732 case <-quit: 3733 return nil 3734 } 3735 case err := <-sub.Err(): 3736 return err 3737 case <-quit: 3738 return nil 3739 } 3740 } 3741 }), nil 3742 } 3743 3744 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3745 // 3746 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 3747 func (_IERC721 *IERC721Filterer) ParseTransfer(log types.Log) (*IERC721Transfer, error) { 3748 event := new(IERC721Transfer) 3749 if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 3750 return nil, err 3751 } 3752 event.Raw = log 3753 return event, nil 3754 } 3755 3756 // IERC721EnumerableABI is the input ABI used to generate the binding from. 3757 const IERC721EnumerableABI = "[{\"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\":\"tokenId\",\"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\"}]" 3758 3759 // IERC721EnumerableFuncSigs maps the 4-byte function signature to its string representation. 3760 var IERC721EnumerableFuncSigs = map[string]string{ 3761 "095ea7b3": "approve(address,uint256)", 3762 "70a08231": "balanceOf(address)", 3763 "081812fc": "getApproved(uint256)", 3764 "e985e9c5": "isApprovedForAll(address,address)", 3765 "6352211e": "ownerOf(uint256)", 3766 "42842e0e": "safeTransferFrom(address,address,uint256)", 3767 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 3768 "a22cb465": "setApprovalForAll(address,bool)", 3769 "01ffc9a7": "supportsInterface(bytes4)", 3770 "4f6ccce7": "tokenByIndex(uint256)", 3771 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 3772 "18160ddd": "totalSupply()", 3773 "23b872dd": "transferFrom(address,address,uint256)", 3774 } 3775 3776 // IERC721Enumerable is an auto generated Go binding around an Ethereum contract. 3777 type IERC721Enumerable struct { 3778 IERC721EnumerableCaller // Read-only binding to the contract 3779 IERC721EnumerableTransactor // Write-only binding to the contract 3780 IERC721EnumerableFilterer // Log filterer for contract events 3781 } 3782 3783 // IERC721EnumerableCaller is an auto generated read-only Go binding around an Ethereum contract. 3784 type IERC721EnumerableCaller struct { 3785 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3786 } 3787 3788 // IERC721EnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract. 3789 type IERC721EnumerableTransactor struct { 3790 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3791 } 3792 3793 // IERC721EnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 3794 type IERC721EnumerableFilterer struct { 3795 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3796 } 3797 3798 // IERC721EnumerableSession is an auto generated Go binding around an Ethereum contract, 3799 // with pre-set call and transact options. 3800 type IERC721EnumerableSession struct { 3801 Contract *IERC721Enumerable // Generic contract binding to set the session for 3802 CallOpts bind.CallOpts // Call options to use throughout this session 3803 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 3804 } 3805 3806 // IERC721EnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract, 3807 // with pre-set call options. 3808 type IERC721EnumerableCallerSession struct { 3809 Contract *IERC721EnumerableCaller // Generic contract caller binding to set the session for 3810 CallOpts bind.CallOpts // Call options to use throughout this session 3811 } 3812 3813 // IERC721EnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 3814 // with pre-set transact options. 3815 type IERC721EnumerableTransactorSession struct { 3816 Contract *IERC721EnumerableTransactor // Generic contract transactor binding to set the session for 3817 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 3818 } 3819 3820 // IERC721EnumerableRaw is an auto generated low-level Go binding around an Ethereum contract. 3821 type IERC721EnumerableRaw struct { 3822 Contract *IERC721Enumerable // Generic contract binding to access the raw methods on 3823 } 3824 3825 // IERC721EnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 3826 type IERC721EnumerableCallerRaw struct { 3827 Contract *IERC721EnumerableCaller // Generic read-only contract binding to access the raw methods on 3828 } 3829 3830 // IERC721EnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 3831 type IERC721EnumerableTransactorRaw struct { 3832 Contract *IERC721EnumerableTransactor // Generic write-only contract binding to access the raw methods on 3833 } 3834 3835 // NewIERC721Enumerable creates a new instance of IERC721Enumerable, bound to a specific deployed contract. 3836 func NewIERC721Enumerable(address common.Address, backend bind.ContractBackend) (*IERC721Enumerable, error) { 3837 contract, err := bindIERC721Enumerable(address, backend, backend, backend) 3838 if err != nil { 3839 return nil, err 3840 } 3841 return &IERC721Enumerable{IERC721EnumerableCaller: IERC721EnumerableCaller{contract: contract}, IERC721EnumerableTransactor: IERC721EnumerableTransactor{contract: contract}, IERC721EnumerableFilterer: IERC721EnumerableFilterer{contract: contract}}, nil 3842 } 3843 3844 // NewIERC721EnumerableCaller creates a new read-only instance of IERC721Enumerable, bound to a specific deployed contract. 3845 func NewIERC721EnumerableCaller(address common.Address, caller bind.ContractCaller) (*IERC721EnumerableCaller, error) { 3846 contract, err := bindIERC721Enumerable(address, caller, nil, nil) 3847 if err != nil { 3848 return nil, err 3849 } 3850 return &IERC721EnumerableCaller{contract: contract}, nil 3851 } 3852 3853 // NewIERC721EnumerableTransactor creates a new write-only instance of IERC721Enumerable, bound to a specific deployed contract. 3854 func NewIERC721EnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721EnumerableTransactor, error) { 3855 contract, err := bindIERC721Enumerable(address, nil, transactor, nil) 3856 if err != nil { 3857 return nil, err 3858 } 3859 return &IERC721EnumerableTransactor{contract: contract}, nil 3860 } 3861 3862 // NewIERC721EnumerableFilterer creates a new log filterer instance of IERC721Enumerable, bound to a specific deployed contract. 3863 func NewIERC721EnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721EnumerableFilterer, error) { 3864 contract, err := bindIERC721Enumerable(address, nil, nil, filterer) 3865 if err != nil { 3866 return nil, err 3867 } 3868 return &IERC721EnumerableFilterer{contract: contract}, nil 3869 } 3870 3871 // bindIERC721Enumerable binds a generic wrapper to an already deployed contract. 3872 func bindIERC721Enumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 3873 parsed, err := abi.JSON(strings.NewReader(IERC721EnumerableABI)) 3874 if err != nil { 3875 return nil, err 3876 } 3877 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 3878 } 3879 3880 // Call invokes the (constant) contract method with params as input values and 3881 // sets the output to result. The result type might be a single field for simple 3882 // returns, a slice of interfaces for anonymous returns and a struct for named 3883 // returns. 3884 func (_IERC721Enumerable *IERC721EnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 3885 return _IERC721Enumerable.Contract.IERC721EnumerableCaller.contract.Call(opts, result, method, params...) 3886 } 3887 3888 // Transfer initiates a plain transaction to move funds to the contract, calling 3889 // its default method if one is available. 3890 func (_IERC721Enumerable *IERC721EnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 3891 return _IERC721Enumerable.Contract.IERC721EnumerableTransactor.contract.Transfer(opts) 3892 } 3893 3894 // Transact invokes the (paid) contract method with params as input values. 3895 func (_IERC721Enumerable *IERC721EnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 3896 return _IERC721Enumerable.Contract.IERC721EnumerableTransactor.contract.Transact(opts, method, params...) 3897 } 3898 3899 // Call invokes the (constant) contract method with params as input values and 3900 // sets the output to result. The result type might be a single field for simple 3901 // returns, a slice of interfaces for anonymous returns and a struct for named 3902 // returns. 3903 func (_IERC721Enumerable *IERC721EnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 3904 return _IERC721Enumerable.Contract.contract.Call(opts, result, method, params...) 3905 } 3906 3907 // Transfer initiates a plain transaction to move funds to the contract, calling 3908 // its default method if one is available. 3909 func (_IERC721Enumerable *IERC721EnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 3910 return _IERC721Enumerable.Contract.contract.Transfer(opts) 3911 } 3912 3913 // Transact invokes the (paid) contract method with params as input values. 3914 func (_IERC721Enumerable *IERC721EnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 3915 return _IERC721Enumerable.Contract.contract.Transact(opts, method, params...) 3916 } 3917 3918 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3919 // 3920 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 3921 func (_IERC721Enumerable *IERC721EnumerableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 3922 var out []interface{} 3923 err := _IERC721Enumerable.contract.Call(opts, &out, "balanceOf", owner) 3924 3925 if err != nil { 3926 return *new(*big.Int), err 3927 } 3928 3929 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 3930 3931 return out0, err 3932 3933 } 3934 3935 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3936 // 3937 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 3938 func (_IERC721Enumerable *IERC721EnumerableSession) BalanceOf(owner common.Address) (*big.Int, error) { 3939 return _IERC721Enumerable.Contract.BalanceOf(&_IERC721Enumerable.CallOpts, owner) 3940 } 3941 3942 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3943 // 3944 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 3945 func (_IERC721Enumerable *IERC721EnumerableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 3946 return _IERC721Enumerable.Contract.BalanceOf(&_IERC721Enumerable.CallOpts, owner) 3947 } 3948 3949 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3950 // 3951 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 3952 func (_IERC721Enumerable *IERC721EnumerableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 3953 var out []interface{} 3954 err := _IERC721Enumerable.contract.Call(opts, &out, "getApproved", tokenId) 3955 3956 if err != nil { 3957 return *new(common.Address), err 3958 } 3959 3960 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 3961 3962 return out0, err 3963 3964 } 3965 3966 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3967 // 3968 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 3969 func (_IERC721Enumerable *IERC721EnumerableSession) GetApproved(tokenId *big.Int) (common.Address, error) { 3970 return _IERC721Enumerable.Contract.GetApproved(&_IERC721Enumerable.CallOpts, tokenId) 3971 } 3972 3973 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3974 // 3975 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 3976 func (_IERC721Enumerable *IERC721EnumerableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 3977 return _IERC721Enumerable.Contract.GetApproved(&_IERC721Enumerable.CallOpts, tokenId) 3978 } 3979 3980 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3981 // 3982 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 3983 func (_IERC721Enumerable *IERC721EnumerableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 3984 var out []interface{} 3985 err := _IERC721Enumerable.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 3986 3987 if err != nil { 3988 return *new(bool), err 3989 } 3990 3991 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 3992 3993 return out0, err 3994 3995 } 3996 3997 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3998 // 3999 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 4000 func (_IERC721Enumerable *IERC721EnumerableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 4001 return _IERC721Enumerable.Contract.IsApprovedForAll(&_IERC721Enumerable.CallOpts, owner, operator) 4002 } 4003 4004 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 4005 // 4006 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 4007 func (_IERC721Enumerable *IERC721EnumerableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 4008 return _IERC721Enumerable.Contract.IsApprovedForAll(&_IERC721Enumerable.CallOpts, owner, operator) 4009 } 4010 4011 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 4012 // 4013 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 4014 func (_IERC721Enumerable *IERC721EnumerableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 4015 var out []interface{} 4016 err := _IERC721Enumerable.contract.Call(opts, &out, "ownerOf", tokenId) 4017 4018 if err != nil { 4019 return *new(common.Address), err 4020 } 4021 4022 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 4023 4024 return out0, err 4025 4026 } 4027 4028 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 4029 // 4030 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 4031 func (_IERC721Enumerable *IERC721EnumerableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 4032 return _IERC721Enumerable.Contract.OwnerOf(&_IERC721Enumerable.CallOpts, tokenId) 4033 } 4034 4035 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 4036 // 4037 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 4038 func (_IERC721Enumerable *IERC721EnumerableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 4039 return _IERC721Enumerable.Contract.OwnerOf(&_IERC721Enumerable.CallOpts, tokenId) 4040 } 4041 4042 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4043 // 4044 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4045 func (_IERC721Enumerable *IERC721EnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 4046 var out []interface{} 4047 err := _IERC721Enumerable.contract.Call(opts, &out, "supportsInterface", interfaceId) 4048 4049 if err != nil { 4050 return *new(bool), err 4051 } 4052 4053 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 4054 4055 return out0, err 4056 4057 } 4058 4059 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4060 // 4061 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4062 func (_IERC721Enumerable *IERC721EnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 4063 return _IERC721Enumerable.Contract.SupportsInterface(&_IERC721Enumerable.CallOpts, interfaceId) 4064 } 4065 4066 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4067 // 4068 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4069 func (_IERC721Enumerable *IERC721EnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 4070 return _IERC721Enumerable.Contract.SupportsInterface(&_IERC721Enumerable.CallOpts, interfaceId) 4071 } 4072 4073 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 4074 // 4075 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 4076 func (_IERC721Enumerable *IERC721EnumerableCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 4077 var out []interface{} 4078 err := _IERC721Enumerable.contract.Call(opts, &out, "tokenByIndex", index) 4079 4080 if err != nil { 4081 return *new(*big.Int), err 4082 } 4083 4084 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 4085 4086 return out0, err 4087 4088 } 4089 4090 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 4091 // 4092 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 4093 func (_IERC721Enumerable *IERC721EnumerableSession) TokenByIndex(index *big.Int) (*big.Int, error) { 4094 return _IERC721Enumerable.Contract.TokenByIndex(&_IERC721Enumerable.CallOpts, index) 4095 } 4096 4097 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 4098 // 4099 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 4100 func (_IERC721Enumerable *IERC721EnumerableCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 4101 return _IERC721Enumerable.Contract.TokenByIndex(&_IERC721Enumerable.CallOpts, index) 4102 } 4103 4104 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 4105 // 4106 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256 tokenId) 4107 func (_IERC721Enumerable *IERC721EnumerableCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 4108 var out []interface{} 4109 err := _IERC721Enumerable.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index) 4110 4111 if err != nil { 4112 return *new(*big.Int), err 4113 } 4114 4115 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 4116 4117 return out0, err 4118 4119 } 4120 4121 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 4122 // 4123 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256 tokenId) 4124 func (_IERC721Enumerable *IERC721EnumerableSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 4125 return _IERC721Enumerable.Contract.TokenOfOwnerByIndex(&_IERC721Enumerable.CallOpts, owner, index) 4126 } 4127 4128 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 4129 // 4130 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256 tokenId) 4131 func (_IERC721Enumerable *IERC721EnumerableCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 4132 return _IERC721Enumerable.Contract.TokenOfOwnerByIndex(&_IERC721Enumerable.CallOpts, owner, index) 4133 } 4134 4135 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 4136 // 4137 // Solidity: function totalSupply() view returns(uint256) 4138 func (_IERC721Enumerable *IERC721EnumerableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 4139 var out []interface{} 4140 err := _IERC721Enumerable.contract.Call(opts, &out, "totalSupply") 4141 4142 if err != nil { 4143 return *new(*big.Int), err 4144 } 4145 4146 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 4147 4148 return out0, err 4149 4150 } 4151 4152 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 4153 // 4154 // Solidity: function totalSupply() view returns(uint256) 4155 func (_IERC721Enumerable *IERC721EnumerableSession) TotalSupply() (*big.Int, error) { 4156 return _IERC721Enumerable.Contract.TotalSupply(&_IERC721Enumerable.CallOpts) 4157 } 4158 4159 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 4160 // 4161 // Solidity: function totalSupply() view returns(uint256) 4162 func (_IERC721Enumerable *IERC721EnumerableCallerSession) TotalSupply() (*big.Int, error) { 4163 return _IERC721Enumerable.Contract.TotalSupply(&_IERC721Enumerable.CallOpts) 4164 } 4165 4166 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 4167 // 4168 // Solidity: function approve(address to, uint256 tokenId) returns() 4169 func (_IERC721Enumerable *IERC721EnumerableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4170 return _IERC721Enumerable.contract.Transact(opts, "approve", to, tokenId) 4171 } 4172 4173 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 4174 // 4175 // Solidity: function approve(address to, uint256 tokenId) returns() 4176 func (_IERC721Enumerable *IERC721EnumerableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4177 return _IERC721Enumerable.Contract.Approve(&_IERC721Enumerable.TransactOpts, to, tokenId) 4178 } 4179 4180 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 4181 // 4182 // Solidity: function approve(address to, uint256 tokenId) returns() 4183 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4184 return _IERC721Enumerable.Contract.Approve(&_IERC721Enumerable.TransactOpts, to, tokenId) 4185 } 4186 4187 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 4188 // 4189 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 4190 func (_IERC721Enumerable *IERC721EnumerableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4191 return _IERC721Enumerable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 4192 } 4193 4194 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 4195 // 4196 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 4197 func (_IERC721Enumerable *IERC721EnumerableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4198 return _IERC721Enumerable.Contract.SafeTransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) 4199 } 4200 4201 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 4202 // 4203 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 4204 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4205 return _IERC721Enumerable.Contract.SafeTransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) 4206 } 4207 4208 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 4209 // 4210 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 4211 func (_IERC721Enumerable *IERC721EnumerableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 4212 return _IERC721Enumerable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) 4213 } 4214 4215 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 4216 // 4217 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 4218 func (_IERC721Enumerable *IERC721EnumerableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 4219 return _IERC721Enumerable.Contract.SafeTransferFrom0(&_IERC721Enumerable.TransactOpts, from, to, tokenId, data) 4220 } 4221 4222 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 4223 // 4224 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 4225 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 4226 return _IERC721Enumerable.Contract.SafeTransferFrom0(&_IERC721Enumerable.TransactOpts, from, to, tokenId, data) 4227 } 4228 4229 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 4230 // 4231 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 4232 func (_IERC721Enumerable *IERC721EnumerableTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { 4233 return _IERC721Enumerable.contract.Transact(opts, "setApprovalForAll", operator, _approved) 4234 } 4235 4236 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 4237 // 4238 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 4239 func (_IERC721Enumerable *IERC721EnumerableSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 4240 return _IERC721Enumerable.Contract.SetApprovalForAll(&_IERC721Enumerable.TransactOpts, operator, _approved) 4241 } 4242 4243 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 4244 // 4245 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 4246 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 4247 return _IERC721Enumerable.Contract.SetApprovalForAll(&_IERC721Enumerable.TransactOpts, operator, _approved) 4248 } 4249 4250 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4251 // 4252 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 4253 func (_IERC721Enumerable *IERC721EnumerableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4254 return _IERC721Enumerable.contract.Transact(opts, "transferFrom", from, to, tokenId) 4255 } 4256 4257 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4258 // 4259 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 4260 func (_IERC721Enumerable *IERC721EnumerableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4261 return _IERC721Enumerable.Contract.TransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) 4262 } 4263 4264 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4265 // 4266 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 4267 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4268 return _IERC721Enumerable.Contract.TransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) 4269 } 4270 4271 // 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. 4272 type IERC721EnumerableApprovalIterator struct { 4273 Event *IERC721EnumerableApproval // Event containing the contract specifics and raw log 4274 4275 contract *bind.BoundContract // Generic contract to use for unpacking event data 4276 event string // Event name to use for unpacking event data 4277 4278 logs chan types.Log // Log channel receiving the found contract events 4279 sub ethereum.Subscription // Subscription for errors, completion and termination 4280 done bool // Whether the subscription completed delivering logs 4281 fail error // Occurred error to stop iteration 4282 } 4283 4284 // Next advances the iterator to the subsequent event, returning whether there 4285 // are any more events found. In case of a retrieval or parsing error, false is 4286 // returned and Error() can be queried for the exact failure. 4287 func (it *IERC721EnumerableApprovalIterator) Next() bool { 4288 // If the iterator failed, stop iterating 4289 if it.fail != nil { 4290 return false 4291 } 4292 // If the iterator completed, deliver directly whatever's available 4293 if it.done { 4294 select { 4295 case log := <-it.logs: 4296 it.Event = new(IERC721EnumerableApproval) 4297 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4298 it.fail = err 4299 return false 4300 } 4301 it.Event.Raw = log 4302 return true 4303 4304 default: 4305 return false 4306 } 4307 } 4308 // Iterator still in progress, wait for either a data or an error event 4309 select { 4310 case log := <-it.logs: 4311 it.Event = new(IERC721EnumerableApproval) 4312 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4313 it.fail = err 4314 return false 4315 } 4316 it.Event.Raw = log 4317 return true 4318 4319 case err := <-it.sub.Err(): 4320 it.done = true 4321 it.fail = err 4322 return it.Next() 4323 } 4324 } 4325 4326 // Error returns any retrieval or parsing error occurred during filtering. 4327 func (it *IERC721EnumerableApprovalIterator) Error() error { 4328 return it.fail 4329 } 4330 4331 // Close terminates the iteration process, releasing any pending underlying 4332 // resources. 4333 func (it *IERC721EnumerableApprovalIterator) Close() error { 4334 it.sub.Unsubscribe() 4335 return nil 4336 } 4337 4338 // IERC721EnumerableApproval represents a Approval event raised by the IERC721Enumerable contract. 4339 type IERC721EnumerableApproval struct { 4340 Owner common.Address 4341 Approved common.Address 4342 TokenId *big.Int 4343 Raw types.Log // Blockchain specific contextual infos 4344 } 4345 4346 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4347 // 4348 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 4349 func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721EnumerableApprovalIterator, error) { 4350 4351 var ownerRule []interface{} 4352 for _, ownerItem := range owner { 4353 ownerRule = append(ownerRule, ownerItem) 4354 } 4355 var approvedRule []interface{} 4356 for _, approvedItem := range approved { 4357 approvedRule = append(approvedRule, approvedItem) 4358 } 4359 var tokenIdRule []interface{} 4360 for _, tokenIdItem := range tokenId { 4361 tokenIdRule = append(tokenIdRule, tokenIdItem) 4362 } 4363 4364 logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 4365 if err != nil { 4366 return nil, err 4367 } 4368 return &IERC721EnumerableApprovalIterator{contract: _IERC721Enumerable.contract, event: "Approval", logs: logs, sub: sub}, nil 4369 } 4370 4371 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4372 // 4373 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 4374 func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 4375 4376 var ownerRule []interface{} 4377 for _, ownerItem := range owner { 4378 ownerRule = append(ownerRule, ownerItem) 4379 } 4380 var approvedRule []interface{} 4381 for _, approvedItem := range approved { 4382 approvedRule = append(approvedRule, approvedItem) 4383 } 4384 var tokenIdRule []interface{} 4385 for _, tokenIdItem := range tokenId { 4386 tokenIdRule = append(tokenIdRule, tokenIdItem) 4387 } 4388 4389 logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 4390 if err != nil { 4391 return nil, err 4392 } 4393 return event.NewSubscription(func(quit <-chan struct{}) error { 4394 defer sub.Unsubscribe() 4395 for { 4396 select { 4397 case log := <-logs: 4398 // New log arrived, parse the event and forward to the user 4399 event := new(IERC721EnumerableApproval) 4400 if err := _IERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { 4401 return err 4402 } 4403 event.Raw = log 4404 4405 select { 4406 case sink <- event: 4407 case err := <-sub.Err(): 4408 return err 4409 case <-quit: 4410 return nil 4411 } 4412 case err := <-sub.Err(): 4413 return err 4414 case <-quit: 4415 return nil 4416 } 4417 } 4418 }), nil 4419 } 4420 4421 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4422 // 4423 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 4424 func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseApproval(log types.Log) (*IERC721EnumerableApproval, error) { 4425 event := new(IERC721EnumerableApproval) 4426 if err := _IERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { 4427 return nil, err 4428 } 4429 event.Raw = log 4430 return event, nil 4431 } 4432 4433 // 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. 4434 type IERC721EnumerableApprovalForAllIterator struct { 4435 Event *IERC721EnumerableApprovalForAll // Event containing the contract specifics and raw log 4436 4437 contract *bind.BoundContract // Generic contract to use for unpacking event data 4438 event string // Event name to use for unpacking event data 4439 4440 logs chan types.Log // Log channel receiving the found contract events 4441 sub ethereum.Subscription // Subscription for errors, completion and termination 4442 done bool // Whether the subscription completed delivering logs 4443 fail error // Occurred error to stop iteration 4444 } 4445 4446 // Next advances the iterator to the subsequent event, returning whether there 4447 // are any more events found. In case of a retrieval or parsing error, false is 4448 // returned and Error() can be queried for the exact failure. 4449 func (it *IERC721EnumerableApprovalForAllIterator) Next() bool { 4450 // If the iterator failed, stop iterating 4451 if it.fail != nil { 4452 return false 4453 } 4454 // If the iterator completed, deliver directly whatever's available 4455 if it.done { 4456 select { 4457 case log := <-it.logs: 4458 it.Event = new(IERC721EnumerableApprovalForAll) 4459 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4460 it.fail = err 4461 return false 4462 } 4463 it.Event.Raw = log 4464 return true 4465 4466 default: 4467 return false 4468 } 4469 } 4470 // Iterator still in progress, wait for either a data or an error event 4471 select { 4472 case log := <-it.logs: 4473 it.Event = new(IERC721EnumerableApprovalForAll) 4474 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4475 it.fail = err 4476 return false 4477 } 4478 it.Event.Raw = log 4479 return true 4480 4481 case err := <-it.sub.Err(): 4482 it.done = true 4483 it.fail = err 4484 return it.Next() 4485 } 4486 } 4487 4488 // Error returns any retrieval or parsing error occurred during filtering. 4489 func (it *IERC721EnumerableApprovalForAllIterator) Error() error { 4490 return it.fail 4491 } 4492 4493 // Close terminates the iteration process, releasing any pending underlying 4494 // resources. 4495 func (it *IERC721EnumerableApprovalForAllIterator) Close() error { 4496 it.sub.Unsubscribe() 4497 return nil 4498 } 4499 4500 // IERC721EnumerableApprovalForAll represents a ApprovalForAll event raised by the IERC721Enumerable contract. 4501 type IERC721EnumerableApprovalForAll struct { 4502 Owner common.Address 4503 Operator common.Address 4504 Approved bool 4505 Raw types.Log // Blockchain specific contextual infos 4506 } 4507 4508 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 4509 // 4510 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 4511 func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721EnumerableApprovalForAllIterator, error) { 4512 4513 var ownerRule []interface{} 4514 for _, ownerItem := range owner { 4515 ownerRule = append(ownerRule, ownerItem) 4516 } 4517 var operatorRule []interface{} 4518 for _, operatorItem := range operator { 4519 operatorRule = append(operatorRule, operatorItem) 4520 } 4521 4522 logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 4523 if err != nil { 4524 return nil, err 4525 } 4526 return &IERC721EnumerableApprovalForAllIterator{contract: _IERC721Enumerable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 4527 } 4528 4529 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 4530 // 4531 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 4532 func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 4533 4534 var ownerRule []interface{} 4535 for _, ownerItem := range owner { 4536 ownerRule = append(ownerRule, ownerItem) 4537 } 4538 var operatorRule []interface{} 4539 for _, operatorItem := range operator { 4540 operatorRule = append(operatorRule, operatorItem) 4541 } 4542 4543 logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 4544 if err != nil { 4545 return nil, err 4546 } 4547 return event.NewSubscription(func(quit <-chan struct{}) error { 4548 defer sub.Unsubscribe() 4549 for { 4550 select { 4551 case log := <-logs: 4552 // New log arrived, parse the event and forward to the user 4553 event := new(IERC721EnumerableApprovalForAll) 4554 if err := _IERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 4555 return err 4556 } 4557 event.Raw = log 4558 4559 select { 4560 case sink <- event: 4561 case err := <-sub.Err(): 4562 return err 4563 case <-quit: 4564 return nil 4565 } 4566 case err := <-sub.Err(): 4567 return err 4568 case <-quit: 4569 return nil 4570 } 4571 } 4572 }), nil 4573 } 4574 4575 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 4576 // 4577 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 4578 func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseApprovalForAll(log types.Log) (*IERC721EnumerableApprovalForAll, error) { 4579 event := new(IERC721EnumerableApprovalForAll) 4580 if err := _IERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 4581 return nil, err 4582 } 4583 event.Raw = log 4584 return event, nil 4585 } 4586 4587 // 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. 4588 type IERC721EnumerableTransferIterator struct { 4589 Event *IERC721EnumerableTransfer // Event containing the contract specifics and raw log 4590 4591 contract *bind.BoundContract // Generic contract to use for unpacking event data 4592 event string // Event name to use for unpacking event data 4593 4594 logs chan types.Log // Log channel receiving the found contract events 4595 sub ethereum.Subscription // Subscription for errors, completion and termination 4596 done bool // Whether the subscription completed delivering logs 4597 fail error // Occurred error to stop iteration 4598 } 4599 4600 // Next advances the iterator to the subsequent event, returning whether there 4601 // are any more events found. In case of a retrieval or parsing error, false is 4602 // returned and Error() can be queried for the exact failure. 4603 func (it *IERC721EnumerableTransferIterator) Next() bool { 4604 // If the iterator failed, stop iterating 4605 if it.fail != nil { 4606 return false 4607 } 4608 // If the iterator completed, deliver directly whatever's available 4609 if it.done { 4610 select { 4611 case log := <-it.logs: 4612 it.Event = new(IERC721EnumerableTransfer) 4613 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4614 it.fail = err 4615 return false 4616 } 4617 it.Event.Raw = log 4618 return true 4619 4620 default: 4621 return false 4622 } 4623 } 4624 // Iterator still in progress, wait for either a data or an error event 4625 select { 4626 case log := <-it.logs: 4627 it.Event = new(IERC721EnumerableTransfer) 4628 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4629 it.fail = err 4630 return false 4631 } 4632 it.Event.Raw = log 4633 return true 4634 4635 case err := <-it.sub.Err(): 4636 it.done = true 4637 it.fail = err 4638 return it.Next() 4639 } 4640 } 4641 4642 // Error returns any retrieval or parsing error occurred during filtering. 4643 func (it *IERC721EnumerableTransferIterator) Error() error { 4644 return it.fail 4645 } 4646 4647 // Close terminates the iteration process, releasing any pending underlying 4648 // resources. 4649 func (it *IERC721EnumerableTransferIterator) Close() error { 4650 it.sub.Unsubscribe() 4651 return nil 4652 } 4653 4654 // IERC721EnumerableTransfer represents a Transfer event raised by the IERC721Enumerable contract. 4655 type IERC721EnumerableTransfer struct { 4656 From common.Address 4657 To common.Address 4658 TokenId *big.Int 4659 Raw types.Log // Blockchain specific contextual infos 4660 } 4661 4662 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4663 // 4664 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 4665 func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721EnumerableTransferIterator, error) { 4666 4667 var fromRule []interface{} 4668 for _, fromItem := range from { 4669 fromRule = append(fromRule, fromItem) 4670 } 4671 var toRule []interface{} 4672 for _, toItem := range to { 4673 toRule = append(toRule, toItem) 4674 } 4675 var tokenIdRule []interface{} 4676 for _, tokenIdItem := range tokenId { 4677 tokenIdRule = append(tokenIdRule, tokenIdItem) 4678 } 4679 4680 logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 4681 if err != nil { 4682 return nil, err 4683 } 4684 return &IERC721EnumerableTransferIterator{contract: _IERC721Enumerable.contract, event: "Transfer", logs: logs, sub: sub}, nil 4685 } 4686 4687 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4688 // 4689 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 4690 func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 4691 4692 var fromRule []interface{} 4693 for _, fromItem := range from { 4694 fromRule = append(fromRule, fromItem) 4695 } 4696 var toRule []interface{} 4697 for _, toItem := range to { 4698 toRule = append(toRule, toItem) 4699 } 4700 var tokenIdRule []interface{} 4701 for _, tokenIdItem := range tokenId { 4702 tokenIdRule = append(tokenIdRule, tokenIdItem) 4703 } 4704 4705 logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 4706 if err != nil { 4707 return nil, err 4708 } 4709 return event.NewSubscription(func(quit <-chan struct{}) error { 4710 defer sub.Unsubscribe() 4711 for { 4712 select { 4713 case log := <-logs: 4714 // New log arrived, parse the event and forward to the user 4715 event := new(IERC721EnumerableTransfer) 4716 if err := _IERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { 4717 return err 4718 } 4719 event.Raw = log 4720 4721 select { 4722 case sink <- event: 4723 case err := <-sub.Err(): 4724 return err 4725 case <-quit: 4726 return nil 4727 } 4728 case err := <-sub.Err(): 4729 return err 4730 case <-quit: 4731 return nil 4732 } 4733 } 4734 }), nil 4735 } 4736 4737 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4738 // 4739 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 4740 func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseTransfer(log types.Log) (*IERC721EnumerableTransfer, error) { 4741 event := new(IERC721EnumerableTransfer) 4742 if err := _IERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { 4743 return nil, err 4744 } 4745 event.Raw = log 4746 return event, nil 4747 } 4748 4749 // IERC721MetadataABI is the input ABI used to generate the binding from. 4750 const IERC721MetadataABI = "[{\"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\"}]" 4751 4752 // IERC721MetadataFuncSigs maps the 4-byte function signature to its string representation. 4753 var IERC721MetadataFuncSigs = map[string]string{ 4754 "095ea7b3": "approve(address,uint256)", 4755 "70a08231": "balanceOf(address)", 4756 "081812fc": "getApproved(uint256)", 4757 "e985e9c5": "isApprovedForAll(address,address)", 4758 "06fdde03": "name()", 4759 "6352211e": "ownerOf(uint256)", 4760 "42842e0e": "safeTransferFrom(address,address,uint256)", 4761 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 4762 "a22cb465": "setApprovalForAll(address,bool)", 4763 "01ffc9a7": "supportsInterface(bytes4)", 4764 "95d89b41": "symbol()", 4765 "c87b56dd": "tokenURI(uint256)", 4766 "23b872dd": "transferFrom(address,address,uint256)", 4767 } 4768 4769 // IERC721Metadata is an auto generated Go binding around an Ethereum contract. 4770 type IERC721Metadata struct { 4771 IERC721MetadataCaller // Read-only binding to the contract 4772 IERC721MetadataTransactor // Write-only binding to the contract 4773 IERC721MetadataFilterer // Log filterer for contract events 4774 } 4775 4776 // IERC721MetadataCaller is an auto generated read-only Go binding around an Ethereum contract. 4777 type IERC721MetadataCaller struct { 4778 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4779 } 4780 4781 // IERC721MetadataTransactor is an auto generated write-only Go binding around an Ethereum contract. 4782 type IERC721MetadataTransactor struct { 4783 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4784 } 4785 4786 // IERC721MetadataFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 4787 type IERC721MetadataFilterer struct { 4788 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4789 } 4790 4791 // IERC721MetadataSession is an auto generated Go binding around an Ethereum contract, 4792 // with pre-set call and transact options. 4793 type IERC721MetadataSession struct { 4794 Contract *IERC721Metadata // Generic contract binding to set the session for 4795 CallOpts bind.CallOpts // Call options to use throughout this session 4796 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4797 } 4798 4799 // IERC721MetadataCallerSession is an auto generated read-only Go binding around an Ethereum contract, 4800 // with pre-set call options. 4801 type IERC721MetadataCallerSession struct { 4802 Contract *IERC721MetadataCaller // Generic contract caller binding to set the session for 4803 CallOpts bind.CallOpts // Call options to use throughout this session 4804 } 4805 4806 // IERC721MetadataTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 4807 // with pre-set transact options. 4808 type IERC721MetadataTransactorSession struct { 4809 Contract *IERC721MetadataTransactor // Generic contract transactor binding to set the session for 4810 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4811 } 4812 4813 // IERC721MetadataRaw is an auto generated low-level Go binding around an Ethereum contract. 4814 type IERC721MetadataRaw struct { 4815 Contract *IERC721Metadata // Generic contract binding to access the raw methods on 4816 } 4817 4818 // IERC721MetadataCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 4819 type IERC721MetadataCallerRaw struct { 4820 Contract *IERC721MetadataCaller // Generic read-only contract binding to access the raw methods on 4821 } 4822 4823 // IERC721MetadataTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 4824 type IERC721MetadataTransactorRaw struct { 4825 Contract *IERC721MetadataTransactor // Generic write-only contract binding to access the raw methods on 4826 } 4827 4828 // NewIERC721Metadata creates a new instance of IERC721Metadata, bound to a specific deployed contract. 4829 func NewIERC721Metadata(address common.Address, backend bind.ContractBackend) (*IERC721Metadata, error) { 4830 contract, err := bindIERC721Metadata(address, backend, backend, backend) 4831 if err != nil { 4832 return nil, err 4833 } 4834 return &IERC721Metadata{IERC721MetadataCaller: IERC721MetadataCaller{contract: contract}, IERC721MetadataTransactor: IERC721MetadataTransactor{contract: contract}, IERC721MetadataFilterer: IERC721MetadataFilterer{contract: contract}}, nil 4835 } 4836 4837 // NewIERC721MetadataCaller creates a new read-only instance of IERC721Metadata, bound to a specific deployed contract. 4838 func NewIERC721MetadataCaller(address common.Address, caller bind.ContractCaller) (*IERC721MetadataCaller, error) { 4839 contract, err := bindIERC721Metadata(address, caller, nil, nil) 4840 if err != nil { 4841 return nil, err 4842 } 4843 return &IERC721MetadataCaller{contract: contract}, nil 4844 } 4845 4846 // NewIERC721MetadataTransactor creates a new write-only instance of IERC721Metadata, bound to a specific deployed contract. 4847 func NewIERC721MetadataTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721MetadataTransactor, error) { 4848 contract, err := bindIERC721Metadata(address, nil, transactor, nil) 4849 if err != nil { 4850 return nil, err 4851 } 4852 return &IERC721MetadataTransactor{contract: contract}, nil 4853 } 4854 4855 // NewIERC721MetadataFilterer creates a new log filterer instance of IERC721Metadata, bound to a specific deployed contract. 4856 func NewIERC721MetadataFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721MetadataFilterer, error) { 4857 contract, err := bindIERC721Metadata(address, nil, nil, filterer) 4858 if err != nil { 4859 return nil, err 4860 } 4861 return &IERC721MetadataFilterer{contract: contract}, nil 4862 } 4863 4864 // bindIERC721Metadata binds a generic wrapper to an already deployed contract. 4865 func bindIERC721Metadata(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 4866 parsed, err := abi.JSON(strings.NewReader(IERC721MetadataABI)) 4867 if err != nil { 4868 return nil, err 4869 } 4870 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 4871 } 4872 4873 // Call invokes the (constant) contract method with params as input values and 4874 // sets the output to result. The result type might be a single field for simple 4875 // returns, a slice of interfaces for anonymous returns and a struct for named 4876 // returns. 4877 func (_IERC721Metadata *IERC721MetadataRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4878 return _IERC721Metadata.Contract.IERC721MetadataCaller.contract.Call(opts, result, method, params...) 4879 } 4880 4881 // Transfer initiates a plain transaction to move funds to the contract, calling 4882 // its default method if one is available. 4883 func (_IERC721Metadata *IERC721MetadataRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4884 return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transfer(opts) 4885 } 4886 4887 // Transact invokes the (paid) contract method with params as input values. 4888 func (_IERC721Metadata *IERC721MetadataRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4889 return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transact(opts, method, params...) 4890 } 4891 4892 // Call invokes the (constant) contract method with params as input values and 4893 // sets the output to result. The result type might be a single field for simple 4894 // returns, a slice of interfaces for anonymous returns and a struct for named 4895 // returns. 4896 func (_IERC721Metadata *IERC721MetadataCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4897 return _IERC721Metadata.Contract.contract.Call(opts, result, method, params...) 4898 } 4899 4900 // Transfer initiates a plain transaction to move funds to the contract, calling 4901 // its default method if one is available. 4902 func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4903 return _IERC721Metadata.Contract.contract.Transfer(opts) 4904 } 4905 4906 // Transact invokes the (paid) contract method with params as input values. 4907 func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4908 return _IERC721Metadata.Contract.contract.Transact(opts, method, params...) 4909 } 4910 4911 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 4912 // 4913 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 4914 func (_IERC721Metadata *IERC721MetadataCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 4915 var out []interface{} 4916 err := _IERC721Metadata.contract.Call(opts, &out, "balanceOf", owner) 4917 4918 if err != nil { 4919 return *new(*big.Int), err 4920 } 4921 4922 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 4923 4924 return out0, err 4925 4926 } 4927 4928 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 4929 // 4930 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 4931 func (_IERC721Metadata *IERC721MetadataSession) BalanceOf(owner common.Address) (*big.Int, error) { 4932 return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, owner) 4933 } 4934 4935 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 4936 // 4937 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 4938 func (_IERC721Metadata *IERC721MetadataCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 4939 return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, owner) 4940 } 4941 4942 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 4943 // 4944 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 4945 func (_IERC721Metadata *IERC721MetadataCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 4946 var out []interface{} 4947 err := _IERC721Metadata.contract.Call(opts, &out, "getApproved", tokenId) 4948 4949 if err != nil { 4950 return *new(common.Address), err 4951 } 4952 4953 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 4954 4955 return out0, err 4956 4957 } 4958 4959 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 4960 // 4961 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 4962 func (_IERC721Metadata *IERC721MetadataSession) GetApproved(tokenId *big.Int) (common.Address, error) { 4963 return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, tokenId) 4964 } 4965 4966 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 4967 // 4968 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 4969 func (_IERC721Metadata *IERC721MetadataCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 4970 return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, tokenId) 4971 } 4972 4973 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 4974 // 4975 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 4976 func (_IERC721Metadata *IERC721MetadataCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 4977 var out []interface{} 4978 err := _IERC721Metadata.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 4979 4980 if err != nil { 4981 return *new(bool), err 4982 } 4983 4984 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 4985 4986 return out0, err 4987 4988 } 4989 4990 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 4991 // 4992 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 4993 func (_IERC721Metadata *IERC721MetadataSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 4994 return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, owner, operator) 4995 } 4996 4997 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 4998 // 4999 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 5000 func (_IERC721Metadata *IERC721MetadataCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 5001 return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, owner, operator) 5002 } 5003 5004 // Name is a free data retrieval call binding the contract method 0x06fdde03. 5005 // 5006 // Solidity: function name() view returns(string) 5007 func (_IERC721Metadata *IERC721MetadataCaller) Name(opts *bind.CallOpts) (string, error) { 5008 var out []interface{} 5009 err := _IERC721Metadata.contract.Call(opts, &out, "name") 5010 5011 if err != nil { 5012 return *new(string), err 5013 } 5014 5015 out0 := *abi.ConvertType(out[0], new(string)).(*string) 5016 5017 return out0, err 5018 5019 } 5020 5021 // Name is a free data retrieval call binding the contract method 0x06fdde03. 5022 // 5023 // Solidity: function name() view returns(string) 5024 func (_IERC721Metadata *IERC721MetadataSession) Name() (string, error) { 5025 return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts) 5026 } 5027 5028 // Name is a free data retrieval call binding the contract method 0x06fdde03. 5029 // 5030 // Solidity: function name() view returns(string) 5031 func (_IERC721Metadata *IERC721MetadataCallerSession) Name() (string, error) { 5032 return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts) 5033 } 5034 5035 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 5036 // 5037 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 5038 func (_IERC721Metadata *IERC721MetadataCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 5039 var out []interface{} 5040 err := _IERC721Metadata.contract.Call(opts, &out, "ownerOf", tokenId) 5041 5042 if err != nil { 5043 return *new(common.Address), err 5044 } 5045 5046 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 5047 5048 return out0, err 5049 5050 } 5051 5052 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 5053 // 5054 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 5055 func (_IERC721Metadata *IERC721MetadataSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 5056 return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, tokenId) 5057 } 5058 5059 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 5060 // 5061 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 5062 func (_IERC721Metadata *IERC721MetadataCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 5063 return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, tokenId) 5064 } 5065 5066 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5067 // 5068 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 5069 func (_IERC721Metadata *IERC721MetadataCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 5070 var out []interface{} 5071 err := _IERC721Metadata.contract.Call(opts, &out, "supportsInterface", interfaceId) 5072 5073 if err != nil { 5074 return *new(bool), err 5075 } 5076 5077 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 5078 5079 return out0, err 5080 5081 } 5082 5083 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5084 // 5085 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 5086 func (_IERC721Metadata *IERC721MetadataSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 5087 return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceId) 5088 } 5089 5090 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5091 // 5092 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 5093 func (_IERC721Metadata *IERC721MetadataCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 5094 return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceId) 5095 } 5096 5097 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 5098 // 5099 // Solidity: function symbol() view returns(string) 5100 func (_IERC721Metadata *IERC721MetadataCaller) Symbol(opts *bind.CallOpts) (string, error) { 5101 var out []interface{} 5102 err := _IERC721Metadata.contract.Call(opts, &out, "symbol") 5103 5104 if err != nil { 5105 return *new(string), err 5106 } 5107 5108 out0 := *abi.ConvertType(out[0], new(string)).(*string) 5109 5110 return out0, err 5111 5112 } 5113 5114 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 5115 // 5116 // Solidity: function symbol() view returns(string) 5117 func (_IERC721Metadata *IERC721MetadataSession) Symbol() (string, error) { 5118 return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts) 5119 } 5120 5121 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 5122 // 5123 // Solidity: function symbol() view returns(string) 5124 func (_IERC721Metadata *IERC721MetadataCallerSession) Symbol() (string, error) { 5125 return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts) 5126 } 5127 5128 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 5129 // 5130 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 5131 func (_IERC721Metadata *IERC721MetadataCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 5132 var out []interface{} 5133 err := _IERC721Metadata.contract.Call(opts, &out, "tokenURI", tokenId) 5134 5135 if err != nil { 5136 return *new(string), err 5137 } 5138 5139 out0 := *abi.ConvertType(out[0], new(string)).(*string) 5140 5141 return out0, err 5142 5143 } 5144 5145 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 5146 // 5147 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 5148 func (_IERC721Metadata *IERC721MetadataSession) TokenURI(tokenId *big.Int) (string, error) { 5149 return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, tokenId) 5150 } 5151 5152 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 5153 // 5154 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 5155 func (_IERC721Metadata *IERC721MetadataCallerSession) TokenURI(tokenId *big.Int) (string, error) { 5156 return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, tokenId) 5157 } 5158 5159 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5160 // 5161 // Solidity: function approve(address to, uint256 tokenId) returns() 5162 func (_IERC721Metadata *IERC721MetadataTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5163 return _IERC721Metadata.contract.Transact(opts, "approve", to, tokenId) 5164 } 5165 5166 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5167 // 5168 // Solidity: function approve(address to, uint256 tokenId) returns() 5169 func (_IERC721Metadata *IERC721MetadataSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5170 return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, to, tokenId) 5171 } 5172 5173 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5174 // 5175 // Solidity: function approve(address to, uint256 tokenId) returns() 5176 func (_IERC721Metadata *IERC721MetadataTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5177 return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, to, tokenId) 5178 } 5179 5180 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 5181 // 5182 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 5183 func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5184 return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 5185 } 5186 5187 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 5188 // 5189 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 5190 func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5191 return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) 5192 } 5193 5194 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 5195 // 5196 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 5197 func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5198 return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) 5199 } 5200 5201 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 5202 // 5203 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 5204 func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 5205 return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) 5206 } 5207 5208 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 5209 // 5210 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 5211 func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 5212 return _IERC721Metadata.Contract.SafeTransferFrom0(&_IERC721Metadata.TransactOpts, from, to, tokenId, data) 5213 } 5214 5215 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 5216 // 5217 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 5218 func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 5219 return _IERC721Metadata.Contract.SafeTransferFrom0(&_IERC721Metadata.TransactOpts, from, to, tokenId, data) 5220 } 5221 5222 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 5223 // 5224 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 5225 func (_IERC721Metadata *IERC721MetadataTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { 5226 return _IERC721Metadata.contract.Transact(opts, "setApprovalForAll", operator, _approved) 5227 } 5228 5229 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 5230 // 5231 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 5232 func (_IERC721Metadata *IERC721MetadataSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 5233 return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, operator, _approved) 5234 } 5235 5236 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 5237 // 5238 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 5239 func (_IERC721Metadata *IERC721MetadataTransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 5240 return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, operator, _approved) 5241 } 5242 5243 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5244 // 5245 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 5246 func (_IERC721Metadata *IERC721MetadataTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5247 return _IERC721Metadata.contract.Transact(opts, "transferFrom", from, to, tokenId) 5248 } 5249 5250 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5251 // 5252 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 5253 func (_IERC721Metadata *IERC721MetadataSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5254 return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) 5255 } 5256 5257 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5258 // 5259 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 5260 func (_IERC721Metadata *IERC721MetadataTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5261 return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) 5262 } 5263 5264 // 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. 5265 type IERC721MetadataApprovalIterator struct { 5266 Event *IERC721MetadataApproval // Event containing the contract specifics and raw log 5267 5268 contract *bind.BoundContract // Generic contract to use for unpacking event data 5269 event string // Event name to use for unpacking event data 5270 5271 logs chan types.Log // Log channel receiving the found contract events 5272 sub ethereum.Subscription // Subscription for errors, completion and termination 5273 done bool // Whether the subscription completed delivering logs 5274 fail error // Occurred error to stop iteration 5275 } 5276 5277 // Next advances the iterator to the subsequent event, returning whether there 5278 // are any more events found. In case of a retrieval or parsing error, false is 5279 // returned and Error() can be queried for the exact failure. 5280 func (it *IERC721MetadataApprovalIterator) Next() bool { 5281 // If the iterator failed, stop iterating 5282 if it.fail != nil { 5283 return false 5284 } 5285 // If the iterator completed, deliver directly whatever's available 5286 if it.done { 5287 select { 5288 case log := <-it.logs: 5289 it.Event = new(IERC721MetadataApproval) 5290 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5291 it.fail = err 5292 return false 5293 } 5294 it.Event.Raw = log 5295 return true 5296 5297 default: 5298 return false 5299 } 5300 } 5301 // Iterator still in progress, wait for either a data or an error event 5302 select { 5303 case log := <-it.logs: 5304 it.Event = new(IERC721MetadataApproval) 5305 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5306 it.fail = err 5307 return false 5308 } 5309 it.Event.Raw = log 5310 return true 5311 5312 case err := <-it.sub.Err(): 5313 it.done = true 5314 it.fail = err 5315 return it.Next() 5316 } 5317 } 5318 5319 // Error returns any retrieval or parsing error occurred during filtering. 5320 func (it *IERC721MetadataApprovalIterator) Error() error { 5321 return it.fail 5322 } 5323 5324 // Close terminates the iteration process, releasing any pending underlying 5325 // resources. 5326 func (it *IERC721MetadataApprovalIterator) Close() error { 5327 it.sub.Unsubscribe() 5328 return nil 5329 } 5330 5331 // IERC721MetadataApproval represents a Approval event raised by the IERC721Metadata contract. 5332 type IERC721MetadataApproval struct { 5333 Owner common.Address 5334 Approved common.Address 5335 TokenId *big.Int 5336 Raw types.Log // Blockchain specific contextual infos 5337 } 5338 5339 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5340 // 5341 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 5342 func (_IERC721Metadata *IERC721MetadataFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721MetadataApprovalIterator, error) { 5343 5344 var ownerRule []interface{} 5345 for _, ownerItem := range owner { 5346 ownerRule = append(ownerRule, ownerItem) 5347 } 5348 var approvedRule []interface{} 5349 for _, approvedItem := range approved { 5350 approvedRule = append(approvedRule, approvedItem) 5351 } 5352 var tokenIdRule []interface{} 5353 for _, tokenIdItem := range tokenId { 5354 tokenIdRule = append(tokenIdRule, tokenIdItem) 5355 } 5356 5357 logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 5358 if err != nil { 5359 return nil, err 5360 } 5361 return &IERC721MetadataApprovalIterator{contract: _IERC721Metadata.contract, event: "Approval", logs: logs, sub: sub}, nil 5362 } 5363 5364 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5365 // 5366 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 5367 func (_IERC721Metadata *IERC721MetadataFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 5368 5369 var ownerRule []interface{} 5370 for _, ownerItem := range owner { 5371 ownerRule = append(ownerRule, ownerItem) 5372 } 5373 var approvedRule []interface{} 5374 for _, approvedItem := range approved { 5375 approvedRule = append(approvedRule, approvedItem) 5376 } 5377 var tokenIdRule []interface{} 5378 for _, tokenIdItem := range tokenId { 5379 tokenIdRule = append(tokenIdRule, tokenIdItem) 5380 } 5381 5382 logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 5383 if err != nil { 5384 return nil, err 5385 } 5386 return event.NewSubscription(func(quit <-chan struct{}) error { 5387 defer sub.Unsubscribe() 5388 for { 5389 select { 5390 case log := <-logs: 5391 // New log arrived, parse the event and forward to the user 5392 event := new(IERC721MetadataApproval) 5393 if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { 5394 return err 5395 } 5396 event.Raw = log 5397 5398 select { 5399 case sink <- event: 5400 case err := <-sub.Err(): 5401 return err 5402 case <-quit: 5403 return nil 5404 } 5405 case err := <-sub.Err(): 5406 return err 5407 case <-quit: 5408 return nil 5409 } 5410 } 5411 }), nil 5412 } 5413 5414 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5415 // 5416 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 5417 func (_IERC721Metadata *IERC721MetadataFilterer) ParseApproval(log types.Log) (*IERC721MetadataApproval, error) { 5418 event := new(IERC721MetadataApproval) 5419 if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { 5420 return nil, err 5421 } 5422 event.Raw = log 5423 return event, nil 5424 } 5425 5426 // 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. 5427 type IERC721MetadataApprovalForAllIterator struct { 5428 Event *IERC721MetadataApprovalForAll // Event containing the contract specifics and raw log 5429 5430 contract *bind.BoundContract // Generic contract to use for unpacking event data 5431 event string // Event name to use for unpacking event data 5432 5433 logs chan types.Log // Log channel receiving the found contract events 5434 sub ethereum.Subscription // Subscription for errors, completion and termination 5435 done bool // Whether the subscription completed delivering logs 5436 fail error // Occurred error to stop iteration 5437 } 5438 5439 // Next advances the iterator to the subsequent event, returning whether there 5440 // are any more events found. In case of a retrieval or parsing error, false is 5441 // returned and Error() can be queried for the exact failure. 5442 func (it *IERC721MetadataApprovalForAllIterator) Next() bool { 5443 // If the iterator failed, stop iterating 5444 if it.fail != nil { 5445 return false 5446 } 5447 // If the iterator completed, deliver directly whatever's available 5448 if it.done { 5449 select { 5450 case log := <-it.logs: 5451 it.Event = new(IERC721MetadataApprovalForAll) 5452 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5453 it.fail = err 5454 return false 5455 } 5456 it.Event.Raw = log 5457 return true 5458 5459 default: 5460 return false 5461 } 5462 } 5463 // Iterator still in progress, wait for either a data or an error event 5464 select { 5465 case log := <-it.logs: 5466 it.Event = new(IERC721MetadataApprovalForAll) 5467 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5468 it.fail = err 5469 return false 5470 } 5471 it.Event.Raw = log 5472 return true 5473 5474 case err := <-it.sub.Err(): 5475 it.done = true 5476 it.fail = err 5477 return it.Next() 5478 } 5479 } 5480 5481 // Error returns any retrieval or parsing error occurred during filtering. 5482 func (it *IERC721MetadataApprovalForAllIterator) Error() error { 5483 return it.fail 5484 } 5485 5486 // Close terminates the iteration process, releasing any pending underlying 5487 // resources. 5488 func (it *IERC721MetadataApprovalForAllIterator) Close() error { 5489 it.sub.Unsubscribe() 5490 return nil 5491 } 5492 5493 // IERC721MetadataApprovalForAll represents a ApprovalForAll event raised by the IERC721Metadata contract. 5494 type IERC721MetadataApprovalForAll struct { 5495 Owner common.Address 5496 Operator common.Address 5497 Approved bool 5498 Raw types.Log // Blockchain specific contextual infos 5499 } 5500 5501 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 5502 // 5503 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 5504 func (_IERC721Metadata *IERC721MetadataFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721MetadataApprovalForAllIterator, error) { 5505 5506 var ownerRule []interface{} 5507 for _, ownerItem := range owner { 5508 ownerRule = append(ownerRule, ownerItem) 5509 } 5510 var operatorRule []interface{} 5511 for _, operatorItem := range operator { 5512 operatorRule = append(operatorRule, operatorItem) 5513 } 5514 5515 logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 5516 if err != nil { 5517 return nil, err 5518 } 5519 return &IERC721MetadataApprovalForAllIterator{contract: _IERC721Metadata.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 5520 } 5521 5522 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 5523 // 5524 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 5525 func (_IERC721Metadata *IERC721MetadataFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 5526 5527 var ownerRule []interface{} 5528 for _, ownerItem := range owner { 5529 ownerRule = append(ownerRule, ownerItem) 5530 } 5531 var operatorRule []interface{} 5532 for _, operatorItem := range operator { 5533 operatorRule = append(operatorRule, operatorItem) 5534 } 5535 5536 logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 5537 if err != nil { 5538 return nil, err 5539 } 5540 return event.NewSubscription(func(quit <-chan struct{}) error { 5541 defer sub.Unsubscribe() 5542 for { 5543 select { 5544 case log := <-logs: 5545 // New log arrived, parse the event and forward to the user 5546 event := new(IERC721MetadataApprovalForAll) 5547 if err := _IERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 5548 return err 5549 } 5550 event.Raw = log 5551 5552 select { 5553 case sink <- event: 5554 case err := <-sub.Err(): 5555 return err 5556 case <-quit: 5557 return nil 5558 } 5559 case err := <-sub.Err(): 5560 return err 5561 case <-quit: 5562 return nil 5563 } 5564 } 5565 }), nil 5566 } 5567 5568 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 5569 // 5570 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 5571 func (_IERC721Metadata *IERC721MetadataFilterer) ParseApprovalForAll(log types.Log) (*IERC721MetadataApprovalForAll, error) { 5572 event := new(IERC721MetadataApprovalForAll) 5573 if err := _IERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 5574 return nil, err 5575 } 5576 event.Raw = log 5577 return event, nil 5578 } 5579 5580 // 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. 5581 type IERC721MetadataTransferIterator struct { 5582 Event *IERC721MetadataTransfer // Event containing the contract specifics and raw log 5583 5584 contract *bind.BoundContract // Generic contract to use for unpacking event data 5585 event string // Event name to use for unpacking event data 5586 5587 logs chan types.Log // Log channel receiving the found contract events 5588 sub ethereum.Subscription // Subscription for errors, completion and termination 5589 done bool // Whether the subscription completed delivering logs 5590 fail error // Occurred error to stop iteration 5591 } 5592 5593 // Next advances the iterator to the subsequent event, returning whether there 5594 // are any more events found. In case of a retrieval or parsing error, false is 5595 // returned and Error() can be queried for the exact failure. 5596 func (it *IERC721MetadataTransferIterator) Next() bool { 5597 // If the iterator failed, stop iterating 5598 if it.fail != nil { 5599 return false 5600 } 5601 // If the iterator completed, deliver directly whatever's available 5602 if it.done { 5603 select { 5604 case log := <-it.logs: 5605 it.Event = new(IERC721MetadataTransfer) 5606 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5607 it.fail = err 5608 return false 5609 } 5610 it.Event.Raw = log 5611 return true 5612 5613 default: 5614 return false 5615 } 5616 } 5617 // Iterator still in progress, wait for either a data or an error event 5618 select { 5619 case log := <-it.logs: 5620 it.Event = new(IERC721MetadataTransfer) 5621 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5622 it.fail = err 5623 return false 5624 } 5625 it.Event.Raw = log 5626 return true 5627 5628 case err := <-it.sub.Err(): 5629 it.done = true 5630 it.fail = err 5631 return it.Next() 5632 } 5633 } 5634 5635 // Error returns any retrieval or parsing error occurred during filtering. 5636 func (it *IERC721MetadataTransferIterator) Error() error { 5637 return it.fail 5638 } 5639 5640 // Close terminates the iteration process, releasing any pending underlying 5641 // resources. 5642 func (it *IERC721MetadataTransferIterator) Close() error { 5643 it.sub.Unsubscribe() 5644 return nil 5645 } 5646 5647 // IERC721MetadataTransfer represents a Transfer event raised by the IERC721Metadata contract. 5648 type IERC721MetadataTransfer struct { 5649 From common.Address 5650 To common.Address 5651 TokenId *big.Int 5652 Raw types.Log // Blockchain specific contextual infos 5653 } 5654 5655 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5656 // 5657 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 5658 func (_IERC721Metadata *IERC721MetadataFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721MetadataTransferIterator, error) { 5659 5660 var fromRule []interface{} 5661 for _, fromItem := range from { 5662 fromRule = append(fromRule, fromItem) 5663 } 5664 var toRule []interface{} 5665 for _, toItem := range to { 5666 toRule = append(toRule, toItem) 5667 } 5668 var tokenIdRule []interface{} 5669 for _, tokenIdItem := range tokenId { 5670 tokenIdRule = append(tokenIdRule, tokenIdItem) 5671 } 5672 5673 logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 5674 if err != nil { 5675 return nil, err 5676 } 5677 return &IERC721MetadataTransferIterator{contract: _IERC721Metadata.contract, event: "Transfer", logs: logs, sub: sub}, nil 5678 } 5679 5680 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5681 // 5682 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 5683 func (_IERC721Metadata *IERC721MetadataFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721MetadataTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 5684 5685 var fromRule []interface{} 5686 for _, fromItem := range from { 5687 fromRule = append(fromRule, fromItem) 5688 } 5689 var toRule []interface{} 5690 for _, toItem := range to { 5691 toRule = append(toRule, toItem) 5692 } 5693 var tokenIdRule []interface{} 5694 for _, tokenIdItem := range tokenId { 5695 tokenIdRule = append(tokenIdRule, tokenIdItem) 5696 } 5697 5698 logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 5699 if err != nil { 5700 return nil, err 5701 } 5702 return event.NewSubscription(func(quit <-chan struct{}) error { 5703 defer sub.Unsubscribe() 5704 for { 5705 select { 5706 case log := <-logs: 5707 // New log arrived, parse the event and forward to the user 5708 event := new(IERC721MetadataTransfer) 5709 if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { 5710 return err 5711 } 5712 event.Raw = log 5713 5714 select { 5715 case sink <- event: 5716 case err := <-sub.Err(): 5717 return err 5718 case <-quit: 5719 return nil 5720 } 5721 case err := <-sub.Err(): 5722 return err 5723 case <-quit: 5724 return nil 5725 } 5726 } 5727 }), nil 5728 } 5729 5730 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5731 // 5732 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 5733 func (_IERC721Metadata *IERC721MetadataFilterer) ParseTransfer(log types.Log) (*IERC721MetadataTransfer, error) { 5734 event := new(IERC721MetadataTransfer) 5735 if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { 5736 return nil, err 5737 } 5738 event.Raw = log 5739 return event, nil 5740 } 5741 5742 // IERC721ReceiverABI is the input ABI used to generate the binding from. 5743 const IERC721ReceiverABI = "[{\"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\"}]" 5744 5745 // IERC721ReceiverFuncSigs maps the 4-byte function signature to its string representation. 5746 var IERC721ReceiverFuncSigs = map[string]string{ 5747 "150b7a02": "onERC721Received(address,address,uint256,bytes)", 5748 } 5749 5750 // IERC721Receiver is an auto generated Go binding around an Ethereum contract. 5751 type IERC721Receiver struct { 5752 IERC721ReceiverCaller // Read-only binding to the contract 5753 IERC721ReceiverTransactor // Write-only binding to the contract 5754 IERC721ReceiverFilterer // Log filterer for contract events 5755 } 5756 5757 // IERC721ReceiverCaller is an auto generated read-only Go binding around an Ethereum contract. 5758 type IERC721ReceiverCaller struct { 5759 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5760 } 5761 5762 // IERC721ReceiverTransactor is an auto generated write-only Go binding around an Ethereum contract. 5763 type IERC721ReceiverTransactor struct { 5764 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5765 } 5766 5767 // IERC721ReceiverFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 5768 type IERC721ReceiverFilterer struct { 5769 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5770 } 5771 5772 // IERC721ReceiverSession is an auto generated Go binding around an Ethereum contract, 5773 // with pre-set call and transact options. 5774 type IERC721ReceiverSession struct { 5775 Contract *IERC721Receiver // Generic contract binding to set the session for 5776 CallOpts bind.CallOpts // Call options to use throughout this session 5777 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5778 } 5779 5780 // IERC721ReceiverCallerSession is an auto generated read-only Go binding around an Ethereum contract, 5781 // with pre-set call options. 5782 type IERC721ReceiverCallerSession struct { 5783 Contract *IERC721ReceiverCaller // Generic contract caller binding to set the session for 5784 CallOpts bind.CallOpts // Call options to use throughout this session 5785 } 5786 5787 // IERC721ReceiverTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 5788 // with pre-set transact options. 5789 type IERC721ReceiverTransactorSession struct { 5790 Contract *IERC721ReceiverTransactor // Generic contract transactor binding to set the session for 5791 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5792 } 5793 5794 // IERC721ReceiverRaw is an auto generated low-level Go binding around an Ethereum contract. 5795 type IERC721ReceiverRaw struct { 5796 Contract *IERC721Receiver // Generic contract binding to access the raw methods on 5797 } 5798 5799 // IERC721ReceiverCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 5800 type IERC721ReceiverCallerRaw struct { 5801 Contract *IERC721ReceiverCaller // Generic read-only contract binding to access the raw methods on 5802 } 5803 5804 // IERC721ReceiverTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 5805 type IERC721ReceiverTransactorRaw struct { 5806 Contract *IERC721ReceiverTransactor // Generic write-only contract binding to access the raw methods on 5807 } 5808 5809 // NewIERC721Receiver creates a new instance of IERC721Receiver, bound to a specific deployed contract. 5810 func NewIERC721Receiver(address common.Address, backend bind.ContractBackend) (*IERC721Receiver, error) { 5811 contract, err := bindIERC721Receiver(address, backend, backend, backend) 5812 if err != nil { 5813 return nil, err 5814 } 5815 return &IERC721Receiver{IERC721ReceiverCaller: IERC721ReceiverCaller{contract: contract}, IERC721ReceiverTransactor: IERC721ReceiverTransactor{contract: contract}, IERC721ReceiverFilterer: IERC721ReceiverFilterer{contract: contract}}, nil 5816 } 5817 5818 // NewIERC721ReceiverCaller creates a new read-only instance of IERC721Receiver, bound to a specific deployed contract. 5819 func NewIERC721ReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC721ReceiverCaller, error) { 5820 contract, err := bindIERC721Receiver(address, caller, nil, nil) 5821 if err != nil { 5822 return nil, err 5823 } 5824 return &IERC721ReceiverCaller{contract: contract}, nil 5825 } 5826 5827 // NewIERC721ReceiverTransactor creates a new write-only instance of IERC721Receiver, bound to a specific deployed contract. 5828 func NewIERC721ReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721ReceiverTransactor, error) { 5829 contract, err := bindIERC721Receiver(address, nil, transactor, nil) 5830 if err != nil { 5831 return nil, err 5832 } 5833 return &IERC721ReceiverTransactor{contract: contract}, nil 5834 } 5835 5836 // NewIERC721ReceiverFilterer creates a new log filterer instance of IERC721Receiver, bound to a specific deployed contract. 5837 func NewIERC721ReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721ReceiverFilterer, error) { 5838 contract, err := bindIERC721Receiver(address, nil, nil, filterer) 5839 if err != nil { 5840 return nil, err 5841 } 5842 return &IERC721ReceiverFilterer{contract: contract}, nil 5843 } 5844 5845 // bindIERC721Receiver binds a generic wrapper to an already deployed contract. 5846 func bindIERC721Receiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 5847 parsed, err := abi.JSON(strings.NewReader(IERC721ReceiverABI)) 5848 if err != nil { 5849 return nil, err 5850 } 5851 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 5852 } 5853 5854 // Call invokes the (constant) contract method with params as input values and 5855 // sets the output to result. The result type might be a single field for simple 5856 // returns, a slice of interfaces for anonymous returns and a struct for named 5857 // returns. 5858 func (_IERC721Receiver *IERC721ReceiverRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 5859 return _IERC721Receiver.Contract.IERC721ReceiverCaller.contract.Call(opts, result, method, params...) 5860 } 5861 5862 // Transfer initiates a plain transaction to move funds to the contract, calling 5863 // its default method if one is available. 5864 func (_IERC721Receiver *IERC721ReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5865 return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transfer(opts) 5866 } 5867 5868 // Transact invokes the (paid) contract method with params as input values. 5869 func (_IERC721Receiver *IERC721ReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5870 return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transact(opts, method, params...) 5871 } 5872 5873 // Call invokes the (constant) contract method with params as input values and 5874 // sets the output to result. The result type might be a single field for simple 5875 // returns, a slice of interfaces for anonymous returns and a struct for named 5876 // returns. 5877 func (_IERC721Receiver *IERC721ReceiverCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 5878 return _IERC721Receiver.Contract.contract.Call(opts, result, method, params...) 5879 } 5880 5881 // Transfer initiates a plain transaction to move funds to the contract, calling 5882 // its default method if one is available. 5883 func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5884 return _IERC721Receiver.Contract.contract.Transfer(opts) 5885 } 5886 5887 // Transact invokes the (paid) contract method with params as input values. 5888 func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5889 return _IERC721Receiver.Contract.contract.Transact(opts, method, params...) 5890 } 5891 5892 // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. 5893 // 5894 // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) 5895 func (_IERC721Receiver *IERC721ReceiverTransactor) OnERC721Received(opts *bind.TransactOpts, operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 5896 return _IERC721Receiver.contract.Transact(opts, "onERC721Received", operator, from, tokenId, data) 5897 } 5898 5899 // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. 5900 // 5901 // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) 5902 func (_IERC721Receiver *IERC721ReceiverSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 5903 return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data) 5904 } 5905 5906 // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. 5907 // 5908 // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) 5909 func (_IERC721Receiver *IERC721ReceiverTransactorSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 5910 return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data) 5911 } 5912 5913 // INextContractABI is the input ABI used to generate the binding from. 5914 const INextContractABI = "[{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"migrateTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 5915 5916 // INextContractFuncSigs maps the 4-byte function signature to its string representation. 5917 var INextContractFuncSigs = map[string]string{ 5918 "e884703f": "migrateTokens(uint256[],address)", 5919 } 5920 5921 // INextContract is an auto generated Go binding around an Ethereum contract. 5922 type INextContract struct { 5923 INextContractCaller // Read-only binding to the contract 5924 INextContractTransactor // Write-only binding to the contract 5925 INextContractFilterer // Log filterer for contract events 5926 } 5927 5928 // INextContractCaller is an auto generated read-only Go binding around an Ethereum contract. 5929 type INextContractCaller struct { 5930 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5931 } 5932 5933 // INextContractTransactor is an auto generated write-only Go binding around an Ethereum contract. 5934 type INextContractTransactor struct { 5935 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5936 } 5937 5938 // INextContractFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 5939 type INextContractFilterer struct { 5940 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5941 } 5942 5943 // INextContractSession is an auto generated Go binding around an Ethereum contract, 5944 // with pre-set call and transact options. 5945 type INextContractSession struct { 5946 Contract *INextContract // Generic contract binding to set the session for 5947 CallOpts bind.CallOpts // Call options to use throughout this session 5948 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5949 } 5950 5951 // INextContractCallerSession is an auto generated read-only Go binding around an Ethereum contract, 5952 // with pre-set call options. 5953 type INextContractCallerSession struct { 5954 Contract *INextContractCaller // Generic contract caller binding to set the session for 5955 CallOpts bind.CallOpts // Call options to use throughout this session 5956 } 5957 5958 // INextContractTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 5959 // with pre-set transact options. 5960 type INextContractTransactorSession struct { 5961 Contract *INextContractTransactor // Generic contract transactor binding to set the session for 5962 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5963 } 5964 5965 // INextContractRaw is an auto generated low-level Go binding around an Ethereum contract. 5966 type INextContractRaw struct { 5967 Contract *INextContract // Generic contract binding to access the raw methods on 5968 } 5969 5970 // INextContractCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 5971 type INextContractCallerRaw struct { 5972 Contract *INextContractCaller // Generic read-only contract binding to access the raw methods on 5973 } 5974 5975 // INextContractTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 5976 type INextContractTransactorRaw struct { 5977 Contract *INextContractTransactor // Generic write-only contract binding to access the raw methods on 5978 } 5979 5980 // NewINextContract creates a new instance of INextContract, bound to a specific deployed contract. 5981 func NewINextContract(address common.Address, backend bind.ContractBackend) (*INextContract, error) { 5982 contract, err := bindINextContract(address, backend, backend, backend) 5983 if err != nil { 5984 return nil, err 5985 } 5986 return &INextContract{INextContractCaller: INextContractCaller{contract: contract}, INextContractTransactor: INextContractTransactor{contract: contract}, INextContractFilterer: INextContractFilterer{contract: contract}}, nil 5987 } 5988 5989 // NewINextContractCaller creates a new read-only instance of INextContract, bound to a specific deployed contract. 5990 func NewINextContractCaller(address common.Address, caller bind.ContractCaller) (*INextContractCaller, error) { 5991 contract, err := bindINextContract(address, caller, nil, nil) 5992 if err != nil { 5993 return nil, err 5994 } 5995 return &INextContractCaller{contract: contract}, nil 5996 } 5997 5998 // NewINextContractTransactor creates a new write-only instance of INextContract, bound to a specific deployed contract. 5999 func NewINextContractTransactor(address common.Address, transactor bind.ContractTransactor) (*INextContractTransactor, error) { 6000 contract, err := bindINextContract(address, nil, transactor, nil) 6001 if err != nil { 6002 return nil, err 6003 } 6004 return &INextContractTransactor{contract: contract}, nil 6005 } 6006 6007 // NewINextContractFilterer creates a new log filterer instance of INextContract, bound to a specific deployed contract. 6008 func NewINextContractFilterer(address common.Address, filterer bind.ContractFilterer) (*INextContractFilterer, error) { 6009 contract, err := bindINextContract(address, nil, nil, filterer) 6010 if err != nil { 6011 return nil, err 6012 } 6013 return &INextContractFilterer{contract: contract}, nil 6014 } 6015 6016 // bindINextContract binds a generic wrapper to an already deployed contract. 6017 func bindINextContract(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 6018 parsed, err := abi.JSON(strings.NewReader(INextContractABI)) 6019 if err != nil { 6020 return nil, err 6021 } 6022 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 6023 } 6024 6025 // Call invokes the (constant) contract method with params as input values and 6026 // sets the output to result. The result type might be a single field for simple 6027 // returns, a slice of interfaces for anonymous returns and a struct for named 6028 // returns. 6029 func (_INextContract *INextContractRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 6030 return _INextContract.Contract.INextContractCaller.contract.Call(opts, result, method, params...) 6031 } 6032 6033 // Transfer initiates a plain transaction to move funds to the contract, calling 6034 // its default method if one is available. 6035 func (_INextContract *INextContractRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6036 return _INextContract.Contract.INextContractTransactor.contract.Transfer(opts) 6037 } 6038 6039 // Transact invokes the (paid) contract method with params as input values. 6040 func (_INextContract *INextContractRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6041 return _INextContract.Contract.INextContractTransactor.contract.Transact(opts, method, params...) 6042 } 6043 6044 // Call invokes the (constant) contract method with params as input values and 6045 // sets the output to result. The result type might be a single field for simple 6046 // returns, a slice of interfaces for anonymous returns and a struct for named 6047 // returns. 6048 func (_INextContract *INextContractCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 6049 return _INextContract.Contract.contract.Call(opts, result, method, params...) 6050 } 6051 6052 // Transfer initiates a plain transaction to move funds to the contract, calling 6053 // its default method if one is available. 6054 func (_INextContract *INextContractTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6055 return _INextContract.Contract.contract.Transfer(opts) 6056 } 6057 6058 // Transact invokes the (paid) contract method with params as input values. 6059 func (_INextContract *INextContractTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6060 return _INextContract.Contract.contract.Transact(opts, method, params...) 6061 } 6062 6063 // MigrateTokens is a paid mutator transaction binding the contract method 0xe884703f. 6064 // 6065 // Solidity: function migrateTokens(uint256[] tokenIds, address to) returns() 6066 func (_INextContract *INextContractTransactor) MigrateTokens(opts *bind.TransactOpts, tokenIds []*big.Int, to common.Address) (*types.Transaction, error) { 6067 return _INextContract.contract.Transact(opts, "migrateTokens", tokenIds, to) 6068 } 6069 6070 // MigrateTokens is a paid mutator transaction binding the contract method 0xe884703f. 6071 // 6072 // Solidity: function migrateTokens(uint256[] tokenIds, address to) returns() 6073 func (_INextContract *INextContractSession) MigrateTokens(tokenIds []*big.Int, to common.Address) (*types.Transaction, error) { 6074 return _INextContract.Contract.MigrateTokens(&_INextContract.TransactOpts, tokenIds, to) 6075 } 6076 6077 // MigrateTokens is a paid mutator transaction binding the contract method 0xe884703f. 6078 // 6079 // Solidity: function migrateTokens(uint256[] tokenIds, address to) returns() 6080 func (_INextContract *INextContractTransactorSession) MigrateTokens(tokenIds []*big.Int, to common.Address) (*types.Transaction, error) { 6081 return _INextContract.Contract.MigrateTokens(&_INextContract.TransactOpts, tokenIds, to) 6082 } 6083 6084 // ISorareCardsABI is the input ABI used to generate the binding from. 6085 const ISorareCardsABI = "[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cardId\",\"type\":\"uint256\"}],\"name\":\"cardExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"playerId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"season\",\"type\":\"uint16\"},{\"internalType\":\"uint8\",\"name\":\"scarcity\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"serialNumber\",\"type\":\"uint16\"},{\"internalType\":\"bytes32\",\"name\":\"metadata\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"clubId\",\"type\":\"uint16\"}],\"name\":\"createCard\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_cardId\",\"type\":\"uint256\"}],\"name\":\"getCard\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"playerId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"season\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"scarcity\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"serialNumber\",\"type\":\"uint16\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"},{\"internalType\":\"uint16\",\"name\":\"clubId\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"clubId\",\"type\":\"uint16\"}],\"name\":\"getClub\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"country\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"city\",\"type\":\"string\"},{\"internalType\":\"uint16\",\"name\":\"yearFounded\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"playerId\",\"type\":\"uint256\"}],\"name\":\"getPlayer\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint16\",\"name\":\"yearOfBirth\",\"type\":\"uint16\"},{\"internalType\":\"uint8\",\"name\":\"monthOfBirth\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"dayOfBirth\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]" 6086 6087 // ISorareCardsFuncSigs maps the 4-byte function signature to its string representation. 6088 var ISorareCardsFuncSigs = map[string]string{ 6089 "4ae3540e": "cardExists(uint256)", 6090 "01152383": "createCard(uint256,uint16,uint8,uint16,bytes32,uint16)", 6091 "9188d312": "getCard(uint256)", 6092 "4a39d2b8": "getClub(uint16)", 6093 "e55ae4e8": "getPlayer(uint256)", 6094 } 6095 6096 // ISorareCards is an auto generated Go binding around an Ethereum contract. 6097 type ISorareCards struct { 6098 ISorareCardsCaller // Read-only binding to the contract 6099 ISorareCardsTransactor // Write-only binding to the contract 6100 ISorareCardsFilterer // Log filterer for contract events 6101 } 6102 6103 // ISorareCardsCaller is an auto generated read-only Go binding around an Ethereum contract. 6104 type ISorareCardsCaller struct { 6105 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6106 } 6107 6108 // ISorareCardsTransactor is an auto generated write-only Go binding around an Ethereum contract. 6109 type ISorareCardsTransactor struct { 6110 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6111 } 6112 6113 // ISorareCardsFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 6114 type ISorareCardsFilterer struct { 6115 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6116 } 6117 6118 // ISorareCardsSession is an auto generated Go binding around an Ethereum contract, 6119 // with pre-set call and transact options. 6120 type ISorareCardsSession struct { 6121 Contract *ISorareCards // Generic contract binding to set the session for 6122 CallOpts bind.CallOpts // Call options to use throughout this session 6123 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6124 } 6125 6126 // ISorareCardsCallerSession is an auto generated read-only Go binding around an Ethereum contract, 6127 // with pre-set call options. 6128 type ISorareCardsCallerSession struct { 6129 Contract *ISorareCardsCaller // Generic contract caller binding to set the session for 6130 CallOpts bind.CallOpts // Call options to use throughout this session 6131 } 6132 6133 // ISorareCardsTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 6134 // with pre-set transact options. 6135 type ISorareCardsTransactorSession struct { 6136 Contract *ISorareCardsTransactor // Generic contract transactor binding to set the session for 6137 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6138 } 6139 6140 // ISorareCardsRaw is an auto generated low-level Go binding around an Ethereum contract. 6141 type ISorareCardsRaw struct { 6142 Contract *ISorareCards // Generic contract binding to access the raw methods on 6143 } 6144 6145 // ISorareCardsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 6146 type ISorareCardsCallerRaw struct { 6147 Contract *ISorareCardsCaller // Generic read-only contract binding to access the raw methods on 6148 } 6149 6150 // ISorareCardsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 6151 type ISorareCardsTransactorRaw struct { 6152 Contract *ISorareCardsTransactor // Generic write-only contract binding to access the raw methods on 6153 } 6154 6155 // NewISorareCards creates a new instance of ISorareCards, bound to a specific deployed contract. 6156 func NewISorareCards(address common.Address, backend bind.ContractBackend) (*ISorareCards, error) { 6157 contract, err := bindISorareCards(address, backend, backend, backend) 6158 if err != nil { 6159 return nil, err 6160 } 6161 return &ISorareCards{ISorareCardsCaller: ISorareCardsCaller{contract: contract}, ISorareCardsTransactor: ISorareCardsTransactor{contract: contract}, ISorareCardsFilterer: ISorareCardsFilterer{contract: contract}}, nil 6162 } 6163 6164 // NewISorareCardsCaller creates a new read-only instance of ISorareCards, bound to a specific deployed contract. 6165 func NewISorareCardsCaller(address common.Address, caller bind.ContractCaller) (*ISorareCardsCaller, error) { 6166 contract, err := bindISorareCards(address, caller, nil, nil) 6167 if err != nil { 6168 return nil, err 6169 } 6170 return &ISorareCardsCaller{contract: contract}, nil 6171 } 6172 6173 // NewISorareCardsTransactor creates a new write-only instance of ISorareCards, bound to a specific deployed contract. 6174 func NewISorareCardsTransactor(address common.Address, transactor bind.ContractTransactor) (*ISorareCardsTransactor, error) { 6175 contract, err := bindISorareCards(address, nil, transactor, nil) 6176 if err != nil { 6177 return nil, err 6178 } 6179 return &ISorareCardsTransactor{contract: contract}, nil 6180 } 6181 6182 // NewISorareCardsFilterer creates a new log filterer instance of ISorareCards, bound to a specific deployed contract. 6183 func NewISorareCardsFilterer(address common.Address, filterer bind.ContractFilterer) (*ISorareCardsFilterer, error) { 6184 contract, err := bindISorareCards(address, nil, nil, filterer) 6185 if err != nil { 6186 return nil, err 6187 } 6188 return &ISorareCardsFilterer{contract: contract}, nil 6189 } 6190 6191 // bindISorareCards binds a generic wrapper to an already deployed contract. 6192 func bindISorareCards(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 6193 parsed, err := abi.JSON(strings.NewReader(ISorareCardsABI)) 6194 if err != nil { 6195 return nil, err 6196 } 6197 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 6198 } 6199 6200 // Call invokes the (constant) contract method with params as input values and 6201 // sets the output to result. The result type might be a single field for simple 6202 // returns, a slice of interfaces for anonymous returns and a struct for named 6203 // returns. 6204 func (_ISorareCards *ISorareCardsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 6205 return _ISorareCards.Contract.ISorareCardsCaller.contract.Call(opts, result, method, params...) 6206 } 6207 6208 // Transfer initiates a plain transaction to move funds to the contract, calling 6209 // its default method if one is available. 6210 func (_ISorareCards *ISorareCardsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6211 return _ISorareCards.Contract.ISorareCardsTransactor.contract.Transfer(opts) 6212 } 6213 6214 // Transact invokes the (paid) contract method with params as input values. 6215 func (_ISorareCards *ISorareCardsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6216 return _ISorareCards.Contract.ISorareCardsTransactor.contract.Transact(opts, method, params...) 6217 } 6218 6219 // Call invokes the (constant) contract method with params as input values and 6220 // sets the output to result. The result type might be a single field for simple 6221 // returns, a slice of interfaces for anonymous returns and a struct for named 6222 // returns. 6223 func (_ISorareCards *ISorareCardsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 6224 return _ISorareCards.Contract.contract.Call(opts, result, method, params...) 6225 } 6226 6227 // Transfer initiates a plain transaction to move funds to the contract, calling 6228 // its default method if one is available. 6229 func (_ISorareCards *ISorareCardsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6230 return _ISorareCards.Contract.contract.Transfer(opts) 6231 } 6232 6233 // Transact invokes the (paid) contract method with params as input values. 6234 func (_ISorareCards *ISorareCardsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6235 return _ISorareCards.Contract.contract.Transact(opts, method, params...) 6236 } 6237 6238 // CardExists is a free data retrieval call binding the contract method 0x4ae3540e. 6239 // 6240 // Solidity: function cardExists(uint256 cardId) view returns(bool) 6241 func (_ISorareCards *ISorareCardsCaller) CardExists(opts *bind.CallOpts, cardId *big.Int) (bool, error) { 6242 var out []interface{} 6243 err := _ISorareCards.contract.Call(opts, &out, "cardExists", cardId) 6244 6245 if err != nil { 6246 return *new(bool), err 6247 } 6248 6249 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 6250 6251 return out0, err 6252 6253 } 6254 6255 // CardExists is a free data retrieval call binding the contract method 0x4ae3540e. 6256 // 6257 // Solidity: function cardExists(uint256 cardId) view returns(bool) 6258 func (_ISorareCards *ISorareCardsSession) CardExists(cardId *big.Int) (bool, error) { 6259 return _ISorareCards.Contract.CardExists(&_ISorareCards.CallOpts, cardId) 6260 } 6261 6262 // CardExists is a free data retrieval call binding the contract method 0x4ae3540e. 6263 // 6264 // Solidity: function cardExists(uint256 cardId) view returns(bool) 6265 func (_ISorareCards *ISorareCardsCallerSession) CardExists(cardId *big.Int) (bool, error) { 6266 return _ISorareCards.Contract.CardExists(&_ISorareCards.CallOpts, cardId) 6267 } 6268 6269 // GetCard is a free data retrieval call binding the contract method 0x9188d312. 6270 // 6271 // Solidity: function getCard(uint256 _cardId) view returns(uint256 playerId, uint16 season, uint256 scarcity, uint16 serialNumber, bytes metadata, uint16 clubId) 6272 func (_ISorareCards *ISorareCardsCaller) GetCard(opts *bind.CallOpts, _cardId *big.Int) (struct { 6273 PlayerId *big.Int 6274 Season uint16 6275 Scarcity *big.Int 6276 SerialNumber uint16 6277 Metadata []byte 6278 ClubId uint16 6279 }, error) { 6280 var out []interface{} 6281 err := _ISorareCards.contract.Call(opts, &out, "getCard", _cardId) 6282 6283 outstruct := new(struct { 6284 PlayerId *big.Int 6285 Season uint16 6286 Scarcity *big.Int 6287 SerialNumber uint16 6288 Metadata []byte 6289 ClubId uint16 6290 }) 6291 6292 outstruct.PlayerId = out[0].(*big.Int) 6293 outstruct.Season = out[1].(uint16) 6294 outstruct.Scarcity = out[2].(*big.Int) 6295 outstruct.SerialNumber = out[3].(uint16) 6296 outstruct.Metadata = out[4].([]byte) 6297 outstruct.ClubId = out[5].(uint16) 6298 6299 return *outstruct, err 6300 6301 } 6302 6303 // GetCard is a free data retrieval call binding the contract method 0x9188d312. 6304 // 6305 // Solidity: function getCard(uint256 _cardId) view returns(uint256 playerId, uint16 season, uint256 scarcity, uint16 serialNumber, bytes metadata, uint16 clubId) 6306 func (_ISorareCards *ISorareCardsSession) GetCard(_cardId *big.Int) (struct { 6307 PlayerId *big.Int 6308 Season uint16 6309 Scarcity *big.Int 6310 SerialNumber uint16 6311 Metadata []byte 6312 ClubId uint16 6313 }, error) { 6314 return _ISorareCards.Contract.GetCard(&_ISorareCards.CallOpts, _cardId) 6315 } 6316 6317 // GetCard is a free data retrieval call binding the contract method 0x9188d312. 6318 // 6319 // Solidity: function getCard(uint256 _cardId) view returns(uint256 playerId, uint16 season, uint256 scarcity, uint16 serialNumber, bytes metadata, uint16 clubId) 6320 func (_ISorareCards *ISorareCardsCallerSession) GetCard(_cardId *big.Int) (struct { 6321 PlayerId *big.Int 6322 Season uint16 6323 Scarcity *big.Int 6324 SerialNumber uint16 6325 Metadata []byte 6326 ClubId uint16 6327 }, error) { 6328 return _ISorareCards.Contract.GetCard(&_ISorareCards.CallOpts, _cardId) 6329 } 6330 6331 // GetClub is a free data retrieval call binding the contract method 0x4a39d2b8. 6332 // 6333 // Solidity: function getClub(uint16 clubId) view returns(string name, string country, string city, uint16 yearFounded) 6334 func (_ISorareCards *ISorareCardsCaller) GetClub(opts *bind.CallOpts, clubId uint16) (struct { 6335 Name string 6336 Country string 6337 City string 6338 YearFounded uint16 6339 }, error) { 6340 var out []interface{} 6341 err := _ISorareCards.contract.Call(opts, &out, "getClub", clubId) 6342 6343 outstruct := new(struct { 6344 Name string 6345 Country string 6346 City string 6347 YearFounded uint16 6348 }) 6349 6350 outstruct.Name = out[0].(string) 6351 outstruct.Country = out[1].(string) 6352 outstruct.City = out[2].(string) 6353 outstruct.YearFounded = out[3].(uint16) 6354 6355 return *outstruct, err 6356 6357 } 6358 6359 // GetClub is a free data retrieval call binding the contract method 0x4a39d2b8. 6360 // 6361 // Solidity: function getClub(uint16 clubId) view returns(string name, string country, string city, uint16 yearFounded) 6362 func (_ISorareCards *ISorareCardsSession) GetClub(clubId uint16) (struct { 6363 Name string 6364 Country string 6365 City string 6366 YearFounded uint16 6367 }, error) { 6368 return _ISorareCards.Contract.GetClub(&_ISorareCards.CallOpts, clubId) 6369 } 6370 6371 // GetClub is a free data retrieval call binding the contract method 0x4a39d2b8. 6372 // 6373 // Solidity: function getClub(uint16 clubId) view returns(string name, string country, string city, uint16 yearFounded) 6374 func (_ISorareCards *ISorareCardsCallerSession) GetClub(clubId uint16) (struct { 6375 Name string 6376 Country string 6377 City string 6378 YearFounded uint16 6379 }, error) { 6380 return _ISorareCards.Contract.GetClub(&_ISorareCards.CallOpts, clubId) 6381 } 6382 6383 // GetPlayer is a free data retrieval call binding the contract method 0xe55ae4e8. 6384 // 6385 // Solidity: function getPlayer(uint256 playerId) view returns(string name, uint16 yearOfBirth, uint8 monthOfBirth, uint8 dayOfBirth) 6386 func (_ISorareCards *ISorareCardsCaller) GetPlayer(opts *bind.CallOpts, playerId *big.Int) (struct { 6387 Name string 6388 YearOfBirth uint16 6389 MonthOfBirth uint8 6390 DayOfBirth uint8 6391 }, error) { 6392 var out []interface{} 6393 err := _ISorareCards.contract.Call(opts, &out, "getPlayer", playerId) 6394 6395 outstruct := new(struct { 6396 Name string 6397 YearOfBirth uint16 6398 MonthOfBirth uint8 6399 DayOfBirth uint8 6400 }) 6401 6402 outstruct.Name = out[0].(string) 6403 outstruct.YearOfBirth = out[1].(uint16) 6404 outstruct.MonthOfBirth = out[2].(uint8) 6405 outstruct.DayOfBirth = out[3].(uint8) 6406 6407 return *outstruct, err 6408 6409 } 6410 6411 // GetPlayer is a free data retrieval call binding the contract method 0xe55ae4e8. 6412 // 6413 // Solidity: function getPlayer(uint256 playerId) view returns(string name, uint16 yearOfBirth, uint8 monthOfBirth, uint8 dayOfBirth) 6414 func (_ISorareCards *ISorareCardsSession) GetPlayer(playerId *big.Int) (struct { 6415 Name string 6416 YearOfBirth uint16 6417 MonthOfBirth uint8 6418 DayOfBirth uint8 6419 }, error) { 6420 return _ISorareCards.Contract.GetPlayer(&_ISorareCards.CallOpts, playerId) 6421 } 6422 6423 // GetPlayer is a free data retrieval call binding the contract method 0xe55ae4e8. 6424 // 6425 // Solidity: function getPlayer(uint256 playerId) view returns(string name, uint16 yearOfBirth, uint8 monthOfBirth, uint8 dayOfBirth) 6426 func (_ISorareCards *ISorareCardsCallerSession) GetPlayer(playerId *big.Int) (struct { 6427 Name string 6428 YearOfBirth uint16 6429 MonthOfBirth uint8 6430 DayOfBirth uint8 6431 }, error) { 6432 return _ISorareCards.Contract.GetPlayer(&_ISorareCards.CallOpts, playerId) 6433 } 6434 6435 // CreateCard is a paid mutator transaction binding the contract method 0x01152383. 6436 // 6437 // Solidity: function createCard(uint256 playerId, uint16 season, uint8 scarcity, uint16 serialNumber, bytes32 metadata, uint16 clubId) returns(uint256) 6438 func (_ISorareCards *ISorareCardsTransactor) CreateCard(opts *bind.TransactOpts, playerId *big.Int, season uint16, scarcity uint8, serialNumber uint16, metadata [32]byte, clubId uint16) (*types.Transaction, error) { 6439 return _ISorareCards.contract.Transact(opts, "createCard", playerId, season, scarcity, serialNumber, metadata, clubId) 6440 } 6441 6442 // CreateCard is a paid mutator transaction binding the contract method 0x01152383. 6443 // 6444 // Solidity: function createCard(uint256 playerId, uint16 season, uint8 scarcity, uint16 serialNumber, bytes32 metadata, uint16 clubId) returns(uint256) 6445 func (_ISorareCards *ISorareCardsSession) CreateCard(playerId *big.Int, season uint16, scarcity uint8, serialNumber uint16, metadata [32]byte, clubId uint16) (*types.Transaction, error) { 6446 return _ISorareCards.Contract.CreateCard(&_ISorareCards.TransactOpts, playerId, season, scarcity, serialNumber, metadata, clubId) 6447 } 6448 6449 // CreateCard is a paid mutator transaction binding the contract method 0x01152383. 6450 // 6451 // Solidity: function createCard(uint256 playerId, uint16 season, uint8 scarcity, uint16 serialNumber, bytes32 metadata, uint16 clubId) returns(uint256) 6452 func (_ISorareCards *ISorareCardsTransactorSession) CreateCard(playerId *big.Int, season uint16, scarcity uint8, serialNumber uint16, metadata [32]byte, clubId uint16) (*types.Transaction, error) { 6453 return _ISorareCards.Contract.CreateCard(&_ISorareCards.TransactOpts, playerId, season, scarcity, serialNumber, metadata, clubId) 6454 } 6455 6456 // ISorareTokensABI is the input ABI used to generate the binding from. 6457 const ISorareTokensABI = "[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"playerId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"season\",\"type\":\"uint16\"},{\"internalType\":\"uint8\",\"name\":\"scarcity\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"serialNumber\",\"type\":\"uint16\"},{\"internalType\":\"bytes32\",\"name\":\"metadata\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"clubId\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"createCardAndMintToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cardId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"mintToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 6458 6459 // ISorareTokensFuncSigs maps the 4-byte function signature to its string representation. 6460 var ISorareTokensFuncSigs = map[string]string{ 6461 "2850d20e": "createCardAndMintToken(uint256,uint16,uint8,uint16,bytes32,uint16,address)", 6462 "a140ae23": "mintToken(uint256,address)", 6463 } 6464 6465 // ISorareTokens is an auto generated Go binding around an Ethereum contract. 6466 type ISorareTokens struct { 6467 ISorareTokensCaller // Read-only binding to the contract 6468 ISorareTokensTransactor // Write-only binding to the contract 6469 ISorareTokensFilterer // Log filterer for contract events 6470 } 6471 6472 // ISorareTokensCaller is an auto generated read-only Go binding around an Ethereum contract. 6473 type ISorareTokensCaller struct { 6474 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6475 } 6476 6477 // ISorareTokensTransactor is an auto generated write-only Go binding around an Ethereum contract. 6478 type ISorareTokensTransactor struct { 6479 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6480 } 6481 6482 // ISorareTokensFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 6483 type ISorareTokensFilterer struct { 6484 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6485 } 6486 6487 // ISorareTokensSession is an auto generated Go binding around an Ethereum contract, 6488 // with pre-set call and transact options. 6489 type ISorareTokensSession struct { 6490 Contract *ISorareTokens // Generic contract binding to set the session for 6491 CallOpts bind.CallOpts // Call options to use throughout this session 6492 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6493 } 6494 6495 // ISorareTokensCallerSession is an auto generated read-only Go binding around an Ethereum contract, 6496 // with pre-set call options. 6497 type ISorareTokensCallerSession struct { 6498 Contract *ISorareTokensCaller // Generic contract caller binding to set the session for 6499 CallOpts bind.CallOpts // Call options to use throughout this session 6500 } 6501 6502 // ISorareTokensTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 6503 // with pre-set transact options. 6504 type ISorareTokensTransactorSession struct { 6505 Contract *ISorareTokensTransactor // Generic contract transactor binding to set the session for 6506 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6507 } 6508 6509 // ISorareTokensRaw is an auto generated low-level Go binding around an Ethereum contract. 6510 type ISorareTokensRaw struct { 6511 Contract *ISorareTokens // Generic contract binding to access the raw methods on 6512 } 6513 6514 // ISorareTokensCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 6515 type ISorareTokensCallerRaw struct { 6516 Contract *ISorareTokensCaller // Generic read-only contract binding to access the raw methods on 6517 } 6518 6519 // ISorareTokensTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 6520 type ISorareTokensTransactorRaw struct { 6521 Contract *ISorareTokensTransactor // Generic write-only contract binding to access the raw methods on 6522 } 6523 6524 // NewISorareTokens creates a new instance of ISorareTokens, bound to a specific deployed contract. 6525 func NewISorareTokens(address common.Address, backend bind.ContractBackend) (*ISorareTokens, error) { 6526 contract, err := bindISorareTokens(address, backend, backend, backend) 6527 if err != nil { 6528 return nil, err 6529 } 6530 return &ISorareTokens{ISorareTokensCaller: ISorareTokensCaller{contract: contract}, ISorareTokensTransactor: ISorareTokensTransactor{contract: contract}, ISorareTokensFilterer: ISorareTokensFilterer{contract: contract}}, nil 6531 } 6532 6533 // NewISorareTokensCaller creates a new read-only instance of ISorareTokens, bound to a specific deployed contract. 6534 func NewISorareTokensCaller(address common.Address, caller bind.ContractCaller) (*ISorareTokensCaller, error) { 6535 contract, err := bindISorareTokens(address, caller, nil, nil) 6536 if err != nil { 6537 return nil, err 6538 } 6539 return &ISorareTokensCaller{contract: contract}, nil 6540 } 6541 6542 // NewISorareTokensTransactor creates a new write-only instance of ISorareTokens, bound to a specific deployed contract. 6543 func NewISorareTokensTransactor(address common.Address, transactor bind.ContractTransactor) (*ISorareTokensTransactor, error) { 6544 contract, err := bindISorareTokens(address, nil, transactor, nil) 6545 if err != nil { 6546 return nil, err 6547 } 6548 return &ISorareTokensTransactor{contract: contract}, nil 6549 } 6550 6551 // NewISorareTokensFilterer creates a new log filterer instance of ISorareTokens, bound to a specific deployed contract. 6552 func NewISorareTokensFilterer(address common.Address, filterer bind.ContractFilterer) (*ISorareTokensFilterer, error) { 6553 contract, err := bindISorareTokens(address, nil, nil, filterer) 6554 if err != nil { 6555 return nil, err 6556 } 6557 return &ISorareTokensFilterer{contract: contract}, nil 6558 } 6559 6560 // bindISorareTokens binds a generic wrapper to an already deployed contract. 6561 func bindISorareTokens(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 6562 parsed, err := abi.JSON(strings.NewReader(ISorareTokensABI)) 6563 if err != nil { 6564 return nil, err 6565 } 6566 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 6567 } 6568 6569 // Call invokes the (constant) contract method with params as input values and 6570 // sets the output to result. The result type might be a single field for simple 6571 // returns, a slice of interfaces for anonymous returns and a struct for named 6572 // returns. 6573 func (_ISorareTokens *ISorareTokensRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 6574 return _ISorareTokens.Contract.ISorareTokensCaller.contract.Call(opts, result, method, params...) 6575 } 6576 6577 // Transfer initiates a plain transaction to move funds to the contract, calling 6578 // its default method if one is available. 6579 func (_ISorareTokens *ISorareTokensRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6580 return _ISorareTokens.Contract.ISorareTokensTransactor.contract.Transfer(opts) 6581 } 6582 6583 // Transact invokes the (paid) contract method with params as input values. 6584 func (_ISorareTokens *ISorareTokensRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6585 return _ISorareTokens.Contract.ISorareTokensTransactor.contract.Transact(opts, method, params...) 6586 } 6587 6588 // Call invokes the (constant) contract method with params as input values and 6589 // sets the output to result. The result type might be a single field for simple 6590 // returns, a slice of interfaces for anonymous returns and a struct for named 6591 // returns. 6592 func (_ISorareTokens *ISorareTokensCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 6593 return _ISorareTokens.Contract.contract.Call(opts, result, method, params...) 6594 } 6595 6596 // Transfer initiates a plain transaction to move funds to the contract, calling 6597 // its default method if one is available. 6598 func (_ISorareTokens *ISorareTokensTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6599 return _ISorareTokens.Contract.contract.Transfer(opts) 6600 } 6601 6602 // Transact invokes the (paid) contract method with params as input values. 6603 func (_ISorareTokens *ISorareTokensTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6604 return _ISorareTokens.Contract.contract.Transact(opts, method, params...) 6605 } 6606 6607 // CreateCardAndMintToken is a paid mutator transaction binding the contract method 0x2850d20e. 6608 // 6609 // Solidity: function createCardAndMintToken(uint256 playerId, uint16 season, uint8 scarcity, uint16 serialNumber, bytes32 metadata, uint16 clubId, address to) returns(uint256) 6610 func (_ISorareTokens *ISorareTokensTransactor) CreateCardAndMintToken(opts *bind.TransactOpts, playerId *big.Int, season uint16, scarcity uint8, serialNumber uint16, metadata [32]byte, clubId uint16, to common.Address) (*types.Transaction, error) { 6611 return _ISorareTokens.contract.Transact(opts, "createCardAndMintToken", playerId, season, scarcity, serialNumber, metadata, clubId, to) 6612 } 6613 6614 // CreateCardAndMintToken is a paid mutator transaction binding the contract method 0x2850d20e. 6615 // 6616 // Solidity: function createCardAndMintToken(uint256 playerId, uint16 season, uint8 scarcity, uint16 serialNumber, bytes32 metadata, uint16 clubId, address to) returns(uint256) 6617 func (_ISorareTokens *ISorareTokensSession) CreateCardAndMintToken(playerId *big.Int, season uint16, scarcity uint8, serialNumber uint16, metadata [32]byte, clubId uint16, to common.Address) (*types.Transaction, error) { 6618 return _ISorareTokens.Contract.CreateCardAndMintToken(&_ISorareTokens.TransactOpts, playerId, season, scarcity, serialNumber, metadata, clubId, to) 6619 } 6620 6621 // CreateCardAndMintToken is a paid mutator transaction binding the contract method 0x2850d20e. 6622 // 6623 // Solidity: function createCardAndMintToken(uint256 playerId, uint16 season, uint8 scarcity, uint16 serialNumber, bytes32 metadata, uint16 clubId, address to) returns(uint256) 6624 func (_ISorareTokens *ISorareTokensTransactorSession) CreateCardAndMintToken(playerId *big.Int, season uint16, scarcity uint8, serialNumber uint16, metadata [32]byte, clubId uint16, to common.Address) (*types.Transaction, error) { 6625 return _ISorareTokens.Contract.CreateCardAndMintToken(&_ISorareTokens.TransactOpts, playerId, season, scarcity, serialNumber, metadata, clubId, to) 6626 } 6627 6628 // MintToken is a paid mutator transaction binding the contract method 0xa140ae23. 6629 // 6630 // Solidity: function mintToken(uint256 cardId, address to) returns(uint256) 6631 func (_ISorareTokens *ISorareTokensTransactor) MintToken(opts *bind.TransactOpts, cardId *big.Int, to common.Address) (*types.Transaction, error) { 6632 return _ISorareTokens.contract.Transact(opts, "mintToken", cardId, to) 6633 } 6634 6635 // MintToken is a paid mutator transaction binding the contract method 0xa140ae23. 6636 // 6637 // Solidity: function mintToken(uint256 cardId, address to) returns(uint256) 6638 func (_ISorareTokens *ISorareTokensSession) MintToken(cardId *big.Int, to common.Address) (*types.Transaction, error) { 6639 return _ISorareTokens.Contract.MintToken(&_ISorareTokens.TransactOpts, cardId, to) 6640 } 6641 6642 // MintToken is a paid mutator transaction binding the contract method 0xa140ae23. 6643 // 6644 // Solidity: function mintToken(uint256 cardId, address to) returns(uint256) 6645 func (_ISorareTokens *ISorareTokensTransactorSession) MintToken(cardId *big.Int, to common.Address) (*types.Transaction, error) { 6646 return _ISorareTokens.Contract.MintToken(&_ISorareTokens.TransactOpts, cardId, to) 6647 } 6648 6649 // MinterAccessABI is the input ABI used to generate the binding from. 6650 const MinterAccessABI = "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"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\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeMinter\",\"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\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 6651 6652 // MinterAccessFuncSigs maps the 4-byte function signature to its string representation. 6653 var MinterAccessFuncSigs = map[string]string{ 6654 "a217fddf": "DEFAULT_ADMIN_ROLE()", 6655 "d5391393": "MINTER_ROLE()", 6656 "983b2d56": "addMinter(address)", 6657 "248a9ca3": "getRoleAdmin(bytes32)", 6658 "9010d07c": "getRoleMember(bytes32,uint256)", 6659 "ca15c873": "getRoleMemberCount(bytes32)", 6660 "2f2ff15d": "grantRole(bytes32,address)", 6661 "91d14854": "hasRole(bytes32,address)", 6662 "8da5cb5b": "owner()", 6663 "5f112c68": "renounceMinter(address)", 6664 "715018a6": "renounceOwnership()", 6665 "36568abe": "renounceRole(bytes32,address)", 6666 "cfbd4885": "revokeMinter(address)", 6667 "d547741f": "revokeRole(bytes32,address)", 6668 "f2fde38b": "transferOwnership(address)", 6669 } 6670 6671 // MinterAccessBin is the compiled bytecode used for deploying new contracts. 6672 var MinterAccessBin = "0x608060405234801561001057600080fd5b5060006100246001600160e01b036100ba16565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506100826000336001600160e01b036100be16565b604080516a4d494e5445525f524f4c4560a81b8152905190819003600b0190206100b590336001600160e01b036100be16565b6101e5565b3390565b6100d182826001600160e01b036100d516565b5050565b60008281526001602090815260409091206100f991839061081e610153821b17901c565b156100d15761010f6001600160e01b036100ba16565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610171836001600160a01b0384166001600160e01b0361017a16565b90505b92915050565b600061018f83836001600160e01b036101cd16565b6101c557508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610174565b506000610174565b60009081526001919091016020526040902054151590565b610ae4806101f46000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806391d1485411610097578063cfbd488511610066578063cfbd488514610283578063d5391393146102a9578063d547741f146102b1578063f2fde38b146102dd576100f5565b806391d14854146101f8578063983b2d5614610238578063a217fddf1461025e578063ca15c87314610266576100f5565b80635f112c68116100d35780635f112c6814610183578063715018a6146101a95780638da5cb5b146101b15780639010d07c146101d5576100f5565b8063248a9ca3146100fa5780632f2ff15d1461012957806336568abe14610157575b600080fd5b6101176004803603602081101561011057600080fd5b5035610303565b60408051918252519081900360200190f35b6101556004803603604081101561013f57600080fd5b50803590602001356001600160a01b0316610318565b005b6101556004803603604081101561016d57600080fd5b50803590602001356001600160a01b0316610384565b6101556004803603602081101561019957600080fd5b50356001600160a01b03166103e5565b610155610412565b6101b96104c6565b604080516001600160a01b039092168252519081900360200190f35b6101b9600480360360408110156101eb57600080fd5b50803590602001356104d5565b6102246004803603604081101561020e57600080fd5b50803590602001356001600160a01b03166104fc565b604080519115158252519081900360200190f35b6101556004803603602081101561024e57600080fd5b50356001600160a01b031661051a565b610117610544565b6101176004803603602081101561027c57600080fd5b5035610549565b6101556004803603602081101561029957600080fd5b50356001600160a01b0316610560565b61011761058a565b610155600480360360408110156102c757600080fd5b50803590602001356001600160a01b03166105ad565b610155600480360360208110156102f357600080fd5b50356001600160a01b0316610606565b60009081526001602052604090206002015490565b60008281526001602052604090206002015461033b90610336610710565b6104fc565b6103765760405162461bcd60e51b815260040180806020018281038252602f8152602001806109fb602f913960400191505060405180910390fd5b6103808282610714565b5050565b61038c610710565b6001600160a01b0316816001600160a01b0316146103db5760405162461bcd60e51b815260040180806020018281038252602f815260200180610a80602f913960400191505060405180910390fd5b6103808282610783565b604080516a4d494e5445525f524f4c4560a81b8152905190819003600b01902061040f9082610384565b50565b61041a610710565b6000546001600160a01b0390811691161461047c576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60008281526001602052604081206104f3908363ffffffff6107f216565b90505b92915050565b60008281526001602052604081206104f3908363ffffffff6107fe16565b604080516a4d494e5445525f524f4c4560a81b8152905190819003600b01902061040f9082610318565b600081565b60008181526001602052604081206104f690610813565b604080516a4d494e5445525f524f4c4560a81b8152905190819003600b01902061040f90826105ad565b604080516a4d494e5445525f524f4c4560a81b8152905190819003600b01902081565b6000828152600160205260409020600201546105cb90610336610710565b6103db5760405162461bcd60e51b8152600401808060200182810382526030815260200180610a506030913960400191505060405180910390fd5b61060e610710565b6000546001600160a01b03908116911614610670576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166106b55760405162461bcd60e51b8152600401808060200182810382526026815260200180610a2a6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6000828152600160205260409020610732908263ffffffff61081e16565b156103805761073f610710565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526001602052604090206107a1908263ffffffff61083316565b15610380576107ae610710565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b60006104f38383610848565b60006104f3836001600160a01b0384166108ac565b60006104f6826108c4565b60006104f3836001600160a01b0384166108c8565b60006104f3836001600160a01b038416610912565b8154600090821061088a5760405162461bcd60e51b81526004018080602001828103825260228152602001806109d96022913960400191505060405180910390fd5b82600001828154811061089957fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b5490565b60006108d483836108ac565b61090a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104f6565b5060006104f6565b600081815260018301602052604081205480156109ce578354600019808301919081019060009087908390811061094557fe5b906000526020600020015490508087600001848154811061096257fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061099257fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506104f6565b60009150506104f656fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e744f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b65416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66a264697066735822122078fe2824d83f5f2fa05f30dfd7de0645463e423e9a9bbc5f318c39565b4fb0b964736f6c63430006060033" 6673 6674 // DeployMinterAccess deploys a new Ethereum contract, binding an instance of MinterAccess to it. 6675 func DeployMinterAccess(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *MinterAccess, error) { 6676 parsed, err := abi.JSON(strings.NewReader(MinterAccessABI)) 6677 if err != nil { 6678 return common.Address{}, nil, nil, err 6679 } 6680 6681 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(MinterAccessBin), backend) 6682 if err != nil { 6683 return common.Address{}, nil, nil, err 6684 } 6685 return address, tx, &MinterAccess{MinterAccessCaller: MinterAccessCaller{contract: contract}, MinterAccessTransactor: MinterAccessTransactor{contract: contract}, MinterAccessFilterer: MinterAccessFilterer{contract: contract}}, nil 6686 } 6687 6688 // MinterAccess is an auto generated Go binding around an Ethereum contract. 6689 type MinterAccess struct { 6690 MinterAccessCaller // Read-only binding to the contract 6691 MinterAccessTransactor // Write-only binding to the contract 6692 MinterAccessFilterer // Log filterer for contract events 6693 } 6694 6695 // MinterAccessCaller is an auto generated read-only Go binding around an Ethereum contract. 6696 type MinterAccessCaller struct { 6697 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6698 } 6699 6700 // MinterAccessTransactor is an auto generated write-only Go binding around an Ethereum contract. 6701 type MinterAccessTransactor struct { 6702 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6703 } 6704 6705 // MinterAccessFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 6706 type MinterAccessFilterer struct { 6707 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6708 } 6709 6710 // MinterAccessSession is an auto generated Go binding around an Ethereum contract, 6711 // with pre-set call and transact options. 6712 type MinterAccessSession struct { 6713 Contract *MinterAccess // Generic contract binding to set the session for 6714 CallOpts bind.CallOpts // Call options to use throughout this session 6715 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6716 } 6717 6718 // MinterAccessCallerSession is an auto generated read-only Go binding around an Ethereum contract, 6719 // with pre-set call options. 6720 type MinterAccessCallerSession struct { 6721 Contract *MinterAccessCaller // Generic contract caller binding to set the session for 6722 CallOpts bind.CallOpts // Call options to use throughout this session 6723 } 6724 6725 // MinterAccessTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 6726 // with pre-set transact options. 6727 type MinterAccessTransactorSession struct { 6728 Contract *MinterAccessTransactor // Generic contract transactor binding to set the session for 6729 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6730 } 6731 6732 // MinterAccessRaw is an auto generated low-level Go binding around an Ethereum contract. 6733 type MinterAccessRaw struct { 6734 Contract *MinterAccess // Generic contract binding to access the raw methods on 6735 } 6736 6737 // MinterAccessCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 6738 type MinterAccessCallerRaw struct { 6739 Contract *MinterAccessCaller // Generic read-only contract binding to access the raw methods on 6740 } 6741 6742 // MinterAccessTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 6743 type MinterAccessTransactorRaw struct { 6744 Contract *MinterAccessTransactor // Generic write-only contract binding to access the raw methods on 6745 } 6746 6747 // NewMinterAccess creates a new instance of MinterAccess, bound to a specific deployed contract. 6748 func NewMinterAccess(address common.Address, backend bind.ContractBackend) (*MinterAccess, error) { 6749 contract, err := bindMinterAccess(address, backend, backend, backend) 6750 if err != nil { 6751 return nil, err 6752 } 6753 return &MinterAccess{MinterAccessCaller: MinterAccessCaller{contract: contract}, MinterAccessTransactor: MinterAccessTransactor{contract: contract}, MinterAccessFilterer: MinterAccessFilterer{contract: contract}}, nil 6754 } 6755 6756 // NewMinterAccessCaller creates a new read-only instance of MinterAccess, bound to a specific deployed contract. 6757 func NewMinterAccessCaller(address common.Address, caller bind.ContractCaller) (*MinterAccessCaller, error) { 6758 contract, err := bindMinterAccess(address, caller, nil, nil) 6759 if err != nil { 6760 return nil, err 6761 } 6762 return &MinterAccessCaller{contract: contract}, nil 6763 } 6764 6765 // NewMinterAccessTransactor creates a new write-only instance of MinterAccess, bound to a specific deployed contract. 6766 func NewMinterAccessTransactor(address common.Address, transactor bind.ContractTransactor) (*MinterAccessTransactor, error) { 6767 contract, err := bindMinterAccess(address, nil, transactor, nil) 6768 if err != nil { 6769 return nil, err 6770 } 6771 return &MinterAccessTransactor{contract: contract}, nil 6772 } 6773 6774 // NewMinterAccessFilterer creates a new log filterer instance of MinterAccess, bound to a specific deployed contract. 6775 func NewMinterAccessFilterer(address common.Address, filterer bind.ContractFilterer) (*MinterAccessFilterer, error) { 6776 contract, err := bindMinterAccess(address, nil, nil, filterer) 6777 if err != nil { 6778 return nil, err 6779 } 6780 return &MinterAccessFilterer{contract: contract}, nil 6781 } 6782 6783 // bindMinterAccess binds a generic wrapper to an already deployed contract. 6784 func bindMinterAccess(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 6785 parsed, err := abi.JSON(strings.NewReader(MinterAccessABI)) 6786 if err != nil { 6787 return nil, err 6788 } 6789 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 6790 } 6791 6792 // Call invokes the (constant) contract method with params as input values and 6793 // sets the output to result. The result type might be a single field for simple 6794 // returns, a slice of interfaces for anonymous returns and a struct for named 6795 // returns. 6796 func (_MinterAccess *MinterAccessRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 6797 return _MinterAccess.Contract.MinterAccessCaller.contract.Call(opts, result, method, params...) 6798 } 6799 6800 // Transfer initiates a plain transaction to move funds to the contract, calling 6801 // its default method if one is available. 6802 func (_MinterAccess *MinterAccessRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6803 return _MinterAccess.Contract.MinterAccessTransactor.contract.Transfer(opts) 6804 } 6805 6806 // Transact invokes the (paid) contract method with params as input values. 6807 func (_MinterAccess *MinterAccessRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6808 return _MinterAccess.Contract.MinterAccessTransactor.contract.Transact(opts, method, params...) 6809 } 6810 6811 // Call invokes the (constant) contract method with params as input values and 6812 // sets the output to result. The result type might be a single field for simple 6813 // returns, a slice of interfaces for anonymous returns and a struct for named 6814 // returns. 6815 func (_MinterAccess *MinterAccessCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 6816 return _MinterAccess.Contract.contract.Call(opts, result, method, params...) 6817 } 6818 6819 // Transfer initiates a plain transaction to move funds to the contract, calling 6820 // its default method if one is available. 6821 func (_MinterAccess *MinterAccessTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6822 return _MinterAccess.Contract.contract.Transfer(opts) 6823 } 6824 6825 // Transact invokes the (paid) contract method with params as input values. 6826 func (_MinterAccess *MinterAccessTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6827 return _MinterAccess.Contract.contract.Transact(opts, method, params...) 6828 } 6829 6830 // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. 6831 // 6832 // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) 6833 func (_MinterAccess *MinterAccessCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) { 6834 var out []interface{} 6835 err := _MinterAccess.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE") 6836 6837 if err != nil { 6838 return *new([32]byte), err 6839 } 6840 6841 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 6842 6843 return out0, err 6844 6845 } 6846 6847 // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. 6848 // 6849 // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) 6850 func (_MinterAccess *MinterAccessSession) DEFAULTADMINROLE() ([32]byte, error) { 6851 return _MinterAccess.Contract.DEFAULTADMINROLE(&_MinterAccess.CallOpts) 6852 } 6853 6854 // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. 6855 // 6856 // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) 6857 func (_MinterAccess *MinterAccessCallerSession) DEFAULTADMINROLE() ([32]byte, error) { 6858 return _MinterAccess.Contract.DEFAULTADMINROLE(&_MinterAccess.CallOpts) 6859 } 6860 6861 // MINTERROLE is a free data retrieval call binding the contract method 0xd5391393. 6862 // 6863 // Solidity: function MINTER_ROLE() view returns(bytes32) 6864 func (_MinterAccess *MinterAccessCaller) MINTERROLE(opts *bind.CallOpts) ([32]byte, error) { 6865 var out []interface{} 6866 err := _MinterAccess.contract.Call(opts, &out, "MINTER_ROLE") 6867 6868 if err != nil { 6869 return *new([32]byte), err 6870 } 6871 6872 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 6873 6874 return out0, err 6875 6876 } 6877 6878 // MINTERROLE is a free data retrieval call binding the contract method 0xd5391393. 6879 // 6880 // Solidity: function MINTER_ROLE() view returns(bytes32) 6881 func (_MinterAccess *MinterAccessSession) MINTERROLE() ([32]byte, error) { 6882 return _MinterAccess.Contract.MINTERROLE(&_MinterAccess.CallOpts) 6883 } 6884 6885 // MINTERROLE is a free data retrieval call binding the contract method 0xd5391393. 6886 // 6887 // Solidity: function MINTER_ROLE() view returns(bytes32) 6888 func (_MinterAccess *MinterAccessCallerSession) MINTERROLE() ([32]byte, error) { 6889 return _MinterAccess.Contract.MINTERROLE(&_MinterAccess.CallOpts) 6890 } 6891 6892 // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. 6893 // 6894 // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) 6895 func (_MinterAccess *MinterAccessCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { 6896 var out []interface{} 6897 err := _MinterAccess.contract.Call(opts, &out, "getRoleAdmin", role) 6898 6899 if err != nil { 6900 return *new([32]byte), err 6901 } 6902 6903 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 6904 6905 return out0, err 6906 6907 } 6908 6909 // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. 6910 // 6911 // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) 6912 func (_MinterAccess *MinterAccessSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { 6913 return _MinterAccess.Contract.GetRoleAdmin(&_MinterAccess.CallOpts, role) 6914 } 6915 6916 // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. 6917 // 6918 // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) 6919 func (_MinterAccess *MinterAccessCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { 6920 return _MinterAccess.Contract.GetRoleAdmin(&_MinterAccess.CallOpts, role) 6921 } 6922 6923 // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. 6924 // 6925 // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) 6926 func (_MinterAccess *MinterAccessCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) { 6927 var out []interface{} 6928 err := _MinterAccess.contract.Call(opts, &out, "getRoleMember", role, index) 6929 6930 if err != nil { 6931 return *new(common.Address), err 6932 } 6933 6934 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 6935 6936 return out0, err 6937 6938 } 6939 6940 // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. 6941 // 6942 // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) 6943 func (_MinterAccess *MinterAccessSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { 6944 return _MinterAccess.Contract.GetRoleMember(&_MinterAccess.CallOpts, role, index) 6945 } 6946 6947 // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. 6948 // 6949 // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) 6950 func (_MinterAccess *MinterAccessCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { 6951 return _MinterAccess.Contract.GetRoleMember(&_MinterAccess.CallOpts, role, index) 6952 } 6953 6954 // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. 6955 // 6956 // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) 6957 func (_MinterAccess *MinterAccessCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) { 6958 var out []interface{} 6959 err := _MinterAccess.contract.Call(opts, &out, "getRoleMemberCount", role) 6960 6961 if err != nil { 6962 return *new(*big.Int), err 6963 } 6964 6965 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 6966 6967 return out0, err 6968 6969 } 6970 6971 // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. 6972 // 6973 // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) 6974 func (_MinterAccess *MinterAccessSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { 6975 return _MinterAccess.Contract.GetRoleMemberCount(&_MinterAccess.CallOpts, role) 6976 } 6977 6978 // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. 6979 // 6980 // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) 6981 func (_MinterAccess *MinterAccessCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { 6982 return _MinterAccess.Contract.GetRoleMemberCount(&_MinterAccess.CallOpts, role) 6983 } 6984 6985 // HasRole is a free data retrieval call binding the contract method 0x91d14854. 6986 // 6987 // Solidity: function hasRole(bytes32 role, address account) view returns(bool) 6988 func (_MinterAccess *MinterAccessCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { 6989 var out []interface{} 6990 err := _MinterAccess.contract.Call(opts, &out, "hasRole", role, account) 6991 6992 if err != nil { 6993 return *new(bool), err 6994 } 6995 6996 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 6997 6998 return out0, err 6999 7000 } 7001 7002 // HasRole is a free data retrieval call binding the contract method 0x91d14854. 7003 // 7004 // Solidity: function hasRole(bytes32 role, address account) view returns(bool) 7005 func (_MinterAccess *MinterAccessSession) HasRole(role [32]byte, account common.Address) (bool, error) { 7006 return _MinterAccess.Contract.HasRole(&_MinterAccess.CallOpts, role, account) 7007 } 7008 7009 // HasRole is a free data retrieval call binding the contract method 0x91d14854. 7010 // 7011 // Solidity: function hasRole(bytes32 role, address account) view returns(bool) 7012 func (_MinterAccess *MinterAccessCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { 7013 return _MinterAccess.Contract.HasRole(&_MinterAccess.CallOpts, role, account) 7014 } 7015 7016 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 7017 // 7018 // Solidity: function owner() view returns(address) 7019 func (_MinterAccess *MinterAccessCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 7020 var out []interface{} 7021 err := _MinterAccess.contract.Call(opts, &out, "owner") 7022 7023 if err != nil { 7024 return *new(common.Address), err 7025 } 7026 7027 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 7028 7029 return out0, err 7030 7031 } 7032 7033 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 7034 // 7035 // Solidity: function owner() view returns(address) 7036 func (_MinterAccess *MinterAccessSession) Owner() (common.Address, error) { 7037 return _MinterAccess.Contract.Owner(&_MinterAccess.CallOpts) 7038 } 7039 7040 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 7041 // 7042 // Solidity: function owner() view returns(address) 7043 func (_MinterAccess *MinterAccessCallerSession) Owner() (common.Address, error) { 7044 return _MinterAccess.Contract.Owner(&_MinterAccess.CallOpts) 7045 } 7046 7047 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 7048 // 7049 // Solidity: function addMinter(address account) returns() 7050 func (_MinterAccess *MinterAccessTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 7051 return _MinterAccess.contract.Transact(opts, "addMinter", account) 7052 } 7053 7054 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 7055 // 7056 // Solidity: function addMinter(address account) returns() 7057 func (_MinterAccess *MinterAccessSession) AddMinter(account common.Address) (*types.Transaction, error) { 7058 return _MinterAccess.Contract.AddMinter(&_MinterAccess.TransactOpts, account) 7059 } 7060 7061 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 7062 // 7063 // Solidity: function addMinter(address account) returns() 7064 func (_MinterAccess *MinterAccessTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 7065 return _MinterAccess.Contract.AddMinter(&_MinterAccess.TransactOpts, account) 7066 } 7067 7068 // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. 7069 // 7070 // Solidity: function grantRole(bytes32 role, address account) returns() 7071 func (_MinterAccess *MinterAccessTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { 7072 return _MinterAccess.contract.Transact(opts, "grantRole", role, account) 7073 } 7074 7075 // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. 7076 // 7077 // Solidity: function grantRole(bytes32 role, address account) returns() 7078 func (_MinterAccess *MinterAccessSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { 7079 return _MinterAccess.Contract.GrantRole(&_MinterAccess.TransactOpts, role, account) 7080 } 7081 7082 // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. 7083 // 7084 // Solidity: function grantRole(bytes32 role, address account) returns() 7085 func (_MinterAccess *MinterAccessTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { 7086 return _MinterAccess.Contract.GrantRole(&_MinterAccess.TransactOpts, role, account) 7087 } 7088 7089 // RenounceMinter is a paid mutator transaction binding the contract method 0x5f112c68. 7090 // 7091 // Solidity: function renounceMinter(address account) returns() 7092 func (_MinterAccess *MinterAccessTransactor) RenounceMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 7093 return _MinterAccess.contract.Transact(opts, "renounceMinter", account) 7094 } 7095 7096 // RenounceMinter is a paid mutator transaction binding the contract method 0x5f112c68. 7097 // 7098 // Solidity: function renounceMinter(address account) returns() 7099 func (_MinterAccess *MinterAccessSession) RenounceMinter(account common.Address) (*types.Transaction, error) { 7100 return _MinterAccess.Contract.RenounceMinter(&_MinterAccess.TransactOpts, account) 7101 } 7102 7103 // RenounceMinter is a paid mutator transaction binding the contract method 0x5f112c68. 7104 // 7105 // Solidity: function renounceMinter(address account) returns() 7106 func (_MinterAccess *MinterAccessTransactorSession) RenounceMinter(account common.Address) (*types.Transaction, error) { 7107 return _MinterAccess.Contract.RenounceMinter(&_MinterAccess.TransactOpts, account) 7108 } 7109 7110 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7111 // 7112 // Solidity: function renounceOwnership() returns() 7113 func (_MinterAccess *MinterAccessTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 7114 return _MinterAccess.contract.Transact(opts, "renounceOwnership") 7115 } 7116 7117 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7118 // 7119 // Solidity: function renounceOwnership() returns() 7120 func (_MinterAccess *MinterAccessSession) RenounceOwnership() (*types.Transaction, error) { 7121 return _MinterAccess.Contract.RenounceOwnership(&_MinterAccess.TransactOpts) 7122 } 7123 7124 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7125 // 7126 // Solidity: function renounceOwnership() returns() 7127 func (_MinterAccess *MinterAccessTransactorSession) RenounceOwnership() (*types.Transaction, error) { 7128 return _MinterAccess.Contract.RenounceOwnership(&_MinterAccess.TransactOpts) 7129 } 7130 7131 // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. 7132 // 7133 // Solidity: function renounceRole(bytes32 role, address account) returns() 7134 func (_MinterAccess *MinterAccessTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { 7135 return _MinterAccess.contract.Transact(opts, "renounceRole", role, account) 7136 } 7137 7138 // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. 7139 // 7140 // Solidity: function renounceRole(bytes32 role, address account) returns() 7141 func (_MinterAccess *MinterAccessSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { 7142 return _MinterAccess.Contract.RenounceRole(&_MinterAccess.TransactOpts, role, account) 7143 } 7144 7145 // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. 7146 // 7147 // Solidity: function renounceRole(bytes32 role, address account) returns() 7148 func (_MinterAccess *MinterAccessTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { 7149 return _MinterAccess.Contract.RenounceRole(&_MinterAccess.TransactOpts, role, account) 7150 } 7151 7152 // RevokeMinter is a paid mutator transaction binding the contract method 0xcfbd4885. 7153 // 7154 // Solidity: function revokeMinter(address account) returns() 7155 func (_MinterAccess *MinterAccessTransactor) RevokeMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 7156 return _MinterAccess.contract.Transact(opts, "revokeMinter", account) 7157 } 7158 7159 // RevokeMinter is a paid mutator transaction binding the contract method 0xcfbd4885. 7160 // 7161 // Solidity: function revokeMinter(address account) returns() 7162 func (_MinterAccess *MinterAccessSession) RevokeMinter(account common.Address) (*types.Transaction, error) { 7163 return _MinterAccess.Contract.RevokeMinter(&_MinterAccess.TransactOpts, account) 7164 } 7165 7166 // RevokeMinter is a paid mutator transaction binding the contract method 0xcfbd4885. 7167 // 7168 // Solidity: function revokeMinter(address account) returns() 7169 func (_MinterAccess *MinterAccessTransactorSession) RevokeMinter(account common.Address) (*types.Transaction, error) { 7170 return _MinterAccess.Contract.RevokeMinter(&_MinterAccess.TransactOpts, account) 7171 } 7172 7173 // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. 7174 // 7175 // Solidity: function revokeRole(bytes32 role, address account) returns() 7176 func (_MinterAccess *MinterAccessTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { 7177 return _MinterAccess.contract.Transact(opts, "revokeRole", role, account) 7178 } 7179 7180 // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. 7181 // 7182 // Solidity: function revokeRole(bytes32 role, address account) returns() 7183 func (_MinterAccess *MinterAccessSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { 7184 return _MinterAccess.Contract.RevokeRole(&_MinterAccess.TransactOpts, role, account) 7185 } 7186 7187 // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. 7188 // 7189 // Solidity: function revokeRole(bytes32 role, address account) returns() 7190 func (_MinterAccess *MinterAccessTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { 7191 return _MinterAccess.Contract.RevokeRole(&_MinterAccess.TransactOpts, role, account) 7192 } 7193 7194 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 7195 // 7196 // Solidity: function transferOwnership(address newOwner) returns() 7197 func (_MinterAccess *MinterAccessTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 7198 return _MinterAccess.contract.Transact(opts, "transferOwnership", newOwner) 7199 } 7200 7201 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 7202 // 7203 // Solidity: function transferOwnership(address newOwner) returns() 7204 func (_MinterAccess *MinterAccessSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 7205 return _MinterAccess.Contract.TransferOwnership(&_MinterAccess.TransactOpts, newOwner) 7206 } 7207 7208 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 7209 // 7210 // Solidity: function transferOwnership(address newOwner) returns() 7211 func (_MinterAccess *MinterAccessTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 7212 return _MinterAccess.Contract.TransferOwnership(&_MinterAccess.TransactOpts, newOwner) 7213 } 7214 7215 // MinterAccessOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the MinterAccess contract. 7216 type MinterAccessOwnershipTransferredIterator struct { 7217 Event *MinterAccessOwnershipTransferred // Event containing the contract specifics and raw log 7218 7219 contract *bind.BoundContract // Generic contract to use for unpacking event data 7220 event string // Event name to use for unpacking event data 7221 7222 logs chan types.Log // Log channel receiving the found contract events 7223 sub ethereum.Subscription // Subscription for errors, completion and termination 7224 done bool // Whether the subscription completed delivering logs 7225 fail error // Occurred error to stop iteration 7226 } 7227 7228 // Next advances the iterator to the subsequent event, returning whether there 7229 // are any more events found. In case of a retrieval or parsing error, false is 7230 // returned and Error() can be queried for the exact failure. 7231 func (it *MinterAccessOwnershipTransferredIterator) Next() bool { 7232 // If the iterator failed, stop iterating 7233 if it.fail != nil { 7234 return false 7235 } 7236 // If the iterator completed, deliver directly whatever's available 7237 if it.done { 7238 select { 7239 case log := <-it.logs: 7240 it.Event = new(MinterAccessOwnershipTransferred) 7241 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7242 it.fail = err 7243 return false 7244 } 7245 it.Event.Raw = log 7246 return true 7247 7248 default: 7249 return false 7250 } 7251 } 7252 // Iterator still in progress, wait for either a data or an error event 7253 select { 7254 case log := <-it.logs: 7255 it.Event = new(MinterAccessOwnershipTransferred) 7256 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7257 it.fail = err 7258 return false 7259 } 7260 it.Event.Raw = log 7261 return true 7262 7263 case err := <-it.sub.Err(): 7264 it.done = true 7265 it.fail = err 7266 return it.Next() 7267 } 7268 } 7269 7270 // Error returns any retrieval or parsing error occurred during filtering. 7271 func (it *MinterAccessOwnershipTransferredIterator) Error() error { 7272 return it.fail 7273 } 7274 7275 // Close terminates the iteration process, releasing any pending underlying 7276 // resources. 7277 func (it *MinterAccessOwnershipTransferredIterator) Close() error { 7278 it.sub.Unsubscribe() 7279 return nil 7280 } 7281 7282 // MinterAccessOwnershipTransferred represents a OwnershipTransferred event raised by the MinterAccess contract. 7283 type MinterAccessOwnershipTransferred struct { 7284 PreviousOwner common.Address 7285 NewOwner common.Address 7286 Raw types.Log // Blockchain specific contextual infos 7287 } 7288 7289 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 7290 // 7291 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 7292 func (_MinterAccess *MinterAccessFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*MinterAccessOwnershipTransferredIterator, error) { 7293 7294 var previousOwnerRule []interface{} 7295 for _, previousOwnerItem := range previousOwner { 7296 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 7297 } 7298 var newOwnerRule []interface{} 7299 for _, newOwnerItem := range newOwner { 7300 newOwnerRule = append(newOwnerRule, newOwnerItem) 7301 } 7302 7303 logs, sub, err := _MinterAccess.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 7304 if err != nil { 7305 return nil, err 7306 } 7307 return &MinterAccessOwnershipTransferredIterator{contract: _MinterAccess.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 7308 } 7309 7310 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 7311 // 7312 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 7313 func (_MinterAccess *MinterAccessFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *MinterAccessOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 7314 7315 var previousOwnerRule []interface{} 7316 for _, previousOwnerItem := range previousOwner { 7317 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 7318 } 7319 var newOwnerRule []interface{} 7320 for _, newOwnerItem := range newOwner { 7321 newOwnerRule = append(newOwnerRule, newOwnerItem) 7322 } 7323 7324 logs, sub, err := _MinterAccess.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 7325 if err != nil { 7326 return nil, err 7327 } 7328 return event.NewSubscription(func(quit <-chan struct{}) error { 7329 defer sub.Unsubscribe() 7330 for { 7331 select { 7332 case log := <-logs: 7333 // New log arrived, parse the event and forward to the user 7334 event := new(MinterAccessOwnershipTransferred) 7335 if err := _MinterAccess.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 7336 return err 7337 } 7338 event.Raw = log 7339 7340 select { 7341 case sink <- event: 7342 case err := <-sub.Err(): 7343 return err 7344 case <-quit: 7345 return nil 7346 } 7347 case err := <-sub.Err(): 7348 return err 7349 case <-quit: 7350 return nil 7351 } 7352 } 7353 }), nil 7354 } 7355 7356 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 7357 // 7358 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 7359 func (_MinterAccess *MinterAccessFilterer) ParseOwnershipTransferred(log types.Log) (*MinterAccessOwnershipTransferred, error) { 7360 event := new(MinterAccessOwnershipTransferred) 7361 if err := _MinterAccess.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 7362 return nil, err 7363 } 7364 event.Raw = log 7365 return event, nil 7366 } 7367 7368 // MinterAccessRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the MinterAccess contract. 7369 type MinterAccessRoleGrantedIterator struct { 7370 Event *MinterAccessRoleGranted // Event containing the contract specifics and raw log 7371 7372 contract *bind.BoundContract // Generic contract to use for unpacking event data 7373 event string // Event name to use for unpacking event data 7374 7375 logs chan types.Log // Log channel receiving the found contract events 7376 sub ethereum.Subscription // Subscription for errors, completion and termination 7377 done bool // Whether the subscription completed delivering logs 7378 fail error // Occurred error to stop iteration 7379 } 7380 7381 // Next advances the iterator to the subsequent event, returning whether there 7382 // are any more events found. In case of a retrieval or parsing error, false is 7383 // returned and Error() can be queried for the exact failure. 7384 func (it *MinterAccessRoleGrantedIterator) Next() bool { 7385 // If the iterator failed, stop iterating 7386 if it.fail != nil { 7387 return false 7388 } 7389 // If the iterator completed, deliver directly whatever's available 7390 if it.done { 7391 select { 7392 case log := <-it.logs: 7393 it.Event = new(MinterAccessRoleGranted) 7394 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7395 it.fail = err 7396 return false 7397 } 7398 it.Event.Raw = log 7399 return true 7400 7401 default: 7402 return false 7403 } 7404 } 7405 // Iterator still in progress, wait for either a data or an error event 7406 select { 7407 case log := <-it.logs: 7408 it.Event = new(MinterAccessRoleGranted) 7409 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7410 it.fail = err 7411 return false 7412 } 7413 it.Event.Raw = log 7414 return true 7415 7416 case err := <-it.sub.Err(): 7417 it.done = true 7418 it.fail = err 7419 return it.Next() 7420 } 7421 } 7422 7423 // Error returns any retrieval or parsing error occurred during filtering. 7424 func (it *MinterAccessRoleGrantedIterator) Error() error { 7425 return it.fail 7426 } 7427 7428 // Close terminates the iteration process, releasing any pending underlying 7429 // resources. 7430 func (it *MinterAccessRoleGrantedIterator) Close() error { 7431 it.sub.Unsubscribe() 7432 return nil 7433 } 7434 7435 // MinterAccessRoleGranted represents a RoleGranted event raised by the MinterAccess contract. 7436 type MinterAccessRoleGranted struct { 7437 Role [32]byte 7438 Account common.Address 7439 Sender common.Address 7440 Raw types.Log // Blockchain specific contextual infos 7441 } 7442 7443 // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. 7444 // 7445 // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) 7446 func (_MinterAccess *MinterAccessFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*MinterAccessRoleGrantedIterator, error) { 7447 7448 var roleRule []interface{} 7449 for _, roleItem := range role { 7450 roleRule = append(roleRule, roleItem) 7451 } 7452 var accountRule []interface{} 7453 for _, accountItem := range account { 7454 accountRule = append(accountRule, accountItem) 7455 } 7456 var senderRule []interface{} 7457 for _, senderItem := range sender { 7458 senderRule = append(senderRule, senderItem) 7459 } 7460 7461 logs, sub, err := _MinterAccess.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 7462 if err != nil { 7463 return nil, err 7464 } 7465 return &MinterAccessRoleGrantedIterator{contract: _MinterAccess.contract, event: "RoleGranted", logs: logs, sub: sub}, nil 7466 } 7467 7468 // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. 7469 // 7470 // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) 7471 func (_MinterAccess *MinterAccessFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *MinterAccessRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { 7472 7473 var roleRule []interface{} 7474 for _, roleItem := range role { 7475 roleRule = append(roleRule, roleItem) 7476 } 7477 var accountRule []interface{} 7478 for _, accountItem := range account { 7479 accountRule = append(accountRule, accountItem) 7480 } 7481 var senderRule []interface{} 7482 for _, senderItem := range sender { 7483 senderRule = append(senderRule, senderItem) 7484 } 7485 7486 logs, sub, err := _MinterAccess.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 7487 if err != nil { 7488 return nil, err 7489 } 7490 return event.NewSubscription(func(quit <-chan struct{}) error { 7491 defer sub.Unsubscribe() 7492 for { 7493 select { 7494 case log := <-logs: 7495 // New log arrived, parse the event and forward to the user 7496 event := new(MinterAccessRoleGranted) 7497 if err := _MinterAccess.contract.UnpackLog(event, "RoleGranted", log); err != nil { 7498 return err 7499 } 7500 event.Raw = log 7501 7502 select { 7503 case sink <- event: 7504 case err := <-sub.Err(): 7505 return err 7506 case <-quit: 7507 return nil 7508 } 7509 case err := <-sub.Err(): 7510 return err 7511 case <-quit: 7512 return nil 7513 } 7514 } 7515 }), nil 7516 } 7517 7518 // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. 7519 // 7520 // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) 7521 func (_MinterAccess *MinterAccessFilterer) ParseRoleGranted(log types.Log) (*MinterAccessRoleGranted, error) { 7522 event := new(MinterAccessRoleGranted) 7523 if err := _MinterAccess.contract.UnpackLog(event, "RoleGranted", log); err != nil { 7524 return nil, err 7525 } 7526 event.Raw = log 7527 return event, nil 7528 } 7529 7530 // MinterAccessRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the MinterAccess contract. 7531 type MinterAccessRoleRevokedIterator struct { 7532 Event *MinterAccessRoleRevoked // Event containing the contract specifics and raw log 7533 7534 contract *bind.BoundContract // Generic contract to use for unpacking event data 7535 event string // Event name to use for unpacking event data 7536 7537 logs chan types.Log // Log channel receiving the found contract events 7538 sub ethereum.Subscription // Subscription for errors, completion and termination 7539 done bool // Whether the subscription completed delivering logs 7540 fail error // Occurred error to stop iteration 7541 } 7542 7543 // Next advances the iterator to the subsequent event, returning whether there 7544 // are any more events found. In case of a retrieval or parsing error, false is 7545 // returned and Error() can be queried for the exact failure. 7546 func (it *MinterAccessRoleRevokedIterator) Next() bool { 7547 // If the iterator failed, stop iterating 7548 if it.fail != nil { 7549 return false 7550 } 7551 // If the iterator completed, deliver directly whatever's available 7552 if it.done { 7553 select { 7554 case log := <-it.logs: 7555 it.Event = new(MinterAccessRoleRevoked) 7556 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7557 it.fail = err 7558 return false 7559 } 7560 it.Event.Raw = log 7561 return true 7562 7563 default: 7564 return false 7565 } 7566 } 7567 // Iterator still in progress, wait for either a data or an error event 7568 select { 7569 case log := <-it.logs: 7570 it.Event = new(MinterAccessRoleRevoked) 7571 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7572 it.fail = err 7573 return false 7574 } 7575 it.Event.Raw = log 7576 return true 7577 7578 case err := <-it.sub.Err(): 7579 it.done = true 7580 it.fail = err 7581 return it.Next() 7582 } 7583 } 7584 7585 // Error returns any retrieval or parsing error occurred during filtering. 7586 func (it *MinterAccessRoleRevokedIterator) Error() error { 7587 return it.fail 7588 } 7589 7590 // Close terminates the iteration process, releasing any pending underlying 7591 // resources. 7592 func (it *MinterAccessRoleRevokedIterator) Close() error { 7593 it.sub.Unsubscribe() 7594 return nil 7595 } 7596 7597 // MinterAccessRoleRevoked represents a RoleRevoked event raised by the MinterAccess contract. 7598 type MinterAccessRoleRevoked struct { 7599 Role [32]byte 7600 Account common.Address 7601 Sender common.Address 7602 Raw types.Log // Blockchain specific contextual infos 7603 } 7604 7605 // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. 7606 // 7607 // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) 7608 func (_MinterAccess *MinterAccessFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*MinterAccessRoleRevokedIterator, error) { 7609 7610 var roleRule []interface{} 7611 for _, roleItem := range role { 7612 roleRule = append(roleRule, roleItem) 7613 } 7614 var accountRule []interface{} 7615 for _, accountItem := range account { 7616 accountRule = append(accountRule, accountItem) 7617 } 7618 var senderRule []interface{} 7619 for _, senderItem := range sender { 7620 senderRule = append(senderRule, senderItem) 7621 } 7622 7623 logs, sub, err := _MinterAccess.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 7624 if err != nil { 7625 return nil, err 7626 } 7627 return &MinterAccessRoleRevokedIterator{contract: _MinterAccess.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil 7628 } 7629 7630 // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. 7631 // 7632 // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) 7633 func (_MinterAccess *MinterAccessFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *MinterAccessRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { 7634 7635 var roleRule []interface{} 7636 for _, roleItem := range role { 7637 roleRule = append(roleRule, roleItem) 7638 } 7639 var accountRule []interface{} 7640 for _, accountItem := range account { 7641 accountRule = append(accountRule, accountItem) 7642 } 7643 var senderRule []interface{} 7644 for _, senderItem := range sender { 7645 senderRule = append(senderRule, senderItem) 7646 } 7647 7648 logs, sub, err := _MinterAccess.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 7649 if err != nil { 7650 return nil, err 7651 } 7652 return event.NewSubscription(func(quit <-chan struct{}) error { 7653 defer sub.Unsubscribe() 7654 for { 7655 select { 7656 case log := <-logs: 7657 // New log arrived, parse the event and forward to the user 7658 event := new(MinterAccessRoleRevoked) 7659 if err := _MinterAccess.contract.UnpackLog(event, "RoleRevoked", log); err != nil { 7660 return err 7661 } 7662 event.Raw = log 7663 7664 select { 7665 case sink <- event: 7666 case err := <-sub.Err(): 7667 return err 7668 case <-quit: 7669 return nil 7670 } 7671 case err := <-sub.Err(): 7672 return err 7673 case <-quit: 7674 return nil 7675 } 7676 } 7677 }), nil 7678 } 7679 7680 // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. 7681 // 7682 // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) 7683 func (_MinterAccess *MinterAccessFilterer) ParseRoleRevoked(log types.Log) (*MinterAccessRoleRevoked, error) { 7684 event := new(MinterAccessRoleRevoked) 7685 if err := _MinterAccess.contract.UnpackLog(event, "RoleRevoked", log); err != nil { 7686 return nil, err 7687 } 7688 event.Raw = log 7689 return event, nil 7690 } 7691 7692 // NFTClientABI is the input ABI used to generate the binding from. 7693 const NFTClientABI = "[{\"inputs\":[],\"name\":\"interfaceIdERC721\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_candidate\",\"type\":\"address\"}],\"name\":\"requireERC721\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nftContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"page\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"rows\",\"type\":\"uint8\"}],\"name\":\"tokensOfOwner\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]" 7694 7695 // NFTClientFuncSigs maps the 4-byte function signature to its string representation. 7696 var NFTClientFuncSigs = map[string]string{ 7697 "40edd555": "interfaceIdERC721()", 7698 "0b1a6d6a": "requireERC721(address)", 7699 "36b7a69c": "tokensOfOwner(address,address,uint8,uint8)", 7700 "dc800b0d": "transferAll(IERC721Enumerable,address,address)", 7701 "40125765": "transferTokens(IERC721Enumerable,address,address,uint256[])", 7702 } 7703 7704 // NFTClientBin is the compiled bytecode used for deploying new contracts. 7705 var NFTClientBin = "0x6107bf610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100615760003560e01c80630b1a6d6a1461006657806336b7a69c1461008e578063401257651461011f57806340edd555146101f0578063dc800b0d14610215575b600080fd5b61008c6004803603602081101561007c57600080fd5b50356001600160a01b031661025a565b005b6100cf600480360360808110156100a457600080fd5b506001600160a01b03813581169160208101359091169060ff6040820135811691606001351661031a565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561010b5781810151838201526020016100f3565b505050509050019250505060405180910390f35b81801561012b57600080fd5b5061008c6004803603608081101561014257600080fd5b6001600160a01b038235811692602081013582169260408201359092169181019060808101606082013564010000000081111561017e57600080fd5b82018360208201111561019057600080fd5b803590602001918460208302840111640100000000831117156101b257600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506104d6945050505050565b6101f86105bb565b604080516001600160e01b03199092168252519081900360200190f35b81801561022157600080fd5b5061008c6004803603606081101561023857600080fd5b506001600160a01b0381358116916020810135821691604090910135166105c6565b604080516301ffc9a760e01b81526380ac58cd60e01b600482015290516001600160a01b038316916301ffc9a7916024808301926020929190829003018186803b1580156102a757600080fd5b505afa1580156102bb573d6000803e3d6000fd5b505050506040513d60208110156102d157600080fd5b5051610317576040805162461bcd60e51b815260206004820152601060248201526f24a9afa727aa2f9b9918afaa27a5a2a760811b604482015290519081900360640190fd5b50565b60606103258561025a565b60008590506000816001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561038257600080fd5b505afa158015610396573d6000803e3d6000fd5b505050506040513d60208110156103ac57600080fd5b5051905060ff8585021660008282116103d3576103ce8284038760ff16610771565b6103d6565b60005b905060608167ffffffffffffffff811180156103f157600080fd5b5060405190808252806020026020018201604052801561041b578160200160208202803683370190505b50905060005b828110156104c85760408051632f745c5960e01b81526001600160a01b038c811660048301528684016024830152915191881691632f745c5991604480820192602092909190829003018186803b15801561047b57600080fd5b505afa15801561048f573d6000803e3d6000fd5b505050506040513d60208110156104a557600080fd5b505182518390839081106104b557fe5b6020908102919091010152600101610421565b509998505050505050505050565b60005b81518110156105b4578181815181106104ee57fe5b602002602001015160001415610503576105b4565b846001600160a01b03166342842e0e858585858151811061052057fe5b60200260200101516040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b15801561059057600080fd5b505af11580156105a4573d6000803e3d6000fd5b5050600190920191506104d99050565b5050505050565b6380ac58cd60e01b81565b6000836001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561061e57600080fd5b505afa158015610632573d6000803e3d6000fd5b505050506040513d602081101561064857600080fd5b505190505b801561076b57836001600160a01b03166342842e0e8484876001600160a01b0316632f745c5988600188036040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156106c557600080fd5b505afa1580156106d9573d6000803e3d6000fd5b505050506040513d60208110156106ef57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b03948516600482015292909316602483015260448201529051606480830192600092919082900301818387803b15801561074657600080fd5b505af115801561075a573d6000803e3d6000fd5b5050600019909201915061064d9050565b50505050565b60008183116107805782610782565b815b939250505056fea2646970667358221220defc145e0d95c16cbb428654ff8a62e070053292ddea66244b14d28eb036ab7864736f6c63430006060033" 7706 7707 // DeployNFTClient deploys a new Ethereum contract, binding an instance of NFTClient to it. 7708 func DeployNFTClient(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *NFTClient, error) { 7709 parsed, err := abi.JSON(strings.NewReader(NFTClientABI)) 7710 if err != nil { 7711 return common.Address{}, nil, nil, err 7712 } 7713 7714 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(NFTClientBin), backend) 7715 if err != nil { 7716 return common.Address{}, nil, nil, err 7717 } 7718 return address, tx, &NFTClient{NFTClientCaller: NFTClientCaller{contract: contract}, NFTClientTransactor: NFTClientTransactor{contract: contract}, NFTClientFilterer: NFTClientFilterer{contract: contract}}, nil 7719 } 7720 7721 // NFTClient is an auto generated Go binding around an Ethereum contract. 7722 type NFTClient struct { 7723 NFTClientCaller // Read-only binding to the contract 7724 NFTClientTransactor // Write-only binding to the contract 7725 NFTClientFilterer // Log filterer for contract events 7726 } 7727 7728 // NFTClientCaller is an auto generated read-only Go binding around an Ethereum contract. 7729 type NFTClientCaller struct { 7730 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7731 } 7732 7733 // NFTClientTransactor is an auto generated write-only Go binding around an Ethereum contract. 7734 type NFTClientTransactor struct { 7735 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7736 } 7737 7738 // NFTClientFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 7739 type NFTClientFilterer struct { 7740 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7741 } 7742 7743 // NFTClientSession is an auto generated Go binding around an Ethereum contract, 7744 // with pre-set call and transact options. 7745 type NFTClientSession struct { 7746 Contract *NFTClient // Generic contract binding to set the session for 7747 CallOpts bind.CallOpts // Call options to use throughout this session 7748 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7749 } 7750 7751 // NFTClientCallerSession is an auto generated read-only Go binding around an Ethereum contract, 7752 // with pre-set call options. 7753 type NFTClientCallerSession struct { 7754 Contract *NFTClientCaller // Generic contract caller binding to set the session for 7755 CallOpts bind.CallOpts // Call options to use throughout this session 7756 } 7757 7758 // NFTClientTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 7759 // with pre-set transact options. 7760 type NFTClientTransactorSession struct { 7761 Contract *NFTClientTransactor // Generic contract transactor binding to set the session for 7762 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7763 } 7764 7765 // NFTClientRaw is an auto generated low-level Go binding around an Ethereum contract. 7766 type NFTClientRaw struct { 7767 Contract *NFTClient // Generic contract binding to access the raw methods on 7768 } 7769 7770 // NFTClientCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 7771 type NFTClientCallerRaw struct { 7772 Contract *NFTClientCaller // Generic read-only contract binding to access the raw methods on 7773 } 7774 7775 // NFTClientTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 7776 type NFTClientTransactorRaw struct { 7777 Contract *NFTClientTransactor // Generic write-only contract binding to access the raw methods on 7778 } 7779 7780 // NewNFTClient creates a new instance of NFTClient, bound to a specific deployed contract. 7781 func NewNFTClient(address common.Address, backend bind.ContractBackend) (*NFTClient, error) { 7782 contract, err := bindNFTClient(address, backend, backend, backend) 7783 if err != nil { 7784 return nil, err 7785 } 7786 return &NFTClient{NFTClientCaller: NFTClientCaller{contract: contract}, NFTClientTransactor: NFTClientTransactor{contract: contract}, NFTClientFilterer: NFTClientFilterer{contract: contract}}, nil 7787 } 7788 7789 // NewNFTClientCaller creates a new read-only instance of NFTClient, bound to a specific deployed contract. 7790 func NewNFTClientCaller(address common.Address, caller bind.ContractCaller) (*NFTClientCaller, error) { 7791 contract, err := bindNFTClient(address, caller, nil, nil) 7792 if err != nil { 7793 return nil, err 7794 } 7795 return &NFTClientCaller{contract: contract}, nil 7796 } 7797 7798 // NewNFTClientTransactor creates a new write-only instance of NFTClient, bound to a specific deployed contract. 7799 func NewNFTClientTransactor(address common.Address, transactor bind.ContractTransactor) (*NFTClientTransactor, error) { 7800 contract, err := bindNFTClient(address, nil, transactor, nil) 7801 if err != nil { 7802 return nil, err 7803 } 7804 return &NFTClientTransactor{contract: contract}, nil 7805 } 7806 7807 // NewNFTClientFilterer creates a new log filterer instance of NFTClient, bound to a specific deployed contract. 7808 func NewNFTClientFilterer(address common.Address, filterer bind.ContractFilterer) (*NFTClientFilterer, error) { 7809 contract, err := bindNFTClient(address, nil, nil, filterer) 7810 if err != nil { 7811 return nil, err 7812 } 7813 return &NFTClientFilterer{contract: contract}, nil 7814 } 7815 7816 // bindNFTClient binds a generic wrapper to an already deployed contract. 7817 func bindNFTClient(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 7818 parsed, err := abi.JSON(strings.NewReader(NFTClientABI)) 7819 if err != nil { 7820 return nil, err 7821 } 7822 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 7823 } 7824 7825 // Call invokes the (constant) contract method with params as input values and 7826 // sets the output to result. The result type might be a single field for simple 7827 // returns, a slice of interfaces for anonymous returns and a struct for named 7828 // returns. 7829 func (_NFTClient *NFTClientRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 7830 return _NFTClient.Contract.NFTClientCaller.contract.Call(opts, result, method, params...) 7831 } 7832 7833 // Transfer initiates a plain transaction to move funds to the contract, calling 7834 // its default method if one is available. 7835 func (_NFTClient *NFTClientRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7836 return _NFTClient.Contract.NFTClientTransactor.contract.Transfer(opts) 7837 } 7838 7839 // Transact invokes the (paid) contract method with params as input values. 7840 func (_NFTClient *NFTClientRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7841 return _NFTClient.Contract.NFTClientTransactor.contract.Transact(opts, method, params...) 7842 } 7843 7844 // Call invokes the (constant) contract method with params as input values and 7845 // sets the output to result. The result type might be a single field for simple 7846 // returns, a slice of interfaces for anonymous returns and a struct for named 7847 // returns. 7848 func (_NFTClient *NFTClientCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 7849 return _NFTClient.Contract.contract.Call(opts, result, method, params...) 7850 } 7851 7852 // Transfer initiates a plain transaction to move funds to the contract, calling 7853 // its default method if one is available. 7854 func (_NFTClient *NFTClientTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7855 return _NFTClient.Contract.contract.Transfer(opts) 7856 } 7857 7858 // Transact invokes the (paid) contract method with params as input values. 7859 func (_NFTClient *NFTClientTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7860 return _NFTClient.Contract.contract.Transact(opts, method, params...) 7861 } 7862 7863 // InterfaceIdERC721 is a free data retrieval call binding the contract method 0x40edd555. 7864 // 7865 // Solidity: function interfaceIdERC721() view returns(bytes4) 7866 func (_NFTClient *NFTClientCaller) InterfaceIdERC721(opts *bind.CallOpts) ([4]byte, error) { 7867 var out []interface{} 7868 err := _NFTClient.contract.Call(opts, &out, "interfaceIdERC721") 7869 7870 if err != nil { 7871 return *new([4]byte), err 7872 } 7873 7874 out0 := *abi.ConvertType(out[0], new([4]byte)).(*[4]byte) 7875 7876 return out0, err 7877 7878 } 7879 7880 // InterfaceIdERC721 is a free data retrieval call binding the contract method 0x40edd555. 7881 // 7882 // Solidity: function interfaceIdERC721() view returns(bytes4) 7883 func (_NFTClient *NFTClientSession) InterfaceIdERC721() ([4]byte, error) { 7884 return _NFTClient.Contract.InterfaceIdERC721(&_NFTClient.CallOpts) 7885 } 7886 7887 // InterfaceIdERC721 is a free data retrieval call binding the contract method 0x40edd555. 7888 // 7889 // Solidity: function interfaceIdERC721() view returns(bytes4) 7890 func (_NFTClient *NFTClientCallerSession) InterfaceIdERC721() ([4]byte, error) { 7891 return _NFTClient.Contract.InterfaceIdERC721(&_NFTClient.CallOpts) 7892 } 7893 7894 // RequireERC721 is a free data retrieval call binding the contract method 0x0b1a6d6a. 7895 // 7896 // Solidity: function requireERC721(address _candidate) view returns() 7897 func (_NFTClient *NFTClientCaller) RequireERC721(opts *bind.CallOpts, _candidate common.Address) error { 7898 var out []interface{} 7899 err := _NFTClient.contract.Call(opts, &out, "requireERC721", _candidate) 7900 7901 if err != nil { 7902 return err 7903 } 7904 7905 return err 7906 7907 } 7908 7909 // RequireERC721 is a free data retrieval call binding the contract method 0x0b1a6d6a. 7910 // 7911 // Solidity: function requireERC721(address _candidate) view returns() 7912 func (_NFTClient *NFTClientSession) RequireERC721(_candidate common.Address) error { 7913 return _NFTClient.Contract.RequireERC721(&_NFTClient.CallOpts, _candidate) 7914 } 7915 7916 // RequireERC721 is a free data retrieval call binding the contract method 0x0b1a6d6a. 7917 // 7918 // Solidity: function requireERC721(address _candidate) view returns() 7919 func (_NFTClient *NFTClientCallerSession) RequireERC721(_candidate common.Address) error { 7920 return _NFTClient.Contract.RequireERC721(&_NFTClient.CallOpts, _candidate) 7921 } 7922 7923 // TokensOfOwner is a free data retrieval call binding the contract method 0x36b7a69c. 7924 // 7925 // Solidity: function tokensOfOwner(address _nftContract, address owner, uint8 page, uint8 rows) view returns(uint256[]) 7926 func (_NFTClient *NFTClientCaller) TokensOfOwner(opts *bind.CallOpts, _nftContract common.Address, owner common.Address, page uint8, rows uint8) ([]*big.Int, error) { 7927 var out []interface{} 7928 err := _NFTClient.contract.Call(opts, &out, "tokensOfOwner", _nftContract, owner, page, rows) 7929 7930 if err != nil { 7931 return *new([]*big.Int), err 7932 } 7933 7934 out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) 7935 7936 return out0, err 7937 7938 } 7939 7940 // TokensOfOwner is a free data retrieval call binding the contract method 0x36b7a69c. 7941 // 7942 // Solidity: function tokensOfOwner(address _nftContract, address owner, uint8 page, uint8 rows) view returns(uint256[]) 7943 func (_NFTClient *NFTClientSession) TokensOfOwner(_nftContract common.Address, owner common.Address, page uint8, rows uint8) ([]*big.Int, error) { 7944 return _NFTClient.Contract.TokensOfOwner(&_NFTClient.CallOpts, _nftContract, owner, page, rows) 7945 } 7946 7947 // TokensOfOwner is a free data retrieval call binding the contract method 0x36b7a69c. 7948 // 7949 // Solidity: function tokensOfOwner(address _nftContract, address owner, uint8 page, uint8 rows) view returns(uint256[]) 7950 func (_NFTClient *NFTClientCallerSession) TokensOfOwner(_nftContract common.Address, owner common.Address, page uint8, rows uint8) ([]*big.Int, error) { 7951 return _NFTClient.Contract.TokensOfOwner(&_NFTClient.CallOpts, _nftContract, owner, page, rows) 7952 } 7953 7954 // OwnableABI is the input ABI used to generate the binding from. 7955 const OwnableABI = "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\"}]" 7956 7957 // OwnableFuncSigs maps the 4-byte function signature to its string representation. 7958 var OwnableFuncSigs = map[string]string{ 7959 "8da5cb5b": "owner()", 7960 "715018a6": "renounceOwnership()", 7961 "f2fde38b": "transferOwnership(address)", 7962 } 7963 7964 // Ownable is an auto generated Go binding around an Ethereum contract. 7965 type Ownable struct { 7966 OwnableCaller // Read-only binding to the contract 7967 OwnableTransactor // Write-only binding to the contract 7968 OwnableFilterer // Log filterer for contract events 7969 } 7970 7971 // OwnableCaller is an auto generated read-only Go binding around an Ethereum contract. 7972 type OwnableCaller struct { 7973 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7974 } 7975 7976 // OwnableTransactor is an auto generated write-only Go binding around an Ethereum contract. 7977 type OwnableTransactor struct { 7978 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7979 } 7980 7981 // OwnableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 7982 type OwnableFilterer struct { 7983 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7984 } 7985 7986 // OwnableSession is an auto generated Go binding around an Ethereum contract, 7987 // with pre-set call and transact options. 7988 type OwnableSession struct { 7989 Contract *Ownable // Generic contract binding to set the session for 7990 CallOpts bind.CallOpts // Call options to use throughout this session 7991 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7992 } 7993 7994 // OwnableCallerSession is an auto generated read-only Go binding around an Ethereum contract, 7995 // with pre-set call options. 7996 type OwnableCallerSession struct { 7997 Contract *OwnableCaller // Generic contract caller binding to set the session for 7998 CallOpts bind.CallOpts // Call options to use throughout this session 7999 } 8000 8001 // OwnableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 8002 // with pre-set transact options. 8003 type OwnableTransactorSession struct { 8004 Contract *OwnableTransactor // Generic contract transactor binding to set the session for 8005 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8006 } 8007 8008 // OwnableRaw is an auto generated low-level Go binding around an Ethereum contract. 8009 type OwnableRaw struct { 8010 Contract *Ownable // Generic contract binding to access the raw methods on 8011 } 8012 8013 // OwnableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 8014 type OwnableCallerRaw struct { 8015 Contract *OwnableCaller // Generic read-only contract binding to access the raw methods on 8016 } 8017 8018 // OwnableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 8019 type OwnableTransactorRaw struct { 8020 Contract *OwnableTransactor // Generic write-only contract binding to access the raw methods on 8021 } 8022 8023 // NewOwnable creates a new instance of Ownable, bound to a specific deployed contract. 8024 func NewOwnable(address common.Address, backend bind.ContractBackend) (*Ownable, error) { 8025 contract, err := bindOwnable(address, backend, backend, backend) 8026 if err != nil { 8027 return nil, err 8028 } 8029 return &Ownable{OwnableCaller: OwnableCaller{contract: contract}, OwnableTransactor: OwnableTransactor{contract: contract}, OwnableFilterer: OwnableFilterer{contract: contract}}, nil 8030 } 8031 8032 // NewOwnableCaller creates a new read-only instance of Ownable, bound to a specific deployed contract. 8033 func NewOwnableCaller(address common.Address, caller bind.ContractCaller) (*OwnableCaller, error) { 8034 contract, err := bindOwnable(address, caller, nil, nil) 8035 if err != nil { 8036 return nil, err 8037 } 8038 return &OwnableCaller{contract: contract}, nil 8039 } 8040 8041 // NewOwnableTransactor creates a new write-only instance of Ownable, bound to a specific deployed contract. 8042 func NewOwnableTransactor(address common.Address, transactor bind.ContractTransactor) (*OwnableTransactor, error) { 8043 contract, err := bindOwnable(address, nil, transactor, nil) 8044 if err != nil { 8045 return nil, err 8046 } 8047 return &OwnableTransactor{contract: contract}, nil 8048 } 8049 8050 // NewOwnableFilterer creates a new log filterer instance of Ownable, bound to a specific deployed contract. 8051 func NewOwnableFilterer(address common.Address, filterer bind.ContractFilterer) (*OwnableFilterer, error) { 8052 contract, err := bindOwnable(address, nil, nil, filterer) 8053 if err != nil { 8054 return nil, err 8055 } 8056 return &OwnableFilterer{contract: contract}, nil 8057 } 8058 8059 // bindOwnable binds a generic wrapper to an already deployed contract. 8060 func bindOwnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 8061 parsed, err := abi.JSON(strings.NewReader(OwnableABI)) 8062 if err != nil { 8063 return nil, err 8064 } 8065 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 8066 } 8067 8068 // Call invokes the (constant) contract method with params as input values and 8069 // sets the output to result. The result type might be a single field for simple 8070 // returns, a slice of interfaces for anonymous returns and a struct for named 8071 // returns. 8072 func (_Ownable *OwnableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 8073 return _Ownable.Contract.OwnableCaller.contract.Call(opts, result, method, params...) 8074 } 8075 8076 // Transfer initiates a plain transaction to move funds to the contract, calling 8077 // its default method if one is available. 8078 func (_Ownable *OwnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8079 return _Ownable.Contract.OwnableTransactor.contract.Transfer(opts) 8080 } 8081 8082 // Transact invokes the (paid) contract method with params as input values. 8083 func (_Ownable *OwnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8084 return _Ownable.Contract.OwnableTransactor.contract.Transact(opts, method, params...) 8085 } 8086 8087 // Call invokes the (constant) contract method with params as input values and 8088 // sets the output to result. The result type might be a single field for simple 8089 // returns, a slice of interfaces for anonymous returns and a struct for named 8090 // returns. 8091 func (_Ownable *OwnableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 8092 return _Ownable.Contract.contract.Call(opts, result, method, params...) 8093 } 8094 8095 // Transfer initiates a plain transaction to move funds to the contract, calling 8096 // its default method if one is available. 8097 func (_Ownable *OwnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8098 return _Ownable.Contract.contract.Transfer(opts) 8099 } 8100 8101 // Transact invokes the (paid) contract method with params as input values. 8102 func (_Ownable *OwnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8103 return _Ownable.Contract.contract.Transact(opts, method, params...) 8104 } 8105 8106 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 8107 // 8108 // Solidity: function owner() view returns(address) 8109 func (_Ownable *OwnableCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 8110 var out []interface{} 8111 err := _Ownable.contract.Call(opts, &out, "owner") 8112 8113 if err != nil { 8114 return *new(common.Address), err 8115 } 8116 8117 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 8118 8119 return out0, err 8120 8121 } 8122 8123 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 8124 // 8125 // Solidity: function owner() view returns(address) 8126 func (_Ownable *OwnableSession) Owner() (common.Address, error) { 8127 return _Ownable.Contract.Owner(&_Ownable.CallOpts) 8128 } 8129 8130 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 8131 // 8132 // Solidity: function owner() view returns(address) 8133 func (_Ownable *OwnableCallerSession) Owner() (common.Address, error) { 8134 return _Ownable.Contract.Owner(&_Ownable.CallOpts) 8135 } 8136 8137 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 8138 // 8139 // Solidity: function renounceOwnership() returns() 8140 func (_Ownable *OwnableTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 8141 return _Ownable.contract.Transact(opts, "renounceOwnership") 8142 } 8143 8144 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 8145 // 8146 // Solidity: function renounceOwnership() returns() 8147 func (_Ownable *OwnableSession) RenounceOwnership() (*types.Transaction, error) { 8148 return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) 8149 } 8150 8151 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 8152 // 8153 // Solidity: function renounceOwnership() returns() 8154 func (_Ownable *OwnableTransactorSession) RenounceOwnership() (*types.Transaction, error) { 8155 return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) 8156 } 8157 8158 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 8159 // 8160 // Solidity: function transferOwnership(address newOwner) returns() 8161 func (_Ownable *OwnableTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 8162 return _Ownable.contract.Transact(opts, "transferOwnership", newOwner) 8163 } 8164 8165 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 8166 // 8167 // Solidity: function transferOwnership(address newOwner) returns() 8168 func (_Ownable *OwnableSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 8169 return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) 8170 } 8171 8172 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 8173 // 8174 // Solidity: function transferOwnership(address newOwner) returns() 8175 func (_Ownable *OwnableTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 8176 return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) 8177 } 8178 8179 // 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. 8180 type OwnableOwnershipTransferredIterator struct { 8181 Event *OwnableOwnershipTransferred // Event containing the contract specifics and raw log 8182 8183 contract *bind.BoundContract // Generic contract to use for unpacking event data 8184 event string // Event name to use for unpacking event data 8185 8186 logs chan types.Log // Log channel receiving the found contract events 8187 sub ethereum.Subscription // Subscription for errors, completion and termination 8188 done bool // Whether the subscription completed delivering logs 8189 fail error // Occurred error to stop iteration 8190 } 8191 8192 // Next advances the iterator to the subsequent event, returning whether there 8193 // are any more events found. In case of a retrieval or parsing error, false is 8194 // returned and Error() can be queried for the exact failure. 8195 func (it *OwnableOwnershipTransferredIterator) Next() bool { 8196 // If the iterator failed, stop iterating 8197 if it.fail != nil { 8198 return false 8199 } 8200 // If the iterator completed, deliver directly whatever's available 8201 if it.done { 8202 select { 8203 case log := <-it.logs: 8204 it.Event = new(OwnableOwnershipTransferred) 8205 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8206 it.fail = err 8207 return false 8208 } 8209 it.Event.Raw = log 8210 return true 8211 8212 default: 8213 return false 8214 } 8215 } 8216 // Iterator still in progress, wait for either a data or an error event 8217 select { 8218 case log := <-it.logs: 8219 it.Event = new(OwnableOwnershipTransferred) 8220 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8221 it.fail = err 8222 return false 8223 } 8224 it.Event.Raw = log 8225 return true 8226 8227 case err := <-it.sub.Err(): 8228 it.done = true 8229 it.fail = err 8230 return it.Next() 8231 } 8232 } 8233 8234 // Error returns any retrieval or parsing error occurred during filtering. 8235 func (it *OwnableOwnershipTransferredIterator) Error() error { 8236 return it.fail 8237 } 8238 8239 // Close terminates the iteration process, releasing any pending underlying 8240 // resources. 8241 func (it *OwnableOwnershipTransferredIterator) Close() error { 8242 it.sub.Unsubscribe() 8243 return nil 8244 } 8245 8246 // OwnableOwnershipTransferred represents a OwnershipTransferred event raised by the Ownable contract. 8247 type OwnableOwnershipTransferred struct { 8248 PreviousOwner common.Address 8249 NewOwner common.Address 8250 Raw types.Log // Blockchain specific contextual infos 8251 } 8252 8253 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 8254 // 8255 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 8256 func (_Ownable *OwnableFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*OwnableOwnershipTransferredIterator, error) { 8257 8258 var previousOwnerRule []interface{} 8259 for _, previousOwnerItem := range previousOwner { 8260 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 8261 } 8262 var newOwnerRule []interface{} 8263 for _, newOwnerItem := range newOwner { 8264 newOwnerRule = append(newOwnerRule, newOwnerItem) 8265 } 8266 8267 logs, sub, err := _Ownable.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 8268 if err != nil { 8269 return nil, err 8270 } 8271 return &OwnableOwnershipTransferredIterator{contract: _Ownable.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 8272 } 8273 8274 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 8275 // 8276 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 8277 func (_Ownable *OwnableFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *OwnableOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 8278 8279 var previousOwnerRule []interface{} 8280 for _, previousOwnerItem := range previousOwner { 8281 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 8282 } 8283 var newOwnerRule []interface{} 8284 for _, newOwnerItem := range newOwner { 8285 newOwnerRule = append(newOwnerRule, newOwnerItem) 8286 } 8287 8288 logs, sub, err := _Ownable.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 8289 if err != nil { 8290 return nil, err 8291 } 8292 return event.NewSubscription(func(quit <-chan struct{}) error { 8293 defer sub.Unsubscribe() 8294 for { 8295 select { 8296 case log := <-logs: 8297 // New log arrived, parse the event and forward to the user 8298 event := new(OwnableOwnershipTransferred) 8299 if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 8300 return err 8301 } 8302 event.Raw = log 8303 8304 select { 8305 case sink <- event: 8306 case err := <-sub.Err(): 8307 return err 8308 case <-quit: 8309 return nil 8310 } 8311 case err := <-sub.Err(): 8312 return err 8313 case <-quit: 8314 return nil 8315 } 8316 } 8317 }), nil 8318 } 8319 8320 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 8321 // 8322 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 8323 func (_Ownable *OwnableFilterer) ParseOwnershipTransferred(log types.Log) (*OwnableOwnershipTransferred, error) { 8324 event := new(OwnableOwnershipTransferred) 8325 if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 8326 return nil, err 8327 } 8328 event.Raw = log 8329 return event, nil 8330 } 8331 8332 // RelayRecipientABI is the input ABI used to generate the binding from. 8333 const RelayRecipientABI = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"relayAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"blockRelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRelayAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 8334 8335 // RelayRecipientFuncSigs maps the 4-byte function signature to its string representation. 8336 var RelayRecipientFuncSigs = map[string]string{ 8337 "309e11fc": "blockRelay()", 8338 "32deedc6": "getRelayAddress()", 8339 "8da5cb5b": "owner()", 8340 "715018a6": "renounceOwnership()", 8341 "f2fde38b": "transferOwnership(address)", 8342 } 8343 8344 // RelayRecipientBin is the compiled bytecode used for deploying new contracts. 8345 var RelayRecipientBin = "0x608060405234801561001057600080fd5b506040516105903803806105908339818101604052602081101561003357600080fd5b505160006100486001600160e01b0361011216565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160a01b0381166100ed576040805162461bcd60e51b815260206004820181905260248201527f437573746f6d2072656c61792061646472657373206973207265717569726564604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055610192565b6001546000906001600160a01b0316331461012e575033610142565b61013f6001600160e01b0361014516565b90505b90565b600060606000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b031692915050565b6103ef806101a16000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063309e11fc1461005c57806332deedc614610066578063715018a61461008a5780638da5cb5b14610092578063f2fde38b1461009a575b600080fd5b6100646100c0565b005b61006e61013e565b604080516001600160a01b039092168252519081900360200190f35b61006461014e565b61006e610202565b610064600480360360208110156100b057600080fd5b50356001600160a01b0316610211565b6100c861031b565b6000546001600160a01b0390811691161461012a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600180546001600160a01b03191630179055565b6001546001600160a01b03165b90565b61015661031b565b6000546001600160a01b039081169116146101b8576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b61021961031b565b6000546001600160a01b0390811691161461027b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166102c05760405162461bcd60e51b81526004018080602001828103825260268152602001806103946026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001546000906001600160a01b0316331461033757503361014b565b61033f610346565b905061014b565b600060606000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b03169291505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a26469706673582212200ffa9ae5da0047e9678bc345f517b001aa003dfc6c0db4a3360d5d60a60a540d64736f6c63430006060033" 8346 8347 // DeployRelayRecipient deploys a new Ethereum contract, binding an instance of RelayRecipient to it. 8348 func DeployRelayRecipient(auth *bind.TransactOpts, backend bind.ContractBackend, relayAddress common.Address) (common.Address, *types.Transaction, *RelayRecipient, error) { 8349 parsed, err := abi.JSON(strings.NewReader(RelayRecipientABI)) 8350 if err != nil { 8351 return common.Address{}, nil, nil, err 8352 } 8353 8354 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(RelayRecipientBin), backend, relayAddress) 8355 if err != nil { 8356 return common.Address{}, nil, nil, err 8357 } 8358 return address, tx, &RelayRecipient{RelayRecipientCaller: RelayRecipientCaller{contract: contract}, RelayRecipientTransactor: RelayRecipientTransactor{contract: contract}, RelayRecipientFilterer: RelayRecipientFilterer{contract: contract}}, nil 8359 } 8360 8361 // RelayRecipient is an auto generated Go binding around an Ethereum contract. 8362 type RelayRecipient struct { 8363 RelayRecipientCaller // Read-only binding to the contract 8364 RelayRecipientTransactor // Write-only binding to the contract 8365 RelayRecipientFilterer // Log filterer for contract events 8366 } 8367 8368 // RelayRecipientCaller is an auto generated read-only Go binding around an Ethereum contract. 8369 type RelayRecipientCaller struct { 8370 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8371 } 8372 8373 // RelayRecipientTransactor is an auto generated write-only Go binding around an Ethereum contract. 8374 type RelayRecipientTransactor struct { 8375 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8376 } 8377 8378 // RelayRecipientFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 8379 type RelayRecipientFilterer struct { 8380 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8381 } 8382 8383 // RelayRecipientSession is an auto generated Go binding around an Ethereum contract, 8384 // with pre-set call and transact options. 8385 type RelayRecipientSession struct { 8386 Contract *RelayRecipient // Generic contract binding to set the session for 8387 CallOpts bind.CallOpts // Call options to use throughout this session 8388 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8389 } 8390 8391 // RelayRecipientCallerSession is an auto generated read-only Go binding around an Ethereum contract, 8392 // with pre-set call options. 8393 type RelayRecipientCallerSession struct { 8394 Contract *RelayRecipientCaller // Generic contract caller binding to set the session for 8395 CallOpts bind.CallOpts // Call options to use throughout this session 8396 } 8397 8398 // RelayRecipientTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 8399 // with pre-set transact options. 8400 type RelayRecipientTransactorSession struct { 8401 Contract *RelayRecipientTransactor // Generic contract transactor binding to set the session for 8402 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8403 } 8404 8405 // RelayRecipientRaw is an auto generated low-level Go binding around an Ethereum contract. 8406 type RelayRecipientRaw struct { 8407 Contract *RelayRecipient // Generic contract binding to access the raw methods on 8408 } 8409 8410 // RelayRecipientCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 8411 type RelayRecipientCallerRaw struct { 8412 Contract *RelayRecipientCaller // Generic read-only contract binding to access the raw methods on 8413 } 8414 8415 // RelayRecipientTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 8416 type RelayRecipientTransactorRaw struct { 8417 Contract *RelayRecipientTransactor // Generic write-only contract binding to access the raw methods on 8418 } 8419 8420 // NewRelayRecipient creates a new instance of RelayRecipient, bound to a specific deployed contract. 8421 func NewRelayRecipient(address common.Address, backend bind.ContractBackend) (*RelayRecipient, error) { 8422 contract, err := bindRelayRecipient(address, backend, backend, backend) 8423 if err != nil { 8424 return nil, err 8425 } 8426 return &RelayRecipient{RelayRecipientCaller: RelayRecipientCaller{contract: contract}, RelayRecipientTransactor: RelayRecipientTransactor{contract: contract}, RelayRecipientFilterer: RelayRecipientFilterer{contract: contract}}, nil 8427 } 8428 8429 // NewRelayRecipientCaller creates a new read-only instance of RelayRecipient, bound to a specific deployed contract. 8430 func NewRelayRecipientCaller(address common.Address, caller bind.ContractCaller) (*RelayRecipientCaller, error) { 8431 contract, err := bindRelayRecipient(address, caller, nil, nil) 8432 if err != nil { 8433 return nil, err 8434 } 8435 return &RelayRecipientCaller{contract: contract}, nil 8436 } 8437 8438 // NewRelayRecipientTransactor creates a new write-only instance of RelayRecipient, bound to a specific deployed contract. 8439 func NewRelayRecipientTransactor(address common.Address, transactor bind.ContractTransactor) (*RelayRecipientTransactor, error) { 8440 contract, err := bindRelayRecipient(address, nil, transactor, nil) 8441 if err != nil { 8442 return nil, err 8443 } 8444 return &RelayRecipientTransactor{contract: contract}, nil 8445 } 8446 8447 // NewRelayRecipientFilterer creates a new log filterer instance of RelayRecipient, bound to a specific deployed contract. 8448 func NewRelayRecipientFilterer(address common.Address, filterer bind.ContractFilterer) (*RelayRecipientFilterer, error) { 8449 contract, err := bindRelayRecipient(address, nil, nil, filterer) 8450 if err != nil { 8451 return nil, err 8452 } 8453 return &RelayRecipientFilterer{contract: contract}, nil 8454 } 8455 8456 // bindRelayRecipient binds a generic wrapper to an already deployed contract. 8457 func bindRelayRecipient(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 8458 parsed, err := abi.JSON(strings.NewReader(RelayRecipientABI)) 8459 if err != nil { 8460 return nil, err 8461 } 8462 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 8463 } 8464 8465 // Call invokes the (constant) contract method with params as input values and 8466 // sets the output to result. The result type might be a single field for simple 8467 // returns, a slice of interfaces for anonymous returns and a struct for named 8468 // returns. 8469 func (_RelayRecipient *RelayRecipientRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 8470 return _RelayRecipient.Contract.RelayRecipientCaller.contract.Call(opts, result, method, params...) 8471 } 8472 8473 // Transfer initiates a plain transaction to move funds to the contract, calling 8474 // its default method if one is available. 8475 func (_RelayRecipient *RelayRecipientRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8476 return _RelayRecipient.Contract.RelayRecipientTransactor.contract.Transfer(opts) 8477 } 8478 8479 // Transact invokes the (paid) contract method with params as input values. 8480 func (_RelayRecipient *RelayRecipientRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8481 return _RelayRecipient.Contract.RelayRecipientTransactor.contract.Transact(opts, method, params...) 8482 } 8483 8484 // Call invokes the (constant) contract method with params as input values and 8485 // sets the output to result. The result type might be a single field for simple 8486 // returns, a slice of interfaces for anonymous returns and a struct for named 8487 // returns. 8488 func (_RelayRecipient *RelayRecipientCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 8489 return _RelayRecipient.Contract.contract.Call(opts, result, method, params...) 8490 } 8491 8492 // Transfer initiates a plain transaction to move funds to the contract, calling 8493 // its default method if one is available. 8494 func (_RelayRecipient *RelayRecipientTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8495 return _RelayRecipient.Contract.contract.Transfer(opts) 8496 } 8497 8498 // Transact invokes the (paid) contract method with params as input values. 8499 func (_RelayRecipient *RelayRecipientTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8500 return _RelayRecipient.Contract.contract.Transact(opts, method, params...) 8501 } 8502 8503 // GetRelayAddress is a free data retrieval call binding the contract method 0x32deedc6. 8504 // 8505 // Solidity: function getRelayAddress() view returns(address) 8506 func (_RelayRecipient *RelayRecipientCaller) GetRelayAddress(opts *bind.CallOpts) (common.Address, error) { 8507 var out []interface{} 8508 err := _RelayRecipient.contract.Call(opts, &out, "getRelayAddress") 8509 8510 if err != nil { 8511 return *new(common.Address), err 8512 } 8513 8514 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 8515 8516 return out0, err 8517 8518 } 8519 8520 // GetRelayAddress is a free data retrieval call binding the contract method 0x32deedc6. 8521 // 8522 // Solidity: function getRelayAddress() view returns(address) 8523 func (_RelayRecipient *RelayRecipientSession) GetRelayAddress() (common.Address, error) { 8524 return _RelayRecipient.Contract.GetRelayAddress(&_RelayRecipient.CallOpts) 8525 } 8526 8527 // GetRelayAddress is a free data retrieval call binding the contract method 0x32deedc6. 8528 // 8529 // Solidity: function getRelayAddress() view returns(address) 8530 func (_RelayRecipient *RelayRecipientCallerSession) GetRelayAddress() (common.Address, error) { 8531 return _RelayRecipient.Contract.GetRelayAddress(&_RelayRecipient.CallOpts) 8532 } 8533 8534 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 8535 // 8536 // Solidity: function owner() view returns(address) 8537 func (_RelayRecipient *RelayRecipientCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 8538 var out []interface{} 8539 err := _RelayRecipient.contract.Call(opts, &out, "owner") 8540 8541 if err != nil { 8542 return *new(common.Address), err 8543 } 8544 8545 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 8546 8547 return out0, err 8548 8549 } 8550 8551 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 8552 // 8553 // Solidity: function owner() view returns(address) 8554 func (_RelayRecipient *RelayRecipientSession) Owner() (common.Address, error) { 8555 return _RelayRecipient.Contract.Owner(&_RelayRecipient.CallOpts) 8556 } 8557 8558 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 8559 // 8560 // Solidity: function owner() view returns(address) 8561 func (_RelayRecipient *RelayRecipientCallerSession) Owner() (common.Address, error) { 8562 return _RelayRecipient.Contract.Owner(&_RelayRecipient.CallOpts) 8563 } 8564 8565 // BlockRelay is a paid mutator transaction binding the contract method 0x309e11fc. 8566 // 8567 // Solidity: function blockRelay() returns() 8568 func (_RelayRecipient *RelayRecipientTransactor) BlockRelay(opts *bind.TransactOpts) (*types.Transaction, error) { 8569 return _RelayRecipient.contract.Transact(opts, "blockRelay") 8570 } 8571 8572 // BlockRelay is a paid mutator transaction binding the contract method 0x309e11fc. 8573 // 8574 // Solidity: function blockRelay() returns() 8575 func (_RelayRecipient *RelayRecipientSession) BlockRelay() (*types.Transaction, error) { 8576 return _RelayRecipient.Contract.BlockRelay(&_RelayRecipient.TransactOpts) 8577 } 8578 8579 // BlockRelay is a paid mutator transaction binding the contract method 0x309e11fc. 8580 // 8581 // Solidity: function blockRelay() returns() 8582 func (_RelayRecipient *RelayRecipientTransactorSession) BlockRelay() (*types.Transaction, error) { 8583 return _RelayRecipient.Contract.BlockRelay(&_RelayRecipient.TransactOpts) 8584 } 8585 8586 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 8587 // 8588 // Solidity: function renounceOwnership() returns() 8589 func (_RelayRecipient *RelayRecipientTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 8590 return _RelayRecipient.contract.Transact(opts, "renounceOwnership") 8591 } 8592 8593 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 8594 // 8595 // Solidity: function renounceOwnership() returns() 8596 func (_RelayRecipient *RelayRecipientSession) RenounceOwnership() (*types.Transaction, error) { 8597 return _RelayRecipient.Contract.RenounceOwnership(&_RelayRecipient.TransactOpts) 8598 } 8599 8600 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 8601 // 8602 // Solidity: function renounceOwnership() returns() 8603 func (_RelayRecipient *RelayRecipientTransactorSession) RenounceOwnership() (*types.Transaction, error) { 8604 return _RelayRecipient.Contract.RenounceOwnership(&_RelayRecipient.TransactOpts) 8605 } 8606 8607 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 8608 // 8609 // Solidity: function transferOwnership(address newOwner) returns() 8610 func (_RelayRecipient *RelayRecipientTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 8611 return _RelayRecipient.contract.Transact(opts, "transferOwnership", newOwner) 8612 } 8613 8614 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 8615 // 8616 // Solidity: function transferOwnership(address newOwner) returns() 8617 func (_RelayRecipient *RelayRecipientSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 8618 return _RelayRecipient.Contract.TransferOwnership(&_RelayRecipient.TransactOpts, newOwner) 8619 } 8620 8621 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 8622 // 8623 // Solidity: function transferOwnership(address newOwner) returns() 8624 func (_RelayRecipient *RelayRecipientTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 8625 return _RelayRecipient.Contract.TransferOwnership(&_RelayRecipient.TransactOpts, newOwner) 8626 } 8627 8628 // RelayRecipientOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the RelayRecipient contract. 8629 type RelayRecipientOwnershipTransferredIterator struct { 8630 Event *RelayRecipientOwnershipTransferred // Event containing the contract specifics and raw log 8631 8632 contract *bind.BoundContract // Generic contract to use for unpacking event data 8633 event string // Event name to use for unpacking event data 8634 8635 logs chan types.Log // Log channel receiving the found contract events 8636 sub ethereum.Subscription // Subscription for errors, completion and termination 8637 done bool // Whether the subscription completed delivering logs 8638 fail error // Occurred error to stop iteration 8639 } 8640 8641 // Next advances the iterator to the subsequent event, returning whether there 8642 // are any more events found. In case of a retrieval or parsing error, false is 8643 // returned and Error() can be queried for the exact failure. 8644 func (it *RelayRecipientOwnershipTransferredIterator) Next() bool { 8645 // If the iterator failed, stop iterating 8646 if it.fail != nil { 8647 return false 8648 } 8649 // If the iterator completed, deliver directly whatever's available 8650 if it.done { 8651 select { 8652 case log := <-it.logs: 8653 it.Event = new(RelayRecipientOwnershipTransferred) 8654 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8655 it.fail = err 8656 return false 8657 } 8658 it.Event.Raw = log 8659 return true 8660 8661 default: 8662 return false 8663 } 8664 } 8665 // Iterator still in progress, wait for either a data or an error event 8666 select { 8667 case log := <-it.logs: 8668 it.Event = new(RelayRecipientOwnershipTransferred) 8669 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8670 it.fail = err 8671 return false 8672 } 8673 it.Event.Raw = log 8674 return true 8675 8676 case err := <-it.sub.Err(): 8677 it.done = true 8678 it.fail = err 8679 return it.Next() 8680 } 8681 } 8682 8683 // Error returns any retrieval or parsing error occurred during filtering. 8684 func (it *RelayRecipientOwnershipTransferredIterator) Error() error { 8685 return it.fail 8686 } 8687 8688 // Close terminates the iteration process, releasing any pending underlying 8689 // resources. 8690 func (it *RelayRecipientOwnershipTransferredIterator) Close() error { 8691 it.sub.Unsubscribe() 8692 return nil 8693 } 8694 8695 // RelayRecipientOwnershipTransferred represents a OwnershipTransferred event raised by the RelayRecipient contract. 8696 type RelayRecipientOwnershipTransferred struct { 8697 PreviousOwner common.Address 8698 NewOwner common.Address 8699 Raw types.Log // Blockchain specific contextual infos 8700 } 8701 8702 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 8703 // 8704 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 8705 func (_RelayRecipient *RelayRecipientFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*RelayRecipientOwnershipTransferredIterator, error) { 8706 8707 var previousOwnerRule []interface{} 8708 for _, previousOwnerItem := range previousOwner { 8709 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 8710 } 8711 var newOwnerRule []interface{} 8712 for _, newOwnerItem := range newOwner { 8713 newOwnerRule = append(newOwnerRule, newOwnerItem) 8714 } 8715 8716 logs, sub, err := _RelayRecipient.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 8717 if err != nil { 8718 return nil, err 8719 } 8720 return &RelayRecipientOwnershipTransferredIterator{contract: _RelayRecipient.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 8721 } 8722 8723 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 8724 // 8725 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 8726 func (_RelayRecipient *RelayRecipientFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *RelayRecipientOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 8727 8728 var previousOwnerRule []interface{} 8729 for _, previousOwnerItem := range previousOwner { 8730 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 8731 } 8732 var newOwnerRule []interface{} 8733 for _, newOwnerItem := range newOwner { 8734 newOwnerRule = append(newOwnerRule, newOwnerItem) 8735 } 8736 8737 logs, sub, err := _RelayRecipient.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 8738 if err != nil { 8739 return nil, err 8740 } 8741 return event.NewSubscription(func(quit <-chan struct{}) error { 8742 defer sub.Unsubscribe() 8743 for { 8744 select { 8745 case log := <-logs: 8746 // New log arrived, parse the event and forward to the user 8747 event := new(RelayRecipientOwnershipTransferred) 8748 if err := _RelayRecipient.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 8749 return err 8750 } 8751 event.Raw = log 8752 8753 select { 8754 case sink <- event: 8755 case err := <-sub.Err(): 8756 return err 8757 case <-quit: 8758 return nil 8759 } 8760 case err := <-sub.Err(): 8761 return err 8762 case <-quit: 8763 return nil 8764 } 8765 } 8766 }), nil 8767 } 8768 8769 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 8770 // 8771 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 8772 func (_RelayRecipient *RelayRecipientFilterer) ParseOwnershipTransferred(log types.Log) (*RelayRecipientOwnershipTransferred, error) { 8773 event := new(RelayRecipientOwnershipTransferred) 8774 if err := _RelayRecipient.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 8775 return nil, err 8776 } 8777 event.Raw = log 8778 return event, nil 8779 } 8780 8781 // SafeMathABI is the input ABI used to generate the binding from. 8782 const SafeMathABI = "[]" 8783 8784 // SafeMathBin is the compiled bytecode used for deploying new contracts. 8785 var SafeMathBin = "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220198782bac737d17dca7f599e0b6e936a9acdee55337b153e7f0e9c9210e75b9064736f6c63430006060033" 8786 8787 // DeploySafeMath deploys a new Ethereum contract, binding an instance of SafeMath to it. 8788 func DeploySafeMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeMath, error) { 8789 parsed, err := abi.JSON(strings.NewReader(SafeMathABI)) 8790 if err != nil { 8791 return common.Address{}, nil, nil, err 8792 } 8793 8794 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(SafeMathBin), backend) 8795 if err != nil { 8796 return common.Address{}, nil, nil, err 8797 } 8798 return address, tx, &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil 8799 } 8800 8801 // SafeMath is an auto generated Go binding around an Ethereum contract. 8802 type SafeMath struct { 8803 SafeMathCaller // Read-only binding to the contract 8804 SafeMathTransactor // Write-only binding to the contract 8805 SafeMathFilterer // Log filterer for contract events 8806 } 8807 8808 // SafeMathCaller is an auto generated read-only Go binding around an Ethereum contract. 8809 type SafeMathCaller struct { 8810 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8811 } 8812 8813 // SafeMathTransactor is an auto generated write-only Go binding around an Ethereum contract. 8814 type SafeMathTransactor struct { 8815 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8816 } 8817 8818 // SafeMathFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 8819 type SafeMathFilterer struct { 8820 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8821 } 8822 8823 // SafeMathSession is an auto generated Go binding around an Ethereum contract, 8824 // with pre-set call and transact options. 8825 type SafeMathSession struct { 8826 Contract *SafeMath // Generic contract binding to set the session for 8827 CallOpts bind.CallOpts // Call options to use throughout this session 8828 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8829 } 8830 8831 // SafeMathCallerSession is an auto generated read-only Go binding around an Ethereum contract, 8832 // with pre-set call options. 8833 type SafeMathCallerSession struct { 8834 Contract *SafeMathCaller // Generic contract caller binding to set the session for 8835 CallOpts bind.CallOpts // Call options to use throughout this session 8836 } 8837 8838 // SafeMathTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 8839 // with pre-set transact options. 8840 type SafeMathTransactorSession struct { 8841 Contract *SafeMathTransactor // Generic contract transactor binding to set the session for 8842 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8843 } 8844 8845 // SafeMathRaw is an auto generated low-level Go binding around an Ethereum contract. 8846 type SafeMathRaw struct { 8847 Contract *SafeMath // Generic contract binding to access the raw methods on 8848 } 8849 8850 // SafeMathCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 8851 type SafeMathCallerRaw struct { 8852 Contract *SafeMathCaller // Generic read-only contract binding to access the raw methods on 8853 } 8854 8855 // SafeMathTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 8856 type SafeMathTransactorRaw struct { 8857 Contract *SafeMathTransactor // Generic write-only contract binding to access the raw methods on 8858 } 8859 8860 // NewSafeMath creates a new instance of SafeMath, bound to a specific deployed contract. 8861 func NewSafeMath(address common.Address, backend bind.ContractBackend) (*SafeMath, error) { 8862 contract, err := bindSafeMath(address, backend, backend, backend) 8863 if err != nil { 8864 return nil, err 8865 } 8866 return &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil 8867 } 8868 8869 // NewSafeMathCaller creates a new read-only instance of SafeMath, bound to a specific deployed contract. 8870 func NewSafeMathCaller(address common.Address, caller bind.ContractCaller) (*SafeMathCaller, error) { 8871 contract, err := bindSafeMath(address, caller, nil, nil) 8872 if err != nil { 8873 return nil, err 8874 } 8875 return &SafeMathCaller{contract: contract}, nil 8876 } 8877 8878 // NewSafeMathTransactor creates a new write-only instance of SafeMath, bound to a specific deployed contract. 8879 func NewSafeMathTransactor(address common.Address, transactor bind.ContractTransactor) (*SafeMathTransactor, error) { 8880 contract, err := bindSafeMath(address, nil, transactor, nil) 8881 if err != nil { 8882 return nil, err 8883 } 8884 return &SafeMathTransactor{contract: contract}, nil 8885 } 8886 8887 // NewSafeMathFilterer creates a new log filterer instance of SafeMath, bound to a specific deployed contract. 8888 func NewSafeMathFilterer(address common.Address, filterer bind.ContractFilterer) (*SafeMathFilterer, error) { 8889 contract, err := bindSafeMath(address, nil, nil, filterer) 8890 if err != nil { 8891 return nil, err 8892 } 8893 return &SafeMathFilterer{contract: contract}, nil 8894 } 8895 8896 // bindSafeMath binds a generic wrapper to an already deployed contract. 8897 func bindSafeMath(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 8898 parsed, err := abi.JSON(strings.NewReader(SafeMathABI)) 8899 if err != nil { 8900 return nil, err 8901 } 8902 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 8903 } 8904 8905 // Call invokes the (constant) contract method with params as input values and 8906 // sets the output to result. The result type might be a single field for simple 8907 // returns, a slice of interfaces for anonymous returns and a struct for named 8908 // returns. 8909 func (_SafeMath *SafeMathRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 8910 return _SafeMath.Contract.SafeMathCaller.contract.Call(opts, result, method, params...) 8911 } 8912 8913 // Transfer initiates a plain transaction to move funds to the contract, calling 8914 // its default method if one is available. 8915 func (_SafeMath *SafeMathRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8916 return _SafeMath.Contract.SafeMathTransactor.contract.Transfer(opts) 8917 } 8918 8919 // Transact invokes the (paid) contract method with params as input values. 8920 func (_SafeMath *SafeMathRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8921 return _SafeMath.Contract.SafeMathTransactor.contract.Transact(opts, method, params...) 8922 } 8923 8924 // Call invokes the (constant) contract method with params as input values and 8925 // sets the output to result. The result type might be a single field for simple 8926 // returns, a slice of interfaces for anonymous returns and a struct for named 8927 // returns. 8928 func (_SafeMath *SafeMathCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 8929 return _SafeMath.Contract.contract.Call(opts, result, method, params...) 8930 } 8931 8932 // Transfer initiates a plain transaction to move funds to the contract, calling 8933 // its default method if one is available. 8934 func (_SafeMath *SafeMathTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8935 return _SafeMath.Contract.contract.Transfer(opts) 8936 } 8937 8938 // Transact invokes the (paid) contract method with params as input values. 8939 func (_SafeMath *SafeMathTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8940 return _SafeMath.Contract.contract.Transact(opts, method, params...) 8941 } 8942 8943 // SorareTokensABI is the input ABI used to generate the binding from. 8944 const SorareTokensABI = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sorareCardsAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"relayAddress\",\"type\":\"address\"}],\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"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\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blockRelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"playerId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"season\",\"type\":\"uint16\"},{\"internalType\":\"uint8\",\"name\":\"scarcity\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"serialNumber\",\"type\":\"uint16\"},{\"internalType\":\"bytes32\",\"name\":\"metadata\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"clubId\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"createCardAndMintToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getCard\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"playerId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"season\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"scarcity\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"serialNumber\",\"type\":\"uint16\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"},{\"internalType\":\"uint16\",\"name\":\"clubId\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"clubId\",\"type\":\"uint16\"}],\"name\":\"getClub\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"country\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"city\",\"type\":\"string\"},{\"internalType\":\"uint16\",\"name\":\"yearFounded\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"playerId\",\"type\":\"uint256\"}],\"name\":\"getPlayer\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint16\",\"name\":\"yearOfBirth\",\"type\":\"uint16\"},{\"internalType\":\"uint8\",\"name\":\"monthOfBirth\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"dayOfBirth\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRelayAddress\",\"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\":\"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\":\"tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"migrateTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cardId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"mintToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextContract\",\"outputs\":[{\"internalType\":\"contractINextContract\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeMinter\",\"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\":\"address\",\"name\":\"nextContractAddress\",\"type\":\"address\"}],\"name\":\"setNextContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"prefix\",\"type\":\"string\"}],\"name\":\"setTokenURIPrefix\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sorareCards\",\"outputs\":[{\"internalType\":\"contractISorareCards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"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\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"page\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"rows\",\"type\":\"uint8\"}],\"name\":\"tokensOfOwner\",\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 8945 8946 // SorareTokensFuncSigs maps the 4-byte function signature to its string representation. 8947 var SorareTokensFuncSigs = map[string]string{ 8948 "a217fddf": "DEFAULT_ADMIN_ROLE()", 8949 "d5391393": "MINTER_ROLE()", 8950 "983b2d56": "addMinter(address)", 8951 "095ea7b3": "approve(address,uint256)", 8952 "70a08231": "balanceOf(address)", 8953 "6c0360eb": "baseURI()", 8954 "309e11fc": "blockRelay()", 8955 "2850d20e": "createCardAndMintToken(uint256,uint16,uint8,uint16,bytes32,uint16,address)", 8956 "081812fc": "getApproved(uint256)", 8957 "9188d312": "getCard(uint256)", 8958 "4a39d2b8": "getClub(uint16)", 8959 "e55ae4e8": "getPlayer(uint256)", 8960 "32deedc6": "getRelayAddress()", 8961 "248a9ca3": "getRoleAdmin(bytes32)", 8962 "9010d07c": "getRoleMember(bytes32,uint256)", 8963 "ca15c873": "getRoleMemberCount(bytes32)", 8964 "2f2ff15d": "grantRole(bytes32,address)", 8965 "91d14854": "hasRole(bytes32,address)", 8966 "e985e9c5": "isApprovedForAll(address,address)", 8967 "e5951e60": "migrateTokens(uint256[])", 8968 "a140ae23": "mintToken(uint256,address)", 8969 "06fdde03": "name()", 8970 "d8787fde": "nextContract()", 8971 "8da5cb5b": "owner()", 8972 "6352211e": "ownerOf(uint256)", 8973 "5f112c68": "renounceMinter(address)", 8974 "715018a6": "renounceOwnership()", 8975 "36568abe": "renounceRole(bytes32,address)", 8976 "cfbd4885": "revokeMinter(address)", 8977 "d547741f": "revokeRole(bytes32,address)", 8978 "42842e0e": "safeTransferFrom(address,address,uint256)", 8979 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 8980 "a22cb465": "setApprovalForAll(address,bool)", 8981 "53390100": "setNextContract(address)", 8982 "99e0dd7c": "setTokenURIPrefix(string)", 8983 "16b1b0c8": "sorareCards()", 8984 "01ffc9a7": "supportsInterface(bytes4)", 8985 "95d89b41": "symbol()", 8986 "4f6ccce7": "tokenByIndex(uint256)", 8987 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 8988 "c87b56dd": "tokenURI(uint256)", 8989 "4d9c5e58": "tokensOfOwner(address,uint8,uint8)", 8990 "18160ddd": "totalSupply()", 8991 "23b872dd": "transferFrom(address,address,uint256)", 8992 "f2fde38b": "transferOwnership(address)", 8993 } 8994 8995 // SorareTokensBin is the compiled bytecode used for deploying new contracts. 8996 var SorareTokensBin = "0x60806040523480156200001157600080fd5b5060405162003bf638038062003bf6833981810160405260408110156200003757600080fd5b5080516020918201516040805180820182526006815265536f7261726560d01b818601528151808301909252600382526229a7a960e91b94820194909452919290918260006200008f6001600160e01b03620002b416565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620000ef6000336001600160e01b03620002d116565b604080516a4d494e5445525f524f4c4560a81b8152905190819003600b0190206200012490336001600160e01b03620002d116565b6001600160a01b03811662000180576040805162461bcd60e51b815260206004820181905260248201527f437573746f6d2072656c61792061646472657373206973207265717569726564604482015290519081900360640190fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055620001b26301ffc9a760e01b620002ea565b8151620001c790600990602085019062000512565b508051620001dd90600a90602084019062000512565b50620001f96380ac58cd60e01b6001600160e01b03620002ea16565b62000214635b5e139f60e01b6001600160e01b03620002ea16565b6200022f63780e9d6360e01b6001600160e01b03620002ea16565b50506001600160a01b0382166200028d576040805162461bcd60e51b815260206004820152601f60248201527f536f726172654361726473206164647265737320697320726571756972656400604482015290519081900360640190fd5b50600d80546001600160a01b0319166001600160a01b0392909216919091179055620005b4565b6000620002cb6200036f60201b62002bb91760201c565b90505b90565b620002e682826001600160e01b03620003a816565b5050565b6001600160e01b031980821614156200034a576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152600360205260409020805460ff19166001179055565b6002546000906001600160a01b031633146200038d575033620002ce565b620003a06001600160e01b036200042c16565b9050620002ce565b6000828152600160209081526040909120620003cf91839062002c1662000479821b17901c565b15620002e657620003e86001600160e01b03620002b416565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600060606000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b031692915050565b600062000499836001600160a01b0384166001600160e01b03620004a216565b90505b92915050565b6000620004b983836001600160e01b03620004fa16565b620004f1575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200049c565b5060006200049c565b60009081526001919091016020526040902054151590565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200055557805160ff191683800117855562000585565b8280016001018555821562000585579182015b828111156200058557825182559160200191906001019062000568565b506200059392915062000597565b5090565b620002ce91905b808211156200059357600081556001016200059e565b61363280620005c46000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c806370a082311161015c578063a22cb465116100ce578063d547741f11610087578063d547741f14610b30578063d8787fde14610b5c578063e55ae4e814610b64578063e5951e6014610c22578063e985e9c514610c90578063f2fde38b14610cbe5761027f565b8063a22cb465146109d6578063b88d4fde14610a04578063c87b56dd14610ac8578063ca15c87314610ae5578063cfbd488514610b02578063d539139314610b285761027f565b806391d148541161012057806391d14854146108a457806395d89b41146108d0578063983b2d56146108d857806399e0dd7c146108fe578063a140ae23146109a2578063a217fddf146109ce5761027f565b806370a08231146107bc578063715018a6146107e25780638da5cb5b146107ea5780639010d07c146107f25780639188d312146108155761027f565b8063309e11fc116101f55780634d9c5e58116101b95780634d9c5e58146106a75780634f6ccce71461072e578063533901001461074b5780635f112c68146107715780636352211e146107975780636c0360eb146107b45761027f565b8063309e11fc146104c657806332deedc6146104ce57806336568abe146104d657806342842e0e146105025780634a39d2b8146105385761027f565b806318160ddd1161024757806318160ddd146103ab57806323b872dd146103c5578063248a9ca3146103fb5780632850d20e146104185780632f2ff15d1461046e5780632f745c591461049a5761027f565b806301ffc9a71461028457806306fdde03146102bf578063081812fc1461033c578063095ea7b31461037557806316b1b0c8146103a3575b600080fd5b6102ab6004803603602081101561029a57600080fd5b50356001600160e01b031916610ce4565b604080519115158252519081900360200190f35b6102c7610d07565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103015781810151838201526020016102e9565b50505050905090810190601f16801561032e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103596004803603602081101561035257600080fd5b5035610d9e565b604080516001600160a01b039092168252519081900360200190f35b6103a16004803603604081101561038b57600080fd5b506001600160a01b038135169060200135610e00565b005b610359610edb565b6103b3610eea565b60408051918252519081900360200190f35b6103a1600480360360608110156103db57600080fd5b506001600160a01b03813581169160208101359091169060400135610efb565b6103b36004803603602081101561041157600080fd5b5035610f52565b6103b3600480360360e081101561042e57600080fd5b50803590602081013561ffff90811691604081013560ff1691606082013581169160808101359160a0820135169060c001356001600160a01b0316610f67565b6103a16004803603604081101561048457600080fd5b50803590602001356001600160a01b03166110a0565b6103b3600480360360408110156104b057600080fd5b506001600160a01b038135169060200135611107565b6103a1611138565b6103596111a4565b6103a1600480360360408110156104ec57600080fd5b50803590602001356001600160a01b03166111b3565b6103a16004803603606081101561051857600080fd5b506001600160a01b03813581169160208101359091169060400135611214565b6105596004803603602081101561054e57600080fd5b503561ffff1661122f565b6040805161ffff83166060820152608080825286519082015285519091829160208084019284019160a08501918a019080838360005b838110156105a757818101518382015260200161058f565b50505050905090810190601f1680156105d45780820380516001836020036101000a031916815260200191505b50848103835287518152875160209182019189019080838360005b838110156106075781810151838201526020016105ef565b50505050905090810190601f1680156106345780820380516001836020036101000a031916815260200191505b50848103825286518152865160209182019188019080838360005b8381101561066757818101518382015260200161064f565b50505050905090810190601f1680156106945780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b6106de600480360360608110156106bd57600080fd5b506001600160a01b038135169060ff602082013581169160400135166114d7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561071a578181015183820152602001610702565b505050509050019250505060405180910390f35b6103b36004803603602081101561074457600080fd5b503561161d565b6103a16004803603602081101561076157600080fd5b50356001600160a01b0316611639565b6103a16004803603602081101561078757600080fd5b50356001600160a01b0316611711565b610359600480360360208110156107ad57600080fd5b503561173e565b6102c761176c565b6103b3600480360360208110156107d257600080fd5b50356001600160a01b03166117cd565b6103a1611835565b6103596118d7565b6103596004803603604081101561080857600080fd5b50803590602001356118e6565b6108326004803603602081101561082b57600080fd5b5035611904565b604051808781526020018661ffff1661ffff1681526020018581526020018461ffff1661ffff168152602001806020018361ffff1661ffff168152602001828103825284818151815260200191508051906020019080838360008381101561066757818101518382015260200161064f565b6102ab600480360360408110156108ba57600080fd5b50803590602001356001600160a01b0316611a86565b6102c7611aa4565b6103a1600480360360208110156108ee57600080fd5b50356001600160a01b0316611b05565b6103a16004803603602081101561091457600080fd5b810190602081018135600160201b81111561092e57600080fd5b82018360208201111561094057600080fd5b803590602001918460018302840111600160201b8311171561096157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611b2f945050505050565b6103b3600480360360408110156109b857600080fd5b50803590602001356001600160a01b0316611b90565b6103b3611cd9565b6103a1600480360360408110156109ec57600080fd5b506001600160a01b0381351690602001351515611cde565b6103a160048036036080811015610a1a57600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b811115610a5457600080fd5b820183602082011115610a6657600080fd5b803590602001918460018302840111600160201b83111715610a8757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611de3945050505050565b6102c760048036036020811015610ade57600080fd5b5035611e41565b6103b360048036036020811015610afb57600080fd5b50356120e8565b6103a160048036036020811015610b1857600080fd5b50356001600160a01b03166120ff565b6103b3612129565b6103a160048036036040811015610b4657600080fd5b50803590602001356001600160a01b031661214c565b6103596121a5565b610b8160048036036020811015610b7a57600080fd5b50356121b4565b60405180806020018561ffff1661ffff1681526020018460ff1660ff1681526020018360ff1660ff168152602001828103825286818151815260200191508051906020019080838360005b83811015610be4578181015183820152602001610bcc565b50505050905090810190601f168015610c115780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b6103a160048036036020811015610c3857600080fd5b810190602081018135600160201b811115610c5257600080fd5b820183602082011115610c6457600080fd5b803590602001918460208302840111600160201b83111715610c8557600080fd5b509092509050612312565b6102ab60048036036040811015610ca657600080fd5b506001600160a01b038135811691602001351661244d565b6103a160048036036020811015610cd457600080fd5b50356001600160a01b031661247b565b6001600160e01b0319811660009081526003602052604090205460ff165b919050565b60098054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610d935780601f10610d6857610100808354040283529160200191610d93565b820191906000526020600020905b815481529060010190602001808311610d7657829003601f168201915b505050505090505b90565b6000610da982612573565b610de45760405162461bcd60e51b815260040180806020018281038252602c8152602001806134d8602c913960400191505060405180910390fd5b506000908152600760205260409020546001600160a01b031690565b6000610e0b8261173e565b9050806001600160a01b0316836001600160a01b03161415610e5e5760405162461bcd60e51b815260040180806020018281038252602181526020018061357c6021913960400191505060405180910390fd5b806001600160a01b0316610e70612586565b6001600160a01b03161480610e915750610e9181610e8c612586565b61244d565b610ecc5760405162461bcd60e51b815260040180806020018281038252603881526020018061342b6038913960400191505060405180910390fd5b610ed68383612590565b505050565b600d546001600160a01b031681565b6000610ef660056125fe565b905090565b610f0c610f06612586565b82612609565b610f475760405162461bcd60e51b815260040180806020018281038252603181526020018061359d6031913960400191505060405180910390fd5b610ed68383836126ad565b60009081526001602052604090206002015490565b604080516a4d494e5445525f524f4c4560a81b8152905190819003600b019020600090610f9b90610f96612586565b611a86565b610fe5576040805162461bcd60e51b815260206004820152601660248201527529b2b73232b91034b9903737ba10309036b4b73a32b960511b604482015290519081900360640190fd5b600d5460408051630115238360e01b8152600481018b905261ffff808b16602483015260ff8a166044830152808916606483015260848201889052861660a482015290516000926001600160a01b03169163011523839160c480830192602092919082900301818787803b15801561105c57600080fd5b505af1158015611070573d6000803e3d6000fd5b505050506040513d602081101561108657600080fd5b50519050611094838261280b565b98975050505050505050565b6000828152600160205260409020600201546110be90610f96612586565b6110f95760405162461bcd60e51b815260040180806020018281038252602f815260200180613324602f913960400191505060405180910390fd5b6111038282612945565b5050565b6001600160a01b038216600090815260046020526040812061112f908363ffffffff6129b416565b90505b92915050565b611140612586565b6000546001600160a01b03908116911614611190576040805162461bcd60e51b81526020600482018190526024820152600080516020613504833981519152604482015290519081900360640190fd5b600280546001600160a01b03191630179055565b6002546001600160a01b031690565b6111bb612586565b6001600160a01b0316816001600160a01b03161461120a5760405162461bcd60e51b815260040180806020018281038252602f8152602001806135ce602f913960400191505060405180910390fd5b61110382826129c0565b610ed683838360405180602001604052806000815250611de3565b600d54604080516309473a5760e31b815261ffff841660048201529051606092839283926000926001600160a01b031691634a39d2b89160248083019286929190829003018186803b15801561128457600080fd5b505afa158015611298573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260808110156112c157600080fd5b8101908080516040519392919084600160201b8211156112e057600080fd5b9083019060208201858111156112f557600080fd5b8251600160201b81118282018810171561130e57600080fd5b82525081516020918201929091019080838360005b8381101561133b578181015183820152602001611323565b50505050905090810190601f1680156113685780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084600160201b82111561138a57600080fd5b90830190602082018581111561139f57600080fd5b8251600160201b8111828201881017156113b857600080fd5b82525081516020918201929091019080838360005b838110156113e55781810151838201526020016113cd565b50505050905090810190601f1680156114125780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084600160201b82111561143457600080fd5b90830190602082018581111561144957600080fd5b8251600160201b81118282018810171561146257600080fd5b82525081516020918201929091019080838360005b8381101561148f578181015183820152602001611477565b50505050905090810190601f1680156114bc5780820380516001836020036101000a031916815260200191505b5060405260200151949a939950919750929550909350505050565b60408051630dade9a760e21b81523060048201526001600160a01b038516602482015260ff808516604483015283166064820152905160609173__$6dc487fb79da1fe9b9c445d2980a791dce$__916336b7a69c91608480820192600092909190829003018186803b15801561154c57600080fd5b505af4158015611560573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561158957600080fd5b8101908080516040519392919084600160201b8211156115a857600080fd5b9083019060208201858111156115bd57600080fd5b82518660208202830111600160201b821117156115d957600080fd5b82525081516020918201928201910280838360005b838110156116065781810151838201526020016115ee565b5050505090500160405250505090505b9392505050565b60008061163160058463ffffffff612a2f16565b509392505050565b611641612586565b6000546001600160a01b03908116911614611691576040805162461bcd60e51b81526020600482018190526024820152600080516020613504833981519152604482015290519081900360640190fd5b600e546001600160a01b0316156116ef576040805162461bcd60e51b815260206004820152601860248201527f4e657874436f6e747261637420616c7265616479207365740000000000000000604482015290519081900360640190fd5b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b604080516a4d494e5445525f524f4c4560a81b8152905190819003600b01902061173b90826111b3565b50565b60006111328260405180606001604052806029815260200161348d602991396005919063ffffffff612a4b16565b600c8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610d935780601f10610d6857610100808354040283529160200191610d93565b60006001600160a01b0382166118145760405162461bcd60e51b815260040180806020018281038252602a815260200180613463602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600460205260409020611132906125fe565b61183d612586565b6000546001600160a01b0390811691161461188d576040805162461bcd60e51b81526020600482018190526024820152600080516020613504833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b600082815260016020526040812061112f908363ffffffff6129b416565b60008060008060606000600d60009054906101000a90046001600160a01b03166001600160a01b0316639188d312886040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561196757600080fd5b505afa15801561197b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260c08110156119a457600080fd5b8151602083015160408085015160608601516080870180519351959794969295919491939282019284600160201b8211156119de57600080fd5b9083019060208201858111156119f357600080fd5b8251600160201b811182820188101715611a0c57600080fd5b82525081516020918201929091019080838360005b83811015611a39578181015183820152602001611a21565b50505050905090810190601f168015611a665780820380516001836020036101000a031916815260200191505b5060405260200151969e959d50939b509199509750929550909350505050565b600082815260016020526040812061112f908363ffffffff612a5816565b600a8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610d935780601f10610d6857610100808354040283529160200191610d93565b604080516a4d494e5445525f524f4c4560a81b8152905190819003600b01902061173b90826110a0565b611b37612586565b6000546001600160a01b03908116911614611b87576040805162461bcd60e51b81526020600482018190526024820152600080516020613504833981519152604482015290519081900360640190fd5b61173b81612a6d565b604080516a4d494e5445525f524f4c4560a81b8152905190819003600b019020600090611bbf90610f96612586565b611c09576040805162461bcd60e51b815260206004820152601660248201527529b2b73232b91034b9903737ba10309036b4b73a32b960511b604482015290519081900360640190fd5b600d5460408051632571aa0760e11b81526004810186905290516001600160a01b0390921691634ae3540e91602480820192602092909190829003018186803b158015611c5557600080fd5b505afa158015611c69573d6000803e3d6000fd5b505050506040513d6020811015611c7f57600080fd5b5051611cc8576040805162461bcd60e51b815260206004820152601360248201527210d85c9908191bd95cc81b9bdd08195e1a5cdd606a1b604482015290519081900360640190fd5b611cd2828461280b565b5090919050565b600081565b611ce6612586565b6001600160a01b0316826001600160a01b03161415611d4c576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060086000611d59612586565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff191692151592909217909155611d9d612586565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b611df4611dee612586565b83612609565b611e2f5760405162461bcd60e51b815260040180806020018281038252603181526020018061359d6031913960400191505060405180910390fd5b611e3b84848484612a80565b50505050565b6060611e4c82612573565b611e875760405162461bcd60e51b815260040180806020018281038252602f81526020018061354d602f913960400191505060405180910390fd5b6000828152600b602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015611f1c5780601f10611ef157610100808354040283529160200191611f1c565b820191906000526020600020905b815481529060010190602001808311611eff57829003601f168201915b5050600c5493945050505060026000196101006001841615020190911604611f45579050610d02565b80511561201657600c816040516020018083805460018160011615610100020316600290048015611fad5780601f10611f8b576101008083540402835291820191611fad565b820191906000526020600020905b815481529060010190602001808311611f99575b5050825160208401908083835b60208310611fd95780518252601f199092019160209182019101611fba565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052915050610d02565b600c61202184612ad2565b604051602001808380546001816001161561010002031660029004801561207f5780601f1061205d57610100808354040283529182019161207f565b820191906000526020600020905b81548152906001019060200180831161206b575b5050825160208401908083835b602083106120ab5780518252601f19909201916020918201910161208c565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052915050919050565b6000818152600160205260408120611132906125fe565b604080516a4d494e5445525f524f4c4560a81b8152905190819003600b01902061173b908261214c565b604080516a4d494e5445525f524f4c4560a81b8152905190819003600b01902081565b60008281526001602052604090206002015461216a90610f96612586565b61120a5760405162461bcd60e51b81526004018080602001828103825260308152602001806133fb6030913960400191505060405180910390fd5b600e546001600160a01b031681565b600d5460408051631cab5c9d60e31b8152600481018490529051606092600092839283926001600160a01b03169163e55ae4e89160248083019286929190829003018186803b15801561220657600080fd5b505afa15801561221a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052608081101561224357600080fd5b8101908080516040519392919084600160201b82111561226257600080fd5b90830190602082018581111561227757600080fd5b8251600160201b81118282018810171561229057600080fd5b82525081516020918201929091019080838360005b838110156122bd5781810151838201526020016122a5565b50505050905090810190601f1680156122ea5780820380516001836020036101000a031916815260200191505b506040908152602082015190820151606090920151949a909950909750929550919350505050565b600e546001600160a01b0316612367576040805162461bcd60e51b815260206004820152601560248201527413995e1d0818dbdb9d1c9858dd081b9bdd081cd95d605a1b604482015290519081900360640190fd5b60005b8181101561239e5761239661237d612586565b3085858581811061238a57fe5b90506020020135610efb565b60010161236a565b50600e546001600160a01b031663e884703f83836123ba612586565b604080516001600160e01b031960e087901b1681526001600160a01b038316602482015260048101918252604481018490528190606401856020860280828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b15801561243157600080fd5b505af1158015612445573d6000803e3d6000fd5b505050505050565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b612483612586565b6000546001600160a01b039081169116146124d3576040805162461bcd60e51b81526020600482018190526024820152600080516020613504833981519152604482015290519081900360640190fd5b6001600160a01b0381166125185760405162461bcd60e51b81526004018080602001828103825260268152602001806133856026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600061113260058363ffffffff612bad16565b6000610ef6612bb9565b600081815260076020526040902080546001600160a01b0319166001600160a01b03841690811790915581906125c58261173e565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061113282612be4565b600061261482612573565b61264f5760405162461bcd60e51b815260040180806020018281038252602c8152602001806133cf602c913960400191505060405180910390fd5b600061265a8361173e565b9050806001600160a01b0316846001600160a01b031614806126955750836001600160a01b031661268a84610d9e565b6001600160a01b0316145b806126a557506126a5818561244d565b949350505050565b826001600160a01b03166126c08261173e565b6001600160a01b0316146127055760405162461bcd60e51b81526004018080602001828103825260298152602001806135246029913960400191505060405180910390fd5b6001600160a01b03821661274a5760405162461bcd60e51b81526004018080602001828103825260248152602001806133ab6024913960400191505060405180910390fd5b612755838383610ed6565b612760600082612590565b6001600160a01b0383166000908152600460205260409020612788908263ffffffff612be816565b506001600160a01b03821660009081526004602052604090206127b1908263ffffffff612bf416565b506127c46005828463ffffffff612c0016565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6001600160a01b038216612866576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61286f81612573565b156128c1576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b6128cd60008383610ed6565b6001600160a01b03821660009081526004602052604090206128f5908263ffffffff612bf416565b506129086005828463ffffffff612c0016565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000828152600160205260409020612963908263ffffffff612c1616565b1561110357612970612586565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600061112f8383612c2b565b60008281526001602052604090206129de908263ffffffff612c8f16565b15611103576129eb612586565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000808080612a3e8686612ca4565b9097909650945050505050565b60006126a5848484612d1f565b600061112f836001600160a01b038416612de9565b805161110390600c906020840190613269565b612a8b8484846126ad565b612a9784848484612e01565b611e3b5760405162461bcd60e51b81526004018080602001828103825260328152602001806133536032913960400191505060405180910390fd5b606081612af757506040805180820190915260018152600360fc1b6020820152610d02565b8160005b8115612b0f57600101600a82049150612afb565b60608167ffffffffffffffff81118015612b2857600080fd5b506040519080825280601f01601f191660200182016040528015612b53576020820181803683370190505b50859350905060001982015b8315612ba457600a840660300160f81b82828060019003935081518110612b8257fe5b60200101906001600160f81b031916908160001a905350600a84049350612b5f565b50949350505050565b600061112f8383612de9565b6002546000906001600160a01b03163314612bd5575033610d9b565b612bdd61303c565b9050610d9b565b5490565b600061112f8383613089565b600061112f838361314f565b60006126a584846001600160a01b038516613199565b600061112f836001600160a01b03841661314f565b81546000908210612c6d5760405162461bcd60e51b81526004018080602001828103825260228152602001806133026022913960400191505060405180910390fd5b826000018281548110612c7c57fe5b9060005260206000200154905092915050565b600061112f836001600160a01b038416613089565b815460009081908310612ce85760405162461bcd60e51b81526004018080602001828103825260228152602001806134b66022913960400191505060405180910390fd5b6000846000018481548110612cf957fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b60008281526001840160205260408120548281612dba5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d7f578181015183820152602001612d67565b50505050905090810190601f168015612dac5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50846000016001820381548110612dcd57fe5b9060005260206000209060020201600101549150509392505050565b60009081526001919091016020526040902054151590565b6000612e15846001600160a01b0316613230565b612e21575060016126a5565b600060606001600160a01b038616630a85bd0160e11b612e3f612586565b89888860405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612eb8578181015183820152602001612ea0565b50505050905090810190601f168015612ee55780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909a16999099178952518151919890975087965094509250829150849050835b60208310612f4d5780518252601f199092019160209182019101612f2e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612faf576040519150601f19603f3d011682016040523d82523d6000602084013e612fb4565b606091505b50915091508161300557805115612fce5780518082602001fd5b60405162461bcd60e51b81526004018080602001828103825260328152602001806133536032913960400191505060405180910390fd5b600081806020019051602081101561301c57600080fd5b50516001600160e01b031916630a85bd0160e11b1493506126a592505050565b600060606000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b031692915050565b6000818152600183016020526040812054801561314557835460001980830191908101906000908790839081106130bc57fe5b90600052602060002001549050808760000184815481106130d957fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061310957fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050611132565b6000915050611132565b600061315b8383612de9565b61319157508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611132565b506000611132565b6000828152600184016020526040812054806131fe575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055611616565b8285600001600183038154811061321157fe5b9060005260206000209060020201600101819055506000915050611616565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906126a5575050151592915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106132aa57805160ff19168380011785556132d7565b828001600101855582156132d7579182015b828111156132d75782518255916020019190600101906132bc565b506132e39291506132e7565b5090565b610d9b91905b808211156132e357600081556001016132ed56fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e744552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b654552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65724552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66a26469706673582212207912b05e0717370978fff8a1fba4936e646b8bf8392e1984868ec68f705e6d1f64736f6c63430006060033" 8997 8998 // DeploySorareTokens deploys a new Ethereum contract, binding an instance of SorareTokens to it. 8999 func DeploySorareTokens(auth *bind.TransactOpts, backend bind.ContractBackend, sorareCardsAddress common.Address, relayAddress common.Address) (common.Address, *types.Transaction, *SorareTokens, error) { 9000 parsed, err := abi.JSON(strings.NewReader(SorareTokensABI)) 9001 if err != nil { 9002 return common.Address{}, nil, nil, err 9003 } 9004 9005 nFTClientAddr, _, _, _ := DeployNFTClient(auth, backend) 9006 SorareTokensBin = strings.Replace(SorareTokensBin, "__$6dc487fb79da1fe9b9c445d2980a791dce$__", nFTClientAddr.String()[2:], -1) 9007 9008 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(SorareTokensBin), backend, sorareCardsAddress, relayAddress) 9009 if err != nil { 9010 return common.Address{}, nil, nil, err 9011 } 9012 return address, tx, &SorareTokens{SorareTokensCaller: SorareTokensCaller{contract: contract}, SorareTokensTransactor: SorareTokensTransactor{contract: contract}, SorareTokensFilterer: SorareTokensFilterer{contract: contract}}, nil 9013 } 9014 9015 // SorareTokens is an auto generated Go binding around an Ethereum contract. 9016 type SorareTokens struct { 9017 SorareTokensCaller // Read-only binding to the contract 9018 SorareTokensTransactor // Write-only binding to the contract 9019 SorareTokensFilterer // Log filterer for contract events 9020 } 9021 9022 // SorareTokensCaller is an auto generated read-only Go binding around an Ethereum contract. 9023 type SorareTokensCaller struct { 9024 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9025 } 9026 9027 // SorareTokensTransactor is an auto generated write-only Go binding around an Ethereum contract. 9028 type SorareTokensTransactor struct { 9029 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9030 } 9031 9032 // SorareTokensFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 9033 type SorareTokensFilterer struct { 9034 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9035 } 9036 9037 // SorareTokensSession is an auto generated Go binding around an Ethereum contract, 9038 // with pre-set call and transact options. 9039 type SorareTokensSession struct { 9040 Contract *SorareTokens // Generic contract binding to set the session for 9041 CallOpts bind.CallOpts // Call options to use throughout this session 9042 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 9043 } 9044 9045 // SorareTokensCallerSession is an auto generated read-only Go binding around an Ethereum contract, 9046 // with pre-set call options. 9047 type SorareTokensCallerSession struct { 9048 Contract *SorareTokensCaller // Generic contract caller binding to set the session for 9049 CallOpts bind.CallOpts // Call options to use throughout this session 9050 } 9051 9052 // SorareTokensTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 9053 // with pre-set transact options. 9054 type SorareTokensTransactorSession struct { 9055 Contract *SorareTokensTransactor // Generic contract transactor binding to set the session for 9056 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 9057 } 9058 9059 // SorareTokensRaw is an auto generated low-level Go binding around an Ethereum contract. 9060 type SorareTokensRaw struct { 9061 Contract *SorareTokens // Generic contract binding to access the raw methods on 9062 } 9063 9064 // SorareTokensCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 9065 type SorareTokensCallerRaw struct { 9066 Contract *SorareTokensCaller // Generic read-only contract binding to access the raw methods on 9067 } 9068 9069 // SorareTokensTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 9070 type SorareTokensTransactorRaw struct { 9071 Contract *SorareTokensTransactor // Generic write-only contract binding to access the raw methods on 9072 } 9073 9074 // NewSorareTokens creates a new instance of SorareTokens, bound to a specific deployed contract. 9075 func NewSorareTokens(address common.Address, backend bind.ContractBackend) (*SorareTokens, error) { 9076 contract, err := bindSorareTokens(address, backend, backend, backend) 9077 if err != nil { 9078 return nil, err 9079 } 9080 return &SorareTokens{SorareTokensCaller: SorareTokensCaller{contract: contract}, SorareTokensTransactor: SorareTokensTransactor{contract: contract}, SorareTokensFilterer: SorareTokensFilterer{contract: contract}}, nil 9081 } 9082 9083 // NewSorareTokensCaller creates a new read-only instance of SorareTokens, bound to a specific deployed contract. 9084 func NewSorareTokensCaller(address common.Address, caller bind.ContractCaller) (*SorareTokensCaller, error) { 9085 contract, err := bindSorareTokens(address, caller, nil, nil) 9086 if err != nil { 9087 return nil, err 9088 } 9089 return &SorareTokensCaller{contract: contract}, nil 9090 } 9091 9092 // NewSorareTokensTransactor creates a new write-only instance of SorareTokens, bound to a specific deployed contract. 9093 func NewSorareTokensTransactor(address common.Address, transactor bind.ContractTransactor) (*SorareTokensTransactor, error) { 9094 contract, err := bindSorareTokens(address, nil, transactor, nil) 9095 if err != nil { 9096 return nil, err 9097 } 9098 return &SorareTokensTransactor{contract: contract}, nil 9099 } 9100 9101 // NewSorareTokensFilterer creates a new log filterer instance of SorareTokens, bound to a specific deployed contract. 9102 func NewSorareTokensFilterer(address common.Address, filterer bind.ContractFilterer) (*SorareTokensFilterer, error) { 9103 contract, err := bindSorareTokens(address, nil, nil, filterer) 9104 if err != nil { 9105 return nil, err 9106 } 9107 return &SorareTokensFilterer{contract: contract}, nil 9108 } 9109 9110 // bindSorareTokens binds a generic wrapper to an already deployed contract. 9111 func bindSorareTokens(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 9112 parsed, err := abi.JSON(strings.NewReader(SorareTokensABI)) 9113 if err != nil { 9114 return nil, err 9115 } 9116 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 9117 } 9118 9119 // Call invokes the (constant) contract method with params as input values and 9120 // sets the output to result. The result type might be a single field for simple 9121 // returns, a slice of interfaces for anonymous returns and a struct for named 9122 // returns. 9123 func (_SorareTokens *SorareTokensRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 9124 return _SorareTokens.Contract.SorareTokensCaller.contract.Call(opts, result, method, params...) 9125 } 9126 9127 // Transfer initiates a plain transaction to move funds to the contract, calling 9128 // its default method if one is available. 9129 func (_SorareTokens *SorareTokensRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 9130 return _SorareTokens.Contract.SorareTokensTransactor.contract.Transfer(opts) 9131 } 9132 9133 // Transact invokes the (paid) contract method with params as input values. 9134 func (_SorareTokens *SorareTokensRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 9135 return _SorareTokens.Contract.SorareTokensTransactor.contract.Transact(opts, method, params...) 9136 } 9137 9138 // Call invokes the (constant) contract method with params as input values and 9139 // sets the output to result. The result type might be a single field for simple 9140 // returns, a slice of interfaces for anonymous returns and a struct for named 9141 // returns. 9142 func (_SorareTokens *SorareTokensCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 9143 return _SorareTokens.Contract.contract.Call(opts, result, method, params...) 9144 } 9145 9146 // Transfer initiates a plain transaction to move funds to the contract, calling 9147 // its default method if one is available. 9148 func (_SorareTokens *SorareTokensTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 9149 return _SorareTokens.Contract.contract.Transfer(opts) 9150 } 9151 9152 // Transact invokes the (paid) contract method with params as input values. 9153 func (_SorareTokens *SorareTokensTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 9154 return _SorareTokens.Contract.contract.Transact(opts, method, params...) 9155 } 9156 9157 // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. 9158 // 9159 // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) 9160 func (_SorareTokens *SorareTokensCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) { 9161 var out []interface{} 9162 err := _SorareTokens.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE") 9163 9164 if err != nil { 9165 return *new([32]byte), err 9166 } 9167 9168 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 9169 9170 return out0, err 9171 9172 } 9173 9174 // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. 9175 // 9176 // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) 9177 func (_SorareTokens *SorareTokensSession) DEFAULTADMINROLE() ([32]byte, error) { 9178 return _SorareTokens.Contract.DEFAULTADMINROLE(&_SorareTokens.CallOpts) 9179 } 9180 9181 // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. 9182 // 9183 // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) 9184 func (_SorareTokens *SorareTokensCallerSession) DEFAULTADMINROLE() ([32]byte, error) { 9185 return _SorareTokens.Contract.DEFAULTADMINROLE(&_SorareTokens.CallOpts) 9186 } 9187 9188 // MINTERROLE is a free data retrieval call binding the contract method 0xd5391393. 9189 // 9190 // Solidity: function MINTER_ROLE() view returns(bytes32) 9191 func (_SorareTokens *SorareTokensCaller) MINTERROLE(opts *bind.CallOpts) ([32]byte, error) { 9192 var out []interface{} 9193 err := _SorareTokens.contract.Call(opts, &out, "MINTER_ROLE") 9194 9195 if err != nil { 9196 return *new([32]byte), err 9197 } 9198 9199 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 9200 9201 return out0, err 9202 9203 } 9204 9205 // MINTERROLE is a free data retrieval call binding the contract method 0xd5391393. 9206 // 9207 // Solidity: function MINTER_ROLE() view returns(bytes32) 9208 func (_SorareTokens *SorareTokensSession) MINTERROLE() ([32]byte, error) { 9209 return _SorareTokens.Contract.MINTERROLE(&_SorareTokens.CallOpts) 9210 } 9211 9212 // MINTERROLE is a free data retrieval call binding the contract method 0xd5391393. 9213 // 9214 // Solidity: function MINTER_ROLE() view returns(bytes32) 9215 func (_SorareTokens *SorareTokensCallerSession) MINTERROLE() ([32]byte, error) { 9216 return _SorareTokens.Contract.MINTERROLE(&_SorareTokens.CallOpts) 9217 } 9218 9219 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 9220 // 9221 // Solidity: function balanceOf(address owner) view returns(uint256) 9222 func (_SorareTokens *SorareTokensCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 9223 var out []interface{} 9224 err := _SorareTokens.contract.Call(opts, &out, "balanceOf", owner) 9225 9226 if err != nil { 9227 return *new(*big.Int), err 9228 } 9229 9230 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 9231 9232 return out0, err 9233 9234 } 9235 9236 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 9237 // 9238 // Solidity: function balanceOf(address owner) view returns(uint256) 9239 func (_SorareTokens *SorareTokensSession) BalanceOf(owner common.Address) (*big.Int, error) { 9240 return _SorareTokens.Contract.BalanceOf(&_SorareTokens.CallOpts, owner) 9241 } 9242 9243 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 9244 // 9245 // Solidity: function balanceOf(address owner) view returns(uint256) 9246 func (_SorareTokens *SorareTokensCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 9247 return _SorareTokens.Contract.BalanceOf(&_SorareTokens.CallOpts, owner) 9248 } 9249 9250 // BaseURI is a free data retrieval call binding the contract method 0x6c0360eb. 9251 // 9252 // Solidity: function baseURI() view returns(string) 9253 func (_SorareTokens *SorareTokensCaller) BaseURI(opts *bind.CallOpts) (string, error) { 9254 var out []interface{} 9255 err := _SorareTokens.contract.Call(opts, &out, "baseURI") 9256 9257 if err != nil { 9258 return *new(string), err 9259 } 9260 9261 out0 := *abi.ConvertType(out[0], new(string)).(*string) 9262 9263 return out0, err 9264 9265 } 9266 9267 // BaseURI is a free data retrieval call binding the contract method 0x6c0360eb. 9268 // 9269 // Solidity: function baseURI() view returns(string) 9270 func (_SorareTokens *SorareTokensSession) BaseURI() (string, error) { 9271 return _SorareTokens.Contract.BaseURI(&_SorareTokens.CallOpts) 9272 } 9273 9274 // BaseURI is a free data retrieval call binding the contract method 0x6c0360eb. 9275 // 9276 // Solidity: function baseURI() view returns(string) 9277 func (_SorareTokens *SorareTokensCallerSession) BaseURI() (string, error) { 9278 return _SorareTokens.Contract.BaseURI(&_SorareTokens.CallOpts) 9279 } 9280 9281 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 9282 // 9283 // Solidity: function getApproved(uint256 tokenId) view returns(address) 9284 func (_SorareTokens *SorareTokensCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 9285 var out []interface{} 9286 err := _SorareTokens.contract.Call(opts, &out, "getApproved", tokenId) 9287 9288 if err != nil { 9289 return *new(common.Address), err 9290 } 9291 9292 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 9293 9294 return out0, err 9295 9296 } 9297 9298 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 9299 // 9300 // Solidity: function getApproved(uint256 tokenId) view returns(address) 9301 func (_SorareTokens *SorareTokensSession) GetApproved(tokenId *big.Int) (common.Address, error) { 9302 return _SorareTokens.Contract.GetApproved(&_SorareTokens.CallOpts, tokenId) 9303 } 9304 9305 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 9306 // 9307 // Solidity: function getApproved(uint256 tokenId) view returns(address) 9308 func (_SorareTokens *SorareTokensCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 9309 return _SorareTokens.Contract.GetApproved(&_SorareTokens.CallOpts, tokenId) 9310 } 9311 9312 // GetCard is a free data retrieval call binding the contract method 0x9188d312. 9313 // 9314 // Solidity: function getCard(uint256 tokenId) view returns(uint256 playerId, uint16 season, uint256 scarcity, uint16 serialNumber, bytes metadata, uint16 clubId) 9315 func (_SorareTokens *SorareTokensCaller) GetCard(opts *bind.CallOpts, tokenId *big.Int) (struct { 9316 PlayerId *big.Int 9317 Season uint16 9318 Scarcity *big.Int 9319 SerialNumber uint16 9320 Metadata []byte 9321 ClubId uint16 9322 }, error) { 9323 var out []interface{} 9324 err := _SorareTokens.contract.Call(opts, &out, "getCard", tokenId) 9325 9326 outstruct := new(struct { 9327 PlayerId *big.Int 9328 Season uint16 9329 Scarcity *big.Int 9330 SerialNumber uint16 9331 Metadata []byte 9332 ClubId uint16 9333 }) 9334 9335 outstruct.PlayerId = out[0].(*big.Int) 9336 outstruct.Season = out[1].(uint16) 9337 outstruct.Scarcity = out[2].(*big.Int) 9338 outstruct.SerialNumber = out[3].(uint16) 9339 outstruct.Metadata = out[4].([]byte) 9340 outstruct.ClubId = out[5].(uint16) 9341 9342 return *outstruct, err 9343 9344 } 9345 9346 // GetCard is a free data retrieval call binding the contract method 0x9188d312. 9347 // 9348 // Solidity: function getCard(uint256 tokenId) view returns(uint256 playerId, uint16 season, uint256 scarcity, uint16 serialNumber, bytes metadata, uint16 clubId) 9349 func (_SorareTokens *SorareTokensSession) GetCard(tokenId *big.Int) (struct { 9350 PlayerId *big.Int 9351 Season uint16 9352 Scarcity *big.Int 9353 SerialNumber uint16 9354 Metadata []byte 9355 ClubId uint16 9356 }, error) { 9357 return _SorareTokens.Contract.GetCard(&_SorareTokens.CallOpts, tokenId) 9358 } 9359 9360 // GetCard is a free data retrieval call binding the contract method 0x9188d312. 9361 // 9362 // Solidity: function getCard(uint256 tokenId) view returns(uint256 playerId, uint16 season, uint256 scarcity, uint16 serialNumber, bytes metadata, uint16 clubId) 9363 func (_SorareTokens *SorareTokensCallerSession) GetCard(tokenId *big.Int) (struct { 9364 PlayerId *big.Int 9365 Season uint16 9366 Scarcity *big.Int 9367 SerialNumber uint16 9368 Metadata []byte 9369 ClubId uint16 9370 }, error) { 9371 return _SorareTokens.Contract.GetCard(&_SorareTokens.CallOpts, tokenId) 9372 } 9373 9374 // GetClub is a free data retrieval call binding the contract method 0x4a39d2b8. 9375 // 9376 // Solidity: function getClub(uint16 clubId) view returns(string name, string country, string city, uint16 yearFounded) 9377 func (_SorareTokens *SorareTokensCaller) GetClub(opts *bind.CallOpts, clubId uint16) (struct { 9378 Name string 9379 Country string 9380 City string 9381 YearFounded uint16 9382 }, error) { 9383 var out []interface{} 9384 err := _SorareTokens.contract.Call(opts, &out, "getClub", clubId) 9385 9386 outstruct := new(struct { 9387 Name string 9388 Country string 9389 City string 9390 YearFounded uint16 9391 }) 9392 9393 outstruct.Name = out[0].(string) 9394 outstruct.Country = out[1].(string) 9395 outstruct.City = out[2].(string) 9396 outstruct.YearFounded = out[3].(uint16) 9397 9398 return *outstruct, err 9399 9400 } 9401 9402 // GetClub is a free data retrieval call binding the contract method 0x4a39d2b8. 9403 // 9404 // Solidity: function getClub(uint16 clubId) view returns(string name, string country, string city, uint16 yearFounded) 9405 func (_SorareTokens *SorareTokensSession) GetClub(clubId uint16) (struct { 9406 Name string 9407 Country string 9408 City string 9409 YearFounded uint16 9410 }, error) { 9411 return _SorareTokens.Contract.GetClub(&_SorareTokens.CallOpts, clubId) 9412 } 9413 9414 // GetClub is a free data retrieval call binding the contract method 0x4a39d2b8. 9415 // 9416 // Solidity: function getClub(uint16 clubId) view returns(string name, string country, string city, uint16 yearFounded) 9417 func (_SorareTokens *SorareTokensCallerSession) GetClub(clubId uint16) (struct { 9418 Name string 9419 Country string 9420 City string 9421 YearFounded uint16 9422 }, error) { 9423 return _SorareTokens.Contract.GetClub(&_SorareTokens.CallOpts, clubId) 9424 } 9425 9426 // GetPlayer is a free data retrieval call binding the contract method 0xe55ae4e8. 9427 // 9428 // Solidity: function getPlayer(uint256 playerId) view returns(string name, uint16 yearOfBirth, uint8 monthOfBirth, uint8 dayOfBirth) 9429 func (_SorareTokens *SorareTokensCaller) GetPlayer(opts *bind.CallOpts, playerId *big.Int) (struct { 9430 Name string 9431 YearOfBirth uint16 9432 MonthOfBirth uint8 9433 DayOfBirth uint8 9434 }, error) { 9435 var out []interface{} 9436 err := _SorareTokens.contract.Call(opts, &out, "getPlayer", playerId) 9437 9438 outstruct := new(struct { 9439 Name string 9440 YearOfBirth uint16 9441 MonthOfBirth uint8 9442 DayOfBirth uint8 9443 }) 9444 9445 outstruct.Name = out[0].(string) 9446 outstruct.YearOfBirth = out[1].(uint16) 9447 outstruct.MonthOfBirth = out[2].(uint8) 9448 outstruct.DayOfBirth = out[3].(uint8) 9449 9450 return *outstruct, err 9451 9452 } 9453 9454 // GetPlayer is a free data retrieval call binding the contract method 0xe55ae4e8. 9455 // 9456 // Solidity: function getPlayer(uint256 playerId) view returns(string name, uint16 yearOfBirth, uint8 monthOfBirth, uint8 dayOfBirth) 9457 func (_SorareTokens *SorareTokensSession) GetPlayer(playerId *big.Int) (struct { 9458 Name string 9459 YearOfBirth uint16 9460 MonthOfBirth uint8 9461 DayOfBirth uint8 9462 }, error) { 9463 return _SorareTokens.Contract.GetPlayer(&_SorareTokens.CallOpts, playerId) 9464 } 9465 9466 // GetPlayer is a free data retrieval call binding the contract method 0xe55ae4e8. 9467 // 9468 // Solidity: function getPlayer(uint256 playerId) view returns(string name, uint16 yearOfBirth, uint8 monthOfBirth, uint8 dayOfBirth) 9469 func (_SorareTokens *SorareTokensCallerSession) GetPlayer(playerId *big.Int) (struct { 9470 Name string 9471 YearOfBirth uint16 9472 MonthOfBirth uint8 9473 DayOfBirth uint8 9474 }, error) { 9475 return _SorareTokens.Contract.GetPlayer(&_SorareTokens.CallOpts, playerId) 9476 } 9477 9478 // GetRelayAddress is a free data retrieval call binding the contract method 0x32deedc6. 9479 // 9480 // Solidity: function getRelayAddress() view returns(address) 9481 func (_SorareTokens *SorareTokensCaller) GetRelayAddress(opts *bind.CallOpts) (common.Address, error) { 9482 var out []interface{} 9483 err := _SorareTokens.contract.Call(opts, &out, "getRelayAddress") 9484 9485 if err != nil { 9486 return *new(common.Address), err 9487 } 9488 9489 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 9490 9491 return out0, err 9492 9493 } 9494 9495 // GetRelayAddress is a free data retrieval call binding the contract method 0x32deedc6. 9496 // 9497 // Solidity: function getRelayAddress() view returns(address) 9498 func (_SorareTokens *SorareTokensSession) GetRelayAddress() (common.Address, error) { 9499 return _SorareTokens.Contract.GetRelayAddress(&_SorareTokens.CallOpts) 9500 } 9501 9502 // GetRelayAddress is a free data retrieval call binding the contract method 0x32deedc6. 9503 // 9504 // Solidity: function getRelayAddress() view returns(address) 9505 func (_SorareTokens *SorareTokensCallerSession) GetRelayAddress() (common.Address, error) { 9506 return _SorareTokens.Contract.GetRelayAddress(&_SorareTokens.CallOpts) 9507 } 9508 9509 // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. 9510 // 9511 // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) 9512 func (_SorareTokens *SorareTokensCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { 9513 var out []interface{} 9514 err := _SorareTokens.contract.Call(opts, &out, "getRoleAdmin", role) 9515 9516 if err != nil { 9517 return *new([32]byte), err 9518 } 9519 9520 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 9521 9522 return out0, err 9523 9524 } 9525 9526 // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. 9527 // 9528 // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) 9529 func (_SorareTokens *SorareTokensSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { 9530 return _SorareTokens.Contract.GetRoleAdmin(&_SorareTokens.CallOpts, role) 9531 } 9532 9533 // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. 9534 // 9535 // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) 9536 func (_SorareTokens *SorareTokensCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { 9537 return _SorareTokens.Contract.GetRoleAdmin(&_SorareTokens.CallOpts, role) 9538 } 9539 9540 // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. 9541 // 9542 // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) 9543 func (_SorareTokens *SorareTokensCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) { 9544 var out []interface{} 9545 err := _SorareTokens.contract.Call(opts, &out, "getRoleMember", role, index) 9546 9547 if err != nil { 9548 return *new(common.Address), err 9549 } 9550 9551 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 9552 9553 return out0, err 9554 9555 } 9556 9557 // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. 9558 // 9559 // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) 9560 func (_SorareTokens *SorareTokensSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { 9561 return _SorareTokens.Contract.GetRoleMember(&_SorareTokens.CallOpts, role, index) 9562 } 9563 9564 // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. 9565 // 9566 // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) 9567 func (_SorareTokens *SorareTokensCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { 9568 return _SorareTokens.Contract.GetRoleMember(&_SorareTokens.CallOpts, role, index) 9569 } 9570 9571 // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. 9572 // 9573 // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) 9574 func (_SorareTokens *SorareTokensCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) { 9575 var out []interface{} 9576 err := _SorareTokens.contract.Call(opts, &out, "getRoleMemberCount", role) 9577 9578 if err != nil { 9579 return *new(*big.Int), err 9580 } 9581 9582 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 9583 9584 return out0, err 9585 9586 } 9587 9588 // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. 9589 // 9590 // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) 9591 func (_SorareTokens *SorareTokensSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { 9592 return _SorareTokens.Contract.GetRoleMemberCount(&_SorareTokens.CallOpts, role) 9593 } 9594 9595 // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. 9596 // 9597 // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) 9598 func (_SorareTokens *SorareTokensCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { 9599 return _SorareTokens.Contract.GetRoleMemberCount(&_SorareTokens.CallOpts, role) 9600 } 9601 9602 // HasRole is a free data retrieval call binding the contract method 0x91d14854. 9603 // 9604 // Solidity: function hasRole(bytes32 role, address account) view returns(bool) 9605 func (_SorareTokens *SorareTokensCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { 9606 var out []interface{} 9607 err := _SorareTokens.contract.Call(opts, &out, "hasRole", role, account) 9608 9609 if err != nil { 9610 return *new(bool), err 9611 } 9612 9613 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 9614 9615 return out0, err 9616 9617 } 9618 9619 // HasRole is a free data retrieval call binding the contract method 0x91d14854. 9620 // 9621 // Solidity: function hasRole(bytes32 role, address account) view returns(bool) 9622 func (_SorareTokens *SorareTokensSession) HasRole(role [32]byte, account common.Address) (bool, error) { 9623 return _SorareTokens.Contract.HasRole(&_SorareTokens.CallOpts, role, account) 9624 } 9625 9626 // HasRole is a free data retrieval call binding the contract method 0x91d14854. 9627 // 9628 // Solidity: function hasRole(bytes32 role, address account) view returns(bool) 9629 func (_SorareTokens *SorareTokensCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { 9630 return _SorareTokens.Contract.HasRole(&_SorareTokens.CallOpts, role, account) 9631 } 9632 9633 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 9634 // 9635 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 9636 func (_SorareTokens *SorareTokensCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 9637 var out []interface{} 9638 err := _SorareTokens.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 9639 9640 if err != nil { 9641 return *new(bool), err 9642 } 9643 9644 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 9645 9646 return out0, err 9647 9648 } 9649 9650 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 9651 // 9652 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 9653 func (_SorareTokens *SorareTokensSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 9654 return _SorareTokens.Contract.IsApprovedForAll(&_SorareTokens.CallOpts, owner, operator) 9655 } 9656 9657 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 9658 // 9659 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 9660 func (_SorareTokens *SorareTokensCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 9661 return _SorareTokens.Contract.IsApprovedForAll(&_SorareTokens.CallOpts, owner, operator) 9662 } 9663 9664 // Name is a free data retrieval call binding the contract method 0x06fdde03. 9665 // 9666 // Solidity: function name() view returns(string) 9667 func (_SorareTokens *SorareTokensCaller) Name(opts *bind.CallOpts) (string, error) { 9668 var out []interface{} 9669 err := _SorareTokens.contract.Call(opts, &out, "name") 9670 9671 if err != nil { 9672 return *new(string), err 9673 } 9674 9675 out0 := *abi.ConvertType(out[0], new(string)).(*string) 9676 9677 return out0, err 9678 9679 } 9680 9681 // Name is a free data retrieval call binding the contract method 0x06fdde03. 9682 // 9683 // Solidity: function name() view returns(string) 9684 func (_SorareTokens *SorareTokensSession) Name() (string, error) { 9685 return _SorareTokens.Contract.Name(&_SorareTokens.CallOpts) 9686 } 9687 9688 // Name is a free data retrieval call binding the contract method 0x06fdde03. 9689 // 9690 // Solidity: function name() view returns(string) 9691 func (_SorareTokens *SorareTokensCallerSession) Name() (string, error) { 9692 return _SorareTokens.Contract.Name(&_SorareTokens.CallOpts) 9693 } 9694 9695 // NextContract is a free data retrieval call binding the contract method 0xd8787fde. 9696 // 9697 // Solidity: function nextContract() view returns(address) 9698 func (_SorareTokens *SorareTokensCaller) NextContract(opts *bind.CallOpts) (common.Address, error) { 9699 var out []interface{} 9700 err := _SorareTokens.contract.Call(opts, &out, "nextContract") 9701 9702 if err != nil { 9703 return *new(common.Address), err 9704 } 9705 9706 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 9707 9708 return out0, err 9709 9710 } 9711 9712 // NextContract is a free data retrieval call binding the contract method 0xd8787fde. 9713 // 9714 // Solidity: function nextContract() view returns(address) 9715 func (_SorareTokens *SorareTokensSession) NextContract() (common.Address, error) { 9716 return _SorareTokens.Contract.NextContract(&_SorareTokens.CallOpts) 9717 } 9718 9719 // NextContract is a free data retrieval call binding the contract method 0xd8787fde. 9720 // 9721 // Solidity: function nextContract() view returns(address) 9722 func (_SorareTokens *SorareTokensCallerSession) NextContract() (common.Address, error) { 9723 return _SorareTokens.Contract.NextContract(&_SorareTokens.CallOpts) 9724 } 9725 9726 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 9727 // 9728 // Solidity: function owner() view returns(address) 9729 func (_SorareTokens *SorareTokensCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 9730 var out []interface{} 9731 err := _SorareTokens.contract.Call(opts, &out, "owner") 9732 9733 if err != nil { 9734 return *new(common.Address), err 9735 } 9736 9737 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 9738 9739 return out0, err 9740 9741 } 9742 9743 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 9744 // 9745 // Solidity: function owner() view returns(address) 9746 func (_SorareTokens *SorareTokensSession) Owner() (common.Address, error) { 9747 return _SorareTokens.Contract.Owner(&_SorareTokens.CallOpts) 9748 } 9749 9750 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 9751 // 9752 // Solidity: function owner() view returns(address) 9753 func (_SorareTokens *SorareTokensCallerSession) Owner() (common.Address, error) { 9754 return _SorareTokens.Contract.Owner(&_SorareTokens.CallOpts) 9755 } 9756 9757 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 9758 // 9759 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 9760 func (_SorareTokens *SorareTokensCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 9761 var out []interface{} 9762 err := _SorareTokens.contract.Call(opts, &out, "ownerOf", tokenId) 9763 9764 if err != nil { 9765 return *new(common.Address), err 9766 } 9767 9768 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 9769 9770 return out0, err 9771 9772 } 9773 9774 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 9775 // 9776 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 9777 func (_SorareTokens *SorareTokensSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 9778 return _SorareTokens.Contract.OwnerOf(&_SorareTokens.CallOpts, tokenId) 9779 } 9780 9781 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 9782 // 9783 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 9784 func (_SorareTokens *SorareTokensCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 9785 return _SorareTokens.Contract.OwnerOf(&_SorareTokens.CallOpts, tokenId) 9786 } 9787 9788 // SorareCards is a free data retrieval call binding the contract method 0x16b1b0c8. 9789 // 9790 // Solidity: function sorareCards() view returns(address) 9791 func (_SorareTokens *SorareTokensCaller) SorareCards(opts *bind.CallOpts) (common.Address, error) { 9792 var out []interface{} 9793 err := _SorareTokens.contract.Call(opts, &out, "sorareCards") 9794 9795 if err != nil { 9796 return *new(common.Address), err 9797 } 9798 9799 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 9800 9801 return out0, err 9802 9803 } 9804 9805 // SorareCards is a free data retrieval call binding the contract method 0x16b1b0c8. 9806 // 9807 // Solidity: function sorareCards() view returns(address) 9808 func (_SorareTokens *SorareTokensSession) SorareCards() (common.Address, error) { 9809 return _SorareTokens.Contract.SorareCards(&_SorareTokens.CallOpts) 9810 } 9811 9812 // SorareCards is a free data retrieval call binding the contract method 0x16b1b0c8. 9813 // 9814 // Solidity: function sorareCards() view returns(address) 9815 func (_SorareTokens *SorareTokensCallerSession) SorareCards() (common.Address, error) { 9816 return _SorareTokens.Contract.SorareCards(&_SorareTokens.CallOpts) 9817 } 9818 9819 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 9820 // 9821 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 9822 func (_SorareTokens *SorareTokensCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 9823 var out []interface{} 9824 err := _SorareTokens.contract.Call(opts, &out, "supportsInterface", interfaceId) 9825 9826 if err != nil { 9827 return *new(bool), err 9828 } 9829 9830 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 9831 9832 return out0, err 9833 9834 } 9835 9836 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 9837 // 9838 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 9839 func (_SorareTokens *SorareTokensSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 9840 return _SorareTokens.Contract.SupportsInterface(&_SorareTokens.CallOpts, interfaceId) 9841 } 9842 9843 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 9844 // 9845 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 9846 func (_SorareTokens *SorareTokensCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 9847 return _SorareTokens.Contract.SupportsInterface(&_SorareTokens.CallOpts, interfaceId) 9848 } 9849 9850 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 9851 // 9852 // Solidity: function symbol() view returns(string) 9853 func (_SorareTokens *SorareTokensCaller) Symbol(opts *bind.CallOpts) (string, error) { 9854 var out []interface{} 9855 err := _SorareTokens.contract.Call(opts, &out, "symbol") 9856 9857 if err != nil { 9858 return *new(string), err 9859 } 9860 9861 out0 := *abi.ConvertType(out[0], new(string)).(*string) 9862 9863 return out0, err 9864 9865 } 9866 9867 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 9868 // 9869 // Solidity: function symbol() view returns(string) 9870 func (_SorareTokens *SorareTokensSession) Symbol() (string, error) { 9871 return _SorareTokens.Contract.Symbol(&_SorareTokens.CallOpts) 9872 } 9873 9874 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 9875 // 9876 // Solidity: function symbol() view returns(string) 9877 func (_SorareTokens *SorareTokensCallerSession) Symbol() (string, error) { 9878 return _SorareTokens.Contract.Symbol(&_SorareTokens.CallOpts) 9879 } 9880 9881 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 9882 // 9883 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 9884 func (_SorareTokens *SorareTokensCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 9885 var out []interface{} 9886 err := _SorareTokens.contract.Call(opts, &out, "tokenByIndex", index) 9887 9888 if err != nil { 9889 return *new(*big.Int), err 9890 } 9891 9892 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 9893 9894 return out0, err 9895 9896 } 9897 9898 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 9899 // 9900 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 9901 func (_SorareTokens *SorareTokensSession) TokenByIndex(index *big.Int) (*big.Int, error) { 9902 return _SorareTokens.Contract.TokenByIndex(&_SorareTokens.CallOpts, index) 9903 } 9904 9905 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 9906 // 9907 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 9908 func (_SorareTokens *SorareTokensCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 9909 return _SorareTokens.Contract.TokenByIndex(&_SorareTokens.CallOpts, index) 9910 } 9911 9912 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 9913 // 9914 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 9915 func (_SorareTokens *SorareTokensCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 9916 var out []interface{} 9917 err := _SorareTokens.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index) 9918 9919 if err != nil { 9920 return *new(*big.Int), err 9921 } 9922 9923 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 9924 9925 return out0, err 9926 9927 } 9928 9929 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 9930 // 9931 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 9932 func (_SorareTokens *SorareTokensSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 9933 return _SorareTokens.Contract.TokenOfOwnerByIndex(&_SorareTokens.CallOpts, owner, index) 9934 } 9935 9936 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 9937 // 9938 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 9939 func (_SorareTokens *SorareTokensCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 9940 return _SorareTokens.Contract.TokenOfOwnerByIndex(&_SorareTokens.CallOpts, owner, index) 9941 } 9942 9943 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 9944 // 9945 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 9946 func (_SorareTokens *SorareTokensCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 9947 var out []interface{} 9948 err := _SorareTokens.contract.Call(opts, &out, "tokenURI", tokenId) 9949 9950 if err != nil { 9951 return *new(string), err 9952 } 9953 9954 out0 := *abi.ConvertType(out[0], new(string)).(*string) 9955 9956 return out0, err 9957 9958 } 9959 9960 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 9961 // 9962 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 9963 func (_SorareTokens *SorareTokensSession) TokenURI(tokenId *big.Int) (string, error) { 9964 return _SorareTokens.Contract.TokenURI(&_SorareTokens.CallOpts, tokenId) 9965 } 9966 9967 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 9968 // 9969 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 9970 func (_SorareTokens *SorareTokensCallerSession) TokenURI(tokenId *big.Int) (string, error) { 9971 return _SorareTokens.Contract.TokenURI(&_SorareTokens.CallOpts, tokenId) 9972 } 9973 9974 // TokensOfOwner is a free data retrieval call binding the contract method 0x4d9c5e58. 9975 // 9976 // Solidity: function tokensOfOwner(address owner, uint8 page, uint8 rows) view returns(uint256[]) 9977 func (_SorareTokens *SorareTokensCaller) TokensOfOwner(opts *bind.CallOpts, owner common.Address, page uint8, rows uint8) ([]*big.Int, error) { 9978 var out []interface{} 9979 err := _SorareTokens.contract.Call(opts, &out, "tokensOfOwner", owner, page, rows) 9980 9981 if err != nil { 9982 return *new([]*big.Int), err 9983 } 9984 9985 out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) 9986 9987 return out0, err 9988 9989 } 9990 9991 // TokensOfOwner is a free data retrieval call binding the contract method 0x4d9c5e58. 9992 // 9993 // Solidity: function tokensOfOwner(address owner, uint8 page, uint8 rows) view returns(uint256[]) 9994 func (_SorareTokens *SorareTokensSession) TokensOfOwner(owner common.Address, page uint8, rows uint8) ([]*big.Int, error) { 9995 return _SorareTokens.Contract.TokensOfOwner(&_SorareTokens.CallOpts, owner, page, rows) 9996 } 9997 9998 // TokensOfOwner is a free data retrieval call binding the contract method 0x4d9c5e58. 9999 // 10000 // Solidity: function tokensOfOwner(address owner, uint8 page, uint8 rows) view returns(uint256[]) 10001 func (_SorareTokens *SorareTokensCallerSession) TokensOfOwner(owner common.Address, page uint8, rows uint8) ([]*big.Int, error) { 10002 return _SorareTokens.Contract.TokensOfOwner(&_SorareTokens.CallOpts, owner, page, rows) 10003 } 10004 10005 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 10006 // 10007 // Solidity: function totalSupply() view returns(uint256) 10008 func (_SorareTokens *SorareTokensCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 10009 var out []interface{} 10010 err := _SorareTokens.contract.Call(opts, &out, "totalSupply") 10011 10012 if err != nil { 10013 return *new(*big.Int), err 10014 } 10015 10016 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 10017 10018 return out0, err 10019 10020 } 10021 10022 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 10023 // 10024 // Solidity: function totalSupply() view returns(uint256) 10025 func (_SorareTokens *SorareTokensSession) TotalSupply() (*big.Int, error) { 10026 return _SorareTokens.Contract.TotalSupply(&_SorareTokens.CallOpts) 10027 } 10028 10029 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 10030 // 10031 // Solidity: function totalSupply() view returns(uint256) 10032 func (_SorareTokens *SorareTokensCallerSession) TotalSupply() (*big.Int, error) { 10033 return _SorareTokens.Contract.TotalSupply(&_SorareTokens.CallOpts) 10034 } 10035 10036 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 10037 // 10038 // Solidity: function addMinter(address account) returns() 10039 func (_SorareTokens *SorareTokensTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 10040 return _SorareTokens.contract.Transact(opts, "addMinter", account) 10041 } 10042 10043 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 10044 // 10045 // Solidity: function addMinter(address account) returns() 10046 func (_SorareTokens *SorareTokensSession) AddMinter(account common.Address) (*types.Transaction, error) { 10047 return _SorareTokens.Contract.AddMinter(&_SorareTokens.TransactOpts, account) 10048 } 10049 10050 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 10051 // 10052 // Solidity: function addMinter(address account) returns() 10053 func (_SorareTokens *SorareTokensTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 10054 return _SorareTokens.Contract.AddMinter(&_SorareTokens.TransactOpts, account) 10055 } 10056 10057 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 10058 // 10059 // Solidity: function approve(address to, uint256 tokenId) returns() 10060 func (_SorareTokens *SorareTokensTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10061 return _SorareTokens.contract.Transact(opts, "approve", to, tokenId) 10062 } 10063 10064 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 10065 // 10066 // Solidity: function approve(address to, uint256 tokenId) returns() 10067 func (_SorareTokens *SorareTokensSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10068 return _SorareTokens.Contract.Approve(&_SorareTokens.TransactOpts, to, tokenId) 10069 } 10070 10071 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 10072 // 10073 // Solidity: function approve(address to, uint256 tokenId) returns() 10074 func (_SorareTokens *SorareTokensTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10075 return _SorareTokens.Contract.Approve(&_SorareTokens.TransactOpts, to, tokenId) 10076 } 10077 10078 // BlockRelay is a paid mutator transaction binding the contract method 0x309e11fc. 10079 // 10080 // Solidity: function blockRelay() returns() 10081 func (_SorareTokens *SorareTokensTransactor) BlockRelay(opts *bind.TransactOpts) (*types.Transaction, error) { 10082 return _SorareTokens.contract.Transact(opts, "blockRelay") 10083 } 10084 10085 // BlockRelay is a paid mutator transaction binding the contract method 0x309e11fc. 10086 // 10087 // Solidity: function blockRelay() returns() 10088 func (_SorareTokens *SorareTokensSession) BlockRelay() (*types.Transaction, error) { 10089 return _SorareTokens.Contract.BlockRelay(&_SorareTokens.TransactOpts) 10090 } 10091 10092 // BlockRelay is a paid mutator transaction binding the contract method 0x309e11fc. 10093 // 10094 // Solidity: function blockRelay() returns() 10095 func (_SorareTokens *SorareTokensTransactorSession) BlockRelay() (*types.Transaction, error) { 10096 return _SorareTokens.Contract.BlockRelay(&_SorareTokens.TransactOpts) 10097 } 10098 10099 // CreateCardAndMintToken is a paid mutator transaction binding the contract method 0x2850d20e. 10100 // 10101 // Solidity: function createCardAndMintToken(uint256 playerId, uint16 season, uint8 scarcity, uint16 serialNumber, bytes32 metadata, uint16 clubId, address to) returns(uint256) 10102 func (_SorareTokens *SorareTokensTransactor) CreateCardAndMintToken(opts *bind.TransactOpts, playerId *big.Int, season uint16, scarcity uint8, serialNumber uint16, metadata [32]byte, clubId uint16, to common.Address) (*types.Transaction, error) { 10103 return _SorareTokens.contract.Transact(opts, "createCardAndMintToken", playerId, season, scarcity, serialNumber, metadata, clubId, to) 10104 } 10105 10106 // CreateCardAndMintToken is a paid mutator transaction binding the contract method 0x2850d20e. 10107 // 10108 // Solidity: function createCardAndMintToken(uint256 playerId, uint16 season, uint8 scarcity, uint16 serialNumber, bytes32 metadata, uint16 clubId, address to) returns(uint256) 10109 func (_SorareTokens *SorareTokensSession) CreateCardAndMintToken(playerId *big.Int, season uint16, scarcity uint8, serialNumber uint16, metadata [32]byte, clubId uint16, to common.Address) (*types.Transaction, error) { 10110 return _SorareTokens.Contract.CreateCardAndMintToken(&_SorareTokens.TransactOpts, playerId, season, scarcity, serialNumber, metadata, clubId, to) 10111 } 10112 10113 // CreateCardAndMintToken is a paid mutator transaction binding the contract method 0x2850d20e. 10114 // 10115 // Solidity: function createCardAndMintToken(uint256 playerId, uint16 season, uint8 scarcity, uint16 serialNumber, bytes32 metadata, uint16 clubId, address to) returns(uint256) 10116 func (_SorareTokens *SorareTokensTransactorSession) CreateCardAndMintToken(playerId *big.Int, season uint16, scarcity uint8, serialNumber uint16, metadata [32]byte, clubId uint16, to common.Address) (*types.Transaction, error) { 10117 return _SorareTokens.Contract.CreateCardAndMintToken(&_SorareTokens.TransactOpts, playerId, season, scarcity, serialNumber, metadata, clubId, to) 10118 } 10119 10120 // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. 10121 // 10122 // Solidity: function grantRole(bytes32 role, address account) returns() 10123 func (_SorareTokens *SorareTokensTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { 10124 return _SorareTokens.contract.Transact(opts, "grantRole", role, account) 10125 } 10126 10127 // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. 10128 // 10129 // Solidity: function grantRole(bytes32 role, address account) returns() 10130 func (_SorareTokens *SorareTokensSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { 10131 return _SorareTokens.Contract.GrantRole(&_SorareTokens.TransactOpts, role, account) 10132 } 10133 10134 // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. 10135 // 10136 // Solidity: function grantRole(bytes32 role, address account) returns() 10137 func (_SorareTokens *SorareTokensTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { 10138 return _SorareTokens.Contract.GrantRole(&_SorareTokens.TransactOpts, role, account) 10139 } 10140 10141 // MigrateTokens is a paid mutator transaction binding the contract method 0xe5951e60. 10142 // 10143 // Solidity: function migrateTokens(uint256[] tokenIds) returns() 10144 func (_SorareTokens *SorareTokensTransactor) MigrateTokens(opts *bind.TransactOpts, tokenIds []*big.Int) (*types.Transaction, error) { 10145 return _SorareTokens.contract.Transact(opts, "migrateTokens", tokenIds) 10146 } 10147 10148 // MigrateTokens is a paid mutator transaction binding the contract method 0xe5951e60. 10149 // 10150 // Solidity: function migrateTokens(uint256[] tokenIds) returns() 10151 func (_SorareTokens *SorareTokensSession) MigrateTokens(tokenIds []*big.Int) (*types.Transaction, error) { 10152 return _SorareTokens.Contract.MigrateTokens(&_SorareTokens.TransactOpts, tokenIds) 10153 } 10154 10155 // MigrateTokens is a paid mutator transaction binding the contract method 0xe5951e60. 10156 // 10157 // Solidity: function migrateTokens(uint256[] tokenIds) returns() 10158 func (_SorareTokens *SorareTokensTransactorSession) MigrateTokens(tokenIds []*big.Int) (*types.Transaction, error) { 10159 return _SorareTokens.Contract.MigrateTokens(&_SorareTokens.TransactOpts, tokenIds) 10160 } 10161 10162 // MintToken is a paid mutator transaction binding the contract method 0xa140ae23. 10163 // 10164 // Solidity: function mintToken(uint256 cardId, address to) returns(uint256) 10165 func (_SorareTokens *SorareTokensTransactor) MintToken(opts *bind.TransactOpts, cardId *big.Int, to common.Address) (*types.Transaction, error) { 10166 return _SorareTokens.contract.Transact(opts, "mintToken", cardId, to) 10167 } 10168 10169 // MintToken is a paid mutator transaction binding the contract method 0xa140ae23. 10170 // 10171 // Solidity: function mintToken(uint256 cardId, address to) returns(uint256) 10172 func (_SorareTokens *SorareTokensSession) MintToken(cardId *big.Int, to common.Address) (*types.Transaction, error) { 10173 return _SorareTokens.Contract.MintToken(&_SorareTokens.TransactOpts, cardId, to) 10174 } 10175 10176 // MintToken is a paid mutator transaction binding the contract method 0xa140ae23. 10177 // 10178 // Solidity: function mintToken(uint256 cardId, address to) returns(uint256) 10179 func (_SorareTokens *SorareTokensTransactorSession) MintToken(cardId *big.Int, to common.Address) (*types.Transaction, error) { 10180 return _SorareTokens.Contract.MintToken(&_SorareTokens.TransactOpts, cardId, to) 10181 } 10182 10183 // RenounceMinter is a paid mutator transaction binding the contract method 0x5f112c68. 10184 // 10185 // Solidity: function renounceMinter(address account) returns() 10186 func (_SorareTokens *SorareTokensTransactor) RenounceMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 10187 return _SorareTokens.contract.Transact(opts, "renounceMinter", account) 10188 } 10189 10190 // RenounceMinter is a paid mutator transaction binding the contract method 0x5f112c68. 10191 // 10192 // Solidity: function renounceMinter(address account) returns() 10193 func (_SorareTokens *SorareTokensSession) RenounceMinter(account common.Address) (*types.Transaction, error) { 10194 return _SorareTokens.Contract.RenounceMinter(&_SorareTokens.TransactOpts, account) 10195 } 10196 10197 // RenounceMinter is a paid mutator transaction binding the contract method 0x5f112c68. 10198 // 10199 // Solidity: function renounceMinter(address account) returns() 10200 func (_SorareTokens *SorareTokensTransactorSession) RenounceMinter(account common.Address) (*types.Transaction, error) { 10201 return _SorareTokens.Contract.RenounceMinter(&_SorareTokens.TransactOpts, account) 10202 } 10203 10204 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 10205 // 10206 // Solidity: function renounceOwnership() returns() 10207 func (_SorareTokens *SorareTokensTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 10208 return _SorareTokens.contract.Transact(opts, "renounceOwnership") 10209 } 10210 10211 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 10212 // 10213 // Solidity: function renounceOwnership() returns() 10214 func (_SorareTokens *SorareTokensSession) RenounceOwnership() (*types.Transaction, error) { 10215 return _SorareTokens.Contract.RenounceOwnership(&_SorareTokens.TransactOpts) 10216 } 10217 10218 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 10219 // 10220 // Solidity: function renounceOwnership() returns() 10221 func (_SorareTokens *SorareTokensTransactorSession) RenounceOwnership() (*types.Transaction, error) { 10222 return _SorareTokens.Contract.RenounceOwnership(&_SorareTokens.TransactOpts) 10223 } 10224 10225 // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. 10226 // 10227 // Solidity: function renounceRole(bytes32 role, address account) returns() 10228 func (_SorareTokens *SorareTokensTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { 10229 return _SorareTokens.contract.Transact(opts, "renounceRole", role, account) 10230 } 10231 10232 // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. 10233 // 10234 // Solidity: function renounceRole(bytes32 role, address account) returns() 10235 func (_SorareTokens *SorareTokensSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { 10236 return _SorareTokens.Contract.RenounceRole(&_SorareTokens.TransactOpts, role, account) 10237 } 10238 10239 // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. 10240 // 10241 // Solidity: function renounceRole(bytes32 role, address account) returns() 10242 func (_SorareTokens *SorareTokensTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { 10243 return _SorareTokens.Contract.RenounceRole(&_SorareTokens.TransactOpts, role, account) 10244 } 10245 10246 // RevokeMinter is a paid mutator transaction binding the contract method 0xcfbd4885. 10247 // 10248 // Solidity: function revokeMinter(address account) returns() 10249 func (_SorareTokens *SorareTokensTransactor) RevokeMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 10250 return _SorareTokens.contract.Transact(opts, "revokeMinter", account) 10251 } 10252 10253 // RevokeMinter is a paid mutator transaction binding the contract method 0xcfbd4885. 10254 // 10255 // Solidity: function revokeMinter(address account) returns() 10256 func (_SorareTokens *SorareTokensSession) RevokeMinter(account common.Address) (*types.Transaction, error) { 10257 return _SorareTokens.Contract.RevokeMinter(&_SorareTokens.TransactOpts, account) 10258 } 10259 10260 // RevokeMinter is a paid mutator transaction binding the contract method 0xcfbd4885. 10261 // 10262 // Solidity: function revokeMinter(address account) returns() 10263 func (_SorareTokens *SorareTokensTransactorSession) RevokeMinter(account common.Address) (*types.Transaction, error) { 10264 return _SorareTokens.Contract.RevokeMinter(&_SorareTokens.TransactOpts, account) 10265 } 10266 10267 // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. 10268 // 10269 // Solidity: function revokeRole(bytes32 role, address account) returns() 10270 func (_SorareTokens *SorareTokensTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { 10271 return _SorareTokens.contract.Transact(opts, "revokeRole", role, account) 10272 } 10273 10274 // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. 10275 // 10276 // Solidity: function revokeRole(bytes32 role, address account) returns() 10277 func (_SorareTokens *SorareTokensSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { 10278 return _SorareTokens.Contract.RevokeRole(&_SorareTokens.TransactOpts, role, account) 10279 } 10280 10281 // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. 10282 // 10283 // Solidity: function revokeRole(bytes32 role, address account) returns() 10284 func (_SorareTokens *SorareTokensTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { 10285 return _SorareTokens.Contract.RevokeRole(&_SorareTokens.TransactOpts, role, account) 10286 } 10287 10288 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 10289 // 10290 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 10291 func (_SorareTokens *SorareTokensTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10292 return _SorareTokens.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 10293 } 10294 10295 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 10296 // 10297 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 10298 func (_SorareTokens *SorareTokensSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10299 return _SorareTokens.Contract.SafeTransferFrom(&_SorareTokens.TransactOpts, from, to, tokenId) 10300 } 10301 10302 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 10303 // 10304 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 10305 func (_SorareTokens *SorareTokensTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10306 return _SorareTokens.Contract.SafeTransferFrom(&_SorareTokens.TransactOpts, from, to, tokenId) 10307 } 10308 10309 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 10310 // 10311 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 10312 func (_SorareTokens *SorareTokensTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 10313 return _SorareTokens.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 10314 } 10315 10316 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 10317 // 10318 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 10319 func (_SorareTokens *SorareTokensSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 10320 return _SorareTokens.Contract.SafeTransferFrom0(&_SorareTokens.TransactOpts, from, to, tokenId, _data) 10321 } 10322 10323 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 10324 // 10325 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 10326 func (_SorareTokens *SorareTokensTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 10327 return _SorareTokens.Contract.SafeTransferFrom0(&_SorareTokens.TransactOpts, from, to, tokenId, _data) 10328 } 10329 10330 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 10331 // 10332 // Solidity: function setApprovalForAll(address operator, bool approved) returns() 10333 func (_SorareTokens *SorareTokensTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) { 10334 return _SorareTokens.contract.Transact(opts, "setApprovalForAll", operator, approved) 10335 } 10336 10337 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 10338 // 10339 // Solidity: function setApprovalForAll(address operator, bool approved) returns() 10340 func (_SorareTokens *SorareTokensSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { 10341 return _SorareTokens.Contract.SetApprovalForAll(&_SorareTokens.TransactOpts, operator, approved) 10342 } 10343 10344 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 10345 // 10346 // Solidity: function setApprovalForAll(address operator, bool approved) returns() 10347 func (_SorareTokens *SorareTokensTransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { 10348 return _SorareTokens.Contract.SetApprovalForAll(&_SorareTokens.TransactOpts, operator, approved) 10349 } 10350 10351 // SetNextContract is a paid mutator transaction binding the contract method 0x53390100. 10352 // 10353 // Solidity: function setNextContract(address nextContractAddress) returns() 10354 func (_SorareTokens *SorareTokensTransactor) SetNextContract(opts *bind.TransactOpts, nextContractAddress common.Address) (*types.Transaction, error) { 10355 return _SorareTokens.contract.Transact(opts, "setNextContract", nextContractAddress) 10356 } 10357 10358 // SetNextContract is a paid mutator transaction binding the contract method 0x53390100. 10359 // 10360 // Solidity: function setNextContract(address nextContractAddress) returns() 10361 func (_SorareTokens *SorareTokensSession) SetNextContract(nextContractAddress common.Address) (*types.Transaction, error) { 10362 return _SorareTokens.Contract.SetNextContract(&_SorareTokens.TransactOpts, nextContractAddress) 10363 } 10364 10365 // SetNextContract is a paid mutator transaction binding the contract method 0x53390100. 10366 // 10367 // Solidity: function setNextContract(address nextContractAddress) returns() 10368 func (_SorareTokens *SorareTokensTransactorSession) SetNextContract(nextContractAddress common.Address) (*types.Transaction, error) { 10369 return _SorareTokens.Contract.SetNextContract(&_SorareTokens.TransactOpts, nextContractAddress) 10370 } 10371 10372 // SetTokenURIPrefix is a paid mutator transaction binding the contract method 0x99e0dd7c. 10373 // 10374 // Solidity: function setTokenURIPrefix(string prefix) returns() 10375 func (_SorareTokens *SorareTokensTransactor) SetTokenURIPrefix(opts *bind.TransactOpts, prefix string) (*types.Transaction, error) { 10376 return _SorareTokens.contract.Transact(opts, "setTokenURIPrefix", prefix) 10377 } 10378 10379 // SetTokenURIPrefix is a paid mutator transaction binding the contract method 0x99e0dd7c. 10380 // 10381 // Solidity: function setTokenURIPrefix(string prefix) returns() 10382 func (_SorareTokens *SorareTokensSession) SetTokenURIPrefix(prefix string) (*types.Transaction, error) { 10383 return _SorareTokens.Contract.SetTokenURIPrefix(&_SorareTokens.TransactOpts, prefix) 10384 } 10385 10386 // SetTokenURIPrefix is a paid mutator transaction binding the contract method 0x99e0dd7c. 10387 // 10388 // Solidity: function setTokenURIPrefix(string prefix) returns() 10389 func (_SorareTokens *SorareTokensTransactorSession) SetTokenURIPrefix(prefix string) (*types.Transaction, error) { 10390 return _SorareTokens.Contract.SetTokenURIPrefix(&_SorareTokens.TransactOpts, prefix) 10391 } 10392 10393 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 10394 // 10395 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 10396 func (_SorareTokens *SorareTokensTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10397 return _SorareTokens.contract.Transact(opts, "transferFrom", from, to, tokenId) 10398 } 10399 10400 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 10401 // 10402 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 10403 func (_SorareTokens *SorareTokensSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10404 return _SorareTokens.Contract.TransferFrom(&_SorareTokens.TransactOpts, from, to, tokenId) 10405 } 10406 10407 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 10408 // 10409 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 10410 func (_SorareTokens *SorareTokensTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10411 return _SorareTokens.Contract.TransferFrom(&_SorareTokens.TransactOpts, from, to, tokenId) 10412 } 10413 10414 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 10415 // 10416 // Solidity: function transferOwnership(address newOwner) returns() 10417 func (_SorareTokens *SorareTokensTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 10418 return _SorareTokens.contract.Transact(opts, "transferOwnership", newOwner) 10419 } 10420 10421 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 10422 // 10423 // Solidity: function transferOwnership(address newOwner) returns() 10424 func (_SorareTokens *SorareTokensSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 10425 return _SorareTokens.Contract.TransferOwnership(&_SorareTokens.TransactOpts, newOwner) 10426 } 10427 10428 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 10429 // 10430 // Solidity: function transferOwnership(address newOwner) returns() 10431 func (_SorareTokens *SorareTokensTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 10432 return _SorareTokens.Contract.TransferOwnership(&_SorareTokens.TransactOpts, newOwner) 10433 } 10434 10435 // SorareTokensApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the SorareTokens contract. 10436 type SorareTokensApprovalIterator struct { 10437 Event *SorareTokensApproval // Event containing the contract specifics and raw log 10438 10439 contract *bind.BoundContract // Generic contract to use for unpacking event data 10440 event string // Event name to use for unpacking event data 10441 10442 logs chan types.Log // Log channel receiving the found contract events 10443 sub ethereum.Subscription // Subscription for errors, completion and termination 10444 done bool // Whether the subscription completed delivering logs 10445 fail error // Occurred error to stop iteration 10446 } 10447 10448 // Next advances the iterator to the subsequent event, returning whether there 10449 // are any more events found. In case of a retrieval or parsing error, false is 10450 // returned and Error() can be queried for the exact failure. 10451 func (it *SorareTokensApprovalIterator) Next() bool { 10452 // If the iterator failed, stop iterating 10453 if it.fail != nil { 10454 return false 10455 } 10456 // If the iterator completed, deliver directly whatever's available 10457 if it.done { 10458 select { 10459 case log := <-it.logs: 10460 it.Event = new(SorareTokensApproval) 10461 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10462 it.fail = err 10463 return false 10464 } 10465 it.Event.Raw = log 10466 return true 10467 10468 default: 10469 return false 10470 } 10471 } 10472 // Iterator still in progress, wait for either a data or an error event 10473 select { 10474 case log := <-it.logs: 10475 it.Event = new(SorareTokensApproval) 10476 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10477 it.fail = err 10478 return false 10479 } 10480 it.Event.Raw = log 10481 return true 10482 10483 case err := <-it.sub.Err(): 10484 it.done = true 10485 it.fail = err 10486 return it.Next() 10487 } 10488 } 10489 10490 // Error returns any retrieval or parsing error occurred during filtering. 10491 func (it *SorareTokensApprovalIterator) Error() error { 10492 return it.fail 10493 } 10494 10495 // Close terminates the iteration process, releasing any pending underlying 10496 // resources. 10497 func (it *SorareTokensApprovalIterator) Close() error { 10498 it.sub.Unsubscribe() 10499 return nil 10500 } 10501 10502 // SorareTokensApproval represents a Approval event raised by the SorareTokens contract. 10503 type SorareTokensApproval struct { 10504 Owner common.Address 10505 Approved common.Address 10506 TokenId *big.Int 10507 Raw types.Log // Blockchain specific contextual infos 10508 } 10509 10510 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 10511 // 10512 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 10513 func (_SorareTokens *SorareTokensFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*SorareTokensApprovalIterator, error) { 10514 10515 var ownerRule []interface{} 10516 for _, ownerItem := range owner { 10517 ownerRule = append(ownerRule, ownerItem) 10518 } 10519 var approvedRule []interface{} 10520 for _, approvedItem := range approved { 10521 approvedRule = append(approvedRule, approvedItem) 10522 } 10523 var tokenIdRule []interface{} 10524 for _, tokenIdItem := range tokenId { 10525 tokenIdRule = append(tokenIdRule, tokenIdItem) 10526 } 10527 10528 logs, sub, err := _SorareTokens.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 10529 if err != nil { 10530 return nil, err 10531 } 10532 return &SorareTokensApprovalIterator{contract: _SorareTokens.contract, event: "Approval", logs: logs, sub: sub}, nil 10533 } 10534 10535 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 10536 // 10537 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 10538 func (_SorareTokens *SorareTokensFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *SorareTokensApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 10539 10540 var ownerRule []interface{} 10541 for _, ownerItem := range owner { 10542 ownerRule = append(ownerRule, ownerItem) 10543 } 10544 var approvedRule []interface{} 10545 for _, approvedItem := range approved { 10546 approvedRule = append(approvedRule, approvedItem) 10547 } 10548 var tokenIdRule []interface{} 10549 for _, tokenIdItem := range tokenId { 10550 tokenIdRule = append(tokenIdRule, tokenIdItem) 10551 } 10552 10553 logs, sub, err := _SorareTokens.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 10554 if err != nil { 10555 return nil, err 10556 } 10557 return event.NewSubscription(func(quit <-chan struct{}) error { 10558 defer sub.Unsubscribe() 10559 for { 10560 select { 10561 case log := <-logs: 10562 // New log arrived, parse the event and forward to the user 10563 event := new(SorareTokensApproval) 10564 if err := _SorareTokens.contract.UnpackLog(event, "Approval", log); err != nil { 10565 return err 10566 } 10567 event.Raw = log 10568 10569 select { 10570 case sink <- event: 10571 case err := <-sub.Err(): 10572 return err 10573 case <-quit: 10574 return nil 10575 } 10576 case err := <-sub.Err(): 10577 return err 10578 case <-quit: 10579 return nil 10580 } 10581 } 10582 }), nil 10583 } 10584 10585 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 10586 // 10587 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 10588 func (_SorareTokens *SorareTokensFilterer) ParseApproval(log types.Log) (*SorareTokensApproval, error) { 10589 event := new(SorareTokensApproval) 10590 if err := _SorareTokens.contract.UnpackLog(event, "Approval", log); err != nil { 10591 return nil, err 10592 } 10593 event.Raw = log 10594 return event, nil 10595 } 10596 10597 // SorareTokensApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the SorareTokens contract. 10598 type SorareTokensApprovalForAllIterator struct { 10599 Event *SorareTokensApprovalForAll // Event containing the contract specifics and raw log 10600 10601 contract *bind.BoundContract // Generic contract to use for unpacking event data 10602 event string // Event name to use for unpacking event data 10603 10604 logs chan types.Log // Log channel receiving the found contract events 10605 sub ethereum.Subscription // Subscription for errors, completion and termination 10606 done bool // Whether the subscription completed delivering logs 10607 fail error // Occurred error to stop iteration 10608 } 10609 10610 // Next advances the iterator to the subsequent event, returning whether there 10611 // are any more events found. In case of a retrieval or parsing error, false is 10612 // returned and Error() can be queried for the exact failure. 10613 func (it *SorareTokensApprovalForAllIterator) Next() bool { 10614 // If the iterator failed, stop iterating 10615 if it.fail != nil { 10616 return false 10617 } 10618 // If the iterator completed, deliver directly whatever's available 10619 if it.done { 10620 select { 10621 case log := <-it.logs: 10622 it.Event = new(SorareTokensApprovalForAll) 10623 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10624 it.fail = err 10625 return false 10626 } 10627 it.Event.Raw = log 10628 return true 10629 10630 default: 10631 return false 10632 } 10633 } 10634 // Iterator still in progress, wait for either a data or an error event 10635 select { 10636 case log := <-it.logs: 10637 it.Event = new(SorareTokensApprovalForAll) 10638 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10639 it.fail = err 10640 return false 10641 } 10642 it.Event.Raw = log 10643 return true 10644 10645 case err := <-it.sub.Err(): 10646 it.done = true 10647 it.fail = err 10648 return it.Next() 10649 } 10650 } 10651 10652 // Error returns any retrieval or parsing error occurred during filtering. 10653 func (it *SorareTokensApprovalForAllIterator) Error() error { 10654 return it.fail 10655 } 10656 10657 // Close terminates the iteration process, releasing any pending underlying 10658 // resources. 10659 func (it *SorareTokensApprovalForAllIterator) Close() error { 10660 it.sub.Unsubscribe() 10661 return nil 10662 } 10663 10664 // SorareTokensApprovalForAll represents a ApprovalForAll event raised by the SorareTokens contract. 10665 type SorareTokensApprovalForAll struct { 10666 Owner common.Address 10667 Operator common.Address 10668 Approved bool 10669 Raw types.Log // Blockchain specific contextual infos 10670 } 10671 10672 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 10673 // 10674 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 10675 func (_SorareTokens *SorareTokensFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*SorareTokensApprovalForAllIterator, error) { 10676 10677 var ownerRule []interface{} 10678 for _, ownerItem := range owner { 10679 ownerRule = append(ownerRule, ownerItem) 10680 } 10681 var operatorRule []interface{} 10682 for _, operatorItem := range operator { 10683 operatorRule = append(operatorRule, operatorItem) 10684 } 10685 10686 logs, sub, err := _SorareTokens.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 10687 if err != nil { 10688 return nil, err 10689 } 10690 return &SorareTokensApprovalForAllIterator{contract: _SorareTokens.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 10691 } 10692 10693 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 10694 // 10695 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 10696 func (_SorareTokens *SorareTokensFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *SorareTokensApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 10697 10698 var ownerRule []interface{} 10699 for _, ownerItem := range owner { 10700 ownerRule = append(ownerRule, ownerItem) 10701 } 10702 var operatorRule []interface{} 10703 for _, operatorItem := range operator { 10704 operatorRule = append(operatorRule, operatorItem) 10705 } 10706 10707 logs, sub, err := _SorareTokens.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 10708 if err != nil { 10709 return nil, err 10710 } 10711 return event.NewSubscription(func(quit <-chan struct{}) error { 10712 defer sub.Unsubscribe() 10713 for { 10714 select { 10715 case log := <-logs: 10716 // New log arrived, parse the event and forward to the user 10717 event := new(SorareTokensApprovalForAll) 10718 if err := _SorareTokens.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 10719 return err 10720 } 10721 event.Raw = log 10722 10723 select { 10724 case sink <- event: 10725 case err := <-sub.Err(): 10726 return err 10727 case <-quit: 10728 return nil 10729 } 10730 case err := <-sub.Err(): 10731 return err 10732 case <-quit: 10733 return nil 10734 } 10735 } 10736 }), nil 10737 } 10738 10739 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 10740 // 10741 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 10742 func (_SorareTokens *SorareTokensFilterer) ParseApprovalForAll(log types.Log) (*SorareTokensApprovalForAll, error) { 10743 event := new(SorareTokensApprovalForAll) 10744 if err := _SorareTokens.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 10745 return nil, err 10746 } 10747 event.Raw = log 10748 return event, nil 10749 } 10750 10751 // SorareTokensOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the SorareTokens contract. 10752 type SorareTokensOwnershipTransferredIterator struct { 10753 Event *SorareTokensOwnershipTransferred // Event containing the contract specifics and raw log 10754 10755 contract *bind.BoundContract // Generic contract to use for unpacking event data 10756 event string // Event name to use for unpacking event data 10757 10758 logs chan types.Log // Log channel receiving the found contract events 10759 sub ethereum.Subscription // Subscription for errors, completion and termination 10760 done bool // Whether the subscription completed delivering logs 10761 fail error // Occurred error to stop iteration 10762 } 10763 10764 // Next advances the iterator to the subsequent event, returning whether there 10765 // are any more events found. In case of a retrieval or parsing error, false is 10766 // returned and Error() can be queried for the exact failure. 10767 func (it *SorareTokensOwnershipTransferredIterator) Next() bool { 10768 // If the iterator failed, stop iterating 10769 if it.fail != nil { 10770 return false 10771 } 10772 // If the iterator completed, deliver directly whatever's available 10773 if it.done { 10774 select { 10775 case log := <-it.logs: 10776 it.Event = new(SorareTokensOwnershipTransferred) 10777 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10778 it.fail = err 10779 return false 10780 } 10781 it.Event.Raw = log 10782 return true 10783 10784 default: 10785 return false 10786 } 10787 } 10788 // Iterator still in progress, wait for either a data or an error event 10789 select { 10790 case log := <-it.logs: 10791 it.Event = new(SorareTokensOwnershipTransferred) 10792 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10793 it.fail = err 10794 return false 10795 } 10796 it.Event.Raw = log 10797 return true 10798 10799 case err := <-it.sub.Err(): 10800 it.done = true 10801 it.fail = err 10802 return it.Next() 10803 } 10804 } 10805 10806 // Error returns any retrieval or parsing error occurred during filtering. 10807 func (it *SorareTokensOwnershipTransferredIterator) Error() error { 10808 return it.fail 10809 } 10810 10811 // Close terminates the iteration process, releasing any pending underlying 10812 // resources. 10813 func (it *SorareTokensOwnershipTransferredIterator) Close() error { 10814 it.sub.Unsubscribe() 10815 return nil 10816 } 10817 10818 // SorareTokensOwnershipTransferred represents a OwnershipTransferred event raised by the SorareTokens contract. 10819 type SorareTokensOwnershipTransferred struct { 10820 PreviousOwner common.Address 10821 NewOwner common.Address 10822 Raw types.Log // Blockchain specific contextual infos 10823 } 10824 10825 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 10826 // 10827 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 10828 func (_SorareTokens *SorareTokensFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*SorareTokensOwnershipTransferredIterator, error) { 10829 10830 var previousOwnerRule []interface{} 10831 for _, previousOwnerItem := range previousOwner { 10832 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 10833 } 10834 var newOwnerRule []interface{} 10835 for _, newOwnerItem := range newOwner { 10836 newOwnerRule = append(newOwnerRule, newOwnerItem) 10837 } 10838 10839 logs, sub, err := _SorareTokens.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 10840 if err != nil { 10841 return nil, err 10842 } 10843 return &SorareTokensOwnershipTransferredIterator{contract: _SorareTokens.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 10844 } 10845 10846 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 10847 // 10848 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 10849 func (_SorareTokens *SorareTokensFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *SorareTokensOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 10850 10851 var previousOwnerRule []interface{} 10852 for _, previousOwnerItem := range previousOwner { 10853 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 10854 } 10855 var newOwnerRule []interface{} 10856 for _, newOwnerItem := range newOwner { 10857 newOwnerRule = append(newOwnerRule, newOwnerItem) 10858 } 10859 10860 logs, sub, err := _SorareTokens.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 10861 if err != nil { 10862 return nil, err 10863 } 10864 return event.NewSubscription(func(quit <-chan struct{}) error { 10865 defer sub.Unsubscribe() 10866 for { 10867 select { 10868 case log := <-logs: 10869 // New log arrived, parse the event and forward to the user 10870 event := new(SorareTokensOwnershipTransferred) 10871 if err := _SorareTokens.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 10872 return err 10873 } 10874 event.Raw = log 10875 10876 select { 10877 case sink <- event: 10878 case err := <-sub.Err(): 10879 return err 10880 case <-quit: 10881 return nil 10882 } 10883 case err := <-sub.Err(): 10884 return err 10885 case <-quit: 10886 return nil 10887 } 10888 } 10889 }), nil 10890 } 10891 10892 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 10893 // 10894 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 10895 func (_SorareTokens *SorareTokensFilterer) ParseOwnershipTransferred(log types.Log) (*SorareTokensOwnershipTransferred, error) { 10896 event := new(SorareTokensOwnershipTransferred) 10897 if err := _SorareTokens.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 10898 return nil, err 10899 } 10900 event.Raw = log 10901 return event, nil 10902 } 10903 10904 // SorareTokensRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the SorareTokens contract. 10905 type SorareTokensRoleGrantedIterator struct { 10906 Event *SorareTokensRoleGranted // Event containing the contract specifics and raw log 10907 10908 contract *bind.BoundContract // Generic contract to use for unpacking event data 10909 event string // Event name to use for unpacking event data 10910 10911 logs chan types.Log // Log channel receiving the found contract events 10912 sub ethereum.Subscription // Subscription for errors, completion and termination 10913 done bool // Whether the subscription completed delivering logs 10914 fail error // Occurred error to stop iteration 10915 } 10916 10917 // Next advances the iterator to the subsequent event, returning whether there 10918 // are any more events found. In case of a retrieval or parsing error, false is 10919 // returned and Error() can be queried for the exact failure. 10920 func (it *SorareTokensRoleGrantedIterator) Next() bool { 10921 // If the iterator failed, stop iterating 10922 if it.fail != nil { 10923 return false 10924 } 10925 // If the iterator completed, deliver directly whatever's available 10926 if it.done { 10927 select { 10928 case log := <-it.logs: 10929 it.Event = new(SorareTokensRoleGranted) 10930 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10931 it.fail = err 10932 return false 10933 } 10934 it.Event.Raw = log 10935 return true 10936 10937 default: 10938 return false 10939 } 10940 } 10941 // Iterator still in progress, wait for either a data or an error event 10942 select { 10943 case log := <-it.logs: 10944 it.Event = new(SorareTokensRoleGranted) 10945 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10946 it.fail = err 10947 return false 10948 } 10949 it.Event.Raw = log 10950 return true 10951 10952 case err := <-it.sub.Err(): 10953 it.done = true 10954 it.fail = err 10955 return it.Next() 10956 } 10957 } 10958 10959 // Error returns any retrieval or parsing error occurred during filtering. 10960 func (it *SorareTokensRoleGrantedIterator) Error() error { 10961 return it.fail 10962 } 10963 10964 // Close terminates the iteration process, releasing any pending underlying 10965 // resources. 10966 func (it *SorareTokensRoleGrantedIterator) Close() error { 10967 it.sub.Unsubscribe() 10968 return nil 10969 } 10970 10971 // SorareTokensRoleGranted represents a RoleGranted event raised by the SorareTokens contract. 10972 type SorareTokensRoleGranted struct { 10973 Role [32]byte 10974 Account common.Address 10975 Sender common.Address 10976 Raw types.Log // Blockchain specific contextual infos 10977 } 10978 10979 // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. 10980 // 10981 // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) 10982 func (_SorareTokens *SorareTokensFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*SorareTokensRoleGrantedIterator, error) { 10983 10984 var roleRule []interface{} 10985 for _, roleItem := range role { 10986 roleRule = append(roleRule, roleItem) 10987 } 10988 var accountRule []interface{} 10989 for _, accountItem := range account { 10990 accountRule = append(accountRule, accountItem) 10991 } 10992 var senderRule []interface{} 10993 for _, senderItem := range sender { 10994 senderRule = append(senderRule, senderItem) 10995 } 10996 10997 logs, sub, err := _SorareTokens.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 10998 if err != nil { 10999 return nil, err 11000 } 11001 return &SorareTokensRoleGrantedIterator{contract: _SorareTokens.contract, event: "RoleGranted", logs: logs, sub: sub}, nil 11002 } 11003 11004 // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. 11005 // 11006 // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) 11007 func (_SorareTokens *SorareTokensFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *SorareTokensRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { 11008 11009 var roleRule []interface{} 11010 for _, roleItem := range role { 11011 roleRule = append(roleRule, roleItem) 11012 } 11013 var accountRule []interface{} 11014 for _, accountItem := range account { 11015 accountRule = append(accountRule, accountItem) 11016 } 11017 var senderRule []interface{} 11018 for _, senderItem := range sender { 11019 senderRule = append(senderRule, senderItem) 11020 } 11021 11022 logs, sub, err := _SorareTokens.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 11023 if err != nil { 11024 return nil, err 11025 } 11026 return event.NewSubscription(func(quit <-chan struct{}) error { 11027 defer sub.Unsubscribe() 11028 for { 11029 select { 11030 case log := <-logs: 11031 // New log arrived, parse the event and forward to the user 11032 event := new(SorareTokensRoleGranted) 11033 if err := _SorareTokens.contract.UnpackLog(event, "RoleGranted", log); err != nil { 11034 return err 11035 } 11036 event.Raw = log 11037 11038 select { 11039 case sink <- event: 11040 case err := <-sub.Err(): 11041 return err 11042 case <-quit: 11043 return nil 11044 } 11045 case err := <-sub.Err(): 11046 return err 11047 case <-quit: 11048 return nil 11049 } 11050 } 11051 }), nil 11052 } 11053 11054 // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. 11055 // 11056 // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) 11057 func (_SorareTokens *SorareTokensFilterer) ParseRoleGranted(log types.Log) (*SorareTokensRoleGranted, error) { 11058 event := new(SorareTokensRoleGranted) 11059 if err := _SorareTokens.contract.UnpackLog(event, "RoleGranted", log); err != nil { 11060 return nil, err 11061 } 11062 event.Raw = log 11063 return event, nil 11064 } 11065 11066 // SorareTokensRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the SorareTokens contract. 11067 type SorareTokensRoleRevokedIterator struct { 11068 Event *SorareTokensRoleRevoked // Event containing the contract specifics and raw log 11069 11070 contract *bind.BoundContract // Generic contract to use for unpacking event data 11071 event string // Event name to use for unpacking event data 11072 11073 logs chan types.Log // Log channel receiving the found contract events 11074 sub ethereum.Subscription // Subscription for errors, completion and termination 11075 done bool // Whether the subscription completed delivering logs 11076 fail error // Occurred error to stop iteration 11077 } 11078 11079 // Next advances the iterator to the subsequent event, returning whether there 11080 // are any more events found. In case of a retrieval or parsing error, false is 11081 // returned and Error() can be queried for the exact failure. 11082 func (it *SorareTokensRoleRevokedIterator) Next() bool { 11083 // If the iterator failed, stop iterating 11084 if it.fail != nil { 11085 return false 11086 } 11087 // If the iterator completed, deliver directly whatever's available 11088 if it.done { 11089 select { 11090 case log := <-it.logs: 11091 it.Event = new(SorareTokensRoleRevoked) 11092 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11093 it.fail = err 11094 return false 11095 } 11096 it.Event.Raw = log 11097 return true 11098 11099 default: 11100 return false 11101 } 11102 } 11103 // Iterator still in progress, wait for either a data or an error event 11104 select { 11105 case log := <-it.logs: 11106 it.Event = new(SorareTokensRoleRevoked) 11107 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11108 it.fail = err 11109 return false 11110 } 11111 it.Event.Raw = log 11112 return true 11113 11114 case err := <-it.sub.Err(): 11115 it.done = true 11116 it.fail = err 11117 return it.Next() 11118 } 11119 } 11120 11121 // Error returns any retrieval or parsing error occurred during filtering. 11122 func (it *SorareTokensRoleRevokedIterator) Error() error { 11123 return it.fail 11124 } 11125 11126 // Close terminates the iteration process, releasing any pending underlying 11127 // resources. 11128 func (it *SorareTokensRoleRevokedIterator) Close() error { 11129 it.sub.Unsubscribe() 11130 return nil 11131 } 11132 11133 // SorareTokensRoleRevoked represents a RoleRevoked event raised by the SorareTokens contract. 11134 type SorareTokensRoleRevoked struct { 11135 Role [32]byte 11136 Account common.Address 11137 Sender common.Address 11138 Raw types.Log // Blockchain specific contextual infos 11139 } 11140 11141 // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. 11142 // 11143 // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) 11144 func (_SorareTokens *SorareTokensFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*SorareTokensRoleRevokedIterator, error) { 11145 11146 var roleRule []interface{} 11147 for _, roleItem := range role { 11148 roleRule = append(roleRule, roleItem) 11149 } 11150 var accountRule []interface{} 11151 for _, accountItem := range account { 11152 accountRule = append(accountRule, accountItem) 11153 } 11154 var senderRule []interface{} 11155 for _, senderItem := range sender { 11156 senderRule = append(senderRule, senderItem) 11157 } 11158 11159 logs, sub, err := _SorareTokens.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 11160 if err != nil { 11161 return nil, err 11162 } 11163 return &SorareTokensRoleRevokedIterator{contract: _SorareTokens.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil 11164 } 11165 11166 // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. 11167 // 11168 // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) 11169 func (_SorareTokens *SorareTokensFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *SorareTokensRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { 11170 11171 var roleRule []interface{} 11172 for _, roleItem := range role { 11173 roleRule = append(roleRule, roleItem) 11174 } 11175 var accountRule []interface{} 11176 for _, accountItem := range account { 11177 accountRule = append(accountRule, accountItem) 11178 } 11179 var senderRule []interface{} 11180 for _, senderItem := range sender { 11181 senderRule = append(senderRule, senderItem) 11182 } 11183 11184 logs, sub, err := _SorareTokens.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 11185 if err != nil { 11186 return nil, err 11187 } 11188 return event.NewSubscription(func(quit <-chan struct{}) error { 11189 defer sub.Unsubscribe() 11190 for { 11191 select { 11192 case log := <-logs: 11193 // New log arrived, parse the event and forward to the user 11194 event := new(SorareTokensRoleRevoked) 11195 if err := _SorareTokens.contract.UnpackLog(event, "RoleRevoked", log); err != nil { 11196 return err 11197 } 11198 event.Raw = log 11199 11200 select { 11201 case sink <- event: 11202 case err := <-sub.Err(): 11203 return err 11204 case <-quit: 11205 return nil 11206 } 11207 case err := <-sub.Err(): 11208 return err 11209 case <-quit: 11210 return nil 11211 } 11212 } 11213 }), nil 11214 } 11215 11216 // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. 11217 // 11218 // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) 11219 func (_SorareTokens *SorareTokensFilterer) ParseRoleRevoked(log types.Log) (*SorareTokensRoleRevoked, error) { 11220 event := new(SorareTokensRoleRevoked) 11221 if err := _SorareTokens.contract.UnpackLog(event, "RoleRevoked", log); err != nil { 11222 return nil, err 11223 } 11224 event.Raw = log 11225 return event, nil 11226 } 11227 11228 // SorareTokensTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the SorareTokens contract. 11229 type SorareTokensTransferIterator struct { 11230 Event *SorareTokensTransfer // Event containing the contract specifics and raw log 11231 11232 contract *bind.BoundContract // Generic contract to use for unpacking event data 11233 event string // Event name to use for unpacking event data 11234 11235 logs chan types.Log // Log channel receiving the found contract events 11236 sub ethereum.Subscription // Subscription for errors, completion and termination 11237 done bool // Whether the subscription completed delivering logs 11238 fail error // Occurred error to stop iteration 11239 } 11240 11241 // Next advances the iterator to the subsequent event, returning whether there 11242 // are any more events found. In case of a retrieval or parsing error, false is 11243 // returned and Error() can be queried for the exact failure. 11244 func (it *SorareTokensTransferIterator) Next() bool { 11245 // If the iterator failed, stop iterating 11246 if it.fail != nil { 11247 return false 11248 } 11249 // If the iterator completed, deliver directly whatever's available 11250 if it.done { 11251 select { 11252 case log := <-it.logs: 11253 it.Event = new(SorareTokensTransfer) 11254 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11255 it.fail = err 11256 return false 11257 } 11258 it.Event.Raw = log 11259 return true 11260 11261 default: 11262 return false 11263 } 11264 } 11265 // Iterator still in progress, wait for either a data or an error event 11266 select { 11267 case log := <-it.logs: 11268 it.Event = new(SorareTokensTransfer) 11269 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11270 it.fail = err 11271 return false 11272 } 11273 it.Event.Raw = log 11274 return true 11275 11276 case err := <-it.sub.Err(): 11277 it.done = true 11278 it.fail = err 11279 return it.Next() 11280 } 11281 } 11282 11283 // Error returns any retrieval or parsing error occurred during filtering. 11284 func (it *SorareTokensTransferIterator) Error() error { 11285 return it.fail 11286 } 11287 11288 // Close terminates the iteration process, releasing any pending underlying 11289 // resources. 11290 func (it *SorareTokensTransferIterator) Close() error { 11291 it.sub.Unsubscribe() 11292 return nil 11293 } 11294 11295 // SorareTokensTransfer represents a Transfer event raised by the SorareTokens contract. 11296 type SorareTokensTransfer struct { 11297 From common.Address 11298 To common.Address 11299 TokenId *big.Int 11300 Raw types.Log // Blockchain specific contextual infos 11301 } 11302 11303 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 11304 // 11305 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 11306 func (_SorareTokens *SorareTokensFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*SorareTokensTransferIterator, error) { 11307 11308 var fromRule []interface{} 11309 for _, fromItem := range from { 11310 fromRule = append(fromRule, fromItem) 11311 } 11312 var toRule []interface{} 11313 for _, toItem := range to { 11314 toRule = append(toRule, toItem) 11315 } 11316 var tokenIdRule []interface{} 11317 for _, tokenIdItem := range tokenId { 11318 tokenIdRule = append(tokenIdRule, tokenIdItem) 11319 } 11320 11321 logs, sub, err := _SorareTokens.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 11322 if err != nil { 11323 return nil, err 11324 } 11325 return &SorareTokensTransferIterator{contract: _SorareTokens.contract, event: "Transfer", logs: logs, sub: sub}, nil 11326 } 11327 11328 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 11329 // 11330 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 11331 func (_SorareTokens *SorareTokensFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *SorareTokensTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 11332 11333 var fromRule []interface{} 11334 for _, fromItem := range from { 11335 fromRule = append(fromRule, fromItem) 11336 } 11337 var toRule []interface{} 11338 for _, toItem := range to { 11339 toRule = append(toRule, toItem) 11340 } 11341 var tokenIdRule []interface{} 11342 for _, tokenIdItem := range tokenId { 11343 tokenIdRule = append(tokenIdRule, tokenIdItem) 11344 } 11345 11346 logs, sub, err := _SorareTokens.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 11347 if err != nil { 11348 return nil, err 11349 } 11350 return event.NewSubscription(func(quit <-chan struct{}) error { 11351 defer sub.Unsubscribe() 11352 for { 11353 select { 11354 case log := <-logs: 11355 // New log arrived, parse the event and forward to the user 11356 event := new(SorareTokensTransfer) 11357 if err := _SorareTokens.contract.UnpackLog(event, "Transfer", log); err != nil { 11358 return err 11359 } 11360 event.Raw = log 11361 11362 select { 11363 case sink <- event: 11364 case err := <-sub.Err(): 11365 return err 11366 case <-quit: 11367 return nil 11368 } 11369 case err := <-sub.Err(): 11370 return err 11371 case <-quit: 11372 return nil 11373 } 11374 } 11375 }), nil 11376 } 11377 11378 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 11379 // 11380 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 11381 func (_SorareTokens *SorareTokensFilterer) ParseTransfer(log types.Log) (*SorareTokensTransfer, error) { 11382 event := new(SorareTokensTransfer) 11383 if err := _SorareTokens.contract.UnpackLog(event, "Transfer", log); err != nil { 11384 return nil, err 11385 } 11386 event.Raw = log 11387 return event, nil 11388 } 11389 11390 // StringsABI is the input ABI used to generate the binding from. 11391 const StringsABI = "[]" 11392 11393 // StringsBin is the compiled bytecode used for deploying new contracts. 11394 var StringsBin = "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220da4b33dead2364cb912c6aedb944bdac18432735a78ac109dc4a7f2f7bc8d0b864736f6c63430006060033" 11395 11396 // DeployStrings deploys a new Ethereum contract, binding an instance of Strings to it. 11397 func DeployStrings(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Strings, error) { 11398 parsed, err := abi.JSON(strings.NewReader(StringsABI)) 11399 if err != nil { 11400 return common.Address{}, nil, nil, err 11401 } 11402 11403 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(StringsBin), backend) 11404 if err != nil { 11405 return common.Address{}, nil, nil, err 11406 } 11407 return address, tx, &Strings{StringsCaller: StringsCaller{contract: contract}, StringsTransactor: StringsTransactor{contract: contract}, StringsFilterer: StringsFilterer{contract: contract}}, nil 11408 } 11409 11410 // Strings is an auto generated Go binding around an Ethereum contract. 11411 type Strings struct { 11412 StringsCaller // Read-only binding to the contract 11413 StringsTransactor // Write-only binding to the contract 11414 StringsFilterer // Log filterer for contract events 11415 } 11416 11417 // StringsCaller is an auto generated read-only Go binding around an Ethereum contract. 11418 type StringsCaller struct { 11419 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11420 } 11421 11422 // StringsTransactor is an auto generated write-only Go binding around an Ethereum contract. 11423 type StringsTransactor struct { 11424 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11425 } 11426 11427 // StringsFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 11428 type StringsFilterer struct { 11429 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11430 } 11431 11432 // StringsSession is an auto generated Go binding around an Ethereum contract, 11433 // with pre-set call and transact options. 11434 type StringsSession struct { 11435 Contract *Strings // Generic contract binding to set the session for 11436 CallOpts bind.CallOpts // Call options to use throughout this session 11437 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 11438 } 11439 11440 // StringsCallerSession is an auto generated read-only Go binding around an Ethereum contract, 11441 // with pre-set call options. 11442 type StringsCallerSession struct { 11443 Contract *StringsCaller // Generic contract caller binding to set the session for 11444 CallOpts bind.CallOpts // Call options to use throughout this session 11445 } 11446 11447 // StringsTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 11448 // with pre-set transact options. 11449 type StringsTransactorSession struct { 11450 Contract *StringsTransactor // Generic contract transactor binding to set the session for 11451 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 11452 } 11453 11454 // StringsRaw is an auto generated low-level Go binding around an Ethereum contract. 11455 type StringsRaw struct { 11456 Contract *Strings // Generic contract binding to access the raw methods on 11457 } 11458 11459 // StringsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 11460 type StringsCallerRaw struct { 11461 Contract *StringsCaller // Generic read-only contract binding to access the raw methods on 11462 } 11463 11464 // StringsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 11465 type StringsTransactorRaw struct { 11466 Contract *StringsTransactor // Generic write-only contract binding to access the raw methods on 11467 } 11468 11469 // NewStrings creates a new instance of Strings, bound to a specific deployed contract. 11470 func NewStrings(address common.Address, backend bind.ContractBackend) (*Strings, error) { 11471 contract, err := bindStrings(address, backend, backend, backend) 11472 if err != nil { 11473 return nil, err 11474 } 11475 return &Strings{StringsCaller: StringsCaller{contract: contract}, StringsTransactor: StringsTransactor{contract: contract}, StringsFilterer: StringsFilterer{contract: contract}}, nil 11476 } 11477 11478 // NewStringsCaller creates a new read-only instance of Strings, bound to a specific deployed contract. 11479 func NewStringsCaller(address common.Address, caller bind.ContractCaller) (*StringsCaller, error) { 11480 contract, err := bindStrings(address, caller, nil, nil) 11481 if err != nil { 11482 return nil, err 11483 } 11484 return &StringsCaller{contract: contract}, nil 11485 } 11486 11487 // NewStringsTransactor creates a new write-only instance of Strings, bound to a specific deployed contract. 11488 func NewStringsTransactor(address common.Address, transactor bind.ContractTransactor) (*StringsTransactor, error) { 11489 contract, err := bindStrings(address, nil, transactor, nil) 11490 if err != nil { 11491 return nil, err 11492 } 11493 return &StringsTransactor{contract: contract}, nil 11494 } 11495 11496 // NewStringsFilterer creates a new log filterer instance of Strings, bound to a specific deployed contract. 11497 func NewStringsFilterer(address common.Address, filterer bind.ContractFilterer) (*StringsFilterer, error) { 11498 contract, err := bindStrings(address, nil, nil, filterer) 11499 if err != nil { 11500 return nil, err 11501 } 11502 return &StringsFilterer{contract: contract}, nil 11503 } 11504 11505 // bindStrings binds a generic wrapper to an already deployed contract. 11506 func bindStrings(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 11507 parsed, err := abi.JSON(strings.NewReader(StringsABI)) 11508 if err != nil { 11509 return nil, err 11510 } 11511 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 11512 } 11513 11514 // Call invokes the (constant) contract method with params as input values and 11515 // sets the output to result. The result type might be a single field for simple 11516 // returns, a slice of interfaces for anonymous returns and a struct for named 11517 // returns. 11518 func (_Strings *StringsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 11519 return _Strings.Contract.StringsCaller.contract.Call(opts, result, method, params...) 11520 } 11521 11522 // Transfer initiates a plain transaction to move funds to the contract, calling 11523 // its default method if one is available. 11524 func (_Strings *StringsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 11525 return _Strings.Contract.StringsTransactor.contract.Transfer(opts) 11526 } 11527 11528 // Transact invokes the (paid) contract method with params as input values. 11529 func (_Strings *StringsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 11530 return _Strings.Contract.StringsTransactor.contract.Transact(opts, method, params...) 11531 } 11532 11533 // Call invokes the (constant) contract method with params as input values and 11534 // sets the output to result. The result type might be a single field for simple 11535 // returns, a slice of interfaces for anonymous returns and a struct for named 11536 // returns. 11537 func (_Strings *StringsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 11538 return _Strings.Contract.contract.Call(opts, result, method, params...) 11539 } 11540 11541 // Transfer initiates a plain transaction to move funds to the contract, calling 11542 // its default method if one is available. 11543 func (_Strings *StringsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 11544 return _Strings.Contract.contract.Transfer(opts) 11545 } 11546 11547 // Transact invokes the (paid) contract method with params as input values. 11548 func (_Strings *StringsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 11549 return _Strings.Contract.contract.Transact(opts, method, params...) 11550 }