github.com/status-im/status-go@v1.1.0/contracts/stickers/contracts.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 stickers 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 // ApproveAndCallFallBackABI is the input ABI used to generate the binding from. 30 const ApproveAndCallFallBackABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"receiveApproval\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 31 32 // ApproveAndCallFallBackFuncSigs maps the 4-byte function signature to its string representation. 33 var ApproveAndCallFallBackFuncSigs = map[string]string{ 34 "8f4ffcb1": "receiveApproval(address,uint256,address,bytes)", 35 } 36 37 // ApproveAndCallFallBack is an auto generated Go binding around an Ethereum contract. 38 type ApproveAndCallFallBack struct { 39 ApproveAndCallFallBackCaller // Read-only binding to the contract 40 ApproveAndCallFallBackTransactor // Write-only binding to the contract 41 ApproveAndCallFallBackFilterer // Log filterer for contract events 42 } 43 44 // ApproveAndCallFallBackCaller is an auto generated read-only Go binding around an Ethereum contract. 45 type ApproveAndCallFallBackCaller struct { 46 contract *bind.BoundContract // Generic contract wrapper for the low level calls 47 } 48 49 // ApproveAndCallFallBackTransactor is an auto generated write-only Go binding around an Ethereum contract. 50 type ApproveAndCallFallBackTransactor struct { 51 contract *bind.BoundContract // Generic contract wrapper for the low level calls 52 } 53 54 // ApproveAndCallFallBackFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 55 type ApproveAndCallFallBackFilterer struct { 56 contract *bind.BoundContract // Generic contract wrapper for the low level calls 57 } 58 59 // ApproveAndCallFallBackSession is an auto generated Go binding around an Ethereum contract, 60 // with pre-set call and transact options. 61 type ApproveAndCallFallBackSession struct { 62 Contract *ApproveAndCallFallBack // Generic contract binding to set the session for 63 CallOpts bind.CallOpts // Call options to use throughout this session 64 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 65 } 66 67 // ApproveAndCallFallBackCallerSession is an auto generated read-only Go binding around an Ethereum contract, 68 // with pre-set call options. 69 type ApproveAndCallFallBackCallerSession struct { 70 Contract *ApproveAndCallFallBackCaller // Generic contract caller binding to set the session for 71 CallOpts bind.CallOpts // Call options to use throughout this session 72 } 73 74 // ApproveAndCallFallBackTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 75 // with pre-set transact options. 76 type ApproveAndCallFallBackTransactorSession struct { 77 Contract *ApproveAndCallFallBackTransactor // Generic contract transactor binding to set the session for 78 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 79 } 80 81 // ApproveAndCallFallBackRaw is an auto generated low-level Go binding around an Ethereum contract. 82 type ApproveAndCallFallBackRaw struct { 83 Contract *ApproveAndCallFallBack // Generic contract binding to access the raw methods on 84 } 85 86 // ApproveAndCallFallBackCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 87 type ApproveAndCallFallBackCallerRaw struct { 88 Contract *ApproveAndCallFallBackCaller // Generic read-only contract binding to access the raw methods on 89 } 90 91 // ApproveAndCallFallBackTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 92 type ApproveAndCallFallBackTransactorRaw struct { 93 Contract *ApproveAndCallFallBackTransactor // Generic write-only contract binding to access the raw methods on 94 } 95 96 // NewApproveAndCallFallBack creates a new instance of ApproveAndCallFallBack, bound to a specific deployed contract. 97 func NewApproveAndCallFallBack(address common.Address, backend bind.ContractBackend) (*ApproveAndCallFallBack, error) { 98 contract, err := bindApproveAndCallFallBack(address, backend, backend, backend) 99 if err != nil { 100 return nil, err 101 } 102 return &ApproveAndCallFallBack{ApproveAndCallFallBackCaller: ApproveAndCallFallBackCaller{contract: contract}, ApproveAndCallFallBackTransactor: ApproveAndCallFallBackTransactor{contract: contract}, ApproveAndCallFallBackFilterer: ApproveAndCallFallBackFilterer{contract: contract}}, nil 103 } 104 105 // NewApproveAndCallFallBackCaller creates a new read-only instance of ApproveAndCallFallBack, bound to a specific deployed contract. 106 func NewApproveAndCallFallBackCaller(address common.Address, caller bind.ContractCaller) (*ApproveAndCallFallBackCaller, error) { 107 contract, err := bindApproveAndCallFallBack(address, caller, nil, nil) 108 if err != nil { 109 return nil, err 110 } 111 return &ApproveAndCallFallBackCaller{contract: contract}, nil 112 } 113 114 // NewApproveAndCallFallBackTransactor creates a new write-only instance of ApproveAndCallFallBack, bound to a specific deployed contract. 115 func NewApproveAndCallFallBackTransactor(address common.Address, transactor bind.ContractTransactor) (*ApproveAndCallFallBackTransactor, error) { 116 contract, err := bindApproveAndCallFallBack(address, nil, transactor, nil) 117 if err != nil { 118 return nil, err 119 } 120 return &ApproveAndCallFallBackTransactor{contract: contract}, nil 121 } 122 123 // NewApproveAndCallFallBackFilterer creates a new log filterer instance of ApproveAndCallFallBack, bound to a specific deployed contract. 124 func NewApproveAndCallFallBackFilterer(address common.Address, filterer bind.ContractFilterer) (*ApproveAndCallFallBackFilterer, error) { 125 contract, err := bindApproveAndCallFallBack(address, nil, nil, filterer) 126 if err != nil { 127 return nil, err 128 } 129 return &ApproveAndCallFallBackFilterer{contract: contract}, nil 130 } 131 132 // bindApproveAndCallFallBack binds a generic wrapper to an already deployed contract. 133 func bindApproveAndCallFallBack(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 134 parsed, err := abi.JSON(strings.NewReader(ApproveAndCallFallBackABI)) 135 if err != nil { 136 return nil, err 137 } 138 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 139 } 140 141 // Call invokes the (constant) contract method with params as input values and 142 // sets the output to result. The result type might be a single field for simple 143 // returns, a slice of interfaces for anonymous returns and a struct for named 144 // returns. 145 func (_ApproveAndCallFallBack *ApproveAndCallFallBackRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 146 return _ApproveAndCallFallBack.Contract.ApproveAndCallFallBackCaller.contract.Call(opts, result, method, params...) 147 } 148 149 // Transfer initiates a plain transaction to move funds to the contract, calling 150 // its default method if one is available. 151 func (_ApproveAndCallFallBack *ApproveAndCallFallBackRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 152 return _ApproveAndCallFallBack.Contract.ApproveAndCallFallBackTransactor.contract.Transfer(opts) 153 } 154 155 // Transact invokes the (paid) contract method with params as input values. 156 func (_ApproveAndCallFallBack *ApproveAndCallFallBackRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 157 return _ApproveAndCallFallBack.Contract.ApproveAndCallFallBackTransactor.contract.Transact(opts, method, params...) 158 } 159 160 // Call invokes the (constant) contract method with params as input values and 161 // sets the output to result. The result type might be a single field for simple 162 // returns, a slice of interfaces for anonymous returns and a struct for named 163 // returns. 164 func (_ApproveAndCallFallBack *ApproveAndCallFallBackCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 165 return _ApproveAndCallFallBack.Contract.contract.Call(opts, result, method, params...) 166 } 167 168 // Transfer initiates a plain transaction to move funds to the contract, calling 169 // its default method if one is available. 170 func (_ApproveAndCallFallBack *ApproveAndCallFallBackTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 171 return _ApproveAndCallFallBack.Contract.contract.Transfer(opts) 172 } 173 174 // Transact invokes the (paid) contract method with params as input values. 175 func (_ApproveAndCallFallBack *ApproveAndCallFallBackTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 176 return _ApproveAndCallFallBack.Contract.contract.Transact(opts, method, params...) 177 } 178 179 // ReceiveApproval is a paid mutator transaction binding the contract method 0x8f4ffcb1. 180 // 181 // Solidity: function receiveApproval(address from, uint256 _amount, address _token, bytes _data) returns() 182 func (_ApproveAndCallFallBack *ApproveAndCallFallBackTransactor) ReceiveApproval(opts *bind.TransactOpts, from common.Address, _amount *big.Int, _token common.Address, _data []byte) (*types.Transaction, error) { 183 return _ApproveAndCallFallBack.contract.Transact(opts, "receiveApproval", from, _amount, _token, _data) 184 } 185 186 // ReceiveApproval is a paid mutator transaction binding the contract method 0x8f4ffcb1. 187 // 188 // Solidity: function receiveApproval(address from, uint256 _amount, address _token, bytes _data) returns() 189 func (_ApproveAndCallFallBack *ApproveAndCallFallBackSession) ReceiveApproval(from common.Address, _amount *big.Int, _token common.Address, _data []byte) (*types.Transaction, error) { 190 return _ApproveAndCallFallBack.Contract.ReceiveApproval(&_ApproveAndCallFallBack.TransactOpts, from, _amount, _token, _data) 191 } 192 193 // ReceiveApproval is a paid mutator transaction binding the contract method 0x8f4ffcb1. 194 // 195 // Solidity: function receiveApproval(address from, uint256 _amount, address _token, bytes _data) returns() 196 func (_ApproveAndCallFallBack *ApproveAndCallFallBackTransactorSession) ReceiveApproval(from common.Address, _amount *big.Int, _token common.Address, _data []byte) (*types.Transaction, error) { 197 return _ApproveAndCallFallBack.Contract.ReceiveApproval(&_ApproveAndCallFallBack.TransactOpts, from, _amount, _token, _data) 198 } 199 200 // ControlledABI is the input ABI used to generate the binding from. 201 const ControlledABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_newController\",\"type\":\"address\"}],\"name\":\"changeController\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"controller\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"NewController\",\"type\":\"event\"}]" 202 203 // ControlledFuncSigs maps the 4-byte function signature to its string representation. 204 var ControlledFuncSigs = map[string]string{ 205 "3cebb823": "changeController(address)", 206 "f77c4791": "controller()", 207 } 208 209 // Controlled is an auto generated Go binding around an Ethereum contract. 210 type Controlled struct { 211 ControlledCaller // Read-only binding to the contract 212 ControlledTransactor // Write-only binding to the contract 213 ControlledFilterer // Log filterer for contract events 214 } 215 216 // ControlledCaller is an auto generated read-only Go binding around an Ethereum contract. 217 type ControlledCaller struct { 218 contract *bind.BoundContract // Generic contract wrapper for the low level calls 219 } 220 221 // ControlledTransactor is an auto generated write-only Go binding around an Ethereum contract. 222 type ControlledTransactor struct { 223 contract *bind.BoundContract // Generic contract wrapper for the low level calls 224 } 225 226 // ControlledFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 227 type ControlledFilterer struct { 228 contract *bind.BoundContract // Generic contract wrapper for the low level calls 229 } 230 231 // ControlledSession is an auto generated Go binding around an Ethereum contract, 232 // with pre-set call and transact options. 233 type ControlledSession struct { 234 Contract *Controlled // Generic contract binding to set the session for 235 CallOpts bind.CallOpts // Call options to use throughout this session 236 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 237 } 238 239 // ControlledCallerSession is an auto generated read-only Go binding around an Ethereum contract, 240 // with pre-set call options. 241 type ControlledCallerSession struct { 242 Contract *ControlledCaller // Generic contract caller binding to set the session for 243 CallOpts bind.CallOpts // Call options to use throughout this session 244 } 245 246 // ControlledTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 247 // with pre-set transact options. 248 type ControlledTransactorSession struct { 249 Contract *ControlledTransactor // Generic contract transactor binding to set the session for 250 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 251 } 252 253 // ControlledRaw is an auto generated low-level Go binding around an Ethereum contract. 254 type ControlledRaw struct { 255 Contract *Controlled // Generic contract binding to access the raw methods on 256 } 257 258 // ControlledCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 259 type ControlledCallerRaw struct { 260 Contract *ControlledCaller // Generic read-only contract binding to access the raw methods on 261 } 262 263 // ControlledTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 264 type ControlledTransactorRaw struct { 265 Contract *ControlledTransactor // Generic write-only contract binding to access the raw methods on 266 } 267 268 // NewControlled creates a new instance of Controlled, bound to a specific deployed contract. 269 func NewControlled(address common.Address, backend bind.ContractBackend) (*Controlled, error) { 270 contract, err := bindControlled(address, backend, backend, backend) 271 if err != nil { 272 return nil, err 273 } 274 return &Controlled{ControlledCaller: ControlledCaller{contract: contract}, ControlledTransactor: ControlledTransactor{contract: contract}, ControlledFilterer: ControlledFilterer{contract: contract}}, nil 275 } 276 277 // NewControlledCaller creates a new read-only instance of Controlled, bound to a specific deployed contract. 278 func NewControlledCaller(address common.Address, caller bind.ContractCaller) (*ControlledCaller, error) { 279 contract, err := bindControlled(address, caller, nil, nil) 280 if err != nil { 281 return nil, err 282 } 283 return &ControlledCaller{contract: contract}, nil 284 } 285 286 // NewControlledTransactor creates a new write-only instance of Controlled, bound to a specific deployed contract. 287 func NewControlledTransactor(address common.Address, transactor bind.ContractTransactor) (*ControlledTransactor, error) { 288 contract, err := bindControlled(address, nil, transactor, nil) 289 if err != nil { 290 return nil, err 291 } 292 return &ControlledTransactor{contract: contract}, nil 293 } 294 295 // NewControlledFilterer creates a new log filterer instance of Controlled, bound to a specific deployed contract. 296 func NewControlledFilterer(address common.Address, filterer bind.ContractFilterer) (*ControlledFilterer, error) { 297 contract, err := bindControlled(address, nil, nil, filterer) 298 if err != nil { 299 return nil, err 300 } 301 return &ControlledFilterer{contract: contract}, nil 302 } 303 304 // bindControlled binds a generic wrapper to an already deployed contract. 305 func bindControlled(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 306 parsed, err := abi.JSON(strings.NewReader(ControlledABI)) 307 if err != nil { 308 return nil, err 309 } 310 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 311 } 312 313 // Call invokes the (constant) contract method with params as input values and 314 // sets the output to result. The result type might be a single field for simple 315 // returns, a slice of interfaces for anonymous returns and a struct for named 316 // returns. 317 func (_Controlled *ControlledRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 318 return _Controlled.Contract.ControlledCaller.contract.Call(opts, result, method, params...) 319 } 320 321 // Transfer initiates a plain transaction to move funds to the contract, calling 322 // its default method if one is available. 323 func (_Controlled *ControlledRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 324 return _Controlled.Contract.ControlledTransactor.contract.Transfer(opts) 325 } 326 327 // Transact invokes the (paid) contract method with params as input values. 328 func (_Controlled *ControlledRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 329 return _Controlled.Contract.ControlledTransactor.contract.Transact(opts, method, params...) 330 } 331 332 // Call invokes the (constant) contract method with params as input values and 333 // sets the output to result. The result type might be a single field for simple 334 // returns, a slice of interfaces for anonymous returns and a struct for named 335 // returns. 336 func (_Controlled *ControlledCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 337 return _Controlled.Contract.contract.Call(opts, result, method, params...) 338 } 339 340 // Transfer initiates a plain transaction to move funds to the contract, calling 341 // its default method if one is available. 342 func (_Controlled *ControlledTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 343 return _Controlled.Contract.contract.Transfer(opts) 344 } 345 346 // Transact invokes the (paid) contract method with params as input values. 347 func (_Controlled *ControlledTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 348 return _Controlled.Contract.contract.Transact(opts, method, params...) 349 } 350 351 // Controller is a free data retrieval call binding the contract method 0xf77c4791. 352 // 353 // Solidity: function controller() view returns(address) 354 func (_Controlled *ControlledCaller) Controller(opts *bind.CallOpts) (common.Address, error) { 355 var out []interface{} 356 err := _Controlled.contract.Call(opts, &out, "controller") 357 358 if err != nil { 359 return *new(common.Address), err 360 } 361 362 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 363 364 return out0, err 365 366 } 367 368 // Controller is a free data retrieval call binding the contract method 0xf77c4791. 369 // 370 // Solidity: function controller() view returns(address) 371 func (_Controlled *ControlledSession) Controller() (common.Address, error) { 372 return _Controlled.Contract.Controller(&_Controlled.CallOpts) 373 } 374 375 // Controller is a free data retrieval call binding the contract method 0xf77c4791. 376 // 377 // Solidity: function controller() view returns(address) 378 func (_Controlled *ControlledCallerSession) Controller() (common.Address, error) { 379 return _Controlled.Contract.Controller(&_Controlled.CallOpts) 380 } 381 382 // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823. 383 // 384 // Solidity: function changeController(address _newController) returns() 385 func (_Controlled *ControlledTransactor) ChangeController(opts *bind.TransactOpts, _newController common.Address) (*types.Transaction, error) { 386 return _Controlled.contract.Transact(opts, "changeController", _newController) 387 } 388 389 // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823. 390 // 391 // Solidity: function changeController(address _newController) returns() 392 func (_Controlled *ControlledSession) ChangeController(_newController common.Address) (*types.Transaction, error) { 393 return _Controlled.Contract.ChangeController(&_Controlled.TransactOpts, _newController) 394 } 395 396 // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823. 397 // 398 // Solidity: function changeController(address _newController) returns() 399 func (_Controlled *ControlledTransactorSession) ChangeController(_newController common.Address) (*types.Transaction, error) { 400 return _Controlled.Contract.ChangeController(&_Controlled.TransactOpts, _newController) 401 } 402 403 // ControlledNewControllerIterator is returned from FilterNewController and is used to iterate over the raw logs and unpacked data for NewController events raised by the Controlled contract. 404 type ControlledNewControllerIterator struct { 405 Event *ControlledNewController // Event containing the contract specifics and raw log 406 407 contract *bind.BoundContract // Generic contract to use for unpacking event data 408 event string // Event name to use for unpacking event data 409 410 logs chan types.Log // Log channel receiving the found contract events 411 sub ethereum.Subscription // Subscription for errors, completion and termination 412 done bool // Whether the subscription completed delivering logs 413 fail error // Occurred error to stop iteration 414 } 415 416 // Next advances the iterator to the subsequent event, returning whether there 417 // are any more events found. In case of a retrieval or parsing error, false is 418 // returned and Error() can be queried for the exact failure. 419 func (it *ControlledNewControllerIterator) Next() bool { 420 // If the iterator failed, stop iterating 421 if it.fail != nil { 422 return false 423 } 424 // If the iterator completed, deliver directly whatever's available 425 if it.done { 426 select { 427 case log := <-it.logs: 428 it.Event = new(ControlledNewController) 429 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 430 it.fail = err 431 return false 432 } 433 it.Event.Raw = log 434 return true 435 436 default: 437 return false 438 } 439 } 440 // Iterator still in progress, wait for either a data or an error event 441 select { 442 case log := <-it.logs: 443 it.Event = new(ControlledNewController) 444 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 445 it.fail = err 446 return false 447 } 448 it.Event.Raw = log 449 return true 450 451 case err := <-it.sub.Err(): 452 it.done = true 453 it.fail = err 454 return it.Next() 455 } 456 } 457 458 // Error returns any retrieval or parsing error occurred during filtering. 459 func (it *ControlledNewControllerIterator) Error() error { 460 return it.fail 461 } 462 463 // Close terminates the iteration process, releasing any pending underlying 464 // resources. 465 func (it *ControlledNewControllerIterator) Close() error { 466 it.sub.Unsubscribe() 467 return nil 468 } 469 470 // ControlledNewController represents a NewController event raised by the Controlled contract. 471 type ControlledNewController struct { 472 Controller common.Address 473 Raw types.Log // Blockchain specific contextual infos 474 } 475 476 // FilterNewController is a free log retrieval operation binding the contract event 0xe253457d9ad994ca9682fc3bbc38c890dca73a2d5ecee3809e548bac8b00d7c6. 477 // 478 // Solidity: event NewController(address controller) 479 func (_Controlled *ControlledFilterer) FilterNewController(opts *bind.FilterOpts) (*ControlledNewControllerIterator, error) { 480 481 logs, sub, err := _Controlled.contract.FilterLogs(opts, "NewController") 482 if err != nil { 483 return nil, err 484 } 485 return &ControlledNewControllerIterator{contract: _Controlled.contract, event: "NewController", logs: logs, sub: sub}, nil 486 } 487 488 // WatchNewController is a free log subscription operation binding the contract event 0xe253457d9ad994ca9682fc3bbc38c890dca73a2d5ecee3809e548bac8b00d7c6. 489 // 490 // Solidity: event NewController(address controller) 491 func (_Controlled *ControlledFilterer) WatchNewController(opts *bind.WatchOpts, sink chan<- *ControlledNewController) (event.Subscription, error) { 492 493 logs, sub, err := _Controlled.contract.WatchLogs(opts, "NewController") 494 if err != nil { 495 return nil, err 496 } 497 return event.NewSubscription(func(quit <-chan struct{}) error { 498 defer sub.Unsubscribe() 499 for { 500 select { 501 case log := <-logs: 502 // New log arrived, parse the event and forward to the user 503 event := new(ControlledNewController) 504 if err := _Controlled.contract.UnpackLog(event, "NewController", log); err != nil { 505 return err 506 } 507 event.Raw = log 508 509 select { 510 case sink <- event: 511 case err := <-sub.Err(): 512 return err 513 case <-quit: 514 return nil 515 } 516 case err := <-sub.Err(): 517 return err 518 case <-quit: 519 return nil 520 } 521 } 522 }), nil 523 } 524 525 // ParseNewController is a log parse operation binding the contract event 0xe253457d9ad994ca9682fc3bbc38c890dca73a2d5ecee3809e548bac8b00d7c6. 526 // 527 // Solidity: event NewController(address controller) 528 func (_Controlled *ControlledFilterer) ParseNewController(log types.Log) (*ControlledNewController, error) { 529 event := new(ControlledNewController) 530 if err := _Controlled.contract.UnpackLog(event, "NewController", log); err != nil { 531 return nil, err 532 } 533 event.Raw = log 534 return event, nil 535 } 536 537 // ERC165ABI is the input ABI used to generate the binding from. 538 const ERC165ABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" 539 540 // ERC165FuncSigs maps the 4-byte function signature to its string representation. 541 var ERC165FuncSigs = map[string]string{ 542 "01ffc9a7": "supportsInterface(bytes4)", 543 } 544 545 // ERC165 is an auto generated Go binding around an Ethereum contract. 546 type ERC165 struct { 547 ERC165Caller // Read-only binding to the contract 548 ERC165Transactor // Write-only binding to the contract 549 ERC165Filterer // Log filterer for contract events 550 } 551 552 // ERC165Caller is an auto generated read-only Go binding around an Ethereum contract. 553 type ERC165Caller struct { 554 contract *bind.BoundContract // Generic contract wrapper for the low level calls 555 } 556 557 // ERC165Transactor is an auto generated write-only Go binding around an Ethereum contract. 558 type ERC165Transactor struct { 559 contract *bind.BoundContract // Generic contract wrapper for the low level calls 560 } 561 562 // ERC165Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 563 type ERC165Filterer struct { 564 contract *bind.BoundContract // Generic contract wrapper for the low level calls 565 } 566 567 // ERC165Session is an auto generated Go binding around an Ethereum contract, 568 // with pre-set call and transact options. 569 type ERC165Session struct { 570 Contract *ERC165 // Generic contract binding to set the session for 571 CallOpts bind.CallOpts // Call options to use throughout this session 572 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 573 } 574 575 // ERC165CallerSession is an auto generated read-only Go binding around an Ethereum contract, 576 // with pre-set call options. 577 type ERC165CallerSession struct { 578 Contract *ERC165Caller // Generic contract caller binding to set the session for 579 CallOpts bind.CallOpts // Call options to use throughout this session 580 } 581 582 // ERC165TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 583 // with pre-set transact options. 584 type ERC165TransactorSession struct { 585 Contract *ERC165Transactor // Generic contract transactor binding to set the session for 586 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 587 } 588 589 // ERC165Raw is an auto generated low-level Go binding around an Ethereum contract. 590 type ERC165Raw struct { 591 Contract *ERC165 // Generic contract binding to access the raw methods on 592 } 593 594 // ERC165CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 595 type ERC165CallerRaw struct { 596 Contract *ERC165Caller // Generic read-only contract binding to access the raw methods on 597 } 598 599 // ERC165TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 600 type ERC165TransactorRaw struct { 601 Contract *ERC165Transactor // Generic write-only contract binding to access the raw methods on 602 } 603 604 // NewERC165 creates a new instance of ERC165, bound to a specific deployed contract. 605 func NewERC165(address common.Address, backend bind.ContractBackend) (*ERC165, error) { 606 contract, err := bindERC165(address, backend, backend, backend) 607 if err != nil { 608 return nil, err 609 } 610 return &ERC165{ERC165Caller: ERC165Caller{contract: contract}, ERC165Transactor: ERC165Transactor{contract: contract}, ERC165Filterer: ERC165Filterer{contract: contract}}, nil 611 } 612 613 // NewERC165Caller creates a new read-only instance of ERC165, bound to a specific deployed contract. 614 func NewERC165Caller(address common.Address, caller bind.ContractCaller) (*ERC165Caller, error) { 615 contract, err := bindERC165(address, caller, nil, nil) 616 if err != nil { 617 return nil, err 618 } 619 return &ERC165Caller{contract: contract}, nil 620 } 621 622 // NewERC165Transactor creates a new write-only instance of ERC165, bound to a specific deployed contract. 623 func NewERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC165Transactor, error) { 624 contract, err := bindERC165(address, nil, transactor, nil) 625 if err != nil { 626 return nil, err 627 } 628 return &ERC165Transactor{contract: contract}, nil 629 } 630 631 // NewERC165Filterer creates a new log filterer instance of ERC165, bound to a specific deployed contract. 632 func NewERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC165Filterer, error) { 633 contract, err := bindERC165(address, nil, nil, filterer) 634 if err != nil { 635 return nil, err 636 } 637 return &ERC165Filterer{contract: contract}, nil 638 } 639 640 // bindERC165 binds a generic wrapper to an already deployed contract. 641 func bindERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 642 parsed, err := abi.JSON(strings.NewReader(ERC165ABI)) 643 if err != nil { 644 return nil, err 645 } 646 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 647 } 648 649 // Call invokes the (constant) contract method with params as input values and 650 // sets the output to result. The result type might be a single field for simple 651 // returns, a slice of interfaces for anonymous returns and a struct for named 652 // returns. 653 func (_ERC165 *ERC165Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 654 return _ERC165.Contract.ERC165Caller.contract.Call(opts, result, method, params...) 655 } 656 657 // Transfer initiates a plain transaction to move funds to the contract, calling 658 // its default method if one is available. 659 func (_ERC165 *ERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 660 return _ERC165.Contract.ERC165Transactor.contract.Transfer(opts) 661 } 662 663 // Transact invokes the (paid) contract method with params as input values. 664 func (_ERC165 *ERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 665 return _ERC165.Contract.ERC165Transactor.contract.Transact(opts, method, params...) 666 } 667 668 // Call invokes the (constant) contract method with params as input values and 669 // sets the output to result. The result type might be a single field for simple 670 // returns, a slice of interfaces for anonymous returns and a struct for named 671 // returns. 672 func (_ERC165 *ERC165CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 673 return _ERC165.Contract.contract.Call(opts, result, method, params...) 674 } 675 676 // Transfer initiates a plain transaction to move funds to the contract, calling 677 // its default method if one is available. 678 func (_ERC165 *ERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 679 return _ERC165.Contract.contract.Transfer(opts) 680 } 681 682 // Transact invokes the (paid) contract method with params as input values. 683 func (_ERC165 *ERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 684 return _ERC165.Contract.contract.Transact(opts, method, params...) 685 } 686 687 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 688 // 689 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 690 func (_ERC165 *ERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 691 var out []interface{} 692 err := _ERC165.contract.Call(opts, &out, "supportsInterface", interfaceId) 693 694 if err != nil { 695 return *new(bool), err 696 } 697 698 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 699 700 return out0, err 701 702 } 703 704 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 705 // 706 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 707 func (_ERC165 *ERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 708 return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) 709 } 710 711 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 712 // 713 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 714 func (_ERC165 *ERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 715 return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) 716 } 717 718 // ERC721ABI is the input ABI used to generate the binding from. 719 const ERC721ABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" 720 721 // ERC721FuncSigs maps the 4-byte function signature to its string representation. 722 var ERC721FuncSigs = map[string]string{ 723 "095ea7b3": "approve(address,uint256)", 724 "70a08231": "balanceOf(address)", 725 "081812fc": "getApproved(uint256)", 726 "e985e9c5": "isApprovedForAll(address,address)", 727 "6352211e": "ownerOf(uint256)", 728 "42842e0e": "safeTransferFrom(address,address,uint256)", 729 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 730 "a22cb465": "setApprovalForAll(address,bool)", 731 "01ffc9a7": "supportsInterface(bytes4)", 732 "23b872dd": "transferFrom(address,address,uint256)", 733 } 734 735 // ERC721 is an auto generated Go binding around an Ethereum contract. 736 type ERC721 struct { 737 ERC721Caller // Read-only binding to the contract 738 ERC721Transactor // Write-only binding to the contract 739 ERC721Filterer // Log filterer for contract events 740 } 741 742 // ERC721Caller is an auto generated read-only Go binding around an Ethereum contract. 743 type ERC721Caller struct { 744 contract *bind.BoundContract // Generic contract wrapper for the low level calls 745 } 746 747 // ERC721Transactor is an auto generated write-only Go binding around an Ethereum contract. 748 type ERC721Transactor struct { 749 contract *bind.BoundContract // Generic contract wrapper for the low level calls 750 } 751 752 // ERC721Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 753 type ERC721Filterer struct { 754 contract *bind.BoundContract // Generic contract wrapper for the low level calls 755 } 756 757 // ERC721Session is an auto generated Go binding around an Ethereum contract, 758 // with pre-set call and transact options. 759 type ERC721Session struct { 760 Contract *ERC721 // Generic contract binding to set the session for 761 CallOpts bind.CallOpts // Call options to use throughout this session 762 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 763 } 764 765 // ERC721CallerSession is an auto generated read-only Go binding around an Ethereum contract, 766 // with pre-set call options. 767 type ERC721CallerSession struct { 768 Contract *ERC721Caller // Generic contract caller binding to set the session for 769 CallOpts bind.CallOpts // Call options to use throughout this session 770 } 771 772 // ERC721TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 773 // with pre-set transact options. 774 type ERC721TransactorSession struct { 775 Contract *ERC721Transactor // Generic contract transactor binding to set the session for 776 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 777 } 778 779 // ERC721Raw is an auto generated low-level Go binding around an Ethereum contract. 780 type ERC721Raw struct { 781 Contract *ERC721 // Generic contract binding to access the raw methods on 782 } 783 784 // ERC721CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 785 type ERC721CallerRaw struct { 786 Contract *ERC721Caller // Generic read-only contract binding to access the raw methods on 787 } 788 789 // ERC721TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 790 type ERC721TransactorRaw struct { 791 Contract *ERC721Transactor // Generic write-only contract binding to access the raw methods on 792 } 793 794 // NewERC721 creates a new instance of ERC721, bound to a specific deployed contract. 795 func NewERC721(address common.Address, backend bind.ContractBackend) (*ERC721, error) { 796 contract, err := bindERC721(address, backend, backend, backend) 797 if err != nil { 798 return nil, err 799 } 800 return &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil 801 } 802 803 // NewERC721Caller creates a new read-only instance of ERC721, bound to a specific deployed contract. 804 func NewERC721Caller(address common.Address, caller bind.ContractCaller) (*ERC721Caller, error) { 805 contract, err := bindERC721(address, caller, nil, nil) 806 if err != nil { 807 return nil, err 808 } 809 return &ERC721Caller{contract: contract}, nil 810 } 811 812 // NewERC721Transactor creates a new write-only instance of ERC721, bound to a specific deployed contract. 813 func NewERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC721Transactor, error) { 814 contract, err := bindERC721(address, nil, transactor, nil) 815 if err != nil { 816 return nil, err 817 } 818 return &ERC721Transactor{contract: contract}, nil 819 } 820 821 // NewERC721Filterer creates a new log filterer instance of ERC721, bound to a specific deployed contract. 822 func NewERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC721Filterer, error) { 823 contract, err := bindERC721(address, nil, nil, filterer) 824 if err != nil { 825 return nil, err 826 } 827 return &ERC721Filterer{contract: contract}, nil 828 } 829 830 // bindERC721 binds a generic wrapper to an already deployed contract. 831 func bindERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 832 parsed, err := abi.JSON(strings.NewReader(ERC721ABI)) 833 if err != nil { 834 return nil, err 835 } 836 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 837 } 838 839 // Call invokes the (constant) contract method with params as input values and 840 // sets the output to result. The result type might be a single field for simple 841 // returns, a slice of interfaces for anonymous returns and a struct for named 842 // returns. 843 func (_ERC721 *ERC721Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 844 return _ERC721.Contract.ERC721Caller.contract.Call(opts, result, method, params...) 845 } 846 847 // Transfer initiates a plain transaction to move funds to the contract, calling 848 // its default method if one is available. 849 func (_ERC721 *ERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 850 return _ERC721.Contract.ERC721Transactor.contract.Transfer(opts) 851 } 852 853 // Transact invokes the (paid) contract method with params as input values. 854 func (_ERC721 *ERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 855 return _ERC721.Contract.ERC721Transactor.contract.Transact(opts, method, params...) 856 } 857 858 // Call invokes the (constant) contract method with params as input values and 859 // sets the output to result. The result type might be a single field for simple 860 // returns, a slice of interfaces for anonymous returns and a struct for named 861 // returns. 862 func (_ERC721 *ERC721CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 863 return _ERC721.Contract.contract.Call(opts, result, method, params...) 864 } 865 866 // Transfer initiates a plain transaction to move funds to the contract, calling 867 // its default method if one is available. 868 func (_ERC721 *ERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 869 return _ERC721.Contract.contract.Transfer(opts) 870 } 871 872 // Transact invokes the (paid) contract method with params as input values. 873 func (_ERC721 *ERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 874 return _ERC721.Contract.contract.Transact(opts, method, params...) 875 } 876 877 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 878 // 879 // Solidity: function balanceOf(address owner) view returns(uint256) 880 func (_ERC721 *ERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 881 var out []interface{} 882 err := _ERC721.contract.Call(opts, &out, "balanceOf", owner) 883 884 if err != nil { 885 return *new(*big.Int), err 886 } 887 888 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 889 890 return out0, err 891 892 } 893 894 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 895 // 896 // Solidity: function balanceOf(address owner) view returns(uint256) 897 func (_ERC721 *ERC721Session) BalanceOf(owner common.Address) (*big.Int, error) { 898 return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner) 899 } 900 901 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 902 // 903 // Solidity: function balanceOf(address owner) view returns(uint256) 904 func (_ERC721 *ERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 905 return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner) 906 } 907 908 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 909 // 910 // Solidity: function getApproved(uint256 tokenId) view returns(address) 911 func (_ERC721 *ERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 912 var out []interface{} 913 err := _ERC721.contract.Call(opts, &out, "getApproved", tokenId) 914 915 if err != nil { 916 return *new(common.Address), err 917 } 918 919 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 920 921 return out0, err 922 923 } 924 925 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 926 // 927 // Solidity: function getApproved(uint256 tokenId) view returns(address) 928 func (_ERC721 *ERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) { 929 return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId) 930 } 931 932 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 933 // 934 // Solidity: function getApproved(uint256 tokenId) view returns(address) 935 func (_ERC721 *ERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 936 return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId) 937 } 938 939 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 940 // 941 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 942 func (_ERC721 *ERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 943 var out []interface{} 944 err := _ERC721.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 945 946 if err != nil { 947 return *new(bool), err 948 } 949 950 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 951 952 return out0, err 953 954 } 955 956 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 957 // 958 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 959 func (_ERC721 *ERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 960 return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator) 961 } 962 963 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 964 // 965 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 966 func (_ERC721 *ERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 967 return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator) 968 } 969 970 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 971 // 972 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 973 func (_ERC721 *ERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 974 var out []interface{} 975 err := _ERC721.contract.Call(opts, &out, "ownerOf", tokenId) 976 977 if err != nil { 978 return *new(common.Address), err 979 } 980 981 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 982 983 return out0, err 984 985 } 986 987 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 988 // 989 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 990 func (_ERC721 *ERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) { 991 return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId) 992 } 993 994 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 995 // 996 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 997 func (_ERC721 *ERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 998 return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId) 999 } 1000 1001 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1002 // 1003 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1004 func (_ERC721 *ERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 1005 var out []interface{} 1006 err := _ERC721.contract.Call(opts, &out, "supportsInterface", interfaceId) 1007 1008 if err != nil { 1009 return *new(bool), err 1010 } 1011 1012 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 1013 1014 return out0, err 1015 1016 } 1017 1018 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1019 // 1020 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1021 func (_ERC721 *ERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 1022 return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId) 1023 } 1024 1025 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1026 // 1027 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1028 func (_ERC721 *ERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 1029 return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId) 1030 } 1031 1032 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1033 // 1034 // Solidity: function approve(address to, uint256 tokenId) returns() 1035 func (_ERC721 *ERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1036 return _ERC721.contract.Transact(opts, "approve", to, tokenId) 1037 } 1038 1039 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1040 // 1041 // Solidity: function approve(address to, uint256 tokenId) returns() 1042 func (_ERC721 *ERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1043 return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId) 1044 } 1045 1046 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1047 // 1048 // Solidity: function approve(address to, uint256 tokenId) returns() 1049 func (_ERC721 *ERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1050 return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId) 1051 } 1052 1053 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 1054 // 1055 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 1056 func (_ERC721 *ERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1057 return _ERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 1058 } 1059 1060 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 1061 // 1062 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 1063 func (_ERC721 *ERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1064 return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 1065 } 1066 1067 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 1068 // 1069 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 1070 func (_ERC721 *ERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1071 return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 1072 } 1073 1074 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 1075 // 1076 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 1077 func (_ERC721 *ERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 1078 return _ERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 1079 } 1080 1081 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 1082 // 1083 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 1084 func (_ERC721 *ERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 1085 return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, _data) 1086 } 1087 1088 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 1089 // 1090 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 1091 func (_ERC721 *ERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 1092 return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, _data) 1093 } 1094 1095 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 1096 // 1097 // Solidity: function setApprovalForAll(address to, bool approved) returns() 1098 func (_ERC721 *ERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 1099 return _ERC721.contract.Transact(opts, "setApprovalForAll", to, approved) 1100 } 1101 1102 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 1103 // 1104 // Solidity: function setApprovalForAll(address to, bool approved) returns() 1105 func (_ERC721 *ERC721Session) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 1106 return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, to, approved) 1107 } 1108 1109 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 1110 // 1111 // Solidity: function setApprovalForAll(address to, bool approved) returns() 1112 func (_ERC721 *ERC721TransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 1113 return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, to, approved) 1114 } 1115 1116 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1117 // 1118 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1119 func (_ERC721 *ERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1120 return _ERC721.contract.Transact(opts, "transferFrom", from, to, tokenId) 1121 } 1122 1123 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1124 // 1125 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1126 func (_ERC721 *ERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1127 return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 1128 } 1129 1130 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1131 // 1132 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1133 func (_ERC721 *ERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1134 return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 1135 } 1136 1137 // 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. 1138 type ERC721ApprovalIterator struct { 1139 Event *ERC721Approval // Event containing the contract specifics and raw log 1140 1141 contract *bind.BoundContract // Generic contract to use for unpacking event data 1142 event string // Event name to use for unpacking event data 1143 1144 logs chan types.Log // Log channel receiving the found contract events 1145 sub ethereum.Subscription // Subscription for errors, completion and termination 1146 done bool // Whether the subscription completed delivering logs 1147 fail error // Occurred error to stop iteration 1148 } 1149 1150 // Next advances the iterator to the subsequent event, returning whether there 1151 // are any more events found. In case of a retrieval or parsing error, false is 1152 // returned and Error() can be queried for the exact failure. 1153 func (it *ERC721ApprovalIterator) Next() bool { 1154 // If the iterator failed, stop iterating 1155 if it.fail != nil { 1156 return false 1157 } 1158 // If the iterator completed, deliver directly whatever's available 1159 if it.done { 1160 select { 1161 case log := <-it.logs: 1162 it.Event = new(ERC721Approval) 1163 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1164 it.fail = err 1165 return false 1166 } 1167 it.Event.Raw = log 1168 return true 1169 1170 default: 1171 return false 1172 } 1173 } 1174 // Iterator still in progress, wait for either a data or an error event 1175 select { 1176 case log := <-it.logs: 1177 it.Event = new(ERC721Approval) 1178 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1179 it.fail = err 1180 return false 1181 } 1182 it.Event.Raw = log 1183 return true 1184 1185 case err := <-it.sub.Err(): 1186 it.done = true 1187 it.fail = err 1188 return it.Next() 1189 } 1190 } 1191 1192 // Error returns any retrieval or parsing error occurred during filtering. 1193 func (it *ERC721ApprovalIterator) Error() error { 1194 return it.fail 1195 } 1196 1197 // Close terminates the iteration process, releasing any pending underlying 1198 // resources. 1199 func (it *ERC721ApprovalIterator) Close() error { 1200 it.sub.Unsubscribe() 1201 return nil 1202 } 1203 1204 // ERC721Approval represents a Approval event raised by the ERC721 contract. 1205 type ERC721Approval struct { 1206 Owner common.Address 1207 Approved common.Address 1208 TokenId *big.Int 1209 Raw types.Log // Blockchain specific contextual infos 1210 } 1211 1212 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1213 // 1214 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1215 func (_ERC721 *ERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721ApprovalIterator, error) { 1216 1217 var ownerRule []interface{} 1218 for _, ownerItem := range owner { 1219 ownerRule = append(ownerRule, ownerItem) 1220 } 1221 var approvedRule []interface{} 1222 for _, approvedItem := range approved { 1223 approvedRule = append(approvedRule, approvedItem) 1224 } 1225 var tokenIdRule []interface{} 1226 for _, tokenIdItem := range tokenId { 1227 tokenIdRule = append(tokenIdRule, tokenIdItem) 1228 } 1229 1230 logs, sub, err := _ERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 1231 if err != nil { 1232 return nil, err 1233 } 1234 return &ERC721ApprovalIterator{contract: _ERC721.contract, event: "Approval", logs: logs, sub: sub}, nil 1235 } 1236 1237 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1238 // 1239 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1240 func (_ERC721 *ERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 1241 1242 var ownerRule []interface{} 1243 for _, ownerItem := range owner { 1244 ownerRule = append(ownerRule, ownerItem) 1245 } 1246 var approvedRule []interface{} 1247 for _, approvedItem := range approved { 1248 approvedRule = append(approvedRule, approvedItem) 1249 } 1250 var tokenIdRule []interface{} 1251 for _, tokenIdItem := range tokenId { 1252 tokenIdRule = append(tokenIdRule, tokenIdItem) 1253 } 1254 1255 logs, sub, err := _ERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 1256 if err != nil { 1257 return nil, err 1258 } 1259 return event.NewSubscription(func(quit <-chan struct{}) error { 1260 defer sub.Unsubscribe() 1261 for { 1262 select { 1263 case log := <-logs: 1264 // New log arrived, parse the event and forward to the user 1265 event := new(ERC721Approval) 1266 if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil { 1267 return err 1268 } 1269 event.Raw = log 1270 1271 select { 1272 case sink <- event: 1273 case err := <-sub.Err(): 1274 return err 1275 case <-quit: 1276 return nil 1277 } 1278 case err := <-sub.Err(): 1279 return err 1280 case <-quit: 1281 return nil 1282 } 1283 } 1284 }), nil 1285 } 1286 1287 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1288 // 1289 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1290 func (_ERC721 *ERC721Filterer) ParseApproval(log types.Log) (*ERC721Approval, error) { 1291 event := new(ERC721Approval) 1292 if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil { 1293 return nil, err 1294 } 1295 event.Raw = log 1296 return event, nil 1297 } 1298 1299 // 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. 1300 type ERC721ApprovalForAllIterator struct { 1301 Event *ERC721ApprovalForAll // Event containing the contract specifics and raw log 1302 1303 contract *bind.BoundContract // Generic contract to use for unpacking event data 1304 event string // Event name to use for unpacking event data 1305 1306 logs chan types.Log // Log channel receiving the found contract events 1307 sub ethereum.Subscription // Subscription for errors, completion and termination 1308 done bool // Whether the subscription completed delivering logs 1309 fail error // Occurred error to stop iteration 1310 } 1311 1312 // Next advances the iterator to the subsequent event, returning whether there 1313 // are any more events found. In case of a retrieval or parsing error, false is 1314 // returned and Error() can be queried for the exact failure. 1315 func (it *ERC721ApprovalForAllIterator) Next() bool { 1316 // If the iterator failed, stop iterating 1317 if it.fail != nil { 1318 return false 1319 } 1320 // If the iterator completed, deliver directly whatever's available 1321 if it.done { 1322 select { 1323 case log := <-it.logs: 1324 it.Event = new(ERC721ApprovalForAll) 1325 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1326 it.fail = err 1327 return false 1328 } 1329 it.Event.Raw = log 1330 return true 1331 1332 default: 1333 return false 1334 } 1335 } 1336 // Iterator still in progress, wait for either a data or an error event 1337 select { 1338 case log := <-it.logs: 1339 it.Event = new(ERC721ApprovalForAll) 1340 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1341 it.fail = err 1342 return false 1343 } 1344 it.Event.Raw = log 1345 return true 1346 1347 case err := <-it.sub.Err(): 1348 it.done = true 1349 it.fail = err 1350 return it.Next() 1351 } 1352 } 1353 1354 // Error returns any retrieval or parsing error occurred during filtering. 1355 func (it *ERC721ApprovalForAllIterator) Error() error { 1356 return it.fail 1357 } 1358 1359 // Close terminates the iteration process, releasing any pending underlying 1360 // resources. 1361 func (it *ERC721ApprovalForAllIterator) Close() error { 1362 it.sub.Unsubscribe() 1363 return nil 1364 } 1365 1366 // ERC721ApprovalForAll represents a ApprovalForAll event raised by the ERC721 contract. 1367 type ERC721ApprovalForAll struct { 1368 Owner common.Address 1369 Operator common.Address 1370 Approved bool 1371 Raw types.Log // Blockchain specific contextual infos 1372 } 1373 1374 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 1375 // 1376 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 1377 func (_ERC721 *ERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721ApprovalForAllIterator, error) { 1378 1379 var ownerRule []interface{} 1380 for _, ownerItem := range owner { 1381 ownerRule = append(ownerRule, ownerItem) 1382 } 1383 var operatorRule []interface{} 1384 for _, operatorItem := range operator { 1385 operatorRule = append(operatorRule, operatorItem) 1386 } 1387 1388 logs, sub, err := _ERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 1389 if err != nil { 1390 return nil, err 1391 } 1392 return &ERC721ApprovalForAllIterator{contract: _ERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 1393 } 1394 1395 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 1396 // 1397 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 1398 func (_ERC721 *ERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 1399 1400 var ownerRule []interface{} 1401 for _, ownerItem := range owner { 1402 ownerRule = append(ownerRule, ownerItem) 1403 } 1404 var operatorRule []interface{} 1405 for _, operatorItem := range operator { 1406 operatorRule = append(operatorRule, operatorItem) 1407 } 1408 1409 logs, sub, err := _ERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 1410 if err != nil { 1411 return nil, err 1412 } 1413 return event.NewSubscription(func(quit <-chan struct{}) error { 1414 defer sub.Unsubscribe() 1415 for { 1416 select { 1417 case log := <-logs: 1418 // New log arrived, parse the event and forward to the user 1419 event := new(ERC721ApprovalForAll) 1420 if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 1421 return err 1422 } 1423 event.Raw = log 1424 1425 select { 1426 case sink <- event: 1427 case err := <-sub.Err(): 1428 return err 1429 case <-quit: 1430 return nil 1431 } 1432 case err := <-sub.Err(): 1433 return err 1434 case <-quit: 1435 return nil 1436 } 1437 } 1438 }), nil 1439 } 1440 1441 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 1442 // 1443 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 1444 func (_ERC721 *ERC721Filterer) ParseApprovalForAll(log types.Log) (*ERC721ApprovalForAll, error) { 1445 event := new(ERC721ApprovalForAll) 1446 if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 1447 return nil, err 1448 } 1449 event.Raw = log 1450 return event, nil 1451 } 1452 1453 // 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. 1454 type ERC721TransferIterator struct { 1455 Event *ERC721Transfer // Event containing the contract specifics and raw log 1456 1457 contract *bind.BoundContract // Generic contract to use for unpacking event data 1458 event string // Event name to use for unpacking event data 1459 1460 logs chan types.Log // Log channel receiving the found contract events 1461 sub ethereum.Subscription // Subscription for errors, completion and termination 1462 done bool // Whether the subscription completed delivering logs 1463 fail error // Occurred error to stop iteration 1464 } 1465 1466 // Next advances the iterator to the subsequent event, returning whether there 1467 // are any more events found. In case of a retrieval or parsing error, false is 1468 // returned and Error() can be queried for the exact failure. 1469 func (it *ERC721TransferIterator) Next() bool { 1470 // If the iterator failed, stop iterating 1471 if it.fail != nil { 1472 return false 1473 } 1474 // If the iterator completed, deliver directly whatever's available 1475 if it.done { 1476 select { 1477 case log := <-it.logs: 1478 it.Event = new(ERC721Transfer) 1479 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1480 it.fail = err 1481 return false 1482 } 1483 it.Event.Raw = log 1484 return true 1485 1486 default: 1487 return false 1488 } 1489 } 1490 // Iterator still in progress, wait for either a data or an error event 1491 select { 1492 case log := <-it.logs: 1493 it.Event = new(ERC721Transfer) 1494 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1495 it.fail = err 1496 return false 1497 } 1498 it.Event.Raw = log 1499 return true 1500 1501 case err := <-it.sub.Err(): 1502 it.done = true 1503 it.fail = err 1504 return it.Next() 1505 } 1506 } 1507 1508 // Error returns any retrieval or parsing error occurred during filtering. 1509 func (it *ERC721TransferIterator) Error() error { 1510 return it.fail 1511 } 1512 1513 // Close terminates the iteration process, releasing any pending underlying 1514 // resources. 1515 func (it *ERC721TransferIterator) Close() error { 1516 it.sub.Unsubscribe() 1517 return nil 1518 } 1519 1520 // ERC721Transfer represents a Transfer event raised by the ERC721 contract. 1521 type ERC721Transfer struct { 1522 From common.Address 1523 To common.Address 1524 TokenId *big.Int 1525 Raw types.Log // Blockchain specific contextual infos 1526 } 1527 1528 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1529 // 1530 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 1531 func (_ERC721 *ERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721TransferIterator, error) { 1532 1533 var fromRule []interface{} 1534 for _, fromItem := range from { 1535 fromRule = append(fromRule, fromItem) 1536 } 1537 var toRule []interface{} 1538 for _, toItem := range to { 1539 toRule = append(toRule, toItem) 1540 } 1541 var tokenIdRule []interface{} 1542 for _, tokenIdItem := range tokenId { 1543 tokenIdRule = append(tokenIdRule, tokenIdItem) 1544 } 1545 1546 logs, sub, err := _ERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 1547 if err != nil { 1548 return nil, err 1549 } 1550 return &ERC721TransferIterator{contract: _ERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil 1551 } 1552 1553 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1554 // 1555 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 1556 func (_ERC721 *ERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 1557 1558 var fromRule []interface{} 1559 for _, fromItem := range from { 1560 fromRule = append(fromRule, fromItem) 1561 } 1562 var toRule []interface{} 1563 for _, toItem := range to { 1564 toRule = append(toRule, toItem) 1565 } 1566 var tokenIdRule []interface{} 1567 for _, tokenIdItem := range tokenId { 1568 tokenIdRule = append(tokenIdRule, tokenIdItem) 1569 } 1570 1571 logs, sub, err := _ERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 1572 if err != nil { 1573 return nil, err 1574 } 1575 return event.NewSubscription(func(quit <-chan struct{}) error { 1576 defer sub.Unsubscribe() 1577 for { 1578 select { 1579 case log := <-logs: 1580 // New log arrived, parse the event and forward to the user 1581 event := new(ERC721Transfer) 1582 if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 1583 return err 1584 } 1585 event.Raw = log 1586 1587 select { 1588 case sink <- event: 1589 case err := <-sub.Err(): 1590 return err 1591 case <-quit: 1592 return nil 1593 } 1594 case err := <-sub.Err(): 1595 return err 1596 case <-quit: 1597 return nil 1598 } 1599 } 1600 }), nil 1601 } 1602 1603 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1604 // 1605 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 1606 func (_ERC721 *ERC721Filterer) ParseTransfer(log types.Log) (*ERC721Transfer, error) { 1607 event := new(ERC721Transfer) 1608 if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 1609 return nil, err 1610 } 1611 event.Raw = log 1612 return event, nil 1613 } 1614 1615 // ERC721EnumerableABI is the input ABI used to generate the binding from. 1616 const ERC721EnumerableABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" 1617 1618 // ERC721EnumerableFuncSigs maps the 4-byte function signature to its string representation. 1619 var ERC721EnumerableFuncSigs = map[string]string{ 1620 "095ea7b3": "approve(address,uint256)", 1621 "70a08231": "balanceOf(address)", 1622 "081812fc": "getApproved(uint256)", 1623 "e985e9c5": "isApprovedForAll(address,address)", 1624 "6352211e": "ownerOf(uint256)", 1625 "42842e0e": "safeTransferFrom(address,address,uint256)", 1626 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 1627 "a22cb465": "setApprovalForAll(address,bool)", 1628 "01ffc9a7": "supportsInterface(bytes4)", 1629 "4f6ccce7": "tokenByIndex(uint256)", 1630 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 1631 "18160ddd": "totalSupply()", 1632 "23b872dd": "transferFrom(address,address,uint256)", 1633 } 1634 1635 // ERC721Enumerable is an auto generated Go binding around an Ethereum contract. 1636 type ERC721Enumerable struct { 1637 ERC721EnumerableCaller // Read-only binding to the contract 1638 ERC721EnumerableTransactor // Write-only binding to the contract 1639 ERC721EnumerableFilterer // Log filterer for contract events 1640 } 1641 1642 // ERC721EnumerableCaller is an auto generated read-only Go binding around an Ethereum contract. 1643 type ERC721EnumerableCaller struct { 1644 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1645 } 1646 1647 // ERC721EnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract. 1648 type ERC721EnumerableTransactor struct { 1649 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1650 } 1651 1652 // ERC721EnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 1653 type ERC721EnumerableFilterer struct { 1654 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1655 } 1656 1657 // ERC721EnumerableSession is an auto generated Go binding around an Ethereum contract, 1658 // with pre-set call and transact options. 1659 type ERC721EnumerableSession struct { 1660 Contract *ERC721Enumerable // Generic contract binding to set the session for 1661 CallOpts bind.CallOpts // Call options to use throughout this session 1662 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1663 } 1664 1665 // ERC721EnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract, 1666 // with pre-set call options. 1667 type ERC721EnumerableCallerSession struct { 1668 Contract *ERC721EnumerableCaller // Generic contract caller binding to set the session for 1669 CallOpts bind.CallOpts // Call options to use throughout this session 1670 } 1671 1672 // ERC721EnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 1673 // with pre-set transact options. 1674 type ERC721EnumerableTransactorSession struct { 1675 Contract *ERC721EnumerableTransactor // Generic contract transactor binding to set the session for 1676 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1677 } 1678 1679 // ERC721EnumerableRaw is an auto generated low-level Go binding around an Ethereum contract. 1680 type ERC721EnumerableRaw struct { 1681 Contract *ERC721Enumerable // Generic contract binding to access the raw methods on 1682 } 1683 1684 // ERC721EnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 1685 type ERC721EnumerableCallerRaw struct { 1686 Contract *ERC721EnumerableCaller // Generic read-only contract binding to access the raw methods on 1687 } 1688 1689 // ERC721EnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 1690 type ERC721EnumerableTransactorRaw struct { 1691 Contract *ERC721EnumerableTransactor // Generic write-only contract binding to access the raw methods on 1692 } 1693 1694 // NewERC721Enumerable creates a new instance of ERC721Enumerable, bound to a specific deployed contract. 1695 func NewERC721Enumerable(address common.Address, backend bind.ContractBackend) (*ERC721Enumerable, error) { 1696 contract, err := bindERC721Enumerable(address, backend, backend, backend) 1697 if err != nil { 1698 return nil, err 1699 } 1700 return &ERC721Enumerable{ERC721EnumerableCaller: ERC721EnumerableCaller{contract: contract}, ERC721EnumerableTransactor: ERC721EnumerableTransactor{contract: contract}, ERC721EnumerableFilterer: ERC721EnumerableFilterer{contract: contract}}, nil 1701 } 1702 1703 // NewERC721EnumerableCaller creates a new read-only instance of ERC721Enumerable, bound to a specific deployed contract. 1704 func NewERC721EnumerableCaller(address common.Address, caller bind.ContractCaller) (*ERC721EnumerableCaller, error) { 1705 contract, err := bindERC721Enumerable(address, caller, nil, nil) 1706 if err != nil { 1707 return nil, err 1708 } 1709 return &ERC721EnumerableCaller{contract: contract}, nil 1710 } 1711 1712 // NewERC721EnumerableTransactor creates a new write-only instance of ERC721Enumerable, bound to a specific deployed contract. 1713 func NewERC721EnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721EnumerableTransactor, error) { 1714 contract, err := bindERC721Enumerable(address, nil, transactor, nil) 1715 if err != nil { 1716 return nil, err 1717 } 1718 return &ERC721EnumerableTransactor{contract: contract}, nil 1719 } 1720 1721 // NewERC721EnumerableFilterer creates a new log filterer instance of ERC721Enumerable, bound to a specific deployed contract. 1722 func NewERC721EnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721EnumerableFilterer, error) { 1723 contract, err := bindERC721Enumerable(address, nil, nil, filterer) 1724 if err != nil { 1725 return nil, err 1726 } 1727 return &ERC721EnumerableFilterer{contract: contract}, nil 1728 } 1729 1730 // bindERC721Enumerable binds a generic wrapper to an already deployed contract. 1731 func bindERC721Enumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1732 parsed, err := abi.JSON(strings.NewReader(ERC721EnumerableABI)) 1733 if err != nil { 1734 return nil, err 1735 } 1736 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 1737 } 1738 1739 // Call invokes the (constant) contract method with params as input values and 1740 // sets the output to result. The result type might be a single field for simple 1741 // returns, a slice of interfaces for anonymous returns and a struct for named 1742 // returns. 1743 func (_ERC721Enumerable *ERC721EnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1744 return _ERC721Enumerable.Contract.ERC721EnumerableCaller.contract.Call(opts, result, method, params...) 1745 } 1746 1747 // Transfer initiates a plain transaction to move funds to the contract, calling 1748 // its default method if one is available. 1749 func (_ERC721Enumerable *ERC721EnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1750 return _ERC721Enumerable.Contract.ERC721EnumerableTransactor.contract.Transfer(opts) 1751 } 1752 1753 // Transact invokes the (paid) contract method with params as input values. 1754 func (_ERC721Enumerable *ERC721EnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1755 return _ERC721Enumerable.Contract.ERC721EnumerableTransactor.contract.Transact(opts, method, params...) 1756 } 1757 1758 // Call invokes the (constant) contract method with params as input values and 1759 // sets the output to result. The result type might be a single field for simple 1760 // returns, a slice of interfaces for anonymous returns and a struct for named 1761 // returns. 1762 func (_ERC721Enumerable *ERC721EnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1763 return _ERC721Enumerable.Contract.contract.Call(opts, result, method, params...) 1764 } 1765 1766 // Transfer initiates a plain transaction to move funds to the contract, calling 1767 // its default method if one is available. 1768 func (_ERC721Enumerable *ERC721EnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1769 return _ERC721Enumerable.Contract.contract.Transfer(opts) 1770 } 1771 1772 // Transact invokes the (paid) contract method with params as input values. 1773 func (_ERC721Enumerable *ERC721EnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1774 return _ERC721Enumerable.Contract.contract.Transact(opts, method, params...) 1775 } 1776 1777 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1778 // 1779 // Solidity: function balanceOf(address owner) view returns(uint256) 1780 func (_ERC721Enumerable *ERC721EnumerableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 1781 var out []interface{} 1782 err := _ERC721Enumerable.contract.Call(opts, &out, "balanceOf", owner) 1783 1784 if err != nil { 1785 return *new(*big.Int), err 1786 } 1787 1788 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1789 1790 return out0, err 1791 1792 } 1793 1794 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1795 // 1796 // Solidity: function balanceOf(address owner) view returns(uint256) 1797 func (_ERC721Enumerable *ERC721EnumerableSession) BalanceOf(owner common.Address) (*big.Int, error) { 1798 return _ERC721Enumerable.Contract.BalanceOf(&_ERC721Enumerable.CallOpts, owner) 1799 } 1800 1801 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1802 // 1803 // Solidity: function balanceOf(address owner) view returns(uint256) 1804 func (_ERC721Enumerable *ERC721EnumerableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 1805 return _ERC721Enumerable.Contract.BalanceOf(&_ERC721Enumerable.CallOpts, owner) 1806 } 1807 1808 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 1809 // 1810 // Solidity: function getApproved(uint256 tokenId) view returns(address) 1811 func (_ERC721Enumerable *ERC721EnumerableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 1812 var out []interface{} 1813 err := _ERC721Enumerable.contract.Call(opts, &out, "getApproved", tokenId) 1814 1815 if err != nil { 1816 return *new(common.Address), err 1817 } 1818 1819 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 1820 1821 return out0, err 1822 1823 } 1824 1825 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 1826 // 1827 // Solidity: function getApproved(uint256 tokenId) view returns(address) 1828 func (_ERC721Enumerable *ERC721EnumerableSession) GetApproved(tokenId *big.Int) (common.Address, error) { 1829 return _ERC721Enumerable.Contract.GetApproved(&_ERC721Enumerable.CallOpts, tokenId) 1830 } 1831 1832 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 1833 // 1834 // Solidity: function getApproved(uint256 tokenId) view returns(address) 1835 func (_ERC721Enumerable *ERC721EnumerableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 1836 return _ERC721Enumerable.Contract.GetApproved(&_ERC721Enumerable.CallOpts, tokenId) 1837 } 1838 1839 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 1840 // 1841 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 1842 func (_ERC721Enumerable *ERC721EnumerableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 1843 var out []interface{} 1844 err := _ERC721Enumerable.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 1845 1846 if err != nil { 1847 return *new(bool), err 1848 } 1849 1850 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 1851 1852 return out0, err 1853 1854 } 1855 1856 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 1857 // 1858 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 1859 func (_ERC721Enumerable *ERC721EnumerableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 1860 return _ERC721Enumerable.Contract.IsApprovedForAll(&_ERC721Enumerable.CallOpts, owner, operator) 1861 } 1862 1863 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 1864 // 1865 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 1866 func (_ERC721Enumerable *ERC721EnumerableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 1867 return _ERC721Enumerable.Contract.IsApprovedForAll(&_ERC721Enumerable.CallOpts, owner, operator) 1868 } 1869 1870 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 1871 // 1872 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 1873 func (_ERC721Enumerable *ERC721EnumerableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 1874 var out []interface{} 1875 err := _ERC721Enumerable.contract.Call(opts, &out, "ownerOf", tokenId) 1876 1877 if err != nil { 1878 return *new(common.Address), err 1879 } 1880 1881 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 1882 1883 return out0, err 1884 1885 } 1886 1887 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 1888 // 1889 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 1890 func (_ERC721Enumerable *ERC721EnumerableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 1891 return _ERC721Enumerable.Contract.OwnerOf(&_ERC721Enumerable.CallOpts, tokenId) 1892 } 1893 1894 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 1895 // 1896 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 1897 func (_ERC721Enumerable *ERC721EnumerableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 1898 return _ERC721Enumerable.Contract.OwnerOf(&_ERC721Enumerable.CallOpts, tokenId) 1899 } 1900 1901 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1902 // 1903 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1904 func (_ERC721Enumerable *ERC721EnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 1905 var out []interface{} 1906 err := _ERC721Enumerable.contract.Call(opts, &out, "supportsInterface", interfaceId) 1907 1908 if err != nil { 1909 return *new(bool), err 1910 } 1911 1912 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 1913 1914 return out0, err 1915 1916 } 1917 1918 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1919 // 1920 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1921 func (_ERC721Enumerable *ERC721EnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 1922 return _ERC721Enumerable.Contract.SupportsInterface(&_ERC721Enumerable.CallOpts, interfaceId) 1923 } 1924 1925 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1926 // 1927 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1928 func (_ERC721Enumerable *ERC721EnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 1929 return _ERC721Enumerable.Contract.SupportsInterface(&_ERC721Enumerable.CallOpts, interfaceId) 1930 } 1931 1932 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 1933 // 1934 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 1935 func (_ERC721Enumerable *ERC721EnumerableCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 1936 var out []interface{} 1937 err := _ERC721Enumerable.contract.Call(opts, &out, "tokenByIndex", index) 1938 1939 if err != nil { 1940 return *new(*big.Int), err 1941 } 1942 1943 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1944 1945 return out0, err 1946 1947 } 1948 1949 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 1950 // 1951 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 1952 func (_ERC721Enumerable *ERC721EnumerableSession) TokenByIndex(index *big.Int) (*big.Int, error) { 1953 return _ERC721Enumerable.Contract.TokenByIndex(&_ERC721Enumerable.CallOpts, index) 1954 } 1955 1956 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 1957 // 1958 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 1959 func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 1960 return _ERC721Enumerable.Contract.TokenByIndex(&_ERC721Enumerable.CallOpts, index) 1961 } 1962 1963 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 1964 // 1965 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 1966 func (_ERC721Enumerable *ERC721EnumerableCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 1967 var out []interface{} 1968 err := _ERC721Enumerable.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index) 1969 1970 if err != nil { 1971 return *new(*big.Int), err 1972 } 1973 1974 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1975 1976 return out0, err 1977 1978 } 1979 1980 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 1981 // 1982 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 1983 func (_ERC721Enumerable *ERC721EnumerableSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 1984 return _ERC721Enumerable.Contract.TokenOfOwnerByIndex(&_ERC721Enumerable.CallOpts, owner, index) 1985 } 1986 1987 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 1988 // 1989 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 1990 func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 1991 return _ERC721Enumerable.Contract.TokenOfOwnerByIndex(&_ERC721Enumerable.CallOpts, owner, index) 1992 } 1993 1994 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1995 // 1996 // Solidity: function totalSupply() view returns(uint256) 1997 func (_ERC721Enumerable *ERC721EnumerableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 1998 var out []interface{} 1999 err := _ERC721Enumerable.contract.Call(opts, &out, "totalSupply") 2000 2001 if err != nil { 2002 return *new(*big.Int), err 2003 } 2004 2005 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 2006 2007 return out0, err 2008 2009 } 2010 2011 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 2012 // 2013 // Solidity: function totalSupply() view returns(uint256) 2014 func (_ERC721Enumerable *ERC721EnumerableSession) TotalSupply() (*big.Int, error) { 2015 return _ERC721Enumerable.Contract.TotalSupply(&_ERC721Enumerable.CallOpts) 2016 } 2017 2018 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 2019 // 2020 // Solidity: function totalSupply() view returns(uint256) 2021 func (_ERC721Enumerable *ERC721EnumerableCallerSession) TotalSupply() (*big.Int, error) { 2022 return _ERC721Enumerable.Contract.TotalSupply(&_ERC721Enumerable.CallOpts) 2023 } 2024 2025 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 2026 // 2027 // Solidity: function approve(address to, uint256 tokenId) returns() 2028 func (_ERC721Enumerable *ERC721EnumerableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2029 return _ERC721Enumerable.contract.Transact(opts, "approve", to, tokenId) 2030 } 2031 2032 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 2033 // 2034 // Solidity: function approve(address to, uint256 tokenId) returns() 2035 func (_ERC721Enumerable *ERC721EnumerableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2036 return _ERC721Enumerable.Contract.Approve(&_ERC721Enumerable.TransactOpts, to, tokenId) 2037 } 2038 2039 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 2040 // 2041 // Solidity: function approve(address to, uint256 tokenId) returns() 2042 func (_ERC721Enumerable *ERC721EnumerableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2043 return _ERC721Enumerable.Contract.Approve(&_ERC721Enumerable.TransactOpts, to, tokenId) 2044 } 2045 2046 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 2047 // 2048 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 2049 func (_ERC721Enumerable *ERC721EnumerableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2050 return _ERC721Enumerable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 2051 } 2052 2053 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 2054 // 2055 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 2056 func (_ERC721Enumerable *ERC721EnumerableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2057 return _ERC721Enumerable.Contract.SafeTransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId) 2058 } 2059 2060 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 2061 // 2062 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 2063 func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2064 return _ERC721Enumerable.Contract.SafeTransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId) 2065 } 2066 2067 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 2068 // 2069 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 2070 func (_ERC721Enumerable *ERC721EnumerableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 2071 return _ERC721Enumerable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 2072 } 2073 2074 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 2075 // 2076 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 2077 func (_ERC721Enumerable *ERC721EnumerableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 2078 return _ERC721Enumerable.Contract.SafeTransferFrom0(&_ERC721Enumerable.TransactOpts, from, to, tokenId, _data) 2079 } 2080 2081 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 2082 // 2083 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 2084 func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 2085 return _ERC721Enumerable.Contract.SafeTransferFrom0(&_ERC721Enumerable.TransactOpts, from, to, tokenId, _data) 2086 } 2087 2088 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 2089 // 2090 // Solidity: function setApprovalForAll(address to, bool approved) returns() 2091 func (_ERC721Enumerable *ERC721EnumerableTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 2092 return _ERC721Enumerable.contract.Transact(opts, "setApprovalForAll", to, approved) 2093 } 2094 2095 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 2096 // 2097 // Solidity: function setApprovalForAll(address to, bool approved) returns() 2098 func (_ERC721Enumerable *ERC721EnumerableSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 2099 return _ERC721Enumerable.Contract.SetApprovalForAll(&_ERC721Enumerable.TransactOpts, to, approved) 2100 } 2101 2102 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 2103 // 2104 // Solidity: function setApprovalForAll(address to, bool approved) returns() 2105 func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 2106 return _ERC721Enumerable.Contract.SetApprovalForAll(&_ERC721Enumerable.TransactOpts, to, approved) 2107 } 2108 2109 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2110 // 2111 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 2112 func (_ERC721Enumerable *ERC721EnumerableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2113 return _ERC721Enumerable.contract.Transact(opts, "transferFrom", from, to, tokenId) 2114 } 2115 2116 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2117 // 2118 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 2119 func (_ERC721Enumerable *ERC721EnumerableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2120 return _ERC721Enumerable.Contract.TransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId) 2121 } 2122 2123 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2124 // 2125 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 2126 func (_ERC721Enumerable *ERC721EnumerableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2127 return _ERC721Enumerable.Contract.TransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId) 2128 } 2129 2130 // ERC721EnumerableApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721Enumerable contract. 2131 type ERC721EnumerableApprovalIterator struct { 2132 Event *ERC721EnumerableApproval // Event containing the contract specifics and raw log 2133 2134 contract *bind.BoundContract // Generic contract to use for unpacking event data 2135 event string // Event name to use for unpacking event data 2136 2137 logs chan types.Log // Log channel receiving the found contract events 2138 sub ethereum.Subscription // Subscription for errors, completion and termination 2139 done bool // Whether the subscription completed delivering logs 2140 fail error // Occurred error to stop iteration 2141 } 2142 2143 // Next advances the iterator to the subsequent event, returning whether there 2144 // are any more events found. In case of a retrieval or parsing error, false is 2145 // returned and Error() can be queried for the exact failure. 2146 func (it *ERC721EnumerableApprovalIterator) Next() bool { 2147 // If the iterator failed, stop iterating 2148 if it.fail != nil { 2149 return false 2150 } 2151 // If the iterator completed, deliver directly whatever's available 2152 if it.done { 2153 select { 2154 case log := <-it.logs: 2155 it.Event = new(ERC721EnumerableApproval) 2156 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2157 it.fail = err 2158 return false 2159 } 2160 it.Event.Raw = log 2161 return true 2162 2163 default: 2164 return false 2165 } 2166 } 2167 // Iterator still in progress, wait for either a data or an error event 2168 select { 2169 case log := <-it.logs: 2170 it.Event = new(ERC721EnumerableApproval) 2171 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2172 it.fail = err 2173 return false 2174 } 2175 it.Event.Raw = log 2176 return true 2177 2178 case err := <-it.sub.Err(): 2179 it.done = true 2180 it.fail = err 2181 return it.Next() 2182 } 2183 } 2184 2185 // Error returns any retrieval or parsing error occurred during filtering. 2186 func (it *ERC721EnumerableApprovalIterator) Error() error { 2187 return it.fail 2188 } 2189 2190 // Close terminates the iteration process, releasing any pending underlying 2191 // resources. 2192 func (it *ERC721EnumerableApprovalIterator) Close() error { 2193 it.sub.Unsubscribe() 2194 return nil 2195 } 2196 2197 // ERC721EnumerableApproval represents a Approval event raised by the ERC721Enumerable contract. 2198 type ERC721EnumerableApproval struct { 2199 Owner common.Address 2200 Approved common.Address 2201 TokenId *big.Int 2202 Raw types.Log // Blockchain specific contextual infos 2203 } 2204 2205 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2206 // 2207 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 2208 func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721EnumerableApprovalIterator, error) { 2209 2210 var ownerRule []interface{} 2211 for _, ownerItem := range owner { 2212 ownerRule = append(ownerRule, ownerItem) 2213 } 2214 var approvedRule []interface{} 2215 for _, approvedItem := range approved { 2216 approvedRule = append(approvedRule, approvedItem) 2217 } 2218 var tokenIdRule []interface{} 2219 for _, tokenIdItem := range tokenId { 2220 tokenIdRule = append(tokenIdRule, tokenIdItem) 2221 } 2222 2223 logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 2224 if err != nil { 2225 return nil, err 2226 } 2227 return &ERC721EnumerableApprovalIterator{contract: _ERC721Enumerable.contract, event: "Approval", logs: logs, sub: sub}, nil 2228 } 2229 2230 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2231 // 2232 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 2233 func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 2234 2235 var ownerRule []interface{} 2236 for _, ownerItem := range owner { 2237 ownerRule = append(ownerRule, ownerItem) 2238 } 2239 var approvedRule []interface{} 2240 for _, approvedItem := range approved { 2241 approvedRule = append(approvedRule, approvedItem) 2242 } 2243 var tokenIdRule []interface{} 2244 for _, tokenIdItem := range tokenId { 2245 tokenIdRule = append(tokenIdRule, tokenIdItem) 2246 } 2247 2248 logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 2249 if err != nil { 2250 return nil, err 2251 } 2252 return event.NewSubscription(func(quit <-chan struct{}) error { 2253 defer sub.Unsubscribe() 2254 for { 2255 select { 2256 case log := <-logs: 2257 // New log arrived, parse the event and forward to the user 2258 event := new(ERC721EnumerableApproval) 2259 if err := _ERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { 2260 return err 2261 } 2262 event.Raw = log 2263 2264 select { 2265 case sink <- event: 2266 case err := <-sub.Err(): 2267 return err 2268 case <-quit: 2269 return nil 2270 } 2271 case err := <-sub.Err(): 2272 return err 2273 case <-quit: 2274 return nil 2275 } 2276 } 2277 }), nil 2278 } 2279 2280 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2281 // 2282 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 2283 func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseApproval(log types.Log) (*ERC721EnumerableApproval, error) { 2284 event := new(ERC721EnumerableApproval) 2285 if err := _ERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { 2286 return nil, err 2287 } 2288 event.Raw = log 2289 return event, nil 2290 } 2291 2292 // ERC721EnumerableApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721Enumerable contract. 2293 type ERC721EnumerableApprovalForAllIterator struct { 2294 Event *ERC721EnumerableApprovalForAll // Event containing the contract specifics and raw log 2295 2296 contract *bind.BoundContract // Generic contract to use for unpacking event data 2297 event string // Event name to use for unpacking event data 2298 2299 logs chan types.Log // Log channel receiving the found contract events 2300 sub ethereum.Subscription // Subscription for errors, completion and termination 2301 done bool // Whether the subscription completed delivering logs 2302 fail error // Occurred error to stop iteration 2303 } 2304 2305 // Next advances the iterator to the subsequent event, returning whether there 2306 // are any more events found. In case of a retrieval or parsing error, false is 2307 // returned and Error() can be queried for the exact failure. 2308 func (it *ERC721EnumerableApprovalForAllIterator) Next() bool { 2309 // If the iterator failed, stop iterating 2310 if it.fail != nil { 2311 return false 2312 } 2313 // If the iterator completed, deliver directly whatever's available 2314 if it.done { 2315 select { 2316 case log := <-it.logs: 2317 it.Event = new(ERC721EnumerableApprovalForAll) 2318 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2319 it.fail = err 2320 return false 2321 } 2322 it.Event.Raw = log 2323 return true 2324 2325 default: 2326 return false 2327 } 2328 } 2329 // Iterator still in progress, wait for either a data or an error event 2330 select { 2331 case log := <-it.logs: 2332 it.Event = new(ERC721EnumerableApprovalForAll) 2333 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2334 it.fail = err 2335 return false 2336 } 2337 it.Event.Raw = log 2338 return true 2339 2340 case err := <-it.sub.Err(): 2341 it.done = true 2342 it.fail = err 2343 return it.Next() 2344 } 2345 } 2346 2347 // Error returns any retrieval or parsing error occurred during filtering. 2348 func (it *ERC721EnumerableApprovalForAllIterator) Error() error { 2349 return it.fail 2350 } 2351 2352 // Close terminates the iteration process, releasing any pending underlying 2353 // resources. 2354 func (it *ERC721EnumerableApprovalForAllIterator) Close() error { 2355 it.sub.Unsubscribe() 2356 return nil 2357 } 2358 2359 // ERC721EnumerableApprovalForAll represents a ApprovalForAll event raised by the ERC721Enumerable contract. 2360 type ERC721EnumerableApprovalForAll struct { 2361 Owner common.Address 2362 Operator common.Address 2363 Approved bool 2364 Raw types.Log // Blockchain specific contextual infos 2365 } 2366 2367 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 2368 // 2369 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 2370 func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721EnumerableApprovalForAllIterator, error) { 2371 2372 var ownerRule []interface{} 2373 for _, ownerItem := range owner { 2374 ownerRule = append(ownerRule, ownerItem) 2375 } 2376 var operatorRule []interface{} 2377 for _, operatorItem := range operator { 2378 operatorRule = append(operatorRule, operatorItem) 2379 } 2380 2381 logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 2382 if err != nil { 2383 return nil, err 2384 } 2385 return &ERC721EnumerableApprovalForAllIterator{contract: _ERC721Enumerable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 2386 } 2387 2388 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 2389 // 2390 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 2391 func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 2392 2393 var ownerRule []interface{} 2394 for _, ownerItem := range owner { 2395 ownerRule = append(ownerRule, ownerItem) 2396 } 2397 var operatorRule []interface{} 2398 for _, operatorItem := range operator { 2399 operatorRule = append(operatorRule, operatorItem) 2400 } 2401 2402 logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 2403 if err != nil { 2404 return nil, err 2405 } 2406 return event.NewSubscription(func(quit <-chan struct{}) error { 2407 defer sub.Unsubscribe() 2408 for { 2409 select { 2410 case log := <-logs: 2411 // New log arrived, parse the event and forward to the user 2412 event := new(ERC721EnumerableApprovalForAll) 2413 if err := _ERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 2414 return err 2415 } 2416 event.Raw = log 2417 2418 select { 2419 case sink <- event: 2420 case err := <-sub.Err(): 2421 return err 2422 case <-quit: 2423 return nil 2424 } 2425 case err := <-sub.Err(): 2426 return err 2427 case <-quit: 2428 return nil 2429 } 2430 } 2431 }), nil 2432 } 2433 2434 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 2435 // 2436 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 2437 func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseApprovalForAll(log types.Log) (*ERC721EnumerableApprovalForAll, error) { 2438 event := new(ERC721EnumerableApprovalForAll) 2439 if err := _ERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 2440 return nil, err 2441 } 2442 event.Raw = log 2443 return event, nil 2444 } 2445 2446 // ERC721EnumerableTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721Enumerable contract. 2447 type ERC721EnumerableTransferIterator struct { 2448 Event *ERC721EnumerableTransfer // Event containing the contract specifics and raw log 2449 2450 contract *bind.BoundContract // Generic contract to use for unpacking event data 2451 event string // Event name to use for unpacking event data 2452 2453 logs chan types.Log // Log channel receiving the found contract events 2454 sub ethereum.Subscription // Subscription for errors, completion and termination 2455 done bool // Whether the subscription completed delivering logs 2456 fail error // Occurred error to stop iteration 2457 } 2458 2459 // Next advances the iterator to the subsequent event, returning whether there 2460 // are any more events found. In case of a retrieval or parsing error, false is 2461 // returned and Error() can be queried for the exact failure. 2462 func (it *ERC721EnumerableTransferIterator) Next() bool { 2463 // If the iterator failed, stop iterating 2464 if it.fail != nil { 2465 return false 2466 } 2467 // If the iterator completed, deliver directly whatever's available 2468 if it.done { 2469 select { 2470 case log := <-it.logs: 2471 it.Event = new(ERC721EnumerableTransfer) 2472 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2473 it.fail = err 2474 return false 2475 } 2476 it.Event.Raw = log 2477 return true 2478 2479 default: 2480 return false 2481 } 2482 } 2483 // Iterator still in progress, wait for either a data or an error event 2484 select { 2485 case log := <-it.logs: 2486 it.Event = new(ERC721EnumerableTransfer) 2487 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2488 it.fail = err 2489 return false 2490 } 2491 it.Event.Raw = log 2492 return true 2493 2494 case err := <-it.sub.Err(): 2495 it.done = true 2496 it.fail = err 2497 return it.Next() 2498 } 2499 } 2500 2501 // Error returns any retrieval or parsing error occurred during filtering. 2502 func (it *ERC721EnumerableTransferIterator) Error() error { 2503 return it.fail 2504 } 2505 2506 // Close terminates the iteration process, releasing any pending underlying 2507 // resources. 2508 func (it *ERC721EnumerableTransferIterator) Close() error { 2509 it.sub.Unsubscribe() 2510 return nil 2511 } 2512 2513 // ERC721EnumerableTransfer represents a Transfer event raised by the ERC721Enumerable contract. 2514 type ERC721EnumerableTransfer struct { 2515 From common.Address 2516 To common.Address 2517 TokenId *big.Int 2518 Raw types.Log // Blockchain specific contextual infos 2519 } 2520 2521 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2522 // 2523 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 2524 func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721EnumerableTransferIterator, error) { 2525 2526 var fromRule []interface{} 2527 for _, fromItem := range from { 2528 fromRule = append(fromRule, fromItem) 2529 } 2530 var toRule []interface{} 2531 for _, toItem := range to { 2532 toRule = append(toRule, toItem) 2533 } 2534 var tokenIdRule []interface{} 2535 for _, tokenIdItem := range tokenId { 2536 tokenIdRule = append(tokenIdRule, tokenIdItem) 2537 } 2538 2539 logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 2540 if err != nil { 2541 return nil, err 2542 } 2543 return &ERC721EnumerableTransferIterator{contract: _ERC721Enumerable.contract, event: "Transfer", logs: logs, sub: sub}, nil 2544 } 2545 2546 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2547 // 2548 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 2549 func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 2550 2551 var fromRule []interface{} 2552 for _, fromItem := range from { 2553 fromRule = append(fromRule, fromItem) 2554 } 2555 var toRule []interface{} 2556 for _, toItem := range to { 2557 toRule = append(toRule, toItem) 2558 } 2559 var tokenIdRule []interface{} 2560 for _, tokenIdItem := range tokenId { 2561 tokenIdRule = append(tokenIdRule, tokenIdItem) 2562 } 2563 2564 logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 2565 if err != nil { 2566 return nil, err 2567 } 2568 return event.NewSubscription(func(quit <-chan struct{}) error { 2569 defer sub.Unsubscribe() 2570 for { 2571 select { 2572 case log := <-logs: 2573 // New log arrived, parse the event and forward to the user 2574 event := new(ERC721EnumerableTransfer) 2575 if err := _ERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { 2576 return err 2577 } 2578 event.Raw = log 2579 2580 select { 2581 case sink <- event: 2582 case err := <-sub.Err(): 2583 return err 2584 case <-quit: 2585 return nil 2586 } 2587 case err := <-sub.Err(): 2588 return err 2589 case <-quit: 2590 return nil 2591 } 2592 } 2593 }), nil 2594 } 2595 2596 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2597 // 2598 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 2599 func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseTransfer(log types.Log) (*ERC721EnumerableTransfer, error) { 2600 event := new(ERC721EnumerableTransfer) 2601 if err := _ERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { 2602 return nil, err 2603 } 2604 event.Raw = log 2605 return event, nil 2606 } 2607 2608 // ERC721FullABI is the input ABI used to generate the binding from. 2609 const ERC721FullABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" 2610 2611 // ERC721FullFuncSigs maps the 4-byte function signature to its string representation. 2612 var ERC721FullFuncSigs = map[string]string{ 2613 "095ea7b3": "approve(address,uint256)", 2614 "70a08231": "balanceOf(address)", 2615 "081812fc": "getApproved(uint256)", 2616 "e985e9c5": "isApprovedForAll(address,address)", 2617 "06fdde03": "name()", 2618 "6352211e": "ownerOf(uint256)", 2619 "42842e0e": "safeTransferFrom(address,address,uint256)", 2620 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 2621 "a22cb465": "setApprovalForAll(address,bool)", 2622 "01ffc9a7": "supportsInterface(bytes4)", 2623 "95d89b41": "symbol()", 2624 "4f6ccce7": "tokenByIndex(uint256)", 2625 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 2626 "c87b56dd": "tokenURI(uint256)", 2627 "18160ddd": "totalSupply()", 2628 "23b872dd": "transferFrom(address,address,uint256)", 2629 } 2630 2631 // ERC721Full is an auto generated Go binding around an Ethereum contract. 2632 type ERC721Full struct { 2633 ERC721FullCaller // Read-only binding to the contract 2634 ERC721FullTransactor // Write-only binding to the contract 2635 ERC721FullFilterer // Log filterer for contract events 2636 } 2637 2638 // ERC721FullCaller is an auto generated read-only Go binding around an Ethereum contract. 2639 type ERC721FullCaller struct { 2640 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2641 } 2642 2643 // ERC721FullTransactor is an auto generated write-only Go binding around an Ethereum contract. 2644 type ERC721FullTransactor struct { 2645 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2646 } 2647 2648 // ERC721FullFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 2649 type ERC721FullFilterer struct { 2650 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2651 } 2652 2653 // ERC721FullSession is an auto generated Go binding around an Ethereum contract, 2654 // with pre-set call and transact options. 2655 type ERC721FullSession struct { 2656 Contract *ERC721Full // Generic contract binding to set the session for 2657 CallOpts bind.CallOpts // Call options to use throughout this session 2658 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2659 } 2660 2661 // ERC721FullCallerSession is an auto generated read-only Go binding around an Ethereum contract, 2662 // with pre-set call options. 2663 type ERC721FullCallerSession struct { 2664 Contract *ERC721FullCaller // Generic contract caller binding to set the session for 2665 CallOpts bind.CallOpts // Call options to use throughout this session 2666 } 2667 2668 // ERC721FullTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 2669 // with pre-set transact options. 2670 type ERC721FullTransactorSession struct { 2671 Contract *ERC721FullTransactor // Generic contract transactor binding to set the session for 2672 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2673 } 2674 2675 // ERC721FullRaw is an auto generated low-level Go binding around an Ethereum contract. 2676 type ERC721FullRaw struct { 2677 Contract *ERC721Full // Generic contract binding to access the raw methods on 2678 } 2679 2680 // ERC721FullCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 2681 type ERC721FullCallerRaw struct { 2682 Contract *ERC721FullCaller // Generic read-only contract binding to access the raw methods on 2683 } 2684 2685 // ERC721FullTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 2686 type ERC721FullTransactorRaw struct { 2687 Contract *ERC721FullTransactor // Generic write-only contract binding to access the raw methods on 2688 } 2689 2690 // NewERC721Full creates a new instance of ERC721Full, bound to a specific deployed contract. 2691 func NewERC721Full(address common.Address, backend bind.ContractBackend) (*ERC721Full, error) { 2692 contract, err := bindERC721Full(address, backend, backend, backend) 2693 if err != nil { 2694 return nil, err 2695 } 2696 return &ERC721Full{ERC721FullCaller: ERC721FullCaller{contract: contract}, ERC721FullTransactor: ERC721FullTransactor{contract: contract}, ERC721FullFilterer: ERC721FullFilterer{contract: contract}}, nil 2697 } 2698 2699 // NewERC721FullCaller creates a new read-only instance of ERC721Full, bound to a specific deployed contract. 2700 func NewERC721FullCaller(address common.Address, caller bind.ContractCaller) (*ERC721FullCaller, error) { 2701 contract, err := bindERC721Full(address, caller, nil, nil) 2702 if err != nil { 2703 return nil, err 2704 } 2705 return &ERC721FullCaller{contract: contract}, nil 2706 } 2707 2708 // NewERC721FullTransactor creates a new write-only instance of ERC721Full, bound to a specific deployed contract. 2709 func NewERC721FullTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721FullTransactor, error) { 2710 contract, err := bindERC721Full(address, nil, transactor, nil) 2711 if err != nil { 2712 return nil, err 2713 } 2714 return &ERC721FullTransactor{contract: contract}, nil 2715 } 2716 2717 // NewERC721FullFilterer creates a new log filterer instance of ERC721Full, bound to a specific deployed contract. 2718 func NewERC721FullFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721FullFilterer, error) { 2719 contract, err := bindERC721Full(address, nil, nil, filterer) 2720 if err != nil { 2721 return nil, err 2722 } 2723 return &ERC721FullFilterer{contract: contract}, nil 2724 } 2725 2726 // bindERC721Full binds a generic wrapper to an already deployed contract. 2727 func bindERC721Full(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 2728 parsed, err := abi.JSON(strings.NewReader(ERC721FullABI)) 2729 if err != nil { 2730 return nil, err 2731 } 2732 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 2733 } 2734 2735 // Call invokes the (constant) contract method with params as input values and 2736 // sets the output to result. The result type might be a single field for simple 2737 // returns, a slice of interfaces for anonymous returns and a struct for named 2738 // returns. 2739 func (_ERC721Full *ERC721FullRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 2740 return _ERC721Full.Contract.ERC721FullCaller.contract.Call(opts, result, method, params...) 2741 } 2742 2743 // Transfer initiates a plain transaction to move funds to the contract, calling 2744 // its default method if one is available. 2745 func (_ERC721Full *ERC721FullRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2746 return _ERC721Full.Contract.ERC721FullTransactor.contract.Transfer(opts) 2747 } 2748 2749 // Transact invokes the (paid) contract method with params as input values. 2750 func (_ERC721Full *ERC721FullRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2751 return _ERC721Full.Contract.ERC721FullTransactor.contract.Transact(opts, method, params...) 2752 } 2753 2754 // Call invokes the (constant) contract method with params as input values and 2755 // sets the output to result. The result type might be a single field for simple 2756 // returns, a slice of interfaces for anonymous returns and a struct for named 2757 // returns. 2758 func (_ERC721Full *ERC721FullCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 2759 return _ERC721Full.Contract.contract.Call(opts, result, method, params...) 2760 } 2761 2762 // Transfer initiates a plain transaction to move funds to the contract, calling 2763 // its default method if one is available. 2764 func (_ERC721Full *ERC721FullTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2765 return _ERC721Full.Contract.contract.Transfer(opts) 2766 } 2767 2768 // Transact invokes the (paid) contract method with params as input values. 2769 func (_ERC721Full *ERC721FullTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2770 return _ERC721Full.Contract.contract.Transact(opts, method, params...) 2771 } 2772 2773 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2774 // 2775 // Solidity: function balanceOf(address owner) view returns(uint256) 2776 func (_ERC721Full *ERC721FullCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 2777 var out []interface{} 2778 err := _ERC721Full.contract.Call(opts, &out, "balanceOf", owner) 2779 2780 if err != nil { 2781 return *new(*big.Int), err 2782 } 2783 2784 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 2785 2786 return out0, err 2787 2788 } 2789 2790 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2791 // 2792 // Solidity: function balanceOf(address owner) view returns(uint256) 2793 func (_ERC721Full *ERC721FullSession) BalanceOf(owner common.Address) (*big.Int, error) { 2794 return _ERC721Full.Contract.BalanceOf(&_ERC721Full.CallOpts, owner) 2795 } 2796 2797 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2798 // 2799 // Solidity: function balanceOf(address owner) view returns(uint256) 2800 func (_ERC721Full *ERC721FullCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 2801 return _ERC721Full.Contract.BalanceOf(&_ERC721Full.CallOpts, owner) 2802 } 2803 2804 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 2805 // 2806 // Solidity: function getApproved(uint256 tokenId) view returns(address) 2807 func (_ERC721Full *ERC721FullCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 2808 var out []interface{} 2809 err := _ERC721Full.contract.Call(opts, &out, "getApproved", tokenId) 2810 2811 if err != nil { 2812 return *new(common.Address), err 2813 } 2814 2815 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 2816 2817 return out0, err 2818 2819 } 2820 2821 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 2822 // 2823 // Solidity: function getApproved(uint256 tokenId) view returns(address) 2824 func (_ERC721Full *ERC721FullSession) GetApproved(tokenId *big.Int) (common.Address, error) { 2825 return _ERC721Full.Contract.GetApproved(&_ERC721Full.CallOpts, tokenId) 2826 } 2827 2828 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 2829 // 2830 // Solidity: function getApproved(uint256 tokenId) view returns(address) 2831 func (_ERC721Full *ERC721FullCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 2832 return _ERC721Full.Contract.GetApproved(&_ERC721Full.CallOpts, tokenId) 2833 } 2834 2835 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 2836 // 2837 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 2838 func (_ERC721Full *ERC721FullCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 2839 var out []interface{} 2840 err := _ERC721Full.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 2841 2842 if err != nil { 2843 return *new(bool), err 2844 } 2845 2846 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 2847 2848 return out0, err 2849 2850 } 2851 2852 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 2853 // 2854 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 2855 func (_ERC721Full *ERC721FullSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 2856 return _ERC721Full.Contract.IsApprovedForAll(&_ERC721Full.CallOpts, owner, operator) 2857 } 2858 2859 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 2860 // 2861 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 2862 func (_ERC721Full *ERC721FullCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 2863 return _ERC721Full.Contract.IsApprovedForAll(&_ERC721Full.CallOpts, owner, operator) 2864 } 2865 2866 // Name is a free data retrieval call binding the contract method 0x06fdde03. 2867 // 2868 // Solidity: function name() view returns(string) 2869 func (_ERC721Full *ERC721FullCaller) Name(opts *bind.CallOpts) (string, error) { 2870 var out []interface{} 2871 err := _ERC721Full.contract.Call(opts, &out, "name") 2872 2873 if err != nil { 2874 return *new(string), err 2875 } 2876 2877 out0 := *abi.ConvertType(out[0], new(string)).(*string) 2878 2879 return out0, err 2880 2881 } 2882 2883 // Name is a free data retrieval call binding the contract method 0x06fdde03. 2884 // 2885 // Solidity: function name() view returns(string) 2886 func (_ERC721Full *ERC721FullSession) Name() (string, error) { 2887 return _ERC721Full.Contract.Name(&_ERC721Full.CallOpts) 2888 } 2889 2890 // Name is a free data retrieval call binding the contract method 0x06fdde03. 2891 // 2892 // Solidity: function name() view returns(string) 2893 func (_ERC721Full *ERC721FullCallerSession) Name() (string, error) { 2894 return _ERC721Full.Contract.Name(&_ERC721Full.CallOpts) 2895 } 2896 2897 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 2898 // 2899 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 2900 func (_ERC721Full *ERC721FullCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 2901 var out []interface{} 2902 err := _ERC721Full.contract.Call(opts, &out, "ownerOf", tokenId) 2903 2904 if err != nil { 2905 return *new(common.Address), err 2906 } 2907 2908 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 2909 2910 return out0, err 2911 2912 } 2913 2914 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 2915 // 2916 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 2917 func (_ERC721Full *ERC721FullSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 2918 return _ERC721Full.Contract.OwnerOf(&_ERC721Full.CallOpts, tokenId) 2919 } 2920 2921 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 2922 // 2923 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 2924 func (_ERC721Full *ERC721FullCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 2925 return _ERC721Full.Contract.OwnerOf(&_ERC721Full.CallOpts, tokenId) 2926 } 2927 2928 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 2929 // 2930 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 2931 func (_ERC721Full *ERC721FullCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 2932 var out []interface{} 2933 err := _ERC721Full.contract.Call(opts, &out, "supportsInterface", interfaceId) 2934 2935 if err != nil { 2936 return *new(bool), err 2937 } 2938 2939 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 2940 2941 return out0, err 2942 2943 } 2944 2945 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 2946 // 2947 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 2948 func (_ERC721Full *ERC721FullSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 2949 return _ERC721Full.Contract.SupportsInterface(&_ERC721Full.CallOpts, interfaceId) 2950 } 2951 2952 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 2953 // 2954 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 2955 func (_ERC721Full *ERC721FullCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 2956 return _ERC721Full.Contract.SupportsInterface(&_ERC721Full.CallOpts, interfaceId) 2957 } 2958 2959 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 2960 // 2961 // Solidity: function symbol() view returns(string) 2962 func (_ERC721Full *ERC721FullCaller) Symbol(opts *bind.CallOpts) (string, error) { 2963 var out []interface{} 2964 err := _ERC721Full.contract.Call(opts, &out, "symbol") 2965 2966 if err != nil { 2967 return *new(string), err 2968 } 2969 2970 out0 := *abi.ConvertType(out[0], new(string)).(*string) 2971 2972 return out0, err 2973 2974 } 2975 2976 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 2977 // 2978 // Solidity: function symbol() view returns(string) 2979 func (_ERC721Full *ERC721FullSession) Symbol() (string, error) { 2980 return _ERC721Full.Contract.Symbol(&_ERC721Full.CallOpts) 2981 } 2982 2983 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 2984 // 2985 // Solidity: function symbol() view returns(string) 2986 func (_ERC721Full *ERC721FullCallerSession) Symbol() (string, error) { 2987 return _ERC721Full.Contract.Symbol(&_ERC721Full.CallOpts) 2988 } 2989 2990 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 2991 // 2992 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 2993 func (_ERC721Full *ERC721FullCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 2994 var out []interface{} 2995 err := _ERC721Full.contract.Call(opts, &out, "tokenByIndex", index) 2996 2997 if err != nil { 2998 return *new(*big.Int), err 2999 } 3000 3001 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 3002 3003 return out0, err 3004 3005 } 3006 3007 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 3008 // 3009 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 3010 func (_ERC721Full *ERC721FullSession) TokenByIndex(index *big.Int) (*big.Int, error) { 3011 return _ERC721Full.Contract.TokenByIndex(&_ERC721Full.CallOpts, index) 3012 } 3013 3014 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 3015 // 3016 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 3017 func (_ERC721Full *ERC721FullCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 3018 return _ERC721Full.Contract.TokenByIndex(&_ERC721Full.CallOpts, index) 3019 } 3020 3021 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 3022 // 3023 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 3024 func (_ERC721Full *ERC721FullCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 3025 var out []interface{} 3026 err := _ERC721Full.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index) 3027 3028 if err != nil { 3029 return *new(*big.Int), err 3030 } 3031 3032 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 3033 3034 return out0, err 3035 3036 } 3037 3038 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 3039 // 3040 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 3041 func (_ERC721Full *ERC721FullSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 3042 return _ERC721Full.Contract.TokenOfOwnerByIndex(&_ERC721Full.CallOpts, owner, index) 3043 } 3044 3045 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 3046 // 3047 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 3048 func (_ERC721Full *ERC721FullCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 3049 return _ERC721Full.Contract.TokenOfOwnerByIndex(&_ERC721Full.CallOpts, owner, index) 3050 } 3051 3052 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 3053 // 3054 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 3055 func (_ERC721Full *ERC721FullCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 3056 var out []interface{} 3057 err := _ERC721Full.contract.Call(opts, &out, "tokenURI", tokenId) 3058 3059 if err != nil { 3060 return *new(string), err 3061 } 3062 3063 out0 := *abi.ConvertType(out[0], new(string)).(*string) 3064 3065 return out0, err 3066 3067 } 3068 3069 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 3070 // 3071 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 3072 func (_ERC721Full *ERC721FullSession) TokenURI(tokenId *big.Int) (string, error) { 3073 return _ERC721Full.Contract.TokenURI(&_ERC721Full.CallOpts, tokenId) 3074 } 3075 3076 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 3077 // 3078 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 3079 func (_ERC721Full *ERC721FullCallerSession) TokenURI(tokenId *big.Int) (string, error) { 3080 return _ERC721Full.Contract.TokenURI(&_ERC721Full.CallOpts, tokenId) 3081 } 3082 3083 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3084 // 3085 // Solidity: function totalSupply() view returns(uint256) 3086 func (_ERC721Full *ERC721FullCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 3087 var out []interface{} 3088 err := _ERC721Full.contract.Call(opts, &out, "totalSupply") 3089 3090 if err != nil { 3091 return *new(*big.Int), err 3092 } 3093 3094 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 3095 3096 return out0, err 3097 3098 } 3099 3100 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3101 // 3102 // Solidity: function totalSupply() view returns(uint256) 3103 func (_ERC721Full *ERC721FullSession) TotalSupply() (*big.Int, error) { 3104 return _ERC721Full.Contract.TotalSupply(&_ERC721Full.CallOpts) 3105 } 3106 3107 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3108 // 3109 // Solidity: function totalSupply() view returns(uint256) 3110 func (_ERC721Full *ERC721FullCallerSession) TotalSupply() (*big.Int, error) { 3111 return _ERC721Full.Contract.TotalSupply(&_ERC721Full.CallOpts) 3112 } 3113 3114 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3115 // 3116 // Solidity: function approve(address to, uint256 tokenId) returns() 3117 func (_ERC721Full *ERC721FullTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3118 return _ERC721Full.contract.Transact(opts, "approve", to, tokenId) 3119 } 3120 3121 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3122 // 3123 // Solidity: function approve(address to, uint256 tokenId) returns() 3124 func (_ERC721Full *ERC721FullSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3125 return _ERC721Full.Contract.Approve(&_ERC721Full.TransactOpts, to, tokenId) 3126 } 3127 3128 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3129 // 3130 // Solidity: function approve(address to, uint256 tokenId) returns() 3131 func (_ERC721Full *ERC721FullTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3132 return _ERC721Full.Contract.Approve(&_ERC721Full.TransactOpts, to, tokenId) 3133 } 3134 3135 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 3136 // 3137 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 3138 func (_ERC721Full *ERC721FullTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3139 return _ERC721Full.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 3140 } 3141 3142 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 3143 // 3144 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 3145 func (_ERC721Full *ERC721FullSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3146 return _ERC721Full.Contract.SafeTransferFrom(&_ERC721Full.TransactOpts, from, to, tokenId) 3147 } 3148 3149 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 3150 // 3151 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 3152 func (_ERC721Full *ERC721FullTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3153 return _ERC721Full.Contract.SafeTransferFrom(&_ERC721Full.TransactOpts, from, to, tokenId) 3154 } 3155 3156 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 3157 // 3158 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 3159 func (_ERC721Full *ERC721FullTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 3160 return _ERC721Full.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 3161 } 3162 3163 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 3164 // 3165 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 3166 func (_ERC721Full *ERC721FullSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 3167 return _ERC721Full.Contract.SafeTransferFrom0(&_ERC721Full.TransactOpts, from, to, tokenId, _data) 3168 } 3169 3170 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 3171 // 3172 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 3173 func (_ERC721Full *ERC721FullTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 3174 return _ERC721Full.Contract.SafeTransferFrom0(&_ERC721Full.TransactOpts, from, to, tokenId, _data) 3175 } 3176 3177 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 3178 // 3179 // Solidity: function setApprovalForAll(address to, bool approved) returns() 3180 func (_ERC721Full *ERC721FullTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 3181 return _ERC721Full.contract.Transact(opts, "setApprovalForAll", to, approved) 3182 } 3183 3184 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 3185 // 3186 // Solidity: function setApprovalForAll(address to, bool approved) returns() 3187 func (_ERC721Full *ERC721FullSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 3188 return _ERC721Full.Contract.SetApprovalForAll(&_ERC721Full.TransactOpts, to, approved) 3189 } 3190 3191 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 3192 // 3193 // Solidity: function setApprovalForAll(address to, bool approved) returns() 3194 func (_ERC721Full *ERC721FullTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 3195 return _ERC721Full.Contract.SetApprovalForAll(&_ERC721Full.TransactOpts, to, approved) 3196 } 3197 3198 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3199 // 3200 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 3201 func (_ERC721Full *ERC721FullTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3202 return _ERC721Full.contract.Transact(opts, "transferFrom", from, to, tokenId) 3203 } 3204 3205 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3206 // 3207 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 3208 func (_ERC721Full *ERC721FullSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3209 return _ERC721Full.Contract.TransferFrom(&_ERC721Full.TransactOpts, from, to, tokenId) 3210 } 3211 3212 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3213 // 3214 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 3215 func (_ERC721Full *ERC721FullTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3216 return _ERC721Full.Contract.TransferFrom(&_ERC721Full.TransactOpts, from, to, tokenId) 3217 } 3218 3219 // ERC721FullApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721Full contract. 3220 type ERC721FullApprovalIterator struct { 3221 Event *ERC721FullApproval // Event containing the contract specifics and raw log 3222 3223 contract *bind.BoundContract // Generic contract to use for unpacking event data 3224 event string // Event name to use for unpacking event data 3225 3226 logs chan types.Log // Log channel receiving the found contract events 3227 sub ethereum.Subscription // Subscription for errors, completion and termination 3228 done bool // Whether the subscription completed delivering logs 3229 fail error // Occurred error to stop iteration 3230 } 3231 3232 // Next advances the iterator to the subsequent event, returning whether there 3233 // are any more events found. In case of a retrieval or parsing error, false is 3234 // returned and Error() can be queried for the exact failure. 3235 func (it *ERC721FullApprovalIterator) Next() bool { 3236 // If the iterator failed, stop iterating 3237 if it.fail != nil { 3238 return false 3239 } 3240 // If the iterator completed, deliver directly whatever's available 3241 if it.done { 3242 select { 3243 case log := <-it.logs: 3244 it.Event = new(ERC721FullApproval) 3245 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3246 it.fail = err 3247 return false 3248 } 3249 it.Event.Raw = log 3250 return true 3251 3252 default: 3253 return false 3254 } 3255 } 3256 // Iterator still in progress, wait for either a data or an error event 3257 select { 3258 case log := <-it.logs: 3259 it.Event = new(ERC721FullApproval) 3260 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3261 it.fail = err 3262 return false 3263 } 3264 it.Event.Raw = log 3265 return true 3266 3267 case err := <-it.sub.Err(): 3268 it.done = true 3269 it.fail = err 3270 return it.Next() 3271 } 3272 } 3273 3274 // Error returns any retrieval or parsing error occurred during filtering. 3275 func (it *ERC721FullApprovalIterator) Error() error { 3276 return it.fail 3277 } 3278 3279 // Close terminates the iteration process, releasing any pending underlying 3280 // resources. 3281 func (it *ERC721FullApprovalIterator) Close() error { 3282 it.sub.Unsubscribe() 3283 return nil 3284 } 3285 3286 // ERC721FullApproval represents a Approval event raised by the ERC721Full contract. 3287 type ERC721FullApproval struct { 3288 Owner common.Address 3289 Approved common.Address 3290 TokenId *big.Int 3291 Raw types.Log // Blockchain specific contextual infos 3292 } 3293 3294 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3295 // 3296 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 3297 func (_ERC721Full *ERC721FullFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721FullApprovalIterator, error) { 3298 3299 var ownerRule []interface{} 3300 for _, ownerItem := range owner { 3301 ownerRule = append(ownerRule, ownerItem) 3302 } 3303 var approvedRule []interface{} 3304 for _, approvedItem := range approved { 3305 approvedRule = append(approvedRule, approvedItem) 3306 } 3307 var tokenIdRule []interface{} 3308 for _, tokenIdItem := range tokenId { 3309 tokenIdRule = append(tokenIdRule, tokenIdItem) 3310 } 3311 3312 logs, sub, err := _ERC721Full.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 3313 if err != nil { 3314 return nil, err 3315 } 3316 return &ERC721FullApprovalIterator{contract: _ERC721Full.contract, event: "Approval", logs: logs, sub: sub}, nil 3317 } 3318 3319 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3320 // 3321 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 3322 func (_ERC721Full *ERC721FullFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721FullApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 3323 3324 var ownerRule []interface{} 3325 for _, ownerItem := range owner { 3326 ownerRule = append(ownerRule, ownerItem) 3327 } 3328 var approvedRule []interface{} 3329 for _, approvedItem := range approved { 3330 approvedRule = append(approvedRule, approvedItem) 3331 } 3332 var tokenIdRule []interface{} 3333 for _, tokenIdItem := range tokenId { 3334 tokenIdRule = append(tokenIdRule, tokenIdItem) 3335 } 3336 3337 logs, sub, err := _ERC721Full.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 3338 if err != nil { 3339 return nil, err 3340 } 3341 return event.NewSubscription(func(quit <-chan struct{}) error { 3342 defer sub.Unsubscribe() 3343 for { 3344 select { 3345 case log := <-logs: 3346 // New log arrived, parse the event and forward to the user 3347 event := new(ERC721FullApproval) 3348 if err := _ERC721Full.contract.UnpackLog(event, "Approval", log); err != nil { 3349 return err 3350 } 3351 event.Raw = log 3352 3353 select { 3354 case sink <- event: 3355 case err := <-sub.Err(): 3356 return err 3357 case <-quit: 3358 return nil 3359 } 3360 case err := <-sub.Err(): 3361 return err 3362 case <-quit: 3363 return nil 3364 } 3365 } 3366 }), nil 3367 } 3368 3369 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3370 // 3371 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 3372 func (_ERC721Full *ERC721FullFilterer) ParseApproval(log types.Log) (*ERC721FullApproval, error) { 3373 event := new(ERC721FullApproval) 3374 if err := _ERC721Full.contract.UnpackLog(event, "Approval", log); err != nil { 3375 return nil, err 3376 } 3377 event.Raw = log 3378 return event, nil 3379 } 3380 3381 // ERC721FullApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721Full contract. 3382 type ERC721FullApprovalForAllIterator struct { 3383 Event *ERC721FullApprovalForAll // Event containing the contract specifics and raw log 3384 3385 contract *bind.BoundContract // Generic contract to use for unpacking event data 3386 event string // Event name to use for unpacking event data 3387 3388 logs chan types.Log // Log channel receiving the found contract events 3389 sub ethereum.Subscription // Subscription for errors, completion and termination 3390 done bool // Whether the subscription completed delivering logs 3391 fail error // Occurred error to stop iteration 3392 } 3393 3394 // Next advances the iterator to the subsequent event, returning whether there 3395 // are any more events found. In case of a retrieval or parsing error, false is 3396 // returned and Error() can be queried for the exact failure. 3397 func (it *ERC721FullApprovalForAllIterator) Next() bool { 3398 // If the iterator failed, stop iterating 3399 if it.fail != nil { 3400 return false 3401 } 3402 // If the iterator completed, deliver directly whatever's available 3403 if it.done { 3404 select { 3405 case log := <-it.logs: 3406 it.Event = new(ERC721FullApprovalForAll) 3407 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3408 it.fail = err 3409 return false 3410 } 3411 it.Event.Raw = log 3412 return true 3413 3414 default: 3415 return false 3416 } 3417 } 3418 // Iterator still in progress, wait for either a data or an error event 3419 select { 3420 case log := <-it.logs: 3421 it.Event = new(ERC721FullApprovalForAll) 3422 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3423 it.fail = err 3424 return false 3425 } 3426 it.Event.Raw = log 3427 return true 3428 3429 case err := <-it.sub.Err(): 3430 it.done = true 3431 it.fail = err 3432 return it.Next() 3433 } 3434 } 3435 3436 // Error returns any retrieval or parsing error occurred during filtering. 3437 func (it *ERC721FullApprovalForAllIterator) Error() error { 3438 return it.fail 3439 } 3440 3441 // Close terminates the iteration process, releasing any pending underlying 3442 // resources. 3443 func (it *ERC721FullApprovalForAllIterator) Close() error { 3444 it.sub.Unsubscribe() 3445 return nil 3446 } 3447 3448 // ERC721FullApprovalForAll represents a ApprovalForAll event raised by the ERC721Full contract. 3449 type ERC721FullApprovalForAll struct { 3450 Owner common.Address 3451 Operator common.Address 3452 Approved bool 3453 Raw types.Log // Blockchain specific contextual infos 3454 } 3455 3456 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 3457 // 3458 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 3459 func (_ERC721Full *ERC721FullFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721FullApprovalForAllIterator, error) { 3460 3461 var ownerRule []interface{} 3462 for _, ownerItem := range owner { 3463 ownerRule = append(ownerRule, ownerItem) 3464 } 3465 var operatorRule []interface{} 3466 for _, operatorItem := range operator { 3467 operatorRule = append(operatorRule, operatorItem) 3468 } 3469 3470 logs, sub, err := _ERC721Full.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 3471 if err != nil { 3472 return nil, err 3473 } 3474 return &ERC721FullApprovalForAllIterator{contract: _ERC721Full.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 3475 } 3476 3477 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 3478 // 3479 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 3480 func (_ERC721Full *ERC721FullFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721FullApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 3481 3482 var ownerRule []interface{} 3483 for _, ownerItem := range owner { 3484 ownerRule = append(ownerRule, ownerItem) 3485 } 3486 var operatorRule []interface{} 3487 for _, operatorItem := range operator { 3488 operatorRule = append(operatorRule, operatorItem) 3489 } 3490 3491 logs, sub, err := _ERC721Full.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 3492 if err != nil { 3493 return nil, err 3494 } 3495 return event.NewSubscription(func(quit <-chan struct{}) error { 3496 defer sub.Unsubscribe() 3497 for { 3498 select { 3499 case log := <-logs: 3500 // New log arrived, parse the event and forward to the user 3501 event := new(ERC721FullApprovalForAll) 3502 if err := _ERC721Full.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 3503 return err 3504 } 3505 event.Raw = log 3506 3507 select { 3508 case sink <- event: 3509 case err := <-sub.Err(): 3510 return err 3511 case <-quit: 3512 return nil 3513 } 3514 case err := <-sub.Err(): 3515 return err 3516 case <-quit: 3517 return nil 3518 } 3519 } 3520 }), nil 3521 } 3522 3523 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 3524 // 3525 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 3526 func (_ERC721Full *ERC721FullFilterer) ParseApprovalForAll(log types.Log) (*ERC721FullApprovalForAll, error) { 3527 event := new(ERC721FullApprovalForAll) 3528 if err := _ERC721Full.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 3529 return nil, err 3530 } 3531 event.Raw = log 3532 return event, nil 3533 } 3534 3535 // ERC721FullTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721Full contract. 3536 type ERC721FullTransferIterator struct { 3537 Event *ERC721FullTransfer // Event containing the contract specifics and raw log 3538 3539 contract *bind.BoundContract // Generic contract to use for unpacking event data 3540 event string // Event name to use for unpacking event data 3541 3542 logs chan types.Log // Log channel receiving the found contract events 3543 sub ethereum.Subscription // Subscription for errors, completion and termination 3544 done bool // Whether the subscription completed delivering logs 3545 fail error // Occurred error to stop iteration 3546 } 3547 3548 // Next advances the iterator to the subsequent event, returning whether there 3549 // are any more events found. In case of a retrieval or parsing error, false is 3550 // returned and Error() can be queried for the exact failure. 3551 func (it *ERC721FullTransferIterator) Next() bool { 3552 // If the iterator failed, stop iterating 3553 if it.fail != nil { 3554 return false 3555 } 3556 // If the iterator completed, deliver directly whatever's available 3557 if it.done { 3558 select { 3559 case log := <-it.logs: 3560 it.Event = new(ERC721FullTransfer) 3561 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3562 it.fail = err 3563 return false 3564 } 3565 it.Event.Raw = log 3566 return true 3567 3568 default: 3569 return false 3570 } 3571 } 3572 // Iterator still in progress, wait for either a data or an error event 3573 select { 3574 case log := <-it.logs: 3575 it.Event = new(ERC721FullTransfer) 3576 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3577 it.fail = err 3578 return false 3579 } 3580 it.Event.Raw = log 3581 return true 3582 3583 case err := <-it.sub.Err(): 3584 it.done = true 3585 it.fail = err 3586 return it.Next() 3587 } 3588 } 3589 3590 // Error returns any retrieval or parsing error occurred during filtering. 3591 func (it *ERC721FullTransferIterator) Error() error { 3592 return it.fail 3593 } 3594 3595 // Close terminates the iteration process, releasing any pending underlying 3596 // resources. 3597 func (it *ERC721FullTransferIterator) Close() error { 3598 it.sub.Unsubscribe() 3599 return nil 3600 } 3601 3602 // ERC721FullTransfer represents a Transfer event raised by the ERC721Full contract. 3603 type ERC721FullTransfer struct { 3604 From common.Address 3605 To common.Address 3606 TokenId *big.Int 3607 Raw types.Log // Blockchain specific contextual infos 3608 } 3609 3610 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3611 // 3612 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 3613 func (_ERC721Full *ERC721FullFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721FullTransferIterator, error) { 3614 3615 var fromRule []interface{} 3616 for _, fromItem := range from { 3617 fromRule = append(fromRule, fromItem) 3618 } 3619 var toRule []interface{} 3620 for _, toItem := range to { 3621 toRule = append(toRule, toItem) 3622 } 3623 var tokenIdRule []interface{} 3624 for _, tokenIdItem := range tokenId { 3625 tokenIdRule = append(tokenIdRule, tokenIdItem) 3626 } 3627 3628 logs, sub, err := _ERC721Full.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 3629 if err != nil { 3630 return nil, err 3631 } 3632 return &ERC721FullTransferIterator{contract: _ERC721Full.contract, event: "Transfer", logs: logs, sub: sub}, nil 3633 } 3634 3635 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3636 // 3637 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 3638 func (_ERC721Full *ERC721FullFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721FullTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 3639 3640 var fromRule []interface{} 3641 for _, fromItem := range from { 3642 fromRule = append(fromRule, fromItem) 3643 } 3644 var toRule []interface{} 3645 for _, toItem := range to { 3646 toRule = append(toRule, toItem) 3647 } 3648 var tokenIdRule []interface{} 3649 for _, tokenIdItem := range tokenId { 3650 tokenIdRule = append(tokenIdRule, tokenIdItem) 3651 } 3652 3653 logs, sub, err := _ERC721Full.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 3654 if err != nil { 3655 return nil, err 3656 } 3657 return event.NewSubscription(func(quit <-chan struct{}) error { 3658 defer sub.Unsubscribe() 3659 for { 3660 select { 3661 case log := <-logs: 3662 // New log arrived, parse the event and forward to the user 3663 event := new(ERC721FullTransfer) 3664 if err := _ERC721Full.contract.UnpackLog(event, "Transfer", log); err != nil { 3665 return err 3666 } 3667 event.Raw = log 3668 3669 select { 3670 case sink <- event: 3671 case err := <-sub.Err(): 3672 return err 3673 case <-quit: 3674 return nil 3675 } 3676 case err := <-sub.Err(): 3677 return err 3678 case <-quit: 3679 return nil 3680 } 3681 } 3682 }), nil 3683 } 3684 3685 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3686 // 3687 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 3688 func (_ERC721Full *ERC721FullFilterer) ParseTransfer(log types.Log) (*ERC721FullTransfer, error) { 3689 event := new(ERC721FullTransfer) 3690 if err := _ERC721Full.contract.UnpackLog(event, "Transfer", log); err != nil { 3691 return nil, err 3692 } 3693 event.Raw = log 3694 return event, nil 3695 } 3696 3697 // ERC721MetadataABI is the input ABI used to generate the binding from. 3698 const ERC721MetadataABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" 3699 3700 // ERC721MetadataFuncSigs maps the 4-byte function signature to its string representation. 3701 var ERC721MetadataFuncSigs = map[string]string{ 3702 "095ea7b3": "approve(address,uint256)", 3703 "70a08231": "balanceOf(address)", 3704 "081812fc": "getApproved(uint256)", 3705 "e985e9c5": "isApprovedForAll(address,address)", 3706 "06fdde03": "name()", 3707 "6352211e": "ownerOf(uint256)", 3708 "42842e0e": "safeTransferFrom(address,address,uint256)", 3709 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 3710 "a22cb465": "setApprovalForAll(address,bool)", 3711 "01ffc9a7": "supportsInterface(bytes4)", 3712 "95d89b41": "symbol()", 3713 "c87b56dd": "tokenURI(uint256)", 3714 "23b872dd": "transferFrom(address,address,uint256)", 3715 } 3716 3717 // ERC721Metadata is an auto generated Go binding around an Ethereum contract. 3718 type ERC721Metadata struct { 3719 ERC721MetadataCaller // Read-only binding to the contract 3720 ERC721MetadataTransactor // Write-only binding to the contract 3721 ERC721MetadataFilterer // Log filterer for contract events 3722 } 3723 3724 // ERC721MetadataCaller is an auto generated read-only Go binding around an Ethereum contract. 3725 type ERC721MetadataCaller struct { 3726 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3727 } 3728 3729 // ERC721MetadataTransactor is an auto generated write-only Go binding around an Ethereum contract. 3730 type ERC721MetadataTransactor struct { 3731 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3732 } 3733 3734 // ERC721MetadataFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 3735 type ERC721MetadataFilterer struct { 3736 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3737 } 3738 3739 // ERC721MetadataSession is an auto generated Go binding around an Ethereum contract, 3740 // with pre-set call and transact options. 3741 type ERC721MetadataSession struct { 3742 Contract *ERC721Metadata // Generic contract binding to set the session for 3743 CallOpts bind.CallOpts // Call options to use throughout this session 3744 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 3745 } 3746 3747 // ERC721MetadataCallerSession is an auto generated read-only Go binding around an Ethereum contract, 3748 // with pre-set call options. 3749 type ERC721MetadataCallerSession struct { 3750 Contract *ERC721MetadataCaller // Generic contract caller binding to set the session for 3751 CallOpts bind.CallOpts // Call options to use throughout this session 3752 } 3753 3754 // ERC721MetadataTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 3755 // with pre-set transact options. 3756 type ERC721MetadataTransactorSession struct { 3757 Contract *ERC721MetadataTransactor // Generic contract transactor binding to set the session for 3758 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 3759 } 3760 3761 // ERC721MetadataRaw is an auto generated low-level Go binding around an Ethereum contract. 3762 type ERC721MetadataRaw struct { 3763 Contract *ERC721Metadata // Generic contract binding to access the raw methods on 3764 } 3765 3766 // ERC721MetadataCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 3767 type ERC721MetadataCallerRaw struct { 3768 Contract *ERC721MetadataCaller // Generic read-only contract binding to access the raw methods on 3769 } 3770 3771 // ERC721MetadataTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 3772 type ERC721MetadataTransactorRaw struct { 3773 Contract *ERC721MetadataTransactor // Generic write-only contract binding to access the raw methods on 3774 } 3775 3776 // NewERC721Metadata creates a new instance of ERC721Metadata, bound to a specific deployed contract. 3777 func NewERC721Metadata(address common.Address, backend bind.ContractBackend) (*ERC721Metadata, error) { 3778 contract, err := bindERC721Metadata(address, backend, backend, backend) 3779 if err != nil { 3780 return nil, err 3781 } 3782 return &ERC721Metadata{ERC721MetadataCaller: ERC721MetadataCaller{contract: contract}, ERC721MetadataTransactor: ERC721MetadataTransactor{contract: contract}, ERC721MetadataFilterer: ERC721MetadataFilterer{contract: contract}}, nil 3783 } 3784 3785 // NewERC721MetadataCaller creates a new read-only instance of ERC721Metadata, bound to a specific deployed contract. 3786 func NewERC721MetadataCaller(address common.Address, caller bind.ContractCaller) (*ERC721MetadataCaller, error) { 3787 contract, err := bindERC721Metadata(address, caller, nil, nil) 3788 if err != nil { 3789 return nil, err 3790 } 3791 return &ERC721MetadataCaller{contract: contract}, nil 3792 } 3793 3794 // NewERC721MetadataTransactor creates a new write-only instance of ERC721Metadata, bound to a specific deployed contract. 3795 func NewERC721MetadataTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721MetadataTransactor, error) { 3796 contract, err := bindERC721Metadata(address, nil, transactor, nil) 3797 if err != nil { 3798 return nil, err 3799 } 3800 return &ERC721MetadataTransactor{contract: contract}, nil 3801 } 3802 3803 // NewERC721MetadataFilterer creates a new log filterer instance of ERC721Metadata, bound to a specific deployed contract. 3804 func NewERC721MetadataFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721MetadataFilterer, error) { 3805 contract, err := bindERC721Metadata(address, nil, nil, filterer) 3806 if err != nil { 3807 return nil, err 3808 } 3809 return &ERC721MetadataFilterer{contract: contract}, nil 3810 } 3811 3812 // bindERC721Metadata binds a generic wrapper to an already deployed contract. 3813 func bindERC721Metadata(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 3814 parsed, err := abi.JSON(strings.NewReader(ERC721MetadataABI)) 3815 if err != nil { 3816 return nil, err 3817 } 3818 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 3819 } 3820 3821 // Call invokes the (constant) contract method with params as input values and 3822 // sets the output to result. The result type might be a single field for simple 3823 // returns, a slice of interfaces for anonymous returns and a struct for named 3824 // returns. 3825 func (_ERC721Metadata *ERC721MetadataRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 3826 return _ERC721Metadata.Contract.ERC721MetadataCaller.contract.Call(opts, result, method, params...) 3827 } 3828 3829 // Transfer initiates a plain transaction to move funds to the contract, calling 3830 // its default method if one is available. 3831 func (_ERC721Metadata *ERC721MetadataRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 3832 return _ERC721Metadata.Contract.ERC721MetadataTransactor.contract.Transfer(opts) 3833 } 3834 3835 // Transact invokes the (paid) contract method with params as input values. 3836 func (_ERC721Metadata *ERC721MetadataRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 3837 return _ERC721Metadata.Contract.ERC721MetadataTransactor.contract.Transact(opts, method, params...) 3838 } 3839 3840 // Call invokes the (constant) contract method with params as input values and 3841 // sets the output to result. The result type might be a single field for simple 3842 // returns, a slice of interfaces for anonymous returns and a struct for named 3843 // returns. 3844 func (_ERC721Metadata *ERC721MetadataCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 3845 return _ERC721Metadata.Contract.contract.Call(opts, result, method, params...) 3846 } 3847 3848 // Transfer initiates a plain transaction to move funds to the contract, calling 3849 // its default method if one is available. 3850 func (_ERC721Metadata *ERC721MetadataTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 3851 return _ERC721Metadata.Contract.contract.Transfer(opts) 3852 } 3853 3854 // Transact invokes the (paid) contract method with params as input values. 3855 func (_ERC721Metadata *ERC721MetadataTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 3856 return _ERC721Metadata.Contract.contract.Transact(opts, method, params...) 3857 } 3858 3859 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3860 // 3861 // Solidity: function balanceOf(address owner) view returns(uint256) 3862 func (_ERC721Metadata *ERC721MetadataCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 3863 var out []interface{} 3864 err := _ERC721Metadata.contract.Call(opts, &out, "balanceOf", owner) 3865 3866 if err != nil { 3867 return *new(*big.Int), err 3868 } 3869 3870 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 3871 3872 return out0, err 3873 3874 } 3875 3876 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3877 // 3878 // Solidity: function balanceOf(address owner) view returns(uint256) 3879 func (_ERC721Metadata *ERC721MetadataSession) BalanceOf(owner common.Address) (*big.Int, error) { 3880 return _ERC721Metadata.Contract.BalanceOf(&_ERC721Metadata.CallOpts, owner) 3881 } 3882 3883 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3884 // 3885 // Solidity: function balanceOf(address owner) view returns(uint256) 3886 func (_ERC721Metadata *ERC721MetadataCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 3887 return _ERC721Metadata.Contract.BalanceOf(&_ERC721Metadata.CallOpts, owner) 3888 } 3889 3890 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3891 // 3892 // Solidity: function getApproved(uint256 tokenId) view returns(address) 3893 func (_ERC721Metadata *ERC721MetadataCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 3894 var out []interface{} 3895 err := _ERC721Metadata.contract.Call(opts, &out, "getApproved", tokenId) 3896 3897 if err != nil { 3898 return *new(common.Address), err 3899 } 3900 3901 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 3902 3903 return out0, err 3904 3905 } 3906 3907 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3908 // 3909 // Solidity: function getApproved(uint256 tokenId) view returns(address) 3910 func (_ERC721Metadata *ERC721MetadataSession) GetApproved(tokenId *big.Int) (common.Address, error) { 3911 return _ERC721Metadata.Contract.GetApproved(&_ERC721Metadata.CallOpts, tokenId) 3912 } 3913 3914 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3915 // 3916 // Solidity: function getApproved(uint256 tokenId) view returns(address) 3917 func (_ERC721Metadata *ERC721MetadataCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 3918 return _ERC721Metadata.Contract.GetApproved(&_ERC721Metadata.CallOpts, tokenId) 3919 } 3920 3921 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3922 // 3923 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 3924 func (_ERC721Metadata *ERC721MetadataCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 3925 var out []interface{} 3926 err := _ERC721Metadata.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 3927 3928 if err != nil { 3929 return *new(bool), err 3930 } 3931 3932 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 3933 3934 return out0, err 3935 3936 } 3937 3938 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3939 // 3940 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 3941 func (_ERC721Metadata *ERC721MetadataSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 3942 return _ERC721Metadata.Contract.IsApprovedForAll(&_ERC721Metadata.CallOpts, owner, operator) 3943 } 3944 3945 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3946 // 3947 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 3948 func (_ERC721Metadata *ERC721MetadataCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 3949 return _ERC721Metadata.Contract.IsApprovedForAll(&_ERC721Metadata.CallOpts, owner, operator) 3950 } 3951 3952 // Name is a free data retrieval call binding the contract method 0x06fdde03. 3953 // 3954 // Solidity: function name() view returns(string) 3955 func (_ERC721Metadata *ERC721MetadataCaller) Name(opts *bind.CallOpts) (string, error) { 3956 var out []interface{} 3957 err := _ERC721Metadata.contract.Call(opts, &out, "name") 3958 3959 if err != nil { 3960 return *new(string), err 3961 } 3962 3963 out0 := *abi.ConvertType(out[0], new(string)).(*string) 3964 3965 return out0, err 3966 3967 } 3968 3969 // Name is a free data retrieval call binding the contract method 0x06fdde03. 3970 // 3971 // Solidity: function name() view returns(string) 3972 func (_ERC721Metadata *ERC721MetadataSession) Name() (string, error) { 3973 return _ERC721Metadata.Contract.Name(&_ERC721Metadata.CallOpts) 3974 } 3975 3976 // Name is a free data retrieval call binding the contract method 0x06fdde03. 3977 // 3978 // Solidity: function name() view returns(string) 3979 func (_ERC721Metadata *ERC721MetadataCallerSession) Name() (string, error) { 3980 return _ERC721Metadata.Contract.Name(&_ERC721Metadata.CallOpts) 3981 } 3982 3983 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 3984 // 3985 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 3986 func (_ERC721Metadata *ERC721MetadataCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 3987 var out []interface{} 3988 err := _ERC721Metadata.contract.Call(opts, &out, "ownerOf", tokenId) 3989 3990 if err != nil { 3991 return *new(common.Address), err 3992 } 3993 3994 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 3995 3996 return out0, err 3997 3998 } 3999 4000 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 4001 // 4002 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 4003 func (_ERC721Metadata *ERC721MetadataSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 4004 return _ERC721Metadata.Contract.OwnerOf(&_ERC721Metadata.CallOpts, tokenId) 4005 } 4006 4007 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 4008 // 4009 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 4010 func (_ERC721Metadata *ERC721MetadataCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 4011 return _ERC721Metadata.Contract.OwnerOf(&_ERC721Metadata.CallOpts, tokenId) 4012 } 4013 4014 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4015 // 4016 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4017 func (_ERC721Metadata *ERC721MetadataCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 4018 var out []interface{} 4019 err := _ERC721Metadata.contract.Call(opts, &out, "supportsInterface", interfaceId) 4020 4021 if err != nil { 4022 return *new(bool), err 4023 } 4024 4025 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 4026 4027 return out0, err 4028 4029 } 4030 4031 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4032 // 4033 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4034 func (_ERC721Metadata *ERC721MetadataSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 4035 return _ERC721Metadata.Contract.SupportsInterface(&_ERC721Metadata.CallOpts, interfaceId) 4036 } 4037 4038 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4039 // 4040 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4041 func (_ERC721Metadata *ERC721MetadataCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 4042 return _ERC721Metadata.Contract.SupportsInterface(&_ERC721Metadata.CallOpts, interfaceId) 4043 } 4044 4045 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 4046 // 4047 // Solidity: function symbol() view returns(string) 4048 func (_ERC721Metadata *ERC721MetadataCaller) Symbol(opts *bind.CallOpts) (string, error) { 4049 var out []interface{} 4050 err := _ERC721Metadata.contract.Call(opts, &out, "symbol") 4051 4052 if err != nil { 4053 return *new(string), err 4054 } 4055 4056 out0 := *abi.ConvertType(out[0], new(string)).(*string) 4057 4058 return out0, err 4059 4060 } 4061 4062 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 4063 // 4064 // Solidity: function symbol() view returns(string) 4065 func (_ERC721Metadata *ERC721MetadataSession) Symbol() (string, error) { 4066 return _ERC721Metadata.Contract.Symbol(&_ERC721Metadata.CallOpts) 4067 } 4068 4069 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 4070 // 4071 // Solidity: function symbol() view returns(string) 4072 func (_ERC721Metadata *ERC721MetadataCallerSession) Symbol() (string, error) { 4073 return _ERC721Metadata.Contract.Symbol(&_ERC721Metadata.CallOpts) 4074 } 4075 4076 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 4077 // 4078 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 4079 func (_ERC721Metadata *ERC721MetadataCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 4080 var out []interface{} 4081 err := _ERC721Metadata.contract.Call(opts, &out, "tokenURI", tokenId) 4082 4083 if err != nil { 4084 return *new(string), err 4085 } 4086 4087 out0 := *abi.ConvertType(out[0], new(string)).(*string) 4088 4089 return out0, err 4090 4091 } 4092 4093 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 4094 // 4095 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 4096 func (_ERC721Metadata *ERC721MetadataSession) TokenURI(tokenId *big.Int) (string, error) { 4097 return _ERC721Metadata.Contract.TokenURI(&_ERC721Metadata.CallOpts, tokenId) 4098 } 4099 4100 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 4101 // 4102 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 4103 func (_ERC721Metadata *ERC721MetadataCallerSession) TokenURI(tokenId *big.Int) (string, error) { 4104 return _ERC721Metadata.Contract.TokenURI(&_ERC721Metadata.CallOpts, tokenId) 4105 } 4106 4107 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 4108 // 4109 // Solidity: function approve(address to, uint256 tokenId) returns() 4110 func (_ERC721Metadata *ERC721MetadataTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4111 return _ERC721Metadata.contract.Transact(opts, "approve", to, tokenId) 4112 } 4113 4114 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 4115 // 4116 // Solidity: function approve(address to, uint256 tokenId) returns() 4117 func (_ERC721Metadata *ERC721MetadataSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4118 return _ERC721Metadata.Contract.Approve(&_ERC721Metadata.TransactOpts, to, tokenId) 4119 } 4120 4121 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 4122 // 4123 // Solidity: function approve(address to, uint256 tokenId) returns() 4124 func (_ERC721Metadata *ERC721MetadataTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4125 return _ERC721Metadata.Contract.Approve(&_ERC721Metadata.TransactOpts, to, tokenId) 4126 } 4127 4128 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 4129 // 4130 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 4131 func (_ERC721Metadata *ERC721MetadataTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4132 return _ERC721Metadata.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 4133 } 4134 4135 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 4136 // 4137 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 4138 func (_ERC721Metadata *ERC721MetadataSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4139 return _ERC721Metadata.Contract.SafeTransferFrom(&_ERC721Metadata.TransactOpts, from, to, tokenId) 4140 } 4141 4142 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 4143 // 4144 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 4145 func (_ERC721Metadata *ERC721MetadataTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4146 return _ERC721Metadata.Contract.SafeTransferFrom(&_ERC721Metadata.TransactOpts, from, to, tokenId) 4147 } 4148 4149 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 4150 // 4151 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 4152 func (_ERC721Metadata *ERC721MetadataTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 4153 return _ERC721Metadata.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 4154 } 4155 4156 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 4157 // 4158 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 4159 func (_ERC721Metadata *ERC721MetadataSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 4160 return _ERC721Metadata.Contract.SafeTransferFrom0(&_ERC721Metadata.TransactOpts, from, to, tokenId, _data) 4161 } 4162 4163 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 4164 // 4165 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 4166 func (_ERC721Metadata *ERC721MetadataTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 4167 return _ERC721Metadata.Contract.SafeTransferFrom0(&_ERC721Metadata.TransactOpts, from, to, tokenId, _data) 4168 } 4169 4170 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 4171 // 4172 // Solidity: function setApprovalForAll(address to, bool approved) returns() 4173 func (_ERC721Metadata *ERC721MetadataTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 4174 return _ERC721Metadata.contract.Transact(opts, "setApprovalForAll", to, approved) 4175 } 4176 4177 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 4178 // 4179 // Solidity: function setApprovalForAll(address to, bool approved) returns() 4180 func (_ERC721Metadata *ERC721MetadataSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 4181 return _ERC721Metadata.Contract.SetApprovalForAll(&_ERC721Metadata.TransactOpts, to, approved) 4182 } 4183 4184 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 4185 // 4186 // Solidity: function setApprovalForAll(address to, bool approved) returns() 4187 func (_ERC721Metadata *ERC721MetadataTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 4188 return _ERC721Metadata.Contract.SetApprovalForAll(&_ERC721Metadata.TransactOpts, to, approved) 4189 } 4190 4191 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4192 // 4193 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 4194 func (_ERC721Metadata *ERC721MetadataTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4195 return _ERC721Metadata.contract.Transact(opts, "transferFrom", from, to, tokenId) 4196 } 4197 4198 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4199 // 4200 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 4201 func (_ERC721Metadata *ERC721MetadataSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4202 return _ERC721Metadata.Contract.TransferFrom(&_ERC721Metadata.TransactOpts, from, to, tokenId) 4203 } 4204 4205 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4206 // 4207 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 4208 func (_ERC721Metadata *ERC721MetadataTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4209 return _ERC721Metadata.Contract.TransferFrom(&_ERC721Metadata.TransactOpts, from, to, tokenId) 4210 } 4211 4212 // ERC721MetadataApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721Metadata contract. 4213 type ERC721MetadataApprovalIterator struct { 4214 Event *ERC721MetadataApproval // Event containing the contract specifics and raw log 4215 4216 contract *bind.BoundContract // Generic contract to use for unpacking event data 4217 event string // Event name to use for unpacking event data 4218 4219 logs chan types.Log // Log channel receiving the found contract events 4220 sub ethereum.Subscription // Subscription for errors, completion and termination 4221 done bool // Whether the subscription completed delivering logs 4222 fail error // Occurred error to stop iteration 4223 } 4224 4225 // Next advances the iterator to the subsequent event, returning whether there 4226 // are any more events found. In case of a retrieval or parsing error, false is 4227 // returned and Error() can be queried for the exact failure. 4228 func (it *ERC721MetadataApprovalIterator) Next() bool { 4229 // If the iterator failed, stop iterating 4230 if it.fail != nil { 4231 return false 4232 } 4233 // If the iterator completed, deliver directly whatever's available 4234 if it.done { 4235 select { 4236 case log := <-it.logs: 4237 it.Event = new(ERC721MetadataApproval) 4238 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4239 it.fail = err 4240 return false 4241 } 4242 it.Event.Raw = log 4243 return true 4244 4245 default: 4246 return false 4247 } 4248 } 4249 // Iterator still in progress, wait for either a data or an error event 4250 select { 4251 case log := <-it.logs: 4252 it.Event = new(ERC721MetadataApproval) 4253 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4254 it.fail = err 4255 return false 4256 } 4257 it.Event.Raw = log 4258 return true 4259 4260 case err := <-it.sub.Err(): 4261 it.done = true 4262 it.fail = err 4263 return it.Next() 4264 } 4265 } 4266 4267 // Error returns any retrieval or parsing error occurred during filtering. 4268 func (it *ERC721MetadataApprovalIterator) Error() error { 4269 return it.fail 4270 } 4271 4272 // Close terminates the iteration process, releasing any pending underlying 4273 // resources. 4274 func (it *ERC721MetadataApprovalIterator) Close() error { 4275 it.sub.Unsubscribe() 4276 return nil 4277 } 4278 4279 // ERC721MetadataApproval represents a Approval event raised by the ERC721Metadata contract. 4280 type ERC721MetadataApproval struct { 4281 Owner common.Address 4282 Approved common.Address 4283 TokenId *big.Int 4284 Raw types.Log // Blockchain specific contextual infos 4285 } 4286 4287 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4288 // 4289 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 4290 func (_ERC721Metadata *ERC721MetadataFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721MetadataApprovalIterator, error) { 4291 4292 var ownerRule []interface{} 4293 for _, ownerItem := range owner { 4294 ownerRule = append(ownerRule, ownerItem) 4295 } 4296 var approvedRule []interface{} 4297 for _, approvedItem := range approved { 4298 approvedRule = append(approvedRule, approvedItem) 4299 } 4300 var tokenIdRule []interface{} 4301 for _, tokenIdItem := range tokenId { 4302 tokenIdRule = append(tokenIdRule, tokenIdItem) 4303 } 4304 4305 logs, sub, err := _ERC721Metadata.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 4306 if err != nil { 4307 return nil, err 4308 } 4309 return &ERC721MetadataApprovalIterator{contract: _ERC721Metadata.contract, event: "Approval", logs: logs, sub: sub}, nil 4310 } 4311 4312 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4313 // 4314 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 4315 func (_ERC721Metadata *ERC721MetadataFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721MetadataApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 4316 4317 var ownerRule []interface{} 4318 for _, ownerItem := range owner { 4319 ownerRule = append(ownerRule, ownerItem) 4320 } 4321 var approvedRule []interface{} 4322 for _, approvedItem := range approved { 4323 approvedRule = append(approvedRule, approvedItem) 4324 } 4325 var tokenIdRule []interface{} 4326 for _, tokenIdItem := range tokenId { 4327 tokenIdRule = append(tokenIdRule, tokenIdItem) 4328 } 4329 4330 logs, sub, err := _ERC721Metadata.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 4331 if err != nil { 4332 return nil, err 4333 } 4334 return event.NewSubscription(func(quit <-chan struct{}) error { 4335 defer sub.Unsubscribe() 4336 for { 4337 select { 4338 case log := <-logs: 4339 // New log arrived, parse the event and forward to the user 4340 event := new(ERC721MetadataApproval) 4341 if err := _ERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { 4342 return err 4343 } 4344 event.Raw = log 4345 4346 select { 4347 case sink <- event: 4348 case err := <-sub.Err(): 4349 return err 4350 case <-quit: 4351 return nil 4352 } 4353 case err := <-sub.Err(): 4354 return err 4355 case <-quit: 4356 return nil 4357 } 4358 } 4359 }), nil 4360 } 4361 4362 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4363 // 4364 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 4365 func (_ERC721Metadata *ERC721MetadataFilterer) ParseApproval(log types.Log) (*ERC721MetadataApproval, error) { 4366 event := new(ERC721MetadataApproval) 4367 if err := _ERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { 4368 return nil, err 4369 } 4370 event.Raw = log 4371 return event, nil 4372 } 4373 4374 // ERC721MetadataApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721Metadata contract. 4375 type ERC721MetadataApprovalForAllIterator struct { 4376 Event *ERC721MetadataApprovalForAll // Event containing the contract specifics and raw log 4377 4378 contract *bind.BoundContract // Generic contract to use for unpacking event data 4379 event string // Event name to use for unpacking event data 4380 4381 logs chan types.Log // Log channel receiving the found contract events 4382 sub ethereum.Subscription // Subscription for errors, completion and termination 4383 done bool // Whether the subscription completed delivering logs 4384 fail error // Occurred error to stop iteration 4385 } 4386 4387 // Next advances the iterator to the subsequent event, returning whether there 4388 // are any more events found. In case of a retrieval or parsing error, false is 4389 // returned and Error() can be queried for the exact failure. 4390 func (it *ERC721MetadataApprovalForAllIterator) Next() bool { 4391 // If the iterator failed, stop iterating 4392 if it.fail != nil { 4393 return false 4394 } 4395 // If the iterator completed, deliver directly whatever's available 4396 if it.done { 4397 select { 4398 case log := <-it.logs: 4399 it.Event = new(ERC721MetadataApprovalForAll) 4400 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4401 it.fail = err 4402 return false 4403 } 4404 it.Event.Raw = log 4405 return true 4406 4407 default: 4408 return false 4409 } 4410 } 4411 // Iterator still in progress, wait for either a data or an error event 4412 select { 4413 case log := <-it.logs: 4414 it.Event = new(ERC721MetadataApprovalForAll) 4415 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4416 it.fail = err 4417 return false 4418 } 4419 it.Event.Raw = log 4420 return true 4421 4422 case err := <-it.sub.Err(): 4423 it.done = true 4424 it.fail = err 4425 return it.Next() 4426 } 4427 } 4428 4429 // Error returns any retrieval or parsing error occurred during filtering. 4430 func (it *ERC721MetadataApprovalForAllIterator) Error() error { 4431 return it.fail 4432 } 4433 4434 // Close terminates the iteration process, releasing any pending underlying 4435 // resources. 4436 func (it *ERC721MetadataApprovalForAllIterator) Close() error { 4437 it.sub.Unsubscribe() 4438 return nil 4439 } 4440 4441 // ERC721MetadataApprovalForAll represents a ApprovalForAll event raised by the ERC721Metadata contract. 4442 type ERC721MetadataApprovalForAll struct { 4443 Owner common.Address 4444 Operator common.Address 4445 Approved bool 4446 Raw types.Log // Blockchain specific contextual infos 4447 } 4448 4449 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 4450 // 4451 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 4452 func (_ERC721Metadata *ERC721MetadataFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721MetadataApprovalForAllIterator, error) { 4453 4454 var ownerRule []interface{} 4455 for _, ownerItem := range owner { 4456 ownerRule = append(ownerRule, ownerItem) 4457 } 4458 var operatorRule []interface{} 4459 for _, operatorItem := range operator { 4460 operatorRule = append(operatorRule, operatorItem) 4461 } 4462 4463 logs, sub, err := _ERC721Metadata.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 4464 if err != nil { 4465 return nil, err 4466 } 4467 return &ERC721MetadataApprovalForAllIterator{contract: _ERC721Metadata.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 4468 } 4469 4470 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 4471 // 4472 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 4473 func (_ERC721Metadata *ERC721MetadataFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721MetadataApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 4474 4475 var ownerRule []interface{} 4476 for _, ownerItem := range owner { 4477 ownerRule = append(ownerRule, ownerItem) 4478 } 4479 var operatorRule []interface{} 4480 for _, operatorItem := range operator { 4481 operatorRule = append(operatorRule, operatorItem) 4482 } 4483 4484 logs, sub, err := _ERC721Metadata.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 4485 if err != nil { 4486 return nil, err 4487 } 4488 return event.NewSubscription(func(quit <-chan struct{}) error { 4489 defer sub.Unsubscribe() 4490 for { 4491 select { 4492 case log := <-logs: 4493 // New log arrived, parse the event and forward to the user 4494 event := new(ERC721MetadataApprovalForAll) 4495 if err := _ERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 4496 return err 4497 } 4498 event.Raw = log 4499 4500 select { 4501 case sink <- event: 4502 case err := <-sub.Err(): 4503 return err 4504 case <-quit: 4505 return nil 4506 } 4507 case err := <-sub.Err(): 4508 return err 4509 case <-quit: 4510 return nil 4511 } 4512 } 4513 }), nil 4514 } 4515 4516 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 4517 // 4518 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 4519 func (_ERC721Metadata *ERC721MetadataFilterer) ParseApprovalForAll(log types.Log) (*ERC721MetadataApprovalForAll, error) { 4520 event := new(ERC721MetadataApprovalForAll) 4521 if err := _ERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 4522 return nil, err 4523 } 4524 event.Raw = log 4525 return event, nil 4526 } 4527 4528 // ERC721MetadataTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721Metadata contract. 4529 type ERC721MetadataTransferIterator struct { 4530 Event *ERC721MetadataTransfer // Event containing the contract specifics and raw log 4531 4532 contract *bind.BoundContract // Generic contract to use for unpacking event data 4533 event string // Event name to use for unpacking event data 4534 4535 logs chan types.Log // Log channel receiving the found contract events 4536 sub ethereum.Subscription // Subscription for errors, completion and termination 4537 done bool // Whether the subscription completed delivering logs 4538 fail error // Occurred error to stop iteration 4539 } 4540 4541 // Next advances the iterator to the subsequent event, returning whether there 4542 // are any more events found. In case of a retrieval or parsing error, false is 4543 // returned and Error() can be queried for the exact failure. 4544 func (it *ERC721MetadataTransferIterator) Next() bool { 4545 // If the iterator failed, stop iterating 4546 if it.fail != nil { 4547 return false 4548 } 4549 // If the iterator completed, deliver directly whatever's available 4550 if it.done { 4551 select { 4552 case log := <-it.logs: 4553 it.Event = new(ERC721MetadataTransfer) 4554 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4555 it.fail = err 4556 return false 4557 } 4558 it.Event.Raw = log 4559 return true 4560 4561 default: 4562 return false 4563 } 4564 } 4565 // Iterator still in progress, wait for either a data or an error event 4566 select { 4567 case log := <-it.logs: 4568 it.Event = new(ERC721MetadataTransfer) 4569 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4570 it.fail = err 4571 return false 4572 } 4573 it.Event.Raw = log 4574 return true 4575 4576 case err := <-it.sub.Err(): 4577 it.done = true 4578 it.fail = err 4579 return it.Next() 4580 } 4581 } 4582 4583 // Error returns any retrieval or parsing error occurred during filtering. 4584 func (it *ERC721MetadataTransferIterator) Error() error { 4585 return it.fail 4586 } 4587 4588 // Close terminates the iteration process, releasing any pending underlying 4589 // resources. 4590 func (it *ERC721MetadataTransferIterator) Close() error { 4591 it.sub.Unsubscribe() 4592 return nil 4593 } 4594 4595 // ERC721MetadataTransfer represents a Transfer event raised by the ERC721Metadata contract. 4596 type ERC721MetadataTransfer struct { 4597 From common.Address 4598 To common.Address 4599 TokenId *big.Int 4600 Raw types.Log // Blockchain specific contextual infos 4601 } 4602 4603 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4604 // 4605 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 4606 func (_ERC721Metadata *ERC721MetadataFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721MetadataTransferIterator, error) { 4607 4608 var fromRule []interface{} 4609 for _, fromItem := range from { 4610 fromRule = append(fromRule, fromItem) 4611 } 4612 var toRule []interface{} 4613 for _, toItem := range to { 4614 toRule = append(toRule, toItem) 4615 } 4616 var tokenIdRule []interface{} 4617 for _, tokenIdItem := range tokenId { 4618 tokenIdRule = append(tokenIdRule, tokenIdItem) 4619 } 4620 4621 logs, sub, err := _ERC721Metadata.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 4622 if err != nil { 4623 return nil, err 4624 } 4625 return &ERC721MetadataTransferIterator{contract: _ERC721Metadata.contract, event: "Transfer", logs: logs, sub: sub}, nil 4626 } 4627 4628 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4629 // 4630 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 4631 func (_ERC721Metadata *ERC721MetadataFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721MetadataTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 4632 4633 var fromRule []interface{} 4634 for _, fromItem := range from { 4635 fromRule = append(fromRule, fromItem) 4636 } 4637 var toRule []interface{} 4638 for _, toItem := range to { 4639 toRule = append(toRule, toItem) 4640 } 4641 var tokenIdRule []interface{} 4642 for _, tokenIdItem := range tokenId { 4643 tokenIdRule = append(tokenIdRule, tokenIdItem) 4644 } 4645 4646 logs, sub, err := _ERC721Metadata.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 4647 if err != nil { 4648 return nil, err 4649 } 4650 return event.NewSubscription(func(quit <-chan struct{}) error { 4651 defer sub.Unsubscribe() 4652 for { 4653 select { 4654 case log := <-logs: 4655 // New log arrived, parse the event and forward to the user 4656 event := new(ERC721MetadataTransfer) 4657 if err := _ERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { 4658 return err 4659 } 4660 event.Raw = log 4661 4662 select { 4663 case sink <- event: 4664 case err := <-sub.Err(): 4665 return err 4666 case <-quit: 4667 return nil 4668 } 4669 case err := <-sub.Err(): 4670 return err 4671 case <-quit: 4672 return nil 4673 } 4674 } 4675 }), nil 4676 } 4677 4678 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4679 // 4680 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 4681 func (_ERC721Metadata *ERC721MetadataFilterer) ParseTransfer(log types.Log) (*ERC721MetadataTransfer, error) { 4682 event := new(ERC721MetadataTransfer) 4683 if err := _ERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { 4684 return nil, err 4685 } 4686 event.Raw = log 4687 return event, nil 4688 } 4689 4690 // IERC165ABI is the input ABI used to generate the binding from. 4691 const IERC165ABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" 4692 4693 // IERC165FuncSigs maps the 4-byte function signature to its string representation. 4694 var IERC165FuncSigs = map[string]string{ 4695 "01ffc9a7": "supportsInterface(bytes4)", 4696 } 4697 4698 // IERC165 is an auto generated Go binding around an Ethereum contract. 4699 type IERC165 struct { 4700 IERC165Caller // Read-only binding to the contract 4701 IERC165Transactor // Write-only binding to the contract 4702 IERC165Filterer // Log filterer for contract events 4703 } 4704 4705 // IERC165Caller is an auto generated read-only Go binding around an Ethereum contract. 4706 type IERC165Caller struct { 4707 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4708 } 4709 4710 // IERC165Transactor is an auto generated write-only Go binding around an Ethereum contract. 4711 type IERC165Transactor struct { 4712 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4713 } 4714 4715 // IERC165Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 4716 type IERC165Filterer struct { 4717 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4718 } 4719 4720 // IERC165Session is an auto generated Go binding around an Ethereum contract, 4721 // with pre-set call and transact options. 4722 type IERC165Session struct { 4723 Contract *IERC165 // Generic contract binding to set the session for 4724 CallOpts bind.CallOpts // Call options to use throughout this session 4725 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4726 } 4727 4728 // IERC165CallerSession is an auto generated read-only Go binding around an Ethereum contract, 4729 // with pre-set call options. 4730 type IERC165CallerSession struct { 4731 Contract *IERC165Caller // Generic contract caller binding to set the session for 4732 CallOpts bind.CallOpts // Call options to use throughout this session 4733 } 4734 4735 // IERC165TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 4736 // with pre-set transact options. 4737 type IERC165TransactorSession struct { 4738 Contract *IERC165Transactor // Generic contract transactor binding to set the session for 4739 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4740 } 4741 4742 // IERC165Raw is an auto generated low-level Go binding around an Ethereum contract. 4743 type IERC165Raw struct { 4744 Contract *IERC165 // Generic contract binding to access the raw methods on 4745 } 4746 4747 // IERC165CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 4748 type IERC165CallerRaw struct { 4749 Contract *IERC165Caller // Generic read-only contract binding to access the raw methods on 4750 } 4751 4752 // IERC165TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 4753 type IERC165TransactorRaw struct { 4754 Contract *IERC165Transactor // Generic write-only contract binding to access the raw methods on 4755 } 4756 4757 // NewIERC165 creates a new instance of IERC165, bound to a specific deployed contract. 4758 func NewIERC165(address common.Address, backend bind.ContractBackend) (*IERC165, error) { 4759 contract, err := bindIERC165(address, backend, backend, backend) 4760 if err != nil { 4761 return nil, err 4762 } 4763 return &IERC165{IERC165Caller: IERC165Caller{contract: contract}, IERC165Transactor: IERC165Transactor{contract: contract}, IERC165Filterer: IERC165Filterer{contract: contract}}, nil 4764 } 4765 4766 // NewIERC165Caller creates a new read-only instance of IERC165, bound to a specific deployed contract. 4767 func NewIERC165Caller(address common.Address, caller bind.ContractCaller) (*IERC165Caller, error) { 4768 contract, err := bindIERC165(address, caller, nil, nil) 4769 if err != nil { 4770 return nil, err 4771 } 4772 return &IERC165Caller{contract: contract}, nil 4773 } 4774 4775 // NewIERC165Transactor creates a new write-only instance of IERC165, bound to a specific deployed contract. 4776 func NewIERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC165Transactor, error) { 4777 contract, err := bindIERC165(address, nil, transactor, nil) 4778 if err != nil { 4779 return nil, err 4780 } 4781 return &IERC165Transactor{contract: contract}, nil 4782 } 4783 4784 // NewIERC165Filterer creates a new log filterer instance of IERC165, bound to a specific deployed contract. 4785 func NewIERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC165Filterer, error) { 4786 contract, err := bindIERC165(address, nil, nil, filterer) 4787 if err != nil { 4788 return nil, err 4789 } 4790 return &IERC165Filterer{contract: contract}, nil 4791 } 4792 4793 // bindIERC165 binds a generic wrapper to an already deployed contract. 4794 func bindIERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 4795 parsed, err := abi.JSON(strings.NewReader(IERC165ABI)) 4796 if err != nil { 4797 return nil, err 4798 } 4799 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 4800 } 4801 4802 // Call invokes the (constant) contract method with params as input values and 4803 // sets the output to result. The result type might be a single field for simple 4804 // returns, a slice of interfaces for anonymous returns and a struct for named 4805 // returns. 4806 func (_IERC165 *IERC165Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4807 return _IERC165.Contract.IERC165Caller.contract.Call(opts, result, method, params...) 4808 } 4809 4810 // Transfer initiates a plain transaction to move funds to the contract, calling 4811 // its default method if one is available. 4812 func (_IERC165 *IERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4813 return _IERC165.Contract.IERC165Transactor.contract.Transfer(opts) 4814 } 4815 4816 // Transact invokes the (paid) contract method with params as input values. 4817 func (_IERC165 *IERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4818 return _IERC165.Contract.IERC165Transactor.contract.Transact(opts, method, params...) 4819 } 4820 4821 // Call invokes the (constant) contract method with params as input values and 4822 // sets the output to result. The result type might be a single field for simple 4823 // returns, a slice of interfaces for anonymous returns and a struct for named 4824 // returns. 4825 func (_IERC165 *IERC165CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4826 return _IERC165.Contract.contract.Call(opts, result, method, params...) 4827 } 4828 4829 // Transfer initiates a plain transaction to move funds to the contract, calling 4830 // its default method if one is available. 4831 func (_IERC165 *IERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4832 return _IERC165.Contract.contract.Transfer(opts) 4833 } 4834 4835 // Transact invokes the (paid) contract method with params as input values. 4836 func (_IERC165 *IERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4837 return _IERC165.Contract.contract.Transact(opts, method, params...) 4838 } 4839 4840 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4841 // 4842 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4843 func (_IERC165 *IERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 4844 var out []interface{} 4845 err := _IERC165.contract.Call(opts, &out, "supportsInterface", interfaceId) 4846 4847 if err != nil { 4848 return *new(bool), err 4849 } 4850 4851 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 4852 4853 return out0, err 4854 4855 } 4856 4857 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4858 // 4859 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4860 func (_IERC165 *IERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 4861 return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) 4862 } 4863 4864 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4865 // 4866 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4867 func (_IERC165 *IERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 4868 return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) 4869 } 4870 4871 // IERC721ABI is the input ABI used to generate the binding from. 4872 const IERC721ABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"operator\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" 4873 4874 // IERC721FuncSigs maps the 4-byte function signature to its string representation. 4875 var IERC721FuncSigs = map[string]string{ 4876 "095ea7b3": "approve(address,uint256)", 4877 "70a08231": "balanceOf(address)", 4878 "081812fc": "getApproved(uint256)", 4879 "e985e9c5": "isApprovedForAll(address,address)", 4880 "6352211e": "ownerOf(uint256)", 4881 "42842e0e": "safeTransferFrom(address,address,uint256)", 4882 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 4883 "a22cb465": "setApprovalForAll(address,bool)", 4884 "01ffc9a7": "supportsInterface(bytes4)", 4885 "23b872dd": "transferFrom(address,address,uint256)", 4886 } 4887 4888 // IERC721 is an auto generated Go binding around an Ethereum contract. 4889 type IERC721 struct { 4890 IERC721Caller // Read-only binding to the contract 4891 IERC721Transactor // Write-only binding to the contract 4892 IERC721Filterer // Log filterer for contract events 4893 } 4894 4895 // IERC721Caller is an auto generated read-only Go binding around an Ethereum contract. 4896 type IERC721Caller struct { 4897 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4898 } 4899 4900 // IERC721Transactor is an auto generated write-only Go binding around an Ethereum contract. 4901 type IERC721Transactor struct { 4902 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4903 } 4904 4905 // IERC721Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 4906 type IERC721Filterer struct { 4907 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4908 } 4909 4910 // IERC721Session is an auto generated Go binding around an Ethereum contract, 4911 // with pre-set call and transact options. 4912 type IERC721Session struct { 4913 Contract *IERC721 // Generic contract binding to set the session for 4914 CallOpts bind.CallOpts // Call options to use throughout this session 4915 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4916 } 4917 4918 // IERC721CallerSession is an auto generated read-only Go binding around an Ethereum contract, 4919 // with pre-set call options. 4920 type IERC721CallerSession struct { 4921 Contract *IERC721Caller // Generic contract caller binding to set the session for 4922 CallOpts bind.CallOpts // Call options to use throughout this session 4923 } 4924 4925 // IERC721TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 4926 // with pre-set transact options. 4927 type IERC721TransactorSession struct { 4928 Contract *IERC721Transactor // Generic contract transactor binding to set the session for 4929 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4930 } 4931 4932 // IERC721Raw is an auto generated low-level Go binding around an Ethereum contract. 4933 type IERC721Raw struct { 4934 Contract *IERC721 // Generic contract binding to access the raw methods on 4935 } 4936 4937 // IERC721CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 4938 type IERC721CallerRaw struct { 4939 Contract *IERC721Caller // Generic read-only contract binding to access the raw methods on 4940 } 4941 4942 // IERC721TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 4943 type IERC721TransactorRaw struct { 4944 Contract *IERC721Transactor // Generic write-only contract binding to access the raw methods on 4945 } 4946 4947 // NewIERC721 creates a new instance of IERC721, bound to a specific deployed contract. 4948 func NewIERC721(address common.Address, backend bind.ContractBackend) (*IERC721, error) { 4949 contract, err := bindIERC721(address, backend, backend, backend) 4950 if err != nil { 4951 return nil, err 4952 } 4953 return &IERC721{IERC721Caller: IERC721Caller{contract: contract}, IERC721Transactor: IERC721Transactor{contract: contract}, IERC721Filterer: IERC721Filterer{contract: contract}}, nil 4954 } 4955 4956 // NewIERC721Caller creates a new read-only instance of IERC721, bound to a specific deployed contract. 4957 func NewIERC721Caller(address common.Address, caller bind.ContractCaller) (*IERC721Caller, error) { 4958 contract, err := bindIERC721(address, caller, nil, nil) 4959 if err != nil { 4960 return nil, err 4961 } 4962 return &IERC721Caller{contract: contract}, nil 4963 } 4964 4965 // NewIERC721Transactor creates a new write-only instance of IERC721, bound to a specific deployed contract. 4966 func NewIERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC721Transactor, error) { 4967 contract, err := bindIERC721(address, nil, transactor, nil) 4968 if err != nil { 4969 return nil, err 4970 } 4971 return &IERC721Transactor{contract: contract}, nil 4972 } 4973 4974 // NewIERC721Filterer creates a new log filterer instance of IERC721, bound to a specific deployed contract. 4975 func NewIERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC721Filterer, error) { 4976 contract, err := bindIERC721(address, nil, nil, filterer) 4977 if err != nil { 4978 return nil, err 4979 } 4980 return &IERC721Filterer{contract: contract}, nil 4981 } 4982 4983 // bindIERC721 binds a generic wrapper to an already deployed contract. 4984 func bindIERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 4985 parsed, err := abi.JSON(strings.NewReader(IERC721ABI)) 4986 if err != nil { 4987 return nil, err 4988 } 4989 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 4990 } 4991 4992 // Call invokes the (constant) contract method with params as input values and 4993 // sets the output to result. The result type might be a single field for simple 4994 // returns, a slice of interfaces for anonymous returns and a struct for named 4995 // returns. 4996 func (_IERC721 *IERC721Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4997 return _IERC721.Contract.IERC721Caller.contract.Call(opts, result, method, params...) 4998 } 4999 5000 // Transfer initiates a plain transaction to move funds to the contract, calling 5001 // its default method if one is available. 5002 func (_IERC721 *IERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5003 return _IERC721.Contract.IERC721Transactor.contract.Transfer(opts) 5004 } 5005 5006 // Transact invokes the (paid) contract method with params as input values. 5007 func (_IERC721 *IERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5008 return _IERC721.Contract.IERC721Transactor.contract.Transact(opts, method, params...) 5009 } 5010 5011 // Call invokes the (constant) contract method with params as input values and 5012 // sets the output to result. The result type might be a single field for simple 5013 // returns, a slice of interfaces for anonymous returns and a struct for named 5014 // returns. 5015 func (_IERC721 *IERC721CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 5016 return _IERC721.Contract.contract.Call(opts, result, method, params...) 5017 } 5018 5019 // Transfer initiates a plain transaction to move funds to the contract, calling 5020 // its default method if one is available. 5021 func (_IERC721 *IERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5022 return _IERC721.Contract.contract.Transfer(opts) 5023 } 5024 5025 // Transact invokes the (paid) contract method with params as input values. 5026 func (_IERC721 *IERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5027 return _IERC721.Contract.contract.Transact(opts, method, params...) 5028 } 5029 5030 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5031 // 5032 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 5033 func (_IERC721 *IERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 5034 var out []interface{} 5035 err := _IERC721.contract.Call(opts, &out, "balanceOf", owner) 5036 5037 if err != nil { 5038 return *new(*big.Int), err 5039 } 5040 5041 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 5042 5043 return out0, err 5044 5045 } 5046 5047 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5048 // 5049 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 5050 func (_IERC721 *IERC721Session) BalanceOf(owner common.Address) (*big.Int, error) { 5051 return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner) 5052 } 5053 5054 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5055 // 5056 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 5057 func (_IERC721 *IERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 5058 return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner) 5059 } 5060 5061 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 5062 // 5063 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 5064 func (_IERC721 *IERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 5065 var out []interface{} 5066 err := _IERC721.contract.Call(opts, &out, "getApproved", tokenId) 5067 5068 if err != nil { 5069 return *new(common.Address), err 5070 } 5071 5072 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 5073 5074 return out0, err 5075 5076 } 5077 5078 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 5079 // 5080 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 5081 func (_IERC721 *IERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) { 5082 return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId) 5083 } 5084 5085 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 5086 // 5087 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 5088 func (_IERC721 *IERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 5089 return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId) 5090 } 5091 5092 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 5093 // 5094 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 5095 func (_IERC721 *IERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 5096 var out []interface{} 5097 err := _IERC721.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 5098 5099 if err != nil { 5100 return *new(bool), err 5101 } 5102 5103 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 5104 5105 return out0, err 5106 5107 } 5108 5109 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 5110 // 5111 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 5112 func (_IERC721 *IERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 5113 return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator) 5114 } 5115 5116 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 5117 // 5118 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 5119 func (_IERC721 *IERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 5120 return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator) 5121 } 5122 5123 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 5124 // 5125 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 5126 func (_IERC721 *IERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 5127 var out []interface{} 5128 err := _IERC721.contract.Call(opts, &out, "ownerOf", tokenId) 5129 5130 if err != nil { 5131 return *new(common.Address), err 5132 } 5133 5134 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 5135 5136 return out0, err 5137 5138 } 5139 5140 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 5141 // 5142 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 5143 func (_IERC721 *IERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) { 5144 return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId) 5145 } 5146 5147 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 5148 // 5149 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 5150 func (_IERC721 *IERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 5151 return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId) 5152 } 5153 5154 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5155 // 5156 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 5157 func (_IERC721 *IERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 5158 var out []interface{} 5159 err := _IERC721.contract.Call(opts, &out, "supportsInterface", interfaceId) 5160 5161 if err != nil { 5162 return *new(bool), err 5163 } 5164 5165 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 5166 5167 return out0, err 5168 5169 } 5170 5171 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5172 // 5173 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 5174 func (_IERC721 *IERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 5175 return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId) 5176 } 5177 5178 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5179 // 5180 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 5181 func (_IERC721 *IERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 5182 return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId) 5183 } 5184 5185 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5186 // 5187 // Solidity: function approve(address to, uint256 tokenId) returns() 5188 func (_IERC721 *IERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5189 return _IERC721.contract.Transact(opts, "approve", to, tokenId) 5190 } 5191 5192 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5193 // 5194 // Solidity: function approve(address to, uint256 tokenId) returns() 5195 func (_IERC721 *IERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5196 return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId) 5197 } 5198 5199 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5200 // 5201 // Solidity: function approve(address to, uint256 tokenId) returns() 5202 func (_IERC721 *IERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5203 return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId) 5204 } 5205 5206 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 5207 // 5208 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 5209 func (_IERC721 *IERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5210 return _IERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 5211 } 5212 5213 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 5214 // 5215 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 5216 func (_IERC721 *IERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5217 return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 5218 } 5219 5220 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 5221 // 5222 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 5223 func (_IERC721 *IERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5224 return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 5225 } 5226 5227 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 5228 // 5229 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 5230 func (_IERC721 *IERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 5231 return _IERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) 5232 } 5233 5234 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 5235 // 5236 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 5237 func (_IERC721 *IERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 5238 return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, from, to, tokenId, data) 5239 } 5240 5241 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 5242 // 5243 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 5244 func (_IERC721 *IERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 5245 return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, from, to, tokenId, data) 5246 } 5247 5248 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 5249 // 5250 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 5251 func (_IERC721 *IERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { 5252 return _IERC721.contract.Transact(opts, "setApprovalForAll", operator, _approved) 5253 } 5254 5255 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 5256 // 5257 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 5258 func (_IERC721 *IERC721Session) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 5259 return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved) 5260 } 5261 5262 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 5263 // 5264 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 5265 func (_IERC721 *IERC721TransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 5266 return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved) 5267 } 5268 5269 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5270 // 5271 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 5272 func (_IERC721 *IERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5273 return _IERC721.contract.Transact(opts, "transferFrom", from, to, tokenId) 5274 } 5275 5276 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5277 // 5278 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 5279 func (_IERC721 *IERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5280 return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 5281 } 5282 5283 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5284 // 5285 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 5286 func (_IERC721 *IERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5287 return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 5288 } 5289 5290 // 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. 5291 type IERC721ApprovalIterator struct { 5292 Event *IERC721Approval // Event containing the contract specifics and raw log 5293 5294 contract *bind.BoundContract // Generic contract to use for unpacking event data 5295 event string // Event name to use for unpacking event data 5296 5297 logs chan types.Log // Log channel receiving the found contract events 5298 sub ethereum.Subscription // Subscription for errors, completion and termination 5299 done bool // Whether the subscription completed delivering logs 5300 fail error // Occurred error to stop iteration 5301 } 5302 5303 // Next advances the iterator to the subsequent event, returning whether there 5304 // are any more events found. In case of a retrieval or parsing error, false is 5305 // returned and Error() can be queried for the exact failure. 5306 func (it *IERC721ApprovalIterator) Next() bool { 5307 // If the iterator failed, stop iterating 5308 if it.fail != nil { 5309 return false 5310 } 5311 // If the iterator completed, deliver directly whatever's available 5312 if it.done { 5313 select { 5314 case log := <-it.logs: 5315 it.Event = new(IERC721Approval) 5316 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5317 it.fail = err 5318 return false 5319 } 5320 it.Event.Raw = log 5321 return true 5322 5323 default: 5324 return false 5325 } 5326 } 5327 // Iterator still in progress, wait for either a data or an error event 5328 select { 5329 case log := <-it.logs: 5330 it.Event = new(IERC721Approval) 5331 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5332 it.fail = err 5333 return false 5334 } 5335 it.Event.Raw = log 5336 return true 5337 5338 case err := <-it.sub.Err(): 5339 it.done = true 5340 it.fail = err 5341 return it.Next() 5342 } 5343 } 5344 5345 // Error returns any retrieval or parsing error occurred during filtering. 5346 func (it *IERC721ApprovalIterator) Error() error { 5347 return it.fail 5348 } 5349 5350 // Close terminates the iteration process, releasing any pending underlying 5351 // resources. 5352 func (it *IERC721ApprovalIterator) Close() error { 5353 it.sub.Unsubscribe() 5354 return nil 5355 } 5356 5357 // IERC721Approval represents a Approval event raised by the IERC721 contract. 5358 type IERC721Approval struct { 5359 Owner common.Address 5360 Approved common.Address 5361 TokenId *big.Int 5362 Raw types.Log // Blockchain specific contextual infos 5363 } 5364 5365 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5366 // 5367 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 5368 func (_IERC721 *IERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721ApprovalIterator, error) { 5369 5370 var ownerRule []interface{} 5371 for _, ownerItem := range owner { 5372 ownerRule = append(ownerRule, ownerItem) 5373 } 5374 var approvedRule []interface{} 5375 for _, approvedItem := range approved { 5376 approvedRule = append(approvedRule, approvedItem) 5377 } 5378 var tokenIdRule []interface{} 5379 for _, tokenIdItem := range tokenId { 5380 tokenIdRule = append(tokenIdRule, tokenIdItem) 5381 } 5382 5383 logs, sub, err := _IERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 5384 if err != nil { 5385 return nil, err 5386 } 5387 return &IERC721ApprovalIterator{contract: _IERC721.contract, event: "Approval", logs: logs, sub: sub}, nil 5388 } 5389 5390 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5391 // 5392 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 5393 func (_IERC721 *IERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 5394 5395 var ownerRule []interface{} 5396 for _, ownerItem := range owner { 5397 ownerRule = append(ownerRule, ownerItem) 5398 } 5399 var approvedRule []interface{} 5400 for _, approvedItem := range approved { 5401 approvedRule = append(approvedRule, approvedItem) 5402 } 5403 var tokenIdRule []interface{} 5404 for _, tokenIdItem := range tokenId { 5405 tokenIdRule = append(tokenIdRule, tokenIdItem) 5406 } 5407 5408 logs, sub, err := _IERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 5409 if err != nil { 5410 return nil, err 5411 } 5412 return event.NewSubscription(func(quit <-chan struct{}) error { 5413 defer sub.Unsubscribe() 5414 for { 5415 select { 5416 case log := <-logs: 5417 // New log arrived, parse the event and forward to the user 5418 event := new(IERC721Approval) 5419 if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil { 5420 return err 5421 } 5422 event.Raw = log 5423 5424 select { 5425 case sink <- event: 5426 case err := <-sub.Err(): 5427 return err 5428 case <-quit: 5429 return nil 5430 } 5431 case err := <-sub.Err(): 5432 return err 5433 case <-quit: 5434 return nil 5435 } 5436 } 5437 }), nil 5438 } 5439 5440 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5441 // 5442 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 5443 func (_IERC721 *IERC721Filterer) ParseApproval(log types.Log) (*IERC721Approval, error) { 5444 event := new(IERC721Approval) 5445 if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil { 5446 return nil, err 5447 } 5448 event.Raw = log 5449 return event, nil 5450 } 5451 5452 // 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. 5453 type IERC721ApprovalForAllIterator struct { 5454 Event *IERC721ApprovalForAll // Event containing the contract specifics and raw log 5455 5456 contract *bind.BoundContract // Generic contract to use for unpacking event data 5457 event string // Event name to use for unpacking event data 5458 5459 logs chan types.Log // Log channel receiving the found contract events 5460 sub ethereum.Subscription // Subscription for errors, completion and termination 5461 done bool // Whether the subscription completed delivering logs 5462 fail error // Occurred error to stop iteration 5463 } 5464 5465 // Next advances the iterator to the subsequent event, returning whether there 5466 // are any more events found. In case of a retrieval or parsing error, false is 5467 // returned and Error() can be queried for the exact failure. 5468 func (it *IERC721ApprovalForAllIterator) Next() bool { 5469 // If the iterator failed, stop iterating 5470 if it.fail != nil { 5471 return false 5472 } 5473 // If the iterator completed, deliver directly whatever's available 5474 if it.done { 5475 select { 5476 case log := <-it.logs: 5477 it.Event = new(IERC721ApprovalForAll) 5478 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5479 it.fail = err 5480 return false 5481 } 5482 it.Event.Raw = log 5483 return true 5484 5485 default: 5486 return false 5487 } 5488 } 5489 // Iterator still in progress, wait for either a data or an error event 5490 select { 5491 case log := <-it.logs: 5492 it.Event = new(IERC721ApprovalForAll) 5493 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5494 it.fail = err 5495 return false 5496 } 5497 it.Event.Raw = log 5498 return true 5499 5500 case err := <-it.sub.Err(): 5501 it.done = true 5502 it.fail = err 5503 return it.Next() 5504 } 5505 } 5506 5507 // Error returns any retrieval or parsing error occurred during filtering. 5508 func (it *IERC721ApprovalForAllIterator) Error() error { 5509 return it.fail 5510 } 5511 5512 // Close terminates the iteration process, releasing any pending underlying 5513 // resources. 5514 func (it *IERC721ApprovalForAllIterator) Close() error { 5515 it.sub.Unsubscribe() 5516 return nil 5517 } 5518 5519 // IERC721ApprovalForAll represents a ApprovalForAll event raised by the IERC721 contract. 5520 type IERC721ApprovalForAll struct { 5521 Owner common.Address 5522 Operator common.Address 5523 Approved bool 5524 Raw types.Log // Blockchain specific contextual infos 5525 } 5526 5527 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 5528 // 5529 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 5530 func (_IERC721 *IERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721ApprovalForAllIterator, error) { 5531 5532 var ownerRule []interface{} 5533 for _, ownerItem := range owner { 5534 ownerRule = append(ownerRule, ownerItem) 5535 } 5536 var operatorRule []interface{} 5537 for _, operatorItem := range operator { 5538 operatorRule = append(operatorRule, operatorItem) 5539 } 5540 5541 logs, sub, err := _IERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 5542 if err != nil { 5543 return nil, err 5544 } 5545 return &IERC721ApprovalForAllIterator{contract: _IERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 5546 } 5547 5548 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 5549 // 5550 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 5551 func (_IERC721 *IERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 5552 5553 var ownerRule []interface{} 5554 for _, ownerItem := range owner { 5555 ownerRule = append(ownerRule, ownerItem) 5556 } 5557 var operatorRule []interface{} 5558 for _, operatorItem := range operator { 5559 operatorRule = append(operatorRule, operatorItem) 5560 } 5561 5562 logs, sub, err := _IERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 5563 if err != nil { 5564 return nil, err 5565 } 5566 return event.NewSubscription(func(quit <-chan struct{}) error { 5567 defer sub.Unsubscribe() 5568 for { 5569 select { 5570 case log := <-logs: 5571 // New log arrived, parse the event and forward to the user 5572 event := new(IERC721ApprovalForAll) 5573 if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 5574 return err 5575 } 5576 event.Raw = log 5577 5578 select { 5579 case sink <- event: 5580 case err := <-sub.Err(): 5581 return err 5582 case <-quit: 5583 return nil 5584 } 5585 case err := <-sub.Err(): 5586 return err 5587 case <-quit: 5588 return nil 5589 } 5590 } 5591 }), nil 5592 } 5593 5594 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 5595 // 5596 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 5597 func (_IERC721 *IERC721Filterer) ParseApprovalForAll(log types.Log) (*IERC721ApprovalForAll, error) { 5598 event := new(IERC721ApprovalForAll) 5599 if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 5600 return nil, err 5601 } 5602 event.Raw = log 5603 return event, nil 5604 } 5605 5606 // 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. 5607 type IERC721TransferIterator struct { 5608 Event *IERC721Transfer // Event containing the contract specifics and raw log 5609 5610 contract *bind.BoundContract // Generic contract to use for unpacking event data 5611 event string // Event name to use for unpacking event data 5612 5613 logs chan types.Log // Log channel receiving the found contract events 5614 sub ethereum.Subscription // Subscription for errors, completion and termination 5615 done bool // Whether the subscription completed delivering logs 5616 fail error // Occurred error to stop iteration 5617 } 5618 5619 // Next advances the iterator to the subsequent event, returning whether there 5620 // are any more events found. In case of a retrieval or parsing error, false is 5621 // returned and Error() can be queried for the exact failure. 5622 func (it *IERC721TransferIterator) Next() bool { 5623 // If the iterator failed, stop iterating 5624 if it.fail != nil { 5625 return false 5626 } 5627 // If the iterator completed, deliver directly whatever's available 5628 if it.done { 5629 select { 5630 case log := <-it.logs: 5631 it.Event = new(IERC721Transfer) 5632 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5633 it.fail = err 5634 return false 5635 } 5636 it.Event.Raw = log 5637 return true 5638 5639 default: 5640 return false 5641 } 5642 } 5643 // Iterator still in progress, wait for either a data or an error event 5644 select { 5645 case log := <-it.logs: 5646 it.Event = new(IERC721Transfer) 5647 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5648 it.fail = err 5649 return false 5650 } 5651 it.Event.Raw = log 5652 return true 5653 5654 case err := <-it.sub.Err(): 5655 it.done = true 5656 it.fail = err 5657 return it.Next() 5658 } 5659 } 5660 5661 // Error returns any retrieval or parsing error occurred during filtering. 5662 func (it *IERC721TransferIterator) Error() error { 5663 return it.fail 5664 } 5665 5666 // Close terminates the iteration process, releasing any pending underlying 5667 // resources. 5668 func (it *IERC721TransferIterator) Close() error { 5669 it.sub.Unsubscribe() 5670 return nil 5671 } 5672 5673 // IERC721Transfer represents a Transfer event raised by the IERC721 contract. 5674 type IERC721Transfer struct { 5675 From common.Address 5676 To common.Address 5677 TokenId *big.Int 5678 Raw types.Log // Blockchain specific contextual infos 5679 } 5680 5681 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5682 // 5683 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 5684 func (_IERC721 *IERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721TransferIterator, error) { 5685 5686 var fromRule []interface{} 5687 for _, fromItem := range from { 5688 fromRule = append(fromRule, fromItem) 5689 } 5690 var toRule []interface{} 5691 for _, toItem := range to { 5692 toRule = append(toRule, toItem) 5693 } 5694 var tokenIdRule []interface{} 5695 for _, tokenIdItem := range tokenId { 5696 tokenIdRule = append(tokenIdRule, tokenIdItem) 5697 } 5698 5699 logs, sub, err := _IERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 5700 if err != nil { 5701 return nil, err 5702 } 5703 return &IERC721TransferIterator{contract: _IERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil 5704 } 5705 5706 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5707 // 5708 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 5709 func (_IERC721 *IERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 5710 5711 var fromRule []interface{} 5712 for _, fromItem := range from { 5713 fromRule = append(fromRule, fromItem) 5714 } 5715 var toRule []interface{} 5716 for _, toItem := range to { 5717 toRule = append(toRule, toItem) 5718 } 5719 var tokenIdRule []interface{} 5720 for _, tokenIdItem := range tokenId { 5721 tokenIdRule = append(tokenIdRule, tokenIdItem) 5722 } 5723 5724 logs, sub, err := _IERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 5725 if err != nil { 5726 return nil, err 5727 } 5728 return event.NewSubscription(func(quit <-chan struct{}) error { 5729 defer sub.Unsubscribe() 5730 for { 5731 select { 5732 case log := <-logs: 5733 // New log arrived, parse the event and forward to the user 5734 event := new(IERC721Transfer) 5735 if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 5736 return err 5737 } 5738 event.Raw = log 5739 5740 select { 5741 case sink <- event: 5742 case err := <-sub.Err(): 5743 return err 5744 case <-quit: 5745 return nil 5746 } 5747 case err := <-sub.Err(): 5748 return err 5749 case <-quit: 5750 return nil 5751 } 5752 } 5753 }), nil 5754 } 5755 5756 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5757 // 5758 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 5759 func (_IERC721 *IERC721Filterer) ParseTransfer(log types.Log) (*IERC721Transfer, error) { 5760 event := new(IERC721Transfer) 5761 if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 5762 return nil, err 5763 } 5764 event.Raw = log 5765 return event, nil 5766 } 5767 5768 // IERC721EnumerableABI is the input ABI used to generate the binding from. 5769 const IERC721EnumerableABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"operator\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" 5770 5771 // IERC721EnumerableFuncSigs maps the 4-byte function signature to its string representation. 5772 var IERC721EnumerableFuncSigs = map[string]string{ 5773 "095ea7b3": "approve(address,uint256)", 5774 "70a08231": "balanceOf(address)", 5775 "081812fc": "getApproved(uint256)", 5776 "e985e9c5": "isApprovedForAll(address,address)", 5777 "6352211e": "ownerOf(uint256)", 5778 "42842e0e": "safeTransferFrom(address,address,uint256)", 5779 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 5780 "a22cb465": "setApprovalForAll(address,bool)", 5781 "01ffc9a7": "supportsInterface(bytes4)", 5782 "4f6ccce7": "tokenByIndex(uint256)", 5783 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 5784 "18160ddd": "totalSupply()", 5785 "23b872dd": "transferFrom(address,address,uint256)", 5786 } 5787 5788 // IERC721Enumerable is an auto generated Go binding around an Ethereum contract. 5789 type IERC721Enumerable struct { 5790 IERC721EnumerableCaller // Read-only binding to the contract 5791 IERC721EnumerableTransactor // Write-only binding to the contract 5792 IERC721EnumerableFilterer // Log filterer for contract events 5793 } 5794 5795 // IERC721EnumerableCaller is an auto generated read-only Go binding around an Ethereum contract. 5796 type IERC721EnumerableCaller struct { 5797 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5798 } 5799 5800 // IERC721EnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract. 5801 type IERC721EnumerableTransactor struct { 5802 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5803 } 5804 5805 // IERC721EnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 5806 type IERC721EnumerableFilterer struct { 5807 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5808 } 5809 5810 // IERC721EnumerableSession is an auto generated Go binding around an Ethereum contract, 5811 // with pre-set call and transact options. 5812 type IERC721EnumerableSession struct { 5813 Contract *IERC721Enumerable // Generic contract binding to set the session for 5814 CallOpts bind.CallOpts // Call options to use throughout this session 5815 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5816 } 5817 5818 // IERC721EnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract, 5819 // with pre-set call options. 5820 type IERC721EnumerableCallerSession struct { 5821 Contract *IERC721EnumerableCaller // Generic contract caller binding to set the session for 5822 CallOpts bind.CallOpts // Call options to use throughout this session 5823 } 5824 5825 // IERC721EnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 5826 // with pre-set transact options. 5827 type IERC721EnumerableTransactorSession struct { 5828 Contract *IERC721EnumerableTransactor // Generic contract transactor binding to set the session for 5829 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5830 } 5831 5832 // IERC721EnumerableRaw is an auto generated low-level Go binding around an Ethereum contract. 5833 type IERC721EnumerableRaw struct { 5834 Contract *IERC721Enumerable // Generic contract binding to access the raw methods on 5835 } 5836 5837 // IERC721EnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 5838 type IERC721EnumerableCallerRaw struct { 5839 Contract *IERC721EnumerableCaller // Generic read-only contract binding to access the raw methods on 5840 } 5841 5842 // IERC721EnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 5843 type IERC721EnumerableTransactorRaw struct { 5844 Contract *IERC721EnumerableTransactor // Generic write-only contract binding to access the raw methods on 5845 } 5846 5847 // NewIERC721Enumerable creates a new instance of IERC721Enumerable, bound to a specific deployed contract. 5848 func NewIERC721Enumerable(address common.Address, backend bind.ContractBackend) (*IERC721Enumerable, error) { 5849 contract, err := bindIERC721Enumerable(address, backend, backend, backend) 5850 if err != nil { 5851 return nil, err 5852 } 5853 return &IERC721Enumerable{IERC721EnumerableCaller: IERC721EnumerableCaller{contract: contract}, IERC721EnumerableTransactor: IERC721EnumerableTransactor{contract: contract}, IERC721EnumerableFilterer: IERC721EnumerableFilterer{contract: contract}}, nil 5854 } 5855 5856 // NewIERC721EnumerableCaller creates a new read-only instance of IERC721Enumerable, bound to a specific deployed contract. 5857 func NewIERC721EnumerableCaller(address common.Address, caller bind.ContractCaller) (*IERC721EnumerableCaller, error) { 5858 contract, err := bindIERC721Enumerable(address, caller, nil, nil) 5859 if err != nil { 5860 return nil, err 5861 } 5862 return &IERC721EnumerableCaller{contract: contract}, nil 5863 } 5864 5865 // NewIERC721EnumerableTransactor creates a new write-only instance of IERC721Enumerable, bound to a specific deployed contract. 5866 func NewIERC721EnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721EnumerableTransactor, error) { 5867 contract, err := bindIERC721Enumerable(address, nil, transactor, nil) 5868 if err != nil { 5869 return nil, err 5870 } 5871 return &IERC721EnumerableTransactor{contract: contract}, nil 5872 } 5873 5874 // NewIERC721EnumerableFilterer creates a new log filterer instance of IERC721Enumerable, bound to a specific deployed contract. 5875 func NewIERC721EnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721EnumerableFilterer, error) { 5876 contract, err := bindIERC721Enumerable(address, nil, nil, filterer) 5877 if err != nil { 5878 return nil, err 5879 } 5880 return &IERC721EnumerableFilterer{contract: contract}, nil 5881 } 5882 5883 // bindIERC721Enumerable binds a generic wrapper to an already deployed contract. 5884 func bindIERC721Enumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 5885 parsed, err := abi.JSON(strings.NewReader(IERC721EnumerableABI)) 5886 if err != nil { 5887 return nil, err 5888 } 5889 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 5890 } 5891 5892 // Call invokes the (constant) contract method with params as input values and 5893 // sets the output to result. The result type might be a single field for simple 5894 // returns, a slice of interfaces for anonymous returns and a struct for named 5895 // returns. 5896 func (_IERC721Enumerable *IERC721EnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 5897 return _IERC721Enumerable.Contract.IERC721EnumerableCaller.contract.Call(opts, result, method, params...) 5898 } 5899 5900 // Transfer initiates a plain transaction to move funds to the contract, calling 5901 // its default method if one is available. 5902 func (_IERC721Enumerable *IERC721EnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5903 return _IERC721Enumerable.Contract.IERC721EnumerableTransactor.contract.Transfer(opts) 5904 } 5905 5906 // Transact invokes the (paid) contract method with params as input values. 5907 func (_IERC721Enumerable *IERC721EnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5908 return _IERC721Enumerable.Contract.IERC721EnumerableTransactor.contract.Transact(opts, method, params...) 5909 } 5910 5911 // Call invokes the (constant) contract method with params as input values and 5912 // sets the output to result. The result type might be a single field for simple 5913 // returns, a slice of interfaces for anonymous returns and a struct for named 5914 // returns. 5915 func (_IERC721Enumerable *IERC721EnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 5916 return _IERC721Enumerable.Contract.contract.Call(opts, result, method, params...) 5917 } 5918 5919 // Transfer initiates a plain transaction to move funds to the contract, calling 5920 // its default method if one is available. 5921 func (_IERC721Enumerable *IERC721EnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5922 return _IERC721Enumerable.Contract.contract.Transfer(opts) 5923 } 5924 5925 // Transact invokes the (paid) contract method with params as input values. 5926 func (_IERC721Enumerable *IERC721EnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5927 return _IERC721Enumerable.Contract.contract.Transact(opts, method, params...) 5928 } 5929 5930 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5931 // 5932 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 5933 func (_IERC721Enumerable *IERC721EnumerableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 5934 var out []interface{} 5935 err := _IERC721Enumerable.contract.Call(opts, &out, "balanceOf", owner) 5936 5937 if err != nil { 5938 return *new(*big.Int), err 5939 } 5940 5941 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 5942 5943 return out0, err 5944 5945 } 5946 5947 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5948 // 5949 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 5950 func (_IERC721Enumerable *IERC721EnumerableSession) BalanceOf(owner common.Address) (*big.Int, error) { 5951 return _IERC721Enumerable.Contract.BalanceOf(&_IERC721Enumerable.CallOpts, owner) 5952 } 5953 5954 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5955 // 5956 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 5957 func (_IERC721Enumerable *IERC721EnumerableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 5958 return _IERC721Enumerable.Contract.BalanceOf(&_IERC721Enumerable.CallOpts, owner) 5959 } 5960 5961 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 5962 // 5963 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 5964 func (_IERC721Enumerable *IERC721EnumerableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 5965 var out []interface{} 5966 err := _IERC721Enumerable.contract.Call(opts, &out, "getApproved", tokenId) 5967 5968 if err != nil { 5969 return *new(common.Address), err 5970 } 5971 5972 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 5973 5974 return out0, err 5975 5976 } 5977 5978 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 5979 // 5980 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 5981 func (_IERC721Enumerable *IERC721EnumerableSession) GetApproved(tokenId *big.Int) (common.Address, error) { 5982 return _IERC721Enumerable.Contract.GetApproved(&_IERC721Enumerable.CallOpts, tokenId) 5983 } 5984 5985 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 5986 // 5987 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 5988 func (_IERC721Enumerable *IERC721EnumerableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 5989 return _IERC721Enumerable.Contract.GetApproved(&_IERC721Enumerable.CallOpts, tokenId) 5990 } 5991 5992 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 5993 // 5994 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 5995 func (_IERC721Enumerable *IERC721EnumerableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 5996 var out []interface{} 5997 err := _IERC721Enumerable.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 5998 5999 if err != nil { 6000 return *new(bool), err 6001 } 6002 6003 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 6004 6005 return out0, err 6006 6007 } 6008 6009 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 6010 // 6011 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 6012 func (_IERC721Enumerable *IERC721EnumerableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 6013 return _IERC721Enumerable.Contract.IsApprovedForAll(&_IERC721Enumerable.CallOpts, owner, operator) 6014 } 6015 6016 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 6017 // 6018 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 6019 func (_IERC721Enumerable *IERC721EnumerableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 6020 return _IERC721Enumerable.Contract.IsApprovedForAll(&_IERC721Enumerable.CallOpts, owner, operator) 6021 } 6022 6023 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 6024 // 6025 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 6026 func (_IERC721Enumerable *IERC721EnumerableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 6027 var out []interface{} 6028 err := _IERC721Enumerable.contract.Call(opts, &out, "ownerOf", tokenId) 6029 6030 if err != nil { 6031 return *new(common.Address), err 6032 } 6033 6034 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 6035 6036 return out0, err 6037 6038 } 6039 6040 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 6041 // 6042 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 6043 func (_IERC721Enumerable *IERC721EnumerableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 6044 return _IERC721Enumerable.Contract.OwnerOf(&_IERC721Enumerable.CallOpts, tokenId) 6045 } 6046 6047 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 6048 // 6049 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 6050 func (_IERC721Enumerable *IERC721EnumerableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 6051 return _IERC721Enumerable.Contract.OwnerOf(&_IERC721Enumerable.CallOpts, tokenId) 6052 } 6053 6054 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 6055 // 6056 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 6057 func (_IERC721Enumerable *IERC721EnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 6058 var out []interface{} 6059 err := _IERC721Enumerable.contract.Call(opts, &out, "supportsInterface", interfaceId) 6060 6061 if err != nil { 6062 return *new(bool), err 6063 } 6064 6065 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 6066 6067 return out0, err 6068 6069 } 6070 6071 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 6072 // 6073 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 6074 func (_IERC721Enumerable *IERC721EnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 6075 return _IERC721Enumerable.Contract.SupportsInterface(&_IERC721Enumerable.CallOpts, interfaceId) 6076 } 6077 6078 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 6079 // 6080 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 6081 func (_IERC721Enumerable *IERC721EnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 6082 return _IERC721Enumerable.Contract.SupportsInterface(&_IERC721Enumerable.CallOpts, interfaceId) 6083 } 6084 6085 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 6086 // 6087 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 6088 func (_IERC721Enumerable *IERC721EnumerableCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 6089 var out []interface{} 6090 err := _IERC721Enumerable.contract.Call(opts, &out, "tokenByIndex", index) 6091 6092 if err != nil { 6093 return *new(*big.Int), err 6094 } 6095 6096 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 6097 6098 return out0, err 6099 6100 } 6101 6102 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 6103 // 6104 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 6105 func (_IERC721Enumerable *IERC721EnumerableSession) TokenByIndex(index *big.Int) (*big.Int, error) { 6106 return _IERC721Enumerable.Contract.TokenByIndex(&_IERC721Enumerable.CallOpts, index) 6107 } 6108 6109 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 6110 // 6111 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 6112 func (_IERC721Enumerable *IERC721EnumerableCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 6113 return _IERC721Enumerable.Contract.TokenByIndex(&_IERC721Enumerable.CallOpts, index) 6114 } 6115 6116 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 6117 // 6118 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256 tokenId) 6119 func (_IERC721Enumerable *IERC721EnumerableCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 6120 var out []interface{} 6121 err := _IERC721Enumerable.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index) 6122 6123 if err != nil { 6124 return *new(*big.Int), err 6125 } 6126 6127 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 6128 6129 return out0, err 6130 6131 } 6132 6133 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 6134 // 6135 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256 tokenId) 6136 func (_IERC721Enumerable *IERC721EnumerableSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 6137 return _IERC721Enumerable.Contract.TokenOfOwnerByIndex(&_IERC721Enumerable.CallOpts, owner, index) 6138 } 6139 6140 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 6141 // 6142 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256 tokenId) 6143 func (_IERC721Enumerable *IERC721EnumerableCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 6144 return _IERC721Enumerable.Contract.TokenOfOwnerByIndex(&_IERC721Enumerable.CallOpts, owner, index) 6145 } 6146 6147 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 6148 // 6149 // Solidity: function totalSupply() view returns(uint256) 6150 func (_IERC721Enumerable *IERC721EnumerableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 6151 var out []interface{} 6152 err := _IERC721Enumerable.contract.Call(opts, &out, "totalSupply") 6153 6154 if err != nil { 6155 return *new(*big.Int), err 6156 } 6157 6158 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 6159 6160 return out0, err 6161 6162 } 6163 6164 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 6165 // 6166 // Solidity: function totalSupply() view returns(uint256) 6167 func (_IERC721Enumerable *IERC721EnumerableSession) TotalSupply() (*big.Int, error) { 6168 return _IERC721Enumerable.Contract.TotalSupply(&_IERC721Enumerable.CallOpts) 6169 } 6170 6171 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 6172 // 6173 // Solidity: function totalSupply() view returns(uint256) 6174 func (_IERC721Enumerable *IERC721EnumerableCallerSession) TotalSupply() (*big.Int, error) { 6175 return _IERC721Enumerable.Contract.TotalSupply(&_IERC721Enumerable.CallOpts) 6176 } 6177 6178 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 6179 // 6180 // Solidity: function approve(address to, uint256 tokenId) returns() 6181 func (_IERC721Enumerable *IERC721EnumerableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6182 return _IERC721Enumerable.contract.Transact(opts, "approve", to, tokenId) 6183 } 6184 6185 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 6186 // 6187 // Solidity: function approve(address to, uint256 tokenId) returns() 6188 func (_IERC721Enumerable *IERC721EnumerableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6189 return _IERC721Enumerable.Contract.Approve(&_IERC721Enumerable.TransactOpts, to, tokenId) 6190 } 6191 6192 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 6193 // 6194 // Solidity: function approve(address to, uint256 tokenId) returns() 6195 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6196 return _IERC721Enumerable.Contract.Approve(&_IERC721Enumerable.TransactOpts, to, tokenId) 6197 } 6198 6199 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 6200 // 6201 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 6202 func (_IERC721Enumerable *IERC721EnumerableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6203 return _IERC721Enumerable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 6204 } 6205 6206 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 6207 // 6208 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 6209 func (_IERC721Enumerable *IERC721EnumerableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6210 return _IERC721Enumerable.Contract.SafeTransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) 6211 } 6212 6213 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 6214 // 6215 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 6216 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6217 return _IERC721Enumerable.Contract.SafeTransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) 6218 } 6219 6220 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 6221 // 6222 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 6223 func (_IERC721Enumerable *IERC721EnumerableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 6224 return _IERC721Enumerable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) 6225 } 6226 6227 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 6228 // 6229 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 6230 func (_IERC721Enumerable *IERC721EnumerableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 6231 return _IERC721Enumerable.Contract.SafeTransferFrom0(&_IERC721Enumerable.TransactOpts, from, to, tokenId, data) 6232 } 6233 6234 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 6235 // 6236 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 6237 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 6238 return _IERC721Enumerable.Contract.SafeTransferFrom0(&_IERC721Enumerable.TransactOpts, from, to, tokenId, data) 6239 } 6240 6241 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 6242 // 6243 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 6244 func (_IERC721Enumerable *IERC721EnumerableTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { 6245 return _IERC721Enumerable.contract.Transact(opts, "setApprovalForAll", operator, _approved) 6246 } 6247 6248 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 6249 // 6250 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 6251 func (_IERC721Enumerable *IERC721EnumerableSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 6252 return _IERC721Enumerable.Contract.SetApprovalForAll(&_IERC721Enumerable.TransactOpts, operator, _approved) 6253 } 6254 6255 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 6256 // 6257 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 6258 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 6259 return _IERC721Enumerable.Contract.SetApprovalForAll(&_IERC721Enumerable.TransactOpts, operator, _approved) 6260 } 6261 6262 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 6263 // 6264 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 6265 func (_IERC721Enumerable *IERC721EnumerableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6266 return _IERC721Enumerable.contract.Transact(opts, "transferFrom", from, to, tokenId) 6267 } 6268 6269 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 6270 // 6271 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 6272 func (_IERC721Enumerable *IERC721EnumerableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6273 return _IERC721Enumerable.Contract.TransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) 6274 } 6275 6276 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 6277 // 6278 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 6279 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6280 return _IERC721Enumerable.Contract.TransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) 6281 } 6282 6283 // 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. 6284 type IERC721EnumerableApprovalIterator struct { 6285 Event *IERC721EnumerableApproval // Event containing the contract specifics and raw log 6286 6287 contract *bind.BoundContract // Generic contract to use for unpacking event data 6288 event string // Event name to use for unpacking event data 6289 6290 logs chan types.Log // Log channel receiving the found contract events 6291 sub ethereum.Subscription // Subscription for errors, completion and termination 6292 done bool // Whether the subscription completed delivering logs 6293 fail error // Occurred error to stop iteration 6294 } 6295 6296 // Next advances the iterator to the subsequent event, returning whether there 6297 // are any more events found. In case of a retrieval or parsing error, false is 6298 // returned and Error() can be queried for the exact failure. 6299 func (it *IERC721EnumerableApprovalIterator) Next() bool { 6300 // If the iterator failed, stop iterating 6301 if it.fail != nil { 6302 return false 6303 } 6304 // If the iterator completed, deliver directly whatever's available 6305 if it.done { 6306 select { 6307 case log := <-it.logs: 6308 it.Event = new(IERC721EnumerableApproval) 6309 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6310 it.fail = err 6311 return false 6312 } 6313 it.Event.Raw = log 6314 return true 6315 6316 default: 6317 return false 6318 } 6319 } 6320 // Iterator still in progress, wait for either a data or an error event 6321 select { 6322 case log := <-it.logs: 6323 it.Event = new(IERC721EnumerableApproval) 6324 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6325 it.fail = err 6326 return false 6327 } 6328 it.Event.Raw = log 6329 return true 6330 6331 case err := <-it.sub.Err(): 6332 it.done = true 6333 it.fail = err 6334 return it.Next() 6335 } 6336 } 6337 6338 // Error returns any retrieval or parsing error occurred during filtering. 6339 func (it *IERC721EnumerableApprovalIterator) Error() error { 6340 return it.fail 6341 } 6342 6343 // Close terminates the iteration process, releasing any pending underlying 6344 // resources. 6345 func (it *IERC721EnumerableApprovalIterator) Close() error { 6346 it.sub.Unsubscribe() 6347 return nil 6348 } 6349 6350 // IERC721EnumerableApproval represents a Approval event raised by the IERC721Enumerable contract. 6351 type IERC721EnumerableApproval struct { 6352 Owner common.Address 6353 Approved common.Address 6354 TokenId *big.Int 6355 Raw types.Log // Blockchain specific contextual infos 6356 } 6357 6358 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 6359 // 6360 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 6361 func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721EnumerableApprovalIterator, error) { 6362 6363 var ownerRule []interface{} 6364 for _, ownerItem := range owner { 6365 ownerRule = append(ownerRule, ownerItem) 6366 } 6367 var approvedRule []interface{} 6368 for _, approvedItem := range approved { 6369 approvedRule = append(approvedRule, approvedItem) 6370 } 6371 var tokenIdRule []interface{} 6372 for _, tokenIdItem := range tokenId { 6373 tokenIdRule = append(tokenIdRule, tokenIdItem) 6374 } 6375 6376 logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 6377 if err != nil { 6378 return nil, err 6379 } 6380 return &IERC721EnumerableApprovalIterator{contract: _IERC721Enumerable.contract, event: "Approval", logs: logs, sub: sub}, nil 6381 } 6382 6383 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 6384 // 6385 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 6386 func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 6387 6388 var ownerRule []interface{} 6389 for _, ownerItem := range owner { 6390 ownerRule = append(ownerRule, ownerItem) 6391 } 6392 var approvedRule []interface{} 6393 for _, approvedItem := range approved { 6394 approvedRule = append(approvedRule, approvedItem) 6395 } 6396 var tokenIdRule []interface{} 6397 for _, tokenIdItem := range tokenId { 6398 tokenIdRule = append(tokenIdRule, tokenIdItem) 6399 } 6400 6401 logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 6402 if err != nil { 6403 return nil, err 6404 } 6405 return event.NewSubscription(func(quit <-chan struct{}) error { 6406 defer sub.Unsubscribe() 6407 for { 6408 select { 6409 case log := <-logs: 6410 // New log arrived, parse the event and forward to the user 6411 event := new(IERC721EnumerableApproval) 6412 if err := _IERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { 6413 return err 6414 } 6415 event.Raw = log 6416 6417 select { 6418 case sink <- event: 6419 case err := <-sub.Err(): 6420 return err 6421 case <-quit: 6422 return nil 6423 } 6424 case err := <-sub.Err(): 6425 return err 6426 case <-quit: 6427 return nil 6428 } 6429 } 6430 }), nil 6431 } 6432 6433 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 6434 // 6435 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 6436 func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseApproval(log types.Log) (*IERC721EnumerableApproval, error) { 6437 event := new(IERC721EnumerableApproval) 6438 if err := _IERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { 6439 return nil, err 6440 } 6441 event.Raw = log 6442 return event, nil 6443 } 6444 6445 // 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. 6446 type IERC721EnumerableApprovalForAllIterator struct { 6447 Event *IERC721EnumerableApprovalForAll // Event containing the contract specifics and raw log 6448 6449 contract *bind.BoundContract // Generic contract to use for unpacking event data 6450 event string // Event name to use for unpacking event data 6451 6452 logs chan types.Log // Log channel receiving the found contract events 6453 sub ethereum.Subscription // Subscription for errors, completion and termination 6454 done bool // Whether the subscription completed delivering logs 6455 fail error // Occurred error to stop iteration 6456 } 6457 6458 // Next advances the iterator to the subsequent event, returning whether there 6459 // are any more events found. In case of a retrieval or parsing error, false is 6460 // returned and Error() can be queried for the exact failure. 6461 func (it *IERC721EnumerableApprovalForAllIterator) Next() bool { 6462 // If the iterator failed, stop iterating 6463 if it.fail != nil { 6464 return false 6465 } 6466 // If the iterator completed, deliver directly whatever's available 6467 if it.done { 6468 select { 6469 case log := <-it.logs: 6470 it.Event = new(IERC721EnumerableApprovalForAll) 6471 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6472 it.fail = err 6473 return false 6474 } 6475 it.Event.Raw = log 6476 return true 6477 6478 default: 6479 return false 6480 } 6481 } 6482 // Iterator still in progress, wait for either a data or an error event 6483 select { 6484 case log := <-it.logs: 6485 it.Event = new(IERC721EnumerableApprovalForAll) 6486 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6487 it.fail = err 6488 return false 6489 } 6490 it.Event.Raw = log 6491 return true 6492 6493 case err := <-it.sub.Err(): 6494 it.done = true 6495 it.fail = err 6496 return it.Next() 6497 } 6498 } 6499 6500 // Error returns any retrieval or parsing error occurred during filtering. 6501 func (it *IERC721EnumerableApprovalForAllIterator) Error() error { 6502 return it.fail 6503 } 6504 6505 // Close terminates the iteration process, releasing any pending underlying 6506 // resources. 6507 func (it *IERC721EnumerableApprovalForAllIterator) Close() error { 6508 it.sub.Unsubscribe() 6509 return nil 6510 } 6511 6512 // IERC721EnumerableApprovalForAll represents a ApprovalForAll event raised by the IERC721Enumerable contract. 6513 type IERC721EnumerableApprovalForAll struct { 6514 Owner common.Address 6515 Operator common.Address 6516 Approved bool 6517 Raw types.Log // Blockchain specific contextual infos 6518 } 6519 6520 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 6521 // 6522 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 6523 func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721EnumerableApprovalForAllIterator, error) { 6524 6525 var ownerRule []interface{} 6526 for _, ownerItem := range owner { 6527 ownerRule = append(ownerRule, ownerItem) 6528 } 6529 var operatorRule []interface{} 6530 for _, operatorItem := range operator { 6531 operatorRule = append(operatorRule, operatorItem) 6532 } 6533 6534 logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 6535 if err != nil { 6536 return nil, err 6537 } 6538 return &IERC721EnumerableApprovalForAllIterator{contract: _IERC721Enumerable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 6539 } 6540 6541 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 6542 // 6543 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 6544 func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 6545 6546 var ownerRule []interface{} 6547 for _, ownerItem := range owner { 6548 ownerRule = append(ownerRule, ownerItem) 6549 } 6550 var operatorRule []interface{} 6551 for _, operatorItem := range operator { 6552 operatorRule = append(operatorRule, operatorItem) 6553 } 6554 6555 logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 6556 if err != nil { 6557 return nil, err 6558 } 6559 return event.NewSubscription(func(quit <-chan struct{}) error { 6560 defer sub.Unsubscribe() 6561 for { 6562 select { 6563 case log := <-logs: 6564 // New log arrived, parse the event and forward to the user 6565 event := new(IERC721EnumerableApprovalForAll) 6566 if err := _IERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 6567 return err 6568 } 6569 event.Raw = log 6570 6571 select { 6572 case sink <- event: 6573 case err := <-sub.Err(): 6574 return err 6575 case <-quit: 6576 return nil 6577 } 6578 case err := <-sub.Err(): 6579 return err 6580 case <-quit: 6581 return nil 6582 } 6583 } 6584 }), nil 6585 } 6586 6587 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 6588 // 6589 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 6590 func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseApprovalForAll(log types.Log) (*IERC721EnumerableApprovalForAll, error) { 6591 event := new(IERC721EnumerableApprovalForAll) 6592 if err := _IERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 6593 return nil, err 6594 } 6595 event.Raw = log 6596 return event, nil 6597 } 6598 6599 // 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. 6600 type IERC721EnumerableTransferIterator struct { 6601 Event *IERC721EnumerableTransfer // Event containing the contract specifics and raw log 6602 6603 contract *bind.BoundContract // Generic contract to use for unpacking event data 6604 event string // Event name to use for unpacking event data 6605 6606 logs chan types.Log // Log channel receiving the found contract events 6607 sub ethereum.Subscription // Subscription for errors, completion and termination 6608 done bool // Whether the subscription completed delivering logs 6609 fail error // Occurred error to stop iteration 6610 } 6611 6612 // Next advances the iterator to the subsequent event, returning whether there 6613 // are any more events found. In case of a retrieval or parsing error, false is 6614 // returned and Error() can be queried for the exact failure. 6615 func (it *IERC721EnumerableTransferIterator) Next() bool { 6616 // If the iterator failed, stop iterating 6617 if it.fail != nil { 6618 return false 6619 } 6620 // If the iterator completed, deliver directly whatever's available 6621 if it.done { 6622 select { 6623 case log := <-it.logs: 6624 it.Event = new(IERC721EnumerableTransfer) 6625 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6626 it.fail = err 6627 return false 6628 } 6629 it.Event.Raw = log 6630 return true 6631 6632 default: 6633 return false 6634 } 6635 } 6636 // Iterator still in progress, wait for either a data or an error event 6637 select { 6638 case log := <-it.logs: 6639 it.Event = new(IERC721EnumerableTransfer) 6640 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6641 it.fail = err 6642 return false 6643 } 6644 it.Event.Raw = log 6645 return true 6646 6647 case err := <-it.sub.Err(): 6648 it.done = true 6649 it.fail = err 6650 return it.Next() 6651 } 6652 } 6653 6654 // Error returns any retrieval or parsing error occurred during filtering. 6655 func (it *IERC721EnumerableTransferIterator) Error() error { 6656 return it.fail 6657 } 6658 6659 // Close terminates the iteration process, releasing any pending underlying 6660 // resources. 6661 func (it *IERC721EnumerableTransferIterator) Close() error { 6662 it.sub.Unsubscribe() 6663 return nil 6664 } 6665 6666 // IERC721EnumerableTransfer represents a Transfer event raised by the IERC721Enumerable contract. 6667 type IERC721EnumerableTransfer struct { 6668 From common.Address 6669 To common.Address 6670 TokenId *big.Int 6671 Raw types.Log // Blockchain specific contextual infos 6672 } 6673 6674 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 6675 // 6676 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 6677 func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721EnumerableTransferIterator, error) { 6678 6679 var fromRule []interface{} 6680 for _, fromItem := range from { 6681 fromRule = append(fromRule, fromItem) 6682 } 6683 var toRule []interface{} 6684 for _, toItem := range to { 6685 toRule = append(toRule, toItem) 6686 } 6687 var tokenIdRule []interface{} 6688 for _, tokenIdItem := range tokenId { 6689 tokenIdRule = append(tokenIdRule, tokenIdItem) 6690 } 6691 6692 logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 6693 if err != nil { 6694 return nil, err 6695 } 6696 return &IERC721EnumerableTransferIterator{contract: _IERC721Enumerable.contract, event: "Transfer", logs: logs, sub: sub}, nil 6697 } 6698 6699 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 6700 // 6701 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 6702 func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 6703 6704 var fromRule []interface{} 6705 for _, fromItem := range from { 6706 fromRule = append(fromRule, fromItem) 6707 } 6708 var toRule []interface{} 6709 for _, toItem := range to { 6710 toRule = append(toRule, toItem) 6711 } 6712 var tokenIdRule []interface{} 6713 for _, tokenIdItem := range tokenId { 6714 tokenIdRule = append(tokenIdRule, tokenIdItem) 6715 } 6716 6717 logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 6718 if err != nil { 6719 return nil, err 6720 } 6721 return event.NewSubscription(func(quit <-chan struct{}) error { 6722 defer sub.Unsubscribe() 6723 for { 6724 select { 6725 case log := <-logs: 6726 // New log arrived, parse the event and forward to the user 6727 event := new(IERC721EnumerableTransfer) 6728 if err := _IERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { 6729 return err 6730 } 6731 event.Raw = log 6732 6733 select { 6734 case sink <- event: 6735 case err := <-sub.Err(): 6736 return err 6737 case <-quit: 6738 return nil 6739 } 6740 case err := <-sub.Err(): 6741 return err 6742 case <-quit: 6743 return nil 6744 } 6745 } 6746 }), nil 6747 } 6748 6749 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 6750 // 6751 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 6752 func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseTransfer(log types.Log) (*IERC721EnumerableTransfer, error) { 6753 event := new(IERC721EnumerableTransfer) 6754 if err := _IERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { 6755 return nil, err 6756 } 6757 event.Raw = log 6758 return event, nil 6759 } 6760 6761 // IERC721FullABI is the input ABI used to generate the binding from. 6762 const IERC721FullABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"operator\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" 6763 6764 // IERC721FullFuncSigs maps the 4-byte function signature to its string representation. 6765 var IERC721FullFuncSigs = map[string]string{ 6766 "095ea7b3": "approve(address,uint256)", 6767 "70a08231": "balanceOf(address)", 6768 "081812fc": "getApproved(uint256)", 6769 "e985e9c5": "isApprovedForAll(address,address)", 6770 "06fdde03": "name()", 6771 "6352211e": "ownerOf(uint256)", 6772 "42842e0e": "safeTransferFrom(address,address,uint256)", 6773 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 6774 "a22cb465": "setApprovalForAll(address,bool)", 6775 "01ffc9a7": "supportsInterface(bytes4)", 6776 "95d89b41": "symbol()", 6777 "4f6ccce7": "tokenByIndex(uint256)", 6778 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 6779 "c87b56dd": "tokenURI(uint256)", 6780 "18160ddd": "totalSupply()", 6781 "23b872dd": "transferFrom(address,address,uint256)", 6782 } 6783 6784 // IERC721Full is an auto generated Go binding around an Ethereum contract. 6785 type IERC721Full struct { 6786 IERC721FullCaller // Read-only binding to the contract 6787 IERC721FullTransactor // Write-only binding to the contract 6788 IERC721FullFilterer // Log filterer for contract events 6789 } 6790 6791 // IERC721FullCaller is an auto generated read-only Go binding around an Ethereum contract. 6792 type IERC721FullCaller struct { 6793 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6794 } 6795 6796 // IERC721FullTransactor is an auto generated write-only Go binding around an Ethereum contract. 6797 type IERC721FullTransactor struct { 6798 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6799 } 6800 6801 // IERC721FullFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 6802 type IERC721FullFilterer struct { 6803 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6804 } 6805 6806 // IERC721FullSession is an auto generated Go binding around an Ethereum contract, 6807 // with pre-set call and transact options. 6808 type IERC721FullSession struct { 6809 Contract *IERC721Full // Generic contract binding to set the session for 6810 CallOpts bind.CallOpts // Call options to use throughout this session 6811 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6812 } 6813 6814 // IERC721FullCallerSession is an auto generated read-only Go binding around an Ethereum contract, 6815 // with pre-set call options. 6816 type IERC721FullCallerSession struct { 6817 Contract *IERC721FullCaller // Generic contract caller binding to set the session for 6818 CallOpts bind.CallOpts // Call options to use throughout this session 6819 } 6820 6821 // IERC721FullTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 6822 // with pre-set transact options. 6823 type IERC721FullTransactorSession struct { 6824 Contract *IERC721FullTransactor // Generic contract transactor binding to set the session for 6825 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6826 } 6827 6828 // IERC721FullRaw is an auto generated low-level Go binding around an Ethereum contract. 6829 type IERC721FullRaw struct { 6830 Contract *IERC721Full // Generic contract binding to access the raw methods on 6831 } 6832 6833 // IERC721FullCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 6834 type IERC721FullCallerRaw struct { 6835 Contract *IERC721FullCaller // Generic read-only contract binding to access the raw methods on 6836 } 6837 6838 // IERC721FullTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 6839 type IERC721FullTransactorRaw struct { 6840 Contract *IERC721FullTransactor // Generic write-only contract binding to access the raw methods on 6841 } 6842 6843 // NewIERC721Full creates a new instance of IERC721Full, bound to a specific deployed contract. 6844 func NewIERC721Full(address common.Address, backend bind.ContractBackend) (*IERC721Full, error) { 6845 contract, err := bindIERC721Full(address, backend, backend, backend) 6846 if err != nil { 6847 return nil, err 6848 } 6849 return &IERC721Full{IERC721FullCaller: IERC721FullCaller{contract: contract}, IERC721FullTransactor: IERC721FullTransactor{contract: contract}, IERC721FullFilterer: IERC721FullFilterer{contract: contract}}, nil 6850 } 6851 6852 // NewIERC721FullCaller creates a new read-only instance of IERC721Full, bound to a specific deployed contract. 6853 func NewIERC721FullCaller(address common.Address, caller bind.ContractCaller) (*IERC721FullCaller, error) { 6854 contract, err := bindIERC721Full(address, caller, nil, nil) 6855 if err != nil { 6856 return nil, err 6857 } 6858 return &IERC721FullCaller{contract: contract}, nil 6859 } 6860 6861 // NewIERC721FullTransactor creates a new write-only instance of IERC721Full, bound to a specific deployed contract. 6862 func NewIERC721FullTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721FullTransactor, error) { 6863 contract, err := bindIERC721Full(address, nil, transactor, nil) 6864 if err != nil { 6865 return nil, err 6866 } 6867 return &IERC721FullTransactor{contract: contract}, nil 6868 } 6869 6870 // NewIERC721FullFilterer creates a new log filterer instance of IERC721Full, bound to a specific deployed contract. 6871 func NewIERC721FullFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721FullFilterer, error) { 6872 contract, err := bindIERC721Full(address, nil, nil, filterer) 6873 if err != nil { 6874 return nil, err 6875 } 6876 return &IERC721FullFilterer{contract: contract}, nil 6877 } 6878 6879 // bindIERC721Full binds a generic wrapper to an already deployed contract. 6880 func bindIERC721Full(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 6881 parsed, err := abi.JSON(strings.NewReader(IERC721FullABI)) 6882 if err != nil { 6883 return nil, err 6884 } 6885 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 6886 } 6887 6888 // Call invokes the (constant) contract method with params as input values and 6889 // sets the output to result. The result type might be a single field for simple 6890 // returns, a slice of interfaces for anonymous returns and a struct for named 6891 // returns. 6892 func (_IERC721Full *IERC721FullRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 6893 return _IERC721Full.Contract.IERC721FullCaller.contract.Call(opts, result, method, params...) 6894 } 6895 6896 // Transfer initiates a plain transaction to move funds to the contract, calling 6897 // its default method if one is available. 6898 func (_IERC721Full *IERC721FullRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6899 return _IERC721Full.Contract.IERC721FullTransactor.contract.Transfer(opts) 6900 } 6901 6902 // Transact invokes the (paid) contract method with params as input values. 6903 func (_IERC721Full *IERC721FullRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6904 return _IERC721Full.Contract.IERC721FullTransactor.contract.Transact(opts, method, params...) 6905 } 6906 6907 // Call invokes the (constant) contract method with params as input values and 6908 // sets the output to result. The result type might be a single field for simple 6909 // returns, a slice of interfaces for anonymous returns and a struct for named 6910 // returns. 6911 func (_IERC721Full *IERC721FullCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 6912 return _IERC721Full.Contract.contract.Call(opts, result, method, params...) 6913 } 6914 6915 // Transfer initiates a plain transaction to move funds to the contract, calling 6916 // its default method if one is available. 6917 func (_IERC721Full *IERC721FullTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6918 return _IERC721Full.Contract.contract.Transfer(opts) 6919 } 6920 6921 // Transact invokes the (paid) contract method with params as input values. 6922 func (_IERC721Full *IERC721FullTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6923 return _IERC721Full.Contract.contract.Transact(opts, method, params...) 6924 } 6925 6926 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 6927 // 6928 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 6929 func (_IERC721Full *IERC721FullCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 6930 var out []interface{} 6931 err := _IERC721Full.contract.Call(opts, &out, "balanceOf", owner) 6932 6933 if err != nil { 6934 return *new(*big.Int), err 6935 } 6936 6937 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 6938 6939 return out0, err 6940 6941 } 6942 6943 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 6944 // 6945 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 6946 func (_IERC721Full *IERC721FullSession) BalanceOf(owner common.Address) (*big.Int, error) { 6947 return _IERC721Full.Contract.BalanceOf(&_IERC721Full.CallOpts, owner) 6948 } 6949 6950 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 6951 // 6952 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 6953 func (_IERC721Full *IERC721FullCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 6954 return _IERC721Full.Contract.BalanceOf(&_IERC721Full.CallOpts, owner) 6955 } 6956 6957 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 6958 // 6959 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 6960 func (_IERC721Full *IERC721FullCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 6961 var out []interface{} 6962 err := _IERC721Full.contract.Call(opts, &out, "getApproved", tokenId) 6963 6964 if err != nil { 6965 return *new(common.Address), err 6966 } 6967 6968 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 6969 6970 return out0, err 6971 6972 } 6973 6974 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 6975 // 6976 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 6977 func (_IERC721Full *IERC721FullSession) GetApproved(tokenId *big.Int) (common.Address, error) { 6978 return _IERC721Full.Contract.GetApproved(&_IERC721Full.CallOpts, tokenId) 6979 } 6980 6981 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 6982 // 6983 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 6984 func (_IERC721Full *IERC721FullCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 6985 return _IERC721Full.Contract.GetApproved(&_IERC721Full.CallOpts, tokenId) 6986 } 6987 6988 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 6989 // 6990 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 6991 func (_IERC721Full *IERC721FullCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 6992 var out []interface{} 6993 err := _IERC721Full.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 6994 6995 if err != nil { 6996 return *new(bool), err 6997 } 6998 6999 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 7000 7001 return out0, err 7002 7003 } 7004 7005 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 7006 // 7007 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 7008 func (_IERC721Full *IERC721FullSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 7009 return _IERC721Full.Contract.IsApprovedForAll(&_IERC721Full.CallOpts, owner, operator) 7010 } 7011 7012 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 7013 // 7014 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 7015 func (_IERC721Full *IERC721FullCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 7016 return _IERC721Full.Contract.IsApprovedForAll(&_IERC721Full.CallOpts, owner, operator) 7017 } 7018 7019 // Name is a free data retrieval call binding the contract method 0x06fdde03. 7020 // 7021 // Solidity: function name() view returns(string) 7022 func (_IERC721Full *IERC721FullCaller) Name(opts *bind.CallOpts) (string, error) { 7023 var out []interface{} 7024 err := _IERC721Full.contract.Call(opts, &out, "name") 7025 7026 if err != nil { 7027 return *new(string), err 7028 } 7029 7030 out0 := *abi.ConvertType(out[0], new(string)).(*string) 7031 7032 return out0, err 7033 7034 } 7035 7036 // Name is a free data retrieval call binding the contract method 0x06fdde03. 7037 // 7038 // Solidity: function name() view returns(string) 7039 func (_IERC721Full *IERC721FullSession) Name() (string, error) { 7040 return _IERC721Full.Contract.Name(&_IERC721Full.CallOpts) 7041 } 7042 7043 // Name is a free data retrieval call binding the contract method 0x06fdde03. 7044 // 7045 // Solidity: function name() view returns(string) 7046 func (_IERC721Full *IERC721FullCallerSession) Name() (string, error) { 7047 return _IERC721Full.Contract.Name(&_IERC721Full.CallOpts) 7048 } 7049 7050 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 7051 // 7052 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 7053 func (_IERC721Full *IERC721FullCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 7054 var out []interface{} 7055 err := _IERC721Full.contract.Call(opts, &out, "ownerOf", tokenId) 7056 7057 if err != nil { 7058 return *new(common.Address), err 7059 } 7060 7061 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 7062 7063 return out0, err 7064 7065 } 7066 7067 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 7068 // 7069 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 7070 func (_IERC721Full *IERC721FullSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 7071 return _IERC721Full.Contract.OwnerOf(&_IERC721Full.CallOpts, tokenId) 7072 } 7073 7074 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 7075 // 7076 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 7077 func (_IERC721Full *IERC721FullCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 7078 return _IERC721Full.Contract.OwnerOf(&_IERC721Full.CallOpts, tokenId) 7079 } 7080 7081 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 7082 // 7083 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 7084 func (_IERC721Full *IERC721FullCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 7085 var out []interface{} 7086 err := _IERC721Full.contract.Call(opts, &out, "supportsInterface", interfaceId) 7087 7088 if err != nil { 7089 return *new(bool), err 7090 } 7091 7092 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 7093 7094 return out0, err 7095 7096 } 7097 7098 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 7099 // 7100 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 7101 func (_IERC721Full *IERC721FullSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 7102 return _IERC721Full.Contract.SupportsInterface(&_IERC721Full.CallOpts, interfaceId) 7103 } 7104 7105 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 7106 // 7107 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 7108 func (_IERC721Full *IERC721FullCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 7109 return _IERC721Full.Contract.SupportsInterface(&_IERC721Full.CallOpts, interfaceId) 7110 } 7111 7112 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 7113 // 7114 // Solidity: function symbol() view returns(string) 7115 func (_IERC721Full *IERC721FullCaller) Symbol(opts *bind.CallOpts) (string, error) { 7116 var out []interface{} 7117 err := _IERC721Full.contract.Call(opts, &out, "symbol") 7118 7119 if err != nil { 7120 return *new(string), err 7121 } 7122 7123 out0 := *abi.ConvertType(out[0], new(string)).(*string) 7124 7125 return out0, err 7126 7127 } 7128 7129 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 7130 // 7131 // Solidity: function symbol() view returns(string) 7132 func (_IERC721Full *IERC721FullSession) Symbol() (string, error) { 7133 return _IERC721Full.Contract.Symbol(&_IERC721Full.CallOpts) 7134 } 7135 7136 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 7137 // 7138 // Solidity: function symbol() view returns(string) 7139 func (_IERC721Full *IERC721FullCallerSession) Symbol() (string, error) { 7140 return _IERC721Full.Contract.Symbol(&_IERC721Full.CallOpts) 7141 } 7142 7143 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 7144 // 7145 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 7146 func (_IERC721Full *IERC721FullCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 7147 var out []interface{} 7148 err := _IERC721Full.contract.Call(opts, &out, "tokenByIndex", index) 7149 7150 if err != nil { 7151 return *new(*big.Int), err 7152 } 7153 7154 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 7155 7156 return out0, err 7157 7158 } 7159 7160 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 7161 // 7162 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 7163 func (_IERC721Full *IERC721FullSession) TokenByIndex(index *big.Int) (*big.Int, error) { 7164 return _IERC721Full.Contract.TokenByIndex(&_IERC721Full.CallOpts, index) 7165 } 7166 7167 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 7168 // 7169 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 7170 func (_IERC721Full *IERC721FullCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 7171 return _IERC721Full.Contract.TokenByIndex(&_IERC721Full.CallOpts, index) 7172 } 7173 7174 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 7175 // 7176 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256 tokenId) 7177 func (_IERC721Full *IERC721FullCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 7178 var out []interface{} 7179 err := _IERC721Full.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index) 7180 7181 if err != nil { 7182 return *new(*big.Int), err 7183 } 7184 7185 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 7186 7187 return out0, err 7188 7189 } 7190 7191 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 7192 // 7193 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256 tokenId) 7194 func (_IERC721Full *IERC721FullSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 7195 return _IERC721Full.Contract.TokenOfOwnerByIndex(&_IERC721Full.CallOpts, owner, index) 7196 } 7197 7198 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 7199 // 7200 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256 tokenId) 7201 func (_IERC721Full *IERC721FullCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 7202 return _IERC721Full.Contract.TokenOfOwnerByIndex(&_IERC721Full.CallOpts, owner, index) 7203 } 7204 7205 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 7206 // 7207 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 7208 func (_IERC721Full *IERC721FullCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 7209 var out []interface{} 7210 err := _IERC721Full.contract.Call(opts, &out, "tokenURI", tokenId) 7211 7212 if err != nil { 7213 return *new(string), err 7214 } 7215 7216 out0 := *abi.ConvertType(out[0], new(string)).(*string) 7217 7218 return out0, err 7219 7220 } 7221 7222 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 7223 // 7224 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 7225 func (_IERC721Full *IERC721FullSession) TokenURI(tokenId *big.Int) (string, error) { 7226 return _IERC721Full.Contract.TokenURI(&_IERC721Full.CallOpts, tokenId) 7227 } 7228 7229 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 7230 // 7231 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 7232 func (_IERC721Full *IERC721FullCallerSession) TokenURI(tokenId *big.Int) (string, error) { 7233 return _IERC721Full.Contract.TokenURI(&_IERC721Full.CallOpts, tokenId) 7234 } 7235 7236 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 7237 // 7238 // Solidity: function totalSupply() view returns(uint256) 7239 func (_IERC721Full *IERC721FullCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 7240 var out []interface{} 7241 err := _IERC721Full.contract.Call(opts, &out, "totalSupply") 7242 7243 if err != nil { 7244 return *new(*big.Int), err 7245 } 7246 7247 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 7248 7249 return out0, err 7250 7251 } 7252 7253 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 7254 // 7255 // Solidity: function totalSupply() view returns(uint256) 7256 func (_IERC721Full *IERC721FullSession) TotalSupply() (*big.Int, error) { 7257 return _IERC721Full.Contract.TotalSupply(&_IERC721Full.CallOpts) 7258 } 7259 7260 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 7261 // 7262 // Solidity: function totalSupply() view returns(uint256) 7263 func (_IERC721Full *IERC721FullCallerSession) TotalSupply() (*big.Int, error) { 7264 return _IERC721Full.Contract.TotalSupply(&_IERC721Full.CallOpts) 7265 } 7266 7267 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 7268 // 7269 // Solidity: function approve(address to, uint256 tokenId) returns() 7270 func (_IERC721Full *IERC721FullTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7271 return _IERC721Full.contract.Transact(opts, "approve", to, tokenId) 7272 } 7273 7274 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 7275 // 7276 // Solidity: function approve(address to, uint256 tokenId) returns() 7277 func (_IERC721Full *IERC721FullSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7278 return _IERC721Full.Contract.Approve(&_IERC721Full.TransactOpts, to, tokenId) 7279 } 7280 7281 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 7282 // 7283 // Solidity: function approve(address to, uint256 tokenId) returns() 7284 func (_IERC721Full *IERC721FullTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7285 return _IERC721Full.Contract.Approve(&_IERC721Full.TransactOpts, to, tokenId) 7286 } 7287 7288 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 7289 // 7290 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 7291 func (_IERC721Full *IERC721FullTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7292 return _IERC721Full.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 7293 } 7294 7295 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 7296 // 7297 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 7298 func (_IERC721Full *IERC721FullSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7299 return _IERC721Full.Contract.SafeTransferFrom(&_IERC721Full.TransactOpts, from, to, tokenId) 7300 } 7301 7302 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 7303 // 7304 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 7305 func (_IERC721Full *IERC721FullTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7306 return _IERC721Full.Contract.SafeTransferFrom(&_IERC721Full.TransactOpts, from, to, tokenId) 7307 } 7308 7309 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 7310 // 7311 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 7312 func (_IERC721Full *IERC721FullTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 7313 return _IERC721Full.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) 7314 } 7315 7316 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 7317 // 7318 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 7319 func (_IERC721Full *IERC721FullSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 7320 return _IERC721Full.Contract.SafeTransferFrom0(&_IERC721Full.TransactOpts, from, to, tokenId, data) 7321 } 7322 7323 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 7324 // 7325 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 7326 func (_IERC721Full *IERC721FullTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 7327 return _IERC721Full.Contract.SafeTransferFrom0(&_IERC721Full.TransactOpts, from, to, tokenId, data) 7328 } 7329 7330 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 7331 // 7332 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 7333 func (_IERC721Full *IERC721FullTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { 7334 return _IERC721Full.contract.Transact(opts, "setApprovalForAll", operator, _approved) 7335 } 7336 7337 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 7338 // 7339 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 7340 func (_IERC721Full *IERC721FullSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 7341 return _IERC721Full.Contract.SetApprovalForAll(&_IERC721Full.TransactOpts, operator, _approved) 7342 } 7343 7344 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 7345 // 7346 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 7347 func (_IERC721Full *IERC721FullTransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 7348 return _IERC721Full.Contract.SetApprovalForAll(&_IERC721Full.TransactOpts, operator, _approved) 7349 } 7350 7351 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 7352 // 7353 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 7354 func (_IERC721Full *IERC721FullTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7355 return _IERC721Full.contract.Transact(opts, "transferFrom", from, to, tokenId) 7356 } 7357 7358 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 7359 // 7360 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 7361 func (_IERC721Full *IERC721FullSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7362 return _IERC721Full.Contract.TransferFrom(&_IERC721Full.TransactOpts, from, to, tokenId) 7363 } 7364 7365 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 7366 // 7367 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 7368 func (_IERC721Full *IERC721FullTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7369 return _IERC721Full.Contract.TransferFrom(&_IERC721Full.TransactOpts, from, to, tokenId) 7370 } 7371 7372 // IERC721FullApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC721Full contract. 7373 type IERC721FullApprovalIterator struct { 7374 Event *IERC721FullApproval // Event containing the contract specifics and raw log 7375 7376 contract *bind.BoundContract // Generic contract to use for unpacking event data 7377 event string // Event name to use for unpacking event data 7378 7379 logs chan types.Log // Log channel receiving the found contract events 7380 sub ethereum.Subscription // Subscription for errors, completion and termination 7381 done bool // Whether the subscription completed delivering logs 7382 fail error // Occurred error to stop iteration 7383 } 7384 7385 // Next advances the iterator to the subsequent event, returning whether there 7386 // are any more events found. In case of a retrieval or parsing error, false is 7387 // returned and Error() can be queried for the exact failure. 7388 func (it *IERC721FullApprovalIterator) Next() bool { 7389 // If the iterator failed, stop iterating 7390 if it.fail != nil { 7391 return false 7392 } 7393 // If the iterator completed, deliver directly whatever's available 7394 if it.done { 7395 select { 7396 case log := <-it.logs: 7397 it.Event = new(IERC721FullApproval) 7398 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7399 it.fail = err 7400 return false 7401 } 7402 it.Event.Raw = log 7403 return true 7404 7405 default: 7406 return false 7407 } 7408 } 7409 // Iterator still in progress, wait for either a data or an error event 7410 select { 7411 case log := <-it.logs: 7412 it.Event = new(IERC721FullApproval) 7413 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7414 it.fail = err 7415 return false 7416 } 7417 it.Event.Raw = log 7418 return true 7419 7420 case err := <-it.sub.Err(): 7421 it.done = true 7422 it.fail = err 7423 return it.Next() 7424 } 7425 } 7426 7427 // Error returns any retrieval or parsing error occurred during filtering. 7428 func (it *IERC721FullApprovalIterator) Error() error { 7429 return it.fail 7430 } 7431 7432 // Close terminates the iteration process, releasing any pending underlying 7433 // resources. 7434 func (it *IERC721FullApprovalIterator) Close() error { 7435 it.sub.Unsubscribe() 7436 return nil 7437 } 7438 7439 // IERC721FullApproval represents a Approval event raised by the IERC721Full contract. 7440 type IERC721FullApproval struct { 7441 Owner common.Address 7442 Approved common.Address 7443 TokenId *big.Int 7444 Raw types.Log // Blockchain specific contextual infos 7445 } 7446 7447 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 7448 // 7449 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 7450 func (_IERC721Full *IERC721FullFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721FullApprovalIterator, error) { 7451 7452 var ownerRule []interface{} 7453 for _, ownerItem := range owner { 7454 ownerRule = append(ownerRule, ownerItem) 7455 } 7456 var approvedRule []interface{} 7457 for _, approvedItem := range approved { 7458 approvedRule = append(approvedRule, approvedItem) 7459 } 7460 var tokenIdRule []interface{} 7461 for _, tokenIdItem := range tokenId { 7462 tokenIdRule = append(tokenIdRule, tokenIdItem) 7463 } 7464 7465 logs, sub, err := _IERC721Full.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 7466 if err != nil { 7467 return nil, err 7468 } 7469 return &IERC721FullApprovalIterator{contract: _IERC721Full.contract, event: "Approval", logs: logs, sub: sub}, nil 7470 } 7471 7472 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 7473 // 7474 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 7475 func (_IERC721Full *IERC721FullFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721FullApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 7476 7477 var ownerRule []interface{} 7478 for _, ownerItem := range owner { 7479 ownerRule = append(ownerRule, ownerItem) 7480 } 7481 var approvedRule []interface{} 7482 for _, approvedItem := range approved { 7483 approvedRule = append(approvedRule, approvedItem) 7484 } 7485 var tokenIdRule []interface{} 7486 for _, tokenIdItem := range tokenId { 7487 tokenIdRule = append(tokenIdRule, tokenIdItem) 7488 } 7489 7490 logs, sub, err := _IERC721Full.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 7491 if err != nil { 7492 return nil, err 7493 } 7494 return event.NewSubscription(func(quit <-chan struct{}) error { 7495 defer sub.Unsubscribe() 7496 for { 7497 select { 7498 case log := <-logs: 7499 // New log arrived, parse the event and forward to the user 7500 event := new(IERC721FullApproval) 7501 if err := _IERC721Full.contract.UnpackLog(event, "Approval", log); err != nil { 7502 return err 7503 } 7504 event.Raw = log 7505 7506 select { 7507 case sink <- event: 7508 case err := <-sub.Err(): 7509 return err 7510 case <-quit: 7511 return nil 7512 } 7513 case err := <-sub.Err(): 7514 return err 7515 case <-quit: 7516 return nil 7517 } 7518 } 7519 }), nil 7520 } 7521 7522 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 7523 // 7524 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 7525 func (_IERC721Full *IERC721FullFilterer) ParseApproval(log types.Log) (*IERC721FullApproval, error) { 7526 event := new(IERC721FullApproval) 7527 if err := _IERC721Full.contract.UnpackLog(event, "Approval", log); err != nil { 7528 return nil, err 7529 } 7530 event.Raw = log 7531 return event, nil 7532 } 7533 7534 // IERC721FullApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the IERC721Full contract. 7535 type IERC721FullApprovalForAllIterator struct { 7536 Event *IERC721FullApprovalForAll // Event containing the contract specifics and raw log 7537 7538 contract *bind.BoundContract // Generic contract to use for unpacking event data 7539 event string // Event name to use for unpacking event data 7540 7541 logs chan types.Log // Log channel receiving the found contract events 7542 sub ethereum.Subscription // Subscription for errors, completion and termination 7543 done bool // Whether the subscription completed delivering logs 7544 fail error // Occurred error to stop iteration 7545 } 7546 7547 // Next advances the iterator to the subsequent event, returning whether there 7548 // are any more events found. In case of a retrieval or parsing error, false is 7549 // returned and Error() can be queried for the exact failure. 7550 func (it *IERC721FullApprovalForAllIterator) Next() bool { 7551 // If the iterator failed, stop iterating 7552 if it.fail != nil { 7553 return false 7554 } 7555 // If the iterator completed, deliver directly whatever's available 7556 if it.done { 7557 select { 7558 case log := <-it.logs: 7559 it.Event = new(IERC721FullApprovalForAll) 7560 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7561 it.fail = err 7562 return false 7563 } 7564 it.Event.Raw = log 7565 return true 7566 7567 default: 7568 return false 7569 } 7570 } 7571 // Iterator still in progress, wait for either a data or an error event 7572 select { 7573 case log := <-it.logs: 7574 it.Event = new(IERC721FullApprovalForAll) 7575 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7576 it.fail = err 7577 return false 7578 } 7579 it.Event.Raw = log 7580 return true 7581 7582 case err := <-it.sub.Err(): 7583 it.done = true 7584 it.fail = err 7585 return it.Next() 7586 } 7587 } 7588 7589 // Error returns any retrieval or parsing error occurred during filtering. 7590 func (it *IERC721FullApprovalForAllIterator) Error() error { 7591 return it.fail 7592 } 7593 7594 // Close terminates the iteration process, releasing any pending underlying 7595 // resources. 7596 func (it *IERC721FullApprovalForAllIterator) Close() error { 7597 it.sub.Unsubscribe() 7598 return nil 7599 } 7600 7601 // IERC721FullApprovalForAll represents a ApprovalForAll event raised by the IERC721Full contract. 7602 type IERC721FullApprovalForAll struct { 7603 Owner common.Address 7604 Operator common.Address 7605 Approved bool 7606 Raw types.Log // Blockchain specific contextual infos 7607 } 7608 7609 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 7610 // 7611 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 7612 func (_IERC721Full *IERC721FullFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721FullApprovalForAllIterator, error) { 7613 7614 var ownerRule []interface{} 7615 for _, ownerItem := range owner { 7616 ownerRule = append(ownerRule, ownerItem) 7617 } 7618 var operatorRule []interface{} 7619 for _, operatorItem := range operator { 7620 operatorRule = append(operatorRule, operatorItem) 7621 } 7622 7623 logs, sub, err := _IERC721Full.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 7624 if err != nil { 7625 return nil, err 7626 } 7627 return &IERC721FullApprovalForAllIterator{contract: _IERC721Full.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 7628 } 7629 7630 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 7631 // 7632 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 7633 func (_IERC721Full *IERC721FullFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721FullApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 7634 7635 var ownerRule []interface{} 7636 for _, ownerItem := range owner { 7637 ownerRule = append(ownerRule, ownerItem) 7638 } 7639 var operatorRule []interface{} 7640 for _, operatorItem := range operator { 7641 operatorRule = append(operatorRule, operatorItem) 7642 } 7643 7644 logs, sub, err := _IERC721Full.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 7645 if err != nil { 7646 return nil, err 7647 } 7648 return event.NewSubscription(func(quit <-chan struct{}) error { 7649 defer sub.Unsubscribe() 7650 for { 7651 select { 7652 case log := <-logs: 7653 // New log arrived, parse the event and forward to the user 7654 event := new(IERC721FullApprovalForAll) 7655 if err := _IERC721Full.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 7656 return err 7657 } 7658 event.Raw = log 7659 7660 select { 7661 case sink <- event: 7662 case err := <-sub.Err(): 7663 return err 7664 case <-quit: 7665 return nil 7666 } 7667 case err := <-sub.Err(): 7668 return err 7669 case <-quit: 7670 return nil 7671 } 7672 } 7673 }), nil 7674 } 7675 7676 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 7677 // 7678 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 7679 func (_IERC721Full *IERC721FullFilterer) ParseApprovalForAll(log types.Log) (*IERC721FullApprovalForAll, error) { 7680 event := new(IERC721FullApprovalForAll) 7681 if err := _IERC721Full.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 7682 return nil, err 7683 } 7684 event.Raw = log 7685 return event, nil 7686 } 7687 7688 // IERC721FullTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC721Full contract. 7689 type IERC721FullTransferIterator struct { 7690 Event *IERC721FullTransfer // Event containing the contract specifics and raw log 7691 7692 contract *bind.BoundContract // Generic contract to use for unpacking event data 7693 event string // Event name to use for unpacking event data 7694 7695 logs chan types.Log // Log channel receiving the found contract events 7696 sub ethereum.Subscription // Subscription for errors, completion and termination 7697 done bool // Whether the subscription completed delivering logs 7698 fail error // Occurred error to stop iteration 7699 } 7700 7701 // Next advances the iterator to the subsequent event, returning whether there 7702 // are any more events found. In case of a retrieval or parsing error, false is 7703 // returned and Error() can be queried for the exact failure. 7704 func (it *IERC721FullTransferIterator) Next() bool { 7705 // If the iterator failed, stop iterating 7706 if it.fail != nil { 7707 return false 7708 } 7709 // If the iterator completed, deliver directly whatever's available 7710 if it.done { 7711 select { 7712 case log := <-it.logs: 7713 it.Event = new(IERC721FullTransfer) 7714 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7715 it.fail = err 7716 return false 7717 } 7718 it.Event.Raw = log 7719 return true 7720 7721 default: 7722 return false 7723 } 7724 } 7725 // Iterator still in progress, wait for either a data or an error event 7726 select { 7727 case log := <-it.logs: 7728 it.Event = new(IERC721FullTransfer) 7729 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7730 it.fail = err 7731 return false 7732 } 7733 it.Event.Raw = log 7734 return true 7735 7736 case err := <-it.sub.Err(): 7737 it.done = true 7738 it.fail = err 7739 return it.Next() 7740 } 7741 } 7742 7743 // Error returns any retrieval or parsing error occurred during filtering. 7744 func (it *IERC721FullTransferIterator) Error() error { 7745 return it.fail 7746 } 7747 7748 // Close terminates the iteration process, releasing any pending underlying 7749 // resources. 7750 func (it *IERC721FullTransferIterator) Close() error { 7751 it.sub.Unsubscribe() 7752 return nil 7753 } 7754 7755 // IERC721FullTransfer represents a Transfer event raised by the IERC721Full contract. 7756 type IERC721FullTransfer struct { 7757 From common.Address 7758 To common.Address 7759 TokenId *big.Int 7760 Raw types.Log // Blockchain specific contextual infos 7761 } 7762 7763 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 7764 // 7765 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 7766 func (_IERC721Full *IERC721FullFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721FullTransferIterator, error) { 7767 7768 var fromRule []interface{} 7769 for _, fromItem := range from { 7770 fromRule = append(fromRule, fromItem) 7771 } 7772 var toRule []interface{} 7773 for _, toItem := range to { 7774 toRule = append(toRule, toItem) 7775 } 7776 var tokenIdRule []interface{} 7777 for _, tokenIdItem := range tokenId { 7778 tokenIdRule = append(tokenIdRule, tokenIdItem) 7779 } 7780 7781 logs, sub, err := _IERC721Full.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 7782 if err != nil { 7783 return nil, err 7784 } 7785 return &IERC721FullTransferIterator{contract: _IERC721Full.contract, event: "Transfer", logs: logs, sub: sub}, nil 7786 } 7787 7788 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 7789 // 7790 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 7791 func (_IERC721Full *IERC721FullFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721FullTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 7792 7793 var fromRule []interface{} 7794 for _, fromItem := range from { 7795 fromRule = append(fromRule, fromItem) 7796 } 7797 var toRule []interface{} 7798 for _, toItem := range to { 7799 toRule = append(toRule, toItem) 7800 } 7801 var tokenIdRule []interface{} 7802 for _, tokenIdItem := range tokenId { 7803 tokenIdRule = append(tokenIdRule, tokenIdItem) 7804 } 7805 7806 logs, sub, err := _IERC721Full.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 7807 if err != nil { 7808 return nil, err 7809 } 7810 return event.NewSubscription(func(quit <-chan struct{}) error { 7811 defer sub.Unsubscribe() 7812 for { 7813 select { 7814 case log := <-logs: 7815 // New log arrived, parse the event and forward to the user 7816 event := new(IERC721FullTransfer) 7817 if err := _IERC721Full.contract.UnpackLog(event, "Transfer", log); err != nil { 7818 return err 7819 } 7820 event.Raw = log 7821 7822 select { 7823 case sink <- event: 7824 case err := <-sub.Err(): 7825 return err 7826 case <-quit: 7827 return nil 7828 } 7829 case err := <-sub.Err(): 7830 return err 7831 case <-quit: 7832 return nil 7833 } 7834 } 7835 }), nil 7836 } 7837 7838 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 7839 // 7840 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 7841 func (_IERC721Full *IERC721FullFilterer) ParseTransfer(log types.Log) (*IERC721FullTransfer, error) { 7842 event := new(IERC721FullTransfer) 7843 if err := _IERC721Full.contract.UnpackLog(event, "Transfer", log); err != nil { 7844 return nil, err 7845 } 7846 event.Raw = log 7847 return event, nil 7848 } 7849 7850 // IERC721MetadataABI is the input ABI used to generate the binding from. 7851 const IERC721MetadataABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"operator\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" 7852 7853 // IERC721MetadataFuncSigs maps the 4-byte function signature to its string representation. 7854 var IERC721MetadataFuncSigs = map[string]string{ 7855 "095ea7b3": "approve(address,uint256)", 7856 "70a08231": "balanceOf(address)", 7857 "081812fc": "getApproved(uint256)", 7858 "e985e9c5": "isApprovedForAll(address,address)", 7859 "06fdde03": "name()", 7860 "6352211e": "ownerOf(uint256)", 7861 "42842e0e": "safeTransferFrom(address,address,uint256)", 7862 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 7863 "a22cb465": "setApprovalForAll(address,bool)", 7864 "01ffc9a7": "supportsInterface(bytes4)", 7865 "95d89b41": "symbol()", 7866 "c87b56dd": "tokenURI(uint256)", 7867 "23b872dd": "transferFrom(address,address,uint256)", 7868 } 7869 7870 // IERC721Metadata is an auto generated Go binding around an Ethereum contract. 7871 type IERC721Metadata struct { 7872 IERC721MetadataCaller // Read-only binding to the contract 7873 IERC721MetadataTransactor // Write-only binding to the contract 7874 IERC721MetadataFilterer // Log filterer for contract events 7875 } 7876 7877 // IERC721MetadataCaller is an auto generated read-only Go binding around an Ethereum contract. 7878 type IERC721MetadataCaller struct { 7879 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7880 } 7881 7882 // IERC721MetadataTransactor is an auto generated write-only Go binding around an Ethereum contract. 7883 type IERC721MetadataTransactor struct { 7884 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7885 } 7886 7887 // IERC721MetadataFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 7888 type IERC721MetadataFilterer struct { 7889 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7890 } 7891 7892 // IERC721MetadataSession is an auto generated Go binding around an Ethereum contract, 7893 // with pre-set call and transact options. 7894 type IERC721MetadataSession struct { 7895 Contract *IERC721Metadata // Generic contract binding to set the session for 7896 CallOpts bind.CallOpts // Call options to use throughout this session 7897 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7898 } 7899 7900 // IERC721MetadataCallerSession is an auto generated read-only Go binding around an Ethereum contract, 7901 // with pre-set call options. 7902 type IERC721MetadataCallerSession struct { 7903 Contract *IERC721MetadataCaller // Generic contract caller binding to set the session for 7904 CallOpts bind.CallOpts // Call options to use throughout this session 7905 } 7906 7907 // IERC721MetadataTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 7908 // with pre-set transact options. 7909 type IERC721MetadataTransactorSession struct { 7910 Contract *IERC721MetadataTransactor // Generic contract transactor binding to set the session for 7911 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7912 } 7913 7914 // IERC721MetadataRaw is an auto generated low-level Go binding around an Ethereum contract. 7915 type IERC721MetadataRaw struct { 7916 Contract *IERC721Metadata // Generic contract binding to access the raw methods on 7917 } 7918 7919 // IERC721MetadataCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 7920 type IERC721MetadataCallerRaw struct { 7921 Contract *IERC721MetadataCaller // Generic read-only contract binding to access the raw methods on 7922 } 7923 7924 // IERC721MetadataTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 7925 type IERC721MetadataTransactorRaw struct { 7926 Contract *IERC721MetadataTransactor // Generic write-only contract binding to access the raw methods on 7927 } 7928 7929 // NewIERC721Metadata creates a new instance of IERC721Metadata, bound to a specific deployed contract. 7930 func NewIERC721Metadata(address common.Address, backend bind.ContractBackend) (*IERC721Metadata, error) { 7931 contract, err := bindIERC721Metadata(address, backend, backend, backend) 7932 if err != nil { 7933 return nil, err 7934 } 7935 return &IERC721Metadata{IERC721MetadataCaller: IERC721MetadataCaller{contract: contract}, IERC721MetadataTransactor: IERC721MetadataTransactor{contract: contract}, IERC721MetadataFilterer: IERC721MetadataFilterer{contract: contract}}, nil 7936 } 7937 7938 // NewIERC721MetadataCaller creates a new read-only instance of IERC721Metadata, bound to a specific deployed contract. 7939 func NewIERC721MetadataCaller(address common.Address, caller bind.ContractCaller) (*IERC721MetadataCaller, error) { 7940 contract, err := bindIERC721Metadata(address, caller, nil, nil) 7941 if err != nil { 7942 return nil, err 7943 } 7944 return &IERC721MetadataCaller{contract: contract}, nil 7945 } 7946 7947 // NewIERC721MetadataTransactor creates a new write-only instance of IERC721Metadata, bound to a specific deployed contract. 7948 func NewIERC721MetadataTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721MetadataTransactor, error) { 7949 contract, err := bindIERC721Metadata(address, nil, transactor, nil) 7950 if err != nil { 7951 return nil, err 7952 } 7953 return &IERC721MetadataTransactor{contract: contract}, nil 7954 } 7955 7956 // NewIERC721MetadataFilterer creates a new log filterer instance of IERC721Metadata, bound to a specific deployed contract. 7957 func NewIERC721MetadataFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721MetadataFilterer, error) { 7958 contract, err := bindIERC721Metadata(address, nil, nil, filterer) 7959 if err != nil { 7960 return nil, err 7961 } 7962 return &IERC721MetadataFilterer{contract: contract}, nil 7963 } 7964 7965 // bindIERC721Metadata binds a generic wrapper to an already deployed contract. 7966 func bindIERC721Metadata(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 7967 parsed, err := abi.JSON(strings.NewReader(IERC721MetadataABI)) 7968 if err != nil { 7969 return nil, err 7970 } 7971 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 7972 } 7973 7974 // Call invokes the (constant) contract method with params as input values and 7975 // sets the output to result. The result type might be a single field for simple 7976 // returns, a slice of interfaces for anonymous returns and a struct for named 7977 // returns. 7978 func (_IERC721Metadata *IERC721MetadataRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 7979 return _IERC721Metadata.Contract.IERC721MetadataCaller.contract.Call(opts, result, method, params...) 7980 } 7981 7982 // Transfer initiates a plain transaction to move funds to the contract, calling 7983 // its default method if one is available. 7984 func (_IERC721Metadata *IERC721MetadataRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7985 return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transfer(opts) 7986 } 7987 7988 // Transact invokes the (paid) contract method with params as input values. 7989 func (_IERC721Metadata *IERC721MetadataRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7990 return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transact(opts, method, params...) 7991 } 7992 7993 // Call invokes the (constant) contract method with params as input values and 7994 // sets the output to result. The result type might be a single field for simple 7995 // returns, a slice of interfaces for anonymous returns and a struct for named 7996 // returns. 7997 func (_IERC721Metadata *IERC721MetadataCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 7998 return _IERC721Metadata.Contract.contract.Call(opts, result, method, params...) 7999 } 8000 8001 // Transfer initiates a plain transaction to move funds to the contract, calling 8002 // its default method if one is available. 8003 func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8004 return _IERC721Metadata.Contract.contract.Transfer(opts) 8005 } 8006 8007 // Transact invokes the (paid) contract method with params as input values. 8008 func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8009 return _IERC721Metadata.Contract.contract.Transact(opts, method, params...) 8010 } 8011 8012 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 8013 // 8014 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 8015 func (_IERC721Metadata *IERC721MetadataCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 8016 var out []interface{} 8017 err := _IERC721Metadata.contract.Call(opts, &out, "balanceOf", owner) 8018 8019 if err != nil { 8020 return *new(*big.Int), err 8021 } 8022 8023 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 8024 8025 return out0, err 8026 8027 } 8028 8029 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 8030 // 8031 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 8032 func (_IERC721Metadata *IERC721MetadataSession) BalanceOf(owner common.Address) (*big.Int, error) { 8033 return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, owner) 8034 } 8035 8036 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 8037 // 8038 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 8039 func (_IERC721Metadata *IERC721MetadataCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 8040 return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, owner) 8041 } 8042 8043 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 8044 // 8045 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 8046 func (_IERC721Metadata *IERC721MetadataCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 8047 var out []interface{} 8048 err := _IERC721Metadata.contract.Call(opts, &out, "getApproved", tokenId) 8049 8050 if err != nil { 8051 return *new(common.Address), err 8052 } 8053 8054 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 8055 8056 return out0, err 8057 8058 } 8059 8060 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 8061 // 8062 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 8063 func (_IERC721Metadata *IERC721MetadataSession) GetApproved(tokenId *big.Int) (common.Address, error) { 8064 return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, tokenId) 8065 } 8066 8067 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 8068 // 8069 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 8070 func (_IERC721Metadata *IERC721MetadataCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 8071 return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, tokenId) 8072 } 8073 8074 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 8075 // 8076 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 8077 func (_IERC721Metadata *IERC721MetadataCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 8078 var out []interface{} 8079 err := _IERC721Metadata.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 8080 8081 if err != nil { 8082 return *new(bool), err 8083 } 8084 8085 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 8086 8087 return out0, err 8088 8089 } 8090 8091 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 8092 // 8093 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 8094 func (_IERC721Metadata *IERC721MetadataSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 8095 return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, owner, operator) 8096 } 8097 8098 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 8099 // 8100 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 8101 func (_IERC721Metadata *IERC721MetadataCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 8102 return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, owner, operator) 8103 } 8104 8105 // Name is a free data retrieval call binding the contract method 0x06fdde03. 8106 // 8107 // Solidity: function name() view returns(string) 8108 func (_IERC721Metadata *IERC721MetadataCaller) Name(opts *bind.CallOpts) (string, error) { 8109 var out []interface{} 8110 err := _IERC721Metadata.contract.Call(opts, &out, "name") 8111 8112 if err != nil { 8113 return *new(string), err 8114 } 8115 8116 out0 := *abi.ConvertType(out[0], new(string)).(*string) 8117 8118 return out0, err 8119 8120 } 8121 8122 // Name is a free data retrieval call binding the contract method 0x06fdde03. 8123 // 8124 // Solidity: function name() view returns(string) 8125 func (_IERC721Metadata *IERC721MetadataSession) Name() (string, error) { 8126 return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts) 8127 } 8128 8129 // Name is a free data retrieval call binding the contract method 0x06fdde03. 8130 // 8131 // Solidity: function name() view returns(string) 8132 func (_IERC721Metadata *IERC721MetadataCallerSession) Name() (string, error) { 8133 return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts) 8134 } 8135 8136 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 8137 // 8138 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 8139 func (_IERC721Metadata *IERC721MetadataCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 8140 var out []interface{} 8141 err := _IERC721Metadata.contract.Call(opts, &out, "ownerOf", tokenId) 8142 8143 if err != nil { 8144 return *new(common.Address), err 8145 } 8146 8147 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 8148 8149 return out0, err 8150 8151 } 8152 8153 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 8154 // 8155 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 8156 func (_IERC721Metadata *IERC721MetadataSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 8157 return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, tokenId) 8158 } 8159 8160 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 8161 // 8162 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 8163 func (_IERC721Metadata *IERC721MetadataCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 8164 return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, tokenId) 8165 } 8166 8167 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 8168 // 8169 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 8170 func (_IERC721Metadata *IERC721MetadataCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 8171 var out []interface{} 8172 err := _IERC721Metadata.contract.Call(opts, &out, "supportsInterface", interfaceId) 8173 8174 if err != nil { 8175 return *new(bool), err 8176 } 8177 8178 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 8179 8180 return out0, err 8181 8182 } 8183 8184 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 8185 // 8186 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 8187 func (_IERC721Metadata *IERC721MetadataSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 8188 return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceId) 8189 } 8190 8191 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 8192 // 8193 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 8194 func (_IERC721Metadata *IERC721MetadataCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 8195 return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceId) 8196 } 8197 8198 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 8199 // 8200 // Solidity: function symbol() view returns(string) 8201 func (_IERC721Metadata *IERC721MetadataCaller) Symbol(opts *bind.CallOpts) (string, error) { 8202 var out []interface{} 8203 err := _IERC721Metadata.contract.Call(opts, &out, "symbol") 8204 8205 if err != nil { 8206 return *new(string), err 8207 } 8208 8209 out0 := *abi.ConvertType(out[0], new(string)).(*string) 8210 8211 return out0, err 8212 8213 } 8214 8215 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 8216 // 8217 // Solidity: function symbol() view returns(string) 8218 func (_IERC721Metadata *IERC721MetadataSession) Symbol() (string, error) { 8219 return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts) 8220 } 8221 8222 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 8223 // 8224 // Solidity: function symbol() view returns(string) 8225 func (_IERC721Metadata *IERC721MetadataCallerSession) Symbol() (string, error) { 8226 return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts) 8227 } 8228 8229 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 8230 // 8231 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 8232 func (_IERC721Metadata *IERC721MetadataCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 8233 var out []interface{} 8234 err := _IERC721Metadata.contract.Call(opts, &out, "tokenURI", tokenId) 8235 8236 if err != nil { 8237 return *new(string), err 8238 } 8239 8240 out0 := *abi.ConvertType(out[0], new(string)).(*string) 8241 8242 return out0, err 8243 8244 } 8245 8246 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 8247 // 8248 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 8249 func (_IERC721Metadata *IERC721MetadataSession) TokenURI(tokenId *big.Int) (string, error) { 8250 return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, tokenId) 8251 } 8252 8253 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 8254 // 8255 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 8256 func (_IERC721Metadata *IERC721MetadataCallerSession) TokenURI(tokenId *big.Int) (string, error) { 8257 return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, tokenId) 8258 } 8259 8260 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 8261 // 8262 // Solidity: function approve(address to, uint256 tokenId) returns() 8263 func (_IERC721Metadata *IERC721MetadataTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8264 return _IERC721Metadata.contract.Transact(opts, "approve", to, tokenId) 8265 } 8266 8267 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 8268 // 8269 // Solidity: function approve(address to, uint256 tokenId) returns() 8270 func (_IERC721Metadata *IERC721MetadataSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8271 return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, to, tokenId) 8272 } 8273 8274 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 8275 // 8276 // Solidity: function approve(address to, uint256 tokenId) returns() 8277 func (_IERC721Metadata *IERC721MetadataTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8278 return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, to, tokenId) 8279 } 8280 8281 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 8282 // 8283 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 8284 func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8285 return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 8286 } 8287 8288 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 8289 // 8290 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 8291 func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8292 return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) 8293 } 8294 8295 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 8296 // 8297 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 8298 func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8299 return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) 8300 } 8301 8302 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 8303 // 8304 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 8305 func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 8306 return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) 8307 } 8308 8309 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 8310 // 8311 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 8312 func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 8313 return _IERC721Metadata.Contract.SafeTransferFrom0(&_IERC721Metadata.TransactOpts, from, to, tokenId, data) 8314 } 8315 8316 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 8317 // 8318 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 8319 func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 8320 return _IERC721Metadata.Contract.SafeTransferFrom0(&_IERC721Metadata.TransactOpts, from, to, tokenId, data) 8321 } 8322 8323 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 8324 // 8325 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 8326 func (_IERC721Metadata *IERC721MetadataTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { 8327 return _IERC721Metadata.contract.Transact(opts, "setApprovalForAll", operator, _approved) 8328 } 8329 8330 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 8331 // 8332 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 8333 func (_IERC721Metadata *IERC721MetadataSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 8334 return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, operator, _approved) 8335 } 8336 8337 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 8338 // 8339 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 8340 func (_IERC721Metadata *IERC721MetadataTransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 8341 return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, operator, _approved) 8342 } 8343 8344 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 8345 // 8346 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 8347 func (_IERC721Metadata *IERC721MetadataTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8348 return _IERC721Metadata.contract.Transact(opts, "transferFrom", from, to, tokenId) 8349 } 8350 8351 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 8352 // 8353 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 8354 func (_IERC721Metadata *IERC721MetadataSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8355 return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) 8356 } 8357 8358 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 8359 // 8360 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 8361 func (_IERC721Metadata *IERC721MetadataTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8362 return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) 8363 } 8364 8365 // 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. 8366 type IERC721MetadataApprovalIterator struct { 8367 Event *IERC721MetadataApproval // Event containing the contract specifics and raw log 8368 8369 contract *bind.BoundContract // Generic contract to use for unpacking event data 8370 event string // Event name to use for unpacking event data 8371 8372 logs chan types.Log // Log channel receiving the found contract events 8373 sub ethereum.Subscription // Subscription for errors, completion and termination 8374 done bool // Whether the subscription completed delivering logs 8375 fail error // Occurred error to stop iteration 8376 } 8377 8378 // Next advances the iterator to the subsequent event, returning whether there 8379 // are any more events found. In case of a retrieval or parsing error, false is 8380 // returned and Error() can be queried for the exact failure. 8381 func (it *IERC721MetadataApprovalIterator) Next() bool { 8382 // If the iterator failed, stop iterating 8383 if it.fail != nil { 8384 return false 8385 } 8386 // If the iterator completed, deliver directly whatever's available 8387 if it.done { 8388 select { 8389 case log := <-it.logs: 8390 it.Event = new(IERC721MetadataApproval) 8391 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8392 it.fail = err 8393 return false 8394 } 8395 it.Event.Raw = log 8396 return true 8397 8398 default: 8399 return false 8400 } 8401 } 8402 // Iterator still in progress, wait for either a data or an error event 8403 select { 8404 case log := <-it.logs: 8405 it.Event = new(IERC721MetadataApproval) 8406 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8407 it.fail = err 8408 return false 8409 } 8410 it.Event.Raw = log 8411 return true 8412 8413 case err := <-it.sub.Err(): 8414 it.done = true 8415 it.fail = err 8416 return it.Next() 8417 } 8418 } 8419 8420 // Error returns any retrieval or parsing error occurred during filtering. 8421 func (it *IERC721MetadataApprovalIterator) Error() error { 8422 return it.fail 8423 } 8424 8425 // Close terminates the iteration process, releasing any pending underlying 8426 // resources. 8427 func (it *IERC721MetadataApprovalIterator) Close() error { 8428 it.sub.Unsubscribe() 8429 return nil 8430 } 8431 8432 // IERC721MetadataApproval represents a Approval event raised by the IERC721Metadata contract. 8433 type IERC721MetadataApproval struct { 8434 Owner common.Address 8435 Approved common.Address 8436 TokenId *big.Int 8437 Raw types.Log // Blockchain specific contextual infos 8438 } 8439 8440 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 8441 // 8442 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 8443 func (_IERC721Metadata *IERC721MetadataFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721MetadataApprovalIterator, error) { 8444 8445 var ownerRule []interface{} 8446 for _, ownerItem := range owner { 8447 ownerRule = append(ownerRule, ownerItem) 8448 } 8449 var approvedRule []interface{} 8450 for _, approvedItem := range approved { 8451 approvedRule = append(approvedRule, approvedItem) 8452 } 8453 var tokenIdRule []interface{} 8454 for _, tokenIdItem := range tokenId { 8455 tokenIdRule = append(tokenIdRule, tokenIdItem) 8456 } 8457 8458 logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 8459 if err != nil { 8460 return nil, err 8461 } 8462 return &IERC721MetadataApprovalIterator{contract: _IERC721Metadata.contract, event: "Approval", logs: logs, sub: sub}, nil 8463 } 8464 8465 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 8466 // 8467 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 8468 func (_IERC721Metadata *IERC721MetadataFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 8469 8470 var ownerRule []interface{} 8471 for _, ownerItem := range owner { 8472 ownerRule = append(ownerRule, ownerItem) 8473 } 8474 var approvedRule []interface{} 8475 for _, approvedItem := range approved { 8476 approvedRule = append(approvedRule, approvedItem) 8477 } 8478 var tokenIdRule []interface{} 8479 for _, tokenIdItem := range tokenId { 8480 tokenIdRule = append(tokenIdRule, tokenIdItem) 8481 } 8482 8483 logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 8484 if err != nil { 8485 return nil, err 8486 } 8487 return event.NewSubscription(func(quit <-chan struct{}) error { 8488 defer sub.Unsubscribe() 8489 for { 8490 select { 8491 case log := <-logs: 8492 // New log arrived, parse the event and forward to the user 8493 event := new(IERC721MetadataApproval) 8494 if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { 8495 return err 8496 } 8497 event.Raw = log 8498 8499 select { 8500 case sink <- event: 8501 case err := <-sub.Err(): 8502 return err 8503 case <-quit: 8504 return nil 8505 } 8506 case err := <-sub.Err(): 8507 return err 8508 case <-quit: 8509 return nil 8510 } 8511 } 8512 }), nil 8513 } 8514 8515 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 8516 // 8517 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 8518 func (_IERC721Metadata *IERC721MetadataFilterer) ParseApproval(log types.Log) (*IERC721MetadataApproval, error) { 8519 event := new(IERC721MetadataApproval) 8520 if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { 8521 return nil, err 8522 } 8523 event.Raw = log 8524 return event, nil 8525 } 8526 8527 // 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. 8528 type IERC721MetadataApprovalForAllIterator struct { 8529 Event *IERC721MetadataApprovalForAll // Event containing the contract specifics and raw log 8530 8531 contract *bind.BoundContract // Generic contract to use for unpacking event data 8532 event string // Event name to use for unpacking event data 8533 8534 logs chan types.Log // Log channel receiving the found contract events 8535 sub ethereum.Subscription // Subscription for errors, completion and termination 8536 done bool // Whether the subscription completed delivering logs 8537 fail error // Occurred error to stop iteration 8538 } 8539 8540 // Next advances the iterator to the subsequent event, returning whether there 8541 // are any more events found. In case of a retrieval or parsing error, false is 8542 // returned and Error() can be queried for the exact failure. 8543 func (it *IERC721MetadataApprovalForAllIterator) Next() bool { 8544 // If the iterator failed, stop iterating 8545 if it.fail != nil { 8546 return false 8547 } 8548 // If the iterator completed, deliver directly whatever's available 8549 if it.done { 8550 select { 8551 case log := <-it.logs: 8552 it.Event = new(IERC721MetadataApprovalForAll) 8553 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8554 it.fail = err 8555 return false 8556 } 8557 it.Event.Raw = log 8558 return true 8559 8560 default: 8561 return false 8562 } 8563 } 8564 // Iterator still in progress, wait for either a data or an error event 8565 select { 8566 case log := <-it.logs: 8567 it.Event = new(IERC721MetadataApprovalForAll) 8568 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8569 it.fail = err 8570 return false 8571 } 8572 it.Event.Raw = log 8573 return true 8574 8575 case err := <-it.sub.Err(): 8576 it.done = true 8577 it.fail = err 8578 return it.Next() 8579 } 8580 } 8581 8582 // Error returns any retrieval or parsing error occurred during filtering. 8583 func (it *IERC721MetadataApprovalForAllIterator) Error() error { 8584 return it.fail 8585 } 8586 8587 // Close terminates the iteration process, releasing any pending underlying 8588 // resources. 8589 func (it *IERC721MetadataApprovalForAllIterator) Close() error { 8590 it.sub.Unsubscribe() 8591 return nil 8592 } 8593 8594 // IERC721MetadataApprovalForAll represents a ApprovalForAll event raised by the IERC721Metadata contract. 8595 type IERC721MetadataApprovalForAll struct { 8596 Owner common.Address 8597 Operator common.Address 8598 Approved bool 8599 Raw types.Log // Blockchain specific contextual infos 8600 } 8601 8602 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 8603 // 8604 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 8605 func (_IERC721Metadata *IERC721MetadataFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721MetadataApprovalForAllIterator, error) { 8606 8607 var ownerRule []interface{} 8608 for _, ownerItem := range owner { 8609 ownerRule = append(ownerRule, ownerItem) 8610 } 8611 var operatorRule []interface{} 8612 for _, operatorItem := range operator { 8613 operatorRule = append(operatorRule, operatorItem) 8614 } 8615 8616 logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 8617 if err != nil { 8618 return nil, err 8619 } 8620 return &IERC721MetadataApprovalForAllIterator{contract: _IERC721Metadata.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 8621 } 8622 8623 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 8624 // 8625 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 8626 func (_IERC721Metadata *IERC721MetadataFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 8627 8628 var ownerRule []interface{} 8629 for _, ownerItem := range owner { 8630 ownerRule = append(ownerRule, ownerItem) 8631 } 8632 var operatorRule []interface{} 8633 for _, operatorItem := range operator { 8634 operatorRule = append(operatorRule, operatorItem) 8635 } 8636 8637 logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 8638 if err != nil { 8639 return nil, err 8640 } 8641 return event.NewSubscription(func(quit <-chan struct{}) error { 8642 defer sub.Unsubscribe() 8643 for { 8644 select { 8645 case log := <-logs: 8646 // New log arrived, parse the event and forward to the user 8647 event := new(IERC721MetadataApprovalForAll) 8648 if err := _IERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 8649 return err 8650 } 8651 event.Raw = log 8652 8653 select { 8654 case sink <- event: 8655 case err := <-sub.Err(): 8656 return err 8657 case <-quit: 8658 return nil 8659 } 8660 case err := <-sub.Err(): 8661 return err 8662 case <-quit: 8663 return nil 8664 } 8665 } 8666 }), nil 8667 } 8668 8669 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 8670 // 8671 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 8672 func (_IERC721Metadata *IERC721MetadataFilterer) ParseApprovalForAll(log types.Log) (*IERC721MetadataApprovalForAll, error) { 8673 event := new(IERC721MetadataApprovalForAll) 8674 if err := _IERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 8675 return nil, err 8676 } 8677 event.Raw = log 8678 return event, nil 8679 } 8680 8681 // 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. 8682 type IERC721MetadataTransferIterator struct { 8683 Event *IERC721MetadataTransfer // Event containing the contract specifics and raw log 8684 8685 contract *bind.BoundContract // Generic contract to use for unpacking event data 8686 event string // Event name to use for unpacking event data 8687 8688 logs chan types.Log // Log channel receiving the found contract events 8689 sub ethereum.Subscription // Subscription for errors, completion and termination 8690 done bool // Whether the subscription completed delivering logs 8691 fail error // Occurred error to stop iteration 8692 } 8693 8694 // Next advances the iterator to the subsequent event, returning whether there 8695 // are any more events found. In case of a retrieval or parsing error, false is 8696 // returned and Error() can be queried for the exact failure. 8697 func (it *IERC721MetadataTransferIterator) Next() bool { 8698 // If the iterator failed, stop iterating 8699 if it.fail != nil { 8700 return false 8701 } 8702 // If the iterator completed, deliver directly whatever's available 8703 if it.done { 8704 select { 8705 case log := <-it.logs: 8706 it.Event = new(IERC721MetadataTransfer) 8707 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8708 it.fail = err 8709 return false 8710 } 8711 it.Event.Raw = log 8712 return true 8713 8714 default: 8715 return false 8716 } 8717 } 8718 // Iterator still in progress, wait for either a data or an error event 8719 select { 8720 case log := <-it.logs: 8721 it.Event = new(IERC721MetadataTransfer) 8722 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8723 it.fail = err 8724 return false 8725 } 8726 it.Event.Raw = log 8727 return true 8728 8729 case err := <-it.sub.Err(): 8730 it.done = true 8731 it.fail = err 8732 return it.Next() 8733 } 8734 } 8735 8736 // Error returns any retrieval or parsing error occurred during filtering. 8737 func (it *IERC721MetadataTransferIterator) Error() error { 8738 return it.fail 8739 } 8740 8741 // Close terminates the iteration process, releasing any pending underlying 8742 // resources. 8743 func (it *IERC721MetadataTransferIterator) Close() error { 8744 it.sub.Unsubscribe() 8745 return nil 8746 } 8747 8748 // IERC721MetadataTransfer represents a Transfer event raised by the IERC721Metadata contract. 8749 type IERC721MetadataTransfer struct { 8750 From common.Address 8751 To common.Address 8752 TokenId *big.Int 8753 Raw types.Log // Blockchain specific contextual infos 8754 } 8755 8756 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 8757 // 8758 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 8759 func (_IERC721Metadata *IERC721MetadataFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721MetadataTransferIterator, error) { 8760 8761 var fromRule []interface{} 8762 for _, fromItem := range from { 8763 fromRule = append(fromRule, fromItem) 8764 } 8765 var toRule []interface{} 8766 for _, toItem := range to { 8767 toRule = append(toRule, toItem) 8768 } 8769 var tokenIdRule []interface{} 8770 for _, tokenIdItem := range tokenId { 8771 tokenIdRule = append(tokenIdRule, tokenIdItem) 8772 } 8773 8774 logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 8775 if err != nil { 8776 return nil, err 8777 } 8778 return &IERC721MetadataTransferIterator{contract: _IERC721Metadata.contract, event: "Transfer", logs: logs, sub: sub}, nil 8779 } 8780 8781 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 8782 // 8783 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 8784 func (_IERC721Metadata *IERC721MetadataFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721MetadataTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 8785 8786 var fromRule []interface{} 8787 for _, fromItem := range from { 8788 fromRule = append(fromRule, fromItem) 8789 } 8790 var toRule []interface{} 8791 for _, toItem := range to { 8792 toRule = append(toRule, toItem) 8793 } 8794 var tokenIdRule []interface{} 8795 for _, tokenIdItem := range tokenId { 8796 tokenIdRule = append(tokenIdRule, tokenIdItem) 8797 } 8798 8799 logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 8800 if err != nil { 8801 return nil, err 8802 } 8803 return event.NewSubscription(func(quit <-chan struct{}) error { 8804 defer sub.Unsubscribe() 8805 for { 8806 select { 8807 case log := <-logs: 8808 // New log arrived, parse the event and forward to the user 8809 event := new(IERC721MetadataTransfer) 8810 if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { 8811 return err 8812 } 8813 event.Raw = log 8814 8815 select { 8816 case sink <- event: 8817 case err := <-sub.Err(): 8818 return err 8819 case <-quit: 8820 return nil 8821 } 8822 case err := <-sub.Err(): 8823 return err 8824 case <-quit: 8825 return nil 8826 } 8827 } 8828 }), nil 8829 } 8830 8831 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 8832 // 8833 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 8834 func (_IERC721Metadata *IERC721MetadataFilterer) ParseTransfer(log types.Log) (*IERC721MetadataTransfer, error) { 8835 event := new(IERC721MetadataTransfer) 8836 if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { 8837 return nil, err 8838 } 8839 event.Raw = log 8840 return event, nil 8841 } 8842 8843 // IERC721ReceiverABI is the input ABI used to generate the binding from. 8844 const IERC721ReceiverABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 8845 8846 // IERC721ReceiverFuncSigs maps the 4-byte function signature to its string representation. 8847 var IERC721ReceiverFuncSigs = map[string]string{ 8848 "150b7a02": "onERC721Received(address,address,uint256,bytes)", 8849 } 8850 8851 // IERC721Receiver is an auto generated Go binding around an Ethereum contract. 8852 type IERC721Receiver struct { 8853 IERC721ReceiverCaller // Read-only binding to the contract 8854 IERC721ReceiverTransactor // Write-only binding to the contract 8855 IERC721ReceiverFilterer // Log filterer for contract events 8856 } 8857 8858 // IERC721ReceiverCaller is an auto generated read-only Go binding around an Ethereum contract. 8859 type IERC721ReceiverCaller struct { 8860 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8861 } 8862 8863 // IERC721ReceiverTransactor is an auto generated write-only Go binding around an Ethereum contract. 8864 type IERC721ReceiverTransactor struct { 8865 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8866 } 8867 8868 // IERC721ReceiverFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 8869 type IERC721ReceiverFilterer struct { 8870 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8871 } 8872 8873 // IERC721ReceiverSession is an auto generated Go binding around an Ethereum contract, 8874 // with pre-set call and transact options. 8875 type IERC721ReceiverSession struct { 8876 Contract *IERC721Receiver // Generic contract binding to set the session for 8877 CallOpts bind.CallOpts // Call options to use throughout this session 8878 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8879 } 8880 8881 // IERC721ReceiverCallerSession is an auto generated read-only Go binding around an Ethereum contract, 8882 // with pre-set call options. 8883 type IERC721ReceiverCallerSession struct { 8884 Contract *IERC721ReceiverCaller // Generic contract caller binding to set the session for 8885 CallOpts bind.CallOpts // Call options to use throughout this session 8886 } 8887 8888 // IERC721ReceiverTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 8889 // with pre-set transact options. 8890 type IERC721ReceiverTransactorSession struct { 8891 Contract *IERC721ReceiverTransactor // Generic contract transactor binding to set the session for 8892 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8893 } 8894 8895 // IERC721ReceiverRaw is an auto generated low-level Go binding around an Ethereum contract. 8896 type IERC721ReceiverRaw struct { 8897 Contract *IERC721Receiver // Generic contract binding to access the raw methods on 8898 } 8899 8900 // IERC721ReceiverCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 8901 type IERC721ReceiverCallerRaw struct { 8902 Contract *IERC721ReceiverCaller // Generic read-only contract binding to access the raw methods on 8903 } 8904 8905 // IERC721ReceiverTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 8906 type IERC721ReceiverTransactorRaw struct { 8907 Contract *IERC721ReceiverTransactor // Generic write-only contract binding to access the raw methods on 8908 } 8909 8910 // NewIERC721Receiver creates a new instance of IERC721Receiver, bound to a specific deployed contract. 8911 func NewIERC721Receiver(address common.Address, backend bind.ContractBackend) (*IERC721Receiver, error) { 8912 contract, err := bindIERC721Receiver(address, backend, backend, backend) 8913 if err != nil { 8914 return nil, err 8915 } 8916 return &IERC721Receiver{IERC721ReceiverCaller: IERC721ReceiverCaller{contract: contract}, IERC721ReceiverTransactor: IERC721ReceiverTransactor{contract: contract}, IERC721ReceiverFilterer: IERC721ReceiverFilterer{contract: contract}}, nil 8917 } 8918 8919 // NewIERC721ReceiverCaller creates a new read-only instance of IERC721Receiver, bound to a specific deployed contract. 8920 func NewIERC721ReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC721ReceiverCaller, error) { 8921 contract, err := bindIERC721Receiver(address, caller, nil, nil) 8922 if err != nil { 8923 return nil, err 8924 } 8925 return &IERC721ReceiverCaller{contract: contract}, nil 8926 } 8927 8928 // NewIERC721ReceiverTransactor creates a new write-only instance of IERC721Receiver, bound to a specific deployed contract. 8929 func NewIERC721ReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721ReceiverTransactor, error) { 8930 contract, err := bindIERC721Receiver(address, nil, transactor, nil) 8931 if err != nil { 8932 return nil, err 8933 } 8934 return &IERC721ReceiverTransactor{contract: contract}, nil 8935 } 8936 8937 // NewIERC721ReceiverFilterer creates a new log filterer instance of IERC721Receiver, bound to a specific deployed contract. 8938 func NewIERC721ReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721ReceiverFilterer, error) { 8939 contract, err := bindIERC721Receiver(address, nil, nil, filterer) 8940 if err != nil { 8941 return nil, err 8942 } 8943 return &IERC721ReceiverFilterer{contract: contract}, nil 8944 } 8945 8946 // bindIERC721Receiver binds a generic wrapper to an already deployed contract. 8947 func bindIERC721Receiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 8948 parsed, err := abi.JSON(strings.NewReader(IERC721ReceiverABI)) 8949 if err != nil { 8950 return nil, err 8951 } 8952 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 8953 } 8954 8955 // Call invokes the (constant) contract method with params as input values and 8956 // sets the output to result. The result type might be a single field for simple 8957 // returns, a slice of interfaces for anonymous returns and a struct for named 8958 // returns. 8959 func (_IERC721Receiver *IERC721ReceiverRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 8960 return _IERC721Receiver.Contract.IERC721ReceiverCaller.contract.Call(opts, result, method, params...) 8961 } 8962 8963 // Transfer initiates a plain transaction to move funds to the contract, calling 8964 // its default method if one is available. 8965 func (_IERC721Receiver *IERC721ReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8966 return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transfer(opts) 8967 } 8968 8969 // Transact invokes the (paid) contract method with params as input values. 8970 func (_IERC721Receiver *IERC721ReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8971 return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transact(opts, method, params...) 8972 } 8973 8974 // Call invokes the (constant) contract method with params as input values and 8975 // sets the output to result. The result type might be a single field for simple 8976 // returns, a slice of interfaces for anonymous returns and a struct for named 8977 // returns. 8978 func (_IERC721Receiver *IERC721ReceiverCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 8979 return _IERC721Receiver.Contract.contract.Call(opts, result, method, params...) 8980 } 8981 8982 // Transfer initiates a plain transaction to move funds to the contract, calling 8983 // its default method if one is available. 8984 func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8985 return _IERC721Receiver.Contract.contract.Transfer(opts) 8986 } 8987 8988 // Transact invokes the (paid) contract method with params as input values. 8989 func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8990 return _IERC721Receiver.Contract.contract.Transact(opts, method, params...) 8991 } 8992 8993 // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. 8994 // 8995 // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) 8996 func (_IERC721Receiver *IERC721ReceiverTransactor) OnERC721Received(opts *bind.TransactOpts, operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 8997 return _IERC721Receiver.contract.Transact(opts, "onERC721Received", operator, from, tokenId, data) 8998 } 8999 9000 // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. 9001 // 9002 // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) 9003 func (_IERC721Receiver *IERC721ReceiverSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 9004 return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data) 9005 } 9006 9007 // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. 9008 // 9009 // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) 9010 func (_IERC721Receiver *IERC721ReceiverTransactorSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 9011 return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data) 9012 } 9013 9014 // StickerMarketABI is the input ABI used to generate the binding from. 9015 const StickerMarketABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_packId\",\"type\":\"uint256\"},{\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"purgePack\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"snt\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"stickerType\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_packId\",\"type\":\"uint256\"}],\"name\":\"generateToken\",\"outputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"setBurnRate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_price\",\"type\":\"uint256\"},{\"name\":\"_donate\",\"type\":\"uint256\"},{\"name\":\"_category\",\"type\":\"bytes4[]\"},{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_contenthash\",\"type\":\"bytes\"},{\"name\":\"_fee\",\"type\":\"uint256\"}],\"name\":\"registerPack\",\"outputs\":[{\"name\":\"packId\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newController\",\"type\":\"address\"}],\"name\":\"changeController\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"stickerPack\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_price\",\"type\":\"uint256\"},{\"name\":\"_donate\",\"type\":\"uint256\"},{\"name\":\"_category\",\"type\":\"bytes4[]\"},{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_contenthash\",\"type\":\"bytes\"}],\"name\":\"generatePack\",\"outputs\":[{\"name\":\"packId\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_state\",\"type\":\"uint8\"}],\"name\":\"setMarketState\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"receiveApproval\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"setRegisterFee\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenData\",\"outputs\":[{\"name\":\"category\",\"type\":\"bytes4[]\"},{\"name\":\"timestamp\",\"type\":\"uint256\"},{\"name\":\"contenthash\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"state\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newController\",\"type\":\"address\"}],\"name\":\"migrate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"claimTokens\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_packId\",\"type\":\"uint256\"},{\"name\":\"_destination\",\"type\":\"address\"},{\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"buyToken\",\"outputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"controller\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_controller\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"ClaimedTokens\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"state\",\"type\":\"uint8\"}],\"name\":\"MarketState\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"RegisterFee\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"BurnRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"packId\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"dataPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"contenthash\",\"type\":\"bytes\"}],\"name\":\"Register\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"NewController\",\"type\":\"event\"}]" 9016 9017 // StickerMarketFuncSigs maps the 4-byte function signature to its string representation. 9018 var StickerMarketFuncSigs = map[string]string{ 9019 "f3e62640": "buyToken(uint256,address,uint256)", 9020 "3cebb823": "changeController(address)", 9021 "df8de3e7": "claimTokens(address)", 9022 "f77c4791": "controller()", 9023 "4c06dc17": "generatePack(uint256,uint256,bytes4[],address,bytes)", 9024 "188b5372": "generateToken(address,uint256)", 9025 "b09afec1": "getTokenData(uint256)", 9026 "ce5494bb": "migrate(address)", 9027 "00b3c91b": "purgePack(uint256,uint256)", 9028 "8f4ffcb1": "receiveApproval(address,uint256,address,bytes)", 9029 "1cf75710": "registerPack(uint256,uint256,bytes4[],address,bytes,uint256)", 9030 "189d165e": "setBurnRate(uint256)", 9031 "536b0445": "setMarketState(uint8)", 9032 "92be2ab8": "setRegisterFee(uint256)", 9033 "060eb520": "snt()", 9034 "c19d93fb": "state()", 9035 "4858b015": "stickerPack()", 9036 "0ddd4c87": "stickerType()", 9037 } 9038 9039 // StickerMarket is an auto generated Go binding around an Ethereum contract. 9040 type StickerMarket struct { 9041 StickerMarketCaller // Read-only binding to the contract 9042 StickerMarketTransactor // Write-only binding to the contract 9043 StickerMarketFilterer // Log filterer for contract events 9044 } 9045 9046 // StickerMarketCaller is an auto generated read-only Go binding around an Ethereum contract. 9047 type StickerMarketCaller struct { 9048 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9049 } 9050 9051 // StickerMarketTransactor is an auto generated write-only Go binding around an Ethereum contract. 9052 type StickerMarketTransactor struct { 9053 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9054 } 9055 9056 // StickerMarketFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 9057 type StickerMarketFilterer struct { 9058 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9059 } 9060 9061 // StickerMarketSession is an auto generated Go binding around an Ethereum contract, 9062 // with pre-set call and transact options. 9063 type StickerMarketSession struct { 9064 Contract *StickerMarket // Generic contract binding to set the session for 9065 CallOpts bind.CallOpts // Call options to use throughout this session 9066 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 9067 } 9068 9069 // StickerMarketCallerSession is an auto generated read-only Go binding around an Ethereum contract, 9070 // with pre-set call options. 9071 type StickerMarketCallerSession struct { 9072 Contract *StickerMarketCaller // Generic contract caller binding to set the session for 9073 CallOpts bind.CallOpts // Call options to use throughout this session 9074 } 9075 9076 // StickerMarketTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 9077 // with pre-set transact options. 9078 type StickerMarketTransactorSession struct { 9079 Contract *StickerMarketTransactor // Generic contract transactor binding to set the session for 9080 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 9081 } 9082 9083 // StickerMarketRaw is an auto generated low-level Go binding around an Ethereum contract. 9084 type StickerMarketRaw struct { 9085 Contract *StickerMarket // Generic contract binding to access the raw methods on 9086 } 9087 9088 // StickerMarketCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 9089 type StickerMarketCallerRaw struct { 9090 Contract *StickerMarketCaller // Generic read-only contract binding to access the raw methods on 9091 } 9092 9093 // StickerMarketTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 9094 type StickerMarketTransactorRaw struct { 9095 Contract *StickerMarketTransactor // Generic write-only contract binding to access the raw methods on 9096 } 9097 9098 // NewStickerMarket creates a new instance of StickerMarket, bound to a specific deployed contract. 9099 func NewStickerMarket(address common.Address, backend bind.ContractBackend) (*StickerMarket, error) { 9100 contract, err := bindStickerMarket(address, backend, backend, backend) 9101 if err != nil { 9102 return nil, err 9103 } 9104 return &StickerMarket{StickerMarketCaller: StickerMarketCaller{contract: contract}, StickerMarketTransactor: StickerMarketTransactor{contract: contract}, StickerMarketFilterer: StickerMarketFilterer{contract: contract}}, nil 9105 } 9106 9107 // NewStickerMarketCaller creates a new read-only instance of StickerMarket, bound to a specific deployed contract. 9108 func NewStickerMarketCaller(address common.Address, caller bind.ContractCaller) (*StickerMarketCaller, error) { 9109 contract, err := bindStickerMarket(address, caller, nil, nil) 9110 if err != nil { 9111 return nil, err 9112 } 9113 return &StickerMarketCaller{contract: contract}, nil 9114 } 9115 9116 // NewStickerMarketTransactor creates a new write-only instance of StickerMarket, bound to a specific deployed contract. 9117 func NewStickerMarketTransactor(address common.Address, transactor bind.ContractTransactor) (*StickerMarketTransactor, error) { 9118 contract, err := bindStickerMarket(address, nil, transactor, nil) 9119 if err != nil { 9120 return nil, err 9121 } 9122 return &StickerMarketTransactor{contract: contract}, nil 9123 } 9124 9125 // NewStickerMarketFilterer creates a new log filterer instance of StickerMarket, bound to a specific deployed contract. 9126 func NewStickerMarketFilterer(address common.Address, filterer bind.ContractFilterer) (*StickerMarketFilterer, error) { 9127 contract, err := bindStickerMarket(address, nil, nil, filterer) 9128 if err != nil { 9129 return nil, err 9130 } 9131 return &StickerMarketFilterer{contract: contract}, nil 9132 } 9133 9134 // bindStickerMarket binds a generic wrapper to an already deployed contract. 9135 func bindStickerMarket(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 9136 parsed, err := abi.JSON(strings.NewReader(StickerMarketABI)) 9137 if err != nil { 9138 return nil, err 9139 } 9140 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 9141 } 9142 9143 // Call invokes the (constant) contract method with params as input values and 9144 // sets the output to result. The result type might be a single field for simple 9145 // returns, a slice of interfaces for anonymous returns and a struct for named 9146 // returns. 9147 func (_StickerMarket *StickerMarketRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 9148 return _StickerMarket.Contract.StickerMarketCaller.contract.Call(opts, result, method, params...) 9149 } 9150 9151 // Transfer initiates a plain transaction to move funds to the contract, calling 9152 // its default method if one is available. 9153 func (_StickerMarket *StickerMarketRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 9154 return _StickerMarket.Contract.StickerMarketTransactor.contract.Transfer(opts) 9155 } 9156 9157 // Transact invokes the (paid) contract method with params as input values. 9158 func (_StickerMarket *StickerMarketRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 9159 return _StickerMarket.Contract.StickerMarketTransactor.contract.Transact(opts, method, params...) 9160 } 9161 9162 // Call invokes the (constant) contract method with params as input values and 9163 // sets the output to result. The result type might be a single field for simple 9164 // returns, a slice of interfaces for anonymous returns and a struct for named 9165 // returns. 9166 func (_StickerMarket *StickerMarketCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 9167 return _StickerMarket.Contract.contract.Call(opts, result, method, params...) 9168 } 9169 9170 // Transfer initiates a plain transaction to move funds to the contract, calling 9171 // its default method if one is available. 9172 func (_StickerMarket *StickerMarketTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 9173 return _StickerMarket.Contract.contract.Transfer(opts) 9174 } 9175 9176 // Transact invokes the (paid) contract method with params as input values. 9177 func (_StickerMarket *StickerMarketTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 9178 return _StickerMarket.Contract.contract.Transact(opts, method, params...) 9179 } 9180 9181 // Controller is a free data retrieval call binding the contract method 0xf77c4791. 9182 // 9183 // Solidity: function controller() view returns(address) 9184 func (_StickerMarket *StickerMarketCaller) Controller(opts *bind.CallOpts) (common.Address, error) { 9185 var out []interface{} 9186 err := _StickerMarket.contract.Call(opts, &out, "controller") 9187 9188 if err != nil { 9189 return *new(common.Address), err 9190 } 9191 9192 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 9193 9194 return out0, err 9195 9196 } 9197 9198 // Controller is a free data retrieval call binding the contract method 0xf77c4791. 9199 // 9200 // Solidity: function controller() view returns(address) 9201 func (_StickerMarket *StickerMarketSession) Controller() (common.Address, error) { 9202 return _StickerMarket.Contract.Controller(&_StickerMarket.CallOpts) 9203 } 9204 9205 // Controller is a free data retrieval call binding the contract method 0xf77c4791. 9206 // 9207 // Solidity: function controller() view returns(address) 9208 func (_StickerMarket *StickerMarketCallerSession) Controller() (common.Address, error) { 9209 return _StickerMarket.Contract.Controller(&_StickerMarket.CallOpts) 9210 } 9211 9212 // GetTokenData is a free data retrieval call binding the contract method 0xb09afec1. 9213 // 9214 // Solidity: function getTokenData(uint256 _tokenId) view returns(bytes4[] category, uint256 timestamp, bytes contenthash) 9215 func (_StickerMarket *StickerMarketCaller) GetTokenData(opts *bind.CallOpts, _tokenId *big.Int) (struct { 9216 Category [][4]byte 9217 Timestamp *big.Int 9218 Contenthash []byte 9219 }, error) { 9220 var out []interface{} 9221 err := _StickerMarket.contract.Call(opts, &out, "getTokenData", _tokenId) 9222 9223 outstruct := new(struct { 9224 Category [][4]byte 9225 Timestamp *big.Int 9226 Contenthash []byte 9227 }) 9228 if err != nil { 9229 return *outstruct, err 9230 } 9231 9232 outstruct.Category = *abi.ConvertType(out[0], new([][4]byte)).(*[][4]byte) 9233 outstruct.Timestamp = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) 9234 outstruct.Contenthash = *abi.ConvertType(out[2], new([]byte)).(*[]byte) 9235 9236 return *outstruct, err 9237 9238 } 9239 9240 // GetTokenData is a free data retrieval call binding the contract method 0xb09afec1. 9241 // 9242 // Solidity: function getTokenData(uint256 _tokenId) view returns(bytes4[] category, uint256 timestamp, bytes contenthash) 9243 func (_StickerMarket *StickerMarketSession) GetTokenData(_tokenId *big.Int) (struct { 9244 Category [][4]byte 9245 Timestamp *big.Int 9246 Contenthash []byte 9247 }, error) { 9248 return _StickerMarket.Contract.GetTokenData(&_StickerMarket.CallOpts, _tokenId) 9249 } 9250 9251 // GetTokenData is a free data retrieval call binding the contract method 0xb09afec1. 9252 // 9253 // Solidity: function getTokenData(uint256 _tokenId) view returns(bytes4[] category, uint256 timestamp, bytes contenthash) 9254 func (_StickerMarket *StickerMarketCallerSession) GetTokenData(_tokenId *big.Int) (struct { 9255 Category [][4]byte 9256 Timestamp *big.Int 9257 Contenthash []byte 9258 }, error) { 9259 return _StickerMarket.Contract.GetTokenData(&_StickerMarket.CallOpts, _tokenId) 9260 } 9261 9262 // Snt is a free data retrieval call binding the contract method 0x060eb520. 9263 // 9264 // Solidity: function snt() view returns(address) 9265 func (_StickerMarket *StickerMarketCaller) Snt(opts *bind.CallOpts) (common.Address, error) { 9266 var out []interface{} 9267 err := _StickerMarket.contract.Call(opts, &out, "snt") 9268 9269 if err != nil { 9270 return *new(common.Address), err 9271 } 9272 9273 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 9274 9275 return out0, err 9276 9277 } 9278 9279 // Snt is a free data retrieval call binding the contract method 0x060eb520. 9280 // 9281 // Solidity: function snt() view returns(address) 9282 func (_StickerMarket *StickerMarketSession) Snt() (common.Address, error) { 9283 return _StickerMarket.Contract.Snt(&_StickerMarket.CallOpts) 9284 } 9285 9286 // Snt is a free data retrieval call binding the contract method 0x060eb520. 9287 // 9288 // Solidity: function snt() view returns(address) 9289 func (_StickerMarket *StickerMarketCallerSession) Snt() (common.Address, error) { 9290 return _StickerMarket.Contract.Snt(&_StickerMarket.CallOpts) 9291 } 9292 9293 // State is a free data retrieval call binding the contract method 0xc19d93fb. 9294 // 9295 // Solidity: function state() view returns(uint8) 9296 func (_StickerMarket *StickerMarketCaller) State(opts *bind.CallOpts) (uint8, error) { 9297 var out []interface{} 9298 err := _StickerMarket.contract.Call(opts, &out, "state") 9299 9300 if err != nil { 9301 return *new(uint8), err 9302 } 9303 9304 out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) 9305 9306 return out0, err 9307 9308 } 9309 9310 // State is a free data retrieval call binding the contract method 0xc19d93fb. 9311 // 9312 // Solidity: function state() view returns(uint8) 9313 func (_StickerMarket *StickerMarketSession) State() (uint8, error) { 9314 return _StickerMarket.Contract.State(&_StickerMarket.CallOpts) 9315 } 9316 9317 // State is a free data retrieval call binding the contract method 0xc19d93fb. 9318 // 9319 // Solidity: function state() view returns(uint8) 9320 func (_StickerMarket *StickerMarketCallerSession) State() (uint8, error) { 9321 return _StickerMarket.Contract.State(&_StickerMarket.CallOpts) 9322 } 9323 9324 // StickerPack is a free data retrieval call binding the contract method 0x4858b015. 9325 // 9326 // Solidity: function stickerPack() view returns(address) 9327 func (_StickerMarket *StickerMarketCaller) StickerPack(opts *bind.CallOpts) (common.Address, error) { 9328 var out []interface{} 9329 err := _StickerMarket.contract.Call(opts, &out, "stickerPack") 9330 9331 if err != nil { 9332 return *new(common.Address), err 9333 } 9334 9335 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 9336 9337 return out0, err 9338 9339 } 9340 9341 // StickerPack is a free data retrieval call binding the contract method 0x4858b015. 9342 // 9343 // Solidity: function stickerPack() view returns(address) 9344 func (_StickerMarket *StickerMarketSession) StickerPack() (common.Address, error) { 9345 return _StickerMarket.Contract.StickerPack(&_StickerMarket.CallOpts) 9346 } 9347 9348 // StickerPack is a free data retrieval call binding the contract method 0x4858b015. 9349 // 9350 // Solidity: function stickerPack() view returns(address) 9351 func (_StickerMarket *StickerMarketCallerSession) StickerPack() (common.Address, error) { 9352 return _StickerMarket.Contract.StickerPack(&_StickerMarket.CallOpts) 9353 } 9354 9355 // StickerType is a free data retrieval call binding the contract method 0x0ddd4c87. 9356 // 9357 // Solidity: function stickerType() view returns(address) 9358 func (_StickerMarket *StickerMarketCaller) StickerType(opts *bind.CallOpts) (common.Address, error) { 9359 var out []interface{} 9360 err := _StickerMarket.contract.Call(opts, &out, "stickerType") 9361 9362 if err != nil { 9363 return *new(common.Address), err 9364 } 9365 9366 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 9367 9368 return out0, err 9369 9370 } 9371 9372 // StickerType is a free data retrieval call binding the contract method 0x0ddd4c87. 9373 // 9374 // Solidity: function stickerType() view returns(address) 9375 func (_StickerMarket *StickerMarketSession) StickerType() (common.Address, error) { 9376 return _StickerMarket.Contract.StickerType(&_StickerMarket.CallOpts) 9377 } 9378 9379 // StickerType is a free data retrieval call binding the contract method 0x0ddd4c87. 9380 // 9381 // Solidity: function stickerType() view returns(address) 9382 func (_StickerMarket *StickerMarketCallerSession) StickerType() (common.Address, error) { 9383 return _StickerMarket.Contract.StickerType(&_StickerMarket.CallOpts) 9384 } 9385 9386 // BuyToken is a paid mutator transaction binding the contract method 0xf3e62640. 9387 // 9388 // Solidity: function buyToken(uint256 _packId, address _destination, uint256 _price) returns(uint256 tokenId) 9389 func (_StickerMarket *StickerMarketTransactor) BuyToken(opts *bind.TransactOpts, _packId *big.Int, _destination common.Address, _price *big.Int) (*types.Transaction, error) { 9390 return _StickerMarket.contract.Transact(opts, "buyToken", _packId, _destination, _price) 9391 } 9392 9393 // BuyToken is a paid mutator transaction binding the contract method 0xf3e62640. 9394 // 9395 // Solidity: function buyToken(uint256 _packId, address _destination, uint256 _price) returns(uint256 tokenId) 9396 func (_StickerMarket *StickerMarketSession) BuyToken(_packId *big.Int, _destination common.Address, _price *big.Int) (*types.Transaction, error) { 9397 return _StickerMarket.Contract.BuyToken(&_StickerMarket.TransactOpts, _packId, _destination, _price) 9398 } 9399 9400 // BuyToken is a paid mutator transaction binding the contract method 0xf3e62640. 9401 // 9402 // Solidity: function buyToken(uint256 _packId, address _destination, uint256 _price) returns(uint256 tokenId) 9403 func (_StickerMarket *StickerMarketTransactorSession) BuyToken(_packId *big.Int, _destination common.Address, _price *big.Int) (*types.Transaction, error) { 9404 return _StickerMarket.Contract.BuyToken(&_StickerMarket.TransactOpts, _packId, _destination, _price) 9405 } 9406 9407 // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823. 9408 // 9409 // Solidity: function changeController(address _newController) returns() 9410 func (_StickerMarket *StickerMarketTransactor) ChangeController(opts *bind.TransactOpts, _newController common.Address) (*types.Transaction, error) { 9411 return _StickerMarket.contract.Transact(opts, "changeController", _newController) 9412 } 9413 9414 // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823. 9415 // 9416 // Solidity: function changeController(address _newController) returns() 9417 func (_StickerMarket *StickerMarketSession) ChangeController(_newController common.Address) (*types.Transaction, error) { 9418 return _StickerMarket.Contract.ChangeController(&_StickerMarket.TransactOpts, _newController) 9419 } 9420 9421 // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823. 9422 // 9423 // Solidity: function changeController(address _newController) returns() 9424 func (_StickerMarket *StickerMarketTransactorSession) ChangeController(_newController common.Address) (*types.Transaction, error) { 9425 return _StickerMarket.Contract.ChangeController(&_StickerMarket.TransactOpts, _newController) 9426 } 9427 9428 // ClaimTokens is a paid mutator transaction binding the contract method 0xdf8de3e7. 9429 // 9430 // Solidity: function claimTokens(address _token) returns() 9431 func (_StickerMarket *StickerMarketTransactor) ClaimTokens(opts *bind.TransactOpts, _token common.Address) (*types.Transaction, error) { 9432 return _StickerMarket.contract.Transact(opts, "claimTokens", _token) 9433 } 9434 9435 // ClaimTokens is a paid mutator transaction binding the contract method 0xdf8de3e7. 9436 // 9437 // Solidity: function claimTokens(address _token) returns() 9438 func (_StickerMarket *StickerMarketSession) ClaimTokens(_token common.Address) (*types.Transaction, error) { 9439 return _StickerMarket.Contract.ClaimTokens(&_StickerMarket.TransactOpts, _token) 9440 } 9441 9442 // ClaimTokens is a paid mutator transaction binding the contract method 0xdf8de3e7. 9443 // 9444 // Solidity: function claimTokens(address _token) returns() 9445 func (_StickerMarket *StickerMarketTransactorSession) ClaimTokens(_token common.Address) (*types.Transaction, error) { 9446 return _StickerMarket.Contract.ClaimTokens(&_StickerMarket.TransactOpts, _token) 9447 } 9448 9449 // GeneratePack is a paid mutator transaction binding the contract method 0x4c06dc17. 9450 // 9451 // Solidity: function generatePack(uint256 _price, uint256 _donate, bytes4[] _category, address _owner, bytes _contenthash) returns(uint256 packId) 9452 func (_StickerMarket *StickerMarketTransactor) GeneratePack(opts *bind.TransactOpts, _price *big.Int, _donate *big.Int, _category [][4]byte, _owner common.Address, _contenthash []byte) (*types.Transaction, error) { 9453 return _StickerMarket.contract.Transact(opts, "generatePack", _price, _donate, _category, _owner, _contenthash) 9454 } 9455 9456 // GeneratePack is a paid mutator transaction binding the contract method 0x4c06dc17. 9457 // 9458 // Solidity: function generatePack(uint256 _price, uint256 _donate, bytes4[] _category, address _owner, bytes _contenthash) returns(uint256 packId) 9459 func (_StickerMarket *StickerMarketSession) GeneratePack(_price *big.Int, _donate *big.Int, _category [][4]byte, _owner common.Address, _contenthash []byte) (*types.Transaction, error) { 9460 return _StickerMarket.Contract.GeneratePack(&_StickerMarket.TransactOpts, _price, _donate, _category, _owner, _contenthash) 9461 } 9462 9463 // GeneratePack is a paid mutator transaction binding the contract method 0x4c06dc17. 9464 // 9465 // Solidity: function generatePack(uint256 _price, uint256 _donate, bytes4[] _category, address _owner, bytes _contenthash) returns(uint256 packId) 9466 func (_StickerMarket *StickerMarketTransactorSession) GeneratePack(_price *big.Int, _donate *big.Int, _category [][4]byte, _owner common.Address, _contenthash []byte) (*types.Transaction, error) { 9467 return _StickerMarket.Contract.GeneratePack(&_StickerMarket.TransactOpts, _price, _donate, _category, _owner, _contenthash) 9468 } 9469 9470 // GenerateToken is a paid mutator transaction binding the contract method 0x188b5372. 9471 // 9472 // Solidity: function generateToken(address _owner, uint256 _packId) returns(uint256 tokenId) 9473 func (_StickerMarket *StickerMarketTransactor) GenerateToken(opts *bind.TransactOpts, _owner common.Address, _packId *big.Int) (*types.Transaction, error) { 9474 return _StickerMarket.contract.Transact(opts, "generateToken", _owner, _packId) 9475 } 9476 9477 // GenerateToken is a paid mutator transaction binding the contract method 0x188b5372. 9478 // 9479 // Solidity: function generateToken(address _owner, uint256 _packId) returns(uint256 tokenId) 9480 func (_StickerMarket *StickerMarketSession) GenerateToken(_owner common.Address, _packId *big.Int) (*types.Transaction, error) { 9481 return _StickerMarket.Contract.GenerateToken(&_StickerMarket.TransactOpts, _owner, _packId) 9482 } 9483 9484 // GenerateToken is a paid mutator transaction binding the contract method 0x188b5372. 9485 // 9486 // Solidity: function generateToken(address _owner, uint256 _packId) returns(uint256 tokenId) 9487 func (_StickerMarket *StickerMarketTransactorSession) GenerateToken(_owner common.Address, _packId *big.Int) (*types.Transaction, error) { 9488 return _StickerMarket.Contract.GenerateToken(&_StickerMarket.TransactOpts, _owner, _packId) 9489 } 9490 9491 // Migrate is a paid mutator transaction binding the contract method 0xce5494bb. 9492 // 9493 // Solidity: function migrate(address _newController) returns() 9494 func (_StickerMarket *StickerMarketTransactor) Migrate(opts *bind.TransactOpts, _newController common.Address) (*types.Transaction, error) { 9495 return _StickerMarket.contract.Transact(opts, "migrate", _newController) 9496 } 9497 9498 // Migrate is a paid mutator transaction binding the contract method 0xce5494bb. 9499 // 9500 // Solidity: function migrate(address _newController) returns() 9501 func (_StickerMarket *StickerMarketSession) Migrate(_newController common.Address) (*types.Transaction, error) { 9502 return _StickerMarket.Contract.Migrate(&_StickerMarket.TransactOpts, _newController) 9503 } 9504 9505 // Migrate is a paid mutator transaction binding the contract method 0xce5494bb. 9506 // 9507 // Solidity: function migrate(address _newController) returns() 9508 func (_StickerMarket *StickerMarketTransactorSession) Migrate(_newController common.Address) (*types.Transaction, error) { 9509 return _StickerMarket.Contract.Migrate(&_StickerMarket.TransactOpts, _newController) 9510 } 9511 9512 // PurgePack is a paid mutator transaction binding the contract method 0x00b3c91b. 9513 // 9514 // Solidity: function purgePack(uint256 _packId, uint256 _limit) returns() 9515 func (_StickerMarket *StickerMarketTransactor) PurgePack(opts *bind.TransactOpts, _packId *big.Int, _limit *big.Int) (*types.Transaction, error) { 9516 return _StickerMarket.contract.Transact(opts, "purgePack", _packId, _limit) 9517 } 9518 9519 // PurgePack is a paid mutator transaction binding the contract method 0x00b3c91b. 9520 // 9521 // Solidity: function purgePack(uint256 _packId, uint256 _limit) returns() 9522 func (_StickerMarket *StickerMarketSession) PurgePack(_packId *big.Int, _limit *big.Int) (*types.Transaction, error) { 9523 return _StickerMarket.Contract.PurgePack(&_StickerMarket.TransactOpts, _packId, _limit) 9524 } 9525 9526 // PurgePack is a paid mutator transaction binding the contract method 0x00b3c91b. 9527 // 9528 // Solidity: function purgePack(uint256 _packId, uint256 _limit) returns() 9529 func (_StickerMarket *StickerMarketTransactorSession) PurgePack(_packId *big.Int, _limit *big.Int) (*types.Transaction, error) { 9530 return _StickerMarket.Contract.PurgePack(&_StickerMarket.TransactOpts, _packId, _limit) 9531 } 9532 9533 // ReceiveApproval is a paid mutator transaction binding the contract method 0x8f4ffcb1. 9534 // 9535 // Solidity: function receiveApproval(address _from, uint256 _value, address _token, bytes _data) returns() 9536 func (_StickerMarket *StickerMarketTransactor) ReceiveApproval(opts *bind.TransactOpts, _from common.Address, _value *big.Int, _token common.Address, _data []byte) (*types.Transaction, error) { 9537 return _StickerMarket.contract.Transact(opts, "receiveApproval", _from, _value, _token, _data) 9538 } 9539 9540 // ReceiveApproval is a paid mutator transaction binding the contract method 0x8f4ffcb1. 9541 // 9542 // Solidity: function receiveApproval(address _from, uint256 _value, address _token, bytes _data) returns() 9543 func (_StickerMarket *StickerMarketSession) ReceiveApproval(_from common.Address, _value *big.Int, _token common.Address, _data []byte) (*types.Transaction, error) { 9544 return _StickerMarket.Contract.ReceiveApproval(&_StickerMarket.TransactOpts, _from, _value, _token, _data) 9545 } 9546 9547 // ReceiveApproval is a paid mutator transaction binding the contract method 0x8f4ffcb1. 9548 // 9549 // Solidity: function receiveApproval(address _from, uint256 _value, address _token, bytes _data) returns() 9550 func (_StickerMarket *StickerMarketTransactorSession) ReceiveApproval(_from common.Address, _value *big.Int, _token common.Address, _data []byte) (*types.Transaction, error) { 9551 return _StickerMarket.Contract.ReceiveApproval(&_StickerMarket.TransactOpts, _from, _value, _token, _data) 9552 } 9553 9554 // RegisterPack is a paid mutator transaction binding the contract method 0x1cf75710. 9555 // 9556 // Solidity: function registerPack(uint256 _price, uint256 _donate, bytes4[] _category, address _owner, bytes _contenthash, uint256 _fee) returns(uint256 packId) 9557 func (_StickerMarket *StickerMarketTransactor) RegisterPack(opts *bind.TransactOpts, _price *big.Int, _donate *big.Int, _category [][4]byte, _owner common.Address, _contenthash []byte, _fee *big.Int) (*types.Transaction, error) { 9558 return _StickerMarket.contract.Transact(opts, "registerPack", _price, _donate, _category, _owner, _contenthash, _fee) 9559 } 9560 9561 // RegisterPack is a paid mutator transaction binding the contract method 0x1cf75710. 9562 // 9563 // Solidity: function registerPack(uint256 _price, uint256 _donate, bytes4[] _category, address _owner, bytes _contenthash, uint256 _fee) returns(uint256 packId) 9564 func (_StickerMarket *StickerMarketSession) RegisterPack(_price *big.Int, _donate *big.Int, _category [][4]byte, _owner common.Address, _contenthash []byte, _fee *big.Int) (*types.Transaction, error) { 9565 return _StickerMarket.Contract.RegisterPack(&_StickerMarket.TransactOpts, _price, _donate, _category, _owner, _contenthash, _fee) 9566 } 9567 9568 // RegisterPack is a paid mutator transaction binding the contract method 0x1cf75710. 9569 // 9570 // Solidity: function registerPack(uint256 _price, uint256 _donate, bytes4[] _category, address _owner, bytes _contenthash, uint256 _fee) returns(uint256 packId) 9571 func (_StickerMarket *StickerMarketTransactorSession) RegisterPack(_price *big.Int, _donate *big.Int, _category [][4]byte, _owner common.Address, _contenthash []byte, _fee *big.Int) (*types.Transaction, error) { 9572 return _StickerMarket.Contract.RegisterPack(&_StickerMarket.TransactOpts, _price, _donate, _category, _owner, _contenthash, _fee) 9573 } 9574 9575 // SetBurnRate is a paid mutator transaction binding the contract method 0x189d165e. 9576 // 9577 // Solidity: function setBurnRate(uint256 _value) returns() 9578 func (_StickerMarket *StickerMarketTransactor) SetBurnRate(opts *bind.TransactOpts, _value *big.Int) (*types.Transaction, error) { 9579 return _StickerMarket.contract.Transact(opts, "setBurnRate", _value) 9580 } 9581 9582 // SetBurnRate is a paid mutator transaction binding the contract method 0x189d165e. 9583 // 9584 // Solidity: function setBurnRate(uint256 _value) returns() 9585 func (_StickerMarket *StickerMarketSession) SetBurnRate(_value *big.Int) (*types.Transaction, error) { 9586 return _StickerMarket.Contract.SetBurnRate(&_StickerMarket.TransactOpts, _value) 9587 } 9588 9589 // SetBurnRate is a paid mutator transaction binding the contract method 0x189d165e. 9590 // 9591 // Solidity: function setBurnRate(uint256 _value) returns() 9592 func (_StickerMarket *StickerMarketTransactorSession) SetBurnRate(_value *big.Int) (*types.Transaction, error) { 9593 return _StickerMarket.Contract.SetBurnRate(&_StickerMarket.TransactOpts, _value) 9594 } 9595 9596 // SetMarketState is a paid mutator transaction binding the contract method 0x536b0445. 9597 // 9598 // Solidity: function setMarketState(uint8 _state) returns() 9599 func (_StickerMarket *StickerMarketTransactor) SetMarketState(opts *bind.TransactOpts, _state uint8) (*types.Transaction, error) { 9600 return _StickerMarket.contract.Transact(opts, "setMarketState", _state) 9601 } 9602 9603 // SetMarketState is a paid mutator transaction binding the contract method 0x536b0445. 9604 // 9605 // Solidity: function setMarketState(uint8 _state) returns() 9606 func (_StickerMarket *StickerMarketSession) SetMarketState(_state uint8) (*types.Transaction, error) { 9607 return _StickerMarket.Contract.SetMarketState(&_StickerMarket.TransactOpts, _state) 9608 } 9609 9610 // SetMarketState is a paid mutator transaction binding the contract method 0x536b0445. 9611 // 9612 // Solidity: function setMarketState(uint8 _state) returns() 9613 func (_StickerMarket *StickerMarketTransactorSession) SetMarketState(_state uint8) (*types.Transaction, error) { 9614 return _StickerMarket.Contract.SetMarketState(&_StickerMarket.TransactOpts, _state) 9615 } 9616 9617 // SetRegisterFee is a paid mutator transaction binding the contract method 0x92be2ab8. 9618 // 9619 // Solidity: function setRegisterFee(uint256 _value) returns() 9620 func (_StickerMarket *StickerMarketTransactor) SetRegisterFee(opts *bind.TransactOpts, _value *big.Int) (*types.Transaction, error) { 9621 return _StickerMarket.contract.Transact(opts, "setRegisterFee", _value) 9622 } 9623 9624 // SetRegisterFee is a paid mutator transaction binding the contract method 0x92be2ab8. 9625 // 9626 // Solidity: function setRegisterFee(uint256 _value) returns() 9627 func (_StickerMarket *StickerMarketSession) SetRegisterFee(_value *big.Int) (*types.Transaction, error) { 9628 return _StickerMarket.Contract.SetRegisterFee(&_StickerMarket.TransactOpts, _value) 9629 } 9630 9631 // SetRegisterFee is a paid mutator transaction binding the contract method 0x92be2ab8. 9632 // 9633 // Solidity: function setRegisterFee(uint256 _value) returns() 9634 func (_StickerMarket *StickerMarketTransactorSession) SetRegisterFee(_value *big.Int) (*types.Transaction, error) { 9635 return _StickerMarket.Contract.SetRegisterFee(&_StickerMarket.TransactOpts, _value) 9636 } 9637 9638 // StickerMarketBurnRateIterator is returned from FilterBurnRate and is used to iterate over the raw logs and unpacked data for BurnRate events raised by the StickerMarket contract. 9639 type StickerMarketBurnRateIterator struct { 9640 Event *StickerMarketBurnRate // Event containing the contract specifics and raw log 9641 9642 contract *bind.BoundContract // Generic contract to use for unpacking event data 9643 event string // Event name to use for unpacking event data 9644 9645 logs chan types.Log // Log channel receiving the found contract events 9646 sub ethereum.Subscription // Subscription for errors, completion and termination 9647 done bool // Whether the subscription completed delivering logs 9648 fail error // Occurred error to stop iteration 9649 } 9650 9651 // Next advances the iterator to the subsequent event, returning whether there 9652 // are any more events found. In case of a retrieval or parsing error, false is 9653 // returned and Error() can be queried for the exact failure. 9654 func (it *StickerMarketBurnRateIterator) Next() bool { 9655 // If the iterator failed, stop iterating 9656 if it.fail != nil { 9657 return false 9658 } 9659 // If the iterator completed, deliver directly whatever's available 9660 if it.done { 9661 select { 9662 case log := <-it.logs: 9663 it.Event = new(StickerMarketBurnRate) 9664 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9665 it.fail = err 9666 return false 9667 } 9668 it.Event.Raw = log 9669 return true 9670 9671 default: 9672 return false 9673 } 9674 } 9675 // Iterator still in progress, wait for either a data or an error event 9676 select { 9677 case log := <-it.logs: 9678 it.Event = new(StickerMarketBurnRate) 9679 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9680 it.fail = err 9681 return false 9682 } 9683 it.Event.Raw = log 9684 return true 9685 9686 case err := <-it.sub.Err(): 9687 it.done = true 9688 it.fail = err 9689 return it.Next() 9690 } 9691 } 9692 9693 // Error returns any retrieval or parsing error occurred during filtering. 9694 func (it *StickerMarketBurnRateIterator) Error() error { 9695 return it.fail 9696 } 9697 9698 // Close terminates the iteration process, releasing any pending underlying 9699 // resources. 9700 func (it *StickerMarketBurnRateIterator) Close() error { 9701 it.sub.Unsubscribe() 9702 return nil 9703 } 9704 9705 // StickerMarketBurnRate represents a BurnRate event raised by the StickerMarket contract. 9706 type StickerMarketBurnRate struct { 9707 Value *big.Int 9708 Raw types.Log // Blockchain specific contextual infos 9709 } 9710 9711 // FilterBurnRate is a free log retrieval operation binding the contract event 0x59701ed6f46ff3f5c94b1b741d5b3f2968eb7a0ae31d2cf2a3a9f2153d18b514. 9712 // 9713 // Solidity: event BurnRate(uint256 value) 9714 func (_StickerMarket *StickerMarketFilterer) FilterBurnRate(opts *bind.FilterOpts) (*StickerMarketBurnRateIterator, error) { 9715 9716 logs, sub, err := _StickerMarket.contract.FilterLogs(opts, "BurnRate") 9717 if err != nil { 9718 return nil, err 9719 } 9720 return &StickerMarketBurnRateIterator{contract: _StickerMarket.contract, event: "BurnRate", logs: logs, sub: sub}, nil 9721 } 9722 9723 // WatchBurnRate is a free log subscription operation binding the contract event 0x59701ed6f46ff3f5c94b1b741d5b3f2968eb7a0ae31d2cf2a3a9f2153d18b514. 9724 // 9725 // Solidity: event BurnRate(uint256 value) 9726 func (_StickerMarket *StickerMarketFilterer) WatchBurnRate(opts *bind.WatchOpts, sink chan<- *StickerMarketBurnRate) (event.Subscription, error) { 9727 9728 logs, sub, err := _StickerMarket.contract.WatchLogs(opts, "BurnRate") 9729 if err != nil { 9730 return nil, err 9731 } 9732 return event.NewSubscription(func(quit <-chan struct{}) error { 9733 defer sub.Unsubscribe() 9734 for { 9735 select { 9736 case log := <-logs: 9737 // New log arrived, parse the event and forward to the user 9738 event := new(StickerMarketBurnRate) 9739 if err := _StickerMarket.contract.UnpackLog(event, "BurnRate", log); err != nil { 9740 return err 9741 } 9742 event.Raw = log 9743 9744 select { 9745 case sink <- event: 9746 case err := <-sub.Err(): 9747 return err 9748 case <-quit: 9749 return nil 9750 } 9751 case err := <-sub.Err(): 9752 return err 9753 case <-quit: 9754 return nil 9755 } 9756 } 9757 }), nil 9758 } 9759 9760 // ParseBurnRate is a log parse operation binding the contract event 0x59701ed6f46ff3f5c94b1b741d5b3f2968eb7a0ae31d2cf2a3a9f2153d18b514. 9761 // 9762 // Solidity: event BurnRate(uint256 value) 9763 func (_StickerMarket *StickerMarketFilterer) ParseBurnRate(log types.Log) (*StickerMarketBurnRate, error) { 9764 event := new(StickerMarketBurnRate) 9765 if err := _StickerMarket.contract.UnpackLog(event, "BurnRate", log); err != nil { 9766 return nil, err 9767 } 9768 event.Raw = log 9769 return event, nil 9770 } 9771 9772 // StickerMarketClaimedTokensIterator is returned from FilterClaimedTokens and is used to iterate over the raw logs and unpacked data for ClaimedTokens events raised by the StickerMarket contract. 9773 type StickerMarketClaimedTokensIterator struct { 9774 Event *StickerMarketClaimedTokens // Event containing the contract specifics and raw log 9775 9776 contract *bind.BoundContract // Generic contract to use for unpacking event data 9777 event string // Event name to use for unpacking event data 9778 9779 logs chan types.Log // Log channel receiving the found contract events 9780 sub ethereum.Subscription // Subscription for errors, completion and termination 9781 done bool // Whether the subscription completed delivering logs 9782 fail error // Occurred error to stop iteration 9783 } 9784 9785 // Next advances the iterator to the subsequent event, returning whether there 9786 // are any more events found. In case of a retrieval or parsing error, false is 9787 // returned and Error() can be queried for the exact failure. 9788 func (it *StickerMarketClaimedTokensIterator) Next() bool { 9789 // If the iterator failed, stop iterating 9790 if it.fail != nil { 9791 return false 9792 } 9793 // If the iterator completed, deliver directly whatever's available 9794 if it.done { 9795 select { 9796 case log := <-it.logs: 9797 it.Event = new(StickerMarketClaimedTokens) 9798 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9799 it.fail = err 9800 return false 9801 } 9802 it.Event.Raw = log 9803 return true 9804 9805 default: 9806 return false 9807 } 9808 } 9809 // Iterator still in progress, wait for either a data or an error event 9810 select { 9811 case log := <-it.logs: 9812 it.Event = new(StickerMarketClaimedTokens) 9813 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9814 it.fail = err 9815 return false 9816 } 9817 it.Event.Raw = log 9818 return true 9819 9820 case err := <-it.sub.Err(): 9821 it.done = true 9822 it.fail = err 9823 return it.Next() 9824 } 9825 } 9826 9827 // Error returns any retrieval or parsing error occurred during filtering. 9828 func (it *StickerMarketClaimedTokensIterator) Error() error { 9829 return it.fail 9830 } 9831 9832 // Close terminates the iteration process, releasing any pending underlying 9833 // resources. 9834 func (it *StickerMarketClaimedTokensIterator) Close() error { 9835 it.sub.Unsubscribe() 9836 return nil 9837 } 9838 9839 // StickerMarketClaimedTokens represents a ClaimedTokens event raised by the StickerMarket contract. 9840 type StickerMarketClaimedTokens struct { 9841 Token common.Address 9842 Controller common.Address 9843 Amount *big.Int 9844 Raw types.Log // Blockchain specific contextual infos 9845 } 9846 9847 // FilterClaimedTokens is a free log retrieval operation binding the contract event 0xf931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c. 9848 // 9849 // Solidity: event ClaimedTokens(address indexed _token, address indexed _controller, uint256 _amount) 9850 func (_StickerMarket *StickerMarketFilterer) FilterClaimedTokens(opts *bind.FilterOpts, _token []common.Address, _controller []common.Address) (*StickerMarketClaimedTokensIterator, error) { 9851 9852 var _tokenRule []interface{} 9853 for _, _tokenItem := range _token { 9854 _tokenRule = append(_tokenRule, _tokenItem) 9855 } 9856 var _controllerRule []interface{} 9857 for _, _controllerItem := range _controller { 9858 _controllerRule = append(_controllerRule, _controllerItem) 9859 } 9860 9861 logs, sub, err := _StickerMarket.contract.FilterLogs(opts, "ClaimedTokens", _tokenRule, _controllerRule) 9862 if err != nil { 9863 return nil, err 9864 } 9865 return &StickerMarketClaimedTokensIterator{contract: _StickerMarket.contract, event: "ClaimedTokens", logs: logs, sub: sub}, nil 9866 } 9867 9868 // WatchClaimedTokens is a free log subscription operation binding the contract event 0xf931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c. 9869 // 9870 // Solidity: event ClaimedTokens(address indexed _token, address indexed _controller, uint256 _amount) 9871 func (_StickerMarket *StickerMarketFilterer) WatchClaimedTokens(opts *bind.WatchOpts, sink chan<- *StickerMarketClaimedTokens, _token []common.Address, _controller []common.Address) (event.Subscription, error) { 9872 9873 var _tokenRule []interface{} 9874 for _, _tokenItem := range _token { 9875 _tokenRule = append(_tokenRule, _tokenItem) 9876 } 9877 var _controllerRule []interface{} 9878 for _, _controllerItem := range _controller { 9879 _controllerRule = append(_controllerRule, _controllerItem) 9880 } 9881 9882 logs, sub, err := _StickerMarket.contract.WatchLogs(opts, "ClaimedTokens", _tokenRule, _controllerRule) 9883 if err != nil { 9884 return nil, err 9885 } 9886 return event.NewSubscription(func(quit <-chan struct{}) error { 9887 defer sub.Unsubscribe() 9888 for { 9889 select { 9890 case log := <-logs: 9891 // New log arrived, parse the event and forward to the user 9892 event := new(StickerMarketClaimedTokens) 9893 if err := _StickerMarket.contract.UnpackLog(event, "ClaimedTokens", log); err != nil { 9894 return err 9895 } 9896 event.Raw = log 9897 9898 select { 9899 case sink <- event: 9900 case err := <-sub.Err(): 9901 return err 9902 case <-quit: 9903 return nil 9904 } 9905 case err := <-sub.Err(): 9906 return err 9907 case <-quit: 9908 return nil 9909 } 9910 } 9911 }), nil 9912 } 9913 9914 // ParseClaimedTokens is a log parse operation binding the contract event 0xf931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c. 9915 // 9916 // Solidity: event ClaimedTokens(address indexed _token, address indexed _controller, uint256 _amount) 9917 func (_StickerMarket *StickerMarketFilterer) ParseClaimedTokens(log types.Log) (*StickerMarketClaimedTokens, error) { 9918 event := new(StickerMarketClaimedTokens) 9919 if err := _StickerMarket.contract.UnpackLog(event, "ClaimedTokens", log); err != nil { 9920 return nil, err 9921 } 9922 event.Raw = log 9923 return event, nil 9924 } 9925 9926 // StickerMarketMarketStateIterator is returned from FilterMarketState and is used to iterate over the raw logs and unpacked data for MarketState events raised by the StickerMarket contract. 9927 type StickerMarketMarketStateIterator struct { 9928 Event *StickerMarketMarketState // Event containing the contract specifics and raw log 9929 9930 contract *bind.BoundContract // Generic contract to use for unpacking event data 9931 event string // Event name to use for unpacking event data 9932 9933 logs chan types.Log // Log channel receiving the found contract events 9934 sub ethereum.Subscription // Subscription for errors, completion and termination 9935 done bool // Whether the subscription completed delivering logs 9936 fail error // Occurred error to stop iteration 9937 } 9938 9939 // Next advances the iterator to the subsequent event, returning whether there 9940 // are any more events found. In case of a retrieval or parsing error, false is 9941 // returned and Error() can be queried for the exact failure. 9942 func (it *StickerMarketMarketStateIterator) Next() bool { 9943 // If the iterator failed, stop iterating 9944 if it.fail != nil { 9945 return false 9946 } 9947 // If the iterator completed, deliver directly whatever's available 9948 if it.done { 9949 select { 9950 case log := <-it.logs: 9951 it.Event = new(StickerMarketMarketState) 9952 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9953 it.fail = err 9954 return false 9955 } 9956 it.Event.Raw = log 9957 return true 9958 9959 default: 9960 return false 9961 } 9962 } 9963 // Iterator still in progress, wait for either a data or an error event 9964 select { 9965 case log := <-it.logs: 9966 it.Event = new(StickerMarketMarketState) 9967 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9968 it.fail = err 9969 return false 9970 } 9971 it.Event.Raw = log 9972 return true 9973 9974 case err := <-it.sub.Err(): 9975 it.done = true 9976 it.fail = err 9977 return it.Next() 9978 } 9979 } 9980 9981 // Error returns any retrieval or parsing error occurred during filtering. 9982 func (it *StickerMarketMarketStateIterator) Error() error { 9983 return it.fail 9984 } 9985 9986 // Close terminates the iteration process, releasing any pending underlying 9987 // resources. 9988 func (it *StickerMarketMarketStateIterator) Close() error { 9989 it.sub.Unsubscribe() 9990 return nil 9991 } 9992 9993 // StickerMarketMarketState represents a MarketState event raised by the StickerMarket contract. 9994 type StickerMarketMarketState struct { 9995 State uint8 9996 Raw types.Log // Blockchain specific contextual infos 9997 } 9998 9999 // FilterMarketState is a free log retrieval operation binding the contract event 0x9f17f1d96f7bb1d5a573d638f26fdb9fa651427eb2e7b36481cd5e1351581e58. 10000 // 10001 // Solidity: event MarketState(uint8 state) 10002 func (_StickerMarket *StickerMarketFilterer) FilterMarketState(opts *bind.FilterOpts) (*StickerMarketMarketStateIterator, error) { 10003 10004 logs, sub, err := _StickerMarket.contract.FilterLogs(opts, "MarketState") 10005 if err != nil { 10006 return nil, err 10007 } 10008 return &StickerMarketMarketStateIterator{contract: _StickerMarket.contract, event: "MarketState", logs: logs, sub: sub}, nil 10009 } 10010 10011 // WatchMarketState is a free log subscription operation binding the contract event 0x9f17f1d96f7bb1d5a573d638f26fdb9fa651427eb2e7b36481cd5e1351581e58. 10012 // 10013 // Solidity: event MarketState(uint8 state) 10014 func (_StickerMarket *StickerMarketFilterer) WatchMarketState(opts *bind.WatchOpts, sink chan<- *StickerMarketMarketState) (event.Subscription, error) { 10015 10016 logs, sub, err := _StickerMarket.contract.WatchLogs(opts, "MarketState") 10017 if err != nil { 10018 return nil, err 10019 } 10020 return event.NewSubscription(func(quit <-chan struct{}) error { 10021 defer sub.Unsubscribe() 10022 for { 10023 select { 10024 case log := <-logs: 10025 // New log arrived, parse the event and forward to the user 10026 event := new(StickerMarketMarketState) 10027 if err := _StickerMarket.contract.UnpackLog(event, "MarketState", log); err != nil { 10028 return err 10029 } 10030 event.Raw = log 10031 10032 select { 10033 case sink <- event: 10034 case err := <-sub.Err(): 10035 return err 10036 case <-quit: 10037 return nil 10038 } 10039 case err := <-sub.Err(): 10040 return err 10041 case <-quit: 10042 return nil 10043 } 10044 } 10045 }), nil 10046 } 10047 10048 // ParseMarketState is a log parse operation binding the contract event 0x9f17f1d96f7bb1d5a573d638f26fdb9fa651427eb2e7b36481cd5e1351581e58. 10049 // 10050 // Solidity: event MarketState(uint8 state) 10051 func (_StickerMarket *StickerMarketFilterer) ParseMarketState(log types.Log) (*StickerMarketMarketState, error) { 10052 event := new(StickerMarketMarketState) 10053 if err := _StickerMarket.contract.UnpackLog(event, "MarketState", log); err != nil { 10054 return nil, err 10055 } 10056 event.Raw = log 10057 return event, nil 10058 } 10059 10060 // StickerMarketNewControllerIterator is returned from FilterNewController and is used to iterate over the raw logs and unpacked data for NewController events raised by the StickerMarket contract. 10061 type StickerMarketNewControllerIterator struct { 10062 Event *StickerMarketNewController // Event containing the contract specifics and raw log 10063 10064 contract *bind.BoundContract // Generic contract to use for unpacking event data 10065 event string // Event name to use for unpacking event data 10066 10067 logs chan types.Log // Log channel receiving the found contract events 10068 sub ethereum.Subscription // Subscription for errors, completion and termination 10069 done bool // Whether the subscription completed delivering logs 10070 fail error // Occurred error to stop iteration 10071 } 10072 10073 // Next advances the iterator to the subsequent event, returning whether there 10074 // are any more events found. In case of a retrieval or parsing error, false is 10075 // returned and Error() can be queried for the exact failure. 10076 func (it *StickerMarketNewControllerIterator) Next() bool { 10077 // If the iterator failed, stop iterating 10078 if it.fail != nil { 10079 return false 10080 } 10081 // If the iterator completed, deliver directly whatever's available 10082 if it.done { 10083 select { 10084 case log := <-it.logs: 10085 it.Event = new(StickerMarketNewController) 10086 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10087 it.fail = err 10088 return false 10089 } 10090 it.Event.Raw = log 10091 return true 10092 10093 default: 10094 return false 10095 } 10096 } 10097 // Iterator still in progress, wait for either a data or an error event 10098 select { 10099 case log := <-it.logs: 10100 it.Event = new(StickerMarketNewController) 10101 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10102 it.fail = err 10103 return false 10104 } 10105 it.Event.Raw = log 10106 return true 10107 10108 case err := <-it.sub.Err(): 10109 it.done = true 10110 it.fail = err 10111 return it.Next() 10112 } 10113 } 10114 10115 // Error returns any retrieval or parsing error occurred during filtering. 10116 func (it *StickerMarketNewControllerIterator) Error() error { 10117 return it.fail 10118 } 10119 10120 // Close terminates the iteration process, releasing any pending underlying 10121 // resources. 10122 func (it *StickerMarketNewControllerIterator) Close() error { 10123 it.sub.Unsubscribe() 10124 return nil 10125 } 10126 10127 // StickerMarketNewController represents a NewController event raised by the StickerMarket contract. 10128 type StickerMarketNewController struct { 10129 Controller common.Address 10130 Raw types.Log // Blockchain specific contextual infos 10131 } 10132 10133 // FilterNewController is a free log retrieval operation binding the contract event 0xe253457d9ad994ca9682fc3bbc38c890dca73a2d5ecee3809e548bac8b00d7c6. 10134 // 10135 // Solidity: event NewController(address controller) 10136 func (_StickerMarket *StickerMarketFilterer) FilterNewController(opts *bind.FilterOpts) (*StickerMarketNewControllerIterator, error) { 10137 10138 logs, sub, err := _StickerMarket.contract.FilterLogs(opts, "NewController") 10139 if err != nil { 10140 return nil, err 10141 } 10142 return &StickerMarketNewControllerIterator{contract: _StickerMarket.contract, event: "NewController", logs: logs, sub: sub}, nil 10143 } 10144 10145 // WatchNewController is a free log subscription operation binding the contract event 0xe253457d9ad994ca9682fc3bbc38c890dca73a2d5ecee3809e548bac8b00d7c6. 10146 // 10147 // Solidity: event NewController(address controller) 10148 func (_StickerMarket *StickerMarketFilterer) WatchNewController(opts *bind.WatchOpts, sink chan<- *StickerMarketNewController) (event.Subscription, error) { 10149 10150 logs, sub, err := _StickerMarket.contract.WatchLogs(opts, "NewController") 10151 if err != nil { 10152 return nil, err 10153 } 10154 return event.NewSubscription(func(quit <-chan struct{}) error { 10155 defer sub.Unsubscribe() 10156 for { 10157 select { 10158 case log := <-logs: 10159 // New log arrived, parse the event and forward to the user 10160 event := new(StickerMarketNewController) 10161 if err := _StickerMarket.contract.UnpackLog(event, "NewController", log); err != nil { 10162 return err 10163 } 10164 event.Raw = log 10165 10166 select { 10167 case sink <- event: 10168 case err := <-sub.Err(): 10169 return err 10170 case <-quit: 10171 return nil 10172 } 10173 case err := <-sub.Err(): 10174 return err 10175 case <-quit: 10176 return nil 10177 } 10178 } 10179 }), nil 10180 } 10181 10182 // ParseNewController is a log parse operation binding the contract event 0xe253457d9ad994ca9682fc3bbc38c890dca73a2d5ecee3809e548bac8b00d7c6. 10183 // 10184 // Solidity: event NewController(address controller) 10185 func (_StickerMarket *StickerMarketFilterer) ParseNewController(log types.Log) (*StickerMarketNewController, error) { 10186 event := new(StickerMarketNewController) 10187 if err := _StickerMarket.contract.UnpackLog(event, "NewController", log); err != nil { 10188 return nil, err 10189 } 10190 event.Raw = log 10191 return event, nil 10192 } 10193 10194 // StickerMarketRegisterIterator is returned from FilterRegister and is used to iterate over the raw logs and unpacked data for Register events raised by the StickerMarket contract. 10195 type StickerMarketRegisterIterator struct { 10196 Event *StickerMarketRegister // Event containing the contract specifics and raw log 10197 10198 contract *bind.BoundContract // Generic contract to use for unpacking event data 10199 event string // Event name to use for unpacking event data 10200 10201 logs chan types.Log // Log channel receiving the found contract events 10202 sub ethereum.Subscription // Subscription for errors, completion and termination 10203 done bool // Whether the subscription completed delivering logs 10204 fail error // Occurred error to stop iteration 10205 } 10206 10207 // Next advances the iterator to the subsequent event, returning whether there 10208 // are any more events found. In case of a retrieval or parsing error, false is 10209 // returned and Error() can be queried for the exact failure. 10210 func (it *StickerMarketRegisterIterator) Next() bool { 10211 // If the iterator failed, stop iterating 10212 if it.fail != nil { 10213 return false 10214 } 10215 // If the iterator completed, deliver directly whatever's available 10216 if it.done { 10217 select { 10218 case log := <-it.logs: 10219 it.Event = new(StickerMarketRegister) 10220 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10221 it.fail = err 10222 return false 10223 } 10224 it.Event.Raw = log 10225 return true 10226 10227 default: 10228 return false 10229 } 10230 } 10231 // Iterator still in progress, wait for either a data or an error event 10232 select { 10233 case log := <-it.logs: 10234 it.Event = new(StickerMarketRegister) 10235 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10236 it.fail = err 10237 return false 10238 } 10239 it.Event.Raw = log 10240 return true 10241 10242 case err := <-it.sub.Err(): 10243 it.done = true 10244 it.fail = err 10245 return it.Next() 10246 } 10247 } 10248 10249 // Error returns any retrieval or parsing error occurred during filtering. 10250 func (it *StickerMarketRegisterIterator) Error() error { 10251 return it.fail 10252 } 10253 10254 // Close terminates the iteration process, releasing any pending underlying 10255 // resources. 10256 func (it *StickerMarketRegisterIterator) Close() error { 10257 it.sub.Unsubscribe() 10258 return nil 10259 } 10260 10261 // StickerMarketRegister represents a Register event raised by the StickerMarket contract. 10262 type StickerMarketRegister struct { 10263 PackId *big.Int 10264 DataPrice *big.Int 10265 Contenthash []byte 10266 Raw types.Log // Blockchain specific contextual infos 10267 } 10268 10269 // FilterRegister is a free log retrieval operation binding the contract event 0x977f348a33aa09ea5592a5999ead89ce5390634d548c226c6a32c8f18b93e082. 10270 // 10271 // Solidity: event Register(uint256 indexed packId, uint256 dataPrice, bytes contenthash) 10272 func (_StickerMarket *StickerMarketFilterer) FilterRegister(opts *bind.FilterOpts, packId []*big.Int) (*StickerMarketRegisterIterator, error) { 10273 10274 var packIdRule []interface{} 10275 for _, packIdItem := range packId { 10276 packIdRule = append(packIdRule, packIdItem) 10277 } 10278 10279 logs, sub, err := _StickerMarket.contract.FilterLogs(opts, "Register", packIdRule) 10280 if err != nil { 10281 return nil, err 10282 } 10283 return &StickerMarketRegisterIterator{contract: _StickerMarket.contract, event: "Register", logs: logs, sub: sub}, nil 10284 } 10285 10286 // WatchRegister is a free log subscription operation binding the contract event 0x977f348a33aa09ea5592a5999ead89ce5390634d548c226c6a32c8f18b93e082. 10287 // 10288 // Solidity: event Register(uint256 indexed packId, uint256 dataPrice, bytes contenthash) 10289 func (_StickerMarket *StickerMarketFilterer) WatchRegister(opts *bind.WatchOpts, sink chan<- *StickerMarketRegister, packId []*big.Int) (event.Subscription, error) { 10290 10291 var packIdRule []interface{} 10292 for _, packIdItem := range packId { 10293 packIdRule = append(packIdRule, packIdItem) 10294 } 10295 10296 logs, sub, err := _StickerMarket.contract.WatchLogs(opts, "Register", packIdRule) 10297 if err != nil { 10298 return nil, err 10299 } 10300 return event.NewSubscription(func(quit <-chan struct{}) error { 10301 defer sub.Unsubscribe() 10302 for { 10303 select { 10304 case log := <-logs: 10305 // New log arrived, parse the event and forward to the user 10306 event := new(StickerMarketRegister) 10307 if err := _StickerMarket.contract.UnpackLog(event, "Register", log); err != nil { 10308 return err 10309 } 10310 event.Raw = log 10311 10312 select { 10313 case sink <- event: 10314 case err := <-sub.Err(): 10315 return err 10316 case <-quit: 10317 return nil 10318 } 10319 case err := <-sub.Err(): 10320 return err 10321 case <-quit: 10322 return nil 10323 } 10324 } 10325 }), nil 10326 } 10327 10328 // ParseRegister is a log parse operation binding the contract event 0x977f348a33aa09ea5592a5999ead89ce5390634d548c226c6a32c8f18b93e082. 10329 // 10330 // Solidity: event Register(uint256 indexed packId, uint256 dataPrice, bytes contenthash) 10331 func (_StickerMarket *StickerMarketFilterer) ParseRegister(log types.Log) (*StickerMarketRegister, error) { 10332 event := new(StickerMarketRegister) 10333 if err := _StickerMarket.contract.UnpackLog(event, "Register", log); err != nil { 10334 return nil, err 10335 } 10336 event.Raw = log 10337 return event, nil 10338 } 10339 10340 // StickerMarketRegisterFeeIterator is returned from FilterRegisterFee and is used to iterate over the raw logs and unpacked data for RegisterFee events raised by the StickerMarket contract. 10341 type StickerMarketRegisterFeeIterator struct { 10342 Event *StickerMarketRegisterFee // Event containing the contract specifics and raw log 10343 10344 contract *bind.BoundContract // Generic contract to use for unpacking event data 10345 event string // Event name to use for unpacking event data 10346 10347 logs chan types.Log // Log channel receiving the found contract events 10348 sub ethereum.Subscription // Subscription for errors, completion and termination 10349 done bool // Whether the subscription completed delivering logs 10350 fail error // Occurred error to stop iteration 10351 } 10352 10353 // Next advances the iterator to the subsequent event, returning whether there 10354 // are any more events found. In case of a retrieval or parsing error, false is 10355 // returned and Error() can be queried for the exact failure. 10356 func (it *StickerMarketRegisterFeeIterator) Next() bool { 10357 // If the iterator failed, stop iterating 10358 if it.fail != nil { 10359 return false 10360 } 10361 // If the iterator completed, deliver directly whatever's available 10362 if it.done { 10363 select { 10364 case log := <-it.logs: 10365 it.Event = new(StickerMarketRegisterFee) 10366 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10367 it.fail = err 10368 return false 10369 } 10370 it.Event.Raw = log 10371 return true 10372 10373 default: 10374 return false 10375 } 10376 } 10377 // Iterator still in progress, wait for either a data or an error event 10378 select { 10379 case log := <-it.logs: 10380 it.Event = new(StickerMarketRegisterFee) 10381 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10382 it.fail = err 10383 return false 10384 } 10385 it.Event.Raw = log 10386 return true 10387 10388 case err := <-it.sub.Err(): 10389 it.done = true 10390 it.fail = err 10391 return it.Next() 10392 } 10393 } 10394 10395 // Error returns any retrieval or parsing error occurred during filtering. 10396 func (it *StickerMarketRegisterFeeIterator) Error() error { 10397 return it.fail 10398 } 10399 10400 // Close terminates the iteration process, releasing any pending underlying 10401 // resources. 10402 func (it *StickerMarketRegisterFeeIterator) Close() error { 10403 it.sub.Unsubscribe() 10404 return nil 10405 } 10406 10407 // StickerMarketRegisterFee represents a RegisterFee event raised by the StickerMarket contract. 10408 type StickerMarketRegisterFee struct { 10409 Value *big.Int 10410 Raw types.Log // Blockchain specific contextual infos 10411 } 10412 10413 // FilterRegisterFee is a free log retrieval operation binding the contract event 0x1d4a2348bf98e0fa847f28a7db9967b1327ac954c312b659b65a860bb6959172. 10414 // 10415 // Solidity: event RegisterFee(uint256 value) 10416 func (_StickerMarket *StickerMarketFilterer) FilterRegisterFee(opts *bind.FilterOpts) (*StickerMarketRegisterFeeIterator, error) { 10417 10418 logs, sub, err := _StickerMarket.contract.FilterLogs(opts, "RegisterFee") 10419 if err != nil { 10420 return nil, err 10421 } 10422 return &StickerMarketRegisterFeeIterator{contract: _StickerMarket.contract, event: "RegisterFee", logs: logs, sub: sub}, nil 10423 } 10424 10425 // WatchRegisterFee is a free log subscription operation binding the contract event 0x1d4a2348bf98e0fa847f28a7db9967b1327ac954c312b659b65a860bb6959172. 10426 // 10427 // Solidity: event RegisterFee(uint256 value) 10428 func (_StickerMarket *StickerMarketFilterer) WatchRegisterFee(opts *bind.WatchOpts, sink chan<- *StickerMarketRegisterFee) (event.Subscription, error) { 10429 10430 logs, sub, err := _StickerMarket.contract.WatchLogs(opts, "RegisterFee") 10431 if err != nil { 10432 return nil, err 10433 } 10434 return event.NewSubscription(func(quit <-chan struct{}) error { 10435 defer sub.Unsubscribe() 10436 for { 10437 select { 10438 case log := <-logs: 10439 // New log arrived, parse the event and forward to the user 10440 event := new(StickerMarketRegisterFee) 10441 if err := _StickerMarket.contract.UnpackLog(event, "RegisterFee", log); err != nil { 10442 return err 10443 } 10444 event.Raw = log 10445 10446 select { 10447 case sink <- event: 10448 case err := <-sub.Err(): 10449 return err 10450 case <-quit: 10451 return nil 10452 } 10453 case err := <-sub.Err(): 10454 return err 10455 case <-quit: 10456 return nil 10457 } 10458 } 10459 }), nil 10460 } 10461 10462 // ParseRegisterFee is a log parse operation binding the contract event 0x1d4a2348bf98e0fa847f28a7db9967b1327ac954c312b659b65a860bb6959172. 10463 // 10464 // Solidity: event RegisterFee(uint256 value) 10465 func (_StickerMarket *StickerMarketFilterer) ParseRegisterFee(log types.Log) (*StickerMarketRegisterFee, error) { 10466 event := new(StickerMarketRegisterFee) 10467 if err := _StickerMarket.contract.UnpackLog(event, "RegisterFee", log); err != nil { 10468 return nil, err 10469 } 10470 event.Raw = log 10471 return event, nil 10472 } 10473 10474 // StickerMarketTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the StickerMarket contract. 10475 type StickerMarketTransferIterator struct { 10476 Event *StickerMarketTransfer // Event containing the contract specifics and raw log 10477 10478 contract *bind.BoundContract // Generic contract to use for unpacking event data 10479 event string // Event name to use for unpacking event data 10480 10481 logs chan types.Log // Log channel receiving the found contract events 10482 sub ethereum.Subscription // Subscription for errors, completion and termination 10483 done bool // Whether the subscription completed delivering logs 10484 fail error // Occurred error to stop iteration 10485 } 10486 10487 // Next advances the iterator to the subsequent event, returning whether there 10488 // are any more events found. In case of a retrieval or parsing error, false is 10489 // returned and Error() can be queried for the exact failure. 10490 func (it *StickerMarketTransferIterator) Next() bool { 10491 // If the iterator failed, stop iterating 10492 if it.fail != nil { 10493 return false 10494 } 10495 // If the iterator completed, deliver directly whatever's available 10496 if it.done { 10497 select { 10498 case log := <-it.logs: 10499 it.Event = new(StickerMarketTransfer) 10500 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10501 it.fail = err 10502 return false 10503 } 10504 it.Event.Raw = log 10505 return true 10506 10507 default: 10508 return false 10509 } 10510 } 10511 // Iterator still in progress, wait for either a data or an error event 10512 select { 10513 case log := <-it.logs: 10514 it.Event = new(StickerMarketTransfer) 10515 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10516 it.fail = err 10517 return false 10518 } 10519 it.Event.Raw = log 10520 return true 10521 10522 case err := <-it.sub.Err(): 10523 it.done = true 10524 it.fail = err 10525 return it.Next() 10526 } 10527 } 10528 10529 // Error returns any retrieval or parsing error occurred during filtering. 10530 func (it *StickerMarketTransferIterator) Error() error { 10531 return it.fail 10532 } 10533 10534 // Close terminates the iteration process, releasing any pending underlying 10535 // resources. 10536 func (it *StickerMarketTransferIterator) Close() error { 10537 it.sub.Unsubscribe() 10538 return nil 10539 } 10540 10541 // StickerMarketTransfer represents a Transfer event raised by the StickerMarket contract. 10542 type StickerMarketTransfer struct { 10543 From common.Address 10544 To common.Address 10545 Value *big.Int 10546 Raw types.Log // Blockchain specific contextual infos 10547 } 10548 10549 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 10550 // 10551 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed value) 10552 func (_StickerMarket *StickerMarketFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, value []*big.Int) (*StickerMarketTransferIterator, error) { 10553 10554 var fromRule []interface{} 10555 for _, fromItem := range from { 10556 fromRule = append(fromRule, fromItem) 10557 } 10558 var toRule []interface{} 10559 for _, toItem := range to { 10560 toRule = append(toRule, toItem) 10561 } 10562 var valueRule []interface{} 10563 for _, valueItem := range value { 10564 valueRule = append(valueRule, valueItem) 10565 } 10566 10567 logs, sub, err := _StickerMarket.contract.FilterLogs(opts, "Transfer", fromRule, toRule, valueRule) 10568 if err != nil { 10569 return nil, err 10570 } 10571 return &StickerMarketTransferIterator{contract: _StickerMarket.contract, event: "Transfer", logs: logs, sub: sub}, nil 10572 } 10573 10574 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 10575 // 10576 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed value) 10577 func (_StickerMarket *StickerMarketFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *StickerMarketTransfer, from []common.Address, to []common.Address, value []*big.Int) (event.Subscription, error) { 10578 10579 var fromRule []interface{} 10580 for _, fromItem := range from { 10581 fromRule = append(fromRule, fromItem) 10582 } 10583 var toRule []interface{} 10584 for _, toItem := range to { 10585 toRule = append(toRule, toItem) 10586 } 10587 var valueRule []interface{} 10588 for _, valueItem := range value { 10589 valueRule = append(valueRule, valueItem) 10590 } 10591 10592 logs, sub, err := _StickerMarket.contract.WatchLogs(opts, "Transfer", fromRule, toRule, valueRule) 10593 if err != nil { 10594 return nil, err 10595 } 10596 return event.NewSubscription(func(quit <-chan struct{}) error { 10597 defer sub.Unsubscribe() 10598 for { 10599 select { 10600 case log := <-logs: 10601 // New log arrived, parse the event and forward to the user 10602 event := new(StickerMarketTransfer) 10603 if err := _StickerMarket.contract.UnpackLog(event, "Transfer", log); err != nil { 10604 return err 10605 } 10606 event.Raw = log 10607 10608 select { 10609 case sink <- event: 10610 case err := <-sub.Err(): 10611 return err 10612 case <-quit: 10613 return nil 10614 } 10615 case err := <-sub.Err(): 10616 return err 10617 case <-quit: 10618 return nil 10619 } 10620 } 10621 }), nil 10622 } 10623 10624 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 10625 // 10626 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed value) 10627 func (_StickerMarket *StickerMarketFilterer) ParseTransfer(log types.Log) (*StickerMarketTransfer, error) { 10628 event := new(StickerMarketTransfer) 10629 if err := _StickerMarket.contract.UnpackLog(event, "Transfer", log); err != nil { 10630 return nil, err 10631 } 10632 event.Raw = log 10633 return event, nil 10634 } 10635 10636 // StickerPackABI is the input ABI used to generate the binding from. 10637 const StickerPackABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_packId\",\"type\":\"uint256\"}],\"name\":\"generateToken\",\"outputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newController\",\"type\":\"address\"}],\"name\":\"changeController\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenPackId\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"claimTokens\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"controller\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_controller\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"ClaimedTokens\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"NewController\",\"type\":\"event\"}]" 10638 10639 // StickerPackFuncSigs maps the 4-byte function signature to its string representation. 10640 var StickerPackFuncSigs = map[string]string{ 10641 "095ea7b3": "approve(address,uint256)", 10642 "70a08231": "balanceOf(address)", 10643 "3cebb823": "changeController(address)", 10644 "df8de3e7": "claimTokens(address)", 10645 "f77c4791": "controller()", 10646 "188b5372": "generateToken(address,uint256)", 10647 "081812fc": "getApproved(uint256)", 10648 "e985e9c5": "isApprovedForAll(address,address)", 10649 "06fdde03": "name()", 10650 "6352211e": "ownerOf(uint256)", 10651 "42842e0e": "safeTransferFrom(address,address,uint256)", 10652 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 10653 "a22cb465": "setApprovalForAll(address,bool)", 10654 "01ffc9a7": "supportsInterface(bytes4)", 10655 "95d89b41": "symbol()", 10656 "4f6ccce7": "tokenByIndex(uint256)", 10657 "9f181b5e": "tokenCount()", 10658 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 10659 "a546af4c": "tokenPackId(uint256)", 10660 "c87b56dd": "tokenURI(uint256)", 10661 "18160ddd": "totalSupply()", 10662 "23b872dd": "transferFrom(address,address,uint256)", 10663 } 10664 10665 // StickerPack is an auto generated Go binding around an Ethereum contract. 10666 type StickerPack struct { 10667 StickerPackCaller // Read-only binding to the contract 10668 StickerPackTransactor // Write-only binding to the contract 10669 StickerPackFilterer // Log filterer for contract events 10670 } 10671 10672 // StickerPackCaller is an auto generated read-only Go binding around an Ethereum contract. 10673 type StickerPackCaller struct { 10674 contract *bind.BoundContract // Generic contract wrapper for the low level calls 10675 } 10676 10677 // StickerPackTransactor is an auto generated write-only Go binding around an Ethereum contract. 10678 type StickerPackTransactor struct { 10679 contract *bind.BoundContract // Generic contract wrapper for the low level calls 10680 } 10681 10682 // StickerPackFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 10683 type StickerPackFilterer struct { 10684 contract *bind.BoundContract // Generic contract wrapper for the low level calls 10685 } 10686 10687 // StickerPackSession is an auto generated Go binding around an Ethereum contract, 10688 // with pre-set call and transact options. 10689 type StickerPackSession struct { 10690 Contract *StickerPack // Generic contract binding to set the session for 10691 CallOpts bind.CallOpts // Call options to use throughout this session 10692 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 10693 } 10694 10695 // StickerPackCallerSession is an auto generated read-only Go binding around an Ethereum contract, 10696 // with pre-set call options. 10697 type StickerPackCallerSession struct { 10698 Contract *StickerPackCaller // Generic contract caller binding to set the session for 10699 CallOpts bind.CallOpts // Call options to use throughout this session 10700 } 10701 10702 // StickerPackTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 10703 // with pre-set transact options. 10704 type StickerPackTransactorSession struct { 10705 Contract *StickerPackTransactor // Generic contract transactor binding to set the session for 10706 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 10707 } 10708 10709 // StickerPackRaw is an auto generated low-level Go binding around an Ethereum contract. 10710 type StickerPackRaw struct { 10711 Contract *StickerPack // Generic contract binding to access the raw methods on 10712 } 10713 10714 // StickerPackCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 10715 type StickerPackCallerRaw struct { 10716 Contract *StickerPackCaller // Generic read-only contract binding to access the raw methods on 10717 } 10718 10719 // StickerPackTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 10720 type StickerPackTransactorRaw struct { 10721 Contract *StickerPackTransactor // Generic write-only contract binding to access the raw methods on 10722 } 10723 10724 // NewStickerPack creates a new instance of StickerPack, bound to a specific deployed contract. 10725 func NewStickerPack(address common.Address, backend bind.ContractBackend) (*StickerPack, error) { 10726 contract, err := bindStickerPack(address, backend, backend, backend) 10727 if err != nil { 10728 return nil, err 10729 } 10730 return &StickerPack{StickerPackCaller: StickerPackCaller{contract: contract}, StickerPackTransactor: StickerPackTransactor{contract: contract}, StickerPackFilterer: StickerPackFilterer{contract: contract}}, nil 10731 } 10732 10733 // NewStickerPackCaller creates a new read-only instance of StickerPack, bound to a specific deployed contract. 10734 func NewStickerPackCaller(address common.Address, caller bind.ContractCaller) (*StickerPackCaller, error) { 10735 contract, err := bindStickerPack(address, caller, nil, nil) 10736 if err != nil { 10737 return nil, err 10738 } 10739 return &StickerPackCaller{contract: contract}, nil 10740 } 10741 10742 // NewStickerPackTransactor creates a new write-only instance of StickerPack, bound to a specific deployed contract. 10743 func NewStickerPackTransactor(address common.Address, transactor bind.ContractTransactor) (*StickerPackTransactor, error) { 10744 contract, err := bindStickerPack(address, nil, transactor, nil) 10745 if err != nil { 10746 return nil, err 10747 } 10748 return &StickerPackTransactor{contract: contract}, nil 10749 } 10750 10751 // NewStickerPackFilterer creates a new log filterer instance of StickerPack, bound to a specific deployed contract. 10752 func NewStickerPackFilterer(address common.Address, filterer bind.ContractFilterer) (*StickerPackFilterer, error) { 10753 contract, err := bindStickerPack(address, nil, nil, filterer) 10754 if err != nil { 10755 return nil, err 10756 } 10757 return &StickerPackFilterer{contract: contract}, nil 10758 } 10759 10760 // bindStickerPack binds a generic wrapper to an already deployed contract. 10761 func bindStickerPack(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 10762 parsed, err := abi.JSON(strings.NewReader(StickerPackABI)) 10763 if err != nil { 10764 return nil, err 10765 } 10766 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 10767 } 10768 10769 // Call invokes the (constant) contract method with params as input values and 10770 // sets the output to result. The result type might be a single field for simple 10771 // returns, a slice of interfaces for anonymous returns and a struct for named 10772 // returns. 10773 func (_StickerPack *StickerPackRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 10774 return _StickerPack.Contract.StickerPackCaller.contract.Call(opts, result, method, params...) 10775 } 10776 10777 // Transfer initiates a plain transaction to move funds to the contract, calling 10778 // its default method if one is available. 10779 func (_StickerPack *StickerPackRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 10780 return _StickerPack.Contract.StickerPackTransactor.contract.Transfer(opts) 10781 } 10782 10783 // Transact invokes the (paid) contract method with params as input values. 10784 func (_StickerPack *StickerPackRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 10785 return _StickerPack.Contract.StickerPackTransactor.contract.Transact(opts, method, params...) 10786 } 10787 10788 // Call invokes the (constant) contract method with params as input values and 10789 // sets the output to result. The result type might be a single field for simple 10790 // returns, a slice of interfaces for anonymous returns and a struct for named 10791 // returns. 10792 func (_StickerPack *StickerPackCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 10793 return _StickerPack.Contract.contract.Call(opts, result, method, params...) 10794 } 10795 10796 // Transfer initiates a plain transaction to move funds to the contract, calling 10797 // its default method if one is available. 10798 func (_StickerPack *StickerPackTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 10799 return _StickerPack.Contract.contract.Transfer(opts) 10800 } 10801 10802 // Transact invokes the (paid) contract method with params as input values. 10803 func (_StickerPack *StickerPackTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 10804 return _StickerPack.Contract.contract.Transact(opts, method, params...) 10805 } 10806 10807 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 10808 // 10809 // Solidity: function balanceOf(address owner) view returns(uint256) 10810 func (_StickerPack *StickerPackCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 10811 var out []interface{} 10812 err := _StickerPack.contract.Call(opts, &out, "balanceOf", owner) 10813 10814 if err != nil { 10815 return *new(*big.Int), err 10816 } 10817 10818 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 10819 10820 return out0, err 10821 10822 } 10823 10824 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 10825 // 10826 // Solidity: function balanceOf(address owner) view returns(uint256) 10827 func (_StickerPack *StickerPackSession) BalanceOf(owner common.Address) (*big.Int, error) { 10828 return _StickerPack.Contract.BalanceOf(&_StickerPack.CallOpts, owner) 10829 } 10830 10831 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 10832 // 10833 // Solidity: function balanceOf(address owner) view returns(uint256) 10834 func (_StickerPack *StickerPackCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 10835 return _StickerPack.Contract.BalanceOf(&_StickerPack.CallOpts, owner) 10836 } 10837 10838 // Controller is a free data retrieval call binding the contract method 0xf77c4791. 10839 // 10840 // Solidity: function controller() view returns(address) 10841 func (_StickerPack *StickerPackCaller) Controller(opts *bind.CallOpts) (common.Address, error) { 10842 var out []interface{} 10843 err := _StickerPack.contract.Call(opts, &out, "controller") 10844 10845 if err != nil { 10846 return *new(common.Address), err 10847 } 10848 10849 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 10850 10851 return out0, err 10852 10853 } 10854 10855 // Controller is a free data retrieval call binding the contract method 0xf77c4791. 10856 // 10857 // Solidity: function controller() view returns(address) 10858 func (_StickerPack *StickerPackSession) Controller() (common.Address, error) { 10859 return _StickerPack.Contract.Controller(&_StickerPack.CallOpts) 10860 } 10861 10862 // Controller is a free data retrieval call binding the contract method 0xf77c4791. 10863 // 10864 // Solidity: function controller() view returns(address) 10865 func (_StickerPack *StickerPackCallerSession) Controller() (common.Address, error) { 10866 return _StickerPack.Contract.Controller(&_StickerPack.CallOpts) 10867 } 10868 10869 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 10870 // 10871 // Solidity: function getApproved(uint256 tokenId) view returns(address) 10872 func (_StickerPack *StickerPackCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 10873 var out []interface{} 10874 err := _StickerPack.contract.Call(opts, &out, "getApproved", tokenId) 10875 10876 if err != nil { 10877 return *new(common.Address), err 10878 } 10879 10880 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 10881 10882 return out0, err 10883 10884 } 10885 10886 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 10887 // 10888 // Solidity: function getApproved(uint256 tokenId) view returns(address) 10889 func (_StickerPack *StickerPackSession) GetApproved(tokenId *big.Int) (common.Address, error) { 10890 return _StickerPack.Contract.GetApproved(&_StickerPack.CallOpts, tokenId) 10891 } 10892 10893 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 10894 // 10895 // Solidity: function getApproved(uint256 tokenId) view returns(address) 10896 func (_StickerPack *StickerPackCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 10897 return _StickerPack.Contract.GetApproved(&_StickerPack.CallOpts, tokenId) 10898 } 10899 10900 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 10901 // 10902 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 10903 func (_StickerPack *StickerPackCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 10904 var out []interface{} 10905 err := _StickerPack.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 10906 10907 if err != nil { 10908 return *new(bool), err 10909 } 10910 10911 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 10912 10913 return out0, err 10914 10915 } 10916 10917 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 10918 // 10919 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 10920 func (_StickerPack *StickerPackSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 10921 return _StickerPack.Contract.IsApprovedForAll(&_StickerPack.CallOpts, owner, operator) 10922 } 10923 10924 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 10925 // 10926 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 10927 func (_StickerPack *StickerPackCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 10928 return _StickerPack.Contract.IsApprovedForAll(&_StickerPack.CallOpts, owner, operator) 10929 } 10930 10931 // Name is a free data retrieval call binding the contract method 0x06fdde03. 10932 // 10933 // Solidity: function name() view returns(string) 10934 func (_StickerPack *StickerPackCaller) Name(opts *bind.CallOpts) (string, error) { 10935 var out []interface{} 10936 err := _StickerPack.contract.Call(opts, &out, "name") 10937 10938 if err != nil { 10939 return *new(string), err 10940 } 10941 10942 out0 := *abi.ConvertType(out[0], new(string)).(*string) 10943 10944 return out0, err 10945 10946 } 10947 10948 // Name is a free data retrieval call binding the contract method 0x06fdde03. 10949 // 10950 // Solidity: function name() view returns(string) 10951 func (_StickerPack *StickerPackSession) Name() (string, error) { 10952 return _StickerPack.Contract.Name(&_StickerPack.CallOpts) 10953 } 10954 10955 // Name is a free data retrieval call binding the contract method 0x06fdde03. 10956 // 10957 // Solidity: function name() view returns(string) 10958 func (_StickerPack *StickerPackCallerSession) Name() (string, error) { 10959 return _StickerPack.Contract.Name(&_StickerPack.CallOpts) 10960 } 10961 10962 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 10963 // 10964 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 10965 func (_StickerPack *StickerPackCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 10966 var out []interface{} 10967 err := _StickerPack.contract.Call(opts, &out, "ownerOf", tokenId) 10968 10969 if err != nil { 10970 return *new(common.Address), err 10971 } 10972 10973 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 10974 10975 return out0, err 10976 10977 } 10978 10979 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 10980 // 10981 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 10982 func (_StickerPack *StickerPackSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 10983 return _StickerPack.Contract.OwnerOf(&_StickerPack.CallOpts, tokenId) 10984 } 10985 10986 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 10987 // 10988 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 10989 func (_StickerPack *StickerPackCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 10990 return _StickerPack.Contract.OwnerOf(&_StickerPack.CallOpts, tokenId) 10991 } 10992 10993 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 10994 // 10995 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 10996 func (_StickerPack *StickerPackCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 10997 var out []interface{} 10998 err := _StickerPack.contract.Call(opts, &out, "supportsInterface", interfaceId) 10999 11000 if err != nil { 11001 return *new(bool), err 11002 } 11003 11004 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 11005 11006 return out0, err 11007 11008 } 11009 11010 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 11011 // 11012 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 11013 func (_StickerPack *StickerPackSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 11014 return _StickerPack.Contract.SupportsInterface(&_StickerPack.CallOpts, interfaceId) 11015 } 11016 11017 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 11018 // 11019 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 11020 func (_StickerPack *StickerPackCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 11021 return _StickerPack.Contract.SupportsInterface(&_StickerPack.CallOpts, interfaceId) 11022 } 11023 11024 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 11025 // 11026 // Solidity: function symbol() view returns(string) 11027 func (_StickerPack *StickerPackCaller) Symbol(opts *bind.CallOpts) (string, error) { 11028 var out []interface{} 11029 err := _StickerPack.contract.Call(opts, &out, "symbol") 11030 11031 if err != nil { 11032 return *new(string), err 11033 } 11034 11035 out0 := *abi.ConvertType(out[0], new(string)).(*string) 11036 11037 return out0, err 11038 11039 } 11040 11041 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 11042 // 11043 // Solidity: function symbol() view returns(string) 11044 func (_StickerPack *StickerPackSession) Symbol() (string, error) { 11045 return _StickerPack.Contract.Symbol(&_StickerPack.CallOpts) 11046 } 11047 11048 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 11049 // 11050 // Solidity: function symbol() view returns(string) 11051 func (_StickerPack *StickerPackCallerSession) Symbol() (string, error) { 11052 return _StickerPack.Contract.Symbol(&_StickerPack.CallOpts) 11053 } 11054 11055 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 11056 // 11057 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 11058 func (_StickerPack *StickerPackCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 11059 var out []interface{} 11060 err := _StickerPack.contract.Call(opts, &out, "tokenByIndex", index) 11061 11062 if err != nil { 11063 return *new(*big.Int), err 11064 } 11065 11066 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 11067 11068 return out0, err 11069 11070 } 11071 11072 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 11073 // 11074 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 11075 func (_StickerPack *StickerPackSession) TokenByIndex(index *big.Int) (*big.Int, error) { 11076 return _StickerPack.Contract.TokenByIndex(&_StickerPack.CallOpts, index) 11077 } 11078 11079 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 11080 // 11081 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 11082 func (_StickerPack *StickerPackCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 11083 return _StickerPack.Contract.TokenByIndex(&_StickerPack.CallOpts, index) 11084 } 11085 11086 // TokenCount is a free data retrieval call binding the contract method 0x9f181b5e. 11087 // 11088 // Solidity: function tokenCount() view returns(uint256) 11089 func (_StickerPack *StickerPackCaller) TokenCount(opts *bind.CallOpts) (*big.Int, error) { 11090 var out []interface{} 11091 err := _StickerPack.contract.Call(opts, &out, "tokenCount") 11092 11093 if err != nil { 11094 return *new(*big.Int), err 11095 } 11096 11097 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 11098 11099 return out0, err 11100 11101 } 11102 11103 // TokenCount is a free data retrieval call binding the contract method 0x9f181b5e. 11104 // 11105 // Solidity: function tokenCount() view returns(uint256) 11106 func (_StickerPack *StickerPackSession) TokenCount() (*big.Int, error) { 11107 return _StickerPack.Contract.TokenCount(&_StickerPack.CallOpts) 11108 } 11109 11110 // TokenCount is a free data retrieval call binding the contract method 0x9f181b5e. 11111 // 11112 // Solidity: function tokenCount() view returns(uint256) 11113 func (_StickerPack *StickerPackCallerSession) TokenCount() (*big.Int, error) { 11114 return _StickerPack.Contract.TokenCount(&_StickerPack.CallOpts) 11115 } 11116 11117 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 11118 // 11119 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 11120 func (_StickerPack *StickerPackCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 11121 var out []interface{} 11122 err := _StickerPack.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index) 11123 11124 if err != nil { 11125 return *new(*big.Int), err 11126 } 11127 11128 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 11129 11130 return out0, err 11131 11132 } 11133 11134 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 11135 // 11136 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 11137 func (_StickerPack *StickerPackSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 11138 return _StickerPack.Contract.TokenOfOwnerByIndex(&_StickerPack.CallOpts, owner, index) 11139 } 11140 11141 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 11142 // 11143 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 11144 func (_StickerPack *StickerPackCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 11145 return _StickerPack.Contract.TokenOfOwnerByIndex(&_StickerPack.CallOpts, owner, index) 11146 } 11147 11148 // TokenPackId is a free data retrieval call binding the contract method 0xa546af4c. 11149 // 11150 // Solidity: function tokenPackId(uint256 ) view returns(uint256) 11151 func (_StickerPack *StickerPackCaller) TokenPackId(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) { 11152 var out []interface{} 11153 err := _StickerPack.contract.Call(opts, &out, "tokenPackId", arg0) 11154 11155 if err != nil { 11156 return *new(*big.Int), err 11157 } 11158 11159 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 11160 11161 return out0, err 11162 11163 } 11164 11165 // TokenPackId is a free data retrieval call binding the contract method 0xa546af4c. 11166 // 11167 // Solidity: function tokenPackId(uint256 ) view returns(uint256) 11168 func (_StickerPack *StickerPackSession) TokenPackId(arg0 *big.Int) (*big.Int, error) { 11169 return _StickerPack.Contract.TokenPackId(&_StickerPack.CallOpts, arg0) 11170 } 11171 11172 // TokenPackId is a free data retrieval call binding the contract method 0xa546af4c. 11173 // 11174 // Solidity: function tokenPackId(uint256 ) view returns(uint256) 11175 func (_StickerPack *StickerPackCallerSession) TokenPackId(arg0 *big.Int) (*big.Int, error) { 11176 return _StickerPack.Contract.TokenPackId(&_StickerPack.CallOpts, arg0) 11177 } 11178 11179 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 11180 // 11181 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 11182 func (_StickerPack *StickerPackCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 11183 var out []interface{} 11184 err := _StickerPack.contract.Call(opts, &out, "tokenURI", tokenId) 11185 11186 if err != nil { 11187 return *new(string), err 11188 } 11189 11190 out0 := *abi.ConvertType(out[0], new(string)).(*string) 11191 11192 return out0, err 11193 11194 } 11195 11196 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 11197 // 11198 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 11199 func (_StickerPack *StickerPackSession) TokenURI(tokenId *big.Int) (string, error) { 11200 return _StickerPack.Contract.TokenURI(&_StickerPack.CallOpts, tokenId) 11201 } 11202 11203 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 11204 // 11205 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 11206 func (_StickerPack *StickerPackCallerSession) TokenURI(tokenId *big.Int) (string, error) { 11207 return _StickerPack.Contract.TokenURI(&_StickerPack.CallOpts, tokenId) 11208 } 11209 11210 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 11211 // 11212 // Solidity: function totalSupply() view returns(uint256) 11213 func (_StickerPack *StickerPackCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 11214 var out []interface{} 11215 err := _StickerPack.contract.Call(opts, &out, "totalSupply") 11216 11217 if err != nil { 11218 return *new(*big.Int), err 11219 } 11220 11221 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 11222 11223 return out0, err 11224 11225 } 11226 11227 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 11228 // 11229 // Solidity: function totalSupply() view returns(uint256) 11230 func (_StickerPack *StickerPackSession) TotalSupply() (*big.Int, error) { 11231 return _StickerPack.Contract.TotalSupply(&_StickerPack.CallOpts) 11232 } 11233 11234 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 11235 // 11236 // Solidity: function totalSupply() view returns(uint256) 11237 func (_StickerPack *StickerPackCallerSession) TotalSupply() (*big.Int, error) { 11238 return _StickerPack.Contract.TotalSupply(&_StickerPack.CallOpts) 11239 } 11240 11241 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 11242 // 11243 // Solidity: function approve(address to, uint256 tokenId) returns() 11244 func (_StickerPack *StickerPackTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 11245 return _StickerPack.contract.Transact(opts, "approve", to, tokenId) 11246 } 11247 11248 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 11249 // 11250 // Solidity: function approve(address to, uint256 tokenId) returns() 11251 func (_StickerPack *StickerPackSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 11252 return _StickerPack.Contract.Approve(&_StickerPack.TransactOpts, to, tokenId) 11253 } 11254 11255 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 11256 // 11257 // Solidity: function approve(address to, uint256 tokenId) returns() 11258 func (_StickerPack *StickerPackTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 11259 return _StickerPack.Contract.Approve(&_StickerPack.TransactOpts, to, tokenId) 11260 } 11261 11262 // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823. 11263 // 11264 // Solidity: function changeController(address _newController) returns() 11265 func (_StickerPack *StickerPackTransactor) ChangeController(opts *bind.TransactOpts, _newController common.Address) (*types.Transaction, error) { 11266 return _StickerPack.contract.Transact(opts, "changeController", _newController) 11267 } 11268 11269 // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823. 11270 // 11271 // Solidity: function changeController(address _newController) returns() 11272 func (_StickerPack *StickerPackSession) ChangeController(_newController common.Address) (*types.Transaction, error) { 11273 return _StickerPack.Contract.ChangeController(&_StickerPack.TransactOpts, _newController) 11274 } 11275 11276 // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823. 11277 // 11278 // Solidity: function changeController(address _newController) returns() 11279 func (_StickerPack *StickerPackTransactorSession) ChangeController(_newController common.Address) (*types.Transaction, error) { 11280 return _StickerPack.Contract.ChangeController(&_StickerPack.TransactOpts, _newController) 11281 } 11282 11283 // ClaimTokens is a paid mutator transaction binding the contract method 0xdf8de3e7. 11284 // 11285 // Solidity: function claimTokens(address _token) returns() 11286 func (_StickerPack *StickerPackTransactor) ClaimTokens(opts *bind.TransactOpts, _token common.Address) (*types.Transaction, error) { 11287 return _StickerPack.contract.Transact(opts, "claimTokens", _token) 11288 } 11289 11290 // ClaimTokens is a paid mutator transaction binding the contract method 0xdf8de3e7. 11291 // 11292 // Solidity: function claimTokens(address _token) returns() 11293 func (_StickerPack *StickerPackSession) ClaimTokens(_token common.Address) (*types.Transaction, error) { 11294 return _StickerPack.Contract.ClaimTokens(&_StickerPack.TransactOpts, _token) 11295 } 11296 11297 // ClaimTokens is a paid mutator transaction binding the contract method 0xdf8de3e7. 11298 // 11299 // Solidity: function claimTokens(address _token) returns() 11300 func (_StickerPack *StickerPackTransactorSession) ClaimTokens(_token common.Address) (*types.Transaction, error) { 11301 return _StickerPack.Contract.ClaimTokens(&_StickerPack.TransactOpts, _token) 11302 } 11303 11304 // GenerateToken is a paid mutator transaction binding the contract method 0x188b5372. 11305 // 11306 // Solidity: function generateToken(address _owner, uint256 _packId) returns(uint256 tokenId) 11307 func (_StickerPack *StickerPackTransactor) GenerateToken(opts *bind.TransactOpts, _owner common.Address, _packId *big.Int) (*types.Transaction, error) { 11308 return _StickerPack.contract.Transact(opts, "generateToken", _owner, _packId) 11309 } 11310 11311 // GenerateToken is a paid mutator transaction binding the contract method 0x188b5372. 11312 // 11313 // Solidity: function generateToken(address _owner, uint256 _packId) returns(uint256 tokenId) 11314 func (_StickerPack *StickerPackSession) GenerateToken(_owner common.Address, _packId *big.Int) (*types.Transaction, error) { 11315 return _StickerPack.Contract.GenerateToken(&_StickerPack.TransactOpts, _owner, _packId) 11316 } 11317 11318 // GenerateToken is a paid mutator transaction binding the contract method 0x188b5372. 11319 // 11320 // Solidity: function generateToken(address _owner, uint256 _packId) returns(uint256 tokenId) 11321 func (_StickerPack *StickerPackTransactorSession) GenerateToken(_owner common.Address, _packId *big.Int) (*types.Transaction, error) { 11322 return _StickerPack.Contract.GenerateToken(&_StickerPack.TransactOpts, _owner, _packId) 11323 } 11324 11325 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 11326 // 11327 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 11328 func (_StickerPack *StickerPackTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 11329 return _StickerPack.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 11330 } 11331 11332 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 11333 // 11334 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 11335 func (_StickerPack *StickerPackSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 11336 return _StickerPack.Contract.SafeTransferFrom(&_StickerPack.TransactOpts, from, to, tokenId) 11337 } 11338 11339 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 11340 // 11341 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 11342 func (_StickerPack *StickerPackTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 11343 return _StickerPack.Contract.SafeTransferFrom(&_StickerPack.TransactOpts, from, to, tokenId) 11344 } 11345 11346 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 11347 // 11348 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 11349 func (_StickerPack *StickerPackTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 11350 return _StickerPack.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 11351 } 11352 11353 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 11354 // 11355 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 11356 func (_StickerPack *StickerPackSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 11357 return _StickerPack.Contract.SafeTransferFrom0(&_StickerPack.TransactOpts, from, to, tokenId, _data) 11358 } 11359 11360 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 11361 // 11362 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 11363 func (_StickerPack *StickerPackTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 11364 return _StickerPack.Contract.SafeTransferFrom0(&_StickerPack.TransactOpts, from, to, tokenId, _data) 11365 } 11366 11367 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 11368 // 11369 // Solidity: function setApprovalForAll(address to, bool approved) returns() 11370 func (_StickerPack *StickerPackTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 11371 return _StickerPack.contract.Transact(opts, "setApprovalForAll", to, approved) 11372 } 11373 11374 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 11375 // 11376 // Solidity: function setApprovalForAll(address to, bool approved) returns() 11377 func (_StickerPack *StickerPackSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 11378 return _StickerPack.Contract.SetApprovalForAll(&_StickerPack.TransactOpts, to, approved) 11379 } 11380 11381 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 11382 // 11383 // Solidity: function setApprovalForAll(address to, bool approved) returns() 11384 func (_StickerPack *StickerPackTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 11385 return _StickerPack.Contract.SetApprovalForAll(&_StickerPack.TransactOpts, to, approved) 11386 } 11387 11388 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 11389 // 11390 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 11391 func (_StickerPack *StickerPackTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 11392 return _StickerPack.contract.Transact(opts, "transferFrom", from, to, tokenId) 11393 } 11394 11395 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 11396 // 11397 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 11398 func (_StickerPack *StickerPackSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 11399 return _StickerPack.Contract.TransferFrom(&_StickerPack.TransactOpts, from, to, tokenId) 11400 } 11401 11402 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 11403 // 11404 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 11405 func (_StickerPack *StickerPackTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 11406 return _StickerPack.Contract.TransferFrom(&_StickerPack.TransactOpts, from, to, tokenId) 11407 } 11408 11409 // StickerPackApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the StickerPack contract. 11410 type StickerPackApprovalIterator struct { 11411 Event *StickerPackApproval // Event containing the contract specifics and raw log 11412 11413 contract *bind.BoundContract // Generic contract to use for unpacking event data 11414 event string // Event name to use for unpacking event data 11415 11416 logs chan types.Log // Log channel receiving the found contract events 11417 sub ethereum.Subscription // Subscription for errors, completion and termination 11418 done bool // Whether the subscription completed delivering logs 11419 fail error // Occurred error to stop iteration 11420 } 11421 11422 // Next advances the iterator to the subsequent event, returning whether there 11423 // are any more events found. In case of a retrieval or parsing error, false is 11424 // returned and Error() can be queried for the exact failure. 11425 func (it *StickerPackApprovalIterator) Next() bool { 11426 // If the iterator failed, stop iterating 11427 if it.fail != nil { 11428 return false 11429 } 11430 // If the iterator completed, deliver directly whatever's available 11431 if it.done { 11432 select { 11433 case log := <-it.logs: 11434 it.Event = new(StickerPackApproval) 11435 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11436 it.fail = err 11437 return false 11438 } 11439 it.Event.Raw = log 11440 return true 11441 11442 default: 11443 return false 11444 } 11445 } 11446 // Iterator still in progress, wait for either a data or an error event 11447 select { 11448 case log := <-it.logs: 11449 it.Event = new(StickerPackApproval) 11450 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11451 it.fail = err 11452 return false 11453 } 11454 it.Event.Raw = log 11455 return true 11456 11457 case err := <-it.sub.Err(): 11458 it.done = true 11459 it.fail = err 11460 return it.Next() 11461 } 11462 } 11463 11464 // Error returns any retrieval or parsing error occurred during filtering. 11465 func (it *StickerPackApprovalIterator) Error() error { 11466 return it.fail 11467 } 11468 11469 // Close terminates the iteration process, releasing any pending underlying 11470 // resources. 11471 func (it *StickerPackApprovalIterator) Close() error { 11472 it.sub.Unsubscribe() 11473 return nil 11474 } 11475 11476 // StickerPackApproval represents a Approval event raised by the StickerPack contract. 11477 type StickerPackApproval struct { 11478 Owner common.Address 11479 Approved common.Address 11480 TokenId *big.Int 11481 Raw types.Log // Blockchain specific contextual infos 11482 } 11483 11484 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 11485 // 11486 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 11487 func (_StickerPack *StickerPackFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*StickerPackApprovalIterator, error) { 11488 11489 var ownerRule []interface{} 11490 for _, ownerItem := range owner { 11491 ownerRule = append(ownerRule, ownerItem) 11492 } 11493 var approvedRule []interface{} 11494 for _, approvedItem := range approved { 11495 approvedRule = append(approvedRule, approvedItem) 11496 } 11497 var tokenIdRule []interface{} 11498 for _, tokenIdItem := range tokenId { 11499 tokenIdRule = append(tokenIdRule, tokenIdItem) 11500 } 11501 11502 logs, sub, err := _StickerPack.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 11503 if err != nil { 11504 return nil, err 11505 } 11506 return &StickerPackApprovalIterator{contract: _StickerPack.contract, event: "Approval", logs: logs, sub: sub}, nil 11507 } 11508 11509 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 11510 // 11511 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 11512 func (_StickerPack *StickerPackFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *StickerPackApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 11513 11514 var ownerRule []interface{} 11515 for _, ownerItem := range owner { 11516 ownerRule = append(ownerRule, ownerItem) 11517 } 11518 var approvedRule []interface{} 11519 for _, approvedItem := range approved { 11520 approvedRule = append(approvedRule, approvedItem) 11521 } 11522 var tokenIdRule []interface{} 11523 for _, tokenIdItem := range tokenId { 11524 tokenIdRule = append(tokenIdRule, tokenIdItem) 11525 } 11526 11527 logs, sub, err := _StickerPack.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 11528 if err != nil { 11529 return nil, err 11530 } 11531 return event.NewSubscription(func(quit <-chan struct{}) error { 11532 defer sub.Unsubscribe() 11533 for { 11534 select { 11535 case log := <-logs: 11536 // New log arrived, parse the event and forward to the user 11537 event := new(StickerPackApproval) 11538 if err := _StickerPack.contract.UnpackLog(event, "Approval", log); err != nil { 11539 return err 11540 } 11541 event.Raw = log 11542 11543 select { 11544 case sink <- event: 11545 case err := <-sub.Err(): 11546 return err 11547 case <-quit: 11548 return nil 11549 } 11550 case err := <-sub.Err(): 11551 return err 11552 case <-quit: 11553 return nil 11554 } 11555 } 11556 }), nil 11557 } 11558 11559 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 11560 // 11561 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 11562 func (_StickerPack *StickerPackFilterer) ParseApproval(log types.Log) (*StickerPackApproval, error) { 11563 event := new(StickerPackApproval) 11564 if err := _StickerPack.contract.UnpackLog(event, "Approval", log); err != nil { 11565 return nil, err 11566 } 11567 event.Raw = log 11568 return event, nil 11569 } 11570 11571 // StickerPackApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the StickerPack contract. 11572 type StickerPackApprovalForAllIterator struct { 11573 Event *StickerPackApprovalForAll // Event containing the contract specifics and raw log 11574 11575 contract *bind.BoundContract // Generic contract to use for unpacking event data 11576 event string // Event name to use for unpacking event data 11577 11578 logs chan types.Log // Log channel receiving the found contract events 11579 sub ethereum.Subscription // Subscription for errors, completion and termination 11580 done bool // Whether the subscription completed delivering logs 11581 fail error // Occurred error to stop iteration 11582 } 11583 11584 // Next advances the iterator to the subsequent event, returning whether there 11585 // are any more events found. In case of a retrieval or parsing error, false is 11586 // returned and Error() can be queried for the exact failure. 11587 func (it *StickerPackApprovalForAllIterator) Next() bool { 11588 // If the iterator failed, stop iterating 11589 if it.fail != nil { 11590 return false 11591 } 11592 // If the iterator completed, deliver directly whatever's available 11593 if it.done { 11594 select { 11595 case log := <-it.logs: 11596 it.Event = new(StickerPackApprovalForAll) 11597 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11598 it.fail = err 11599 return false 11600 } 11601 it.Event.Raw = log 11602 return true 11603 11604 default: 11605 return false 11606 } 11607 } 11608 // Iterator still in progress, wait for either a data or an error event 11609 select { 11610 case log := <-it.logs: 11611 it.Event = new(StickerPackApprovalForAll) 11612 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11613 it.fail = err 11614 return false 11615 } 11616 it.Event.Raw = log 11617 return true 11618 11619 case err := <-it.sub.Err(): 11620 it.done = true 11621 it.fail = err 11622 return it.Next() 11623 } 11624 } 11625 11626 // Error returns any retrieval or parsing error occurred during filtering. 11627 func (it *StickerPackApprovalForAllIterator) Error() error { 11628 return it.fail 11629 } 11630 11631 // Close terminates the iteration process, releasing any pending underlying 11632 // resources. 11633 func (it *StickerPackApprovalForAllIterator) Close() error { 11634 it.sub.Unsubscribe() 11635 return nil 11636 } 11637 11638 // StickerPackApprovalForAll represents a ApprovalForAll event raised by the StickerPack contract. 11639 type StickerPackApprovalForAll struct { 11640 Owner common.Address 11641 Operator common.Address 11642 Approved bool 11643 Raw types.Log // Blockchain specific contextual infos 11644 } 11645 11646 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 11647 // 11648 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 11649 func (_StickerPack *StickerPackFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*StickerPackApprovalForAllIterator, error) { 11650 11651 var ownerRule []interface{} 11652 for _, ownerItem := range owner { 11653 ownerRule = append(ownerRule, ownerItem) 11654 } 11655 var operatorRule []interface{} 11656 for _, operatorItem := range operator { 11657 operatorRule = append(operatorRule, operatorItem) 11658 } 11659 11660 logs, sub, err := _StickerPack.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 11661 if err != nil { 11662 return nil, err 11663 } 11664 return &StickerPackApprovalForAllIterator{contract: _StickerPack.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 11665 } 11666 11667 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 11668 // 11669 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 11670 func (_StickerPack *StickerPackFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *StickerPackApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 11671 11672 var ownerRule []interface{} 11673 for _, ownerItem := range owner { 11674 ownerRule = append(ownerRule, ownerItem) 11675 } 11676 var operatorRule []interface{} 11677 for _, operatorItem := range operator { 11678 operatorRule = append(operatorRule, operatorItem) 11679 } 11680 11681 logs, sub, err := _StickerPack.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 11682 if err != nil { 11683 return nil, err 11684 } 11685 return event.NewSubscription(func(quit <-chan struct{}) error { 11686 defer sub.Unsubscribe() 11687 for { 11688 select { 11689 case log := <-logs: 11690 // New log arrived, parse the event and forward to the user 11691 event := new(StickerPackApprovalForAll) 11692 if err := _StickerPack.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 11693 return err 11694 } 11695 event.Raw = log 11696 11697 select { 11698 case sink <- event: 11699 case err := <-sub.Err(): 11700 return err 11701 case <-quit: 11702 return nil 11703 } 11704 case err := <-sub.Err(): 11705 return err 11706 case <-quit: 11707 return nil 11708 } 11709 } 11710 }), nil 11711 } 11712 11713 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 11714 // 11715 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 11716 func (_StickerPack *StickerPackFilterer) ParseApprovalForAll(log types.Log) (*StickerPackApprovalForAll, error) { 11717 event := new(StickerPackApprovalForAll) 11718 if err := _StickerPack.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 11719 return nil, err 11720 } 11721 event.Raw = log 11722 return event, nil 11723 } 11724 11725 // StickerPackClaimedTokensIterator is returned from FilterClaimedTokens and is used to iterate over the raw logs and unpacked data for ClaimedTokens events raised by the StickerPack contract. 11726 type StickerPackClaimedTokensIterator struct { 11727 Event *StickerPackClaimedTokens // Event containing the contract specifics and raw log 11728 11729 contract *bind.BoundContract // Generic contract to use for unpacking event data 11730 event string // Event name to use for unpacking event data 11731 11732 logs chan types.Log // Log channel receiving the found contract events 11733 sub ethereum.Subscription // Subscription for errors, completion and termination 11734 done bool // Whether the subscription completed delivering logs 11735 fail error // Occurred error to stop iteration 11736 } 11737 11738 // Next advances the iterator to the subsequent event, returning whether there 11739 // are any more events found. In case of a retrieval or parsing error, false is 11740 // returned and Error() can be queried for the exact failure. 11741 func (it *StickerPackClaimedTokensIterator) Next() bool { 11742 // If the iterator failed, stop iterating 11743 if it.fail != nil { 11744 return false 11745 } 11746 // If the iterator completed, deliver directly whatever's available 11747 if it.done { 11748 select { 11749 case log := <-it.logs: 11750 it.Event = new(StickerPackClaimedTokens) 11751 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11752 it.fail = err 11753 return false 11754 } 11755 it.Event.Raw = log 11756 return true 11757 11758 default: 11759 return false 11760 } 11761 } 11762 // Iterator still in progress, wait for either a data or an error event 11763 select { 11764 case log := <-it.logs: 11765 it.Event = new(StickerPackClaimedTokens) 11766 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11767 it.fail = err 11768 return false 11769 } 11770 it.Event.Raw = log 11771 return true 11772 11773 case err := <-it.sub.Err(): 11774 it.done = true 11775 it.fail = err 11776 return it.Next() 11777 } 11778 } 11779 11780 // Error returns any retrieval or parsing error occurred during filtering. 11781 func (it *StickerPackClaimedTokensIterator) Error() error { 11782 return it.fail 11783 } 11784 11785 // Close terminates the iteration process, releasing any pending underlying 11786 // resources. 11787 func (it *StickerPackClaimedTokensIterator) Close() error { 11788 it.sub.Unsubscribe() 11789 return nil 11790 } 11791 11792 // StickerPackClaimedTokens represents a ClaimedTokens event raised by the StickerPack contract. 11793 type StickerPackClaimedTokens struct { 11794 Token common.Address 11795 Controller common.Address 11796 Amount *big.Int 11797 Raw types.Log // Blockchain specific contextual infos 11798 } 11799 11800 // FilterClaimedTokens is a free log retrieval operation binding the contract event 0xf931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c. 11801 // 11802 // Solidity: event ClaimedTokens(address indexed _token, address indexed _controller, uint256 _amount) 11803 func (_StickerPack *StickerPackFilterer) FilterClaimedTokens(opts *bind.FilterOpts, _token []common.Address, _controller []common.Address) (*StickerPackClaimedTokensIterator, error) { 11804 11805 var _tokenRule []interface{} 11806 for _, _tokenItem := range _token { 11807 _tokenRule = append(_tokenRule, _tokenItem) 11808 } 11809 var _controllerRule []interface{} 11810 for _, _controllerItem := range _controller { 11811 _controllerRule = append(_controllerRule, _controllerItem) 11812 } 11813 11814 logs, sub, err := _StickerPack.contract.FilterLogs(opts, "ClaimedTokens", _tokenRule, _controllerRule) 11815 if err != nil { 11816 return nil, err 11817 } 11818 return &StickerPackClaimedTokensIterator{contract: _StickerPack.contract, event: "ClaimedTokens", logs: logs, sub: sub}, nil 11819 } 11820 11821 // WatchClaimedTokens is a free log subscription operation binding the contract event 0xf931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c. 11822 // 11823 // Solidity: event ClaimedTokens(address indexed _token, address indexed _controller, uint256 _amount) 11824 func (_StickerPack *StickerPackFilterer) WatchClaimedTokens(opts *bind.WatchOpts, sink chan<- *StickerPackClaimedTokens, _token []common.Address, _controller []common.Address) (event.Subscription, error) { 11825 11826 var _tokenRule []interface{} 11827 for _, _tokenItem := range _token { 11828 _tokenRule = append(_tokenRule, _tokenItem) 11829 } 11830 var _controllerRule []interface{} 11831 for _, _controllerItem := range _controller { 11832 _controllerRule = append(_controllerRule, _controllerItem) 11833 } 11834 11835 logs, sub, err := _StickerPack.contract.WatchLogs(opts, "ClaimedTokens", _tokenRule, _controllerRule) 11836 if err != nil { 11837 return nil, err 11838 } 11839 return event.NewSubscription(func(quit <-chan struct{}) error { 11840 defer sub.Unsubscribe() 11841 for { 11842 select { 11843 case log := <-logs: 11844 // New log arrived, parse the event and forward to the user 11845 event := new(StickerPackClaimedTokens) 11846 if err := _StickerPack.contract.UnpackLog(event, "ClaimedTokens", log); err != nil { 11847 return err 11848 } 11849 event.Raw = log 11850 11851 select { 11852 case sink <- event: 11853 case err := <-sub.Err(): 11854 return err 11855 case <-quit: 11856 return nil 11857 } 11858 case err := <-sub.Err(): 11859 return err 11860 case <-quit: 11861 return nil 11862 } 11863 } 11864 }), nil 11865 } 11866 11867 // ParseClaimedTokens is a log parse operation binding the contract event 0xf931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c. 11868 // 11869 // Solidity: event ClaimedTokens(address indexed _token, address indexed _controller, uint256 _amount) 11870 func (_StickerPack *StickerPackFilterer) ParseClaimedTokens(log types.Log) (*StickerPackClaimedTokens, error) { 11871 event := new(StickerPackClaimedTokens) 11872 if err := _StickerPack.contract.UnpackLog(event, "ClaimedTokens", log); err != nil { 11873 return nil, err 11874 } 11875 event.Raw = log 11876 return event, nil 11877 } 11878 11879 // StickerPackNewControllerIterator is returned from FilterNewController and is used to iterate over the raw logs and unpacked data for NewController events raised by the StickerPack contract. 11880 type StickerPackNewControllerIterator struct { 11881 Event *StickerPackNewController // Event containing the contract specifics and raw log 11882 11883 contract *bind.BoundContract // Generic contract to use for unpacking event data 11884 event string // Event name to use for unpacking event data 11885 11886 logs chan types.Log // Log channel receiving the found contract events 11887 sub ethereum.Subscription // Subscription for errors, completion and termination 11888 done bool // Whether the subscription completed delivering logs 11889 fail error // Occurred error to stop iteration 11890 } 11891 11892 // Next advances the iterator to the subsequent event, returning whether there 11893 // are any more events found. In case of a retrieval or parsing error, false is 11894 // returned and Error() can be queried for the exact failure. 11895 func (it *StickerPackNewControllerIterator) Next() bool { 11896 // If the iterator failed, stop iterating 11897 if it.fail != nil { 11898 return false 11899 } 11900 // If the iterator completed, deliver directly whatever's available 11901 if it.done { 11902 select { 11903 case log := <-it.logs: 11904 it.Event = new(StickerPackNewController) 11905 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11906 it.fail = err 11907 return false 11908 } 11909 it.Event.Raw = log 11910 return true 11911 11912 default: 11913 return false 11914 } 11915 } 11916 // Iterator still in progress, wait for either a data or an error event 11917 select { 11918 case log := <-it.logs: 11919 it.Event = new(StickerPackNewController) 11920 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11921 it.fail = err 11922 return false 11923 } 11924 it.Event.Raw = log 11925 return true 11926 11927 case err := <-it.sub.Err(): 11928 it.done = true 11929 it.fail = err 11930 return it.Next() 11931 } 11932 } 11933 11934 // Error returns any retrieval or parsing error occurred during filtering. 11935 func (it *StickerPackNewControllerIterator) Error() error { 11936 return it.fail 11937 } 11938 11939 // Close terminates the iteration process, releasing any pending underlying 11940 // resources. 11941 func (it *StickerPackNewControllerIterator) Close() error { 11942 it.sub.Unsubscribe() 11943 return nil 11944 } 11945 11946 // StickerPackNewController represents a NewController event raised by the StickerPack contract. 11947 type StickerPackNewController struct { 11948 Controller common.Address 11949 Raw types.Log // Blockchain specific contextual infos 11950 } 11951 11952 // FilterNewController is a free log retrieval operation binding the contract event 0xe253457d9ad994ca9682fc3bbc38c890dca73a2d5ecee3809e548bac8b00d7c6. 11953 // 11954 // Solidity: event NewController(address controller) 11955 func (_StickerPack *StickerPackFilterer) FilterNewController(opts *bind.FilterOpts) (*StickerPackNewControllerIterator, error) { 11956 11957 logs, sub, err := _StickerPack.contract.FilterLogs(opts, "NewController") 11958 if err != nil { 11959 return nil, err 11960 } 11961 return &StickerPackNewControllerIterator{contract: _StickerPack.contract, event: "NewController", logs: logs, sub: sub}, nil 11962 } 11963 11964 // WatchNewController is a free log subscription operation binding the contract event 0xe253457d9ad994ca9682fc3bbc38c890dca73a2d5ecee3809e548bac8b00d7c6. 11965 // 11966 // Solidity: event NewController(address controller) 11967 func (_StickerPack *StickerPackFilterer) WatchNewController(opts *bind.WatchOpts, sink chan<- *StickerPackNewController) (event.Subscription, error) { 11968 11969 logs, sub, err := _StickerPack.contract.WatchLogs(opts, "NewController") 11970 if err != nil { 11971 return nil, err 11972 } 11973 return event.NewSubscription(func(quit <-chan struct{}) error { 11974 defer sub.Unsubscribe() 11975 for { 11976 select { 11977 case log := <-logs: 11978 // New log arrived, parse the event and forward to the user 11979 event := new(StickerPackNewController) 11980 if err := _StickerPack.contract.UnpackLog(event, "NewController", log); err != nil { 11981 return err 11982 } 11983 event.Raw = log 11984 11985 select { 11986 case sink <- event: 11987 case err := <-sub.Err(): 11988 return err 11989 case <-quit: 11990 return nil 11991 } 11992 case err := <-sub.Err(): 11993 return err 11994 case <-quit: 11995 return nil 11996 } 11997 } 11998 }), nil 11999 } 12000 12001 // ParseNewController is a log parse operation binding the contract event 0xe253457d9ad994ca9682fc3bbc38c890dca73a2d5ecee3809e548bac8b00d7c6. 12002 // 12003 // Solidity: event NewController(address controller) 12004 func (_StickerPack *StickerPackFilterer) ParseNewController(log types.Log) (*StickerPackNewController, error) { 12005 event := new(StickerPackNewController) 12006 if err := _StickerPack.contract.UnpackLog(event, "NewController", log); err != nil { 12007 return nil, err 12008 } 12009 event.Raw = log 12010 return event, nil 12011 } 12012 12013 // StickerPackTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the StickerPack contract. 12014 type StickerPackTransferIterator struct { 12015 Event *StickerPackTransfer // Event containing the contract specifics and raw log 12016 12017 contract *bind.BoundContract // Generic contract to use for unpacking event data 12018 event string // Event name to use for unpacking event data 12019 12020 logs chan types.Log // Log channel receiving the found contract events 12021 sub ethereum.Subscription // Subscription for errors, completion and termination 12022 done bool // Whether the subscription completed delivering logs 12023 fail error // Occurred error to stop iteration 12024 } 12025 12026 // Next advances the iterator to the subsequent event, returning whether there 12027 // are any more events found. In case of a retrieval or parsing error, false is 12028 // returned and Error() can be queried for the exact failure. 12029 func (it *StickerPackTransferIterator) Next() bool { 12030 // If the iterator failed, stop iterating 12031 if it.fail != nil { 12032 return false 12033 } 12034 // If the iterator completed, deliver directly whatever's available 12035 if it.done { 12036 select { 12037 case log := <-it.logs: 12038 it.Event = new(StickerPackTransfer) 12039 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12040 it.fail = err 12041 return false 12042 } 12043 it.Event.Raw = log 12044 return true 12045 12046 default: 12047 return false 12048 } 12049 } 12050 // Iterator still in progress, wait for either a data or an error event 12051 select { 12052 case log := <-it.logs: 12053 it.Event = new(StickerPackTransfer) 12054 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12055 it.fail = err 12056 return false 12057 } 12058 it.Event.Raw = log 12059 return true 12060 12061 case err := <-it.sub.Err(): 12062 it.done = true 12063 it.fail = err 12064 return it.Next() 12065 } 12066 } 12067 12068 // Error returns any retrieval or parsing error occurred during filtering. 12069 func (it *StickerPackTransferIterator) Error() error { 12070 return it.fail 12071 } 12072 12073 // Close terminates the iteration process, releasing any pending underlying 12074 // resources. 12075 func (it *StickerPackTransferIterator) Close() error { 12076 it.sub.Unsubscribe() 12077 return nil 12078 } 12079 12080 // StickerPackTransfer represents a Transfer event raised by the StickerPack contract. 12081 type StickerPackTransfer struct { 12082 From common.Address 12083 To common.Address 12084 TokenId *big.Int 12085 Raw types.Log // Blockchain specific contextual infos 12086 } 12087 12088 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 12089 // 12090 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 12091 func (_StickerPack *StickerPackFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*StickerPackTransferIterator, error) { 12092 12093 var fromRule []interface{} 12094 for _, fromItem := range from { 12095 fromRule = append(fromRule, fromItem) 12096 } 12097 var toRule []interface{} 12098 for _, toItem := range to { 12099 toRule = append(toRule, toItem) 12100 } 12101 var tokenIdRule []interface{} 12102 for _, tokenIdItem := range tokenId { 12103 tokenIdRule = append(tokenIdRule, tokenIdItem) 12104 } 12105 12106 logs, sub, err := _StickerPack.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 12107 if err != nil { 12108 return nil, err 12109 } 12110 return &StickerPackTransferIterator{contract: _StickerPack.contract, event: "Transfer", logs: logs, sub: sub}, nil 12111 } 12112 12113 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 12114 // 12115 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 12116 func (_StickerPack *StickerPackFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *StickerPackTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 12117 12118 var fromRule []interface{} 12119 for _, fromItem := range from { 12120 fromRule = append(fromRule, fromItem) 12121 } 12122 var toRule []interface{} 12123 for _, toItem := range to { 12124 toRule = append(toRule, toItem) 12125 } 12126 var tokenIdRule []interface{} 12127 for _, tokenIdItem := range tokenId { 12128 tokenIdRule = append(tokenIdRule, tokenIdItem) 12129 } 12130 12131 logs, sub, err := _StickerPack.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 12132 if err != nil { 12133 return nil, err 12134 } 12135 return event.NewSubscription(func(quit <-chan struct{}) error { 12136 defer sub.Unsubscribe() 12137 for { 12138 select { 12139 case log := <-logs: 12140 // New log arrived, parse the event and forward to the user 12141 event := new(StickerPackTransfer) 12142 if err := _StickerPack.contract.UnpackLog(event, "Transfer", log); err != nil { 12143 return err 12144 } 12145 event.Raw = log 12146 12147 select { 12148 case sink <- event: 12149 case err := <-sub.Err(): 12150 return err 12151 case <-quit: 12152 return nil 12153 } 12154 case err := <-sub.Err(): 12155 return err 12156 case <-quit: 12157 return nil 12158 } 12159 } 12160 }), nil 12161 } 12162 12163 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 12164 // 12165 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 12166 func (_StickerPack *StickerPackFilterer) ParseTransfer(log types.Log) (*StickerPackTransfer, error) { 12167 event := new(StickerPackTransfer) 12168 if err := _StickerPack.contract.UnpackLog(event, "Transfer", log); err != nil { 12169 return nil, err 12170 } 12171 event.Raw = log 12172 return event, nil 12173 } 12174 12175 // StickerTypeABI is the input ABI used to generate the binding from. 12176 const StickerTypeABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_packId\",\"type\":\"uint256\"},{\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"purgePack\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newController\",\"type\":\"address\"}],\"name\":\"changeController\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_price\",\"type\":\"uint256\"},{\"name\":\"_donate\",\"type\":\"uint256\"},{\"name\":\"_category\",\"type\":\"bytes4[]\"},{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_contenthash\",\"type\":\"bytes\"}],\"name\":\"generatePack\",\"outputs\":[{\"name\":\"packId\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"packCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_packId\",\"type\":\"uint256\"},{\"name\":\"_contenthash\",\"type\":\"bytes\"}],\"name\":\"setPackContenthash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_packId\",\"type\":\"uint256\"}],\"name\":\"getPackSummary\",\"outputs\":[{\"name\":\"category\",\"type\":\"bytes4[]\"},{\"name\":\"timestamp\",\"type\":\"uint256\"},{\"name\":\"contenthash\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_packId\",\"type\":\"uint256\"},{\"name\":\"_price\",\"type\":\"uint256\"},{\"name\":\"_donate\",\"type\":\"uint256\"}],\"name\":\"setPackPrice\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_packId\",\"type\":\"uint256\"}],\"name\":\"getPaymentData\",\"outputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"mintable\",\"type\":\"bool\"},{\"name\":\"price\",\"type\":\"uint256\"},{\"name\":\"donate\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_category\",\"type\":\"bytes4\"}],\"name\":\"getCategoryLength\",\"outputs\":[{\"name\":\"size\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_packId\",\"type\":\"uint256\"},{\"name\":\"_category\",\"type\":\"bytes4\"}],\"name\":\"addPackCategory\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_category\",\"type\":\"bytes4\"}],\"name\":\"getAvailablePacks\",\"outputs\":[{\"name\":\"availableIds\",\"type\":\"uint256[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_category\",\"type\":\"bytes4\"},{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getCategoryPack\",\"outputs\":[{\"name\":\"packId\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_packId\",\"type\":\"uint256\"},{\"name\":\"_mintable\",\"type\":\"bool\"}],\"name\":\"setPackState\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"packs\",\"outputs\":[{\"name\":\"mintable\",\"type\":\"bool\"},{\"name\":\"timestamp\",\"type\":\"uint256\"},{\"name\":\"price\",\"type\":\"uint256\"},{\"name\":\"donate\",\"type\":\"uint256\"},{\"name\":\"contenthash\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_packId\",\"type\":\"uint256\"}],\"name\":\"getPackData\",\"outputs\":[{\"name\":\"category\",\"type\":\"bytes4[]\"},{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"mintable\",\"type\":\"bool\"},{\"name\":\"timestamp\",\"type\":\"uint256\"},{\"name\":\"price\",\"type\":\"uint256\"},{\"name\":\"contenthash\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"claimTokens\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_packId\",\"type\":\"uint256\"},{\"name\":\"_category\",\"type\":\"bytes4\"}],\"name\":\"removePackCategory\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"controller\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"packId\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"dataPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"contenthash\",\"type\":\"bytes\"},{\"indexed\":false,\"name\":\"mintable\",\"type\":\"bool\"}],\"name\":\"Register\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"packId\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"dataPrice\",\"type\":\"uint256\"}],\"name\":\"PriceChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"packId\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"mintable\",\"type\":\"bool\"}],\"name\":\"MintabilityChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"packid\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"contenthash\",\"type\":\"bytes\"}],\"name\":\"ContenthashChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"category\",\"type\":\"bytes4\"},{\"indexed\":true,\"name\":\"packId\",\"type\":\"uint256\"}],\"name\":\"Categorized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"category\",\"type\":\"bytes4\"},{\"indexed\":true,\"name\":\"packId\",\"type\":\"uint256\"}],\"name\":\"Uncategorized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"packId\",\"type\":\"uint256\"}],\"name\":\"Unregister\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_controller\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"ClaimedTokens\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"NewController\",\"type\":\"event\"}]" 12177 12178 // StickerTypeFuncSigs maps the 4-byte function signature to its string representation. 12179 var StickerTypeFuncSigs = map[string]string{ 12180 "aeeaf3da": "addPackCategory(uint256,bytes4)", 12181 "095ea7b3": "approve(address,uint256)", 12182 "70a08231": "balanceOf(address)", 12183 "3cebb823": "changeController(address)", 12184 "df8de3e7": "claimTokens(address)", 12185 "f77c4791": "controller()", 12186 "4c06dc17": "generatePack(uint256,uint256,bytes4[],address,bytes)", 12187 "081812fc": "getApproved(uint256)", 12188 "b34b5825": "getAvailablePacks(bytes4)", 12189 "9f9a9b63": "getCategoryLength(bytes4)", 12190 "b5420d68": "getCategoryPack(bytes4,uint256)", 12191 "d2bf36c0": "getPackData(uint256)", 12192 "81ec792d": "getPackSummary(uint256)", 12193 "9c3a39a2": "getPaymentData(uint256)", 12194 "e985e9c5": "isApprovedForAll(address,address)", 12195 "06fdde03": "name()", 12196 "6352211e": "ownerOf(uint256)", 12197 "61bd6725": "packCount()", 12198 "b84c1392": "packs(uint256)", 12199 "00b3c91b": "purgePack(uint256,uint256)", 12200 "e8bb7143": "removePackCategory(uint256,bytes4)", 12201 "42842e0e": "safeTransferFrom(address,address,uint256)", 12202 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 12203 "a22cb465": "setApprovalForAll(address,bool)", 12204 "6a847981": "setPackContenthash(uint256,bytes)", 12205 "9389c5b5": "setPackPrice(uint256,uint256,uint256)", 12206 "b7f48211": "setPackState(uint256,bool)", 12207 "01ffc9a7": "supportsInterface(bytes4)", 12208 "95d89b41": "symbol()", 12209 "4f6ccce7": "tokenByIndex(uint256)", 12210 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 12211 "c87b56dd": "tokenURI(uint256)", 12212 "18160ddd": "totalSupply()", 12213 "23b872dd": "transferFrom(address,address,uint256)", 12214 } 12215 12216 // StickerType is an auto generated Go binding around an Ethereum contract. 12217 type StickerType struct { 12218 StickerTypeCaller // Read-only binding to the contract 12219 StickerTypeTransactor // Write-only binding to the contract 12220 StickerTypeFilterer // Log filterer for contract events 12221 } 12222 12223 // StickerTypeCaller is an auto generated read-only Go binding around an Ethereum contract. 12224 type StickerTypeCaller struct { 12225 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12226 } 12227 12228 // StickerTypeTransactor is an auto generated write-only Go binding around an Ethereum contract. 12229 type StickerTypeTransactor struct { 12230 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12231 } 12232 12233 // StickerTypeFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 12234 type StickerTypeFilterer struct { 12235 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12236 } 12237 12238 // StickerTypeSession is an auto generated Go binding around an Ethereum contract, 12239 // with pre-set call and transact options. 12240 type StickerTypeSession struct { 12241 Contract *StickerType // Generic contract binding to set the session for 12242 CallOpts bind.CallOpts // Call options to use throughout this session 12243 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 12244 } 12245 12246 // StickerTypeCallerSession is an auto generated read-only Go binding around an Ethereum contract, 12247 // with pre-set call options. 12248 type StickerTypeCallerSession struct { 12249 Contract *StickerTypeCaller // Generic contract caller binding to set the session for 12250 CallOpts bind.CallOpts // Call options to use throughout this session 12251 } 12252 12253 // StickerTypeTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 12254 // with pre-set transact options. 12255 type StickerTypeTransactorSession struct { 12256 Contract *StickerTypeTransactor // Generic contract transactor binding to set the session for 12257 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 12258 } 12259 12260 // StickerTypeRaw is an auto generated low-level Go binding around an Ethereum contract. 12261 type StickerTypeRaw struct { 12262 Contract *StickerType // Generic contract binding to access the raw methods on 12263 } 12264 12265 // StickerTypeCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 12266 type StickerTypeCallerRaw struct { 12267 Contract *StickerTypeCaller // Generic read-only contract binding to access the raw methods on 12268 } 12269 12270 // StickerTypeTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 12271 type StickerTypeTransactorRaw struct { 12272 Contract *StickerTypeTransactor // Generic write-only contract binding to access the raw methods on 12273 } 12274 12275 // NewStickerType creates a new instance of StickerType, bound to a specific deployed contract. 12276 func NewStickerType(address common.Address, backend bind.ContractBackend) (*StickerType, error) { 12277 contract, err := bindStickerType(address, backend, backend, backend) 12278 if err != nil { 12279 return nil, err 12280 } 12281 return &StickerType{StickerTypeCaller: StickerTypeCaller{contract: contract}, StickerTypeTransactor: StickerTypeTransactor{contract: contract}, StickerTypeFilterer: StickerTypeFilterer{contract: contract}}, nil 12282 } 12283 12284 // NewStickerTypeCaller creates a new read-only instance of StickerType, bound to a specific deployed contract. 12285 func NewStickerTypeCaller(address common.Address, caller bind.ContractCaller) (*StickerTypeCaller, error) { 12286 contract, err := bindStickerType(address, caller, nil, nil) 12287 if err != nil { 12288 return nil, err 12289 } 12290 return &StickerTypeCaller{contract: contract}, nil 12291 } 12292 12293 // NewStickerTypeTransactor creates a new write-only instance of StickerType, bound to a specific deployed contract. 12294 func NewStickerTypeTransactor(address common.Address, transactor bind.ContractTransactor) (*StickerTypeTransactor, error) { 12295 contract, err := bindStickerType(address, nil, transactor, nil) 12296 if err != nil { 12297 return nil, err 12298 } 12299 return &StickerTypeTransactor{contract: contract}, nil 12300 } 12301 12302 // NewStickerTypeFilterer creates a new log filterer instance of StickerType, bound to a specific deployed contract. 12303 func NewStickerTypeFilterer(address common.Address, filterer bind.ContractFilterer) (*StickerTypeFilterer, error) { 12304 contract, err := bindStickerType(address, nil, nil, filterer) 12305 if err != nil { 12306 return nil, err 12307 } 12308 return &StickerTypeFilterer{contract: contract}, nil 12309 } 12310 12311 // bindStickerType binds a generic wrapper to an already deployed contract. 12312 func bindStickerType(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 12313 parsed, err := abi.JSON(strings.NewReader(StickerTypeABI)) 12314 if err != nil { 12315 return nil, err 12316 } 12317 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 12318 } 12319 12320 // Call invokes the (constant) contract method with params as input values and 12321 // sets the output to result. The result type might be a single field for simple 12322 // returns, a slice of interfaces for anonymous returns and a struct for named 12323 // returns. 12324 func (_StickerType *StickerTypeRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 12325 return _StickerType.Contract.StickerTypeCaller.contract.Call(opts, result, method, params...) 12326 } 12327 12328 // Transfer initiates a plain transaction to move funds to the contract, calling 12329 // its default method if one is available. 12330 func (_StickerType *StickerTypeRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 12331 return _StickerType.Contract.StickerTypeTransactor.contract.Transfer(opts) 12332 } 12333 12334 // Transact invokes the (paid) contract method with params as input values. 12335 func (_StickerType *StickerTypeRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 12336 return _StickerType.Contract.StickerTypeTransactor.contract.Transact(opts, method, params...) 12337 } 12338 12339 // Call invokes the (constant) contract method with params as input values and 12340 // sets the output to result. The result type might be a single field for simple 12341 // returns, a slice of interfaces for anonymous returns and a struct for named 12342 // returns. 12343 func (_StickerType *StickerTypeCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 12344 return _StickerType.Contract.contract.Call(opts, result, method, params...) 12345 } 12346 12347 // Transfer initiates a plain transaction to move funds to the contract, calling 12348 // its default method if one is available. 12349 func (_StickerType *StickerTypeTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 12350 return _StickerType.Contract.contract.Transfer(opts) 12351 } 12352 12353 // Transact invokes the (paid) contract method with params as input values. 12354 func (_StickerType *StickerTypeTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 12355 return _StickerType.Contract.contract.Transact(opts, method, params...) 12356 } 12357 12358 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 12359 // 12360 // Solidity: function balanceOf(address owner) view returns(uint256) 12361 func (_StickerType *StickerTypeCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 12362 var out []interface{} 12363 err := _StickerType.contract.Call(opts, &out, "balanceOf", owner) 12364 12365 if err != nil { 12366 return *new(*big.Int), err 12367 } 12368 12369 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 12370 12371 return out0, err 12372 12373 } 12374 12375 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 12376 // 12377 // Solidity: function balanceOf(address owner) view returns(uint256) 12378 func (_StickerType *StickerTypeSession) BalanceOf(owner common.Address) (*big.Int, error) { 12379 return _StickerType.Contract.BalanceOf(&_StickerType.CallOpts, owner) 12380 } 12381 12382 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 12383 // 12384 // Solidity: function balanceOf(address owner) view returns(uint256) 12385 func (_StickerType *StickerTypeCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 12386 return _StickerType.Contract.BalanceOf(&_StickerType.CallOpts, owner) 12387 } 12388 12389 // Controller is a free data retrieval call binding the contract method 0xf77c4791. 12390 // 12391 // Solidity: function controller() view returns(address) 12392 func (_StickerType *StickerTypeCaller) Controller(opts *bind.CallOpts) (common.Address, error) { 12393 var out []interface{} 12394 err := _StickerType.contract.Call(opts, &out, "controller") 12395 12396 if err != nil { 12397 return *new(common.Address), err 12398 } 12399 12400 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 12401 12402 return out0, err 12403 12404 } 12405 12406 // Controller is a free data retrieval call binding the contract method 0xf77c4791. 12407 // 12408 // Solidity: function controller() view returns(address) 12409 func (_StickerType *StickerTypeSession) Controller() (common.Address, error) { 12410 return _StickerType.Contract.Controller(&_StickerType.CallOpts) 12411 } 12412 12413 // Controller is a free data retrieval call binding the contract method 0xf77c4791. 12414 // 12415 // Solidity: function controller() view returns(address) 12416 func (_StickerType *StickerTypeCallerSession) Controller() (common.Address, error) { 12417 return _StickerType.Contract.Controller(&_StickerType.CallOpts) 12418 } 12419 12420 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 12421 // 12422 // Solidity: function getApproved(uint256 tokenId) view returns(address) 12423 func (_StickerType *StickerTypeCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 12424 var out []interface{} 12425 err := _StickerType.contract.Call(opts, &out, "getApproved", tokenId) 12426 12427 if err != nil { 12428 return *new(common.Address), err 12429 } 12430 12431 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 12432 12433 return out0, err 12434 12435 } 12436 12437 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 12438 // 12439 // Solidity: function getApproved(uint256 tokenId) view returns(address) 12440 func (_StickerType *StickerTypeSession) GetApproved(tokenId *big.Int) (common.Address, error) { 12441 return _StickerType.Contract.GetApproved(&_StickerType.CallOpts, tokenId) 12442 } 12443 12444 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 12445 // 12446 // Solidity: function getApproved(uint256 tokenId) view returns(address) 12447 func (_StickerType *StickerTypeCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 12448 return _StickerType.Contract.GetApproved(&_StickerType.CallOpts, tokenId) 12449 } 12450 12451 // GetAvailablePacks is a free data retrieval call binding the contract method 0xb34b5825. 12452 // 12453 // Solidity: function getAvailablePacks(bytes4 _category) view returns(uint256[] availableIds) 12454 func (_StickerType *StickerTypeCaller) GetAvailablePacks(opts *bind.CallOpts, _category [4]byte) ([]*big.Int, error) { 12455 var out []interface{} 12456 err := _StickerType.contract.Call(opts, &out, "getAvailablePacks", _category) 12457 12458 if err != nil { 12459 return *new([]*big.Int), err 12460 } 12461 12462 out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) 12463 12464 return out0, err 12465 12466 } 12467 12468 // GetAvailablePacks is a free data retrieval call binding the contract method 0xb34b5825. 12469 // 12470 // Solidity: function getAvailablePacks(bytes4 _category) view returns(uint256[] availableIds) 12471 func (_StickerType *StickerTypeSession) GetAvailablePacks(_category [4]byte) ([]*big.Int, error) { 12472 return _StickerType.Contract.GetAvailablePacks(&_StickerType.CallOpts, _category) 12473 } 12474 12475 // GetAvailablePacks is a free data retrieval call binding the contract method 0xb34b5825. 12476 // 12477 // Solidity: function getAvailablePacks(bytes4 _category) view returns(uint256[] availableIds) 12478 func (_StickerType *StickerTypeCallerSession) GetAvailablePacks(_category [4]byte) ([]*big.Int, error) { 12479 return _StickerType.Contract.GetAvailablePacks(&_StickerType.CallOpts, _category) 12480 } 12481 12482 // GetCategoryLength is a free data retrieval call binding the contract method 0x9f9a9b63. 12483 // 12484 // Solidity: function getCategoryLength(bytes4 _category) view returns(uint256 size) 12485 func (_StickerType *StickerTypeCaller) GetCategoryLength(opts *bind.CallOpts, _category [4]byte) (*big.Int, error) { 12486 var out []interface{} 12487 err := _StickerType.contract.Call(opts, &out, "getCategoryLength", _category) 12488 12489 if err != nil { 12490 return *new(*big.Int), err 12491 } 12492 12493 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 12494 12495 return out0, err 12496 12497 } 12498 12499 // GetCategoryLength is a free data retrieval call binding the contract method 0x9f9a9b63. 12500 // 12501 // Solidity: function getCategoryLength(bytes4 _category) view returns(uint256 size) 12502 func (_StickerType *StickerTypeSession) GetCategoryLength(_category [4]byte) (*big.Int, error) { 12503 return _StickerType.Contract.GetCategoryLength(&_StickerType.CallOpts, _category) 12504 } 12505 12506 // GetCategoryLength is a free data retrieval call binding the contract method 0x9f9a9b63. 12507 // 12508 // Solidity: function getCategoryLength(bytes4 _category) view returns(uint256 size) 12509 func (_StickerType *StickerTypeCallerSession) GetCategoryLength(_category [4]byte) (*big.Int, error) { 12510 return _StickerType.Contract.GetCategoryLength(&_StickerType.CallOpts, _category) 12511 } 12512 12513 // GetCategoryPack is a free data retrieval call binding the contract method 0xb5420d68. 12514 // 12515 // Solidity: function getCategoryPack(bytes4 _category, uint256 _index) view returns(uint256 packId) 12516 func (_StickerType *StickerTypeCaller) GetCategoryPack(opts *bind.CallOpts, _category [4]byte, _index *big.Int) (*big.Int, error) { 12517 var out []interface{} 12518 err := _StickerType.contract.Call(opts, &out, "getCategoryPack", _category, _index) 12519 12520 if err != nil { 12521 return *new(*big.Int), err 12522 } 12523 12524 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 12525 12526 return out0, err 12527 12528 } 12529 12530 // GetCategoryPack is a free data retrieval call binding the contract method 0xb5420d68. 12531 // 12532 // Solidity: function getCategoryPack(bytes4 _category, uint256 _index) view returns(uint256 packId) 12533 func (_StickerType *StickerTypeSession) GetCategoryPack(_category [4]byte, _index *big.Int) (*big.Int, error) { 12534 return _StickerType.Contract.GetCategoryPack(&_StickerType.CallOpts, _category, _index) 12535 } 12536 12537 // GetCategoryPack is a free data retrieval call binding the contract method 0xb5420d68. 12538 // 12539 // Solidity: function getCategoryPack(bytes4 _category, uint256 _index) view returns(uint256 packId) 12540 func (_StickerType *StickerTypeCallerSession) GetCategoryPack(_category [4]byte, _index *big.Int) (*big.Int, error) { 12541 return _StickerType.Contract.GetCategoryPack(&_StickerType.CallOpts, _category, _index) 12542 } 12543 12544 // GetPackData is a free data retrieval call binding the contract method 0xd2bf36c0. 12545 // 12546 // Solidity: function getPackData(uint256 _packId) view returns(bytes4[] category, address owner, bool mintable, uint256 timestamp, uint256 price, bytes contenthash) 12547 func (_StickerType *StickerTypeCaller) GetPackData(opts *bind.CallOpts, _packId *big.Int) (struct { 12548 Category [][4]byte 12549 Owner common.Address 12550 Mintable bool 12551 Timestamp *big.Int 12552 Price *big.Int 12553 Contenthash []byte 12554 }, error) { 12555 var out []interface{} 12556 err := _StickerType.contract.Call(opts, &out, "getPackData", _packId) 12557 12558 outstruct := new(struct { 12559 Category [][4]byte 12560 Owner common.Address 12561 Mintable bool 12562 Timestamp *big.Int 12563 Price *big.Int 12564 Contenthash []byte 12565 }) 12566 if err != nil { 12567 return *outstruct, err 12568 } 12569 12570 outstruct.Category = *abi.ConvertType(out[0], new([][4]byte)).(*[][4]byte) 12571 outstruct.Owner = *abi.ConvertType(out[1], new(common.Address)).(*common.Address) 12572 outstruct.Mintable = *abi.ConvertType(out[2], new(bool)).(*bool) 12573 outstruct.Timestamp = *abi.ConvertType(out[3], new(*big.Int)).(**big.Int) 12574 outstruct.Price = *abi.ConvertType(out[4], new(*big.Int)).(**big.Int) 12575 outstruct.Contenthash = *abi.ConvertType(out[5], new([]byte)).(*[]byte) 12576 12577 return *outstruct, err 12578 12579 } 12580 12581 // GetPackData is a free data retrieval call binding the contract method 0xd2bf36c0. 12582 // 12583 // Solidity: function getPackData(uint256 _packId) view returns(bytes4[] category, address owner, bool mintable, uint256 timestamp, uint256 price, bytes contenthash) 12584 func (_StickerType *StickerTypeSession) GetPackData(_packId *big.Int) (struct { 12585 Category [][4]byte 12586 Owner common.Address 12587 Mintable bool 12588 Timestamp *big.Int 12589 Price *big.Int 12590 Contenthash []byte 12591 }, error) { 12592 return _StickerType.Contract.GetPackData(&_StickerType.CallOpts, _packId) 12593 } 12594 12595 // GetPackData is a free data retrieval call binding the contract method 0xd2bf36c0. 12596 // 12597 // Solidity: function getPackData(uint256 _packId) view returns(bytes4[] category, address owner, bool mintable, uint256 timestamp, uint256 price, bytes contenthash) 12598 func (_StickerType *StickerTypeCallerSession) GetPackData(_packId *big.Int) (struct { 12599 Category [][4]byte 12600 Owner common.Address 12601 Mintable bool 12602 Timestamp *big.Int 12603 Price *big.Int 12604 Contenthash []byte 12605 }, error) { 12606 return _StickerType.Contract.GetPackData(&_StickerType.CallOpts, _packId) 12607 } 12608 12609 // GetPackSummary is a free data retrieval call binding the contract method 0x81ec792d. 12610 // 12611 // Solidity: function getPackSummary(uint256 _packId) view returns(bytes4[] category, uint256 timestamp, bytes contenthash) 12612 func (_StickerType *StickerTypeCaller) GetPackSummary(opts *bind.CallOpts, _packId *big.Int) (struct { 12613 Category [][4]byte 12614 Timestamp *big.Int 12615 Contenthash []byte 12616 }, error) { 12617 var out []interface{} 12618 err := _StickerType.contract.Call(opts, &out, "getPackSummary", _packId) 12619 12620 outstruct := new(struct { 12621 Category [][4]byte 12622 Timestamp *big.Int 12623 Contenthash []byte 12624 }) 12625 if err != nil { 12626 return *outstruct, err 12627 } 12628 12629 outstruct.Category = *abi.ConvertType(out[0], new([][4]byte)).(*[][4]byte) 12630 outstruct.Timestamp = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) 12631 outstruct.Contenthash = *abi.ConvertType(out[2], new([]byte)).(*[]byte) 12632 12633 return *outstruct, err 12634 12635 } 12636 12637 // GetPackSummary is a free data retrieval call binding the contract method 0x81ec792d. 12638 // 12639 // Solidity: function getPackSummary(uint256 _packId) view returns(bytes4[] category, uint256 timestamp, bytes contenthash) 12640 func (_StickerType *StickerTypeSession) GetPackSummary(_packId *big.Int) (struct { 12641 Category [][4]byte 12642 Timestamp *big.Int 12643 Contenthash []byte 12644 }, error) { 12645 return _StickerType.Contract.GetPackSummary(&_StickerType.CallOpts, _packId) 12646 } 12647 12648 // GetPackSummary is a free data retrieval call binding the contract method 0x81ec792d. 12649 // 12650 // Solidity: function getPackSummary(uint256 _packId) view returns(bytes4[] category, uint256 timestamp, bytes contenthash) 12651 func (_StickerType *StickerTypeCallerSession) GetPackSummary(_packId *big.Int) (struct { 12652 Category [][4]byte 12653 Timestamp *big.Int 12654 Contenthash []byte 12655 }, error) { 12656 return _StickerType.Contract.GetPackSummary(&_StickerType.CallOpts, _packId) 12657 } 12658 12659 // GetPaymentData is a free data retrieval call binding the contract method 0x9c3a39a2. 12660 // 12661 // Solidity: function getPaymentData(uint256 _packId) view returns(address owner, bool mintable, uint256 price, uint256 donate) 12662 func (_StickerType *StickerTypeCaller) GetPaymentData(opts *bind.CallOpts, _packId *big.Int) (struct { 12663 Owner common.Address 12664 Mintable bool 12665 Price *big.Int 12666 Donate *big.Int 12667 }, error) { 12668 var out []interface{} 12669 err := _StickerType.contract.Call(opts, &out, "getPaymentData", _packId) 12670 12671 outstruct := new(struct { 12672 Owner common.Address 12673 Mintable bool 12674 Price *big.Int 12675 Donate *big.Int 12676 }) 12677 if err != nil { 12678 return *outstruct, err 12679 } 12680 12681 outstruct.Owner = *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 12682 outstruct.Mintable = *abi.ConvertType(out[1], new(bool)).(*bool) 12683 outstruct.Price = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) 12684 outstruct.Donate = *abi.ConvertType(out[3], new(*big.Int)).(**big.Int) 12685 12686 return *outstruct, err 12687 12688 } 12689 12690 // GetPaymentData is a free data retrieval call binding the contract method 0x9c3a39a2. 12691 // 12692 // Solidity: function getPaymentData(uint256 _packId) view returns(address owner, bool mintable, uint256 price, uint256 donate) 12693 func (_StickerType *StickerTypeSession) GetPaymentData(_packId *big.Int) (struct { 12694 Owner common.Address 12695 Mintable bool 12696 Price *big.Int 12697 Donate *big.Int 12698 }, error) { 12699 return _StickerType.Contract.GetPaymentData(&_StickerType.CallOpts, _packId) 12700 } 12701 12702 // GetPaymentData is a free data retrieval call binding the contract method 0x9c3a39a2. 12703 // 12704 // Solidity: function getPaymentData(uint256 _packId) view returns(address owner, bool mintable, uint256 price, uint256 donate) 12705 func (_StickerType *StickerTypeCallerSession) GetPaymentData(_packId *big.Int) (struct { 12706 Owner common.Address 12707 Mintable bool 12708 Price *big.Int 12709 Donate *big.Int 12710 }, error) { 12711 return _StickerType.Contract.GetPaymentData(&_StickerType.CallOpts, _packId) 12712 } 12713 12714 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 12715 // 12716 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 12717 func (_StickerType *StickerTypeCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 12718 var out []interface{} 12719 err := _StickerType.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 12720 12721 if err != nil { 12722 return *new(bool), err 12723 } 12724 12725 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 12726 12727 return out0, err 12728 12729 } 12730 12731 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 12732 // 12733 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 12734 func (_StickerType *StickerTypeSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 12735 return _StickerType.Contract.IsApprovedForAll(&_StickerType.CallOpts, owner, operator) 12736 } 12737 12738 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 12739 // 12740 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 12741 func (_StickerType *StickerTypeCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 12742 return _StickerType.Contract.IsApprovedForAll(&_StickerType.CallOpts, owner, operator) 12743 } 12744 12745 // Name is a free data retrieval call binding the contract method 0x06fdde03. 12746 // 12747 // Solidity: function name() view returns(string) 12748 func (_StickerType *StickerTypeCaller) Name(opts *bind.CallOpts) (string, error) { 12749 var out []interface{} 12750 err := _StickerType.contract.Call(opts, &out, "name") 12751 12752 if err != nil { 12753 return *new(string), err 12754 } 12755 12756 out0 := *abi.ConvertType(out[0], new(string)).(*string) 12757 12758 return out0, err 12759 12760 } 12761 12762 // Name is a free data retrieval call binding the contract method 0x06fdde03. 12763 // 12764 // Solidity: function name() view returns(string) 12765 func (_StickerType *StickerTypeSession) Name() (string, error) { 12766 return _StickerType.Contract.Name(&_StickerType.CallOpts) 12767 } 12768 12769 // Name is a free data retrieval call binding the contract method 0x06fdde03. 12770 // 12771 // Solidity: function name() view returns(string) 12772 func (_StickerType *StickerTypeCallerSession) Name() (string, error) { 12773 return _StickerType.Contract.Name(&_StickerType.CallOpts) 12774 } 12775 12776 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 12777 // 12778 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 12779 func (_StickerType *StickerTypeCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 12780 var out []interface{} 12781 err := _StickerType.contract.Call(opts, &out, "ownerOf", tokenId) 12782 12783 if err != nil { 12784 return *new(common.Address), err 12785 } 12786 12787 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 12788 12789 return out0, err 12790 12791 } 12792 12793 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 12794 // 12795 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 12796 func (_StickerType *StickerTypeSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 12797 return _StickerType.Contract.OwnerOf(&_StickerType.CallOpts, tokenId) 12798 } 12799 12800 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 12801 // 12802 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 12803 func (_StickerType *StickerTypeCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 12804 return _StickerType.Contract.OwnerOf(&_StickerType.CallOpts, tokenId) 12805 } 12806 12807 // PackCount is a free data retrieval call binding the contract method 0x61bd6725. 12808 // 12809 // Solidity: function packCount() view returns(uint256) 12810 func (_StickerType *StickerTypeCaller) PackCount(opts *bind.CallOpts) (*big.Int, error) { 12811 var out []interface{} 12812 err := _StickerType.contract.Call(opts, &out, "packCount") 12813 12814 if err != nil { 12815 return *new(*big.Int), err 12816 } 12817 12818 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 12819 12820 return out0, err 12821 12822 } 12823 12824 // PackCount is a free data retrieval call binding the contract method 0x61bd6725. 12825 // 12826 // Solidity: function packCount() view returns(uint256) 12827 func (_StickerType *StickerTypeSession) PackCount() (*big.Int, error) { 12828 return _StickerType.Contract.PackCount(&_StickerType.CallOpts) 12829 } 12830 12831 // PackCount is a free data retrieval call binding the contract method 0x61bd6725. 12832 // 12833 // Solidity: function packCount() view returns(uint256) 12834 func (_StickerType *StickerTypeCallerSession) PackCount() (*big.Int, error) { 12835 return _StickerType.Contract.PackCount(&_StickerType.CallOpts) 12836 } 12837 12838 // Packs is a free data retrieval call binding the contract method 0xb84c1392. 12839 // 12840 // Solidity: function packs(uint256 ) view returns(bool mintable, uint256 timestamp, uint256 price, uint256 donate, bytes contenthash) 12841 func (_StickerType *StickerTypeCaller) Packs(opts *bind.CallOpts, arg0 *big.Int) (struct { 12842 Mintable bool 12843 Timestamp *big.Int 12844 Price *big.Int 12845 Donate *big.Int 12846 Contenthash []byte 12847 }, error) { 12848 var out []interface{} 12849 err := _StickerType.contract.Call(opts, &out, "packs", arg0) 12850 12851 outstruct := new(struct { 12852 Mintable bool 12853 Timestamp *big.Int 12854 Price *big.Int 12855 Donate *big.Int 12856 Contenthash []byte 12857 }) 12858 if err != nil { 12859 return *outstruct, err 12860 } 12861 12862 outstruct.Mintable = *abi.ConvertType(out[0], new(bool)).(*bool) 12863 outstruct.Timestamp = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) 12864 outstruct.Price = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) 12865 outstruct.Donate = *abi.ConvertType(out[3], new(*big.Int)).(**big.Int) 12866 outstruct.Contenthash = *abi.ConvertType(out[4], new([]byte)).(*[]byte) 12867 12868 return *outstruct, err 12869 12870 } 12871 12872 // Packs is a free data retrieval call binding the contract method 0xb84c1392. 12873 // 12874 // Solidity: function packs(uint256 ) view returns(bool mintable, uint256 timestamp, uint256 price, uint256 donate, bytes contenthash) 12875 func (_StickerType *StickerTypeSession) Packs(arg0 *big.Int) (struct { 12876 Mintable bool 12877 Timestamp *big.Int 12878 Price *big.Int 12879 Donate *big.Int 12880 Contenthash []byte 12881 }, error) { 12882 return _StickerType.Contract.Packs(&_StickerType.CallOpts, arg0) 12883 } 12884 12885 // Packs is a free data retrieval call binding the contract method 0xb84c1392. 12886 // 12887 // Solidity: function packs(uint256 ) view returns(bool mintable, uint256 timestamp, uint256 price, uint256 donate, bytes contenthash) 12888 func (_StickerType *StickerTypeCallerSession) Packs(arg0 *big.Int) (struct { 12889 Mintable bool 12890 Timestamp *big.Int 12891 Price *big.Int 12892 Donate *big.Int 12893 Contenthash []byte 12894 }, error) { 12895 return _StickerType.Contract.Packs(&_StickerType.CallOpts, arg0) 12896 } 12897 12898 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 12899 // 12900 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 12901 func (_StickerType *StickerTypeCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 12902 var out []interface{} 12903 err := _StickerType.contract.Call(opts, &out, "supportsInterface", interfaceId) 12904 12905 if err != nil { 12906 return *new(bool), err 12907 } 12908 12909 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 12910 12911 return out0, err 12912 12913 } 12914 12915 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 12916 // 12917 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 12918 func (_StickerType *StickerTypeSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 12919 return _StickerType.Contract.SupportsInterface(&_StickerType.CallOpts, interfaceId) 12920 } 12921 12922 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 12923 // 12924 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 12925 func (_StickerType *StickerTypeCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 12926 return _StickerType.Contract.SupportsInterface(&_StickerType.CallOpts, interfaceId) 12927 } 12928 12929 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 12930 // 12931 // Solidity: function symbol() view returns(string) 12932 func (_StickerType *StickerTypeCaller) Symbol(opts *bind.CallOpts) (string, error) { 12933 var out []interface{} 12934 err := _StickerType.contract.Call(opts, &out, "symbol") 12935 12936 if err != nil { 12937 return *new(string), err 12938 } 12939 12940 out0 := *abi.ConvertType(out[0], new(string)).(*string) 12941 12942 return out0, err 12943 12944 } 12945 12946 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 12947 // 12948 // Solidity: function symbol() view returns(string) 12949 func (_StickerType *StickerTypeSession) Symbol() (string, error) { 12950 return _StickerType.Contract.Symbol(&_StickerType.CallOpts) 12951 } 12952 12953 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 12954 // 12955 // Solidity: function symbol() view returns(string) 12956 func (_StickerType *StickerTypeCallerSession) Symbol() (string, error) { 12957 return _StickerType.Contract.Symbol(&_StickerType.CallOpts) 12958 } 12959 12960 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 12961 // 12962 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 12963 func (_StickerType *StickerTypeCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 12964 var out []interface{} 12965 err := _StickerType.contract.Call(opts, &out, "tokenByIndex", index) 12966 12967 if err != nil { 12968 return *new(*big.Int), err 12969 } 12970 12971 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 12972 12973 return out0, err 12974 12975 } 12976 12977 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 12978 // 12979 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 12980 func (_StickerType *StickerTypeSession) TokenByIndex(index *big.Int) (*big.Int, error) { 12981 return _StickerType.Contract.TokenByIndex(&_StickerType.CallOpts, index) 12982 } 12983 12984 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 12985 // 12986 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 12987 func (_StickerType *StickerTypeCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 12988 return _StickerType.Contract.TokenByIndex(&_StickerType.CallOpts, index) 12989 } 12990 12991 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 12992 // 12993 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 12994 func (_StickerType *StickerTypeCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 12995 var out []interface{} 12996 err := _StickerType.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index) 12997 12998 if err != nil { 12999 return *new(*big.Int), err 13000 } 13001 13002 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 13003 13004 return out0, err 13005 13006 } 13007 13008 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 13009 // 13010 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 13011 func (_StickerType *StickerTypeSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 13012 return _StickerType.Contract.TokenOfOwnerByIndex(&_StickerType.CallOpts, owner, index) 13013 } 13014 13015 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 13016 // 13017 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 13018 func (_StickerType *StickerTypeCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 13019 return _StickerType.Contract.TokenOfOwnerByIndex(&_StickerType.CallOpts, owner, index) 13020 } 13021 13022 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 13023 // 13024 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 13025 func (_StickerType *StickerTypeCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 13026 var out []interface{} 13027 err := _StickerType.contract.Call(opts, &out, "tokenURI", tokenId) 13028 13029 if err != nil { 13030 return *new(string), err 13031 } 13032 13033 out0 := *abi.ConvertType(out[0], new(string)).(*string) 13034 13035 return out0, err 13036 13037 } 13038 13039 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 13040 // 13041 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 13042 func (_StickerType *StickerTypeSession) TokenURI(tokenId *big.Int) (string, error) { 13043 return _StickerType.Contract.TokenURI(&_StickerType.CallOpts, tokenId) 13044 } 13045 13046 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 13047 // 13048 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 13049 func (_StickerType *StickerTypeCallerSession) TokenURI(tokenId *big.Int) (string, error) { 13050 return _StickerType.Contract.TokenURI(&_StickerType.CallOpts, tokenId) 13051 } 13052 13053 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 13054 // 13055 // Solidity: function totalSupply() view returns(uint256) 13056 func (_StickerType *StickerTypeCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 13057 var out []interface{} 13058 err := _StickerType.contract.Call(opts, &out, "totalSupply") 13059 13060 if err != nil { 13061 return *new(*big.Int), err 13062 } 13063 13064 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 13065 13066 return out0, err 13067 13068 } 13069 13070 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 13071 // 13072 // Solidity: function totalSupply() view returns(uint256) 13073 func (_StickerType *StickerTypeSession) TotalSupply() (*big.Int, error) { 13074 return _StickerType.Contract.TotalSupply(&_StickerType.CallOpts) 13075 } 13076 13077 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 13078 // 13079 // Solidity: function totalSupply() view returns(uint256) 13080 func (_StickerType *StickerTypeCallerSession) TotalSupply() (*big.Int, error) { 13081 return _StickerType.Contract.TotalSupply(&_StickerType.CallOpts) 13082 } 13083 13084 // AddPackCategory is a paid mutator transaction binding the contract method 0xaeeaf3da. 13085 // 13086 // Solidity: function addPackCategory(uint256 _packId, bytes4 _category) returns() 13087 func (_StickerType *StickerTypeTransactor) AddPackCategory(opts *bind.TransactOpts, _packId *big.Int, _category [4]byte) (*types.Transaction, error) { 13088 return _StickerType.contract.Transact(opts, "addPackCategory", _packId, _category) 13089 } 13090 13091 // AddPackCategory is a paid mutator transaction binding the contract method 0xaeeaf3da. 13092 // 13093 // Solidity: function addPackCategory(uint256 _packId, bytes4 _category) returns() 13094 func (_StickerType *StickerTypeSession) AddPackCategory(_packId *big.Int, _category [4]byte) (*types.Transaction, error) { 13095 return _StickerType.Contract.AddPackCategory(&_StickerType.TransactOpts, _packId, _category) 13096 } 13097 13098 // AddPackCategory is a paid mutator transaction binding the contract method 0xaeeaf3da. 13099 // 13100 // Solidity: function addPackCategory(uint256 _packId, bytes4 _category) returns() 13101 func (_StickerType *StickerTypeTransactorSession) AddPackCategory(_packId *big.Int, _category [4]byte) (*types.Transaction, error) { 13102 return _StickerType.Contract.AddPackCategory(&_StickerType.TransactOpts, _packId, _category) 13103 } 13104 13105 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 13106 // 13107 // Solidity: function approve(address to, uint256 tokenId) returns() 13108 func (_StickerType *StickerTypeTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13109 return _StickerType.contract.Transact(opts, "approve", to, tokenId) 13110 } 13111 13112 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 13113 // 13114 // Solidity: function approve(address to, uint256 tokenId) returns() 13115 func (_StickerType *StickerTypeSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13116 return _StickerType.Contract.Approve(&_StickerType.TransactOpts, to, tokenId) 13117 } 13118 13119 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 13120 // 13121 // Solidity: function approve(address to, uint256 tokenId) returns() 13122 func (_StickerType *StickerTypeTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13123 return _StickerType.Contract.Approve(&_StickerType.TransactOpts, to, tokenId) 13124 } 13125 13126 // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823. 13127 // 13128 // Solidity: function changeController(address _newController) returns() 13129 func (_StickerType *StickerTypeTransactor) ChangeController(opts *bind.TransactOpts, _newController common.Address) (*types.Transaction, error) { 13130 return _StickerType.contract.Transact(opts, "changeController", _newController) 13131 } 13132 13133 // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823. 13134 // 13135 // Solidity: function changeController(address _newController) returns() 13136 func (_StickerType *StickerTypeSession) ChangeController(_newController common.Address) (*types.Transaction, error) { 13137 return _StickerType.Contract.ChangeController(&_StickerType.TransactOpts, _newController) 13138 } 13139 13140 // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823. 13141 // 13142 // Solidity: function changeController(address _newController) returns() 13143 func (_StickerType *StickerTypeTransactorSession) ChangeController(_newController common.Address) (*types.Transaction, error) { 13144 return _StickerType.Contract.ChangeController(&_StickerType.TransactOpts, _newController) 13145 } 13146 13147 // ClaimTokens is a paid mutator transaction binding the contract method 0xdf8de3e7. 13148 // 13149 // Solidity: function claimTokens(address _token) returns() 13150 func (_StickerType *StickerTypeTransactor) ClaimTokens(opts *bind.TransactOpts, _token common.Address) (*types.Transaction, error) { 13151 return _StickerType.contract.Transact(opts, "claimTokens", _token) 13152 } 13153 13154 // ClaimTokens is a paid mutator transaction binding the contract method 0xdf8de3e7. 13155 // 13156 // Solidity: function claimTokens(address _token) returns() 13157 func (_StickerType *StickerTypeSession) ClaimTokens(_token common.Address) (*types.Transaction, error) { 13158 return _StickerType.Contract.ClaimTokens(&_StickerType.TransactOpts, _token) 13159 } 13160 13161 // ClaimTokens is a paid mutator transaction binding the contract method 0xdf8de3e7. 13162 // 13163 // Solidity: function claimTokens(address _token) returns() 13164 func (_StickerType *StickerTypeTransactorSession) ClaimTokens(_token common.Address) (*types.Transaction, error) { 13165 return _StickerType.Contract.ClaimTokens(&_StickerType.TransactOpts, _token) 13166 } 13167 13168 // GeneratePack is a paid mutator transaction binding the contract method 0x4c06dc17. 13169 // 13170 // Solidity: function generatePack(uint256 _price, uint256 _donate, bytes4[] _category, address _owner, bytes _contenthash) returns(uint256 packId) 13171 func (_StickerType *StickerTypeTransactor) GeneratePack(opts *bind.TransactOpts, _price *big.Int, _donate *big.Int, _category [][4]byte, _owner common.Address, _contenthash []byte) (*types.Transaction, error) { 13172 return _StickerType.contract.Transact(opts, "generatePack", _price, _donate, _category, _owner, _contenthash) 13173 } 13174 13175 // GeneratePack is a paid mutator transaction binding the contract method 0x4c06dc17. 13176 // 13177 // Solidity: function generatePack(uint256 _price, uint256 _donate, bytes4[] _category, address _owner, bytes _contenthash) returns(uint256 packId) 13178 func (_StickerType *StickerTypeSession) GeneratePack(_price *big.Int, _donate *big.Int, _category [][4]byte, _owner common.Address, _contenthash []byte) (*types.Transaction, error) { 13179 return _StickerType.Contract.GeneratePack(&_StickerType.TransactOpts, _price, _donate, _category, _owner, _contenthash) 13180 } 13181 13182 // GeneratePack is a paid mutator transaction binding the contract method 0x4c06dc17. 13183 // 13184 // Solidity: function generatePack(uint256 _price, uint256 _donate, bytes4[] _category, address _owner, bytes _contenthash) returns(uint256 packId) 13185 func (_StickerType *StickerTypeTransactorSession) GeneratePack(_price *big.Int, _donate *big.Int, _category [][4]byte, _owner common.Address, _contenthash []byte) (*types.Transaction, error) { 13186 return _StickerType.Contract.GeneratePack(&_StickerType.TransactOpts, _price, _donate, _category, _owner, _contenthash) 13187 } 13188 13189 // PurgePack is a paid mutator transaction binding the contract method 0x00b3c91b. 13190 // 13191 // Solidity: function purgePack(uint256 _packId, uint256 _limit) returns() 13192 func (_StickerType *StickerTypeTransactor) PurgePack(opts *bind.TransactOpts, _packId *big.Int, _limit *big.Int) (*types.Transaction, error) { 13193 return _StickerType.contract.Transact(opts, "purgePack", _packId, _limit) 13194 } 13195 13196 // PurgePack is a paid mutator transaction binding the contract method 0x00b3c91b. 13197 // 13198 // Solidity: function purgePack(uint256 _packId, uint256 _limit) returns() 13199 func (_StickerType *StickerTypeSession) PurgePack(_packId *big.Int, _limit *big.Int) (*types.Transaction, error) { 13200 return _StickerType.Contract.PurgePack(&_StickerType.TransactOpts, _packId, _limit) 13201 } 13202 13203 // PurgePack is a paid mutator transaction binding the contract method 0x00b3c91b. 13204 // 13205 // Solidity: function purgePack(uint256 _packId, uint256 _limit) returns() 13206 func (_StickerType *StickerTypeTransactorSession) PurgePack(_packId *big.Int, _limit *big.Int) (*types.Transaction, error) { 13207 return _StickerType.Contract.PurgePack(&_StickerType.TransactOpts, _packId, _limit) 13208 } 13209 13210 // RemovePackCategory is a paid mutator transaction binding the contract method 0xe8bb7143. 13211 // 13212 // Solidity: function removePackCategory(uint256 _packId, bytes4 _category) returns() 13213 func (_StickerType *StickerTypeTransactor) RemovePackCategory(opts *bind.TransactOpts, _packId *big.Int, _category [4]byte) (*types.Transaction, error) { 13214 return _StickerType.contract.Transact(opts, "removePackCategory", _packId, _category) 13215 } 13216 13217 // RemovePackCategory is a paid mutator transaction binding the contract method 0xe8bb7143. 13218 // 13219 // Solidity: function removePackCategory(uint256 _packId, bytes4 _category) returns() 13220 func (_StickerType *StickerTypeSession) RemovePackCategory(_packId *big.Int, _category [4]byte) (*types.Transaction, error) { 13221 return _StickerType.Contract.RemovePackCategory(&_StickerType.TransactOpts, _packId, _category) 13222 } 13223 13224 // RemovePackCategory is a paid mutator transaction binding the contract method 0xe8bb7143. 13225 // 13226 // Solidity: function removePackCategory(uint256 _packId, bytes4 _category) returns() 13227 func (_StickerType *StickerTypeTransactorSession) RemovePackCategory(_packId *big.Int, _category [4]byte) (*types.Transaction, error) { 13228 return _StickerType.Contract.RemovePackCategory(&_StickerType.TransactOpts, _packId, _category) 13229 } 13230 13231 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 13232 // 13233 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 13234 func (_StickerType *StickerTypeTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13235 return _StickerType.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 13236 } 13237 13238 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 13239 // 13240 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 13241 func (_StickerType *StickerTypeSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13242 return _StickerType.Contract.SafeTransferFrom(&_StickerType.TransactOpts, from, to, tokenId) 13243 } 13244 13245 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 13246 // 13247 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 13248 func (_StickerType *StickerTypeTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13249 return _StickerType.Contract.SafeTransferFrom(&_StickerType.TransactOpts, from, to, tokenId) 13250 } 13251 13252 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 13253 // 13254 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 13255 func (_StickerType *StickerTypeTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 13256 return _StickerType.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 13257 } 13258 13259 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 13260 // 13261 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 13262 func (_StickerType *StickerTypeSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 13263 return _StickerType.Contract.SafeTransferFrom0(&_StickerType.TransactOpts, from, to, tokenId, _data) 13264 } 13265 13266 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 13267 // 13268 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 13269 func (_StickerType *StickerTypeTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 13270 return _StickerType.Contract.SafeTransferFrom0(&_StickerType.TransactOpts, from, to, tokenId, _data) 13271 } 13272 13273 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 13274 // 13275 // Solidity: function setApprovalForAll(address to, bool approved) returns() 13276 func (_StickerType *StickerTypeTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 13277 return _StickerType.contract.Transact(opts, "setApprovalForAll", to, approved) 13278 } 13279 13280 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 13281 // 13282 // Solidity: function setApprovalForAll(address to, bool approved) returns() 13283 func (_StickerType *StickerTypeSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 13284 return _StickerType.Contract.SetApprovalForAll(&_StickerType.TransactOpts, to, approved) 13285 } 13286 13287 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 13288 // 13289 // Solidity: function setApprovalForAll(address to, bool approved) returns() 13290 func (_StickerType *StickerTypeTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 13291 return _StickerType.Contract.SetApprovalForAll(&_StickerType.TransactOpts, to, approved) 13292 } 13293 13294 // SetPackContenthash is a paid mutator transaction binding the contract method 0x6a847981. 13295 // 13296 // Solidity: function setPackContenthash(uint256 _packId, bytes _contenthash) returns() 13297 func (_StickerType *StickerTypeTransactor) SetPackContenthash(opts *bind.TransactOpts, _packId *big.Int, _contenthash []byte) (*types.Transaction, error) { 13298 return _StickerType.contract.Transact(opts, "setPackContenthash", _packId, _contenthash) 13299 } 13300 13301 // SetPackContenthash is a paid mutator transaction binding the contract method 0x6a847981. 13302 // 13303 // Solidity: function setPackContenthash(uint256 _packId, bytes _contenthash) returns() 13304 func (_StickerType *StickerTypeSession) SetPackContenthash(_packId *big.Int, _contenthash []byte) (*types.Transaction, error) { 13305 return _StickerType.Contract.SetPackContenthash(&_StickerType.TransactOpts, _packId, _contenthash) 13306 } 13307 13308 // SetPackContenthash is a paid mutator transaction binding the contract method 0x6a847981. 13309 // 13310 // Solidity: function setPackContenthash(uint256 _packId, bytes _contenthash) returns() 13311 func (_StickerType *StickerTypeTransactorSession) SetPackContenthash(_packId *big.Int, _contenthash []byte) (*types.Transaction, error) { 13312 return _StickerType.Contract.SetPackContenthash(&_StickerType.TransactOpts, _packId, _contenthash) 13313 } 13314 13315 // SetPackPrice is a paid mutator transaction binding the contract method 0x9389c5b5. 13316 // 13317 // Solidity: function setPackPrice(uint256 _packId, uint256 _price, uint256 _donate) returns() 13318 func (_StickerType *StickerTypeTransactor) SetPackPrice(opts *bind.TransactOpts, _packId *big.Int, _price *big.Int, _donate *big.Int) (*types.Transaction, error) { 13319 return _StickerType.contract.Transact(opts, "setPackPrice", _packId, _price, _donate) 13320 } 13321 13322 // SetPackPrice is a paid mutator transaction binding the contract method 0x9389c5b5. 13323 // 13324 // Solidity: function setPackPrice(uint256 _packId, uint256 _price, uint256 _donate) returns() 13325 func (_StickerType *StickerTypeSession) SetPackPrice(_packId *big.Int, _price *big.Int, _donate *big.Int) (*types.Transaction, error) { 13326 return _StickerType.Contract.SetPackPrice(&_StickerType.TransactOpts, _packId, _price, _donate) 13327 } 13328 13329 // SetPackPrice is a paid mutator transaction binding the contract method 0x9389c5b5. 13330 // 13331 // Solidity: function setPackPrice(uint256 _packId, uint256 _price, uint256 _donate) returns() 13332 func (_StickerType *StickerTypeTransactorSession) SetPackPrice(_packId *big.Int, _price *big.Int, _donate *big.Int) (*types.Transaction, error) { 13333 return _StickerType.Contract.SetPackPrice(&_StickerType.TransactOpts, _packId, _price, _donate) 13334 } 13335 13336 // SetPackState is a paid mutator transaction binding the contract method 0xb7f48211. 13337 // 13338 // Solidity: function setPackState(uint256 _packId, bool _mintable) returns() 13339 func (_StickerType *StickerTypeTransactor) SetPackState(opts *bind.TransactOpts, _packId *big.Int, _mintable bool) (*types.Transaction, error) { 13340 return _StickerType.contract.Transact(opts, "setPackState", _packId, _mintable) 13341 } 13342 13343 // SetPackState is a paid mutator transaction binding the contract method 0xb7f48211. 13344 // 13345 // Solidity: function setPackState(uint256 _packId, bool _mintable) returns() 13346 func (_StickerType *StickerTypeSession) SetPackState(_packId *big.Int, _mintable bool) (*types.Transaction, error) { 13347 return _StickerType.Contract.SetPackState(&_StickerType.TransactOpts, _packId, _mintable) 13348 } 13349 13350 // SetPackState is a paid mutator transaction binding the contract method 0xb7f48211. 13351 // 13352 // Solidity: function setPackState(uint256 _packId, bool _mintable) returns() 13353 func (_StickerType *StickerTypeTransactorSession) SetPackState(_packId *big.Int, _mintable bool) (*types.Transaction, error) { 13354 return _StickerType.Contract.SetPackState(&_StickerType.TransactOpts, _packId, _mintable) 13355 } 13356 13357 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 13358 // 13359 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 13360 func (_StickerType *StickerTypeTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13361 return _StickerType.contract.Transact(opts, "transferFrom", from, to, tokenId) 13362 } 13363 13364 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 13365 // 13366 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 13367 func (_StickerType *StickerTypeSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13368 return _StickerType.Contract.TransferFrom(&_StickerType.TransactOpts, from, to, tokenId) 13369 } 13370 13371 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 13372 // 13373 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 13374 func (_StickerType *StickerTypeTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13375 return _StickerType.Contract.TransferFrom(&_StickerType.TransactOpts, from, to, tokenId) 13376 } 13377 13378 // StickerTypeApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the StickerType contract. 13379 type StickerTypeApprovalIterator struct { 13380 Event *StickerTypeApproval // Event containing the contract specifics and raw log 13381 13382 contract *bind.BoundContract // Generic contract to use for unpacking event data 13383 event string // Event name to use for unpacking event data 13384 13385 logs chan types.Log // Log channel receiving the found contract events 13386 sub ethereum.Subscription // Subscription for errors, completion and termination 13387 done bool // Whether the subscription completed delivering logs 13388 fail error // Occurred error to stop iteration 13389 } 13390 13391 // Next advances the iterator to the subsequent event, returning whether there 13392 // are any more events found. In case of a retrieval or parsing error, false is 13393 // returned and Error() can be queried for the exact failure. 13394 func (it *StickerTypeApprovalIterator) Next() bool { 13395 // If the iterator failed, stop iterating 13396 if it.fail != nil { 13397 return false 13398 } 13399 // If the iterator completed, deliver directly whatever's available 13400 if it.done { 13401 select { 13402 case log := <-it.logs: 13403 it.Event = new(StickerTypeApproval) 13404 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13405 it.fail = err 13406 return false 13407 } 13408 it.Event.Raw = log 13409 return true 13410 13411 default: 13412 return false 13413 } 13414 } 13415 // Iterator still in progress, wait for either a data or an error event 13416 select { 13417 case log := <-it.logs: 13418 it.Event = new(StickerTypeApproval) 13419 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13420 it.fail = err 13421 return false 13422 } 13423 it.Event.Raw = log 13424 return true 13425 13426 case err := <-it.sub.Err(): 13427 it.done = true 13428 it.fail = err 13429 return it.Next() 13430 } 13431 } 13432 13433 // Error returns any retrieval or parsing error occurred during filtering. 13434 func (it *StickerTypeApprovalIterator) Error() error { 13435 return it.fail 13436 } 13437 13438 // Close terminates the iteration process, releasing any pending underlying 13439 // resources. 13440 func (it *StickerTypeApprovalIterator) Close() error { 13441 it.sub.Unsubscribe() 13442 return nil 13443 } 13444 13445 // StickerTypeApproval represents a Approval event raised by the StickerType contract. 13446 type StickerTypeApproval struct { 13447 Owner common.Address 13448 Approved common.Address 13449 TokenId *big.Int 13450 Raw types.Log // Blockchain specific contextual infos 13451 } 13452 13453 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 13454 // 13455 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 13456 func (_StickerType *StickerTypeFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*StickerTypeApprovalIterator, error) { 13457 13458 var ownerRule []interface{} 13459 for _, ownerItem := range owner { 13460 ownerRule = append(ownerRule, ownerItem) 13461 } 13462 var approvedRule []interface{} 13463 for _, approvedItem := range approved { 13464 approvedRule = append(approvedRule, approvedItem) 13465 } 13466 var tokenIdRule []interface{} 13467 for _, tokenIdItem := range tokenId { 13468 tokenIdRule = append(tokenIdRule, tokenIdItem) 13469 } 13470 13471 logs, sub, err := _StickerType.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 13472 if err != nil { 13473 return nil, err 13474 } 13475 return &StickerTypeApprovalIterator{contract: _StickerType.contract, event: "Approval", logs: logs, sub: sub}, nil 13476 } 13477 13478 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 13479 // 13480 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 13481 func (_StickerType *StickerTypeFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *StickerTypeApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 13482 13483 var ownerRule []interface{} 13484 for _, ownerItem := range owner { 13485 ownerRule = append(ownerRule, ownerItem) 13486 } 13487 var approvedRule []interface{} 13488 for _, approvedItem := range approved { 13489 approvedRule = append(approvedRule, approvedItem) 13490 } 13491 var tokenIdRule []interface{} 13492 for _, tokenIdItem := range tokenId { 13493 tokenIdRule = append(tokenIdRule, tokenIdItem) 13494 } 13495 13496 logs, sub, err := _StickerType.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 13497 if err != nil { 13498 return nil, err 13499 } 13500 return event.NewSubscription(func(quit <-chan struct{}) error { 13501 defer sub.Unsubscribe() 13502 for { 13503 select { 13504 case log := <-logs: 13505 // New log arrived, parse the event and forward to the user 13506 event := new(StickerTypeApproval) 13507 if err := _StickerType.contract.UnpackLog(event, "Approval", log); err != nil { 13508 return err 13509 } 13510 event.Raw = log 13511 13512 select { 13513 case sink <- event: 13514 case err := <-sub.Err(): 13515 return err 13516 case <-quit: 13517 return nil 13518 } 13519 case err := <-sub.Err(): 13520 return err 13521 case <-quit: 13522 return nil 13523 } 13524 } 13525 }), nil 13526 } 13527 13528 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 13529 // 13530 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 13531 func (_StickerType *StickerTypeFilterer) ParseApproval(log types.Log) (*StickerTypeApproval, error) { 13532 event := new(StickerTypeApproval) 13533 if err := _StickerType.contract.UnpackLog(event, "Approval", log); err != nil { 13534 return nil, err 13535 } 13536 event.Raw = log 13537 return event, nil 13538 } 13539 13540 // StickerTypeApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the StickerType contract. 13541 type StickerTypeApprovalForAllIterator struct { 13542 Event *StickerTypeApprovalForAll // Event containing the contract specifics and raw log 13543 13544 contract *bind.BoundContract // Generic contract to use for unpacking event data 13545 event string // Event name to use for unpacking event data 13546 13547 logs chan types.Log // Log channel receiving the found contract events 13548 sub ethereum.Subscription // Subscription for errors, completion and termination 13549 done bool // Whether the subscription completed delivering logs 13550 fail error // Occurred error to stop iteration 13551 } 13552 13553 // Next advances the iterator to the subsequent event, returning whether there 13554 // are any more events found. In case of a retrieval or parsing error, false is 13555 // returned and Error() can be queried for the exact failure. 13556 func (it *StickerTypeApprovalForAllIterator) Next() bool { 13557 // If the iterator failed, stop iterating 13558 if it.fail != nil { 13559 return false 13560 } 13561 // If the iterator completed, deliver directly whatever's available 13562 if it.done { 13563 select { 13564 case log := <-it.logs: 13565 it.Event = new(StickerTypeApprovalForAll) 13566 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13567 it.fail = err 13568 return false 13569 } 13570 it.Event.Raw = log 13571 return true 13572 13573 default: 13574 return false 13575 } 13576 } 13577 // Iterator still in progress, wait for either a data or an error event 13578 select { 13579 case log := <-it.logs: 13580 it.Event = new(StickerTypeApprovalForAll) 13581 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13582 it.fail = err 13583 return false 13584 } 13585 it.Event.Raw = log 13586 return true 13587 13588 case err := <-it.sub.Err(): 13589 it.done = true 13590 it.fail = err 13591 return it.Next() 13592 } 13593 } 13594 13595 // Error returns any retrieval or parsing error occurred during filtering. 13596 func (it *StickerTypeApprovalForAllIterator) Error() error { 13597 return it.fail 13598 } 13599 13600 // Close terminates the iteration process, releasing any pending underlying 13601 // resources. 13602 func (it *StickerTypeApprovalForAllIterator) Close() error { 13603 it.sub.Unsubscribe() 13604 return nil 13605 } 13606 13607 // StickerTypeApprovalForAll represents a ApprovalForAll event raised by the StickerType contract. 13608 type StickerTypeApprovalForAll struct { 13609 Owner common.Address 13610 Operator common.Address 13611 Approved bool 13612 Raw types.Log // Blockchain specific contextual infos 13613 } 13614 13615 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 13616 // 13617 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 13618 func (_StickerType *StickerTypeFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*StickerTypeApprovalForAllIterator, error) { 13619 13620 var ownerRule []interface{} 13621 for _, ownerItem := range owner { 13622 ownerRule = append(ownerRule, ownerItem) 13623 } 13624 var operatorRule []interface{} 13625 for _, operatorItem := range operator { 13626 operatorRule = append(operatorRule, operatorItem) 13627 } 13628 13629 logs, sub, err := _StickerType.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 13630 if err != nil { 13631 return nil, err 13632 } 13633 return &StickerTypeApprovalForAllIterator{contract: _StickerType.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 13634 } 13635 13636 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 13637 // 13638 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 13639 func (_StickerType *StickerTypeFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *StickerTypeApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 13640 13641 var ownerRule []interface{} 13642 for _, ownerItem := range owner { 13643 ownerRule = append(ownerRule, ownerItem) 13644 } 13645 var operatorRule []interface{} 13646 for _, operatorItem := range operator { 13647 operatorRule = append(operatorRule, operatorItem) 13648 } 13649 13650 logs, sub, err := _StickerType.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 13651 if err != nil { 13652 return nil, err 13653 } 13654 return event.NewSubscription(func(quit <-chan struct{}) error { 13655 defer sub.Unsubscribe() 13656 for { 13657 select { 13658 case log := <-logs: 13659 // New log arrived, parse the event and forward to the user 13660 event := new(StickerTypeApprovalForAll) 13661 if err := _StickerType.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 13662 return err 13663 } 13664 event.Raw = log 13665 13666 select { 13667 case sink <- event: 13668 case err := <-sub.Err(): 13669 return err 13670 case <-quit: 13671 return nil 13672 } 13673 case err := <-sub.Err(): 13674 return err 13675 case <-quit: 13676 return nil 13677 } 13678 } 13679 }), nil 13680 } 13681 13682 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 13683 // 13684 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 13685 func (_StickerType *StickerTypeFilterer) ParseApprovalForAll(log types.Log) (*StickerTypeApprovalForAll, error) { 13686 event := new(StickerTypeApprovalForAll) 13687 if err := _StickerType.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 13688 return nil, err 13689 } 13690 event.Raw = log 13691 return event, nil 13692 } 13693 13694 // StickerTypeCategorizedIterator is returned from FilterCategorized and is used to iterate over the raw logs and unpacked data for Categorized events raised by the StickerType contract. 13695 type StickerTypeCategorizedIterator struct { 13696 Event *StickerTypeCategorized // Event containing the contract specifics and raw log 13697 13698 contract *bind.BoundContract // Generic contract to use for unpacking event data 13699 event string // Event name to use for unpacking event data 13700 13701 logs chan types.Log // Log channel receiving the found contract events 13702 sub ethereum.Subscription // Subscription for errors, completion and termination 13703 done bool // Whether the subscription completed delivering logs 13704 fail error // Occurred error to stop iteration 13705 } 13706 13707 // Next advances the iterator to the subsequent event, returning whether there 13708 // are any more events found. In case of a retrieval or parsing error, false is 13709 // returned and Error() can be queried for the exact failure. 13710 func (it *StickerTypeCategorizedIterator) Next() bool { 13711 // If the iterator failed, stop iterating 13712 if it.fail != nil { 13713 return false 13714 } 13715 // If the iterator completed, deliver directly whatever's available 13716 if it.done { 13717 select { 13718 case log := <-it.logs: 13719 it.Event = new(StickerTypeCategorized) 13720 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13721 it.fail = err 13722 return false 13723 } 13724 it.Event.Raw = log 13725 return true 13726 13727 default: 13728 return false 13729 } 13730 } 13731 // Iterator still in progress, wait for either a data or an error event 13732 select { 13733 case log := <-it.logs: 13734 it.Event = new(StickerTypeCategorized) 13735 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13736 it.fail = err 13737 return false 13738 } 13739 it.Event.Raw = log 13740 return true 13741 13742 case err := <-it.sub.Err(): 13743 it.done = true 13744 it.fail = err 13745 return it.Next() 13746 } 13747 } 13748 13749 // Error returns any retrieval or parsing error occurred during filtering. 13750 func (it *StickerTypeCategorizedIterator) Error() error { 13751 return it.fail 13752 } 13753 13754 // Close terminates the iteration process, releasing any pending underlying 13755 // resources. 13756 func (it *StickerTypeCategorizedIterator) Close() error { 13757 it.sub.Unsubscribe() 13758 return nil 13759 } 13760 13761 // StickerTypeCategorized represents a Categorized event raised by the StickerType contract. 13762 type StickerTypeCategorized struct { 13763 Category [4]byte 13764 PackId *big.Int 13765 Raw types.Log // Blockchain specific contextual infos 13766 } 13767 13768 // FilterCategorized is a free log retrieval operation binding the contract event 0x74186c4c4ee368ea5564982241efb7357014b52d6e195d026bc4fdfaa112691b. 13769 // 13770 // Solidity: event Categorized(bytes4 indexed category, uint256 indexed packId) 13771 func (_StickerType *StickerTypeFilterer) FilterCategorized(opts *bind.FilterOpts, category [][4]byte, packId []*big.Int) (*StickerTypeCategorizedIterator, error) { 13772 13773 var categoryRule []interface{} 13774 for _, categoryItem := range category { 13775 categoryRule = append(categoryRule, categoryItem) 13776 } 13777 var packIdRule []interface{} 13778 for _, packIdItem := range packId { 13779 packIdRule = append(packIdRule, packIdItem) 13780 } 13781 13782 logs, sub, err := _StickerType.contract.FilterLogs(opts, "Categorized", categoryRule, packIdRule) 13783 if err != nil { 13784 return nil, err 13785 } 13786 return &StickerTypeCategorizedIterator{contract: _StickerType.contract, event: "Categorized", logs: logs, sub: sub}, nil 13787 } 13788 13789 // WatchCategorized is a free log subscription operation binding the contract event 0x74186c4c4ee368ea5564982241efb7357014b52d6e195d026bc4fdfaa112691b. 13790 // 13791 // Solidity: event Categorized(bytes4 indexed category, uint256 indexed packId) 13792 func (_StickerType *StickerTypeFilterer) WatchCategorized(opts *bind.WatchOpts, sink chan<- *StickerTypeCategorized, category [][4]byte, packId []*big.Int) (event.Subscription, error) { 13793 13794 var categoryRule []interface{} 13795 for _, categoryItem := range category { 13796 categoryRule = append(categoryRule, categoryItem) 13797 } 13798 var packIdRule []interface{} 13799 for _, packIdItem := range packId { 13800 packIdRule = append(packIdRule, packIdItem) 13801 } 13802 13803 logs, sub, err := _StickerType.contract.WatchLogs(opts, "Categorized", categoryRule, packIdRule) 13804 if err != nil { 13805 return nil, err 13806 } 13807 return event.NewSubscription(func(quit <-chan struct{}) error { 13808 defer sub.Unsubscribe() 13809 for { 13810 select { 13811 case log := <-logs: 13812 // New log arrived, parse the event and forward to the user 13813 event := new(StickerTypeCategorized) 13814 if err := _StickerType.contract.UnpackLog(event, "Categorized", log); err != nil { 13815 return err 13816 } 13817 event.Raw = log 13818 13819 select { 13820 case sink <- event: 13821 case err := <-sub.Err(): 13822 return err 13823 case <-quit: 13824 return nil 13825 } 13826 case err := <-sub.Err(): 13827 return err 13828 case <-quit: 13829 return nil 13830 } 13831 } 13832 }), nil 13833 } 13834 13835 // ParseCategorized is a log parse operation binding the contract event 0x74186c4c4ee368ea5564982241efb7357014b52d6e195d026bc4fdfaa112691b. 13836 // 13837 // Solidity: event Categorized(bytes4 indexed category, uint256 indexed packId) 13838 func (_StickerType *StickerTypeFilterer) ParseCategorized(log types.Log) (*StickerTypeCategorized, error) { 13839 event := new(StickerTypeCategorized) 13840 if err := _StickerType.contract.UnpackLog(event, "Categorized", log); err != nil { 13841 return nil, err 13842 } 13843 event.Raw = log 13844 return event, nil 13845 } 13846 13847 // StickerTypeClaimedTokensIterator is returned from FilterClaimedTokens and is used to iterate over the raw logs and unpacked data for ClaimedTokens events raised by the StickerType contract. 13848 type StickerTypeClaimedTokensIterator struct { 13849 Event *StickerTypeClaimedTokens // Event containing the contract specifics and raw log 13850 13851 contract *bind.BoundContract // Generic contract to use for unpacking event data 13852 event string // Event name to use for unpacking event data 13853 13854 logs chan types.Log // Log channel receiving the found contract events 13855 sub ethereum.Subscription // Subscription for errors, completion and termination 13856 done bool // Whether the subscription completed delivering logs 13857 fail error // Occurred error to stop iteration 13858 } 13859 13860 // Next advances the iterator to the subsequent event, returning whether there 13861 // are any more events found. In case of a retrieval or parsing error, false is 13862 // returned and Error() can be queried for the exact failure. 13863 func (it *StickerTypeClaimedTokensIterator) Next() bool { 13864 // If the iterator failed, stop iterating 13865 if it.fail != nil { 13866 return false 13867 } 13868 // If the iterator completed, deliver directly whatever's available 13869 if it.done { 13870 select { 13871 case log := <-it.logs: 13872 it.Event = new(StickerTypeClaimedTokens) 13873 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13874 it.fail = err 13875 return false 13876 } 13877 it.Event.Raw = log 13878 return true 13879 13880 default: 13881 return false 13882 } 13883 } 13884 // Iterator still in progress, wait for either a data or an error event 13885 select { 13886 case log := <-it.logs: 13887 it.Event = new(StickerTypeClaimedTokens) 13888 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13889 it.fail = err 13890 return false 13891 } 13892 it.Event.Raw = log 13893 return true 13894 13895 case err := <-it.sub.Err(): 13896 it.done = true 13897 it.fail = err 13898 return it.Next() 13899 } 13900 } 13901 13902 // Error returns any retrieval or parsing error occurred during filtering. 13903 func (it *StickerTypeClaimedTokensIterator) Error() error { 13904 return it.fail 13905 } 13906 13907 // Close terminates the iteration process, releasing any pending underlying 13908 // resources. 13909 func (it *StickerTypeClaimedTokensIterator) Close() error { 13910 it.sub.Unsubscribe() 13911 return nil 13912 } 13913 13914 // StickerTypeClaimedTokens represents a ClaimedTokens event raised by the StickerType contract. 13915 type StickerTypeClaimedTokens struct { 13916 Token common.Address 13917 Controller common.Address 13918 Amount *big.Int 13919 Raw types.Log // Blockchain specific contextual infos 13920 } 13921 13922 // FilterClaimedTokens is a free log retrieval operation binding the contract event 0xf931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c. 13923 // 13924 // Solidity: event ClaimedTokens(address indexed _token, address indexed _controller, uint256 _amount) 13925 func (_StickerType *StickerTypeFilterer) FilterClaimedTokens(opts *bind.FilterOpts, _token []common.Address, _controller []common.Address) (*StickerTypeClaimedTokensIterator, error) { 13926 13927 var _tokenRule []interface{} 13928 for _, _tokenItem := range _token { 13929 _tokenRule = append(_tokenRule, _tokenItem) 13930 } 13931 var _controllerRule []interface{} 13932 for _, _controllerItem := range _controller { 13933 _controllerRule = append(_controllerRule, _controllerItem) 13934 } 13935 13936 logs, sub, err := _StickerType.contract.FilterLogs(opts, "ClaimedTokens", _tokenRule, _controllerRule) 13937 if err != nil { 13938 return nil, err 13939 } 13940 return &StickerTypeClaimedTokensIterator{contract: _StickerType.contract, event: "ClaimedTokens", logs: logs, sub: sub}, nil 13941 } 13942 13943 // WatchClaimedTokens is a free log subscription operation binding the contract event 0xf931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c. 13944 // 13945 // Solidity: event ClaimedTokens(address indexed _token, address indexed _controller, uint256 _amount) 13946 func (_StickerType *StickerTypeFilterer) WatchClaimedTokens(opts *bind.WatchOpts, sink chan<- *StickerTypeClaimedTokens, _token []common.Address, _controller []common.Address) (event.Subscription, error) { 13947 13948 var _tokenRule []interface{} 13949 for _, _tokenItem := range _token { 13950 _tokenRule = append(_tokenRule, _tokenItem) 13951 } 13952 var _controllerRule []interface{} 13953 for _, _controllerItem := range _controller { 13954 _controllerRule = append(_controllerRule, _controllerItem) 13955 } 13956 13957 logs, sub, err := _StickerType.contract.WatchLogs(opts, "ClaimedTokens", _tokenRule, _controllerRule) 13958 if err != nil { 13959 return nil, err 13960 } 13961 return event.NewSubscription(func(quit <-chan struct{}) error { 13962 defer sub.Unsubscribe() 13963 for { 13964 select { 13965 case log := <-logs: 13966 // New log arrived, parse the event and forward to the user 13967 event := new(StickerTypeClaimedTokens) 13968 if err := _StickerType.contract.UnpackLog(event, "ClaimedTokens", log); err != nil { 13969 return err 13970 } 13971 event.Raw = log 13972 13973 select { 13974 case sink <- event: 13975 case err := <-sub.Err(): 13976 return err 13977 case <-quit: 13978 return nil 13979 } 13980 case err := <-sub.Err(): 13981 return err 13982 case <-quit: 13983 return nil 13984 } 13985 } 13986 }), nil 13987 } 13988 13989 // ParseClaimedTokens is a log parse operation binding the contract event 0xf931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c. 13990 // 13991 // Solidity: event ClaimedTokens(address indexed _token, address indexed _controller, uint256 _amount) 13992 func (_StickerType *StickerTypeFilterer) ParseClaimedTokens(log types.Log) (*StickerTypeClaimedTokens, error) { 13993 event := new(StickerTypeClaimedTokens) 13994 if err := _StickerType.contract.UnpackLog(event, "ClaimedTokens", log); err != nil { 13995 return nil, err 13996 } 13997 event.Raw = log 13998 return event, nil 13999 } 14000 14001 // StickerTypeContenthashChangedIterator is returned from FilterContenthashChanged and is used to iterate over the raw logs and unpacked data for ContenthashChanged events raised by the StickerType contract. 14002 type StickerTypeContenthashChangedIterator struct { 14003 Event *StickerTypeContenthashChanged // Event containing the contract specifics and raw log 14004 14005 contract *bind.BoundContract // Generic contract to use for unpacking event data 14006 event string // Event name to use for unpacking event data 14007 14008 logs chan types.Log // Log channel receiving the found contract events 14009 sub ethereum.Subscription // Subscription for errors, completion and termination 14010 done bool // Whether the subscription completed delivering logs 14011 fail error // Occurred error to stop iteration 14012 } 14013 14014 // Next advances the iterator to the subsequent event, returning whether there 14015 // are any more events found. In case of a retrieval or parsing error, false is 14016 // returned and Error() can be queried for the exact failure. 14017 func (it *StickerTypeContenthashChangedIterator) Next() bool { 14018 // If the iterator failed, stop iterating 14019 if it.fail != nil { 14020 return false 14021 } 14022 // If the iterator completed, deliver directly whatever's available 14023 if it.done { 14024 select { 14025 case log := <-it.logs: 14026 it.Event = new(StickerTypeContenthashChanged) 14027 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14028 it.fail = err 14029 return false 14030 } 14031 it.Event.Raw = log 14032 return true 14033 14034 default: 14035 return false 14036 } 14037 } 14038 // Iterator still in progress, wait for either a data or an error event 14039 select { 14040 case log := <-it.logs: 14041 it.Event = new(StickerTypeContenthashChanged) 14042 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14043 it.fail = err 14044 return false 14045 } 14046 it.Event.Raw = log 14047 return true 14048 14049 case err := <-it.sub.Err(): 14050 it.done = true 14051 it.fail = err 14052 return it.Next() 14053 } 14054 } 14055 14056 // Error returns any retrieval or parsing error occurred during filtering. 14057 func (it *StickerTypeContenthashChangedIterator) Error() error { 14058 return it.fail 14059 } 14060 14061 // Close terminates the iteration process, releasing any pending underlying 14062 // resources. 14063 func (it *StickerTypeContenthashChangedIterator) Close() error { 14064 it.sub.Unsubscribe() 14065 return nil 14066 } 14067 14068 // StickerTypeContenthashChanged represents a ContenthashChanged event raised by the StickerType contract. 14069 type StickerTypeContenthashChanged struct { 14070 Packid *big.Int 14071 Contenthash []byte 14072 Raw types.Log // Blockchain specific contextual infos 14073 } 14074 14075 // FilterContenthashChanged is a free log retrieval operation binding the contract event 0x6fd3fdff55b0feb6f24c338494b36929368cd564825688c741d54b8d7fa7beb9. 14076 // 14077 // Solidity: event ContenthashChanged(uint256 indexed packid, bytes contenthash) 14078 func (_StickerType *StickerTypeFilterer) FilterContenthashChanged(opts *bind.FilterOpts, packid []*big.Int) (*StickerTypeContenthashChangedIterator, error) { 14079 14080 var packidRule []interface{} 14081 for _, packidItem := range packid { 14082 packidRule = append(packidRule, packidItem) 14083 } 14084 14085 logs, sub, err := _StickerType.contract.FilterLogs(opts, "ContenthashChanged", packidRule) 14086 if err != nil { 14087 return nil, err 14088 } 14089 return &StickerTypeContenthashChangedIterator{contract: _StickerType.contract, event: "ContenthashChanged", logs: logs, sub: sub}, nil 14090 } 14091 14092 // WatchContenthashChanged is a free log subscription operation binding the contract event 0x6fd3fdff55b0feb6f24c338494b36929368cd564825688c741d54b8d7fa7beb9. 14093 // 14094 // Solidity: event ContenthashChanged(uint256 indexed packid, bytes contenthash) 14095 func (_StickerType *StickerTypeFilterer) WatchContenthashChanged(opts *bind.WatchOpts, sink chan<- *StickerTypeContenthashChanged, packid []*big.Int) (event.Subscription, error) { 14096 14097 var packidRule []interface{} 14098 for _, packidItem := range packid { 14099 packidRule = append(packidRule, packidItem) 14100 } 14101 14102 logs, sub, err := _StickerType.contract.WatchLogs(opts, "ContenthashChanged", packidRule) 14103 if err != nil { 14104 return nil, err 14105 } 14106 return event.NewSubscription(func(quit <-chan struct{}) error { 14107 defer sub.Unsubscribe() 14108 for { 14109 select { 14110 case log := <-logs: 14111 // New log arrived, parse the event and forward to the user 14112 event := new(StickerTypeContenthashChanged) 14113 if err := _StickerType.contract.UnpackLog(event, "ContenthashChanged", log); err != nil { 14114 return err 14115 } 14116 event.Raw = log 14117 14118 select { 14119 case sink <- event: 14120 case err := <-sub.Err(): 14121 return err 14122 case <-quit: 14123 return nil 14124 } 14125 case err := <-sub.Err(): 14126 return err 14127 case <-quit: 14128 return nil 14129 } 14130 } 14131 }), nil 14132 } 14133 14134 // ParseContenthashChanged is a log parse operation binding the contract event 0x6fd3fdff55b0feb6f24c338494b36929368cd564825688c741d54b8d7fa7beb9. 14135 // 14136 // Solidity: event ContenthashChanged(uint256 indexed packid, bytes contenthash) 14137 func (_StickerType *StickerTypeFilterer) ParseContenthashChanged(log types.Log) (*StickerTypeContenthashChanged, error) { 14138 event := new(StickerTypeContenthashChanged) 14139 if err := _StickerType.contract.UnpackLog(event, "ContenthashChanged", log); err != nil { 14140 return nil, err 14141 } 14142 event.Raw = log 14143 return event, nil 14144 } 14145 14146 // StickerTypeMintabilityChangedIterator is returned from FilterMintabilityChanged and is used to iterate over the raw logs and unpacked data for MintabilityChanged events raised by the StickerType contract. 14147 type StickerTypeMintabilityChangedIterator struct { 14148 Event *StickerTypeMintabilityChanged // Event containing the contract specifics and raw log 14149 14150 contract *bind.BoundContract // Generic contract to use for unpacking event data 14151 event string // Event name to use for unpacking event data 14152 14153 logs chan types.Log // Log channel receiving the found contract events 14154 sub ethereum.Subscription // Subscription for errors, completion and termination 14155 done bool // Whether the subscription completed delivering logs 14156 fail error // Occurred error to stop iteration 14157 } 14158 14159 // Next advances the iterator to the subsequent event, returning whether there 14160 // are any more events found. In case of a retrieval or parsing error, false is 14161 // returned and Error() can be queried for the exact failure. 14162 func (it *StickerTypeMintabilityChangedIterator) Next() bool { 14163 // If the iterator failed, stop iterating 14164 if it.fail != nil { 14165 return false 14166 } 14167 // If the iterator completed, deliver directly whatever's available 14168 if it.done { 14169 select { 14170 case log := <-it.logs: 14171 it.Event = new(StickerTypeMintabilityChanged) 14172 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14173 it.fail = err 14174 return false 14175 } 14176 it.Event.Raw = log 14177 return true 14178 14179 default: 14180 return false 14181 } 14182 } 14183 // Iterator still in progress, wait for either a data or an error event 14184 select { 14185 case log := <-it.logs: 14186 it.Event = new(StickerTypeMintabilityChanged) 14187 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14188 it.fail = err 14189 return false 14190 } 14191 it.Event.Raw = log 14192 return true 14193 14194 case err := <-it.sub.Err(): 14195 it.done = true 14196 it.fail = err 14197 return it.Next() 14198 } 14199 } 14200 14201 // Error returns any retrieval or parsing error occurred during filtering. 14202 func (it *StickerTypeMintabilityChangedIterator) Error() error { 14203 return it.fail 14204 } 14205 14206 // Close terminates the iteration process, releasing any pending underlying 14207 // resources. 14208 func (it *StickerTypeMintabilityChangedIterator) Close() error { 14209 it.sub.Unsubscribe() 14210 return nil 14211 } 14212 14213 // StickerTypeMintabilityChanged represents a MintabilityChanged event raised by the StickerType contract. 14214 type StickerTypeMintabilityChanged struct { 14215 PackId *big.Int 14216 Mintable bool 14217 Raw types.Log // Blockchain specific contextual infos 14218 } 14219 14220 // FilterMintabilityChanged is a free log retrieval operation binding the contract event 0x7a5b9103727f29409c14d2581e9710a1648b1354e667e1c803d4bda045159660. 14221 // 14222 // Solidity: event MintabilityChanged(uint256 indexed packId, bool mintable) 14223 func (_StickerType *StickerTypeFilterer) FilterMintabilityChanged(opts *bind.FilterOpts, packId []*big.Int) (*StickerTypeMintabilityChangedIterator, error) { 14224 14225 var packIdRule []interface{} 14226 for _, packIdItem := range packId { 14227 packIdRule = append(packIdRule, packIdItem) 14228 } 14229 14230 logs, sub, err := _StickerType.contract.FilterLogs(opts, "MintabilityChanged", packIdRule) 14231 if err != nil { 14232 return nil, err 14233 } 14234 return &StickerTypeMintabilityChangedIterator{contract: _StickerType.contract, event: "MintabilityChanged", logs: logs, sub: sub}, nil 14235 } 14236 14237 // WatchMintabilityChanged is a free log subscription operation binding the contract event 0x7a5b9103727f29409c14d2581e9710a1648b1354e667e1c803d4bda045159660. 14238 // 14239 // Solidity: event MintabilityChanged(uint256 indexed packId, bool mintable) 14240 func (_StickerType *StickerTypeFilterer) WatchMintabilityChanged(opts *bind.WatchOpts, sink chan<- *StickerTypeMintabilityChanged, packId []*big.Int) (event.Subscription, error) { 14241 14242 var packIdRule []interface{} 14243 for _, packIdItem := range packId { 14244 packIdRule = append(packIdRule, packIdItem) 14245 } 14246 14247 logs, sub, err := _StickerType.contract.WatchLogs(opts, "MintabilityChanged", packIdRule) 14248 if err != nil { 14249 return nil, err 14250 } 14251 return event.NewSubscription(func(quit <-chan struct{}) error { 14252 defer sub.Unsubscribe() 14253 for { 14254 select { 14255 case log := <-logs: 14256 // New log arrived, parse the event and forward to the user 14257 event := new(StickerTypeMintabilityChanged) 14258 if err := _StickerType.contract.UnpackLog(event, "MintabilityChanged", log); err != nil { 14259 return err 14260 } 14261 event.Raw = log 14262 14263 select { 14264 case sink <- event: 14265 case err := <-sub.Err(): 14266 return err 14267 case <-quit: 14268 return nil 14269 } 14270 case err := <-sub.Err(): 14271 return err 14272 case <-quit: 14273 return nil 14274 } 14275 } 14276 }), nil 14277 } 14278 14279 // ParseMintabilityChanged is a log parse operation binding the contract event 0x7a5b9103727f29409c14d2581e9710a1648b1354e667e1c803d4bda045159660. 14280 // 14281 // Solidity: event MintabilityChanged(uint256 indexed packId, bool mintable) 14282 func (_StickerType *StickerTypeFilterer) ParseMintabilityChanged(log types.Log) (*StickerTypeMintabilityChanged, error) { 14283 event := new(StickerTypeMintabilityChanged) 14284 if err := _StickerType.contract.UnpackLog(event, "MintabilityChanged", log); err != nil { 14285 return nil, err 14286 } 14287 event.Raw = log 14288 return event, nil 14289 } 14290 14291 // StickerTypeNewControllerIterator is returned from FilterNewController and is used to iterate over the raw logs and unpacked data for NewController events raised by the StickerType contract. 14292 type StickerTypeNewControllerIterator struct { 14293 Event *StickerTypeNewController // Event containing the contract specifics and raw log 14294 14295 contract *bind.BoundContract // Generic contract to use for unpacking event data 14296 event string // Event name to use for unpacking event data 14297 14298 logs chan types.Log // Log channel receiving the found contract events 14299 sub ethereum.Subscription // Subscription for errors, completion and termination 14300 done bool // Whether the subscription completed delivering logs 14301 fail error // Occurred error to stop iteration 14302 } 14303 14304 // Next advances the iterator to the subsequent event, returning whether there 14305 // are any more events found. In case of a retrieval or parsing error, false is 14306 // returned and Error() can be queried for the exact failure. 14307 func (it *StickerTypeNewControllerIterator) Next() bool { 14308 // If the iterator failed, stop iterating 14309 if it.fail != nil { 14310 return false 14311 } 14312 // If the iterator completed, deliver directly whatever's available 14313 if it.done { 14314 select { 14315 case log := <-it.logs: 14316 it.Event = new(StickerTypeNewController) 14317 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14318 it.fail = err 14319 return false 14320 } 14321 it.Event.Raw = log 14322 return true 14323 14324 default: 14325 return false 14326 } 14327 } 14328 // Iterator still in progress, wait for either a data or an error event 14329 select { 14330 case log := <-it.logs: 14331 it.Event = new(StickerTypeNewController) 14332 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14333 it.fail = err 14334 return false 14335 } 14336 it.Event.Raw = log 14337 return true 14338 14339 case err := <-it.sub.Err(): 14340 it.done = true 14341 it.fail = err 14342 return it.Next() 14343 } 14344 } 14345 14346 // Error returns any retrieval or parsing error occurred during filtering. 14347 func (it *StickerTypeNewControllerIterator) Error() error { 14348 return it.fail 14349 } 14350 14351 // Close terminates the iteration process, releasing any pending underlying 14352 // resources. 14353 func (it *StickerTypeNewControllerIterator) Close() error { 14354 it.sub.Unsubscribe() 14355 return nil 14356 } 14357 14358 // StickerTypeNewController represents a NewController event raised by the StickerType contract. 14359 type StickerTypeNewController struct { 14360 Controller common.Address 14361 Raw types.Log // Blockchain specific contextual infos 14362 } 14363 14364 // FilterNewController is a free log retrieval operation binding the contract event 0xe253457d9ad994ca9682fc3bbc38c890dca73a2d5ecee3809e548bac8b00d7c6. 14365 // 14366 // Solidity: event NewController(address controller) 14367 func (_StickerType *StickerTypeFilterer) FilterNewController(opts *bind.FilterOpts) (*StickerTypeNewControllerIterator, error) { 14368 14369 logs, sub, err := _StickerType.contract.FilterLogs(opts, "NewController") 14370 if err != nil { 14371 return nil, err 14372 } 14373 return &StickerTypeNewControllerIterator{contract: _StickerType.contract, event: "NewController", logs: logs, sub: sub}, nil 14374 } 14375 14376 // WatchNewController is a free log subscription operation binding the contract event 0xe253457d9ad994ca9682fc3bbc38c890dca73a2d5ecee3809e548bac8b00d7c6. 14377 // 14378 // Solidity: event NewController(address controller) 14379 func (_StickerType *StickerTypeFilterer) WatchNewController(opts *bind.WatchOpts, sink chan<- *StickerTypeNewController) (event.Subscription, error) { 14380 14381 logs, sub, err := _StickerType.contract.WatchLogs(opts, "NewController") 14382 if err != nil { 14383 return nil, err 14384 } 14385 return event.NewSubscription(func(quit <-chan struct{}) error { 14386 defer sub.Unsubscribe() 14387 for { 14388 select { 14389 case log := <-logs: 14390 // New log arrived, parse the event and forward to the user 14391 event := new(StickerTypeNewController) 14392 if err := _StickerType.contract.UnpackLog(event, "NewController", log); err != nil { 14393 return err 14394 } 14395 event.Raw = log 14396 14397 select { 14398 case sink <- event: 14399 case err := <-sub.Err(): 14400 return err 14401 case <-quit: 14402 return nil 14403 } 14404 case err := <-sub.Err(): 14405 return err 14406 case <-quit: 14407 return nil 14408 } 14409 } 14410 }), nil 14411 } 14412 14413 // ParseNewController is a log parse operation binding the contract event 0xe253457d9ad994ca9682fc3bbc38c890dca73a2d5ecee3809e548bac8b00d7c6. 14414 // 14415 // Solidity: event NewController(address controller) 14416 func (_StickerType *StickerTypeFilterer) ParseNewController(log types.Log) (*StickerTypeNewController, error) { 14417 event := new(StickerTypeNewController) 14418 if err := _StickerType.contract.UnpackLog(event, "NewController", log); err != nil { 14419 return nil, err 14420 } 14421 event.Raw = log 14422 return event, nil 14423 } 14424 14425 // StickerTypePriceChangedIterator is returned from FilterPriceChanged and is used to iterate over the raw logs and unpacked data for PriceChanged events raised by the StickerType contract. 14426 type StickerTypePriceChangedIterator struct { 14427 Event *StickerTypePriceChanged // Event containing the contract specifics and raw log 14428 14429 contract *bind.BoundContract // Generic contract to use for unpacking event data 14430 event string // Event name to use for unpacking event data 14431 14432 logs chan types.Log // Log channel receiving the found contract events 14433 sub ethereum.Subscription // Subscription for errors, completion and termination 14434 done bool // Whether the subscription completed delivering logs 14435 fail error // Occurred error to stop iteration 14436 } 14437 14438 // Next advances the iterator to the subsequent event, returning whether there 14439 // are any more events found. In case of a retrieval or parsing error, false is 14440 // returned and Error() can be queried for the exact failure. 14441 func (it *StickerTypePriceChangedIterator) Next() bool { 14442 // If the iterator failed, stop iterating 14443 if it.fail != nil { 14444 return false 14445 } 14446 // If the iterator completed, deliver directly whatever's available 14447 if it.done { 14448 select { 14449 case log := <-it.logs: 14450 it.Event = new(StickerTypePriceChanged) 14451 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14452 it.fail = err 14453 return false 14454 } 14455 it.Event.Raw = log 14456 return true 14457 14458 default: 14459 return false 14460 } 14461 } 14462 // Iterator still in progress, wait for either a data or an error event 14463 select { 14464 case log := <-it.logs: 14465 it.Event = new(StickerTypePriceChanged) 14466 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14467 it.fail = err 14468 return false 14469 } 14470 it.Event.Raw = log 14471 return true 14472 14473 case err := <-it.sub.Err(): 14474 it.done = true 14475 it.fail = err 14476 return it.Next() 14477 } 14478 } 14479 14480 // Error returns any retrieval or parsing error occurred during filtering. 14481 func (it *StickerTypePriceChangedIterator) Error() error { 14482 return it.fail 14483 } 14484 14485 // Close terminates the iteration process, releasing any pending underlying 14486 // resources. 14487 func (it *StickerTypePriceChangedIterator) Close() error { 14488 it.sub.Unsubscribe() 14489 return nil 14490 } 14491 14492 // StickerTypePriceChanged represents a PriceChanged event raised by the StickerType contract. 14493 type StickerTypePriceChanged struct { 14494 PackId *big.Int 14495 DataPrice *big.Int 14496 Raw types.Log // Blockchain specific contextual infos 14497 } 14498 14499 // FilterPriceChanged is a free log retrieval operation binding the contract event 0x8aa4fa52648a6d15edce8a179c792c86f3719d0cc3c572cf90f91948f0f2cb68. 14500 // 14501 // Solidity: event PriceChanged(uint256 indexed packId, uint256 dataPrice) 14502 func (_StickerType *StickerTypeFilterer) FilterPriceChanged(opts *bind.FilterOpts, packId []*big.Int) (*StickerTypePriceChangedIterator, error) { 14503 14504 var packIdRule []interface{} 14505 for _, packIdItem := range packId { 14506 packIdRule = append(packIdRule, packIdItem) 14507 } 14508 14509 logs, sub, err := _StickerType.contract.FilterLogs(opts, "PriceChanged", packIdRule) 14510 if err != nil { 14511 return nil, err 14512 } 14513 return &StickerTypePriceChangedIterator{contract: _StickerType.contract, event: "PriceChanged", logs: logs, sub: sub}, nil 14514 } 14515 14516 // WatchPriceChanged is a free log subscription operation binding the contract event 0x8aa4fa52648a6d15edce8a179c792c86f3719d0cc3c572cf90f91948f0f2cb68. 14517 // 14518 // Solidity: event PriceChanged(uint256 indexed packId, uint256 dataPrice) 14519 func (_StickerType *StickerTypeFilterer) WatchPriceChanged(opts *bind.WatchOpts, sink chan<- *StickerTypePriceChanged, packId []*big.Int) (event.Subscription, error) { 14520 14521 var packIdRule []interface{} 14522 for _, packIdItem := range packId { 14523 packIdRule = append(packIdRule, packIdItem) 14524 } 14525 14526 logs, sub, err := _StickerType.contract.WatchLogs(opts, "PriceChanged", packIdRule) 14527 if err != nil { 14528 return nil, err 14529 } 14530 return event.NewSubscription(func(quit <-chan struct{}) error { 14531 defer sub.Unsubscribe() 14532 for { 14533 select { 14534 case log := <-logs: 14535 // New log arrived, parse the event and forward to the user 14536 event := new(StickerTypePriceChanged) 14537 if err := _StickerType.contract.UnpackLog(event, "PriceChanged", log); err != nil { 14538 return err 14539 } 14540 event.Raw = log 14541 14542 select { 14543 case sink <- event: 14544 case err := <-sub.Err(): 14545 return err 14546 case <-quit: 14547 return nil 14548 } 14549 case err := <-sub.Err(): 14550 return err 14551 case <-quit: 14552 return nil 14553 } 14554 } 14555 }), nil 14556 } 14557 14558 // ParsePriceChanged is a log parse operation binding the contract event 0x8aa4fa52648a6d15edce8a179c792c86f3719d0cc3c572cf90f91948f0f2cb68. 14559 // 14560 // Solidity: event PriceChanged(uint256 indexed packId, uint256 dataPrice) 14561 func (_StickerType *StickerTypeFilterer) ParsePriceChanged(log types.Log) (*StickerTypePriceChanged, error) { 14562 event := new(StickerTypePriceChanged) 14563 if err := _StickerType.contract.UnpackLog(event, "PriceChanged", log); err != nil { 14564 return nil, err 14565 } 14566 event.Raw = log 14567 return event, nil 14568 } 14569 14570 // StickerTypeRegisterIterator is returned from FilterRegister and is used to iterate over the raw logs and unpacked data for Register events raised by the StickerType contract. 14571 type StickerTypeRegisterIterator struct { 14572 Event *StickerTypeRegister // Event containing the contract specifics and raw log 14573 14574 contract *bind.BoundContract // Generic contract to use for unpacking event data 14575 event string // Event name to use for unpacking event data 14576 14577 logs chan types.Log // Log channel receiving the found contract events 14578 sub ethereum.Subscription // Subscription for errors, completion and termination 14579 done bool // Whether the subscription completed delivering logs 14580 fail error // Occurred error to stop iteration 14581 } 14582 14583 // Next advances the iterator to the subsequent event, returning whether there 14584 // are any more events found. In case of a retrieval or parsing error, false is 14585 // returned and Error() can be queried for the exact failure. 14586 func (it *StickerTypeRegisterIterator) Next() bool { 14587 // If the iterator failed, stop iterating 14588 if it.fail != nil { 14589 return false 14590 } 14591 // If the iterator completed, deliver directly whatever's available 14592 if it.done { 14593 select { 14594 case log := <-it.logs: 14595 it.Event = new(StickerTypeRegister) 14596 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14597 it.fail = err 14598 return false 14599 } 14600 it.Event.Raw = log 14601 return true 14602 14603 default: 14604 return false 14605 } 14606 } 14607 // Iterator still in progress, wait for either a data or an error event 14608 select { 14609 case log := <-it.logs: 14610 it.Event = new(StickerTypeRegister) 14611 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14612 it.fail = err 14613 return false 14614 } 14615 it.Event.Raw = log 14616 return true 14617 14618 case err := <-it.sub.Err(): 14619 it.done = true 14620 it.fail = err 14621 return it.Next() 14622 } 14623 } 14624 14625 // Error returns any retrieval or parsing error occurred during filtering. 14626 func (it *StickerTypeRegisterIterator) Error() error { 14627 return it.fail 14628 } 14629 14630 // Close terminates the iteration process, releasing any pending underlying 14631 // resources. 14632 func (it *StickerTypeRegisterIterator) Close() error { 14633 it.sub.Unsubscribe() 14634 return nil 14635 } 14636 14637 // StickerTypeRegister represents a Register event raised by the StickerType contract. 14638 type StickerTypeRegister struct { 14639 PackId *big.Int 14640 DataPrice *big.Int 14641 Contenthash []byte 14642 Mintable bool 14643 Raw types.Log // Blockchain specific contextual infos 14644 } 14645 14646 // FilterRegister is a free log retrieval operation binding the contract event 0x8304dd8a0ecd1927e64564792f1147f0aca02ba211e48c2981bf7244a9877975. 14647 // 14648 // Solidity: event Register(uint256 indexed packId, uint256 dataPrice, bytes contenthash, bool mintable) 14649 func (_StickerType *StickerTypeFilterer) FilterRegister(opts *bind.FilterOpts, packId []*big.Int) (*StickerTypeRegisterIterator, error) { 14650 14651 var packIdRule []interface{} 14652 for _, packIdItem := range packId { 14653 packIdRule = append(packIdRule, packIdItem) 14654 } 14655 14656 logs, sub, err := _StickerType.contract.FilterLogs(opts, "Register", packIdRule) 14657 if err != nil { 14658 return nil, err 14659 } 14660 return &StickerTypeRegisterIterator{contract: _StickerType.contract, event: "Register", logs: logs, sub: sub}, nil 14661 } 14662 14663 // WatchRegister is a free log subscription operation binding the contract event 0x8304dd8a0ecd1927e64564792f1147f0aca02ba211e48c2981bf7244a9877975. 14664 // 14665 // Solidity: event Register(uint256 indexed packId, uint256 dataPrice, bytes contenthash, bool mintable) 14666 func (_StickerType *StickerTypeFilterer) WatchRegister(opts *bind.WatchOpts, sink chan<- *StickerTypeRegister, packId []*big.Int) (event.Subscription, error) { 14667 14668 var packIdRule []interface{} 14669 for _, packIdItem := range packId { 14670 packIdRule = append(packIdRule, packIdItem) 14671 } 14672 14673 logs, sub, err := _StickerType.contract.WatchLogs(opts, "Register", packIdRule) 14674 if err != nil { 14675 return nil, err 14676 } 14677 return event.NewSubscription(func(quit <-chan struct{}) error { 14678 defer sub.Unsubscribe() 14679 for { 14680 select { 14681 case log := <-logs: 14682 // New log arrived, parse the event and forward to the user 14683 event := new(StickerTypeRegister) 14684 if err := _StickerType.contract.UnpackLog(event, "Register", log); err != nil { 14685 return err 14686 } 14687 event.Raw = log 14688 14689 select { 14690 case sink <- event: 14691 case err := <-sub.Err(): 14692 return err 14693 case <-quit: 14694 return nil 14695 } 14696 case err := <-sub.Err(): 14697 return err 14698 case <-quit: 14699 return nil 14700 } 14701 } 14702 }), nil 14703 } 14704 14705 // ParseRegister is a log parse operation binding the contract event 0x8304dd8a0ecd1927e64564792f1147f0aca02ba211e48c2981bf7244a9877975. 14706 // 14707 // Solidity: event Register(uint256 indexed packId, uint256 dataPrice, bytes contenthash, bool mintable) 14708 func (_StickerType *StickerTypeFilterer) ParseRegister(log types.Log) (*StickerTypeRegister, error) { 14709 event := new(StickerTypeRegister) 14710 if err := _StickerType.contract.UnpackLog(event, "Register", log); err != nil { 14711 return nil, err 14712 } 14713 event.Raw = log 14714 return event, nil 14715 } 14716 14717 // StickerTypeTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the StickerType contract. 14718 type StickerTypeTransferIterator struct { 14719 Event *StickerTypeTransfer // Event containing the contract specifics and raw log 14720 14721 contract *bind.BoundContract // Generic contract to use for unpacking event data 14722 event string // Event name to use for unpacking event data 14723 14724 logs chan types.Log // Log channel receiving the found contract events 14725 sub ethereum.Subscription // Subscription for errors, completion and termination 14726 done bool // Whether the subscription completed delivering logs 14727 fail error // Occurred error to stop iteration 14728 } 14729 14730 // Next advances the iterator to the subsequent event, returning whether there 14731 // are any more events found. In case of a retrieval or parsing error, false is 14732 // returned and Error() can be queried for the exact failure. 14733 func (it *StickerTypeTransferIterator) Next() bool { 14734 // If the iterator failed, stop iterating 14735 if it.fail != nil { 14736 return false 14737 } 14738 // If the iterator completed, deliver directly whatever's available 14739 if it.done { 14740 select { 14741 case log := <-it.logs: 14742 it.Event = new(StickerTypeTransfer) 14743 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14744 it.fail = err 14745 return false 14746 } 14747 it.Event.Raw = log 14748 return true 14749 14750 default: 14751 return false 14752 } 14753 } 14754 // Iterator still in progress, wait for either a data or an error event 14755 select { 14756 case log := <-it.logs: 14757 it.Event = new(StickerTypeTransfer) 14758 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14759 it.fail = err 14760 return false 14761 } 14762 it.Event.Raw = log 14763 return true 14764 14765 case err := <-it.sub.Err(): 14766 it.done = true 14767 it.fail = err 14768 return it.Next() 14769 } 14770 } 14771 14772 // Error returns any retrieval or parsing error occurred during filtering. 14773 func (it *StickerTypeTransferIterator) Error() error { 14774 return it.fail 14775 } 14776 14777 // Close terminates the iteration process, releasing any pending underlying 14778 // resources. 14779 func (it *StickerTypeTransferIterator) Close() error { 14780 it.sub.Unsubscribe() 14781 return nil 14782 } 14783 14784 // StickerTypeTransfer represents a Transfer event raised by the StickerType contract. 14785 type StickerTypeTransfer struct { 14786 From common.Address 14787 To common.Address 14788 TokenId *big.Int 14789 Raw types.Log // Blockchain specific contextual infos 14790 } 14791 14792 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 14793 // 14794 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 14795 func (_StickerType *StickerTypeFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*StickerTypeTransferIterator, error) { 14796 14797 var fromRule []interface{} 14798 for _, fromItem := range from { 14799 fromRule = append(fromRule, fromItem) 14800 } 14801 var toRule []interface{} 14802 for _, toItem := range to { 14803 toRule = append(toRule, toItem) 14804 } 14805 var tokenIdRule []interface{} 14806 for _, tokenIdItem := range tokenId { 14807 tokenIdRule = append(tokenIdRule, tokenIdItem) 14808 } 14809 14810 logs, sub, err := _StickerType.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 14811 if err != nil { 14812 return nil, err 14813 } 14814 return &StickerTypeTransferIterator{contract: _StickerType.contract, event: "Transfer", logs: logs, sub: sub}, nil 14815 } 14816 14817 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 14818 // 14819 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 14820 func (_StickerType *StickerTypeFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *StickerTypeTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 14821 14822 var fromRule []interface{} 14823 for _, fromItem := range from { 14824 fromRule = append(fromRule, fromItem) 14825 } 14826 var toRule []interface{} 14827 for _, toItem := range to { 14828 toRule = append(toRule, toItem) 14829 } 14830 var tokenIdRule []interface{} 14831 for _, tokenIdItem := range tokenId { 14832 tokenIdRule = append(tokenIdRule, tokenIdItem) 14833 } 14834 14835 logs, sub, err := _StickerType.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 14836 if err != nil { 14837 return nil, err 14838 } 14839 return event.NewSubscription(func(quit <-chan struct{}) error { 14840 defer sub.Unsubscribe() 14841 for { 14842 select { 14843 case log := <-logs: 14844 // New log arrived, parse the event and forward to the user 14845 event := new(StickerTypeTransfer) 14846 if err := _StickerType.contract.UnpackLog(event, "Transfer", log); err != nil { 14847 return err 14848 } 14849 event.Raw = log 14850 14851 select { 14852 case sink <- event: 14853 case err := <-sub.Err(): 14854 return err 14855 case <-quit: 14856 return nil 14857 } 14858 case err := <-sub.Err(): 14859 return err 14860 case <-quit: 14861 return nil 14862 } 14863 } 14864 }), nil 14865 } 14866 14867 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 14868 // 14869 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 14870 func (_StickerType *StickerTypeFilterer) ParseTransfer(log types.Log) (*StickerTypeTransfer, error) { 14871 event := new(StickerTypeTransfer) 14872 if err := _StickerType.contract.UnpackLog(event, "Transfer", log); err != nil { 14873 return nil, err 14874 } 14875 event.Raw = log 14876 return event, nil 14877 } 14878 14879 // StickerTypeUncategorizedIterator is returned from FilterUncategorized and is used to iterate over the raw logs and unpacked data for Uncategorized events raised by the StickerType contract. 14880 type StickerTypeUncategorizedIterator struct { 14881 Event *StickerTypeUncategorized // Event containing the contract specifics and raw log 14882 14883 contract *bind.BoundContract // Generic contract to use for unpacking event data 14884 event string // Event name to use for unpacking event data 14885 14886 logs chan types.Log // Log channel receiving the found contract events 14887 sub ethereum.Subscription // Subscription for errors, completion and termination 14888 done bool // Whether the subscription completed delivering logs 14889 fail error // Occurred error to stop iteration 14890 } 14891 14892 // Next advances the iterator to the subsequent event, returning whether there 14893 // are any more events found. In case of a retrieval or parsing error, false is 14894 // returned and Error() can be queried for the exact failure. 14895 func (it *StickerTypeUncategorizedIterator) Next() bool { 14896 // If the iterator failed, stop iterating 14897 if it.fail != nil { 14898 return false 14899 } 14900 // If the iterator completed, deliver directly whatever's available 14901 if it.done { 14902 select { 14903 case log := <-it.logs: 14904 it.Event = new(StickerTypeUncategorized) 14905 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14906 it.fail = err 14907 return false 14908 } 14909 it.Event.Raw = log 14910 return true 14911 14912 default: 14913 return false 14914 } 14915 } 14916 // Iterator still in progress, wait for either a data or an error event 14917 select { 14918 case log := <-it.logs: 14919 it.Event = new(StickerTypeUncategorized) 14920 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14921 it.fail = err 14922 return false 14923 } 14924 it.Event.Raw = log 14925 return true 14926 14927 case err := <-it.sub.Err(): 14928 it.done = true 14929 it.fail = err 14930 return it.Next() 14931 } 14932 } 14933 14934 // Error returns any retrieval or parsing error occurred during filtering. 14935 func (it *StickerTypeUncategorizedIterator) Error() error { 14936 return it.fail 14937 } 14938 14939 // Close terminates the iteration process, releasing any pending underlying 14940 // resources. 14941 func (it *StickerTypeUncategorizedIterator) Close() error { 14942 it.sub.Unsubscribe() 14943 return nil 14944 } 14945 14946 // StickerTypeUncategorized represents a Uncategorized event raised by the StickerType contract. 14947 type StickerTypeUncategorized struct { 14948 Category [4]byte 14949 PackId *big.Int 14950 Raw types.Log // Blockchain specific contextual infos 14951 } 14952 14953 // FilterUncategorized is a free log retrieval operation binding the contract event 0x9574a9d09dc883e69228a0eea15ed4da6e520b13cc84cca994c1787c234d78fe. 14954 // 14955 // Solidity: event Uncategorized(bytes4 indexed category, uint256 indexed packId) 14956 func (_StickerType *StickerTypeFilterer) FilterUncategorized(opts *bind.FilterOpts, category [][4]byte, packId []*big.Int) (*StickerTypeUncategorizedIterator, error) { 14957 14958 var categoryRule []interface{} 14959 for _, categoryItem := range category { 14960 categoryRule = append(categoryRule, categoryItem) 14961 } 14962 var packIdRule []interface{} 14963 for _, packIdItem := range packId { 14964 packIdRule = append(packIdRule, packIdItem) 14965 } 14966 14967 logs, sub, err := _StickerType.contract.FilterLogs(opts, "Uncategorized", categoryRule, packIdRule) 14968 if err != nil { 14969 return nil, err 14970 } 14971 return &StickerTypeUncategorizedIterator{contract: _StickerType.contract, event: "Uncategorized", logs: logs, sub: sub}, nil 14972 } 14973 14974 // WatchUncategorized is a free log subscription operation binding the contract event 0x9574a9d09dc883e69228a0eea15ed4da6e520b13cc84cca994c1787c234d78fe. 14975 // 14976 // Solidity: event Uncategorized(bytes4 indexed category, uint256 indexed packId) 14977 func (_StickerType *StickerTypeFilterer) WatchUncategorized(opts *bind.WatchOpts, sink chan<- *StickerTypeUncategorized, category [][4]byte, packId []*big.Int) (event.Subscription, error) { 14978 14979 var categoryRule []interface{} 14980 for _, categoryItem := range category { 14981 categoryRule = append(categoryRule, categoryItem) 14982 } 14983 var packIdRule []interface{} 14984 for _, packIdItem := range packId { 14985 packIdRule = append(packIdRule, packIdItem) 14986 } 14987 14988 logs, sub, err := _StickerType.contract.WatchLogs(opts, "Uncategorized", categoryRule, packIdRule) 14989 if err != nil { 14990 return nil, err 14991 } 14992 return event.NewSubscription(func(quit <-chan struct{}) error { 14993 defer sub.Unsubscribe() 14994 for { 14995 select { 14996 case log := <-logs: 14997 // New log arrived, parse the event and forward to the user 14998 event := new(StickerTypeUncategorized) 14999 if err := _StickerType.contract.UnpackLog(event, "Uncategorized", log); err != nil { 15000 return err 15001 } 15002 event.Raw = log 15003 15004 select { 15005 case sink <- event: 15006 case err := <-sub.Err(): 15007 return err 15008 case <-quit: 15009 return nil 15010 } 15011 case err := <-sub.Err(): 15012 return err 15013 case <-quit: 15014 return nil 15015 } 15016 } 15017 }), nil 15018 } 15019 15020 // ParseUncategorized is a log parse operation binding the contract event 0x9574a9d09dc883e69228a0eea15ed4da6e520b13cc84cca994c1787c234d78fe. 15021 // 15022 // Solidity: event Uncategorized(bytes4 indexed category, uint256 indexed packId) 15023 func (_StickerType *StickerTypeFilterer) ParseUncategorized(log types.Log) (*StickerTypeUncategorized, error) { 15024 event := new(StickerTypeUncategorized) 15025 if err := _StickerType.contract.UnpackLog(event, "Uncategorized", log); err != nil { 15026 return nil, err 15027 } 15028 event.Raw = log 15029 return event, nil 15030 } 15031 15032 // StickerTypeUnregisterIterator is returned from FilterUnregister and is used to iterate over the raw logs and unpacked data for Unregister events raised by the StickerType contract. 15033 type StickerTypeUnregisterIterator struct { 15034 Event *StickerTypeUnregister // Event containing the contract specifics and raw log 15035 15036 contract *bind.BoundContract // Generic contract to use for unpacking event data 15037 event string // Event name to use for unpacking event data 15038 15039 logs chan types.Log // Log channel receiving the found contract events 15040 sub ethereum.Subscription // Subscription for errors, completion and termination 15041 done bool // Whether the subscription completed delivering logs 15042 fail error // Occurred error to stop iteration 15043 } 15044 15045 // Next advances the iterator to the subsequent event, returning whether there 15046 // are any more events found. In case of a retrieval or parsing error, false is 15047 // returned and Error() can be queried for the exact failure. 15048 func (it *StickerTypeUnregisterIterator) Next() bool { 15049 // If the iterator failed, stop iterating 15050 if it.fail != nil { 15051 return false 15052 } 15053 // If the iterator completed, deliver directly whatever's available 15054 if it.done { 15055 select { 15056 case log := <-it.logs: 15057 it.Event = new(StickerTypeUnregister) 15058 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 15059 it.fail = err 15060 return false 15061 } 15062 it.Event.Raw = log 15063 return true 15064 15065 default: 15066 return false 15067 } 15068 } 15069 // Iterator still in progress, wait for either a data or an error event 15070 select { 15071 case log := <-it.logs: 15072 it.Event = new(StickerTypeUnregister) 15073 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 15074 it.fail = err 15075 return false 15076 } 15077 it.Event.Raw = log 15078 return true 15079 15080 case err := <-it.sub.Err(): 15081 it.done = true 15082 it.fail = err 15083 return it.Next() 15084 } 15085 } 15086 15087 // Error returns any retrieval or parsing error occurred during filtering. 15088 func (it *StickerTypeUnregisterIterator) Error() error { 15089 return it.fail 15090 } 15091 15092 // Close terminates the iteration process, releasing any pending underlying 15093 // resources. 15094 func (it *StickerTypeUnregisterIterator) Close() error { 15095 it.sub.Unsubscribe() 15096 return nil 15097 } 15098 15099 // StickerTypeUnregister represents a Unregister event raised by the StickerType contract. 15100 type StickerTypeUnregister struct { 15101 PackId *big.Int 15102 Raw types.Log // Blockchain specific contextual infos 15103 } 15104 15105 // FilterUnregister is a free log retrieval operation binding the contract event 0x98f986773731debbbf041b73d7edaec62da3ff42b2116c45cd0001fb40ed9086. 15106 // 15107 // Solidity: event Unregister(uint256 indexed packId) 15108 func (_StickerType *StickerTypeFilterer) FilterUnregister(opts *bind.FilterOpts, packId []*big.Int) (*StickerTypeUnregisterIterator, error) { 15109 15110 var packIdRule []interface{} 15111 for _, packIdItem := range packId { 15112 packIdRule = append(packIdRule, packIdItem) 15113 } 15114 15115 logs, sub, err := _StickerType.contract.FilterLogs(opts, "Unregister", packIdRule) 15116 if err != nil { 15117 return nil, err 15118 } 15119 return &StickerTypeUnregisterIterator{contract: _StickerType.contract, event: "Unregister", logs: logs, sub: sub}, nil 15120 } 15121 15122 // WatchUnregister is a free log subscription operation binding the contract event 0x98f986773731debbbf041b73d7edaec62da3ff42b2116c45cd0001fb40ed9086. 15123 // 15124 // Solidity: event Unregister(uint256 indexed packId) 15125 func (_StickerType *StickerTypeFilterer) WatchUnregister(opts *bind.WatchOpts, sink chan<- *StickerTypeUnregister, packId []*big.Int) (event.Subscription, error) { 15126 15127 var packIdRule []interface{} 15128 for _, packIdItem := range packId { 15129 packIdRule = append(packIdRule, packIdItem) 15130 } 15131 15132 logs, sub, err := _StickerType.contract.WatchLogs(opts, "Unregister", packIdRule) 15133 if err != nil { 15134 return nil, err 15135 } 15136 return event.NewSubscription(func(quit <-chan struct{}) error { 15137 defer sub.Unsubscribe() 15138 for { 15139 select { 15140 case log := <-logs: 15141 // New log arrived, parse the event and forward to the user 15142 event := new(StickerTypeUnregister) 15143 if err := _StickerType.contract.UnpackLog(event, "Unregister", log); err != nil { 15144 return err 15145 } 15146 event.Raw = log 15147 15148 select { 15149 case sink <- event: 15150 case err := <-sub.Err(): 15151 return err 15152 case <-quit: 15153 return nil 15154 } 15155 case err := <-sub.Err(): 15156 return err 15157 case <-quit: 15158 return nil 15159 } 15160 } 15161 }), nil 15162 } 15163 15164 // ParseUnregister is a log parse operation binding the contract event 0x98f986773731debbbf041b73d7edaec62da3ff42b2116c45cd0001fb40ed9086. 15165 // 15166 // Solidity: event Unregister(uint256 indexed packId) 15167 func (_StickerType *StickerTypeFilterer) ParseUnregister(log types.Log) (*StickerTypeUnregister, error) { 15168 event := new(StickerTypeUnregister) 15169 if err := _StickerType.contract.UnpackLog(event, "Unregister", log); err != nil { 15170 return nil, err 15171 } 15172 event.Raw = log 15173 return event, nil 15174 } 15175 15176 // TokenClaimerABI is the input ABI used to generate the binding from. 15177 const TokenClaimerABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"claimTokens\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_controller\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"ClaimedTokens\",\"type\":\"event\"}]" 15178 15179 // TokenClaimerFuncSigs maps the 4-byte function signature to its string representation. 15180 var TokenClaimerFuncSigs = map[string]string{ 15181 "df8de3e7": "claimTokens(address)", 15182 } 15183 15184 // TokenClaimer is an auto generated Go binding around an Ethereum contract. 15185 type TokenClaimer struct { 15186 TokenClaimerCaller // Read-only binding to the contract 15187 TokenClaimerTransactor // Write-only binding to the contract 15188 TokenClaimerFilterer // Log filterer for contract events 15189 } 15190 15191 // TokenClaimerCaller is an auto generated read-only Go binding around an Ethereum contract. 15192 type TokenClaimerCaller struct { 15193 contract *bind.BoundContract // Generic contract wrapper for the low level calls 15194 } 15195 15196 // TokenClaimerTransactor is an auto generated write-only Go binding around an Ethereum contract. 15197 type TokenClaimerTransactor struct { 15198 contract *bind.BoundContract // Generic contract wrapper for the low level calls 15199 } 15200 15201 // TokenClaimerFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 15202 type TokenClaimerFilterer struct { 15203 contract *bind.BoundContract // Generic contract wrapper for the low level calls 15204 } 15205 15206 // TokenClaimerSession is an auto generated Go binding around an Ethereum contract, 15207 // with pre-set call and transact options. 15208 type TokenClaimerSession struct { 15209 Contract *TokenClaimer // Generic contract binding to set the session for 15210 CallOpts bind.CallOpts // Call options to use throughout this session 15211 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 15212 } 15213 15214 // TokenClaimerCallerSession is an auto generated read-only Go binding around an Ethereum contract, 15215 // with pre-set call options. 15216 type TokenClaimerCallerSession struct { 15217 Contract *TokenClaimerCaller // Generic contract caller binding to set the session for 15218 CallOpts bind.CallOpts // Call options to use throughout this session 15219 } 15220 15221 // TokenClaimerTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 15222 // with pre-set transact options. 15223 type TokenClaimerTransactorSession struct { 15224 Contract *TokenClaimerTransactor // Generic contract transactor binding to set the session for 15225 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 15226 } 15227 15228 // TokenClaimerRaw is an auto generated low-level Go binding around an Ethereum contract. 15229 type TokenClaimerRaw struct { 15230 Contract *TokenClaimer // Generic contract binding to access the raw methods on 15231 } 15232 15233 // TokenClaimerCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 15234 type TokenClaimerCallerRaw struct { 15235 Contract *TokenClaimerCaller // Generic read-only contract binding to access the raw methods on 15236 } 15237 15238 // TokenClaimerTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 15239 type TokenClaimerTransactorRaw struct { 15240 Contract *TokenClaimerTransactor // Generic write-only contract binding to access the raw methods on 15241 } 15242 15243 // NewTokenClaimer creates a new instance of TokenClaimer, bound to a specific deployed contract. 15244 func NewTokenClaimer(address common.Address, backend bind.ContractBackend) (*TokenClaimer, error) { 15245 contract, err := bindTokenClaimer(address, backend, backend, backend) 15246 if err != nil { 15247 return nil, err 15248 } 15249 return &TokenClaimer{TokenClaimerCaller: TokenClaimerCaller{contract: contract}, TokenClaimerTransactor: TokenClaimerTransactor{contract: contract}, TokenClaimerFilterer: TokenClaimerFilterer{contract: contract}}, nil 15250 } 15251 15252 // NewTokenClaimerCaller creates a new read-only instance of TokenClaimer, bound to a specific deployed contract. 15253 func NewTokenClaimerCaller(address common.Address, caller bind.ContractCaller) (*TokenClaimerCaller, error) { 15254 contract, err := bindTokenClaimer(address, caller, nil, nil) 15255 if err != nil { 15256 return nil, err 15257 } 15258 return &TokenClaimerCaller{contract: contract}, nil 15259 } 15260 15261 // NewTokenClaimerTransactor creates a new write-only instance of TokenClaimer, bound to a specific deployed contract. 15262 func NewTokenClaimerTransactor(address common.Address, transactor bind.ContractTransactor) (*TokenClaimerTransactor, error) { 15263 contract, err := bindTokenClaimer(address, nil, transactor, nil) 15264 if err != nil { 15265 return nil, err 15266 } 15267 return &TokenClaimerTransactor{contract: contract}, nil 15268 } 15269 15270 // NewTokenClaimerFilterer creates a new log filterer instance of TokenClaimer, bound to a specific deployed contract. 15271 func NewTokenClaimerFilterer(address common.Address, filterer bind.ContractFilterer) (*TokenClaimerFilterer, error) { 15272 contract, err := bindTokenClaimer(address, nil, nil, filterer) 15273 if err != nil { 15274 return nil, err 15275 } 15276 return &TokenClaimerFilterer{contract: contract}, nil 15277 } 15278 15279 // bindTokenClaimer binds a generic wrapper to an already deployed contract. 15280 func bindTokenClaimer(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 15281 parsed, err := abi.JSON(strings.NewReader(TokenClaimerABI)) 15282 if err != nil { 15283 return nil, err 15284 } 15285 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 15286 } 15287 15288 // Call invokes the (constant) contract method with params as input values and 15289 // sets the output to result. The result type might be a single field for simple 15290 // returns, a slice of interfaces for anonymous returns and a struct for named 15291 // returns. 15292 func (_TokenClaimer *TokenClaimerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 15293 return _TokenClaimer.Contract.TokenClaimerCaller.contract.Call(opts, result, method, params...) 15294 } 15295 15296 // Transfer initiates a plain transaction to move funds to the contract, calling 15297 // its default method if one is available. 15298 func (_TokenClaimer *TokenClaimerRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 15299 return _TokenClaimer.Contract.TokenClaimerTransactor.contract.Transfer(opts) 15300 } 15301 15302 // Transact invokes the (paid) contract method with params as input values. 15303 func (_TokenClaimer *TokenClaimerRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 15304 return _TokenClaimer.Contract.TokenClaimerTransactor.contract.Transact(opts, method, params...) 15305 } 15306 15307 // Call invokes the (constant) contract method with params as input values and 15308 // sets the output to result. The result type might be a single field for simple 15309 // returns, a slice of interfaces for anonymous returns and a struct for named 15310 // returns. 15311 func (_TokenClaimer *TokenClaimerCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 15312 return _TokenClaimer.Contract.contract.Call(opts, result, method, params...) 15313 } 15314 15315 // Transfer initiates a plain transaction to move funds to the contract, calling 15316 // its default method if one is available. 15317 func (_TokenClaimer *TokenClaimerTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 15318 return _TokenClaimer.Contract.contract.Transfer(opts) 15319 } 15320 15321 // Transact invokes the (paid) contract method with params as input values. 15322 func (_TokenClaimer *TokenClaimerTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 15323 return _TokenClaimer.Contract.contract.Transact(opts, method, params...) 15324 } 15325 15326 // ClaimTokens is a paid mutator transaction binding the contract method 0xdf8de3e7. 15327 // 15328 // Solidity: function claimTokens(address _token) returns() 15329 func (_TokenClaimer *TokenClaimerTransactor) ClaimTokens(opts *bind.TransactOpts, _token common.Address) (*types.Transaction, error) { 15330 return _TokenClaimer.contract.Transact(opts, "claimTokens", _token) 15331 } 15332 15333 // ClaimTokens is a paid mutator transaction binding the contract method 0xdf8de3e7. 15334 // 15335 // Solidity: function claimTokens(address _token) returns() 15336 func (_TokenClaimer *TokenClaimerSession) ClaimTokens(_token common.Address) (*types.Transaction, error) { 15337 return _TokenClaimer.Contract.ClaimTokens(&_TokenClaimer.TransactOpts, _token) 15338 } 15339 15340 // ClaimTokens is a paid mutator transaction binding the contract method 0xdf8de3e7. 15341 // 15342 // Solidity: function claimTokens(address _token) returns() 15343 func (_TokenClaimer *TokenClaimerTransactorSession) ClaimTokens(_token common.Address) (*types.Transaction, error) { 15344 return _TokenClaimer.Contract.ClaimTokens(&_TokenClaimer.TransactOpts, _token) 15345 } 15346 15347 // TokenClaimerClaimedTokensIterator is returned from FilterClaimedTokens and is used to iterate over the raw logs and unpacked data for ClaimedTokens events raised by the TokenClaimer contract. 15348 type TokenClaimerClaimedTokensIterator struct { 15349 Event *TokenClaimerClaimedTokens // Event containing the contract specifics and raw log 15350 15351 contract *bind.BoundContract // Generic contract to use for unpacking event data 15352 event string // Event name to use for unpacking event data 15353 15354 logs chan types.Log // Log channel receiving the found contract events 15355 sub ethereum.Subscription // Subscription for errors, completion and termination 15356 done bool // Whether the subscription completed delivering logs 15357 fail error // Occurred error to stop iteration 15358 } 15359 15360 // Next advances the iterator to the subsequent event, returning whether there 15361 // are any more events found. In case of a retrieval or parsing error, false is 15362 // returned and Error() can be queried for the exact failure. 15363 func (it *TokenClaimerClaimedTokensIterator) Next() bool { 15364 // If the iterator failed, stop iterating 15365 if it.fail != nil { 15366 return false 15367 } 15368 // If the iterator completed, deliver directly whatever's available 15369 if it.done { 15370 select { 15371 case log := <-it.logs: 15372 it.Event = new(TokenClaimerClaimedTokens) 15373 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 15374 it.fail = err 15375 return false 15376 } 15377 it.Event.Raw = log 15378 return true 15379 15380 default: 15381 return false 15382 } 15383 } 15384 // Iterator still in progress, wait for either a data or an error event 15385 select { 15386 case log := <-it.logs: 15387 it.Event = new(TokenClaimerClaimedTokens) 15388 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 15389 it.fail = err 15390 return false 15391 } 15392 it.Event.Raw = log 15393 return true 15394 15395 case err := <-it.sub.Err(): 15396 it.done = true 15397 it.fail = err 15398 return it.Next() 15399 } 15400 } 15401 15402 // Error returns any retrieval or parsing error occurred during filtering. 15403 func (it *TokenClaimerClaimedTokensIterator) Error() error { 15404 return it.fail 15405 } 15406 15407 // Close terminates the iteration process, releasing any pending underlying 15408 // resources. 15409 func (it *TokenClaimerClaimedTokensIterator) Close() error { 15410 it.sub.Unsubscribe() 15411 return nil 15412 } 15413 15414 // TokenClaimerClaimedTokens represents a ClaimedTokens event raised by the TokenClaimer contract. 15415 type TokenClaimerClaimedTokens struct { 15416 Token common.Address 15417 Controller common.Address 15418 Amount *big.Int 15419 Raw types.Log // Blockchain specific contextual infos 15420 } 15421 15422 // FilterClaimedTokens is a free log retrieval operation binding the contract event 0xf931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c. 15423 // 15424 // Solidity: event ClaimedTokens(address indexed _token, address indexed _controller, uint256 _amount) 15425 func (_TokenClaimer *TokenClaimerFilterer) FilterClaimedTokens(opts *bind.FilterOpts, _token []common.Address, _controller []common.Address) (*TokenClaimerClaimedTokensIterator, error) { 15426 15427 var _tokenRule []interface{} 15428 for _, _tokenItem := range _token { 15429 _tokenRule = append(_tokenRule, _tokenItem) 15430 } 15431 var _controllerRule []interface{} 15432 for _, _controllerItem := range _controller { 15433 _controllerRule = append(_controllerRule, _controllerItem) 15434 } 15435 15436 logs, sub, err := _TokenClaimer.contract.FilterLogs(opts, "ClaimedTokens", _tokenRule, _controllerRule) 15437 if err != nil { 15438 return nil, err 15439 } 15440 return &TokenClaimerClaimedTokensIterator{contract: _TokenClaimer.contract, event: "ClaimedTokens", logs: logs, sub: sub}, nil 15441 } 15442 15443 // WatchClaimedTokens is a free log subscription operation binding the contract event 0xf931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c. 15444 // 15445 // Solidity: event ClaimedTokens(address indexed _token, address indexed _controller, uint256 _amount) 15446 func (_TokenClaimer *TokenClaimerFilterer) WatchClaimedTokens(opts *bind.WatchOpts, sink chan<- *TokenClaimerClaimedTokens, _token []common.Address, _controller []common.Address) (event.Subscription, error) { 15447 15448 var _tokenRule []interface{} 15449 for _, _tokenItem := range _token { 15450 _tokenRule = append(_tokenRule, _tokenItem) 15451 } 15452 var _controllerRule []interface{} 15453 for _, _controllerItem := range _controller { 15454 _controllerRule = append(_controllerRule, _controllerItem) 15455 } 15456 15457 logs, sub, err := _TokenClaimer.contract.WatchLogs(opts, "ClaimedTokens", _tokenRule, _controllerRule) 15458 if err != nil { 15459 return nil, err 15460 } 15461 return event.NewSubscription(func(quit <-chan struct{}) error { 15462 defer sub.Unsubscribe() 15463 for { 15464 select { 15465 case log := <-logs: 15466 // New log arrived, parse the event and forward to the user 15467 event := new(TokenClaimerClaimedTokens) 15468 if err := _TokenClaimer.contract.UnpackLog(event, "ClaimedTokens", log); err != nil { 15469 return err 15470 } 15471 event.Raw = log 15472 15473 select { 15474 case sink <- event: 15475 case err := <-sub.Err(): 15476 return err 15477 case <-quit: 15478 return nil 15479 } 15480 case err := <-sub.Err(): 15481 return err 15482 case <-quit: 15483 return nil 15484 } 15485 } 15486 }), nil 15487 } 15488 15489 // ParseClaimedTokens is a log parse operation binding the contract event 0xf931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c. 15490 // 15491 // Solidity: event ClaimedTokens(address indexed _token, address indexed _controller, uint256 _amount) 15492 func (_TokenClaimer *TokenClaimerFilterer) ParseClaimedTokens(log types.Log) (*TokenClaimerClaimedTokens, error) { 15493 event := new(TokenClaimerClaimedTokens) 15494 if err := _TokenClaimer.contract.UnpackLog(event, "ClaimedTokens", log); err != nil { 15495 return nil, err 15496 } 15497 event.Raw = log 15498 return event, nil 15499 }