github.com/klaytn/klaytn@v1.10.2/contracts/sc_erc721/sc_nft.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 scnft 5 6 import ( 7 "math/big" 8 "strings" 9 10 "github.com/klaytn/klaytn" 11 "github.com/klaytn/klaytn/accounts/abi" 12 "github.com/klaytn/klaytn/accounts/abi/bind" 13 "github.com/klaytn/klaytn/blockchain/types" 14 "github.com/klaytn/klaytn/common" 15 "github.com/klaytn/klaytn/event" 16 ) 17 18 // Reference imports to suppress errors if they are not otherwise used. 19 var ( 20 _ = big.NewInt 21 _ = strings.NewReader 22 _ = klaytn.NotFound 23 _ = bind.Bind 24 _ = common.Big1 25 _ = types.BloomLookup 26 _ = event.NewSubscription 27 ) 28 29 // AddressABI is the input ABI used to generate the binding from. 30 const AddressABI = "[]" 31 32 // AddressBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 33 const AddressBinRuntime = `73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820b7534b8b203852d9ead56352219b5abb5424533d9bb1b9cf84c0b1d15d11fee50029` 34 35 // AddressBin is the compiled bytecode used for deploying new contracts. 36 var AddressBin = "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820b7534b8b203852d9ead56352219b5abb5424533d9bb1b9cf84c0b1d15d11fee50029" 37 38 // DeployAddress deploys a new Klaytn contract, binding an instance of Address to it. 39 func DeployAddress(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Address, error) { 40 parsed, err := abi.JSON(strings.NewReader(AddressABI)) 41 if err != nil { 42 return common.Address{}, nil, nil, err 43 } 44 45 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(AddressBin), backend) 46 if err != nil { 47 return common.Address{}, nil, nil, err 48 } 49 return address, tx, &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil 50 } 51 52 // Address is an auto generated Go binding around a Klaytn contract. 53 type Address struct { 54 AddressCaller // Read-only binding to the contract 55 AddressTransactor // Write-only binding to the contract 56 AddressFilterer // Log filterer for contract events 57 } 58 59 // AddressCaller is an auto generated read-only Go binding around a Klaytn contract. 60 type AddressCaller struct { 61 contract *bind.BoundContract // Generic contract wrapper for the low level calls 62 } 63 64 // AddressTransactor is an auto generated write-only Go binding around a Klaytn contract. 65 type AddressTransactor struct { 66 contract *bind.BoundContract // Generic contract wrapper for the low level calls 67 } 68 69 // AddressFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 70 type AddressFilterer struct { 71 contract *bind.BoundContract // Generic contract wrapper for the low level calls 72 } 73 74 // AddressSession is an auto generated Go binding around a Klaytn contract, 75 // with pre-set call and transact options. 76 type AddressSession struct { 77 Contract *Address // Generic contract binding to set the session for 78 CallOpts bind.CallOpts // Call options to use throughout this session 79 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 80 } 81 82 // AddressCallerSession is an auto generated read-only Go binding around a Klaytn contract, 83 // with pre-set call options. 84 type AddressCallerSession struct { 85 Contract *AddressCaller // Generic contract caller binding to set the session for 86 CallOpts bind.CallOpts // Call options to use throughout this session 87 } 88 89 // AddressTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 90 // with pre-set transact options. 91 type AddressTransactorSession struct { 92 Contract *AddressTransactor // Generic contract transactor binding to set the session for 93 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 94 } 95 96 // AddressRaw is an auto generated low-level Go binding around a Klaytn contract. 97 type AddressRaw struct { 98 Contract *Address // Generic contract binding to access the raw methods on 99 } 100 101 // AddressCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 102 type AddressCallerRaw struct { 103 Contract *AddressCaller // Generic read-only contract binding to access the raw methods on 104 } 105 106 // AddressTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 107 type AddressTransactorRaw struct { 108 Contract *AddressTransactor // Generic write-only contract binding to access the raw methods on 109 } 110 111 // NewAddress creates a new instance of Address, bound to a specific deployed contract. 112 func NewAddress(address common.Address, backend bind.ContractBackend) (*Address, error) { 113 contract, err := bindAddress(address, backend, backend, backend) 114 if err != nil { 115 return nil, err 116 } 117 return &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil 118 } 119 120 // NewAddressCaller creates a new read-only instance of Address, bound to a specific deployed contract. 121 func NewAddressCaller(address common.Address, caller bind.ContractCaller) (*AddressCaller, error) { 122 contract, err := bindAddress(address, caller, nil, nil) 123 if err != nil { 124 return nil, err 125 } 126 return &AddressCaller{contract: contract}, nil 127 } 128 129 // NewAddressTransactor creates a new write-only instance of Address, bound to a specific deployed contract. 130 func NewAddressTransactor(address common.Address, transactor bind.ContractTransactor) (*AddressTransactor, error) { 131 contract, err := bindAddress(address, nil, transactor, nil) 132 if err != nil { 133 return nil, err 134 } 135 return &AddressTransactor{contract: contract}, nil 136 } 137 138 // NewAddressFilterer creates a new log filterer instance of Address, bound to a specific deployed contract. 139 func NewAddressFilterer(address common.Address, filterer bind.ContractFilterer) (*AddressFilterer, error) { 140 contract, err := bindAddress(address, nil, nil, filterer) 141 if err != nil { 142 return nil, err 143 } 144 return &AddressFilterer{contract: contract}, nil 145 } 146 147 // bindAddress binds a generic wrapper to an already deployed contract. 148 func bindAddress(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 149 parsed, err := abi.JSON(strings.NewReader(AddressABI)) 150 if err != nil { 151 return nil, err 152 } 153 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 154 } 155 156 // Call invokes the (constant) contract method with params as input values and 157 // sets the output to result. The result type might be a single field for simple 158 // returns, a slice of interfaces for anonymous returns and a struct for named 159 // returns. 160 func (_Address *AddressRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 161 return _Address.Contract.AddressCaller.contract.Call(opts, result, method, params...) 162 } 163 164 // Transfer initiates a plain transaction to move funds to the contract, calling 165 // its default method if one is available. 166 func (_Address *AddressRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 167 return _Address.Contract.AddressTransactor.contract.Transfer(opts) 168 } 169 170 // Transact invokes the (paid) contract method with params as input values. 171 func (_Address *AddressRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 172 return _Address.Contract.AddressTransactor.contract.Transact(opts, method, params...) 173 } 174 175 // Call invokes the (constant) contract method with params as input values and 176 // sets the output to result. The result type might be a single field for simple 177 // returns, a slice of interfaces for anonymous returns and a struct for named 178 // returns. 179 func (_Address *AddressCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 180 return _Address.Contract.contract.Call(opts, result, method, params...) 181 } 182 183 // Transfer initiates a plain transaction to move funds to the contract, calling 184 // its default method if one is available. 185 func (_Address *AddressTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 186 return _Address.Contract.contract.Transfer(opts) 187 } 188 189 // Transact invokes the (paid) contract method with params as input values. 190 func (_Address *AddressTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 191 return _Address.Contract.contract.Transact(opts, method, params...) 192 } 193 194 // CountersABI is the input ABI used to generate the binding from. 195 const CountersABI = "[]" 196 197 // CountersBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 198 const CountersBinRuntime = `73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058207329cab25de591c35947480820e66bd7e2d232979872616f21ac6e5783a017700029` 199 200 // CountersBin is the compiled bytecode used for deploying new contracts. 201 var CountersBin = "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058207329cab25de591c35947480820e66bd7e2d232979872616f21ac6e5783a017700029" 202 203 // DeployCounters deploys a new Klaytn contract, binding an instance of Counters to it. 204 func DeployCounters(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Counters, error) { 205 parsed, err := abi.JSON(strings.NewReader(CountersABI)) 206 if err != nil { 207 return common.Address{}, nil, nil, err 208 } 209 210 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(CountersBin), backend) 211 if err != nil { 212 return common.Address{}, nil, nil, err 213 } 214 return address, tx, &Counters{CountersCaller: CountersCaller{contract: contract}, CountersTransactor: CountersTransactor{contract: contract}, CountersFilterer: CountersFilterer{contract: contract}}, nil 215 } 216 217 // Counters is an auto generated Go binding around a Klaytn contract. 218 type Counters struct { 219 CountersCaller // Read-only binding to the contract 220 CountersTransactor // Write-only binding to the contract 221 CountersFilterer // Log filterer for contract events 222 } 223 224 // CountersCaller is an auto generated read-only Go binding around a Klaytn contract. 225 type CountersCaller struct { 226 contract *bind.BoundContract // Generic contract wrapper for the low level calls 227 } 228 229 // CountersTransactor is an auto generated write-only Go binding around a Klaytn contract. 230 type CountersTransactor struct { 231 contract *bind.BoundContract // Generic contract wrapper for the low level calls 232 } 233 234 // CountersFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 235 type CountersFilterer struct { 236 contract *bind.BoundContract // Generic contract wrapper for the low level calls 237 } 238 239 // CountersSession is an auto generated Go binding around a Klaytn contract, 240 // with pre-set call and transact options. 241 type CountersSession struct { 242 Contract *Counters // Generic contract binding to set the session for 243 CallOpts bind.CallOpts // Call options to use throughout this session 244 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 245 } 246 247 // CountersCallerSession is an auto generated read-only Go binding around a Klaytn contract, 248 // with pre-set call options. 249 type CountersCallerSession struct { 250 Contract *CountersCaller // Generic contract caller binding to set the session for 251 CallOpts bind.CallOpts // Call options to use throughout this session 252 } 253 254 // CountersTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 255 // with pre-set transact options. 256 type CountersTransactorSession struct { 257 Contract *CountersTransactor // Generic contract transactor binding to set the session for 258 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 259 } 260 261 // CountersRaw is an auto generated low-level Go binding around a Klaytn contract. 262 type CountersRaw struct { 263 Contract *Counters // Generic contract binding to access the raw methods on 264 } 265 266 // CountersCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 267 type CountersCallerRaw struct { 268 Contract *CountersCaller // Generic read-only contract binding to access the raw methods on 269 } 270 271 // CountersTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 272 type CountersTransactorRaw struct { 273 Contract *CountersTransactor // Generic write-only contract binding to access the raw methods on 274 } 275 276 // NewCounters creates a new instance of Counters, bound to a specific deployed contract. 277 func NewCounters(address common.Address, backend bind.ContractBackend) (*Counters, error) { 278 contract, err := bindCounters(address, backend, backend, backend) 279 if err != nil { 280 return nil, err 281 } 282 return &Counters{CountersCaller: CountersCaller{contract: contract}, CountersTransactor: CountersTransactor{contract: contract}, CountersFilterer: CountersFilterer{contract: contract}}, nil 283 } 284 285 // NewCountersCaller creates a new read-only instance of Counters, bound to a specific deployed contract. 286 func NewCountersCaller(address common.Address, caller bind.ContractCaller) (*CountersCaller, error) { 287 contract, err := bindCounters(address, caller, nil, nil) 288 if err != nil { 289 return nil, err 290 } 291 return &CountersCaller{contract: contract}, nil 292 } 293 294 // NewCountersTransactor creates a new write-only instance of Counters, bound to a specific deployed contract. 295 func NewCountersTransactor(address common.Address, transactor bind.ContractTransactor) (*CountersTransactor, error) { 296 contract, err := bindCounters(address, nil, transactor, nil) 297 if err != nil { 298 return nil, err 299 } 300 return &CountersTransactor{contract: contract}, nil 301 } 302 303 // NewCountersFilterer creates a new log filterer instance of Counters, bound to a specific deployed contract. 304 func NewCountersFilterer(address common.Address, filterer bind.ContractFilterer) (*CountersFilterer, error) { 305 contract, err := bindCounters(address, nil, nil, filterer) 306 if err != nil { 307 return nil, err 308 } 309 return &CountersFilterer{contract: contract}, nil 310 } 311 312 // bindCounters binds a generic wrapper to an already deployed contract. 313 func bindCounters(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 314 parsed, err := abi.JSON(strings.NewReader(CountersABI)) 315 if err != nil { 316 return nil, err 317 } 318 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 319 } 320 321 // Call invokes the (constant) contract method with params as input values and 322 // sets the output to result. The result type might be a single field for simple 323 // returns, a slice of interfaces for anonymous returns and a struct for named 324 // returns. 325 func (_Counters *CountersRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 326 return _Counters.Contract.CountersCaller.contract.Call(opts, result, method, params...) 327 } 328 329 // Transfer initiates a plain transaction to move funds to the contract, calling 330 // its default method if one is available. 331 func (_Counters *CountersRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 332 return _Counters.Contract.CountersTransactor.contract.Transfer(opts) 333 } 334 335 // Transact invokes the (paid) contract method with params as input values. 336 func (_Counters *CountersRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 337 return _Counters.Contract.CountersTransactor.contract.Transact(opts, method, params...) 338 } 339 340 // Call invokes the (constant) contract method with params as input values and 341 // sets the output to result. The result type might be a single field for simple 342 // returns, a slice of interfaces for anonymous returns and a struct for named 343 // returns. 344 func (_Counters *CountersCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 345 return _Counters.Contract.contract.Call(opts, result, method, params...) 346 } 347 348 // Transfer initiates a plain transaction to move funds to the contract, calling 349 // its default method if one is available. 350 func (_Counters *CountersTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 351 return _Counters.Contract.contract.Transfer(opts) 352 } 353 354 // Transact invokes the (paid) contract method with params as input values. 355 func (_Counters *CountersTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 356 return _Counters.Contract.contract.Transact(opts, method, params...) 357 } 358 359 // ERC165ABI is the input ABI used to generate the binding from. 360 const ERC165ABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}]" 361 362 // ERC165BinRuntime is the compiled bytecode used for adding genesis block without deploying code. 363 const ERC165BinRuntime = `` 364 365 // ERC165FuncSigs maps the 4-byte function signature to its string representation. 366 var ERC165FuncSigs = map[string]string{ 367 "01ffc9a7": "supportsInterface(bytes4)", 368 } 369 370 // ERC165 is an auto generated Go binding around a Klaytn contract. 371 type ERC165 struct { 372 ERC165Caller // Read-only binding to the contract 373 ERC165Transactor // Write-only binding to the contract 374 ERC165Filterer // Log filterer for contract events 375 } 376 377 // ERC165Caller is an auto generated read-only Go binding around a Klaytn contract. 378 type ERC165Caller struct { 379 contract *bind.BoundContract // Generic contract wrapper for the low level calls 380 } 381 382 // ERC165Transactor is an auto generated write-only Go binding around a Klaytn contract. 383 type ERC165Transactor struct { 384 contract *bind.BoundContract // Generic contract wrapper for the low level calls 385 } 386 387 // ERC165Filterer is an auto generated log filtering Go binding around a Klaytn contract events. 388 type ERC165Filterer struct { 389 contract *bind.BoundContract // Generic contract wrapper for the low level calls 390 } 391 392 // ERC165Session is an auto generated Go binding around a Klaytn contract, 393 // with pre-set call and transact options. 394 type ERC165Session struct { 395 Contract *ERC165 // Generic contract binding to set the session for 396 CallOpts bind.CallOpts // Call options to use throughout this session 397 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 398 } 399 400 // ERC165CallerSession is an auto generated read-only Go binding around a Klaytn contract, 401 // with pre-set call options. 402 type ERC165CallerSession struct { 403 Contract *ERC165Caller // Generic contract caller binding to set the session for 404 CallOpts bind.CallOpts // Call options to use throughout this session 405 } 406 407 // ERC165TransactorSession is an auto generated write-only Go binding around a Klaytn contract, 408 // with pre-set transact options. 409 type ERC165TransactorSession struct { 410 Contract *ERC165Transactor // Generic contract transactor binding to set the session for 411 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 412 } 413 414 // ERC165Raw is an auto generated low-level Go binding around a Klaytn contract. 415 type ERC165Raw struct { 416 Contract *ERC165 // Generic contract binding to access the raw methods on 417 } 418 419 // ERC165CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 420 type ERC165CallerRaw struct { 421 Contract *ERC165Caller // Generic read-only contract binding to access the raw methods on 422 } 423 424 // ERC165TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 425 type ERC165TransactorRaw struct { 426 Contract *ERC165Transactor // Generic write-only contract binding to access the raw methods on 427 } 428 429 // NewERC165 creates a new instance of ERC165, bound to a specific deployed contract. 430 func NewERC165(address common.Address, backend bind.ContractBackend) (*ERC165, error) { 431 contract, err := bindERC165(address, backend, backend, backend) 432 if err != nil { 433 return nil, err 434 } 435 return &ERC165{ERC165Caller: ERC165Caller{contract: contract}, ERC165Transactor: ERC165Transactor{contract: contract}, ERC165Filterer: ERC165Filterer{contract: contract}}, nil 436 } 437 438 // NewERC165Caller creates a new read-only instance of ERC165, bound to a specific deployed contract. 439 func NewERC165Caller(address common.Address, caller bind.ContractCaller) (*ERC165Caller, error) { 440 contract, err := bindERC165(address, caller, nil, nil) 441 if err != nil { 442 return nil, err 443 } 444 return &ERC165Caller{contract: contract}, nil 445 } 446 447 // NewERC165Transactor creates a new write-only instance of ERC165, bound to a specific deployed contract. 448 func NewERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC165Transactor, error) { 449 contract, err := bindERC165(address, nil, transactor, nil) 450 if err != nil { 451 return nil, err 452 } 453 return &ERC165Transactor{contract: contract}, nil 454 } 455 456 // NewERC165Filterer creates a new log filterer instance of ERC165, bound to a specific deployed contract. 457 func NewERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC165Filterer, error) { 458 contract, err := bindERC165(address, nil, nil, filterer) 459 if err != nil { 460 return nil, err 461 } 462 return &ERC165Filterer{contract: contract}, nil 463 } 464 465 // bindERC165 binds a generic wrapper to an already deployed contract. 466 func bindERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 467 parsed, err := abi.JSON(strings.NewReader(ERC165ABI)) 468 if err != nil { 469 return nil, err 470 } 471 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 472 } 473 474 // Call invokes the (constant) contract method with params as input values and 475 // sets the output to result. The result type might be a single field for simple 476 // returns, a slice of interfaces for anonymous returns and a struct for named 477 // returns. 478 func (_ERC165 *ERC165Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 479 return _ERC165.Contract.ERC165Caller.contract.Call(opts, result, method, params...) 480 } 481 482 // Transfer initiates a plain transaction to move funds to the contract, calling 483 // its default method if one is available. 484 func (_ERC165 *ERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 485 return _ERC165.Contract.ERC165Transactor.contract.Transfer(opts) 486 } 487 488 // Transact invokes the (paid) contract method with params as input values. 489 func (_ERC165 *ERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 490 return _ERC165.Contract.ERC165Transactor.contract.Transact(opts, method, params...) 491 } 492 493 // Call invokes the (constant) contract method with params as input values and 494 // sets the output to result. The result type might be a single field for simple 495 // returns, a slice of interfaces for anonymous returns and a struct for named 496 // returns. 497 func (_ERC165 *ERC165CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 498 return _ERC165.Contract.contract.Call(opts, result, method, params...) 499 } 500 501 // Transfer initiates a plain transaction to move funds to the contract, calling 502 // its default method if one is available. 503 func (_ERC165 *ERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 504 return _ERC165.Contract.contract.Transfer(opts) 505 } 506 507 // Transact invokes the (paid) contract method with params as input values. 508 func (_ERC165 *ERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 509 return _ERC165.Contract.contract.Transact(opts, method, params...) 510 } 511 512 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 513 // 514 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 515 func (_ERC165 *ERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 516 var ( 517 ret0 = new(bool) 518 ) 519 out := ret0 520 err := _ERC165.contract.Call(opts, out, "supportsInterface", interfaceId) 521 return *ret0, err 522 } 523 524 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 525 // 526 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 527 func (_ERC165 *ERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 528 return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) 529 } 530 531 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 532 // 533 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 534 func (_ERC165 *ERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 535 return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) 536 } 537 538 // ERC721ABI is the input ABI used to generate the binding from. 539 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\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\"}]" 540 541 // ERC721BinRuntime is the compiled bytecode used for adding genesis block without deploying code. 542 const ERC721BinRuntime = `608060405234801561001057600080fd5b506004361061009e5760003560e01c80636352211e116100665780636352211e146101b157806370a08231146101ce578063a22cb46514610206578063b88d4fde14610234578063e985e9c5146102fa5761009e565b806301ffc9a7146100a3578063081812fc146100de578063095ea7b31461011757806323b872dd1461014557806342842e0e1461017b575b600080fd5b6100ca600480360360208110156100b957600080fd5b50356001600160e01b031916610328565b604080519115158252519081900360200190f35b6100fb600480360360208110156100f457600080fd5b5035610347565b604080516001600160a01b039092168252519081900360200190f35b6101436004803603604081101561012d57600080fd5b506001600160a01b0381351690602001356103ac565b005b6101436004803603606081101561015b57600080fd5b506001600160a01b038135811691602081013590911690604001356104c3565b6101436004803603606081101561019157600080fd5b506001600160a01b0381358116916020810135909116906040013561051b565b6100fb600480360360208110156101c757600080fd5b5035610536565b6101f4600480360360208110156101e457600080fd5b50356001600160a01b0316610593565b60408051918252519081900360200190f35b6101436004803603604081101561021c57600080fd5b506001600160a01b03813516906020013515156105fe565b6101436004803603608081101561024a57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561028557600080fd5b82018360208201111561029757600080fd5b803590602001918460018302840111640100000000831117156102b957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106cd945050505050565b6100ca6004803603604081101561031057600080fd5b506001600160a01b0381358116916020013516610728565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061035282610756565b61039057604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610c72602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006103b782610536565b9050806001600160a01b0316836001600160a01b0316141561040d57604051600160e51b62461bcd028152600401808060200182810382526021815260200180610cc76021913960400191505060405180910390fd5b336001600160a01b038216148061042957506104298133610728565b61046757604051600160e51b62461bcd028152600401808060200182810382526038815260200180610be76038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6104cd3382610773565b61050b57604051600160e51b62461bcd028152600401808060200182810382526031815260200180610ce86031913960400191505060405180910390fd5b61051683838361081a565b505050565b610516838383604051806020016040528060008152506106cd565b6000818152600160205260408120546001600160a01b03168061058d57604051600160e51b62461bcd028152600401808060200182810382526029815260200180610c496029913960400191505060405180910390fd5b92915050565b60006001600160a01b0382166105dd57604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610c1f602a913960400191505060405180910390fd5b6001600160a01b038216600090815260036020526040902061058d90610964565b6001600160a01b03821633141561065f5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6106d88484846104c3565b6106e484848484610968565b61072257604051600160e51b62461bcd028152600401808060200182810382526032815260200180610b656032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b600061077e82610756565b6107bc57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610bbb602c913960400191505060405180910390fd5b60006107c783610536565b9050806001600160a01b0316846001600160a01b031614806108025750836001600160a01b03166107f784610347565b6001600160a01b0316145b8061081257506108128185610728565b949350505050565b826001600160a01b031661082d82610536565b6001600160a01b03161461087557604051600160e51b62461bcd028152600401808060200182810382526029815260200180610c9e6029913960400191505060405180910390fd5b6001600160a01b0382166108bd57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610b976024913960400191505060405180910390fd5b6108c681610aa1565b6001600160a01b03831660009081526003602052604090206108e790610ade565b6001600160a01b038216600090815260036020526040902061090890610af5565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5490565b600061097c846001600160a01b0316610afe565b61098857506001610812565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a055781810151838201526020016109ed565b50505050905090810190601f168015610a325780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610a5457600080fd5b505af1158015610a68573d6000803e3d6000fd5b505050506040513d6020811015610a7e57600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b031615610adb57600081815260026020526040902080546001600160a01b03191690555b50565b8054610af190600163ffffffff610b0416565b9055565b80546001019055565b3b151590565b600082821115610b5e5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a72305820729ef652fa5b3de930aa2053816415426d90b8ede7f21175faa42825db4887780029` 543 544 // ERC721FuncSigs maps the 4-byte function signature to its string representation. 545 var ERC721FuncSigs = map[string]string{ 546 "095ea7b3": "approve(address,uint256)", 547 "70a08231": "balanceOf(address)", 548 "081812fc": "getApproved(uint256)", 549 "e985e9c5": "isApprovedForAll(address,address)", 550 "6352211e": "ownerOf(uint256)", 551 "42842e0e": "safeTransferFrom(address,address,uint256)", 552 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 553 "a22cb465": "setApprovalForAll(address,bool)", 554 "01ffc9a7": "supportsInterface(bytes4)", 555 "23b872dd": "transferFrom(address,address,uint256)", 556 } 557 558 // ERC721Bin is the compiled bytecode used for deploying new contracts. 559 var ERC721Bin = "0x608060405234801561001057600080fd5b506100276301ffc9a760e01b61004260201b60201c565b61003d6380ac58cd60e01b61004260201b60201c565b610110565b7fffffffff0000000000000000000000000000000000000000000000000000000080821614156100d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b610d448061011f6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80636352211e116100665780636352211e146101b157806370a08231146101ce578063a22cb46514610206578063b88d4fde14610234578063e985e9c5146102fa5761009e565b806301ffc9a7146100a3578063081812fc146100de578063095ea7b31461011757806323b872dd1461014557806342842e0e1461017b575b600080fd5b6100ca600480360360208110156100b957600080fd5b50356001600160e01b031916610328565b604080519115158252519081900360200190f35b6100fb600480360360208110156100f457600080fd5b5035610347565b604080516001600160a01b039092168252519081900360200190f35b6101436004803603604081101561012d57600080fd5b506001600160a01b0381351690602001356103ac565b005b6101436004803603606081101561015b57600080fd5b506001600160a01b038135811691602081013590911690604001356104c3565b6101436004803603606081101561019157600080fd5b506001600160a01b0381358116916020810135909116906040013561051b565b6100fb600480360360208110156101c757600080fd5b5035610536565b6101f4600480360360208110156101e457600080fd5b50356001600160a01b0316610593565b60408051918252519081900360200190f35b6101436004803603604081101561021c57600080fd5b506001600160a01b03813516906020013515156105fe565b6101436004803603608081101561024a57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561028557600080fd5b82018360208201111561029757600080fd5b803590602001918460018302840111640100000000831117156102b957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106cd945050505050565b6100ca6004803603604081101561031057600080fd5b506001600160a01b0381358116916020013516610728565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061035282610756565b61039057604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610c72602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006103b782610536565b9050806001600160a01b0316836001600160a01b0316141561040d57604051600160e51b62461bcd028152600401808060200182810382526021815260200180610cc76021913960400191505060405180910390fd5b336001600160a01b038216148061042957506104298133610728565b61046757604051600160e51b62461bcd028152600401808060200182810382526038815260200180610be76038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6104cd3382610773565b61050b57604051600160e51b62461bcd028152600401808060200182810382526031815260200180610ce86031913960400191505060405180910390fd5b61051683838361081a565b505050565b610516838383604051806020016040528060008152506106cd565b6000818152600160205260408120546001600160a01b03168061058d57604051600160e51b62461bcd028152600401808060200182810382526029815260200180610c496029913960400191505060405180910390fd5b92915050565b60006001600160a01b0382166105dd57604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610c1f602a913960400191505060405180910390fd5b6001600160a01b038216600090815260036020526040902061058d90610964565b6001600160a01b03821633141561065f5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6106d88484846104c3565b6106e484848484610968565b61072257604051600160e51b62461bcd028152600401808060200182810382526032815260200180610b656032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b600061077e82610756565b6107bc57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610bbb602c913960400191505060405180910390fd5b60006107c783610536565b9050806001600160a01b0316846001600160a01b031614806108025750836001600160a01b03166107f784610347565b6001600160a01b0316145b8061081257506108128185610728565b949350505050565b826001600160a01b031661082d82610536565b6001600160a01b03161461087557604051600160e51b62461bcd028152600401808060200182810382526029815260200180610c9e6029913960400191505060405180910390fd5b6001600160a01b0382166108bd57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610b976024913960400191505060405180910390fd5b6108c681610aa1565b6001600160a01b03831660009081526003602052604090206108e790610ade565b6001600160a01b038216600090815260036020526040902061090890610af5565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5490565b600061097c846001600160a01b0316610afe565b61098857506001610812565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a055781810151838201526020016109ed565b50505050905090810190601f168015610a325780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610a5457600080fd5b505af1158015610a68573d6000803e3d6000fd5b505050506040513d6020811015610a7e57600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b031615610adb57600081815260026020526040902080546001600160a01b03191690555b50565b8054610af190600163ffffffff610b0416565b9055565b80546001019055565b3b151590565b600082821115610b5e5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a72305820729ef652fa5b3de930aa2053816415426d90b8ede7f21175faa42825db4887780029" 560 561 // DeployERC721 deploys a new Klaytn contract, binding an instance of ERC721 to it. 562 func DeployERC721(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC721, error) { 563 parsed, err := abi.JSON(strings.NewReader(ERC721ABI)) 564 if err != nil { 565 return common.Address{}, nil, nil, err 566 } 567 568 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC721Bin), backend) 569 if err != nil { 570 return common.Address{}, nil, nil, err 571 } 572 return address, tx, &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil 573 } 574 575 // ERC721 is an auto generated Go binding around a Klaytn contract. 576 type ERC721 struct { 577 ERC721Caller // Read-only binding to the contract 578 ERC721Transactor // Write-only binding to the contract 579 ERC721Filterer // Log filterer for contract events 580 } 581 582 // ERC721Caller is an auto generated read-only Go binding around a Klaytn contract. 583 type ERC721Caller struct { 584 contract *bind.BoundContract // Generic contract wrapper for the low level calls 585 } 586 587 // ERC721Transactor is an auto generated write-only Go binding around a Klaytn contract. 588 type ERC721Transactor struct { 589 contract *bind.BoundContract // Generic contract wrapper for the low level calls 590 } 591 592 // ERC721Filterer is an auto generated log filtering Go binding around a Klaytn contract events. 593 type ERC721Filterer struct { 594 contract *bind.BoundContract // Generic contract wrapper for the low level calls 595 } 596 597 // ERC721Session is an auto generated Go binding around a Klaytn contract, 598 // with pre-set call and transact options. 599 type ERC721Session struct { 600 Contract *ERC721 // Generic contract binding to set the session for 601 CallOpts bind.CallOpts // Call options to use throughout this session 602 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 603 } 604 605 // ERC721CallerSession is an auto generated read-only Go binding around a Klaytn contract, 606 // with pre-set call options. 607 type ERC721CallerSession struct { 608 Contract *ERC721Caller // Generic contract caller binding to set the session for 609 CallOpts bind.CallOpts // Call options to use throughout this session 610 } 611 612 // ERC721TransactorSession is an auto generated write-only Go binding around a Klaytn contract, 613 // with pre-set transact options. 614 type ERC721TransactorSession struct { 615 Contract *ERC721Transactor // Generic contract transactor binding to set the session for 616 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 617 } 618 619 // ERC721Raw is an auto generated low-level Go binding around a Klaytn contract. 620 type ERC721Raw struct { 621 Contract *ERC721 // Generic contract binding to access the raw methods on 622 } 623 624 // ERC721CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 625 type ERC721CallerRaw struct { 626 Contract *ERC721Caller // Generic read-only contract binding to access the raw methods on 627 } 628 629 // ERC721TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 630 type ERC721TransactorRaw struct { 631 Contract *ERC721Transactor // Generic write-only contract binding to access the raw methods on 632 } 633 634 // NewERC721 creates a new instance of ERC721, bound to a specific deployed contract. 635 func NewERC721(address common.Address, backend bind.ContractBackend) (*ERC721, error) { 636 contract, err := bindERC721(address, backend, backend, backend) 637 if err != nil { 638 return nil, err 639 } 640 return &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil 641 } 642 643 // NewERC721Caller creates a new read-only instance of ERC721, bound to a specific deployed contract. 644 func NewERC721Caller(address common.Address, caller bind.ContractCaller) (*ERC721Caller, error) { 645 contract, err := bindERC721(address, caller, nil, nil) 646 if err != nil { 647 return nil, err 648 } 649 return &ERC721Caller{contract: contract}, nil 650 } 651 652 // NewERC721Transactor creates a new write-only instance of ERC721, bound to a specific deployed contract. 653 func NewERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC721Transactor, error) { 654 contract, err := bindERC721(address, nil, transactor, nil) 655 if err != nil { 656 return nil, err 657 } 658 return &ERC721Transactor{contract: contract}, nil 659 } 660 661 // NewERC721Filterer creates a new log filterer instance of ERC721, bound to a specific deployed contract. 662 func NewERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC721Filterer, error) { 663 contract, err := bindERC721(address, nil, nil, filterer) 664 if err != nil { 665 return nil, err 666 } 667 return &ERC721Filterer{contract: contract}, nil 668 } 669 670 // bindERC721 binds a generic wrapper to an already deployed contract. 671 func bindERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 672 parsed, err := abi.JSON(strings.NewReader(ERC721ABI)) 673 if err != nil { 674 return nil, err 675 } 676 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 677 } 678 679 // Call invokes the (constant) contract method with params as input values and 680 // sets the output to result. The result type might be a single field for simple 681 // returns, a slice of interfaces for anonymous returns and a struct for named 682 // returns. 683 func (_ERC721 *ERC721Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 684 return _ERC721.Contract.ERC721Caller.contract.Call(opts, result, method, params...) 685 } 686 687 // Transfer initiates a plain transaction to move funds to the contract, calling 688 // its default method if one is available. 689 func (_ERC721 *ERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 690 return _ERC721.Contract.ERC721Transactor.contract.Transfer(opts) 691 } 692 693 // Transact invokes the (paid) contract method with params as input values. 694 func (_ERC721 *ERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 695 return _ERC721.Contract.ERC721Transactor.contract.Transact(opts, method, params...) 696 } 697 698 // Call invokes the (constant) contract method with params as input values and 699 // sets the output to result. The result type might be a single field for simple 700 // returns, a slice of interfaces for anonymous returns and a struct for named 701 // returns. 702 func (_ERC721 *ERC721CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 703 return _ERC721.Contract.contract.Call(opts, result, method, params...) 704 } 705 706 // Transfer initiates a plain transaction to move funds to the contract, calling 707 // its default method if one is available. 708 func (_ERC721 *ERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 709 return _ERC721.Contract.contract.Transfer(opts) 710 } 711 712 // Transact invokes the (paid) contract method with params as input values. 713 func (_ERC721 *ERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 714 return _ERC721.Contract.contract.Transact(opts, method, params...) 715 } 716 717 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 718 // 719 // Solidity: function balanceOf(address owner) view returns(uint256) 720 func (_ERC721 *ERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 721 var ( 722 ret0 = new(*big.Int) 723 ) 724 out := ret0 725 err := _ERC721.contract.Call(opts, out, "balanceOf", owner) 726 return *ret0, err 727 } 728 729 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 730 // 731 // Solidity: function balanceOf(address owner) view returns(uint256) 732 func (_ERC721 *ERC721Session) BalanceOf(owner common.Address) (*big.Int, error) { 733 return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner) 734 } 735 736 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 737 // 738 // Solidity: function balanceOf(address owner) view returns(uint256) 739 func (_ERC721 *ERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 740 return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner) 741 } 742 743 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 744 // 745 // Solidity: function getApproved(uint256 tokenId) view returns(address) 746 func (_ERC721 *ERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 747 var ( 748 ret0 = new(common.Address) 749 ) 750 out := ret0 751 err := _ERC721.contract.Call(opts, out, "getApproved", tokenId) 752 return *ret0, err 753 } 754 755 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 756 // 757 // Solidity: function getApproved(uint256 tokenId) view returns(address) 758 func (_ERC721 *ERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) { 759 return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId) 760 } 761 762 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 763 // 764 // Solidity: function getApproved(uint256 tokenId) view returns(address) 765 func (_ERC721 *ERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 766 return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId) 767 } 768 769 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 770 // 771 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 772 func (_ERC721 *ERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 773 var ( 774 ret0 = new(bool) 775 ) 776 out := ret0 777 err := _ERC721.contract.Call(opts, out, "isApprovedForAll", owner, operator) 778 return *ret0, err 779 } 780 781 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 782 // 783 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 784 func (_ERC721 *ERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 785 return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator) 786 } 787 788 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 789 // 790 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 791 func (_ERC721 *ERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 792 return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator) 793 } 794 795 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 796 // 797 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 798 func (_ERC721 *ERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 799 var ( 800 ret0 = new(common.Address) 801 ) 802 out := ret0 803 err := _ERC721.contract.Call(opts, out, "ownerOf", tokenId) 804 return *ret0, err 805 } 806 807 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 808 // 809 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 810 func (_ERC721 *ERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) { 811 return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId) 812 } 813 814 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 815 // 816 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 817 func (_ERC721 *ERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 818 return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId) 819 } 820 821 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 822 // 823 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 824 func (_ERC721 *ERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 825 var ( 826 ret0 = new(bool) 827 ) 828 out := ret0 829 err := _ERC721.contract.Call(opts, out, "supportsInterface", interfaceId) 830 return *ret0, err 831 } 832 833 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 834 // 835 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 836 func (_ERC721 *ERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 837 return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId) 838 } 839 840 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 841 // 842 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 843 func (_ERC721 *ERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 844 return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId) 845 } 846 847 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 848 // 849 // Solidity: function approve(address to, uint256 tokenId) returns() 850 func (_ERC721 *ERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 851 return _ERC721.contract.Transact(opts, "approve", to, tokenId) 852 } 853 854 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 855 // 856 // Solidity: function approve(address to, uint256 tokenId) returns() 857 func (_ERC721 *ERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 858 return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId) 859 } 860 861 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 862 // 863 // Solidity: function approve(address to, uint256 tokenId) returns() 864 func (_ERC721 *ERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 865 return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId) 866 } 867 868 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 869 // 870 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 871 func (_ERC721 *ERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 872 return _ERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 873 } 874 875 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 876 // 877 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 878 func (_ERC721 *ERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 879 return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 880 } 881 882 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 883 // 884 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 885 func (_ERC721 *ERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 886 return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 887 } 888 889 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 890 // 891 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 892 func (_ERC721 *ERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 893 return _ERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 894 } 895 896 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 897 // 898 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 899 func (_ERC721 *ERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 900 return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, _data) 901 } 902 903 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 904 // 905 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 906 func (_ERC721 *ERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 907 return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, _data) 908 } 909 910 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 911 // 912 // Solidity: function setApprovalForAll(address to, bool approved) returns() 913 func (_ERC721 *ERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 914 return _ERC721.contract.Transact(opts, "setApprovalForAll", to, approved) 915 } 916 917 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 918 // 919 // Solidity: function setApprovalForAll(address to, bool approved) returns() 920 func (_ERC721 *ERC721Session) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 921 return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, to, approved) 922 } 923 924 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 925 // 926 // Solidity: function setApprovalForAll(address to, bool approved) returns() 927 func (_ERC721 *ERC721TransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 928 return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, to, approved) 929 } 930 931 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 932 // 933 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 934 func (_ERC721 *ERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 935 return _ERC721.contract.Transact(opts, "transferFrom", from, to, tokenId) 936 } 937 938 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 939 // 940 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 941 func (_ERC721 *ERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 942 return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 943 } 944 945 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 946 // 947 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 948 func (_ERC721 *ERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 949 return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 950 } 951 952 // 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. 953 type ERC721ApprovalIterator struct { 954 Event *ERC721Approval // Event containing the contract specifics and raw log 955 956 contract *bind.BoundContract // Generic contract to use for unpacking event data 957 event string // Event name to use for unpacking event data 958 959 logs chan types.Log // Log channel receiving the found contract events 960 sub klaytn.Subscription // Subscription for errors, completion and termination 961 done bool // Whether the subscription completed delivering logs 962 fail error // Occurred error to stop iteration 963 } 964 965 // Next advances the iterator to the subsequent event, returning whether there 966 // are any more events found. In case of a retrieval or parsing error, false is 967 // returned and Error() can be queried for the exact failure. 968 func (it *ERC721ApprovalIterator) Next() bool { 969 // If the iterator failed, stop iterating 970 if it.fail != nil { 971 return false 972 } 973 // If the iterator completed, deliver directly whatever's available 974 if it.done { 975 select { 976 case log := <-it.logs: 977 it.Event = new(ERC721Approval) 978 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 979 it.fail = err 980 return false 981 } 982 it.Event.Raw = log 983 return true 984 985 default: 986 return false 987 } 988 } 989 // Iterator still in progress, wait for either a data or an error event 990 select { 991 case log := <-it.logs: 992 it.Event = new(ERC721Approval) 993 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 994 it.fail = err 995 return false 996 } 997 it.Event.Raw = log 998 return true 999 1000 case err := <-it.sub.Err(): 1001 it.done = true 1002 it.fail = err 1003 return it.Next() 1004 } 1005 } 1006 1007 // Error returns any retrieval or parsing error occurred during filtering. 1008 func (it *ERC721ApprovalIterator) Error() error { 1009 return it.fail 1010 } 1011 1012 // Close terminates the iteration process, releasing any pending underlying 1013 // resources. 1014 func (it *ERC721ApprovalIterator) Close() error { 1015 it.sub.Unsubscribe() 1016 return nil 1017 } 1018 1019 // ERC721Approval represents a Approval event raised by the ERC721 contract. 1020 type ERC721Approval struct { 1021 Owner common.Address 1022 Approved common.Address 1023 TokenId *big.Int 1024 Raw types.Log // Blockchain specific contextual infos 1025 } 1026 1027 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1028 // 1029 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1030 func (_ERC721 *ERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721ApprovalIterator, error) { 1031 1032 var ownerRule []interface{} 1033 for _, ownerItem := range owner { 1034 ownerRule = append(ownerRule, ownerItem) 1035 } 1036 var approvedRule []interface{} 1037 for _, approvedItem := range approved { 1038 approvedRule = append(approvedRule, approvedItem) 1039 } 1040 var tokenIdRule []interface{} 1041 for _, tokenIdItem := range tokenId { 1042 tokenIdRule = append(tokenIdRule, tokenIdItem) 1043 } 1044 1045 logs, sub, err := _ERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 1046 if err != nil { 1047 return nil, err 1048 } 1049 return &ERC721ApprovalIterator{contract: _ERC721.contract, event: "Approval", logs: logs, sub: sub}, nil 1050 } 1051 1052 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1053 // 1054 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1055 func (_ERC721 *ERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 1056 1057 var ownerRule []interface{} 1058 for _, ownerItem := range owner { 1059 ownerRule = append(ownerRule, ownerItem) 1060 } 1061 var approvedRule []interface{} 1062 for _, approvedItem := range approved { 1063 approvedRule = append(approvedRule, approvedItem) 1064 } 1065 var tokenIdRule []interface{} 1066 for _, tokenIdItem := range tokenId { 1067 tokenIdRule = append(tokenIdRule, tokenIdItem) 1068 } 1069 1070 logs, sub, err := _ERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 1071 if err != nil { 1072 return nil, err 1073 } 1074 return event.NewSubscription(func(quit <-chan struct{}) error { 1075 defer sub.Unsubscribe() 1076 for { 1077 select { 1078 case log := <-logs: 1079 // New log arrived, parse the event and forward to the user 1080 event := new(ERC721Approval) 1081 if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil { 1082 return err 1083 } 1084 event.Raw = log 1085 1086 select { 1087 case sink <- event: 1088 case err := <-sub.Err(): 1089 return err 1090 case <-quit: 1091 return nil 1092 } 1093 case err := <-sub.Err(): 1094 return err 1095 case <-quit: 1096 return nil 1097 } 1098 } 1099 }), nil 1100 } 1101 1102 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1103 // 1104 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1105 func (_ERC721 *ERC721Filterer) ParseApproval(log types.Log) (*ERC721Approval, error) { 1106 event := new(ERC721Approval) 1107 if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil { 1108 return nil, err 1109 } 1110 return event, nil 1111 } 1112 1113 // 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. 1114 type ERC721ApprovalForAllIterator struct { 1115 Event *ERC721ApprovalForAll // Event containing the contract specifics and raw log 1116 1117 contract *bind.BoundContract // Generic contract to use for unpacking event data 1118 event string // Event name to use for unpacking event data 1119 1120 logs chan types.Log // Log channel receiving the found contract events 1121 sub klaytn.Subscription // Subscription for errors, completion and termination 1122 done bool // Whether the subscription completed delivering logs 1123 fail error // Occurred error to stop iteration 1124 } 1125 1126 // Next advances the iterator to the subsequent event, returning whether there 1127 // are any more events found. In case of a retrieval or parsing error, false is 1128 // returned and Error() can be queried for the exact failure. 1129 func (it *ERC721ApprovalForAllIterator) Next() bool { 1130 // If the iterator failed, stop iterating 1131 if it.fail != nil { 1132 return false 1133 } 1134 // If the iterator completed, deliver directly whatever's available 1135 if it.done { 1136 select { 1137 case log := <-it.logs: 1138 it.Event = new(ERC721ApprovalForAll) 1139 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1140 it.fail = err 1141 return false 1142 } 1143 it.Event.Raw = log 1144 return true 1145 1146 default: 1147 return false 1148 } 1149 } 1150 // Iterator still in progress, wait for either a data or an error event 1151 select { 1152 case log := <-it.logs: 1153 it.Event = new(ERC721ApprovalForAll) 1154 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1155 it.fail = err 1156 return false 1157 } 1158 it.Event.Raw = log 1159 return true 1160 1161 case err := <-it.sub.Err(): 1162 it.done = true 1163 it.fail = err 1164 return it.Next() 1165 } 1166 } 1167 1168 // Error returns any retrieval or parsing error occurred during filtering. 1169 func (it *ERC721ApprovalForAllIterator) Error() error { 1170 return it.fail 1171 } 1172 1173 // Close terminates the iteration process, releasing any pending underlying 1174 // resources. 1175 func (it *ERC721ApprovalForAllIterator) Close() error { 1176 it.sub.Unsubscribe() 1177 return nil 1178 } 1179 1180 // ERC721ApprovalForAll represents a ApprovalForAll event raised by the ERC721 contract. 1181 type ERC721ApprovalForAll struct { 1182 Owner common.Address 1183 Operator common.Address 1184 Approved bool 1185 Raw types.Log // Blockchain specific contextual infos 1186 } 1187 1188 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 1189 // 1190 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 1191 func (_ERC721 *ERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721ApprovalForAllIterator, error) { 1192 1193 var ownerRule []interface{} 1194 for _, ownerItem := range owner { 1195 ownerRule = append(ownerRule, ownerItem) 1196 } 1197 var operatorRule []interface{} 1198 for _, operatorItem := range operator { 1199 operatorRule = append(operatorRule, operatorItem) 1200 } 1201 1202 logs, sub, err := _ERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 1203 if err != nil { 1204 return nil, err 1205 } 1206 return &ERC721ApprovalForAllIterator{contract: _ERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 1207 } 1208 1209 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 1210 // 1211 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 1212 func (_ERC721 *ERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 1213 1214 var ownerRule []interface{} 1215 for _, ownerItem := range owner { 1216 ownerRule = append(ownerRule, ownerItem) 1217 } 1218 var operatorRule []interface{} 1219 for _, operatorItem := range operator { 1220 operatorRule = append(operatorRule, operatorItem) 1221 } 1222 1223 logs, sub, err := _ERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 1224 if err != nil { 1225 return nil, err 1226 } 1227 return event.NewSubscription(func(quit <-chan struct{}) error { 1228 defer sub.Unsubscribe() 1229 for { 1230 select { 1231 case log := <-logs: 1232 // New log arrived, parse the event and forward to the user 1233 event := new(ERC721ApprovalForAll) 1234 if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 1235 return err 1236 } 1237 event.Raw = log 1238 1239 select { 1240 case sink <- event: 1241 case err := <-sub.Err(): 1242 return err 1243 case <-quit: 1244 return nil 1245 } 1246 case err := <-sub.Err(): 1247 return err 1248 case <-quit: 1249 return nil 1250 } 1251 } 1252 }), nil 1253 } 1254 1255 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 1256 // 1257 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 1258 func (_ERC721 *ERC721Filterer) ParseApprovalForAll(log types.Log) (*ERC721ApprovalForAll, error) { 1259 event := new(ERC721ApprovalForAll) 1260 if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 1261 return nil, err 1262 } 1263 return event, nil 1264 } 1265 1266 // 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. 1267 type ERC721TransferIterator struct { 1268 Event *ERC721Transfer // Event containing the contract specifics and raw log 1269 1270 contract *bind.BoundContract // Generic contract to use for unpacking event data 1271 event string // Event name to use for unpacking event data 1272 1273 logs chan types.Log // Log channel receiving the found contract events 1274 sub klaytn.Subscription // Subscription for errors, completion and termination 1275 done bool // Whether the subscription completed delivering logs 1276 fail error // Occurred error to stop iteration 1277 } 1278 1279 // Next advances the iterator to the subsequent event, returning whether there 1280 // are any more events found. In case of a retrieval or parsing error, false is 1281 // returned and Error() can be queried for the exact failure. 1282 func (it *ERC721TransferIterator) Next() bool { 1283 // If the iterator failed, stop iterating 1284 if it.fail != nil { 1285 return false 1286 } 1287 // If the iterator completed, deliver directly whatever's available 1288 if it.done { 1289 select { 1290 case log := <-it.logs: 1291 it.Event = new(ERC721Transfer) 1292 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1293 it.fail = err 1294 return false 1295 } 1296 it.Event.Raw = log 1297 return true 1298 1299 default: 1300 return false 1301 } 1302 } 1303 // Iterator still in progress, wait for either a data or an error event 1304 select { 1305 case log := <-it.logs: 1306 it.Event = new(ERC721Transfer) 1307 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1308 it.fail = err 1309 return false 1310 } 1311 it.Event.Raw = log 1312 return true 1313 1314 case err := <-it.sub.Err(): 1315 it.done = true 1316 it.fail = err 1317 return it.Next() 1318 } 1319 } 1320 1321 // Error returns any retrieval or parsing error occurred during filtering. 1322 func (it *ERC721TransferIterator) Error() error { 1323 return it.fail 1324 } 1325 1326 // Close terminates the iteration process, releasing any pending underlying 1327 // resources. 1328 func (it *ERC721TransferIterator) Close() error { 1329 it.sub.Unsubscribe() 1330 return nil 1331 } 1332 1333 // ERC721Transfer represents a Transfer event raised by the ERC721 contract. 1334 type ERC721Transfer struct { 1335 From common.Address 1336 To common.Address 1337 TokenId *big.Int 1338 Raw types.Log // Blockchain specific contextual infos 1339 } 1340 1341 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1342 // 1343 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 1344 func (_ERC721 *ERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721TransferIterator, error) { 1345 1346 var fromRule []interface{} 1347 for _, fromItem := range from { 1348 fromRule = append(fromRule, fromItem) 1349 } 1350 var toRule []interface{} 1351 for _, toItem := range to { 1352 toRule = append(toRule, toItem) 1353 } 1354 var tokenIdRule []interface{} 1355 for _, tokenIdItem := range tokenId { 1356 tokenIdRule = append(tokenIdRule, tokenIdItem) 1357 } 1358 1359 logs, sub, err := _ERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 1360 if err != nil { 1361 return nil, err 1362 } 1363 return &ERC721TransferIterator{contract: _ERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil 1364 } 1365 1366 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1367 // 1368 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 1369 func (_ERC721 *ERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 1370 1371 var fromRule []interface{} 1372 for _, fromItem := range from { 1373 fromRule = append(fromRule, fromItem) 1374 } 1375 var toRule []interface{} 1376 for _, toItem := range to { 1377 toRule = append(toRule, toItem) 1378 } 1379 var tokenIdRule []interface{} 1380 for _, tokenIdItem := range tokenId { 1381 tokenIdRule = append(tokenIdRule, tokenIdItem) 1382 } 1383 1384 logs, sub, err := _ERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 1385 if err != nil { 1386 return nil, err 1387 } 1388 return event.NewSubscription(func(quit <-chan struct{}) error { 1389 defer sub.Unsubscribe() 1390 for { 1391 select { 1392 case log := <-logs: 1393 // New log arrived, parse the event and forward to the user 1394 event := new(ERC721Transfer) 1395 if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 1396 return err 1397 } 1398 event.Raw = log 1399 1400 select { 1401 case sink <- event: 1402 case err := <-sub.Err(): 1403 return err 1404 case <-quit: 1405 return nil 1406 } 1407 case err := <-sub.Err(): 1408 return err 1409 case <-quit: 1410 return nil 1411 } 1412 } 1413 }), nil 1414 } 1415 1416 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1417 // 1418 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 1419 func (_ERC721 *ERC721Filterer) ParseTransfer(log types.Log) (*ERC721Transfer, error) { 1420 event := new(ERC721Transfer) 1421 if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 1422 return nil, err 1423 } 1424 return event, nil 1425 } 1426 1427 // ERC721BurnableABI is the input ABI used to generate the binding from. 1428 const ERC721BurnableABI = "[{\"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\":false,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"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\"}]" 1429 1430 // ERC721BurnableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 1431 const ERC721BurnableBinRuntime = `608060405234801561001057600080fd5b50600436106100a95760003560e01c806342966c681161007157806342966c68146101bc5780636352211e146101d957806370a08231146101f6578063a22cb4651461022e578063b88d4fde1461025c578063e985e9c514610322576100a9565b806301ffc9a7146100ae578063081812fc146100e9578063095ea7b31461012257806323b872dd1461015057806342842e0e14610186575b600080fd5b6100d5600480360360208110156100c457600080fd5b50356001600160e01b031916610350565b604080519115158252519081900360200190f35b610106600480360360208110156100ff57600080fd5b503561036f565b604080516001600160a01b039092168252519081900360200190f35b61014e6004803603604081101561013857600080fd5b506001600160a01b0381351690602001356103d4565b005b61014e6004803603606081101561016657600080fd5b506001600160a01b038135811691602081013590911690604001356104eb565b61014e6004803603606081101561019c57600080fd5b506001600160a01b03813581169160208101359091169060400135610543565b61014e600480360360208110156101d257600080fd5b503561055e565b610106600480360360208110156101ef57600080fd5b50356105b2565b61021c6004803603602081101561020c57600080fd5b50356001600160a01b031661060f565b60408051918252519081900360200190f35b61014e6004803603604081101561024457600080fd5b506001600160a01b038135169060200135151561067a565b61014e6004803603608081101561027257600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156102ad57600080fd5b8201836020820111156102bf57600080fd5b803590602001918460018302840111640100000000831117156102e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610749945050505050565b6100d56004803603604081101561033857600080fd5b506001600160a01b03813581169160200135166107a4565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061037a826107d2565b6103b857604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610dd8602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006103df826105b2565b9050806001600160a01b0316836001600160a01b0316141561043557604051600160e51b62461bcd028152600401808060200182810382526021815260200180610e2d6021913960400191505060405180910390fd5b336001600160a01b0382161480610451575061045181336107a4565b61048f57604051600160e51b62461bcd028152600401808060200182810382526038815260200180610d4d6038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6104f533826107ef565b61053357604051600160e51b62461bcd028152600401808060200182810382526031815260200180610e4e6031913960400191505060405180910390fd5b61053e838383610896565b505050565b61053e83838360405180602001604052806000815250610749565b61056833826107ef565b6105a657604051600160e51b62461bcd028152600401808060200182810382526030815260200180610ea46030913960400191505060405180910390fd5b6105af816109e0565b50565b6000818152600160205260408120546001600160a01b03168061060957604051600160e51b62461bcd028152600401808060200182810382526029815260200180610daf6029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661065957604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610d85602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020610609906109f2565b6001600160a01b0382163314156106db5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6107548484846104eb565b610760848484846109f6565b61079e57604051600160e51b62461bcd028152600401808060200182810382526032815260200180610ccb6032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b60006107fa826107d2565b61083857604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610d21602c913960400191505060405180910390fd5b6000610843836105b2565b9050806001600160a01b0316846001600160a01b0316148061087e5750836001600160a01b03166108738461036f565b6001600160a01b0316145b8061088e575061088e81856107a4565b949350505050565b826001600160a01b03166108a9826105b2565b6001600160a01b0316146108f157604051600160e51b62461bcd028152600401808060200182810382526029815260200180610e046029913960400191505060405180910390fd5b6001600160a01b03821661093957604051600160e51b62461bcd028152600401808060200182810382526024815260200180610cfd6024913960400191505060405180910390fd5b61094281610b2f565b6001600160a01b038316600090815260036020526040902061096390610b6a565b6001600160a01b038216600090815260036020526040902061098490610b81565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6105af6109ec826105b2565b82610b8a565b5490565b6000610a0a846001600160a01b0316610c64565b610a165750600161088e565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a93578181015183820152602001610a7b565b50505050905090810190601f168015610ac05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610ae257600080fd5b505af1158015610af6573d6000803e3d6000fd5b505050506040513d6020811015610b0c57600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b0316156105af57600090815260026020526040902080546001600160a01b0319169055565b8054610b7d90600163ffffffff610c6a16565b9055565b80546001019055565b816001600160a01b0316610b9d826105b2565b6001600160a01b031614610be557604051600160e51b62461bcd028152600401808060200182810382526025815260200180610e7f6025913960400191505060405180910390fd5b610bee81610b2f565b6001600160a01b0382166000908152600360205260409020610c0f90610b6a565b60008181526001602052604080822080546001600160a01b0319169055518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b3b151590565b600082821115610cc45760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a7230582035986e074f001b98f3d4f8e669063ef8d5efcf5cb63f5103e5e5296048223c1d0029` 1432 1433 // ERC721BurnableFuncSigs maps the 4-byte function signature to its string representation. 1434 var ERC721BurnableFuncSigs = map[string]string{ 1435 "095ea7b3": "approve(address,uint256)", 1436 "70a08231": "balanceOf(address)", 1437 "42966c68": "burn(uint256)", 1438 "081812fc": "getApproved(uint256)", 1439 "e985e9c5": "isApprovedForAll(address,address)", 1440 "6352211e": "ownerOf(uint256)", 1441 "42842e0e": "safeTransferFrom(address,address,uint256)", 1442 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 1443 "a22cb465": "setApprovalForAll(address,bool)", 1444 "01ffc9a7": "supportsInterface(bytes4)", 1445 "23b872dd": "transferFrom(address,address,uint256)", 1446 } 1447 1448 // ERC721BurnableBin is the compiled bytecode used for deploying new contracts. 1449 var ERC721BurnableBin = "0x608060405261001a6301ffc9a760e01b61003560201b60201c565b6100306380ac58cd60e01b61003560201b60201c565b610103565b7fffffffff0000000000000000000000000000000000000000000000000000000080821614156100c657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b610eff806101126000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806342966c681161007157806342966c68146101bc5780636352211e146101d957806370a08231146101f6578063a22cb4651461022e578063b88d4fde1461025c578063e985e9c514610322576100a9565b806301ffc9a7146100ae578063081812fc146100e9578063095ea7b31461012257806323b872dd1461015057806342842e0e14610186575b600080fd5b6100d5600480360360208110156100c457600080fd5b50356001600160e01b031916610350565b604080519115158252519081900360200190f35b610106600480360360208110156100ff57600080fd5b503561036f565b604080516001600160a01b039092168252519081900360200190f35b61014e6004803603604081101561013857600080fd5b506001600160a01b0381351690602001356103d4565b005b61014e6004803603606081101561016657600080fd5b506001600160a01b038135811691602081013590911690604001356104eb565b61014e6004803603606081101561019c57600080fd5b506001600160a01b03813581169160208101359091169060400135610543565b61014e600480360360208110156101d257600080fd5b503561055e565b610106600480360360208110156101ef57600080fd5b50356105b2565b61021c6004803603602081101561020c57600080fd5b50356001600160a01b031661060f565b60408051918252519081900360200190f35b61014e6004803603604081101561024457600080fd5b506001600160a01b038135169060200135151561067a565b61014e6004803603608081101561027257600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156102ad57600080fd5b8201836020820111156102bf57600080fd5b803590602001918460018302840111640100000000831117156102e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610749945050505050565b6100d56004803603604081101561033857600080fd5b506001600160a01b03813581169160200135166107a4565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061037a826107d2565b6103b857604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610dd8602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006103df826105b2565b9050806001600160a01b0316836001600160a01b0316141561043557604051600160e51b62461bcd028152600401808060200182810382526021815260200180610e2d6021913960400191505060405180910390fd5b336001600160a01b0382161480610451575061045181336107a4565b61048f57604051600160e51b62461bcd028152600401808060200182810382526038815260200180610d4d6038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6104f533826107ef565b61053357604051600160e51b62461bcd028152600401808060200182810382526031815260200180610e4e6031913960400191505060405180910390fd5b61053e838383610896565b505050565b61053e83838360405180602001604052806000815250610749565b61056833826107ef565b6105a657604051600160e51b62461bcd028152600401808060200182810382526030815260200180610ea46030913960400191505060405180910390fd5b6105af816109e0565b50565b6000818152600160205260408120546001600160a01b03168061060957604051600160e51b62461bcd028152600401808060200182810382526029815260200180610daf6029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661065957604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610d85602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020610609906109f2565b6001600160a01b0382163314156106db5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6107548484846104eb565b610760848484846109f6565b61079e57604051600160e51b62461bcd028152600401808060200182810382526032815260200180610ccb6032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b60006107fa826107d2565b61083857604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610d21602c913960400191505060405180910390fd5b6000610843836105b2565b9050806001600160a01b0316846001600160a01b0316148061087e5750836001600160a01b03166108738461036f565b6001600160a01b0316145b8061088e575061088e81856107a4565b949350505050565b826001600160a01b03166108a9826105b2565b6001600160a01b0316146108f157604051600160e51b62461bcd028152600401808060200182810382526029815260200180610e046029913960400191505060405180910390fd5b6001600160a01b03821661093957604051600160e51b62461bcd028152600401808060200182810382526024815260200180610cfd6024913960400191505060405180910390fd5b61094281610b2f565b6001600160a01b038316600090815260036020526040902061096390610b6a565b6001600160a01b038216600090815260036020526040902061098490610b81565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6105af6109ec826105b2565b82610b8a565b5490565b6000610a0a846001600160a01b0316610c64565b610a165750600161088e565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a93578181015183820152602001610a7b565b50505050905090810190601f168015610ac05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610ae257600080fd5b505af1158015610af6573d6000803e3d6000fd5b505050506040513d6020811015610b0c57600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b0316156105af57600090815260026020526040902080546001600160a01b0319169055565b8054610b7d90600163ffffffff610c6a16565b9055565b80546001019055565b816001600160a01b0316610b9d826105b2565b6001600160a01b031614610be557604051600160e51b62461bcd028152600401808060200182810382526025815260200180610e7f6025913960400191505060405180910390fd5b610bee81610b2f565b6001600160a01b0382166000908152600360205260409020610c0f90610b6a565b60008181526001602052604080822080546001600160a01b0319169055518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b3b151590565b600082821115610cc45760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a7230582035986e074f001b98f3d4f8e669063ef8d5efcf5cb63f5103e5e5296048223c1d0029" 1450 1451 // DeployERC721Burnable deploys a new Klaytn contract, binding an instance of ERC721Burnable to it. 1452 func DeployERC721Burnable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC721Burnable, error) { 1453 parsed, err := abi.JSON(strings.NewReader(ERC721BurnableABI)) 1454 if err != nil { 1455 return common.Address{}, nil, nil, err 1456 } 1457 1458 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC721BurnableBin), backend) 1459 if err != nil { 1460 return common.Address{}, nil, nil, err 1461 } 1462 return address, tx, &ERC721Burnable{ERC721BurnableCaller: ERC721BurnableCaller{contract: contract}, ERC721BurnableTransactor: ERC721BurnableTransactor{contract: contract}, ERC721BurnableFilterer: ERC721BurnableFilterer{contract: contract}}, nil 1463 } 1464 1465 // ERC721Burnable is an auto generated Go binding around a Klaytn contract. 1466 type ERC721Burnable struct { 1467 ERC721BurnableCaller // Read-only binding to the contract 1468 ERC721BurnableTransactor // Write-only binding to the contract 1469 ERC721BurnableFilterer // Log filterer for contract events 1470 } 1471 1472 // ERC721BurnableCaller is an auto generated read-only Go binding around a Klaytn contract. 1473 type ERC721BurnableCaller struct { 1474 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1475 } 1476 1477 // ERC721BurnableTransactor is an auto generated write-only Go binding around a Klaytn contract. 1478 type ERC721BurnableTransactor struct { 1479 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1480 } 1481 1482 // ERC721BurnableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 1483 type ERC721BurnableFilterer struct { 1484 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1485 } 1486 1487 // ERC721BurnableSession is an auto generated Go binding around a Klaytn contract, 1488 // with pre-set call and transact options. 1489 type ERC721BurnableSession struct { 1490 Contract *ERC721Burnable // Generic contract binding to set the session for 1491 CallOpts bind.CallOpts // Call options to use throughout this session 1492 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1493 } 1494 1495 // ERC721BurnableCallerSession is an auto generated read-only Go binding around a Klaytn contract, 1496 // with pre-set call options. 1497 type ERC721BurnableCallerSession struct { 1498 Contract *ERC721BurnableCaller // Generic contract caller binding to set the session for 1499 CallOpts bind.CallOpts // Call options to use throughout this session 1500 } 1501 1502 // ERC721BurnableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 1503 // with pre-set transact options. 1504 type ERC721BurnableTransactorSession struct { 1505 Contract *ERC721BurnableTransactor // Generic contract transactor binding to set the session for 1506 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1507 } 1508 1509 // ERC721BurnableRaw is an auto generated low-level Go binding around a Klaytn contract. 1510 type ERC721BurnableRaw struct { 1511 Contract *ERC721Burnable // Generic contract binding to access the raw methods on 1512 } 1513 1514 // ERC721BurnableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 1515 type ERC721BurnableCallerRaw struct { 1516 Contract *ERC721BurnableCaller // Generic read-only contract binding to access the raw methods on 1517 } 1518 1519 // ERC721BurnableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 1520 type ERC721BurnableTransactorRaw struct { 1521 Contract *ERC721BurnableTransactor // Generic write-only contract binding to access the raw methods on 1522 } 1523 1524 // NewERC721Burnable creates a new instance of ERC721Burnable, bound to a specific deployed contract. 1525 func NewERC721Burnable(address common.Address, backend bind.ContractBackend) (*ERC721Burnable, error) { 1526 contract, err := bindERC721Burnable(address, backend, backend, backend) 1527 if err != nil { 1528 return nil, err 1529 } 1530 return &ERC721Burnable{ERC721BurnableCaller: ERC721BurnableCaller{contract: contract}, ERC721BurnableTransactor: ERC721BurnableTransactor{contract: contract}, ERC721BurnableFilterer: ERC721BurnableFilterer{contract: contract}}, nil 1531 } 1532 1533 // NewERC721BurnableCaller creates a new read-only instance of ERC721Burnable, bound to a specific deployed contract. 1534 func NewERC721BurnableCaller(address common.Address, caller bind.ContractCaller) (*ERC721BurnableCaller, error) { 1535 contract, err := bindERC721Burnable(address, caller, nil, nil) 1536 if err != nil { 1537 return nil, err 1538 } 1539 return &ERC721BurnableCaller{contract: contract}, nil 1540 } 1541 1542 // NewERC721BurnableTransactor creates a new write-only instance of ERC721Burnable, bound to a specific deployed contract. 1543 func NewERC721BurnableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721BurnableTransactor, error) { 1544 contract, err := bindERC721Burnable(address, nil, transactor, nil) 1545 if err != nil { 1546 return nil, err 1547 } 1548 return &ERC721BurnableTransactor{contract: contract}, nil 1549 } 1550 1551 // NewERC721BurnableFilterer creates a new log filterer instance of ERC721Burnable, bound to a specific deployed contract. 1552 func NewERC721BurnableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721BurnableFilterer, error) { 1553 contract, err := bindERC721Burnable(address, nil, nil, filterer) 1554 if err != nil { 1555 return nil, err 1556 } 1557 return &ERC721BurnableFilterer{contract: contract}, nil 1558 } 1559 1560 // bindERC721Burnable binds a generic wrapper to an already deployed contract. 1561 func bindERC721Burnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1562 parsed, err := abi.JSON(strings.NewReader(ERC721BurnableABI)) 1563 if err != nil { 1564 return nil, err 1565 } 1566 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 1567 } 1568 1569 // Call invokes the (constant) contract method with params as input values and 1570 // sets the output to result. The result type might be a single field for simple 1571 // returns, a slice of interfaces for anonymous returns and a struct for named 1572 // returns. 1573 func (_ERC721Burnable *ERC721BurnableRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1574 return _ERC721Burnable.Contract.ERC721BurnableCaller.contract.Call(opts, result, method, params...) 1575 } 1576 1577 // Transfer initiates a plain transaction to move funds to the contract, calling 1578 // its default method if one is available. 1579 func (_ERC721Burnable *ERC721BurnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1580 return _ERC721Burnable.Contract.ERC721BurnableTransactor.contract.Transfer(opts) 1581 } 1582 1583 // Transact invokes the (paid) contract method with params as input values. 1584 func (_ERC721Burnable *ERC721BurnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1585 return _ERC721Burnable.Contract.ERC721BurnableTransactor.contract.Transact(opts, method, params...) 1586 } 1587 1588 // Call invokes the (constant) contract method with params as input values and 1589 // sets the output to result. The result type might be a single field for simple 1590 // returns, a slice of interfaces for anonymous returns and a struct for named 1591 // returns. 1592 func (_ERC721Burnable *ERC721BurnableCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1593 return _ERC721Burnable.Contract.contract.Call(opts, result, method, params...) 1594 } 1595 1596 // Transfer initiates a plain transaction to move funds to the contract, calling 1597 // its default method if one is available. 1598 func (_ERC721Burnable *ERC721BurnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1599 return _ERC721Burnable.Contract.contract.Transfer(opts) 1600 } 1601 1602 // Transact invokes the (paid) contract method with params as input values. 1603 func (_ERC721Burnable *ERC721BurnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1604 return _ERC721Burnable.Contract.contract.Transact(opts, method, params...) 1605 } 1606 1607 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1608 // 1609 // Solidity: function balanceOf(address owner) view returns(uint256) 1610 func (_ERC721Burnable *ERC721BurnableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 1611 var ( 1612 ret0 = new(*big.Int) 1613 ) 1614 out := ret0 1615 err := _ERC721Burnable.contract.Call(opts, out, "balanceOf", owner) 1616 return *ret0, err 1617 } 1618 1619 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1620 // 1621 // Solidity: function balanceOf(address owner) view returns(uint256) 1622 func (_ERC721Burnable *ERC721BurnableSession) BalanceOf(owner common.Address) (*big.Int, error) { 1623 return _ERC721Burnable.Contract.BalanceOf(&_ERC721Burnable.CallOpts, owner) 1624 } 1625 1626 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1627 // 1628 // Solidity: function balanceOf(address owner) view returns(uint256) 1629 func (_ERC721Burnable *ERC721BurnableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 1630 return _ERC721Burnable.Contract.BalanceOf(&_ERC721Burnable.CallOpts, owner) 1631 } 1632 1633 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 1634 // 1635 // Solidity: function getApproved(uint256 tokenId) view returns(address) 1636 func (_ERC721Burnable *ERC721BurnableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 1637 var ( 1638 ret0 = new(common.Address) 1639 ) 1640 out := ret0 1641 err := _ERC721Burnable.contract.Call(opts, out, "getApproved", tokenId) 1642 return *ret0, err 1643 } 1644 1645 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 1646 // 1647 // Solidity: function getApproved(uint256 tokenId) view returns(address) 1648 func (_ERC721Burnable *ERC721BurnableSession) GetApproved(tokenId *big.Int) (common.Address, error) { 1649 return _ERC721Burnable.Contract.GetApproved(&_ERC721Burnable.CallOpts, tokenId) 1650 } 1651 1652 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 1653 // 1654 // Solidity: function getApproved(uint256 tokenId) view returns(address) 1655 func (_ERC721Burnable *ERC721BurnableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 1656 return _ERC721Burnable.Contract.GetApproved(&_ERC721Burnable.CallOpts, tokenId) 1657 } 1658 1659 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 1660 // 1661 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 1662 func (_ERC721Burnable *ERC721BurnableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 1663 var ( 1664 ret0 = new(bool) 1665 ) 1666 out := ret0 1667 err := _ERC721Burnable.contract.Call(opts, out, "isApprovedForAll", owner, operator) 1668 return *ret0, err 1669 } 1670 1671 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 1672 // 1673 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 1674 func (_ERC721Burnable *ERC721BurnableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 1675 return _ERC721Burnable.Contract.IsApprovedForAll(&_ERC721Burnable.CallOpts, owner, operator) 1676 } 1677 1678 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 1679 // 1680 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 1681 func (_ERC721Burnable *ERC721BurnableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 1682 return _ERC721Burnable.Contract.IsApprovedForAll(&_ERC721Burnable.CallOpts, owner, operator) 1683 } 1684 1685 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 1686 // 1687 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 1688 func (_ERC721Burnable *ERC721BurnableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 1689 var ( 1690 ret0 = new(common.Address) 1691 ) 1692 out := ret0 1693 err := _ERC721Burnable.contract.Call(opts, out, "ownerOf", tokenId) 1694 return *ret0, err 1695 } 1696 1697 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 1698 // 1699 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 1700 func (_ERC721Burnable *ERC721BurnableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 1701 return _ERC721Burnable.Contract.OwnerOf(&_ERC721Burnable.CallOpts, tokenId) 1702 } 1703 1704 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 1705 // 1706 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 1707 func (_ERC721Burnable *ERC721BurnableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 1708 return _ERC721Burnable.Contract.OwnerOf(&_ERC721Burnable.CallOpts, tokenId) 1709 } 1710 1711 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1712 // 1713 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1714 func (_ERC721Burnable *ERC721BurnableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 1715 var ( 1716 ret0 = new(bool) 1717 ) 1718 out := ret0 1719 err := _ERC721Burnable.contract.Call(opts, out, "supportsInterface", interfaceId) 1720 return *ret0, err 1721 } 1722 1723 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1724 // 1725 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1726 func (_ERC721Burnable *ERC721BurnableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 1727 return _ERC721Burnable.Contract.SupportsInterface(&_ERC721Burnable.CallOpts, interfaceId) 1728 } 1729 1730 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1731 // 1732 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1733 func (_ERC721Burnable *ERC721BurnableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 1734 return _ERC721Burnable.Contract.SupportsInterface(&_ERC721Burnable.CallOpts, interfaceId) 1735 } 1736 1737 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1738 // 1739 // Solidity: function approve(address to, uint256 tokenId) returns() 1740 func (_ERC721Burnable *ERC721BurnableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1741 return _ERC721Burnable.contract.Transact(opts, "approve", to, tokenId) 1742 } 1743 1744 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1745 // 1746 // Solidity: function approve(address to, uint256 tokenId) returns() 1747 func (_ERC721Burnable *ERC721BurnableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1748 return _ERC721Burnable.Contract.Approve(&_ERC721Burnable.TransactOpts, to, tokenId) 1749 } 1750 1751 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1752 // 1753 // Solidity: function approve(address to, uint256 tokenId) returns() 1754 func (_ERC721Burnable *ERC721BurnableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1755 return _ERC721Burnable.Contract.Approve(&_ERC721Burnable.TransactOpts, to, tokenId) 1756 } 1757 1758 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 1759 // 1760 // Solidity: function burn(uint256 tokenId) returns() 1761 func (_ERC721Burnable *ERC721BurnableTransactor) Burn(opts *bind.TransactOpts, tokenId *big.Int) (*types.Transaction, error) { 1762 return _ERC721Burnable.contract.Transact(opts, "burn", tokenId) 1763 } 1764 1765 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 1766 // 1767 // Solidity: function burn(uint256 tokenId) returns() 1768 func (_ERC721Burnable *ERC721BurnableSession) Burn(tokenId *big.Int) (*types.Transaction, error) { 1769 return _ERC721Burnable.Contract.Burn(&_ERC721Burnable.TransactOpts, tokenId) 1770 } 1771 1772 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 1773 // 1774 // Solidity: function burn(uint256 tokenId) returns() 1775 func (_ERC721Burnable *ERC721BurnableTransactorSession) Burn(tokenId *big.Int) (*types.Transaction, error) { 1776 return _ERC721Burnable.Contract.Burn(&_ERC721Burnable.TransactOpts, tokenId) 1777 } 1778 1779 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 1780 // 1781 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 1782 func (_ERC721Burnable *ERC721BurnableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1783 return _ERC721Burnable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 1784 } 1785 1786 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 1787 // 1788 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 1789 func (_ERC721Burnable *ERC721BurnableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1790 return _ERC721Burnable.Contract.SafeTransferFrom(&_ERC721Burnable.TransactOpts, from, to, tokenId) 1791 } 1792 1793 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 1794 // 1795 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 1796 func (_ERC721Burnable *ERC721BurnableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1797 return _ERC721Burnable.Contract.SafeTransferFrom(&_ERC721Burnable.TransactOpts, from, to, tokenId) 1798 } 1799 1800 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 1801 // 1802 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 1803 func (_ERC721Burnable *ERC721BurnableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 1804 return _ERC721Burnable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 1805 } 1806 1807 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 1808 // 1809 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 1810 func (_ERC721Burnable *ERC721BurnableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 1811 return _ERC721Burnable.Contract.SafeTransferFrom0(&_ERC721Burnable.TransactOpts, from, to, tokenId, _data) 1812 } 1813 1814 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 1815 // 1816 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 1817 func (_ERC721Burnable *ERC721BurnableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 1818 return _ERC721Burnable.Contract.SafeTransferFrom0(&_ERC721Burnable.TransactOpts, from, to, tokenId, _data) 1819 } 1820 1821 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 1822 // 1823 // Solidity: function setApprovalForAll(address to, bool approved) returns() 1824 func (_ERC721Burnable *ERC721BurnableTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 1825 return _ERC721Burnable.contract.Transact(opts, "setApprovalForAll", to, approved) 1826 } 1827 1828 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 1829 // 1830 // Solidity: function setApprovalForAll(address to, bool approved) returns() 1831 func (_ERC721Burnable *ERC721BurnableSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 1832 return _ERC721Burnable.Contract.SetApprovalForAll(&_ERC721Burnable.TransactOpts, to, approved) 1833 } 1834 1835 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 1836 // 1837 // Solidity: function setApprovalForAll(address to, bool approved) returns() 1838 func (_ERC721Burnable *ERC721BurnableTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 1839 return _ERC721Burnable.Contract.SetApprovalForAll(&_ERC721Burnable.TransactOpts, to, approved) 1840 } 1841 1842 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1843 // 1844 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1845 func (_ERC721Burnable *ERC721BurnableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1846 return _ERC721Burnable.contract.Transact(opts, "transferFrom", from, to, tokenId) 1847 } 1848 1849 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1850 // 1851 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1852 func (_ERC721Burnable *ERC721BurnableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1853 return _ERC721Burnable.Contract.TransferFrom(&_ERC721Burnable.TransactOpts, from, to, tokenId) 1854 } 1855 1856 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1857 // 1858 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1859 func (_ERC721Burnable *ERC721BurnableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1860 return _ERC721Burnable.Contract.TransferFrom(&_ERC721Burnable.TransactOpts, from, to, tokenId) 1861 } 1862 1863 // ERC721BurnableApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721Burnable contract. 1864 type ERC721BurnableApprovalIterator struct { 1865 Event *ERC721BurnableApproval // Event containing the contract specifics and raw log 1866 1867 contract *bind.BoundContract // Generic contract to use for unpacking event data 1868 event string // Event name to use for unpacking event data 1869 1870 logs chan types.Log // Log channel receiving the found contract events 1871 sub klaytn.Subscription // Subscription for errors, completion and termination 1872 done bool // Whether the subscription completed delivering logs 1873 fail error // Occurred error to stop iteration 1874 } 1875 1876 // Next advances the iterator to the subsequent event, returning whether there 1877 // are any more events found. In case of a retrieval or parsing error, false is 1878 // returned and Error() can be queried for the exact failure. 1879 func (it *ERC721BurnableApprovalIterator) Next() bool { 1880 // If the iterator failed, stop iterating 1881 if it.fail != nil { 1882 return false 1883 } 1884 // If the iterator completed, deliver directly whatever's available 1885 if it.done { 1886 select { 1887 case log := <-it.logs: 1888 it.Event = new(ERC721BurnableApproval) 1889 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1890 it.fail = err 1891 return false 1892 } 1893 it.Event.Raw = log 1894 return true 1895 1896 default: 1897 return false 1898 } 1899 } 1900 // Iterator still in progress, wait for either a data or an error event 1901 select { 1902 case log := <-it.logs: 1903 it.Event = new(ERC721BurnableApproval) 1904 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1905 it.fail = err 1906 return false 1907 } 1908 it.Event.Raw = log 1909 return true 1910 1911 case err := <-it.sub.Err(): 1912 it.done = true 1913 it.fail = err 1914 return it.Next() 1915 } 1916 } 1917 1918 // Error returns any retrieval or parsing error occurred during filtering. 1919 func (it *ERC721BurnableApprovalIterator) Error() error { 1920 return it.fail 1921 } 1922 1923 // Close terminates the iteration process, releasing any pending underlying 1924 // resources. 1925 func (it *ERC721BurnableApprovalIterator) Close() error { 1926 it.sub.Unsubscribe() 1927 return nil 1928 } 1929 1930 // ERC721BurnableApproval represents a Approval event raised by the ERC721Burnable contract. 1931 type ERC721BurnableApproval struct { 1932 Owner common.Address 1933 Approved common.Address 1934 TokenId *big.Int 1935 Raw types.Log // Blockchain specific contextual infos 1936 } 1937 1938 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1939 // 1940 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1941 func (_ERC721Burnable *ERC721BurnableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721BurnableApprovalIterator, error) { 1942 1943 var ownerRule []interface{} 1944 for _, ownerItem := range owner { 1945 ownerRule = append(ownerRule, ownerItem) 1946 } 1947 var approvedRule []interface{} 1948 for _, approvedItem := range approved { 1949 approvedRule = append(approvedRule, approvedItem) 1950 } 1951 var tokenIdRule []interface{} 1952 for _, tokenIdItem := range tokenId { 1953 tokenIdRule = append(tokenIdRule, tokenIdItem) 1954 } 1955 1956 logs, sub, err := _ERC721Burnable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 1957 if err != nil { 1958 return nil, err 1959 } 1960 return &ERC721BurnableApprovalIterator{contract: _ERC721Burnable.contract, event: "Approval", logs: logs, sub: sub}, nil 1961 } 1962 1963 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1964 // 1965 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1966 func (_ERC721Burnable *ERC721BurnableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721BurnableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 1967 1968 var ownerRule []interface{} 1969 for _, ownerItem := range owner { 1970 ownerRule = append(ownerRule, ownerItem) 1971 } 1972 var approvedRule []interface{} 1973 for _, approvedItem := range approved { 1974 approvedRule = append(approvedRule, approvedItem) 1975 } 1976 var tokenIdRule []interface{} 1977 for _, tokenIdItem := range tokenId { 1978 tokenIdRule = append(tokenIdRule, tokenIdItem) 1979 } 1980 1981 logs, sub, err := _ERC721Burnable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 1982 if err != nil { 1983 return nil, err 1984 } 1985 return event.NewSubscription(func(quit <-chan struct{}) error { 1986 defer sub.Unsubscribe() 1987 for { 1988 select { 1989 case log := <-logs: 1990 // New log arrived, parse the event and forward to the user 1991 event := new(ERC721BurnableApproval) 1992 if err := _ERC721Burnable.contract.UnpackLog(event, "Approval", log); err != nil { 1993 return err 1994 } 1995 event.Raw = log 1996 1997 select { 1998 case sink <- event: 1999 case err := <-sub.Err(): 2000 return err 2001 case <-quit: 2002 return nil 2003 } 2004 case err := <-sub.Err(): 2005 return err 2006 case <-quit: 2007 return nil 2008 } 2009 } 2010 }), nil 2011 } 2012 2013 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2014 // 2015 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 2016 func (_ERC721Burnable *ERC721BurnableFilterer) ParseApproval(log types.Log) (*ERC721BurnableApproval, error) { 2017 event := new(ERC721BurnableApproval) 2018 if err := _ERC721Burnable.contract.UnpackLog(event, "Approval", log); err != nil { 2019 return nil, err 2020 } 2021 return event, nil 2022 } 2023 2024 // ERC721BurnableApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721Burnable contract. 2025 type ERC721BurnableApprovalForAllIterator struct { 2026 Event *ERC721BurnableApprovalForAll // Event containing the contract specifics and raw log 2027 2028 contract *bind.BoundContract // Generic contract to use for unpacking event data 2029 event string // Event name to use for unpacking event data 2030 2031 logs chan types.Log // Log channel receiving the found contract events 2032 sub klaytn.Subscription // Subscription for errors, completion and termination 2033 done bool // Whether the subscription completed delivering logs 2034 fail error // Occurred error to stop iteration 2035 } 2036 2037 // Next advances the iterator to the subsequent event, returning whether there 2038 // are any more events found. In case of a retrieval or parsing error, false is 2039 // returned and Error() can be queried for the exact failure. 2040 func (it *ERC721BurnableApprovalForAllIterator) Next() bool { 2041 // If the iterator failed, stop iterating 2042 if it.fail != nil { 2043 return false 2044 } 2045 // If the iterator completed, deliver directly whatever's available 2046 if it.done { 2047 select { 2048 case log := <-it.logs: 2049 it.Event = new(ERC721BurnableApprovalForAll) 2050 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2051 it.fail = err 2052 return false 2053 } 2054 it.Event.Raw = log 2055 return true 2056 2057 default: 2058 return false 2059 } 2060 } 2061 // Iterator still in progress, wait for either a data or an error event 2062 select { 2063 case log := <-it.logs: 2064 it.Event = new(ERC721BurnableApprovalForAll) 2065 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2066 it.fail = err 2067 return false 2068 } 2069 it.Event.Raw = log 2070 return true 2071 2072 case err := <-it.sub.Err(): 2073 it.done = true 2074 it.fail = err 2075 return it.Next() 2076 } 2077 } 2078 2079 // Error returns any retrieval or parsing error occurred during filtering. 2080 func (it *ERC721BurnableApprovalForAllIterator) Error() error { 2081 return it.fail 2082 } 2083 2084 // Close terminates the iteration process, releasing any pending underlying 2085 // resources. 2086 func (it *ERC721BurnableApprovalForAllIterator) Close() error { 2087 it.sub.Unsubscribe() 2088 return nil 2089 } 2090 2091 // ERC721BurnableApprovalForAll represents a ApprovalForAll event raised by the ERC721Burnable contract. 2092 type ERC721BurnableApprovalForAll struct { 2093 Owner common.Address 2094 Operator common.Address 2095 Approved bool 2096 Raw types.Log // Blockchain specific contextual infos 2097 } 2098 2099 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 2100 // 2101 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 2102 func (_ERC721Burnable *ERC721BurnableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721BurnableApprovalForAllIterator, error) { 2103 2104 var ownerRule []interface{} 2105 for _, ownerItem := range owner { 2106 ownerRule = append(ownerRule, ownerItem) 2107 } 2108 var operatorRule []interface{} 2109 for _, operatorItem := range operator { 2110 operatorRule = append(operatorRule, operatorItem) 2111 } 2112 2113 logs, sub, err := _ERC721Burnable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 2114 if err != nil { 2115 return nil, err 2116 } 2117 return &ERC721BurnableApprovalForAllIterator{contract: _ERC721Burnable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 2118 } 2119 2120 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 2121 // 2122 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 2123 func (_ERC721Burnable *ERC721BurnableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721BurnableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 2124 2125 var ownerRule []interface{} 2126 for _, ownerItem := range owner { 2127 ownerRule = append(ownerRule, ownerItem) 2128 } 2129 var operatorRule []interface{} 2130 for _, operatorItem := range operator { 2131 operatorRule = append(operatorRule, operatorItem) 2132 } 2133 2134 logs, sub, err := _ERC721Burnable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 2135 if err != nil { 2136 return nil, err 2137 } 2138 return event.NewSubscription(func(quit <-chan struct{}) error { 2139 defer sub.Unsubscribe() 2140 for { 2141 select { 2142 case log := <-logs: 2143 // New log arrived, parse the event and forward to the user 2144 event := new(ERC721BurnableApprovalForAll) 2145 if err := _ERC721Burnable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 2146 return err 2147 } 2148 event.Raw = log 2149 2150 select { 2151 case sink <- event: 2152 case err := <-sub.Err(): 2153 return err 2154 case <-quit: 2155 return nil 2156 } 2157 case err := <-sub.Err(): 2158 return err 2159 case <-quit: 2160 return nil 2161 } 2162 } 2163 }), nil 2164 } 2165 2166 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 2167 // 2168 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 2169 func (_ERC721Burnable *ERC721BurnableFilterer) ParseApprovalForAll(log types.Log) (*ERC721BurnableApprovalForAll, error) { 2170 event := new(ERC721BurnableApprovalForAll) 2171 if err := _ERC721Burnable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 2172 return nil, err 2173 } 2174 return event, nil 2175 } 2176 2177 // ERC721BurnableTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721Burnable contract. 2178 type ERC721BurnableTransferIterator struct { 2179 Event *ERC721BurnableTransfer // Event containing the contract specifics and raw log 2180 2181 contract *bind.BoundContract // Generic contract to use for unpacking event data 2182 event string // Event name to use for unpacking event data 2183 2184 logs chan types.Log // Log channel receiving the found contract events 2185 sub klaytn.Subscription // Subscription for errors, completion and termination 2186 done bool // Whether the subscription completed delivering logs 2187 fail error // Occurred error to stop iteration 2188 } 2189 2190 // Next advances the iterator to the subsequent event, returning whether there 2191 // are any more events found. In case of a retrieval or parsing error, false is 2192 // returned and Error() can be queried for the exact failure. 2193 func (it *ERC721BurnableTransferIterator) Next() bool { 2194 // If the iterator failed, stop iterating 2195 if it.fail != nil { 2196 return false 2197 } 2198 // If the iterator completed, deliver directly whatever's available 2199 if it.done { 2200 select { 2201 case log := <-it.logs: 2202 it.Event = new(ERC721BurnableTransfer) 2203 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2204 it.fail = err 2205 return false 2206 } 2207 it.Event.Raw = log 2208 return true 2209 2210 default: 2211 return false 2212 } 2213 } 2214 // Iterator still in progress, wait for either a data or an error event 2215 select { 2216 case log := <-it.logs: 2217 it.Event = new(ERC721BurnableTransfer) 2218 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2219 it.fail = err 2220 return false 2221 } 2222 it.Event.Raw = log 2223 return true 2224 2225 case err := <-it.sub.Err(): 2226 it.done = true 2227 it.fail = err 2228 return it.Next() 2229 } 2230 } 2231 2232 // Error returns any retrieval or parsing error occurred during filtering. 2233 func (it *ERC721BurnableTransferIterator) Error() error { 2234 return it.fail 2235 } 2236 2237 // Close terminates the iteration process, releasing any pending underlying 2238 // resources. 2239 func (it *ERC721BurnableTransferIterator) Close() error { 2240 it.sub.Unsubscribe() 2241 return nil 2242 } 2243 2244 // ERC721BurnableTransfer represents a Transfer event raised by the ERC721Burnable contract. 2245 type ERC721BurnableTransfer struct { 2246 From common.Address 2247 To common.Address 2248 TokenId *big.Int 2249 Raw types.Log // Blockchain specific contextual infos 2250 } 2251 2252 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2253 // 2254 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 2255 func (_ERC721Burnable *ERC721BurnableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721BurnableTransferIterator, error) { 2256 2257 var fromRule []interface{} 2258 for _, fromItem := range from { 2259 fromRule = append(fromRule, fromItem) 2260 } 2261 var toRule []interface{} 2262 for _, toItem := range to { 2263 toRule = append(toRule, toItem) 2264 } 2265 var tokenIdRule []interface{} 2266 for _, tokenIdItem := range tokenId { 2267 tokenIdRule = append(tokenIdRule, tokenIdItem) 2268 } 2269 2270 logs, sub, err := _ERC721Burnable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 2271 if err != nil { 2272 return nil, err 2273 } 2274 return &ERC721BurnableTransferIterator{contract: _ERC721Burnable.contract, event: "Transfer", logs: logs, sub: sub}, nil 2275 } 2276 2277 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2278 // 2279 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 2280 func (_ERC721Burnable *ERC721BurnableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721BurnableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 2281 2282 var fromRule []interface{} 2283 for _, fromItem := range from { 2284 fromRule = append(fromRule, fromItem) 2285 } 2286 var toRule []interface{} 2287 for _, toItem := range to { 2288 toRule = append(toRule, toItem) 2289 } 2290 var tokenIdRule []interface{} 2291 for _, tokenIdItem := range tokenId { 2292 tokenIdRule = append(tokenIdRule, tokenIdItem) 2293 } 2294 2295 logs, sub, err := _ERC721Burnable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 2296 if err != nil { 2297 return nil, err 2298 } 2299 return event.NewSubscription(func(quit <-chan struct{}) error { 2300 defer sub.Unsubscribe() 2301 for { 2302 select { 2303 case log := <-logs: 2304 // New log arrived, parse the event and forward to the user 2305 event := new(ERC721BurnableTransfer) 2306 if err := _ERC721Burnable.contract.UnpackLog(event, "Transfer", log); err != nil { 2307 return err 2308 } 2309 event.Raw = log 2310 2311 select { 2312 case sink <- event: 2313 case err := <-sub.Err(): 2314 return err 2315 case <-quit: 2316 return nil 2317 } 2318 case err := <-sub.Err(): 2319 return err 2320 case <-quit: 2321 return nil 2322 } 2323 } 2324 }), nil 2325 } 2326 2327 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2328 // 2329 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 2330 func (_ERC721Burnable *ERC721BurnableFilterer) ParseTransfer(log types.Log) (*ERC721BurnableTransfer, error) { 2331 event := new(ERC721BurnableTransfer) 2332 if err := _ERC721Burnable.contract.UnpackLog(event, "Transfer", log); err != nil { 2333 return nil, err 2334 } 2335 return event, nil 2336 } 2337 2338 // ERC721EnumerableABI is the input ABI used to generate the binding from. 2339 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\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\"}]" 2340 2341 // ERC721EnumerableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 2342 const ERC721EnumerableBinRuntime = `608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342842e0e1161008c57806370a082311161006657806370a0823114610262578063a22cb46514610288578063b88d4fde146102b6578063e985e9c51461037c576100cf565b806342842e0e146101f25780634f6ccce7146102285780636352211e14610245576100cf565b806301ffc9a7146100d4578063081812fc1461010f578063095ea7b31461014857806318160ddd1461017657806323b872dd146101905780632f745c59146101c6575b600080fd5b6100fb600480360360208110156100ea57600080fd5b50356001600160e01b0319166103aa565b604080519115158252519081900360200190f35b61012c6004803603602081101561012557600080fd5b50356103c9565b604080516001600160a01b039092168252519081900360200190f35b6101746004803603604081101561015e57600080fd5b506001600160a01b03813516906020013561042e565b005b61017e610545565b60408051918252519081900360200190f35b610174600480360360608110156101a657600080fd5b506001600160a01b0381358116916020810135909116906040013561054c565b61017e600480360360408110156101dc57600080fd5b506001600160a01b0381351690602001356105a4565b6101746004803603606081101561020857600080fd5b506001600160a01b03813581169160208101359091169060400135610626565b61017e6004803603602081101561023e57600080fd5b5035610641565b61012c6004803603602081101561025b57600080fd5b50356106aa565b61017e6004803603602081101561027857600080fd5b50356001600160a01b0316610707565b6101746004803603604081101561029e57600080fd5b506001600160a01b0381351690602001351515610772565b610174600480360360808110156102cc57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561030757600080fd5b82018360208201111561031957600080fd5b8035906020019184600183028401116401000000008311171561033b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610841945050505050565b6100fb6004803603604081101561039257600080fd5b506001600160a01b038135811691602001351661089c565b6001600160e01b03191660009081526020819052604090205460ff1690565b60006103d4826108ca565b61041257604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610fa0602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b6000610439826106aa565b9050806001600160a01b0316836001600160a01b0316141561048f57604051600160e51b62461bcd028152600401808060200182810382526021815260200180610ff56021913960400191505060405180910390fd5b336001600160a01b03821614806104ab57506104ab813361089c565b6104e957604051600160e51b62461bcd028152600401808060200182810382526038815260200180610f156038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6007545b90565b61055633826108e7565b61059457604051600160e51b62461bcd0281526004018080602001828103825260318152602001806110166031913960400191505060405180910390fd5b61059f83838361098e565b505050565b60006105af83610707565b82106105ef57604051600160e51b62461bcd02815260040180806020018281038252602b815260200180610e68602b913960400191505060405180910390fd5b6001600160a01b038316600090815260056020526040902080548390811061061357fe5b9060005260206000200154905092915050565b61059f83838360405180602001604052806000815250610841565b600061064b610545565b821061068b57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611047602c913960400191505060405180910390fd5b6007828154811061069857fe5b90600052602060002001549050919050565b6000818152600160205260408120546001600160a01b03168061070157604051600160e51b62461bcd028152600401808060200182810382526029815260200180610f776029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661075157604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610f4d602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020610701906109ad565b6001600160a01b0382163314156107d35760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b61084c84848461054c565b610858848484846109b1565b61089657604051600160e51b62461bcd028152600401808060200182810382526032815260200180610e936032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b60006108f2826108ca565b61093057604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610ee9602c913960400191505060405180910390fd5b600061093b836106aa565b9050806001600160a01b0316846001600160a01b031614806109765750836001600160a01b031661096b846103c9565b6001600160a01b0316145b806109865750610986818561089c565b949350505050565b610999838383610aea565b6109a38382610c34565b61059f8282610d29565b5490565b60006109c5846001600160a01b0316610d67565b6109d157506001610986565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a4e578181015183820152602001610a36565b50505050905090810190601f168015610a7b5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610a9d57600080fd5b505af1158015610ab1573d6000803e3d6000fd5b505050506040513d6020811015610ac757600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b826001600160a01b0316610afd826106aa565b6001600160a01b031614610b4557604051600160e51b62461bcd028152600401808060200182810382526029815260200180610fcc6029913960400191505060405180910390fd5b6001600160a01b038216610b8d57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610ec56024913960400191505060405180910390fd5b610b9681610d6d565b6001600160a01b0383166000908152600360205260409020610bb790610daa565b6001600160a01b0382166000908152600360205260409020610bd890610dc1565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216600090815260056020526040812054610c5e90600163ffffffff610dca16565b600083815260066020526040902054909150808214610cf9576001600160a01b0384166000908152600560205260408120805484908110610c9b57fe5b906000526020600020015490508060056000876001600160a01b03166001600160a01b031681526020019081526020016000208381548110610cd957fe5b600091825260208083209091019290925591825260069052604090208190555b6001600160a01b0384166000908152600560205260409020805490610d22906000198301610e2a565b5050505050565b6001600160a01b0390911660009081526005602081815260408084208054868652600684529185208290559282526001810183559183529091200155565b3b151590565b6000818152600260205260409020546001600160a01b031615610da757600081815260026020526040902080546001600160a01b03191690555b50565b8054610dbd90600163ffffffff610dca16565b9055565b80546001019055565b600082821115610e245760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b81548183558181111561059f5760008381526020902061059f91810190830161054991905b80821115610e635760008155600101610e4f565b509056fe455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e6473a165627a7a7230582032758eb600139b67a210fd9276c84319949b41630d8e516f489ff299a27364150029` 2343 2344 // ERC721EnumerableFuncSigs maps the 4-byte function signature to its string representation. 2345 var ERC721EnumerableFuncSigs = map[string]string{ 2346 "095ea7b3": "approve(address,uint256)", 2347 "70a08231": "balanceOf(address)", 2348 "081812fc": "getApproved(uint256)", 2349 "e985e9c5": "isApprovedForAll(address,address)", 2350 "6352211e": "ownerOf(uint256)", 2351 "42842e0e": "safeTransferFrom(address,address,uint256)", 2352 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 2353 "a22cb465": "setApprovalForAll(address,bool)", 2354 "01ffc9a7": "supportsInterface(bytes4)", 2355 "4f6ccce7": "tokenByIndex(uint256)", 2356 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 2357 "18160ddd": "totalSupply()", 2358 "23b872dd": "transferFrom(address,address,uint256)", 2359 } 2360 2361 // ERC721EnumerableBin is the compiled bytecode used for deploying new contracts. 2362 var ERC721EnumerableBin = "0x608060405234801561001057600080fd5b506100276301ffc9a760e01b61005860201b60201c565b61003d6380ac58cd60e01b61005860201b60201c565b61005363780e9d6360e01b61005860201b60201c565b610126565b7fffffffff0000000000000000000000000000000000000000000000000000000080821614156100e957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b61109e806101356000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342842e0e1161008c57806370a082311161006657806370a0823114610262578063a22cb46514610288578063b88d4fde146102b6578063e985e9c51461037c576100cf565b806342842e0e146101f25780634f6ccce7146102285780636352211e14610245576100cf565b806301ffc9a7146100d4578063081812fc1461010f578063095ea7b31461014857806318160ddd1461017657806323b872dd146101905780632f745c59146101c6575b600080fd5b6100fb600480360360208110156100ea57600080fd5b50356001600160e01b0319166103aa565b604080519115158252519081900360200190f35b61012c6004803603602081101561012557600080fd5b50356103c9565b604080516001600160a01b039092168252519081900360200190f35b6101746004803603604081101561015e57600080fd5b506001600160a01b03813516906020013561042e565b005b61017e610545565b60408051918252519081900360200190f35b610174600480360360608110156101a657600080fd5b506001600160a01b0381358116916020810135909116906040013561054c565b61017e600480360360408110156101dc57600080fd5b506001600160a01b0381351690602001356105a4565b6101746004803603606081101561020857600080fd5b506001600160a01b03813581169160208101359091169060400135610626565b61017e6004803603602081101561023e57600080fd5b5035610641565b61012c6004803603602081101561025b57600080fd5b50356106aa565b61017e6004803603602081101561027857600080fd5b50356001600160a01b0316610707565b6101746004803603604081101561029e57600080fd5b506001600160a01b0381351690602001351515610772565b610174600480360360808110156102cc57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561030757600080fd5b82018360208201111561031957600080fd5b8035906020019184600183028401116401000000008311171561033b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610841945050505050565b6100fb6004803603604081101561039257600080fd5b506001600160a01b038135811691602001351661089c565b6001600160e01b03191660009081526020819052604090205460ff1690565b60006103d4826108ca565b61041257604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610fa0602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b6000610439826106aa565b9050806001600160a01b0316836001600160a01b0316141561048f57604051600160e51b62461bcd028152600401808060200182810382526021815260200180610ff56021913960400191505060405180910390fd5b336001600160a01b03821614806104ab57506104ab813361089c565b6104e957604051600160e51b62461bcd028152600401808060200182810382526038815260200180610f156038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6007545b90565b61055633826108e7565b61059457604051600160e51b62461bcd0281526004018080602001828103825260318152602001806110166031913960400191505060405180910390fd5b61059f83838361098e565b505050565b60006105af83610707565b82106105ef57604051600160e51b62461bcd02815260040180806020018281038252602b815260200180610e68602b913960400191505060405180910390fd5b6001600160a01b038316600090815260056020526040902080548390811061061357fe5b9060005260206000200154905092915050565b61059f83838360405180602001604052806000815250610841565b600061064b610545565b821061068b57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611047602c913960400191505060405180910390fd5b6007828154811061069857fe5b90600052602060002001549050919050565b6000818152600160205260408120546001600160a01b03168061070157604051600160e51b62461bcd028152600401808060200182810382526029815260200180610f776029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661075157604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610f4d602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020610701906109ad565b6001600160a01b0382163314156107d35760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b61084c84848461054c565b610858848484846109b1565b61089657604051600160e51b62461bcd028152600401808060200182810382526032815260200180610e936032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b60006108f2826108ca565b61093057604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610ee9602c913960400191505060405180910390fd5b600061093b836106aa565b9050806001600160a01b0316846001600160a01b031614806109765750836001600160a01b031661096b846103c9565b6001600160a01b0316145b806109865750610986818561089c565b949350505050565b610999838383610aea565b6109a38382610c34565b61059f8282610d29565b5490565b60006109c5846001600160a01b0316610d67565b6109d157506001610986565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a4e578181015183820152602001610a36565b50505050905090810190601f168015610a7b5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610a9d57600080fd5b505af1158015610ab1573d6000803e3d6000fd5b505050506040513d6020811015610ac757600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b826001600160a01b0316610afd826106aa565b6001600160a01b031614610b4557604051600160e51b62461bcd028152600401808060200182810382526029815260200180610fcc6029913960400191505060405180910390fd5b6001600160a01b038216610b8d57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610ec56024913960400191505060405180910390fd5b610b9681610d6d565b6001600160a01b0383166000908152600360205260409020610bb790610daa565b6001600160a01b0382166000908152600360205260409020610bd890610dc1565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216600090815260056020526040812054610c5e90600163ffffffff610dca16565b600083815260066020526040902054909150808214610cf9576001600160a01b0384166000908152600560205260408120805484908110610c9b57fe5b906000526020600020015490508060056000876001600160a01b03166001600160a01b031681526020019081526020016000208381548110610cd957fe5b600091825260208083209091019290925591825260069052604090208190555b6001600160a01b0384166000908152600560205260409020805490610d22906000198301610e2a565b5050505050565b6001600160a01b0390911660009081526005602081815260408084208054868652600684529185208290559282526001810183559183529091200155565b3b151590565b6000818152600260205260409020546001600160a01b031615610da757600081815260026020526040902080546001600160a01b03191690555b50565b8054610dbd90600163ffffffff610dca16565b9055565b80546001019055565b600082821115610e245760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b81548183558181111561059f5760008381526020902061059f91810190830161054991905b80821115610e635760008155600101610e4f565b509056fe455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e6473a165627a7a7230582032758eb600139b67a210fd9276c84319949b41630d8e516f489ff299a27364150029" 2363 2364 // DeployERC721Enumerable deploys a new Klaytn contract, binding an instance of ERC721Enumerable to it. 2365 func DeployERC721Enumerable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC721Enumerable, error) { 2366 parsed, err := abi.JSON(strings.NewReader(ERC721EnumerableABI)) 2367 if err != nil { 2368 return common.Address{}, nil, nil, err 2369 } 2370 2371 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC721EnumerableBin), backend) 2372 if err != nil { 2373 return common.Address{}, nil, nil, err 2374 } 2375 return address, tx, &ERC721Enumerable{ERC721EnumerableCaller: ERC721EnumerableCaller{contract: contract}, ERC721EnumerableTransactor: ERC721EnumerableTransactor{contract: contract}, ERC721EnumerableFilterer: ERC721EnumerableFilterer{contract: contract}}, nil 2376 } 2377 2378 // ERC721Enumerable is an auto generated Go binding around a Klaytn contract. 2379 type ERC721Enumerable struct { 2380 ERC721EnumerableCaller // Read-only binding to the contract 2381 ERC721EnumerableTransactor // Write-only binding to the contract 2382 ERC721EnumerableFilterer // Log filterer for contract events 2383 } 2384 2385 // ERC721EnumerableCaller is an auto generated read-only Go binding around a Klaytn contract. 2386 type ERC721EnumerableCaller struct { 2387 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2388 } 2389 2390 // ERC721EnumerableTransactor is an auto generated write-only Go binding around a Klaytn contract. 2391 type ERC721EnumerableTransactor struct { 2392 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2393 } 2394 2395 // ERC721EnumerableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 2396 type ERC721EnumerableFilterer struct { 2397 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2398 } 2399 2400 // ERC721EnumerableSession is an auto generated Go binding around a Klaytn contract, 2401 // with pre-set call and transact options. 2402 type ERC721EnumerableSession struct { 2403 Contract *ERC721Enumerable // Generic contract binding to set the session for 2404 CallOpts bind.CallOpts // Call options to use throughout this session 2405 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2406 } 2407 2408 // ERC721EnumerableCallerSession is an auto generated read-only Go binding around a Klaytn contract, 2409 // with pre-set call options. 2410 type ERC721EnumerableCallerSession struct { 2411 Contract *ERC721EnumerableCaller // Generic contract caller binding to set the session for 2412 CallOpts bind.CallOpts // Call options to use throughout this session 2413 } 2414 2415 // ERC721EnumerableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 2416 // with pre-set transact options. 2417 type ERC721EnumerableTransactorSession struct { 2418 Contract *ERC721EnumerableTransactor // Generic contract transactor binding to set the session for 2419 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2420 } 2421 2422 // ERC721EnumerableRaw is an auto generated low-level Go binding around a Klaytn contract. 2423 type ERC721EnumerableRaw struct { 2424 Contract *ERC721Enumerable // Generic contract binding to access the raw methods on 2425 } 2426 2427 // ERC721EnumerableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 2428 type ERC721EnumerableCallerRaw struct { 2429 Contract *ERC721EnumerableCaller // Generic read-only contract binding to access the raw methods on 2430 } 2431 2432 // ERC721EnumerableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 2433 type ERC721EnumerableTransactorRaw struct { 2434 Contract *ERC721EnumerableTransactor // Generic write-only contract binding to access the raw methods on 2435 } 2436 2437 // NewERC721Enumerable creates a new instance of ERC721Enumerable, bound to a specific deployed contract. 2438 func NewERC721Enumerable(address common.Address, backend bind.ContractBackend) (*ERC721Enumerable, error) { 2439 contract, err := bindERC721Enumerable(address, backend, backend, backend) 2440 if err != nil { 2441 return nil, err 2442 } 2443 return &ERC721Enumerable{ERC721EnumerableCaller: ERC721EnumerableCaller{contract: contract}, ERC721EnumerableTransactor: ERC721EnumerableTransactor{contract: contract}, ERC721EnumerableFilterer: ERC721EnumerableFilterer{contract: contract}}, nil 2444 } 2445 2446 // NewERC721EnumerableCaller creates a new read-only instance of ERC721Enumerable, bound to a specific deployed contract. 2447 func NewERC721EnumerableCaller(address common.Address, caller bind.ContractCaller) (*ERC721EnumerableCaller, error) { 2448 contract, err := bindERC721Enumerable(address, caller, nil, nil) 2449 if err != nil { 2450 return nil, err 2451 } 2452 return &ERC721EnumerableCaller{contract: contract}, nil 2453 } 2454 2455 // NewERC721EnumerableTransactor creates a new write-only instance of ERC721Enumerable, bound to a specific deployed contract. 2456 func NewERC721EnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721EnumerableTransactor, error) { 2457 contract, err := bindERC721Enumerable(address, nil, transactor, nil) 2458 if err != nil { 2459 return nil, err 2460 } 2461 return &ERC721EnumerableTransactor{contract: contract}, nil 2462 } 2463 2464 // NewERC721EnumerableFilterer creates a new log filterer instance of ERC721Enumerable, bound to a specific deployed contract. 2465 func NewERC721EnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721EnumerableFilterer, error) { 2466 contract, err := bindERC721Enumerable(address, nil, nil, filterer) 2467 if err != nil { 2468 return nil, err 2469 } 2470 return &ERC721EnumerableFilterer{contract: contract}, nil 2471 } 2472 2473 // bindERC721Enumerable binds a generic wrapper to an already deployed contract. 2474 func bindERC721Enumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 2475 parsed, err := abi.JSON(strings.NewReader(ERC721EnumerableABI)) 2476 if err != nil { 2477 return nil, err 2478 } 2479 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 2480 } 2481 2482 // Call invokes the (constant) contract method with params as input values and 2483 // sets the output to result. The result type might be a single field for simple 2484 // returns, a slice of interfaces for anonymous returns and a struct for named 2485 // returns. 2486 func (_ERC721Enumerable *ERC721EnumerableRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 2487 return _ERC721Enumerable.Contract.ERC721EnumerableCaller.contract.Call(opts, result, method, params...) 2488 } 2489 2490 // Transfer initiates a plain transaction to move funds to the contract, calling 2491 // its default method if one is available. 2492 func (_ERC721Enumerable *ERC721EnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2493 return _ERC721Enumerable.Contract.ERC721EnumerableTransactor.contract.Transfer(opts) 2494 } 2495 2496 // Transact invokes the (paid) contract method with params as input values. 2497 func (_ERC721Enumerable *ERC721EnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2498 return _ERC721Enumerable.Contract.ERC721EnumerableTransactor.contract.Transact(opts, method, params...) 2499 } 2500 2501 // Call invokes the (constant) contract method with params as input values and 2502 // sets the output to result. The result type might be a single field for simple 2503 // returns, a slice of interfaces for anonymous returns and a struct for named 2504 // returns. 2505 func (_ERC721Enumerable *ERC721EnumerableCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 2506 return _ERC721Enumerable.Contract.contract.Call(opts, result, method, params...) 2507 } 2508 2509 // Transfer initiates a plain transaction to move funds to the contract, calling 2510 // its default method if one is available. 2511 func (_ERC721Enumerable *ERC721EnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2512 return _ERC721Enumerable.Contract.contract.Transfer(opts) 2513 } 2514 2515 // Transact invokes the (paid) contract method with params as input values. 2516 func (_ERC721Enumerable *ERC721EnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2517 return _ERC721Enumerable.Contract.contract.Transact(opts, method, params...) 2518 } 2519 2520 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2521 // 2522 // Solidity: function balanceOf(address owner) view returns(uint256) 2523 func (_ERC721Enumerable *ERC721EnumerableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 2524 var ( 2525 ret0 = new(*big.Int) 2526 ) 2527 out := ret0 2528 err := _ERC721Enumerable.contract.Call(opts, out, "balanceOf", owner) 2529 return *ret0, err 2530 } 2531 2532 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2533 // 2534 // Solidity: function balanceOf(address owner) view returns(uint256) 2535 func (_ERC721Enumerable *ERC721EnumerableSession) BalanceOf(owner common.Address) (*big.Int, error) { 2536 return _ERC721Enumerable.Contract.BalanceOf(&_ERC721Enumerable.CallOpts, owner) 2537 } 2538 2539 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2540 // 2541 // Solidity: function balanceOf(address owner) view returns(uint256) 2542 func (_ERC721Enumerable *ERC721EnumerableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 2543 return _ERC721Enumerable.Contract.BalanceOf(&_ERC721Enumerable.CallOpts, owner) 2544 } 2545 2546 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 2547 // 2548 // Solidity: function getApproved(uint256 tokenId) view returns(address) 2549 func (_ERC721Enumerable *ERC721EnumerableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 2550 var ( 2551 ret0 = new(common.Address) 2552 ) 2553 out := ret0 2554 err := _ERC721Enumerable.contract.Call(opts, out, "getApproved", tokenId) 2555 return *ret0, err 2556 } 2557 2558 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 2559 // 2560 // Solidity: function getApproved(uint256 tokenId) view returns(address) 2561 func (_ERC721Enumerable *ERC721EnumerableSession) GetApproved(tokenId *big.Int) (common.Address, error) { 2562 return _ERC721Enumerable.Contract.GetApproved(&_ERC721Enumerable.CallOpts, tokenId) 2563 } 2564 2565 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 2566 // 2567 // Solidity: function getApproved(uint256 tokenId) view returns(address) 2568 func (_ERC721Enumerable *ERC721EnumerableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 2569 return _ERC721Enumerable.Contract.GetApproved(&_ERC721Enumerable.CallOpts, tokenId) 2570 } 2571 2572 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 2573 // 2574 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 2575 func (_ERC721Enumerable *ERC721EnumerableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 2576 var ( 2577 ret0 = new(bool) 2578 ) 2579 out := ret0 2580 err := _ERC721Enumerable.contract.Call(opts, out, "isApprovedForAll", owner, operator) 2581 return *ret0, err 2582 } 2583 2584 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 2585 // 2586 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 2587 func (_ERC721Enumerable *ERC721EnumerableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 2588 return _ERC721Enumerable.Contract.IsApprovedForAll(&_ERC721Enumerable.CallOpts, owner, operator) 2589 } 2590 2591 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 2592 // 2593 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 2594 func (_ERC721Enumerable *ERC721EnumerableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 2595 return _ERC721Enumerable.Contract.IsApprovedForAll(&_ERC721Enumerable.CallOpts, owner, operator) 2596 } 2597 2598 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 2599 // 2600 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 2601 func (_ERC721Enumerable *ERC721EnumerableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 2602 var ( 2603 ret0 = new(common.Address) 2604 ) 2605 out := ret0 2606 err := _ERC721Enumerable.contract.Call(opts, out, "ownerOf", tokenId) 2607 return *ret0, err 2608 } 2609 2610 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 2611 // 2612 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 2613 func (_ERC721Enumerable *ERC721EnumerableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 2614 return _ERC721Enumerable.Contract.OwnerOf(&_ERC721Enumerable.CallOpts, tokenId) 2615 } 2616 2617 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 2618 // 2619 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 2620 func (_ERC721Enumerable *ERC721EnumerableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 2621 return _ERC721Enumerable.Contract.OwnerOf(&_ERC721Enumerable.CallOpts, tokenId) 2622 } 2623 2624 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 2625 // 2626 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 2627 func (_ERC721Enumerable *ERC721EnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 2628 var ( 2629 ret0 = new(bool) 2630 ) 2631 out := ret0 2632 err := _ERC721Enumerable.contract.Call(opts, out, "supportsInterface", interfaceId) 2633 return *ret0, err 2634 } 2635 2636 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 2637 // 2638 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 2639 func (_ERC721Enumerable *ERC721EnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 2640 return _ERC721Enumerable.Contract.SupportsInterface(&_ERC721Enumerable.CallOpts, interfaceId) 2641 } 2642 2643 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 2644 // 2645 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 2646 func (_ERC721Enumerable *ERC721EnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 2647 return _ERC721Enumerable.Contract.SupportsInterface(&_ERC721Enumerable.CallOpts, interfaceId) 2648 } 2649 2650 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 2651 // 2652 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 2653 func (_ERC721Enumerable *ERC721EnumerableCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 2654 var ( 2655 ret0 = new(*big.Int) 2656 ) 2657 out := ret0 2658 err := _ERC721Enumerable.contract.Call(opts, out, "tokenByIndex", index) 2659 return *ret0, err 2660 } 2661 2662 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 2663 // 2664 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 2665 func (_ERC721Enumerable *ERC721EnumerableSession) TokenByIndex(index *big.Int) (*big.Int, error) { 2666 return _ERC721Enumerable.Contract.TokenByIndex(&_ERC721Enumerable.CallOpts, index) 2667 } 2668 2669 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 2670 // 2671 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 2672 func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 2673 return _ERC721Enumerable.Contract.TokenByIndex(&_ERC721Enumerable.CallOpts, index) 2674 } 2675 2676 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 2677 // 2678 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 2679 func (_ERC721Enumerable *ERC721EnumerableCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 2680 var ( 2681 ret0 = new(*big.Int) 2682 ) 2683 out := ret0 2684 err := _ERC721Enumerable.contract.Call(opts, out, "tokenOfOwnerByIndex", owner, index) 2685 return *ret0, err 2686 } 2687 2688 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 2689 // 2690 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 2691 func (_ERC721Enumerable *ERC721EnumerableSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 2692 return _ERC721Enumerable.Contract.TokenOfOwnerByIndex(&_ERC721Enumerable.CallOpts, owner, index) 2693 } 2694 2695 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 2696 // 2697 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 2698 func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 2699 return _ERC721Enumerable.Contract.TokenOfOwnerByIndex(&_ERC721Enumerable.CallOpts, owner, index) 2700 } 2701 2702 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 2703 // 2704 // Solidity: function totalSupply() view returns(uint256) 2705 func (_ERC721Enumerable *ERC721EnumerableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 2706 var ( 2707 ret0 = new(*big.Int) 2708 ) 2709 out := ret0 2710 err := _ERC721Enumerable.contract.Call(opts, out, "totalSupply") 2711 return *ret0, err 2712 } 2713 2714 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 2715 // 2716 // Solidity: function totalSupply() view returns(uint256) 2717 func (_ERC721Enumerable *ERC721EnumerableSession) TotalSupply() (*big.Int, error) { 2718 return _ERC721Enumerable.Contract.TotalSupply(&_ERC721Enumerable.CallOpts) 2719 } 2720 2721 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 2722 // 2723 // Solidity: function totalSupply() view returns(uint256) 2724 func (_ERC721Enumerable *ERC721EnumerableCallerSession) TotalSupply() (*big.Int, error) { 2725 return _ERC721Enumerable.Contract.TotalSupply(&_ERC721Enumerable.CallOpts) 2726 } 2727 2728 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 2729 // 2730 // Solidity: function approve(address to, uint256 tokenId) returns() 2731 func (_ERC721Enumerable *ERC721EnumerableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2732 return _ERC721Enumerable.contract.Transact(opts, "approve", to, tokenId) 2733 } 2734 2735 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 2736 // 2737 // Solidity: function approve(address to, uint256 tokenId) returns() 2738 func (_ERC721Enumerable *ERC721EnumerableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2739 return _ERC721Enumerable.Contract.Approve(&_ERC721Enumerable.TransactOpts, to, tokenId) 2740 } 2741 2742 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 2743 // 2744 // Solidity: function approve(address to, uint256 tokenId) returns() 2745 func (_ERC721Enumerable *ERC721EnumerableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2746 return _ERC721Enumerable.Contract.Approve(&_ERC721Enumerable.TransactOpts, to, tokenId) 2747 } 2748 2749 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 2750 // 2751 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 2752 func (_ERC721Enumerable *ERC721EnumerableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2753 return _ERC721Enumerable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 2754 } 2755 2756 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 2757 // 2758 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 2759 func (_ERC721Enumerable *ERC721EnumerableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2760 return _ERC721Enumerable.Contract.SafeTransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId) 2761 } 2762 2763 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 2764 // 2765 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 2766 func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2767 return _ERC721Enumerable.Contract.SafeTransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId) 2768 } 2769 2770 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 2771 // 2772 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 2773 func (_ERC721Enumerable *ERC721EnumerableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 2774 return _ERC721Enumerable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 2775 } 2776 2777 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 2778 // 2779 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 2780 func (_ERC721Enumerable *ERC721EnumerableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 2781 return _ERC721Enumerable.Contract.SafeTransferFrom0(&_ERC721Enumerable.TransactOpts, from, to, tokenId, _data) 2782 } 2783 2784 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 2785 // 2786 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 2787 func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 2788 return _ERC721Enumerable.Contract.SafeTransferFrom0(&_ERC721Enumerable.TransactOpts, from, to, tokenId, _data) 2789 } 2790 2791 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 2792 // 2793 // Solidity: function setApprovalForAll(address to, bool approved) returns() 2794 func (_ERC721Enumerable *ERC721EnumerableTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 2795 return _ERC721Enumerable.contract.Transact(opts, "setApprovalForAll", to, approved) 2796 } 2797 2798 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 2799 // 2800 // Solidity: function setApprovalForAll(address to, bool approved) returns() 2801 func (_ERC721Enumerable *ERC721EnumerableSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 2802 return _ERC721Enumerable.Contract.SetApprovalForAll(&_ERC721Enumerable.TransactOpts, to, approved) 2803 } 2804 2805 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 2806 // 2807 // Solidity: function setApprovalForAll(address to, bool approved) returns() 2808 func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 2809 return _ERC721Enumerable.Contract.SetApprovalForAll(&_ERC721Enumerable.TransactOpts, to, approved) 2810 } 2811 2812 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2813 // 2814 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 2815 func (_ERC721Enumerable *ERC721EnumerableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2816 return _ERC721Enumerable.contract.Transact(opts, "transferFrom", from, to, tokenId) 2817 } 2818 2819 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2820 // 2821 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 2822 func (_ERC721Enumerable *ERC721EnumerableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2823 return _ERC721Enumerable.Contract.TransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId) 2824 } 2825 2826 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2827 // 2828 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 2829 func (_ERC721Enumerable *ERC721EnumerableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2830 return _ERC721Enumerable.Contract.TransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId) 2831 } 2832 2833 // 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. 2834 type ERC721EnumerableApprovalIterator struct { 2835 Event *ERC721EnumerableApproval // Event containing the contract specifics and raw log 2836 2837 contract *bind.BoundContract // Generic contract to use for unpacking event data 2838 event string // Event name to use for unpacking event data 2839 2840 logs chan types.Log // Log channel receiving the found contract events 2841 sub klaytn.Subscription // Subscription for errors, completion and termination 2842 done bool // Whether the subscription completed delivering logs 2843 fail error // Occurred error to stop iteration 2844 } 2845 2846 // Next advances the iterator to the subsequent event, returning whether there 2847 // are any more events found. In case of a retrieval or parsing error, false is 2848 // returned and Error() can be queried for the exact failure. 2849 func (it *ERC721EnumerableApprovalIterator) Next() bool { 2850 // If the iterator failed, stop iterating 2851 if it.fail != nil { 2852 return false 2853 } 2854 // If the iterator completed, deliver directly whatever's available 2855 if it.done { 2856 select { 2857 case log := <-it.logs: 2858 it.Event = new(ERC721EnumerableApproval) 2859 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2860 it.fail = err 2861 return false 2862 } 2863 it.Event.Raw = log 2864 return true 2865 2866 default: 2867 return false 2868 } 2869 } 2870 // Iterator still in progress, wait for either a data or an error event 2871 select { 2872 case log := <-it.logs: 2873 it.Event = new(ERC721EnumerableApproval) 2874 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2875 it.fail = err 2876 return false 2877 } 2878 it.Event.Raw = log 2879 return true 2880 2881 case err := <-it.sub.Err(): 2882 it.done = true 2883 it.fail = err 2884 return it.Next() 2885 } 2886 } 2887 2888 // Error returns any retrieval or parsing error occurred during filtering. 2889 func (it *ERC721EnumerableApprovalIterator) Error() error { 2890 return it.fail 2891 } 2892 2893 // Close terminates the iteration process, releasing any pending underlying 2894 // resources. 2895 func (it *ERC721EnumerableApprovalIterator) Close() error { 2896 it.sub.Unsubscribe() 2897 return nil 2898 } 2899 2900 // ERC721EnumerableApproval represents a Approval event raised by the ERC721Enumerable contract. 2901 type ERC721EnumerableApproval struct { 2902 Owner common.Address 2903 Approved common.Address 2904 TokenId *big.Int 2905 Raw types.Log // Blockchain specific contextual infos 2906 } 2907 2908 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2909 // 2910 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 2911 func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721EnumerableApprovalIterator, error) { 2912 2913 var ownerRule []interface{} 2914 for _, ownerItem := range owner { 2915 ownerRule = append(ownerRule, ownerItem) 2916 } 2917 var approvedRule []interface{} 2918 for _, approvedItem := range approved { 2919 approvedRule = append(approvedRule, approvedItem) 2920 } 2921 var tokenIdRule []interface{} 2922 for _, tokenIdItem := range tokenId { 2923 tokenIdRule = append(tokenIdRule, tokenIdItem) 2924 } 2925 2926 logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 2927 if err != nil { 2928 return nil, err 2929 } 2930 return &ERC721EnumerableApprovalIterator{contract: _ERC721Enumerable.contract, event: "Approval", logs: logs, sub: sub}, nil 2931 } 2932 2933 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2934 // 2935 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 2936 func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 2937 2938 var ownerRule []interface{} 2939 for _, ownerItem := range owner { 2940 ownerRule = append(ownerRule, ownerItem) 2941 } 2942 var approvedRule []interface{} 2943 for _, approvedItem := range approved { 2944 approvedRule = append(approvedRule, approvedItem) 2945 } 2946 var tokenIdRule []interface{} 2947 for _, tokenIdItem := range tokenId { 2948 tokenIdRule = append(tokenIdRule, tokenIdItem) 2949 } 2950 2951 logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 2952 if err != nil { 2953 return nil, err 2954 } 2955 return event.NewSubscription(func(quit <-chan struct{}) error { 2956 defer sub.Unsubscribe() 2957 for { 2958 select { 2959 case log := <-logs: 2960 // New log arrived, parse the event and forward to the user 2961 event := new(ERC721EnumerableApproval) 2962 if err := _ERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { 2963 return err 2964 } 2965 event.Raw = log 2966 2967 select { 2968 case sink <- event: 2969 case err := <-sub.Err(): 2970 return err 2971 case <-quit: 2972 return nil 2973 } 2974 case err := <-sub.Err(): 2975 return err 2976 case <-quit: 2977 return nil 2978 } 2979 } 2980 }), nil 2981 } 2982 2983 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2984 // 2985 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 2986 func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseApproval(log types.Log) (*ERC721EnumerableApproval, error) { 2987 event := new(ERC721EnumerableApproval) 2988 if err := _ERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { 2989 return nil, err 2990 } 2991 return event, nil 2992 } 2993 2994 // 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. 2995 type ERC721EnumerableApprovalForAllIterator struct { 2996 Event *ERC721EnumerableApprovalForAll // Event containing the contract specifics and raw log 2997 2998 contract *bind.BoundContract // Generic contract to use for unpacking event data 2999 event string // Event name to use for unpacking event data 3000 3001 logs chan types.Log // Log channel receiving the found contract events 3002 sub klaytn.Subscription // Subscription for errors, completion and termination 3003 done bool // Whether the subscription completed delivering logs 3004 fail error // Occurred error to stop iteration 3005 } 3006 3007 // Next advances the iterator to the subsequent event, returning whether there 3008 // are any more events found. In case of a retrieval or parsing error, false is 3009 // returned and Error() can be queried for the exact failure. 3010 func (it *ERC721EnumerableApprovalForAllIterator) Next() bool { 3011 // If the iterator failed, stop iterating 3012 if it.fail != nil { 3013 return false 3014 } 3015 // If the iterator completed, deliver directly whatever's available 3016 if it.done { 3017 select { 3018 case log := <-it.logs: 3019 it.Event = new(ERC721EnumerableApprovalForAll) 3020 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3021 it.fail = err 3022 return false 3023 } 3024 it.Event.Raw = log 3025 return true 3026 3027 default: 3028 return false 3029 } 3030 } 3031 // Iterator still in progress, wait for either a data or an error event 3032 select { 3033 case log := <-it.logs: 3034 it.Event = new(ERC721EnumerableApprovalForAll) 3035 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3036 it.fail = err 3037 return false 3038 } 3039 it.Event.Raw = log 3040 return true 3041 3042 case err := <-it.sub.Err(): 3043 it.done = true 3044 it.fail = err 3045 return it.Next() 3046 } 3047 } 3048 3049 // Error returns any retrieval or parsing error occurred during filtering. 3050 func (it *ERC721EnumerableApprovalForAllIterator) Error() error { 3051 return it.fail 3052 } 3053 3054 // Close terminates the iteration process, releasing any pending underlying 3055 // resources. 3056 func (it *ERC721EnumerableApprovalForAllIterator) Close() error { 3057 it.sub.Unsubscribe() 3058 return nil 3059 } 3060 3061 // ERC721EnumerableApprovalForAll represents a ApprovalForAll event raised by the ERC721Enumerable contract. 3062 type ERC721EnumerableApprovalForAll struct { 3063 Owner common.Address 3064 Operator common.Address 3065 Approved bool 3066 Raw types.Log // Blockchain specific contextual infos 3067 } 3068 3069 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 3070 // 3071 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 3072 func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721EnumerableApprovalForAllIterator, error) { 3073 3074 var ownerRule []interface{} 3075 for _, ownerItem := range owner { 3076 ownerRule = append(ownerRule, ownerItem) 3077 } 3078 var operatorRule []interface{} 3079 for _, operatorItem := range operator { 3080 operatorRule = append(operatorRule, operatorItem) 3081 } 3082 3083 logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 3084 if err != nil { 3085 return nil, err 3086 } 3087 return &ERC721EnumerableApprovalForAllIterator{contract: _ERC721Enumerable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 3088 } 3089 3090 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 3091 // 3092 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 3093 func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 3094 3095 var ownerRule []interface{} 3096 for _, ownerItem := range owner { 3097 ownerRule = append(ownerRule, ownerItem) 3098 } 3099 var operatorRule []interface{} 3100 for _, operatorItem := range operator { 3101 operatorRule = append(operatorRule, operatorItem) 3102 } 3103 3104 logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 3105 if err != nil { 3106 return nil, err 3107 } 3108 return event.NewSubscription(func(quit <-chan struct{}) error { 3109 defer sub.Unsubscribe() 3110 for { 3111 select { 3112 case log := <-logs: 3113 // New log arrived, parse the event and forward to the user 3114 event := new(ERC721EnumerableApprovalForAll) 3115 if err := _ERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 3116 return err 3117 } 3118 event.Raw = log 3119 3120 select { 3121 case sink <- event: 3122 case err := <-sub.Err(): 3123 return err 3124 case <-quit: 3125 return nil 3126 } 3127 case err := <-sub.Err(): 3128 return err 3129 case <-quit: 3130 return nil 3131 } 3132 } 3133 }), nil 3134 } 3135 3136 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 3137 // 3138 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 3139 func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseApprovalForAll(log types.Log) (*ERC721EnumerableApprovalForAll, error) { 3140 event := new(ERC721EnumerableApprovalForAll) 3141 if err := _ERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 3142 return nil, err 3143 } 3144 return event, nil 3145 } 3146 3147 // 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. 3148 type ERC721EnumerableTransferIterator struct { 3149 Event *ERC721EnumerableTransfer // Event containing the contract specifics and raw log 3150 3151 contract *bind.BoundContract // Generic contract to use for unpacking event data 3152 event string // Event name to use for unpacking event data 3153 3154 logs chan types.Log // Log channel receiving the found contract events 3155 sub klaytn.Subscription // Subscription for errors, completion and termination 3156 done bool // Whether the subscription completed delivering logs 3157 fail error // Occurred error to stop iteration 3158 } 3159 3160 // Next advances the iterator to the subsequent event, returning whether there 3161 // are any more events found. In case of a retrieval or parsing error, false is 3162 // returned and Error() can be queried for the exact failure. 3163 func (it *ERC721EnumerableTransferIterator) Next() bool { 3164 // If the iterator failed, stop iterating 3165 if it.fail != nil { 3166 return false 3167 } 3168 // If the iterator completed, deliver directly whatever's available 3169 if it.done { 3170 select { 3171 case log := <-it.logs: 3172 it.Event = new(ERC721EnumerableTransfer) 3173 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3174 it.fail = err 3175 return false 3176 } 3177 it.Event.Raw = log 3178 return true 3179 3180 default: 3181 return false 3182 } 3183 } 3184 // Iterator still in progress, wait for either a data or an error event 3185 select { 3186 case log := <-it.logs: 3187 it.Event = new(ERC721EnumerableTransfer) 3188 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3189 it.fail = err 3190 return false 3191 } 3192 it.Event.Raw = log 3193 return true 3194 3195 case err := <-it.sub.Err(): 3196 it.done = true 3197 it.fail = err 3198 return it.Next() 3199 } 3200 } 3201 3202 // Error returns any retrieval or parsing error occurred during filtering. 3203 func (it *ERC721EnumerableTransferIterator) Error() error { 3204 return it.fail 3205 } 3206 3207 // Close terminates the iteration process, releasing any pending underlying 3208 // resources. 3209 func (it *ERC721EnumerableTransferIterator) Close() error { 3210 it.sub.Unsubscribe() 3211 return nil 3212 } 3213 3214 // ERC721EnumerableTransfer represents a Transfer event raised by the ERC721Enumerable contract. 3215 type ERC721EnumerableTransfer struct { 3216 From common.Address 3217 To common.Address 3218 TokenId *big.Int 3219 Raw types.Log // Blockchain specific contextual infos 3220 } 3221 3222 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3223 // 3224 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 3225 func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721EnumerableTransferIterator, error) { 3226 3227 var fromRule []interface{} 3228 for _, fromItem := range from { 3229 fromRule = append(fromRule, fromItem) 3230 } 3231 var toRule []interface{} 3232 for _, toItem := range to { 3233 toRule = append(toRule, toItem) 3234 } 3235 var tokenIdRule []interface{} 3236 for _, tokenIdItem := range tokenId { 3237 tokenIdRule = append(tokenIdRule, tokenIdItem) 3238 } 3239 3240 logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 3241 if err != nil { 3242 return nil, err 3243 } 3244 return &ERC721EnumerableTransferIterator{contract: _ERC721Enumerable.contract, event: "Transfer", logs: logs, sub: sub}, nil 3245 } 3246 3247 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3248 // 3249 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 3250 func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 3251 3252 var fromRule []interface{} 3253 for _, fromItem := range from { 3254 fromRule = append(fromRule, fromItem) 3255 } 3256 var toRule []interface{} 3257 for _, toItem := range to { 3258 toRule = append(toRule, toItem) 3259 } 3260 var tokenIdRule []interface{} 3261 for _, tokenIdItem := range tokenId { 3262 tokenIdRule = append(tokenIdRule, tokenIdItem) 3263 } 3264 3265 logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 3266 if err != nil { 3267 return nil, err 3268 } 3269 return event.NewSubscription(func(quit <-chan struct{}) error { 3270 defer sub.Unsubscribe() 3271 for { 3272 select { 3273 case log := <-logs: 3274 // New log arrived, parse the event and forward to the user 3275 event := new(ERC721EnumerableTransfer) 3276 if err := _ERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { 3277 return err 3278 } 3279 event.Raw = log 3280 3281 select { 3282 case sink <- event: 3283 case err := <-sub.Err(): 3284 return err 3285 case <-quit: 3286 return nil 3287 } 3288 case err := <-sub.Err(): 3289 return err 3290 case <-quit: 3291 return nil 3292 } 3293 } 3294 }), nil 3295 } 3296 3297 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3298 // 3299 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 3300 func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseTransfer(log types.Log) (*ERC721EnumerableTransfer, error) { 3301 event := new(ERC721EnumerableTransfer) 3302 if err := _ERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { 3303 return nil, err 3304 } 3305 return event, nil 3306 } 3307 3308 // ERC721FullABI is the input ABI used to generate the binding from. 3309 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\"},{\"inputs\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"symbol\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\"}]" 3310 3311 // ERC721FullBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 3312 const ERC721FullBinRuntime = `608060405234801561001057600080fd5b50600436106101005760003560e01c80634f6ccce711610097578063a22cb46511610066578063a22cb4651461033e578063b88d4fde1461036c578063c87b56dd14610432578063e985e9c51461044f57610100565b80634f6ccce7146102d65780636352211e146102f357806370a082311461031057806395d89b411461033657610100565b806318160ddd116100d357806318160ddd1461022457806323b872dd1461023e5780632f745c591461027457806342842e0e146102a057610100565b806301ffc9a71461010557806306fdde0314610140578063081812fc146101bd578063095ea7b3146101f6575b600080fd5b61012c6004803603602081101561011b57600080fd5b50356001600160e01b03191661047d565b604080519115158252519081900360200190f35b61014861049c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018257818101518382015260200161016a565b50505050905090810190601f1680156101af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360208110156101d357600080fd5b5035610533565b604080516001600160a01b039092168252519081900360200190f35b6102226004803603604081101561020c57600080fd5b506001600160a01b038135169060200135610598565b005b61022c6106af565b60408051918252519081900360200190f35b6102226004803603606081101561025457600080fd5b506001600160a01b038135811691602081013590911690604001356106b5565b61022c6004803603604081101561028a57600080fd5b506001600160a01b03813516906020013561070d565b610222600480360360608110156102b657600080fd5b506001600160a01b0381358116916020810135909116906040013561078f565b61022c600480360360208110156102ec57600080fd5b50356107aa565b6101da6004803603602081101561030957600080fd5b5035610813565b61022c6004803603602081101561032657600080fd5b50356001600160a01b0316610870565b6101486108db565b6102226004803603604081101561035457600080fd5b506001600160a01b038135169060200135151561093c565b6102226004803603608081101561038257600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156103bd57600080fd5b8201836020820111156103cf57600080fd5b803590602001918460018302840111640100000000831117156103f157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a0b945050505050565b6101486004803603602081101561044857600080fd5b5035610a66565b61012c6004803603604081101561046557600080fd5b506001600160a01b0381358116916020013516610b4e565b6001600160e01b03191660009081526020819052604090205460ff1690565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105285780601f106104fd57610100808354040283529160200191610528565b820191906000526020600020905b81548152906001019060200180831161050b57829003601f168201915b505050505090505b90565b600061053e82610b7c565b61057c57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611252602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006105a382610813565b9050806001600160a01b0316836001600160a01b031614156105f957604051600160e51b62461bcd0281526004018080602001828103825260218152602001806112d66021913960400191505060405180910390fd5b336001600160a01b038216148061061557506106158133610b4e565b61065357604051600160e51b62461bcd0281526004018080602001828103825260388152602001806111c76038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60075490565b6106bf3382610b99565b6106fd57604051600160e51b62461bcd0281526004018080602001828103825260318152602001806112f76031913960400191505060405180910390fd5b610708838383610c40565b505050565b600061071883610870565b821061075857604051600160e51b62461bcd02815260040180806020018281038252602b81526020018061111a602b913960400191505060405180910390fd5b6001600160a01b038316600090815260056020526040902080548390811061077c57fe5b9060005260206000200154905092915050565b61070883838360405180602001604052806000815250610a0b565b60006107b46106af565b82106107f457604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611328602c913960400191505060405180910390fd5b6007828154811061080157fe5b90600052602060002001549050919050565b6000818152600160205260408120546001600160a01b03168061086a57604051600160e51b62461bcd0281526004018080602001828103825260298152602001806112296029913960400191505060405180910390fd5b92915050565b60006001600160a01b0382166108ba57604051600160e51b62461bcd02815260040180806020018281038252602a8152602001806111ff602a913960400191505060405180910390fd5b6001600160a01b038216600090815260036020526040902061086a90610c5f565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105285780601f106104fd57610100808354040283529160200191610528565b6001600160a01b03821633141561099d5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610a168484846106b5565b610a2284848484610c63565b610a6057604051600160e51b62461bcd0281526004018080602001828103825260328152602001806111456032913960400191505060405180910390fd5b50505050565b6060610a7182610b7c565b610aaf57604051600160e51b62461bcd02815260040180806020018281038252602f8152602001806112a7602f913960400191505060405180910390fd5b6000828152600b602090815260409182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084529091830182828015610b425780601f10610b1757610100808354040283529160200191610b42565b820191906000526020600020905b815481529060010190602001808311610b2557829003601f168201915b50505050509050919050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b6000610ba482610b7c565b610be257604051600160e51b62461bcd02815260040180806020018281038252602c81526020018061119b602c913960400191505060405180910390fd5b6000610bed83610813565b9050806001600160a01b0316846001600160a01b03161480610c285750836001600160a01b0316610c1d84610533565b6001600160a01b0316145b80610c385750610c388185610b4e565b949350505050565b610c4b838383610d9c565b610c558382610ee6565b6107088282610fdb565b5490565b6000610c77846001600160a01b0316611019565b610c8357506001610c38565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610d00578181015183820152602001610ce8565b50505050905090810190601f168015610d2d5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610d4f57600080fd5b505af1158015610d63573d6000803e3d6000fd5b505050506040513d6020811015610d7957600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b826001600160a01b0316610daf82610813565b6001600160a01b031614610df757604051600160e51b62461bcd02815260040180806020018281038252602981526020018061127e6029913960400191505060405180910390fd5b6001600160a01b038216610e3f57604051600160e51b62461bcd0281526004018080602001828103825260248152602001806111776024913960400191505060405180910390fd5b610e488161101f565b6001600160a01b0383166000908152600360205260409020610e699061105c565b6001600160a01b0382166000908152600360205260409020610e8a90611073565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216600090815260056020526040812054610f1090600163ffffffff61107c16565b600083815260066020526040902054909150808214610fab576001600160a01b0384166000908152600560205260408120805484908110610f4d57fe5b906000526020600020015490508060056000876001600160a01b03166001600160a01b031681526020019081526020016000208381548110610f8b57fe5b600091825260208083209091019290925591825260069052604090208190555b6001600160a01b0384166000908152600560205260409020805490610fd49060001983016110dc565b5050505050565b6001600160a01b0390911660009081526005602081815260408084208054868652600684529185208290559282526001810183559183529091200155565b3b151590565b6000818152600260205260409020546001600160a01b03161561105957600081815260026020526040902080546001600160a01b03191690555b50565b805461106f90600163ffffffff61107c16565b9055565b80546001019055565b6000828211156110d65760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b8154818355818111156107085760008381526020902061070891810190830161053091905b808211156111155760008155600101611101565b509056fe455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e6473a165627a7a72305820d942a10ddcb4d5148ecf424c7de1114da916205255e5106d65dd4d339bde3e5b0029` 3313 3314 // ERC721FullFuncSigs maps the 4-byte function signature to its string representation. 3315 var ERC721FullFuncSigs = map[string]string{ 3316 "095ea7b3": "approve(address,uint256)", 3317 "70a08231": "balanceOf(address)", 3318 "081812fc": "getApproved(uint256)", 3319 "e985e9c5": "isApprovedForAll(address,address)", 3320 "06fdde03": "name()", 3321 "6352211e": "ownerOf(uint256)", 3322 "42842e0e": "safeTransferFrom(address,address,uint256)", 3323 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 3324 "a22cb465": "setApprovalForAll(address,bool)", 3325 "01ffc9a7": "supportsInterface(bytes4)", 3326 "95d89b41": "symbol()", 3327 "4f6ccce7": "tokenByIndex(uint256)", 3328 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 3329 "c87b56dd": "tokenURI(uint256)", 3330 "18160ddd": "totalSupply()", 3331 "23b872dd": "transferFrom(address,address,uint256)", 3332 } 3333 3334 // ERC721FullBin is the compiled bytecode used for deploying new contracts. 3335 var ERC721FullBin = "0x60806040523480156200001157600080fd5b506040516200166e3803806200166e833981018060405260408110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b820160208101848111156200006457600080fd5b81516401000000008111828201871017156200007f57600080fd5b505092919060200180516401000000008111156200009c57600080fd5b82016020810184811115620000b057600080fd5b8151640100000000811182820187101715620000cb57600080fd5b50509291905050508181620000ed6301ffc9a760e01b6200016b60201b60201c565b620001056380ac58cd60e01b6200016b60201b60201c565b6200011d63780e9d6360e01b6200016b60201b60201c565b8151620001329060099060208501906200023a565b5080516200014890600a9060208401906200023a565b5062000161635b5e139f60e01b6200016b60201b60201c565b50505050620002df565b7fffffffff000000000000000000000000000000000000000000000000000000008082161415620001fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027d57805160ff1916838001178555620002ad565b82800160010185558215620002ad579182015b82811115620002ad57825182559160200191906001019062000290565b50620002bb929150620002bf565b5090565b620002dc91905b80821115620002bb5760008155600101620002c6565b90565b61137f80620002ef6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80634f6ccce711610097578063a22cb46511610066578063a22cb4651461033e578063b88d4fde1461036c578063c87b56dd14610432578063e985e9c51461044f57610100565b80634f6ccce7146102d65780636352211e146102f357806370a082311461031057806395d89b411461033657610100565b806318160ddd116100d357806318160ddd1461022457806323b872dd1461023e5780632f745c591461027457806342842e0e146102a057610100565b806301ffc9a71461010557806306fdde0314610140578063081812fc146101bd578063095ea7b3146101f6575b600080fd5b61012c6004803603602081101561011b57600080fd5b50356001600160e01b03191661047d565b604080519115158252519081900360200190f35b61014861049c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018257818101518382015260200161016a565b50505050905090810190601f1680156101af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360208110156101d357600080fd5b5035610533565b604080516001600160a01b039092168252519081900360200190f35b6102226004803603604081101561020c57600080fd5b506001600160a01b038135169060200135610598565b005b61022c6106af565b60408051918252519081900360200190f35b6102226004803603606081101561025457600080fd5b506001600160a01b038135811691602081013590911690604001356106b5565b61022c6004803603604081101561028a57600080fd5b506001600160a01b03813516906020013561070d565b610222600480360360608110156102b657600080fd5b506001600160a01b0381358116916020810135909116906040013561078f565b61022c600480360360208110156102ec57600080fd5b50356107aa565b6101da6004803603602081101561030957600080fd5b5035610813565b61022c6004803603602081101561032657600080fd5b50356001600160a01b0316610870565b6101486108db565b6102226004803603604081101561035457600080fd5b506001600160a01b038135169060200135151561093c565b6102226004803603608081101561038257600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156103bd57600080fd5b8201836020820111156103cf57600080fd5b803590602001918460018302840111640100000000831117156103f157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a0b945050505050565b6101486004803603602081101561044857600080fd5b5035610a66565b61012c6004803603604081101561046557600080fd5b506001600160a01b0381358116916020013516610b4e565b6001600160e01b03191660009081526020819052604090205460ff1690565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105285780601f106104fd57610100808354040283529160200191610528565b820191906000526020600020905b81548152906001019060200180831161050b57829003601f168201915b505050505090505b90565b600061053e82610b7c565b61057c57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611252602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006105a382610813565b9050806001600160a01b0316836001600160a01b031614156105f957604051600160e51b62461bcd0281526004018080602001828103825260218152602001806112d66021913960400191505060405180910390fd5b336001600160a01b038216148061061557506106158133610b4e565b61065357604051600160e51b62461bcd0281526004018080602001828103825260388152602001806111c76038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60075490565b6106bf3382610b99565b6106fd57604051600160e51b62461bcd0281526004018080602001828103825260318152602001806112f76031913960400191505060405180910390fd5b610708838383610c40565b505050565b600061071883610870565b821061075857604051600160e51b62461bcd02815260040180806020018281038252602b81526020018061111a602b913960400191505060405180910390fd5b6001600160a01b038316600090815260056020526040902080548390811061077c57fe5b9060005260206000200154905092915050565b61070883838360405180602001604052806000815250610a0b565b60006107b46106af565b82106107f457604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611328602c913960400191505060405180910390fd5b6007828154811061080157fe5b90600052602060002001549050919050565b6000818152600160205260408120546001600160a01b03168061086a57604051600160e51b62461bcd0281526004018080602001828103825260298152602001806112296029913960400191505060405180910390fd5b92915050565b60006001600160a01b0382166108ba57604051600160e51b62461bcd02815260040180806020018281038252602a8152602001806111ff602a913960400191505060405180910390fd5b6001600160a01b038216600090815260036020526040902061086a90610c5f565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105285780601f106104fd57610100808354040283529160200191610528565b6001600160a01b03821633141561099d5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610a168484846106b5565b610a2284848484610c63565b610a6057604051600160e51b62461bcd0281526004018080602001828103825260328152602001806111456032913960400191505060405180910390fd5b50505050565b6060610a7182610b7c565b610aaf57604051600160e51b62461bcd02815260040180806020018281038252602f8152602001806112a7602f913960400191505060405180910390fd5b6000828152600b602090815260409182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084529091830182828015610b425780601f10610b1757610100808354040283529160200191610b42565b820191906000526020600020905b815481529060010190602001808311610b2557829003601f168201915b50505050509050919050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b6000610ba482610b7c565b610be257604051600160e51b62461bcd02815260040180806020018281038252602c81526020018061119b602c913960400191505060405180910390fd5b6000610bed83610813565b9050806001600160a01b0316846001600160a01b03161480610c285750836001600160a01b0316610c1d84610533565b6001600160a01b0316145b80610c385750610c388185610b4e565b949350505050565b610c4b838383610d9c565b610c558382610ee6565b6107088282610fdb565b5490565b6000610c77846001600160a01b0316611019565b610c8357506001610c38565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610d00578181015183820152602001610ce8565b50505050905090810190601f168015610d2d5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610d4f57600080fd5b505af1158015610d63573d6000803e3d6000fd5b505050506040513d6020811015610d7957600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b826001600160a01b0316610daf82610813565b6001600160a01b031614610df757604051600160e51b62461bcd02815260040180806020018281038252602981526020018061127e6029913960400191505060405180910390fd5b6001600160a01b038216610e3f57604051600160e51b62461bcd0281526004018080602001828103825260248152602001806111776024913960400191505060405180910390fd5b610e488161101f565b6001600160a01b0383166000908152600360205260409020610e699061105c565b6001600160a01b0382166000908152600360205260409020610e8a90611073565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216600090815260056020526040812054610f1090600163ffffffff61107c16565b600083815260066020526040902054909150808214610fab576001600160a01b0384166000908152600560205260408120805484908110610f4d57fe5b906000526020600020015490508060056000876001600160a01b03166001600160a01b031681526020019081526020016000208381548110610f8b57fe5b600091825260208083209091019290925591825260069052604090208190555b6001600160a01b0384166000908152600560205260409020805490610fd49060001983016110dc565b5050505050565b6001600160a01b0390911660009081526005602081815260408084208054868652600684529185208290559282526001810183559183529091200155565b3b151590565b6000818152600260205260409020546001600160a01b03161561105957600081815260026020526040902080546001600160a01b03191690555b50565b805461106f90600163ffffffff61107c16565b9055565b80546001019055565b6000828211156110d65760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b8154818355818111156107085760008381526020902061070891810190830161053091905b808211156111155760008155600101611101565b509056fe455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e6473a165627a7a72305820d942a10ddcb4d5148ecf424c7de1114da916205255e5106d65dd4d339bde3e5b0029" 3336 3337 // DeployERC721Full deploys a new Klaytn contract, binding an instance of ERC721Full to it. 3338 func DeployERC721Full(auth *bind.TransactOpts, backend bind.ContractBackend, name string, symbol string) (common.Address, *types.Transaction, *ERC721Full, error) { 3339 parsed, err := abi.JSON(strings.NewReader(ERC721FullABI)) 3340 if err != nil { 3341 return common.Address{}, nil, nil, err 3342 } 3343 3344 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC721FullBin), backend, name, symbol) 3345 if err != nil { 3346 return common.Address{}, nil, nil, err 3347 } 3348 return address, tx, &ERC721Full{ERC721FullCaller: ERC721FullCaller{contract: contract}, ERC721FullTransactor: ERC721FullTransactor{contract: contract}, ERC721FullFilterer: ERC721FullFilterer{contract: contract}}, nil 3349 } 3350 3351 // ERC721Full is an auto generated Go binding around a Klaytn contract. 3352 type ERC721Full struct { 3353 ERC721FullCaller // Read-only binding to the contract 3354 ERC721FullTransactor // Write-only binding to the contract 3355 ERC721FullFilterer // Log filterer for contract events 3356 } 3357 3358 // ERC721FullCaller is an auto generated read-only Go binding around a Klaytn contract. 3359 type ERC721FullCaller struct { 3360 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3361 } 3362 3363 // ERC721FullTransactor is an auto generated write-only Go binding around a Klaytn contract. 3364 type ERC721FullTransactor struct { 3365 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3366 } 3367 3368 // ERC721FullFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 3369 type ERC721FullFilterer struct { 3370 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3371 } 3372 3373 // ERC721FullSession is an auto generated Go binding around a Klaytn contract, 3374 // with pre-set call and transact options. 3375 type ERC721FullSession struct { 3376 Contract *ERC721Full // Generic contract binding to set the session for 3377 CallOpts bind.CallOpts // Call options to use throughout this session 3378 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 3379 } 3380 3381 // ERC721FullCallerSession is an auto generated read-only Go binding around a Klaytn contract, 3382 // with pre-set call options. 3383 type ERC721FullCallerSession struct { 3384 Contract *ERC721FullCaller // Generic contract caller binding to set the session for 3385 CallOpts bind.CallOpts // Call options to use throughout this session 3386 } 3387 3388 // ERC721FullTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 3389 // with pre-set transact options. 3390 type ERC721FullTransactorSession struct { 3391 Contract *ERC721FullTransactor // Generic contract transactor binding to set the session for 3392 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 3393 } 3394 3395 // ERC721FullRaw is an auto generated low-level Go binding around a Klaytn contract. 3396 type ERC721FullRaw struct { 3397 Contract *ERC721Full // Generic contract binding to access the raw methods on 3398 } 3399 3400 // ERC721FullCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 3401 type ERC721FullCallerRaw struct { 3402 Contract *ERC721FullCaller // Generic read-only contract binding to access the raw methods on 3403 } 3404 3405 // ERC721FullTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 3406 type ERC721FullTransactorRaw struct { 3407 Contract *ERC721FullTransactor // Generic write-only contract binding to access the raw methods on 3408 } 3409 3410 // NewERC721Full creates a new instance of ERC721Full, bound to a specific deployed contract. 3411 func NewERC721Full(address common.Address, backend bind.ContractBackend) (*ERC721Full, error) { 3412 contract, err := bindERC721Full(address, backend, backend, backend) 3413 if err != nil { 3414 return nil, err 3415 } 3416 return &ERC721Full{ERC721FullCaller: ERC721FullCaller{contract: contract}, ERC721FullTransactor: ERC721FullTransactor{contract: contract}, ERC721FullFilterer: ERC721FullFilterer{contract: contract}}, nil 3417 } 3418 3419 // NewERC721FullCaller creates a new read-only instance of ERC721Full, bound to a specific deployed contract. 3420 func NewERC721FullCaller(address common.Address, caller bind.ContractCaller) (*ERC721FullCaller, error) { 3421 contract, err := bindERC721Full(address, caller, nil, nil) 3422 if err != nil { 3423 return nil, err 3424 } 3425 return &ERC721FullCaller{contract: contract}, nil 3426 } 3427 3428 // NewERC721FullTransactor creates a new write-only instance of ERC721Full, bound to a specific deployed contract. 3429 func NewERC721FullTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721FullTransactor, error) { 3430 contract, err := bindERC721Full(address, nil, transactor, nil) 3431 if err != nil { 3432 return nil, err 3433 } 3434 return &ERC721FullTransactor{contract: contract}, nil 3435 } 3436 3437 // NewERC721FullFilterer creates a new log filterer instance of ERC721Full, bound to a specific deployed contract. 3438 func NewERC721FullFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721FullFilterer, error) { 3439 contract, err := bindERC721Full(address, nil, nil, filterer) 3440 if err != nil { 3441 return nil, err 3442 } 3443 return &ERC721FullFilterer{contract: contract}, nil 3444 } 3445 3446 // bindERC721Full binds a generic wrapper to an already deployed contract. 3447 func bindERC721Full(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 3448 parsed, err := abi.JSON(strings.NewReader(ERC721FullABI)) 3449 if err != nil { 3450 return nil, err 3451 } 3452 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 3453 } 3454 3455 // Call invokes the (constant) contract method with params as input values and 3456 // sets the output to result. The result type might be a single field for simple 3457 // returns, a slice of interfaces for anonymous returns and a struct for named 3458 // returns. 3459 func (_ERC721Full *ERC721FullRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 3460 return _ERC721Full.Contract.ERC721FullCaller.contract.Call(opts, result, method, params...) 3461 } 3462 3463 // Transfer initiates a plain transaction to move funds to the contract, calling 3464 // its default method if one is available. 3465 func (_ERC721Full *ERC721FullRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 3466 return _ERC721Full.Contract.ERC721FullTransactor.contract.Transfer(opts) 3467 } 3468 3469 // Transact invokes the (paid) contract method with params as input values. 3470 func (_ERC721Full *ERC721FullRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 3471 return _ERC721Full.Contract.ERC721FullTransactor.contract.Transact(opts, method, params...) 3472 } 3473 3474 // Call invokes the (constant) contract method with params as input values and 3475 // sets the output to result. The result type might be a single field for simple 3476 // returns, a slice of interfaces for anonymous returns and a struct for named 3477 // returns. 3478 func (_ERC721Full *ERC721FullCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 3479 return _ERC721Full.Contract.contract.Call(opts, result, method, params...) 3480 } 3481 3482 // Transfer initiates a plain transaction to move funds to the contract, calling 3483 // its default method if one is available. 3484 func (_ERC721Full *ERC721FullTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 3485 return _ERC721Full.Contract.contract.Transfer(opts) 3486 } 3487 3488 // Transact invokes the (paid) contract method with params as input values. 3489 func (_ERC721Full *ERC721FullTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 3490 return _ERC721Full.Contract.contract.Transact(opts, method, params...) 3491 } 3492 3493 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3494 // 3495 // Solidity: function balanceOf(address owner) view returns(uint256) 3496 func (_ERC721Full *ERC721FullCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 3497 var ( 3498 ret0 = new(*big.Int) 3499 ) 3500 out := ret0 3501 err := _ERC721Full.contract.Call(opts, out, "balanceOf", owner) 3502 return *ret0, err 3503 } 3504 3505 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3506 // 3507 // Solidity: function balanceOf(address owner) view returns(uint256) 3508 func (_ERC721Full *ERC721FullSession) BalanceOf(owner common.Address) (*big.Int, error) { 3509 return _ERC721Full.Contract.BalanceOf(&_ERC721Full.CallOpts, owner) 3510 } 3511 3512 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3513 // 3514 // Solidity: function balanceOf(address owner) view returns(uint256) 3515 func (_ERC721Full *ERC721FullCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 3516 return _ERC721Full.Contract.BalanceOf(&_ERC721Full.CallOpts, owner) 3517 } 3518 3519 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3520 // 3521 // Solidity: function getApproved(uint256 tokenId) view returns(address) 3522 func (_ERC721Full *ERC721FullCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 3523 var ( 3524 ret0 = new(common.Address) 3525 ) 3526 out := ret0 3527 err := _ERC721Full.contract.Call(opts, out, "getApproved", tokenId) 3528 return *ret0, err 3529 } 3530 3531 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3532 // 3533 // Solidity: function getApproved(uint256 tokenId) view returns(address) 3534 func (_ERC721Full *ERC721FullSession) GetApproved(tokenId *big.Int) (common.Address, error) { 3535 return _ERC721Full.Contract.GetApproved(&_ERC721Full.CallOpts, tokenId) 3536 } 3537 3538 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3539 // 3540 // Solidity: function getApproved(uint256 tokenId) view returns(address) 3541 func (_ERC721Full *ERC721FullCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 3542 return _ERC721Full.Contract.GetApproved(&_ERC721Full.CallOpts, tokenId) 3543 } 3544 3545 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3546 // 3547 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 3548 func (_ERC721Full *ERC721FullCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 3549 var ( 3550 ret0 = new(bool) 3551 ) 3552 out := ret0 3553 err := _ERC721Full.contract.Call(opts, out, "isApprovedForAll", owner, operator) 3554 return *ret0, err 3555 } 3556 3557 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3558 // 3559 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 3560 func (_ERC721Full *ERC721FullSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 3561 return _ERC721Full.Contract.IsApprovedForAll(&_ERC721Full.CallOpts, owner, operator) 3562 } 3563 3564 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3565 // 3566 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 3567 func (_ERC721Full *ERC721FullCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 3568 return _ERC721Full.Contract.IsApprovedForAll(&_ERC721Full.CallOpts, owner, operator) 3569 } 3570 3571 // Name is a free data retrieval call binding the contract method 0x06fdde03. 3572 // 3573 // Solidity: function name() view returns(string) 3574 func (_ERC721Full *ERC721FullCaller) Name(opts *bind.CallOpts) (string, error) { 3575 var ( 3576 ret0 = new(string) 3577 ) 3578 out := ret0 3579 err := _ERC721Full.contract.Call(opts, out, "name") 3580 return *ret0, err 3581 } 3582 3583 // Name is a free data retrieval call binding the contract method 0x06fdde03. 3584 // 3585 // Solidity: function name() view returns(string) 3586 func (_ERC721Full *ERC721FullSession) Name() (string, error) { 3587 return _ERC721Full.Contract.Name(&_ERC721Full.CallOpts) 3588 } 3589 3590 // Name is a free data retrieval call binding the contract method 0x06fdde03. 3591 // 3592 // Solidity: function name() view returns(string) 3593 func (_ERC721Full *ERC721FullCallerSession) Name() (string, error) { 3594 return _ERC721Full.Contract.Name(&_ERC721Full.CallOpts) 3595 } 3596 3597 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 3598 // 3599 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 3600 func (_ERC721Full *ERC721FullCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 3601 var ( 3602 ret0 = new(common.Address) 3603 ) 3604 out := ret0 3605 err := _ERC721Full.contract.Call(opts, out, "ownerOf", tokenId) 3606 return *ret0, err 3607 } 3608 3609 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 3610 // 3611 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 3612 func (_ERC721Full *ERC721FullSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 3613 return _ERC721Full.Contract.OwnerOf(&_ERC721Full.CallOpts, tokenId) 3614 } 3615 3616 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 3617 // 3618 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 3619 func (_ERC721Full *ERC721FullCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 3620 return _ERC721Full.Contract.OwnerOf(&_ERC721Full.CallOpts, tokenId) 3621 } 3622 3623 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 3624 // 3625 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 3626 func (_ERC721Full *ERC721FullCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 3627 var ( 3628 ret0 = new(bool) 3629 ) 3630 out := ret0 3631 err := _ERC721Full.contract.Call(opts, out, "supportsInterface", interfaceId) 3632 return *ret0, err 3633 } 3634 3635 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 3636 // 3637 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 3638 func (_ERC721Full *ERC721FullSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 3639 return _ERC721Full.Contract.SupportsInterface(&_ERC721Full.CallOpts, interfaceId) 3640 } 3641 3642 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 3643 // 3644 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 3645 func (_ERC721Full *ERC721FullCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 3646 return _ERC721Full.Contract.SupportsInterface(&_ERC721Full.CallOpts, interfaceId) 3647 } 3648 3649 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 3650 // 3651 // Solidity: function symbol() view returns(string) 3652 func (_ERC721Full *ERC721FullCaller) Symbol(opts *bind.CallOpts) (string, error) { 3653 var ( 3654 ret0 = new(string) 3655 ) 3656 out := ret0 3657 err := _ERC721Full.contract.Call(opts, out, "symbol") 3658 return *ret0, err 3659 } 3660 3661 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 3662 // 3663 // Solidity: function symbol() view returns(string) 3664 func (_ERC721Full *ERC721FullSession) Symbol() (string, error) { 3665 return _ERC721Full.Contract.Symbol(&_ERC721Full.CallOpts) 3666 } 3667 3668 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 3669 // 3670 // Solidity: function symbol() view returns(string) 3671 func (_ERC721Full *ERC721FullCallerSession) Symbol() (string, error) { 3672 return _ERC721Full.Contract.Symbol(&_ERC721Full.CallOpts) 3673 } 3674 3675 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 3676 // 3677 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 3678 func (_ERC721Full *ERC721FullCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 3679 var ( 3680 ret0 = new(*big.Int) 3681 ) 3682 out := ret0 3683 err := _ERC721Full.contract.Call(opts, out, "tokenByIndex", index) 3684 return *ret0, err 3685 } 3686 3687 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 3688 // 3689 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 3690 func (_ERC721Full *ERC721FullSession) TokenByIndex(index *big.Int) (*big.Int, error) { 3691 return _ERC721Full.Contract.TokenByIndex(&_ERC721Full.CallOpts, index) 3692 } 3693 3694 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 3695 // 3696 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 3697 func (_ERC721Full *ERC721FullCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 3698 return _ERC721Full.Contract.TokenByIndex(&_ERC721Full.CallOpts, index) 3699 } 3700 3701 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 3702 // 3703 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 3704 func (_ERC721Full *ERC721FullCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 3705 var ( 3706 ret0 = new(*big.Int) 3707 ) 3708 out := ret0 3709 err := _ERC721Full.contract.Call(opts, out, "tokenOfOwnerByIndex", owner, index) 3710 return *ret0, err 3711 } 3712 3713 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 3714 // 3715 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 3716 func (_ERC721Full *ERC721FullSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 3717 return _ERC721Full.Contract.TokenOfOwnerByIndex(&_ERC721Full.CallOpts, owner, index) 3718 } 3719 3720 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 3721 // 3722 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 3723 func (_ERC721Full *ERC721FullCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 3724 return _ERC721Full.Contract.TokenOfOwnerByIndex(&_ERC721Full.CallOpts, owner, index) 3725 } 3726 3727 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 3728 // 3729 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 3730 func (_ERC721Full *ERC721FullCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 3731 var ( 3732 ret0 = new(string) 3733 ) 3734 out := ret0 3735 err := _ERC721Full.contract.Call(opts, out, "tokenURI", tokenId) 3736 return *ret0, err 3737 } 3738 3739 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 3740 // 3741 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 3742 func (_ERC721Full *ERC721FullSession) TokenURI(tokenId *big.Int) (string, error) { 3743 return _ERC721Full.Contract.TokenURI(&_ERC721Full.CallOpts, tokenId) 3744 } 3745 3746 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 3747 // 3748 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 3749 func (_ERC721Full *ERC721FullCallerSession) TokenURI(tokenId *big.Int) (string, error) { 3750 return _ERC721Full.Contract.TokenURI(&_ERC721Full.CallOpts, tokenId) 3751 } 3752 3753 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3754 // 3755 // Solidity: function totalSupply() view returns(uint256) 3756 func (_ERC721Full *ERC721FullCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 3757 var ( 3758 ret0 = new(*big.Int) 3759 ) 3760 out := ret0 3761 err := _ERC721Full.contract.Call(opts, out, "totalSupply") 3762 return *ret0, err 3763 } 3764 3765 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3766 // 3767 // Solidity: function totalSupply() view returns(uint256) 3768 func (_ERC721Full *ERC721FullSession) TotalSupply() (*big.Int, error) { 3769 return _ERC721Full.Contract.TotalSupply(&_ERC721Full.CallOpts) 3770 } 3771 3772 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3773 // 3774 // Solidity: function totalSupply() view returns(uint256) 3775 func (_ERC721Full *ERC721FullCallerSession) TotalSupply() (*big.Int, error) { 3776 return _ERC721Full.Contract.TotalSupply(&_ERC721Full.CallOpts) 3777 } 3778 3779 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3780 // 3781 // Solidity: function approve(address to, uint256 tokenId) returns() 3782 func (_ERC721Full *ERC721FullTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3783 return _ERC721Full.contract.Transact(opts, "approve", to, tokenId) 3784 } 3785 3786 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3787 // 3788 // Solidity: function approve(address to, uint256 tokenId) returns() 3789 func (_ERC721Full *ERC721FullSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3790 return _ERC721Full.Contract.Approve(&_ERC721Full.TransactOpts, to, tokenId) 3791 } 3792 3793 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3794 // 3795 // Solidity: function approve(address to, uint256 tokenId) returns() 3796 func (_ERC721Full *ERC721FullTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3797 return _ERC721Full.Contract.Approve(&_ERC721Full.TransactOpts, to, tokenId) 3798 } 3799 3800 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 3801 // 3802 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 3803 func (_ERC721Full *ERC721FullTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3804 return _ERC721Full.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 3805 } 3806 3807 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 3808 // 3809 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 3810 func (_ERC721Full *ERC721FullSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3811 return _ERC721Full.Contract.SafeTransferFrom(&_ERC721Full.TransactOpts, from, to, tokenId) 3812 } 3813 3814 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 3815 // 3816 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 3817 func (_ERC721Full *ERC721FullTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3818 return _ERC721Full.Contract.SafeTransferFrom(&_ERC721Full.TransactOpts, from, to, tokenId) 3819 } 3820 3821 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 3822 // 3823 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 3824 func (_ERC721Full *ERC721FullTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 3825 return _ERC721Full.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 3826 } 3827 3828 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 3829 // 3830 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 3831 func (_ERC721Full *ERC721FullSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 3832 return _ERC721Full.Contract.SafeTransferFrom0(&_ERC721Full.TransactOpts, from, to, tokenId, _data) 3833 } 3834 3835 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 3836 // 3837 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 3838 func (_ERC721Full *ERC721FullTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 3839 return _ERC721Full.Contract.SafeTransferFrom0(&_ERC721Full.TransactOpts, from, to, tokenId, _data) 3840 } 3841 3842 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 3843 // 3844 // Solidity: function setApprovalForAll(address to, bool approved) returns() 3845 func (_ERC721Full *ERC721FullTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 3846 return _ERC721Full.contract.Transact(opts, "setApprovalForAll", to, approved) 3847 } 3848 3849 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 3850 // 3851 // Solidity: function setApprovalForAll(address to, bool approved) returns() 3852 func (_ERC721Full *ERC721FullSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 3853 return _ERC721Full.Contract.SetApprovalForAll(&_ERC721Full.TransactOpts, to, approved) 3854 } 3855 3856 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 3857 // 3858 // Solidity: function setApprovalForAll(address to, bool approved) returns() 3859 func (_ERC721Full *ERC721FullTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 3860 return _ERC721Full.Contract.SetApprovalForAll(&_ERC721Full.TransactOpts, to, approved) 3861 } 3862 3863 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3864 // 3865 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 3866 func (_ERC721Full *ERC721FullTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3867 return _ERC721Full.contract.Transact(opts, "transferFrom", from, to, tokenId) 3868 } 3869 3870 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3871 // 3872 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 3873 func (_ERC721Full *ERC721FullSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3874 return _ERC721Full.Contract.TransferFrom(&_ERC721Full.TransactOpts, from, to, tokenId) 3875 } 3876 3877 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3878 // 3879 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 3880 func (_ERC721Full *ERC721FullTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3881 return _ERC721Full.Contract.TransferFrom(&_ERC721Full.TransactOpts, from, to, tokenId) 3882 } 3883 3884 // 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. 3885 type ERC721FullApprovalIterator struct { 3886 Event *ERC721FullApproval // Event containing the contract specifics and raw log 3887 3888 contract *bind.BoundContract // Generic contract to use for unpacking event data 3889 event string // Event name to use for unpacking event data 3890 3891 logs chan types.Log // Log channel receiving the found contract events 3892 sub klaytn.Subscription // Subscription for errors, completion and termination 3893 done bool // Whether the subscription completed delivering logs 3894 fail error // Occurred error to stop iteration 3895 } 3896 3897 // Next advances the iterator to the subsequent event, returning whether there 3898 // are any more events found. In case of a retrieval or parsing error, false is 3899 // returned and Error() can be queried for the exact failure. 3900 func (it *ERC721FullApprovalIterator) Next() bool { 3901 // If the iterator failed, stop iterating 3902 if it.fail != nil { 3903 return false 3904 } 3905 // If the iterator completed, deliver directly whatever's available 3906 if it.done { 3907 select { 3908 case log := <-it.logs: 3909 it.Event = new(ERC721FullApproval) 3910 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3911 it.fail = err 3912 return false 3913 } 3914 it.Event.Raw = log 3915 return true 3916 3917 default: 3918 return false 3919 } 3920 } 3921 // Iterator still in progress, wait for either a data or an error event 3922 select { 3923 case log := <-it.logs: 3924 it.Event = new(ERC721FullApproval) 3925 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3926 it.fail = err 3927 return false 3928 } 3929 it.Event.Raw = log 3930 return true 3931 3932 case err := <-it.sub.Err(): 3933 it.done = true 3934 it.fail = err 3935 return it.Next() 3936 } 3937 } 3938 3939 // Error returns any retrieval or parsing error occurred during filtering. 3940 func (it *ERC721FullApprovalIterator) Error() error { 3941 return it.fail 3942 } 3943 3944 // Close terminates the iteration process, releasing any pending underlying 3945 // resources. 3946 func (it *ERC721FullApprovalIterator) Close() error { 3947 it.sub.Unsubscribe() 3948 return nil 3949 } 3950 3951 // ERC721FullApproval represents a Approval event raised by the ERC721Full contract. 3952 type ERC721FullApproval struct { 3953 Owner common.Address 3954 Approved common.Address 3955 TokenId *big.Int 3956 Raw types.Log // Blockchain specific contextual infos 3957 } 3958 3959 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3960 // 3961 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 3962 func (_ERC721Full *ERC721FullFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721FullApprovalIterator, error) { 3963 3964 var ownerRule []interface{} 3965 for _, ownerItem := range owner { 3966 ownerRule = append(ownerRule, ownerItem) 3967 } 3968 var approvedRule []interface{} 3969 for _, approvedItem := range approved { 3970 approvedRule = append(approvedRule, approvedItem) 3971 } 3972 var tokenIdRule []interface{} 3973 for _, tokenIdItem := range tokenId { 3974 tokenIdRule = append(tokenIdRule, tokenIdItem) 3975 } 3976 3977 logs, sub, err := _ERC721Full.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 3978 if err != nil { 3979 return nil, err 3980 } 3981 return &ERC721FullApprovalIterator{contract: _ERC721Full.contract, event: "Approval", logs: logs, sub: sub}, nil 3982 } 3983 3984 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3985 // 3986 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 3987 func (_ERC721Full *ERC721FullFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721FullApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 3988 3989 var ownerRule []interface{} 3990 for _, ownerItem := range owner { 3991 ownerRule = append(ownerRule, ownerItem) 3992 } 3993 var approvedRule []interface{} 3994 for _, approvedItem := range approved { 3995 approvedRule = append(approvedRule, approvedItem) 3996 } 3997 var tokenIdRule []interface{} 3998 for _, tokenIdItem := range tokenId { 3999 tokenIdRule = append(tokenIdRule, tokenIdItem) 4000 } 4001 4002 logs, sub, err := _ERC721Full.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 4003 if err != nil { 4004 return nil, err 4005 } 4006 return event.NewSubscription(func(quit <-chan struct{}) error { 4007 defer sub.Unsubscribe() 4008 for { 4009 select { 4010 case log := <-logs: 4011 // New log arrived, parse the event and forward to the user 4012 event := new(ERC721FullApproval) 4013 if err := _ERC721Full.contract.UnpackLog(event, "Approval", log); err != nil { 4014 return err 4015 } 4016 event.Raw = log 4017 4018 select { 4019 case sink <- event: 4020 case err := <-sub.Err(): 4021 return err 4022 case <-quit: 4023 return nil 4024 } 4025 case err := <-sub.Err(): 4026 return err 4027 case <-quit: 4028 return nil 4029 } 4030 } 4031 }), nil 4032 } 4033 4034 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4035 // 4036 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 4037 func (_ERC721Full *ERC721FullFilterer) ParseApproval(log types.Log) (*ERC721FullApproval, error) { 4038 event := new(ERC721FullApproval) 4039 if err := _ERC721Full.contract.UnpackLog(event, "Approval", log); err != nil { 4040 return nil, err 4041 } 4042 return event, nil 4043 } 4044 4045 // 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. 4046 type ERC721FullApprovalForAllIterator struct { 4047 Event *ERC721FullApprovalForAll // Event containing the contract specifics and raw log 4048 4049 contract *bind.BoundContract // Generic contract to use for unpacking event data 4050 event string // Event name to use for unpacking event data 4051 4052 logs chan types.Log // Log channel receiving the found contract events 4053 sub klaytn.Subscription // Subscription for errors, completion and termination 4054 done bool // Whether the subscription completed delivering logs 4055 fail error // Occurred error to stop iteration 4056 } 4057 4058 // Next advances the iterator to the subsequent event, returning whether there 4059 // are any more events found. In case of a retrieval or parsing error, false is 4060 // returned and Error() can be queried for the exact failure. 4061 func (it *ERC721FullApprovalForAllIterator) Next() bool { 4062 // If the iterator failed, stop iterating 4063 if it.fail != nil { 4064 return false 4065 } 4066 // If the iterator completed, deliver directly whatever's available 4067 if it.done { 4068 select { 4069 case log := <-it.logs: 4070 it.Event = new(ERC721FullApprovalForAll) 4071 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4072 it.fail = err 4073 return false 4074 } 4075 it.Event.Raw = log 4076 return true 4077 4078 default: 4079 return false 4080 } 4081 } 4082 // Iterator still in progress, wait for either a data or an error event 4083 select { 4084 case log := <-it.logs: 4085 it.Event = new(ERC721FullApprovalForAll) 4086 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4087 it.fail = err 4088 return false 4089 } 4090 it.Event.Raw = log 4091 return true 4092 4093 case err := <-it.sub.Err(): 4094 it.done = true 4095 it.fail = err 4096 return it.Next() 4097 } 4098 } 4099 4100 // Error returns any retrieval or parsing error occurred during filtering. 4101 func (it *ERC721FullApprovalForAllIterator) Error() error { 4102 return it.fail 4103 } 4104 4105 // Close terminates the iteration process, releasing any pending underlying 4106 // resources. 4107 func (it *ERC721FullApprovalForAllIterator) Close() error { 4108 it.sub.Unsubscribe() 4109 return nil 4110 } 4111 4112 // ERC721FullApprovalForAll represents a ApprovalForAll event raised by the ERC721Full contract. 4113 type ERC721FullApprovalForAll struct { 4114 Owner common.Address 4115 Operator common.Address 4116 Approved bool 4117 Raw types.Log // Blockchain specific contextual infos 4118 } 4119 4120 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 4121 // 4122 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 4123 func (_ERC721Full *ERC721FullFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721FullApprovalForAllIterator, error) { 4124 4125 var ownerRule []interface{} 4126 for _, ownerItem := range owner { 4127 ownerRule = append(ownerRule, ownerItem) 4128 } 4129 var operatorRule []interface{} 4130 for _, operatorItem := range operator { 4131 operatorRule = append(operatorRule, operatorItem) 4132 } 4133 4134 logs, sub, err := _ERC721Full.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 4135 if err != nil { 4136 return nil, err 4137 } 4138 return &ERC721FullApprovalForAllIterator{contract: _ERC721Full.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 4139 } 4140 4141 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 4142 // 4143 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 4144 func (_ERC721Full *ERC721FullFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721FullApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 4145 4146 var ownerRule []interface{} 4147 for _, ownerItem := range owner { 4148 ownerRule = append(ownerRule, ownerItem) 4149 } 4150 var operatorRule []interface{} 4151 for _, operatorItem := range operator { 4152 operatorRule = append(operatorRule, operatorItem) 4153 } 4154 4155 logs, sub, err := _ERC721Full.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 4156 if err != nil { 4157 return nil, err 4158 } 4159 return event.NewSubscription(func(quit <-chan struct{}) error { 4160 defer sub.Unsubscribe() 4161 for { 4162 select { 4163 case log := <-logs: 4164 // New log arrived, parse the event and forward to the user 4165 event := new(ERC721FullApprovalForAll) 4166 if err := _ERC721Full.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 4167 return err 4168 } 4169 event.Raw = log 4170 4171 select { 4172 case sink <- event: 4173 case err := <-sub.Err(): 4174 return err 4175 case <-quit: 4176 return nil 4177 } 4178 case err := <-sub.Err(): 4179 return err 4180 case <-quit: 4181 return nil 4182 } 4183 } 4184 }), nil 4185 } 4186 4187 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 4188 // 4189 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 4190 func (_ERC721Full *ERC721FullFilterer) ParseApprovalForAll(log types.Log) (*ERC721FullApprovalForAll, error) { 4191 event := new(ERC721FullApprovalForAll) 4192 if err := _ERC721Full.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 4193 return nil, err 4194 } 4195 return event, nil 4196 } 4197 4198 // 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. 4199 type ERC721FullTransferIterator struct { 4200 Event *ERC721FullTransfer // Event containing the contract specifics and raw log 4201 4202 contract *bind.BoundContract // Generic contract to use for unpacking event data 4203 event string // Event name to use for unpacking event data 4204 4205 logs chan types.Log // Log channel receiving the found contract events 4206 sub klaytn.Subscription // Subscription for errors, completion and termination 4207 done bool // Whether the subscription completed delivering logs 4208 fail error // Occurred error to stop iteration 4209 } 4210 4211 // Next advances the iterator to the subsequent event, returning whether there 4212 // are any more events found. In case of a retrieval or parsing error, false is 4213 // returned and Error() can be queried for the exact failure. 4214 func (it *ERC721FullTransferIterator) Next() bool { 4215 // If the iterator failed, stop iterating 4216 if it.fail != nil { 4217 return false 4218 } 4219 // If the iterator completed, deliver directly whatever's available 4220 if it.done { 4221 select { 4222 case log := <-it.logs: 4223 it.Event = new(ERC721FullTransfer) 4224 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4225 it.fail = err 4226 return false 4227 } 4228 it.Event.Raw = log 4229 return true 4230 4231 default: 4232 return false 4233 } 4234 } 4235 // Iterator still in progress, wait for either a data or an error event 4236 select { 4237 case log := <-it.logs: 4238 it.Event = new(ERC721FullTransfer) 4239 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4240 it.fail = err 4241 return false 4242 } 4243 it.Event.Raw = log 4244 return true 4245 4246 case err := <-it.sub.Err(): 4247 it.done = true 4248 it.fail = err 4249 return it.Next() 4250 } 4251 } 4252 4253 // Error returns any retrieval or parsing error occurred during filtering. 4254 func (it *ERC721FullTransferIterator) Error() error { 4255 return it.fail 4256 } 4257 4258 // Close terminates the iteration process, releasing any pending underlying 4259 // resources. 4260 func (it *ERC721FullTransferIterator) Close() error { 4261 it.sub.Unsubscribe() 4262 return nil 4263 } 4264 4265 // ERC721FullTransfer represents a Transfer event raised by the ERC721Full contract. 4266 type ERC721FullTransfer struct { 4267 From common.Address 4268 To common.Address 4269 TokenId *big.Int 4270 Raw types.Log // Blockchain specific contextual infos 4271 } 4272 4273 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4274 // 4275 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 4276 func (_ERC721Full *ERC721FullFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721FullTransferIterator, error) { 4277 4278 var fromRule []interface{} 4279 for _, fromItem := range from { 4280 fromRule = append(fromRule, fromItem) 4281 } 4282 var toRule []interface{} 4283 for _, toItem := range to { 4284 toRule = append(toRule, toItem) 4285 } 4286 var tokenIdRule []interface{} 4287 for _, tokenIdItem := range tokenId { 4288 tokenIdRule = append(tokenIdRule, tokenIdItem) 4289 } 4290 4291 logs, sub, err := _ERC721Full.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 4292 if err != nil { 4293 return nil, err 4294 } 4295 return &ERC721FullTransferIterator{contract: _ERC721Full.contract, event: "Transfer", logs: logs, sub: sub}, nil 4296 } 4297 4298 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4299 // 4300 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 4301 func (_ERC721Full *ERC721FullFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721FullTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 4302 4303 var fromRule []interface{} 4304 for _, fromItem := range from { 4305 fromRule = append(fromRule, fromItem) 4306 } 4307 var toRule []interface{} 4308 for _, toItem := range to { 4309 toRule = append(toRule, toItem) 4310 } 4311 var tokenIdRule []interface{} 4312 for _, tokenIdItem := range tokenId { 4313 tokenIdRule = append(tokenIdRule, tokenIdItem) 4314 } 4315 4316 logs, sub, err := _ERC721Full.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 4317 if err != nil { 4318 return nil, err 4319 } 4320 return event.NewSubscription(func(quit <-chan struct{}) error { 4321 defer sub.Unsubscribe() 4322 for { 4323 select { 4324 case log := <-logs: 4325 // New log arrived, parse the event and forward to the user 4326 event := new(ERC721FullTransfer) 4327 if err := _ERC721Full.contract.UnpackLog(event, "Transfer", log); err != nil { 4328 return err 4329 } 4330 event.Raw = log 4331 4332 select { 4333 case sink <- event: 4334 case err := <-sub.Err(): 4335 return err 4336 case <-quit: 4337 return nil 4338 } 4339 case err := <-sub.Err(): 4340 return err 4341 case <-quit: 4342 return nil 4343 } 4344 } 4345 }), nil 4346 } 4347 4348 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4349 // 4350 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 4351 func (_ERC721Full *ERC721FullFilterer) ParseTransfer(log types.Log) (*ERC721FullTransfer, error) { 4352 event := new(ERC721FullTransfer) 4353 if err := _ERC721Full.contract.UnpackLog(event, "Transfer", log); err != nil { 4354 return nil, err 4355 } 4356 return event, nil 4357 } 4358 4359 // ERC721MetadataABI is the input ABI used to generate the binding from. 4360 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\"},{\"inputs\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"symbol\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\"}]" 4361 4362 // ERC721MetadataBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 4363 const ERC721MetadataBinRuntime = `608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146102bc578063b88d4fde146102ea578063c87b56dd146103b0578063e985e9c5146103cd576100cf565b80636352211e1461025f57806370a082311461027c57806395d89b41146102b4576100cf565b806301ffc9a7146100d457806306fdde031461010f578063081812fc1461018c578063095ea7b3146101c557806323b872dd146101f357806342842e0e14610229575b600080fd5b6100fb600480360360208110156100ea57600080fd5b50356001600160e01b0319166103fb565b604080519115158252519081900360200190f35b61011761041a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610151578181015183820152602001610139565b50505050905090810190601f16801561017e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a9600480360360208110156101a257600080fd5b50356104b0565b604080516001600160a01b039092168252519081900360200190f35b6101f1600480360360408110156101db57600080fd5b506001600160a01b038135169060200135610515565b005b6101f16004803603606081101561020957600080fd5b506001600160a01b0381358116916020810135909116906040013561062c565b6101f16004803603606081101561023f57600080fd5b506001600160a01b03813581169160208101359091169060400135610684565b6101a96004803603602081101561027557600080fd5b503561069f565b6102a26004803603602081101561029257600080fd5b50356001600160a01b03166106fc565b60408051918252519081900360200190f35b610117610767565b6101f1600480360360408110156102d257600080fd5b506001600160a01b03813516906020013515156107c8565b6101f16004803603608081101561030057600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561033b57600080fd5b82018360208201111561034d57600080fd5b8035906020019184600183028401116401000000008311171561036f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610897945050505050565b610117600480360360208110156103c657600080fd5b50356108f2565b6100fb600480360360408110156103e357600080fd5b506001600160a01b03813581169160200135166109da565b6001600160e01b03191660009081526020819052604090205460ff1690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104a65780601f1061047b576101008083540402835291602001916104a6565b820191906000526020600020905b81548152906001019060200180831161048957829003601f168201915b5050505050905090565b60006104bb82610a08565b6104f957604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610f24602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006105208261069f565b9050806001600160a01b0316836001600160a01b0316141561057657604051600160e51b62461bcd028152600401808060200182810382526021815260200180610fa86021913960400191505060405180910390fd5b336001600160a01b0382161480610592575061059281336109da565b6105d057604051600160e51b62461bcd028152600401808060200182810382526038815260200180610e996038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6106363382610a25565b61067457604051600160e51b62461bcd028152600401808060200182810382526031815260200180610fc96031913960400191505060405180910390fd5b61067f838383610acc565b505050565b61067f83838360405180602001604052806000815250610897565b6000818152600160205260408120546001600160a01b0316806106f657604051600160e51b62461bcd028152600401808060200182810382526029815260200180610efb6029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661074657604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610ed1602a913960400191505060405180910390fd5b6001600160a01b03821660009081526003602052604090206106f690610c16565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104a65780601f1061047b576101008083540402835291602001916104a6565b6001600160a01b0382163314156108295760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6108a284848461062c565b6108ae84848484610c1a565b6108ec57604051600160e51b62461bcd028152600401808060200182810382526032815260200180610e176032913960400191505060405180910390fd5b50505050565b60606108fd82610a08565b61093b57604051600160e51b62461bcd02815260040180806020018281038252602f815260200180610f79602f913960400191505060405180910390fd5b60008281526007602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156109ce5780601f106109a3576101008083540402835291602001916109ce565b820191906000526020600020905b8154815290600101906020018083116109b157829003601f168201915b50505050509050919050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b6000610a3082610a08565b610a6e57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610e6d602c913960400191505060405180910390fd5b6000610a798361069f565b9050806001600160a01b0316846001600160a01b03161480610ab45750836001600160a01b0316610aa9846104b0565b6001600160a01b0316145b80610ac45750610ac481856109da565b949350505050565b826001600160a01b0316610adf8261069f565b6001600160a01b031614610b2757604051600160e51b62461bcd028152600401808060200182810382526029815260200180610f506029913960400191505060405180910390fd5b6001600160a01b038216610b6f57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610e496024913960400191505060405180910390fd5b610b7881610d53565b6001600160a01b0383166000908152600360205260409020610b9990610d90565b6001600160a01b0382166000908152600360205260409020610bba90610da7565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5490565b6000610c2e846001600160a01b0316610db0565b610c3a57506001610ac4565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610cb7578181015183820152602001610c9f565b50505050905090810190601f168015610ce45780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610d0657600080fd5b505af1158015610d1a573d6000803e3d6000fd5b505050506040513d6020811015610d3057600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b031615610d8d57600081815260026020526040902080546001600160a01b03191690555b50565b8054610da390600163ffffffff610db616565b9055565b80546001019055565b3b151590565b600082821115610e105760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a7230582037ba54c848524be0056a573891a8b0f5c56b08f8613060e9876ee13fe582c6480029` 4364 4365 // ERC721MetadataFuncSigs maps the 4-byte function signature to its string representation. 4366 var ERC721MetadataFuncSigs = map[string]string{ 4367 "095ea7b3": "approve(address,uint256)", 4368 "70a08231": "balanceOf(address)", 4369 "081812fc": "getApproved(uint256)", 4370 "e985e9c5": "isApprovedForAll(address,address)", 4371 "06fdde03": "name()", 4372 "6352211e": "ownerOf(uint256)", 4373 "42842e0e": "safeTransferFrom(address,address,uint256)", 4374 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 4375 "a22cb465": "setApprovalForAll(address,bool)", 4376 "01ffc9a7": "supportsInterface(bytes4)", 4377 "95d89b41": "symbol()", 4378 "c87b56dd": "tokenURI(uint256)", 4379 "23b872dd": "transferFrom(address,address,uint256)", 4380 } 4381 4382 // ERC721MetadataBin is the compiled bytecode used for deploying new contracts. 4383 var ERC721MetadataBin = "0x60806040523480156200001157600080fd5b50604051620012f8380380620012f8833981018060405260408110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b820160208101848111156200006457600080fd5b81516401000000008111828201871017156200007f57600080fd5b505092919060200180516401000000008111156200009c57600080fd5b82016020810184811115620000b057600080fd5b8151640100000000811182820187101715620000cb57600080fd5b5050929190505050620000eb6301ffc9a760e01b6200014f60201b60201c565b620001036380ac58cd60e01b6200014f60201b60201c565b8151620001189060059060208501906200021e565b5080516200012e9060069060208401906200021e565b5062000147635b5e139f60e01b6200014f60201b60201c565b5050620002c3565b7fffffffff000000000000000000000000000000000000000000000000000000008082161415620001e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200026157805160ff191683800117855562000291565b8280016001018555821562000291579182015b828111156200029157825182559160200191906001019062000274565b506200029f929150620002a3565b5090565b620002c091905b808211156200029f5760008155600101620002aa565b90565b61102580620002d36000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146102bc578063b88d4fde146102ea578063c87b56dd146103b0578063e985e9c5146103cd576100cf565b80636352211e1461025f57806370a082311461027c57806395d89b41146102b4576100cf565b806301ffc9a7146100d457806306fdde031461010f578063081812fc1461018c578063095ea7b3146101c557806323b872dd146101f357806342842e0e14610229575b600080fd5b6100fb600480360360208110156100ea57600080fd5b50356001600160e01b0319166103fb565b604080519115158252519081900360200190f35b61011761041a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610151578181015183820152602001610139565b50505050905090810190601f16801561017e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a9600480360360208110156101a257600080fd5b50356104b0565b604080516001600160a01b039092168252519081900360200190f35b6101f1600480360360408110156101db57600080fd5b506001600160a01b038135169060200135610515565b005b6101f16004803603606081101561020957600080fd5b506001600160a01b0381358116916020810135909116906040013561062c565b6101f16004803603606081101561023f57600080fd5b506001600160a01b03813581169160208101359091169060400135610684565b6101a96004803603602081101561027557600080fd5b503561069f565b6102a26004803603602081101561029257600080fd5b50356001600160a01b03166106fc565b60408051918252519081900360200190f35b610117610767565b6101f1600480360360408110156102d257600080fd5b506001600160a01b03813516906020013515156107c8565b6101f16004803603608081101561030057600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561033b57600080fd5b82018360208201111561034d57600080fd5b8035906020019184600183028401116401000000008311171561036f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610897945050505050565b610117600480360360208110156103c657600080fd5b50356108f2565b6100fb600480360360408110156103e357600080fd5b506001600160a01b03813581169160200135166109da565b6001600160e01b03191660009081526020819052604090205460ff1690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104a65780601f1061047b576101008083540402835291602001916104a6565b820191906000526020600020905b81548152906001019060200180831161048957829003601f168201915b5050505050905090565b60006104bb82610a08565b6104f957604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610f24602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006105208261069f565b9050806001600160a01b0316836001600160a01b0316141561057657604051600160e51b62461bcd028152600401808060200182810382526021815260200180610fa86021913960400191505060405180910390fd5b336001600160a01b0382161480610592575061059281336109da565b6105d057604051600160e51b62461bcd028152600401808060200182810382526038815260200180610e996038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6106363382610a25565b61067457604051600160e51b62461bcd028152600401808060200182810382526031815260200180610fc96031913960400191505060405180910390fd5b61067f838383610acc565b505050565b61067f83838360405180602001604052806000815250610897565b6000818152600160205260408120546001600160a01b0316806106f657604051600160e51b62461bcd028152600401808060200182810382526029815260200180610efb6029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661074657604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610ed1602a913960400191505060405180910390fd5b6001600160a01b03821660009081526003602052604090206106f690610c16565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104a65780601f1061047b576101008083540402835291602001916104a6565b6001600160a01b0382163314156108295760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6108a284848461062c565b6108ae84848484610c1a565b6108ec57604051600160e51b62461bcd028152600401808060200182810382526032815260200180610e176032913960400191505060405180910390fd5b50505050565b60606108fd82610a08565b61093b57604051600160e51b62461bcd02815260040180806020018281038252602f815260200180610f79602f913960400191505060405180910390fd5b60008281526007602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156109ce5780601f106109a3576101008083540402835291602001916109ce565b820191906000526020600020905b8154815290600101906020018083116109b157829003601f168201915b50505050509050919050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b6000610a3082610a08565b610a6e57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610e6d602c913960400191505060405180910390fd5b6000610a798361069f565b9050806001600160a01b0316846001600160a01b03161480610ab45750836001600160a01b0316610aa9846104b0565b6001600160a01b0316145b80610ac45750610ac481856109da565b949350505050565b826001600160a01b0316610adf8261069f565b6001600160a01b031614610b2757604051600160e51b62461bcd028152600401808060200182810382526029815260200180610f506029913960400191505060405180910390fd5b6001600160a01b038216610b6f57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610e496024913960400191505060405180910390fd5b610b7881610d53565b6001600160a01b0383166000908152600360205260409020610b9990610d90565b6001600160a01b0382166000908152600360205260409020610bba90610da7565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5490565b6000610c2e846001600160a01b0316610db0565b610c3a57506001610ac4565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610cb7578181015183820152602001610c9f565b50505050905090810190601f168015610ce45780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610d0657600080fd5b505af1158015610d1a573d6000803e3d6000fd5b505050506040513d6020811015610d3057600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b031615610d8d57600081815260026020526040902080546001600160a01b03191690555b50565b8054610da390600163ffffffff610db616565b9055565b80546001019055565b3b151590565b600082821115610e105760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a7230582037ba54c848524be0056a573891a8b0f5c56b08f8613060e9876ee13fe582c6480029" 4384 4385 // DeployERC721Metadata deploys a new Klaytn contract, binding an instance of ERC721Metadata to it. 4386 func DeployERC721Metadata(auth *bind.TransactOpts, backend bind.ContractBackend, name string, symbol string) (common.Address, *types.Transaction, *ERC721Metadata, error) { 4387 parsed, err := abi.JSON(strings.NewReader(ERC721MetadataABI)) 4388 if err != nil { 4389 return common.Address{}, nil, nil, err 4390 } 4391 4392 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC721MetadataBin), backend, name, symbol) 4393 if err != nil { 4394 return common.Address{}, nil, nil, err 4395 } 4396 return address, tx, &ERC721Metadata{ERC721MetadataCaller: ERC721MetadataCaller{contract: contract}, ERC721MetadataTransactor: ERC721MetadataTransactor{contract: contract}, ERC721MetadataFilterer: ERC721MetadataFilterer{contract: contract}}, nil 4397 } 4398 4399 // ERC721Metadata is an auto generated Go binding around a Klaytn contract. 4400 type ERC721Metadata struct { 4401 ERC721MetadataCaller // Read-only binding to the contract 4402 ERC721MetadataTransactor // Write-only binding to the contract 4403 ERC721MetadataFilterer // Log filterer for contract events 4404 } 4405 4406 // ERC721MetadataCaller is an auto generated read-only Go binding around a Klaytn contract. 4407 type ERC721MetadataCaller struct { 4408 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4409 } 4410 4411 // ERC721MetadataTransactor is an auto generated write-only Go binding around a Klaytn contract. 4412 type ERC721MetadataTransactor struct { 4413 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4414 } 4415 4416 // ERC721MetadataFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 4417 type ERC721MetadataFilterer struct { 4418 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4419 } 4420 4421 // ERC721MetadataSession is an auto generated Go binding around a Klaytn contract, 4422 // with pre-set call and transact options. 4423 type ERC721MetadataSession struct { 4424 Contract *ERC721Metadata // Generic contract binding to set the session for 4425 CallOpts bind.CallOpts // Call options to use throughout this session 4426 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4427 } 4428 4429 // ERC721MetadataCallerSession is an auto generated read-only Go binding around a Klaytn contract, 4430 // with pre-set call options. 4431 type ERC721MetadataCallerSession struct { 4432 Contract *ERC721MetadataCaller // Generic contract caller binding to set the session for 4433 CallOpts bind.CallOpts // Call options to use throughout this session 4434 } 4435 4436 // ERC721MetadataTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 4437 // with pre-set transact options. 4438 type ERC721MetadataTransactorSession struct { 4439 Contract *ERC721MetadataTransactor // Generic contract transactor binding to set the session for 4440 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4441 } 4442 4443 // ERC721MetadataRaw is an auto generated low-level Go binding around a Klaytn contract. 4444 type ERC721MetadataRaw struct { 4445 Contract *ERC721Metadata // Generic contract binding to access the raw methods on 4446 } 4447 4448 // ERC721MetadataCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 4449 type ERC721MetadataCallerRaw struct { 4450 Contract *ERC721MetadataCaller // Generic read-only contract binding to access the raw methods on 4451 } 4452 4453 // ERC721MetadataTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 4454 type ERC721MetadataTransactorRaw struct { 4455 Contract *ERC721MetadataTransactor // Generic write-only contract binding to access the raw methods on 4456 } 4457 4458 // NewERC721Metadata creates a new instance of ERC721Metadata, bound to a specific deployed contract. 4459 func NewERC721Metadata(address common.Address, backend bind.ContractBackend) (*ERC721Metadata, error) { 4460 contract, err := bindERC721Metadata(address, backend, backend, backend) 4461 if err != nil { 4462 return nil, err 4463 } 4464 return &ERC721Metadata{ERC721MetadataCaller: ERC721MetadataCaller{contract: contract}, ERC721MetadataTransactor: ERC721MetadataTransactor{contract: contract}, ERC721MetadataFilterer: ERC721MetadataFilterer{contract: contract}}, nil 4465 } 4466 4467 // NewERC721MetadataCaller creates a new read-only instance of ERC721Metadata, bound to a specific deployed contract. 4468 func NewERC721MetadataCaller(address common.Address, caller bind.ContractCaller) (*ERC721MetadataCaller, error) { 4469 contract, err := bindERC721Metadata(address, caller, nil, nil) 4470 if err != nil { 4471 return nil, err 4472 } 4473 return &ERC721MetadataCaller{contract: contract}, nil 4474 } 4475 4476 // NewERC721MetadataTransactor creates a new write-only instance of ERC721Metadata, bound to a specific deployed contract. 4477 func NewERC721MetadataTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721MetadataTransactor, error) { 4478 contract, err := bindERC721Metadata(address, nil, transactor, nil) 4479 if err != nil { 4480 return nil, err 4481 } 4482 return &ERC721MetadataTransactor{contract: contract}, nil 4483 } 4484 4485 // NewERC721MetadataFilterer creates a new log filterer instance of ERC721Metadata, bound to a specific deployed contract. 4486 func NewERC721MetadataFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721MetadataFilterer, error) { 4487 contract, err := bindERC721Metadata(address, nil, nil, filterer) 4488 if err != nil { 4489 return nil, err 4490 } 4491 return &ERC721MetadataFilterer{contract: contract}, nil 4492 } 4493 4494 // bindERC721Metadata binds a generic wrapper to an already deployed contract. 4495 func bindERC721Metadata(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 4496 parsed, err := abi.JSON(strings.NewReader(ERC721MetadataABI)) 4497 if err != nil { 4498 return nil, err 4499 } 4500 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 4501 } 4502 4503 // Call invokes the (constant) contract method with params as input values and 4504 // sets the output to result. The result type might be a single field for simple 4505 // returns, a slice of interfaces for anonymous returns and a struct for named 4506 // returns. 4507 func (_ERC721Metadata *ERC721MetadataRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 4508 return _ERC721Metadata.Contract.ERC721MetadataCaller.contract.Call(opts, result, method, params...) 4509 } 4510 4511 // Transfer initiates a plain transaction to move funds to the contract, calling 4512 // its default method if one is available. 4513 func (_ERC721Metadata *ERC721MetadataRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4514 return _ERC721Metadata.Contract.ERC721MetadataTransactor.contract.Transfer(opts) 4515 } 4516 4517 // Transact invokes the (paid) contract method with params as input values. 4518 func (_ERC721Metadata *ERC721MetadataRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4519 return _ERC721Metadata.Contract.ERC721MetadataTransactor.contract.Transact(opts, method, params...) 4520 } 4521 4522 // Call invokes the (constant) contract method with params as input values and 4523 // sets the output to result. The result type might be a single field for simple 4524 // returns, a slice of interfaces for anonymous returns and a struct for named 4525 // returns. 4526 func (_ERC721Metadata *ERC721MetadataCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 4527 return _ERC721Metadata.Contract.contract.Call(opts, result, method, params...) 4528 } 4529 4530 // Transfer initiates a plain transaction to move funds to the contract, calling 4531 // its default method if one is available. 4532 func (_ERC721Metadata *ERC721MetadataTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4533 return _ERC721Metadata.Contract.contract.Transfer(opts) 4534 } 4535 4536 // Transact invokes the (paid) contract method with params as input values. 4537 func (_ERC721Metadata *ERC721MetadataTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4538 return _ERC721Metadata.Contract.contract.Transact(opts, method, params...) 4539 } 4540 4541 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 4542 // 4543 // Solidity: function balanceOf(address owner) view returns(uint256) 4544 func (_ERC721Metadata *ERC721MetadataCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 4545 var ( 4546 ret0 = new(*big.Int) 4547 ) 4548 out := ret0 4549 err := _ERC721Metadata.contract.Call(opts, out, "balanceOf", owner) 4550 return *ret0, err 4551 } 4552 4553 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 4554 // 4555 // Solidity: function balanceOf(address owner) view returns(uint256) 4556 func (_ERC721Metadata *ERC721MetadataSession) BalanceOf(owner common.Address) (*big.Int, error) { 4557 return _ERC721Metadata.Contract.BalanceOf(&_ERC721Metadata.CallOpts, owner) 4558 } 4559 4560 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 4561 // 4562 // Solidity: function balanceOf(address owner) view returns(uint256) 4563 func (_ERC721Metadata *ERC721MetadataCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 4564 return _ERC721Metadata.Contract.BalanceOf(&_ERC721Metadata.CallOpts, owner) 4565 } 4566 4567 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 4568 // 4569 // Solidity: function getApproved(uint256 tokenId) view returns(address) 4570 func (_ERC721Metadata *ERC721MetadataCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 4571 var ( 4572 ret0 = new(common.Address) 4573 ) 4574 out := ret0 4575 err := _ERC721Metadata.contract.Call(opts, out, "getApproved", tokenId) 4576 return *ret0, err 4577 } 4578 4579 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 4580 // 4581 // Solidity: function getApproved(uint256 tokenId) view returns(address) 4582 func (_ERC721Metadata *ERC721MetadataSession) GetApproved(tokenId *big.Int) (common.Address, error) { 4583 return _ERC721Metadata.Contract.GetApproved(&_ERC721Metadata.CallOpts, tokenId) 4584 } 4585 4586 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 4587 // 4588 // Solidity: function getApproved(uint256 tokenId) view returns(address) 4589 func (_ERC721Metadata *ERC721MetadataCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 4590 return _ERC721Metadata.Contract.GetApproved(&_ERC721Metadata.CallOpts, tokenId) 4591 } 4592 4593 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 4594 // 4595 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 4596 func (_ERC721Metadata *ERC721MetadataCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 4597 var ( 4598 ret0 = new(bool) 4599 ) 4600 out := ret0 4601 err := _ERC721Metadata.contract.Call(opts, out, "isApprovedForAll", owner, operator) 4602 return *ret0, err 4603 } 4604 4605 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 4606 // 4607 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 4608 func (_ERC721Metadata *ERC721MetadataSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 4609 return _ERC721Metadata.Contract.IsApprovedForAll(&_ERC721Metadata.CallOpts, owner, operator) 4610 } 4611 4612 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 4613 // 4614 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 4615 func (_ERC721Metadata *ERC721MetadataCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 4616 return _ERC721Metadata.Contract.IsApprovedForAll(&_ERC721Metadata.CallOpts, owner, operator) 4617 } 4618 4619 // Name is a free data retrieval call binding the contract method 0x06fdde03. 4620 // 4621 // Solidity: function name() view returns(string) 4622 func (_ERC721Metadata *ERC721MetadataCaller) Name(opts *bind.CallOpts) (string, error) { 4623 var ( 4624 ret0 = new(string) 4625 ) 4626 out := ret0 4627 err := _ERC721Metadata.contract.Call(opts, out, "name") 4628 return *ret0, err 4629 } 4630 4631 // Name is a free data retrieval call binding the contract method 0x06fdde03. 4632 // 4633 // Solidity: function name() view returns(string) 4634 func (_ERC721Metadata *ERC721MetadataSession) Name() (string, error) { 4635 return _ERC721Metadata.Contract.Name(&_ERC721Metadata.CallOpts) 4636 } 4637 4638 // Name is a free data retrieval call binding the contract method 0x06fdde03. 4639 // 4640 // Solidity: function name() view returns(string) 4641 func (_ERC721Metadata *ERC721MetadataCallerSession) Name() (string, error) { 4642 return _ERC721Metadata.Contract.Name(&_ERC721Metadata.CallOpts) 4643 } 4644 4645 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 4646 // 4647 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 4648 func (_ERC721Metadata *ERC721MetadataCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 4649 var ( 4650 ret0 = new(common.Address) 4651 ) 4652 out := ret0 4653 err := _ERC721Metadata.contract.Call(opts, out, "ownerOf", tokenId) 4654 return *ret0, err 4655 } 4656 4657 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 4658 // 4659 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 4660 func (_ERC721Metadata *ERC721MetadataSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 4661 return _ERC721Metadata.Contract.OwnerOf(&_ERC721Metadata.CallOpts, tokenId) 4662 } 4663 4664 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 4665 // 4666 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 4667 func (_ERC721Metadata *ERC721MetadataCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 4668 return _ERC721Metadata.Contract.OwnerOf(&_ERC721Metadata.CallOpts, tokenId) 4669 } 4670 4671 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4672 // 4673 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4674 func (_ERC721Metadata *ERC721MetadataCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 4675 var ( 4676 ret0 = new(bool) 4677 ) 4678 out := ret0 4679 err := _ERC721Metadata.contract.Call(opts, out, "supportsInterface", interfaceId) 4680 return *ret0, err 4681 } 4682 4683 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4684 // 4685 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4686 func (_ERC721Metadata *ERC721MetadataSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 4687 return _ERC721Metadata.Contract.SupportsInterface(&_ERC721Metadata.CallOpts, interfaceId) 4688 } 4689 4690 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4691 // 4692 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4693 func (_ERC721Metadata *ERC721MetadataCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 4694 return _ERC721Metadata.Contract.SupportsInterface(&_ERC721Metadata.CallOpts, interfaceId) 4695 } 4696 4697 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 4698 // 4699 // Solidity: function symbol() view returns(string) 4700 func (_ERC721Metadata *ERC721MetadataCaller) Symbol(opts *bind.CallOpts) (string, error) { 4701 var ( 4702 ret0 = new(string) 4703 ) 4704 out := ret0 4705 err := _ERC721Metadata.contract.Call(opts, out, "symbol") 4706 return *ret0, err 4707 } 4708 4709 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 4710 // 4711 // Solidity: function symbol() view returns(string) 4712 func (_ERC721Metadata *ERC721MetadataSession) Symbol() (string, error) { 4713 return _ERC721Metadata.Contract.Symbol(&_ERC721Metadata.CallOpts) 4714 } 4715 4716 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 4717 // 4718 // Solidity: function symbol() view returns(string) 4719 func (_ERC721Metadata *ERC721MetadataCallerSession) Symbol() (string, error) { 4720 return _ERC721Metadata.Contract.Symbol(&_ERC721Metadata.CallOpts) 4721 } 4722 4723 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 4724 // 4725 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 4726 func (_ERC721Metadata *ERC721MetadataCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 4727 var ( 4728 ret0 = new(string) 4729 ) 4730 out := ret0 4731 err := _ERC721Metadata.contract.Call(opts, out, "tokenURI", tokenId) 4732 return *ret0, err 4733 } 4734 4735 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 4736 // 4737 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 4738 func (_ERC721Metadata *ERC721MetadataSession) TokenURI(tokenId *big.Int) (string, error) { 4739 return _ERC721Metadata.Contract.TokenURI(&_ERC721Metadata.CallOpts, tokenId) 4740 } 4741 4742 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 4743 // 4744 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 4745 func (_ERC721Metadata *ERC721MetadataCallerSession) TokenURI(tokenId *big.Int) (string, error) { 4746 return _ERC721Metadata.Contract.TokenURI(&_ERC721Metadata.CallOpts, tokenId) 4747 } 4748 4749 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 4750 // 4751 // Solidity: function approve(address to, uint256 tokenId) returns() 4752 func (_ERC721Metadata *ERC721MetadataTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4753 return _ERC721Metadata.contract.Transact(opts, "approve", to, tokenId) 4754 } 4755 4756 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 4757 // 4758 // Solidity: function approve(address to, uint256 tokenId) returns() 4759 func (_ERC721Metadata *ERC721MetadataSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4760 return _ERC721Metadata.Contract.Approve(&_ERC721Metadata.TransactOpts, to, tokenId) 4761 } 4762 4763 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 4764 // 4765 // Solidity: function approve(address to, uint256 tokenId) returns() 4766 func (_ERC721Metadata *ERC721MetadataTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4767 return _ERC721Metadata.Contract.Approve(&_ERC721Metadata.TransactOpts, to, tokenId) 4768 } 4769 4770 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 4771 // 4772 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 4773 func (_ERC721Metadata *ERC721MetadataTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4774 return _ERC721Metadata.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 4775 } 4776 4777 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 4778 // 4779 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 4780 func (_ERC721Metadata *ERC721MetadataSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4781 return _ERC721Metadata.Contract.SafeTransferFrom(&_ERC721Metadata.TransactOpts, from, to, tokenId) 4782 } 4783 4784 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 4785 // 4786 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 4787 func (_ERC721Metadata *ERC721MetadataTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4788 return _ERC721Metadata.Contract.SafeTransferFrom(&_ERC721Metadata.TransactOpts, from, to, tokenId) 4789 } 4790 4791 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 4792 // 4793 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 4794 func (_ERC721Metadata *ERC721MetadataTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 4795 return _ERC721Metadata.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 4796 } 4797 4798 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 4799 // 4800 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 4801 func (_ERC721Metadata *ERC721MetadataSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 4802 return _ERC721Metadata.Contract.SafeTransferFrom0(&_ERC721Metadata.TransactOpts, from, to, tokenId, _data) 4803 } 4804 4805 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 4806 // 4807 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 4808 func (_ERC721Metadata *ERC721MetadataTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 4809 return _ERC721Metadata.Contract.SafeTransferFrom0(&_ERC721Metadata.TransactOpts, from, to, tokenId, _data) 4810 } 4811 4812 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 4813 // 4814 // Solidity: function setApprovalForAll(address to, bool approved) returns() 4815 func (_ERC721Metadata *ERC721MetadataTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 4816 return _ERC721Metadata.contract.Transact(opts, "setApprovalForAll", to, approved) 4817 } 4818 4819 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 4820 // 4821 // Solidity: function setApprovalForAll(address to, bool approved) returns() 4822 func (_ERC721Metadata *ERC721MetadataSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 4823 return _ERC721Metadata.Contract.SetApprovalForAll(&_ERC721Metadata.TransactOpts, to, approved) 4824 } 4825 4826 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 4827 // 4828 // Solidity: function setApprovalForAll(address to, bool approved) returns() 4829 func (_ERC721Metadata *ERC721MetadataTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 4830 return _ERC721Metadata.Contract.SetApprovalForAll(&_ERC721Metadata.TransactOpts, to, approved) 4831 } 4832 4833 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4834 // 4835 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 4836 func (_ERC721Metadata *ERC721MetadataTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4837 return _ERC721Metadata.contract.Transact(opts, "transferFrom", from, to, tokenId) 4838 } 4839 4840 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4841 // 4842 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 4843 func (_ERC721Metadata *ERC721MetadataSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4844 return _ERC721Metadata.Contract.TransferFrom(&_ERC721Metadata.TransactOpts, from, to, tokenId) 4845 } 4846 4847 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4848 // 4849 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 4850 func (_ERC721Metadata *ERC721MetadataTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4851 return _ERC721Metadata.Contract.TransferFrom(&_ERC721Metadata.TransactOpts, from, to, tokenId) 4852 } 4853 4854 // 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. 4855 type ERC721MetadataApprovalIterator struct { 4856 Event *ERC721MetadataApproval // Event containing the contract specifics and raw log 4857 4858 contract *bind.BoundContract // Generic contract to use for unpacking event data 4859 event string // Event name to use for unpacking event data 4860 4861 logs chan types.Log // Log channel receiving the found contract events 4862 sub klaytn.Subscription // Subscription for errors, completion and termination 4863 done bool // Whether the subscription completed delivering logs 4864 fail error // Occurred error to stop iteration 4865 } 4866 4867 // Next advances the iterator to the subsequent event, returning whether there 4868 // are any more events found. In case of a retrieval or parsing error, false is 4869 // returned and Error() can be queried for the exact failure. 4870 func (it *ERC721MetadataApprovalIterator) Next() bool { 4871 // If the iterator failed, stop iterating 4872 if it.fail != nil { 4873 return false 4874 } 4875 // If the iterator completed, deliver directly whatever's available 4876 if it.done { 4877 select { 4878 case log := <-it.logs: 4879 it.Event = new(ERC721MetadataApproval) 4880 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4881 it.fail = err 4882 return false 4883 } 4884 it.Event.Raw = log 4885 return true 4886 4887 default: 4888 return false 4889 } 4890 } 4891 // Iterator still in progress, wait for either a data or an error event 4892 select { 4893 case log := <-it.logs: 4894 it.Event = new(ERC721MetadataApproval) 4895 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4896 it.fail = err 4897 return false 4898 } 4899 it.Event.Raw = log 4900 return true 4901 4902 case err := <-it.sub.Err(): 4903 it.done = true 4904 it.fail = err 4905 return it.Next() 4906 } 4907 } 4908 4909 // Error returns any retrieval or parsing error occurred during filtering. 4910 func (it *ERC721MetadataApprovalIterator) Error() error { 4911 return it.fail 4912 } 4913 4914 // Close terminates the iteration process, releasing any pending underlying 4915 // resources. 4916 func (it *ERC721MetadataApprovalIterator) Close() error { 4917 it.sub.Unsubscribe() 4918 return nil 4919 } 4920 4921 // ERC721MetadataApproval represents a Approval event raised by the ERC721Metadata contract. 4922 type ERC721MetadataApproval struct { 4923 Owner common.Address 4924 Approved common.Address 4925 TokenId *big.Int 4926 Raw types.Log // Blockchain specific contextual infos 4927 } 4928 4929 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4930 // 4931 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 4932 func (_ERC721Metadata *ERC721MetadataFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721MetadataApprovalIterator, error) { 4933 4934 var ownerRule []interface{} 4935 for _, ownerItem := range owner { 4936 ownerRule = append(ownerRule, ownerItem) 4937 } 4938 var approvedRule []interface{} 4939 for _, approvedItem := range approved { 4940 approvedRule = append(approvedRule, approvedItem) 4941 } 4942 var tokenIdRule []interface{} 4943 for _, tokenIdItem := range tokenId { 4944 tokenIdRule = append(tokenIdRule, tokenIdItem) 4945 } 4946 4947 logs, sub, err := _ERC721Metadata.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 4948 if err != nil { 4949 return nil, err 4950 } 4951 return &ERC721MetadataApprovalIterator{contract: _ERC721Metadata.contract, event: "Approval", logs: logs, sub: sub}, nil 4952 } 4953 4954 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4955 // 4956 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 4957 func (_ERC721Metadata *ERC721MetadataFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721MetadataApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 4958 4959 var ownerRule []interface{} 4960 for _, ownerItem := range owner { 4961 ownerRule = append(ownerRule, ownerItem) 4962 } 4963 var approvedRule []interface{} 4964 for _, approvedItem := range approved { 4965 approvedRule = append(approvedRule, approvedItem) 4966 } 4967 var tokenIdRule []interface{} 4968 for _, tokenIdItem := range tokenId { 4969 tokenIdRule = append(tokenIdRule, tokenIdItem) 4970 } 4971 4972 logs, sub, err := _ERC721Metadata.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 4973 if err != nil { 4974 return nil, err 4975 } 4976 return event.NewSubscription(func(quit <-chan struct{}) error { 4977 defer sub.Unsubscribe() 4978 for { 4979 select { 4980 case log := <-logs: 4981 // New log arrived, parse the event and forward to the user 4982 event := new(ERC721MetadataApproval) 4983 if err := _ERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { 4984 return err 4985 } 4986 event.Raw = log 4987 4988 select { 4989 case sink <- event: 4990 case err := <-sub.Err(): 4991 return err 4992 case <-quit: 4993 return nil 4994 } 4995 case err := <-sub.Err(): 4996 return err 4997 case <-quit: 4998 return nil 4999 } 5000 } 5001 }), nil 5002 } 5003 5004 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5005 // 5006 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 5007 func (_ERC721Metadata *ERC721MetadataFilterer) ParseApproval(log types.Log) (*ERC721MetadataApproval, error) { 5008 event := new(ERC721MetadataApproval) 5009 if err := _ERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { 5010 return nil, err 5011 } 5012 return event, nil 5013 } 5014 5015 // 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. 5016 type ERC721MetadataApprovalForAllIterator struct { 5017 Event *ERC721MetadataApprovalForAll // Event containing the contract specifics and raw log 5018 5019 contract *bind.BoundContract // Generic contract to use for unpacking event data 5020 event string // Event name to use for unpacking event data 5021 5022 logs chan types.Log // Log channel receiving the found contract events 5023 sub klaytn.Subscription // Subscription for errors, completion and termination 5024 done bool // Whether the subscription completed delivering logs 5025 fail error // Occurred error to stop iteration 5026 } 5027 5028 // Next advances the iterator to the subsequent event, returning whether there 5029 // are any more events found. In case of a retrieval or parsing error, false is 5030 // returned and Error() can be queried for the exact failure. 5031 func (it *ERC721MetadataApprovalForAllIterator) Next() bool { 5032 // If the iterator failed, stop iterating 5033 if it.fail != nil { 5034 return false 5035 } 5036 // If the iterator completed, deliver directly whatever's available 5037 if it.done { 5038 select { 5039 case log := <-it.logs: 5040 it.Event = new(ERC721MetadataApprovalForAll) 5041 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5042 it.fail = err 5043 return false 5044 } 5045 it.Event.Raw = log 5046 return true 5047 5048 default: 5049 return false 5050 } 5051 } 5052 // Iterator still in progress, wait for either a data or an error event 5053 select { 5054 case log := <-it.logs: 5055 it.Event = new(ERC721MetadataApprovalForAll) 5056 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5057 it.fail = err 5058 return false 5059 } 5060 it.Event.Raw = log 5061 return true 5062 5063 case err := <-it.sub.Err(): 5064 it.done = true 5065 it.fail = err 5066 return it.Next() 5067 } 5068 } 5069 5070 // Error returns any retrieval or parsing error occurred during filtering. 5071 func (it *ERC721MetadataApprovalForAllIterator) Error() error { 5072 return it.fail 5073 } 5074 5075 // Close terminates the iteration process, releasing any pending underlying 5076 // resources. 5077 func (it *ERC721MetadataApprovalForAllIterator) Close() error { 5078 it.sub.Unsubscribe() 5079 return nil 5080 } 5081 5082 // ERC721MetadataApprovalForAll represents a ApprovalForAll event raised by the ERC721Metadata contract. 5083 type ERC721MetadataApprovalForAll struct { 5084 Owner common.Address 5085 Operator common.Address 5086 Approved bool 5087 Raw types.Log // Blockchain specific contextual infos 5088 } 5089 5090 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 5091 // 5092 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 5093 func (_ERC721Metadata *ERC721MetadataFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721MetadataApprovalForAllIterator, error) { 5094 5095 var ownerRule []interface{} 5096 for _, ownerItem := range owner { 5097 ownerRule = append(ownerRule, ownerItem) 5098 } 5099 var operatorRule []interface{} 5100 for _, operatorItem := range operator { 5101 operatorRule = append(operatorRule, operatorItem) 5102 } 5103 5104 logs, sub, err := _ERC721Metadata.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 5105 if err != nil { 5106 return nil, err 5107 } 5108 return &ERC721MetadataApprovalForAllIterator{contract: _ERC721Metadata.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 5109 } 5110 5111 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 5112 // 5113 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 5114 func (_ERC721Metadata *ERC721MetadataFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721MetadataApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 5115 5116 var ownerRule []interface{} 5117 for _, ownerItem := range owner { 5118 ownerRule = append(ownerRule, ownerItem) 5119 } 5120 var operatorRule []interface{} 5121 for _, operatorItem := range operator { 5122 operatorRule = append(operatorRule, operatorItem) 5123 } 5124 5125 logs, sub, err := _ERC721Metadata.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 5126 if err != nil { 5127 return nil, err 5128 } 5129 return event.NewSubscription(func(quit <-chan struct{}) error { 5130 defer sub.Unsubscribe() 5131 for { 5132 select { 5133 case log := <-logs: 5134 // New log arrived, parse the event and forward to the user 5135 event := new(ERC721MetadataApprovalForAll) 5136 if err := _ERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 5137 return err 5138 } 5139 event.Raw = log 5140 5141 select { 5142 case sink <- event: 5143 case err := <-sub.Err(): 5144 return err 5145 case <-quit: 5146 return nil 5147 } 5148 case err := <-sub.Err(): 5149 return err 5150 case <-quit: 5151 return nil 5152 } 5153 } 5154 }), nil 5155 } 5156 5157 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 5158 // 5159 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 5160 func (_ERC721Metadata *ERC721MetadataFilterer) ParseApprovalForAll(log types.Log) (*ERC721MetadataApprovalForAll, error) { 5161 event := new(ERC721MetadataApprovalForAll) 5162 if err := _ERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 5163 return nil, err 5164 } 5165 return event, nil 5166 } 5167 5168 // 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. 5169 type ERC721MetadataTransferIterator struct { 5170 Event *ERC721MetadataTransfer // Event containing the contract specifics and raw log 5171 5172 contract *bind.BoundContract // Generic contract to use for unpacking event data 5173 event string // Event name to use for unpacking event data 5174 5175 logs chan types.Log // Log channel receiving the found contract events 5176 sub klaytn.Subscription // Subscription for errors, completion and termination 5177 done bool // Whether the subscription completed delivering logs 5178 fail error // Occurred error to stop iteration 5179 } 5180 5181 // Next advances the iterator to the subsequent event, returning whether there 5182 // are any more events found. In case of a retrieval or parsing error, false is 5183 // returned and Error() can be queried for the exact failure. 5184 func (it *ERC721MetadataTransferIterator) Next() bool { 5185 // If the iterator failed, stop iterating 5186 if it.fail != nil { 5187 return false 5188 } 5189 // If the iterator completed, deliver directly whatever's available 5190 if it.done { 5191 select { 5192 case log := <-it.logs: 5193 it.Event = new(ERC721MetadataTransfer) 5194 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5195 it.fail = err 5196 return false 5197 } 5198 it.Event.Raw = log 5199 return true 5200 5201 default: 5202 return false 5203 } 5204 } 5205 // Iterator still in progress, wait for either a data or an error event 5206 select { 5207 case log := <-it.logs: 5208 it.Event = new(ERC721MetadataTransfer) 5209 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5210 it.fail = err 5211 return false 5212 } 5213 it.Event.Raw = log 5214 return true 5215 5216 case err := <-it.sub.Err(): 5217 it.done = true 5218 it.fail = err 5219 return it.Next() 5220 } 5221 } 5222 5223 // Error returns any retrieval or parsing error occurred during filtering. 5224 func (it *ERC721MetadataTransferIterator) Error() error { 5225 return it.fail 5226 } 5227 5228 // Close terminates the iteration process, releasing any pending underlying 5229 // resources. 5230 func (it *ERC721MetadataTransferIterator) Close() error { 5231 it.sub.Unsubscribe() 5232 return nil 5233 } 5234 5235 // ERC721MetadataTransfer represents a Transfer event raised by the ERC721Metadata contract. 5236 type ERC721MetadataTransfer struct { 5237 From common.Address 5238 To common.Address 5239 TokenId *big.Int 5240 Raw types.Log // Blockchain specific contextual infos 5241 } 5242 5243 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5244 // 5245 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 5246 func (_ERC721Metadata *ERC721MetadataFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721MetadataTransferIterator, error) { 5247 5248 var fromRule []interface{} 5249 for _, fromItem := range from { 5250 fromRule = append(fromRule, fromItem) 5251 } 5252 var toRule []interface{} 5253 for _, toItem := range to { 5254 toRule = append(toRule, toItem) 5255 } 5256 var tokenIdRule []interface{} 5257 for _, tokenIdItem := range tokenId { 5258 tokenIdRule = append(tokenIdRule, tokenIdItem) 5259 } 5260 5261 logs, sub, err := _ERC721Metadata.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 5262 if err != nil { 5263 return nil, err 5264 } 5265 return &ERC721MetadataTransferIterator{contract: _ERC721Metadata.contract, event: "Transfer", logs: logs, sub: sub}, nil 5266 } 5267 5268 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5269 // 5270 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 5271 func (_ERC721Metadata *ERC721MetadataFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721MetadataTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 5272 5273 var fromRule []interface{} 5274 for _, fromItem := range from { 5275 fromRule = append(fromRule, fromItem) 5276 } 5277 var toRule []interface{} 5278 for _, toItem := range to { 5279 toRule = append(toRule, toItem) 5280 } 5281 var tokenIdRule []interface{} 5282 for _, tokenIdItem := range tokenId { 5283 tokenIdRule = append(tokenIdRule, tokenIdItem) 5284 } 5285 5286 logs, sub, err := _ERC721Metadata.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 5287 if err != nil { 5288 return nil, err 5289 } 5290 return event.NewSubscription(func(quit <-chan struct{}) error { 5291 defer sub.Unsubscribe() 5292 for { 5293 select { 5294 case log := <-logs: 5295 // New log arrived, parse the event and forward to the user 5296 event := new(ERC721MetadataTransfer) 5297 if err := _ERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { 5298 return err 5299 } 5300 event.Raw = log 5301 5302 select { 5303 case sink <- event: 5304 case err := <-sub.Err(): 5305 return err 5306 case <-quit: 5307 return nil 5308 } 5309 case err := <-sub.Err(): 5310 return err 5311 case <-quit: 5312 return nil 5313 } 5314 } 5315 }), nil 5316 } 5317 5318 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5319 // 5320 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 5321 func (_ERC721Metadata *ERC721MetadataFilterer) ParseTransfer(log types.Log) (*ERC721MetadataTransfer, error) { 5322 event := new(ERC721MetadataTransfer) 5323 if err := _ERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { 5324 return nil, err 5325 } 5326 return event, nil 5327 } 5328 5329 // ERC721MetadataMintableABI is the input ABI used to generate the binding from. 5330 const ERC721MetadataMintableABI = "[{\"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\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"tokenURI\",\"type\":\"string\"}],\"name\":\"mintWithTokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"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\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"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\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"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\":\"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\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"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\"}]" 5331 5332 // ERC721MetadataMintableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 5333 const ERC721MetadataMintableBinRuntime = `` 5334 5335 // ERC721MetadataMintableFuncSigs maps the 4-byte function signature to its string representation. 5336 var ERC721MetadataMintableFuncSigs = map[string]string{ 5337 "983b2d56": "addMinter(address)", 5338 "095ea7b3": "approve(address,uint256)", 5339 "70a08231": "balanceOf(address)", 5340 "081812fc": "getApproved(uint256)", 5341 "e985e9c5": "isApprovedForAll(address,address)", 5342 "aa271e1a": "isMinter(address)", 5343 "50bb4e7f": "mintWithTokenURI(address,uint256,string)", 5344 "06fdde03": "name()", 5345 "6352211e": "ownerOf(uint256)", 5346 "98650275": "renounceMinter()", 5347 "42842e0e": "safeTransferFrom(address,address,uint256)", 5348 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 5349 "a22cb465": "setApprovalForAll(address,bool)", 5350 "01ffc9a7": "supportsInterface(bytes4)", 5351 "95d89b41": "symbol()", 5352 "c87b56dd": "tokenURI(uint256)", 5353 "23b872dd": "transferFrom(address,address,uint256)", 5354 } 5355 5356 // ERC721MetadataMintable is an auto generated Go binding around a Klaytn contract. 5357 type ERC721MetadataMintable struct { 5358 ERC721MetadataMintableCaller // Read-only binding to the contract 5359 ERC721MetadataMintableTransactor // Write-only binding to the contract 5360 ERC721MetadataMintableFilterer // Log filterer for contract events 5361 } 5362 5363 // ERC721MetadataMintableCaller is an auto generated read-only Go binding around a Klaytn contract. 5364 type ERC721MetadataMintableCaller struct { 5365 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5366 } 5367 5368 // ERC721MetadataMintableTransactor is an auto generated write-only Go binding around a Klaytn contract. 5369 type ERC721MetadataMintableTransactor struct { 5370 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5371 } 5372 5373 // ERC721MetadataMintableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 5374 type ERC721MetadataMintableFilterer struct { 5375 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5376 } 5377 5378 // ERC721MetadataMintableSession is an auto generated Go binding around a Klaytn contract, 5379 // with pre-set call and transact options. 5380 type ERC721MetadataMintableSession struct { 5381 Contract *ERC721MetadataMintable // Generic contract binding to set the session for 5382 CallOpts bind.CallOpts // Call options to use throughout this session 5383 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5384 } 5385 5386 // ERC721MetadataMintableCallerSession is an auto generated read-only Go binding around a Klaytn contract, 5387 // with pre-set call options. 5388 type ERC721MetadataMintableCallerSession struct { 5389 Contract *ERC721MetadataMintableCaller // Generic contract caller binding to set the session for 5390 CallOpts bind.CallOpts // Call options to use throughout this session 5391 } 5392 5393 // ERC721MetadataMintableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 5394 // with pre-set transact options. 5395 type ERC721MetadataMintableTransactorSession struct { 5396 Contract *ERC721MetadataMintableTransactor // Generic contract transactor binding to set the session for 5397 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5398 } 5399 5400 // ERC721MetadataMintableRaw is an auto generated low-level Go binding around a Klaytn contract. 5401 type ERC721MetadataMintableRaw struct { 5402 Contract *ERC721MetadataMintable // Generic contract binding to access the raw methods on 5403 } 5404 5405 // ERC721MetadataMintableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 5406 type ERC721MetadataMintableCallerRaw struct { 5407 Contract *ERC721MetadataMintableCaller // Generic read-only contract binding to access the raw methods on 5408 } 5409 5410 // ERC721MetadataMintableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 5411 type ERC721MetadataMintableTransactorRaw struct { 5412 Contract *ERC721MetadataMintableTransactor // Generic write-only contract binding to access the raw methods on 5413 } 5414 5415 // NewERC721MetadataMintable creates a new instance of ERC721MetadataMintable, bound to a specific deployed contract. 5416 func NewERC721MetadataMintable(address common.Address, backend bind.ContractBackend) (*ERC721MetadataMintable, error) { 5417 contract, err := bindERC721MetadataMintable(address, backend, backend, backend) 5418 if err != nil { 5419 return nil, err 5420 } 5421 return &ERC721MetadataMintable{ERC721MetadataMintableCaller: ERC721MetadataMintableCaller{contract: contract}, ERC721MetadataMintableTransactor: ERC721MetadataMintableTransactor{contract: contract}, ERC721MetadataMintableFilterer: ERC721MetadataMintableFilterer{contract: contract}}, nil 5422 } 5423 5424 // NewERC721MetadataMintableCaller creates a new read-only instance of ERC721MetadataMintable, bound to a specific deployed contract. 5425 func NewERC721MetadataMintableCaller(address common.Address, caller bind.ContractCaller) (*ERC721MetadataMintableCaller, error) { 5426 contract, err := bindERC721MetadataMintable(address, caller, nil, nil) 5427 if err != nil { 5428 return nil, err 5429 } 5430 return &ERC721MetadataMintableCaller{contract: contract}, nil 5431 } 5432 5433 // NewERC721MetadataMintableTransactor creates a new write-only instance of ERC721MetadataMintable, bound to a specific deployed contract. 5434 func NewERC721MetadataMintableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721MetadataMintableTransactor, error) { 5435 contract, err := bindERC721MetadataMintable(address, nil, transactor, nil) 5436 if err != nil { 5437 return nil, err 5438 } 5439 return &ERC721MetadataMintableTransactor{contract: contract}, nil 5440 } 5441 5442 // NewERC721MetadataMintableFilterer creates a new log filterer instance of ERC721MetadataMintable, bound to a specific deployed contract. 5443 func NewERC721MetadataMintableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721MetadataMintableFilterer, error) { 5444 contract, err := bindERC721MetadataMintable(address, nil, nil, filterer) 5445 if err != nil { 5446 return nil, err 5447 } 5448 return &ERC721MetadataMintableFilterer{contract: contract}, nil 5449 } 5450 5451 // bindERC721MetadataMintable binds a generic wrapper to an already deployed contract. 5452 func bindERC721MetadataMintable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 5453 parsed, err := abi.JSON(strings.NewReader(ERC721MetadataMintableABI)) 5454 if err != nil { 5455 return nil, err 5456 } 5457 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 5458 } 5459 5460 // Call invokes the (constant) contract method with params as input values and 5461 // sets the output to result. The result type might be a single field for simple 5462 // returns, a slice of interfaces for anonymous returns and a struct for named 5463 // returns. 5464 func (_ERC721MetadataMintable *ERC721MetadataMintableRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 5465 return _ERC721MetadataMintable.Contract.ERC721MetadataMintableCaller.contract.Call(opts, result, method, params...) 5466 } 5467 5468 // Transfer initiates a plain transaction to move funds to the contract, calling 5469 // its default method if one is available. 5470 func (_ERC721MetadataMintable *ERC721MetadataMintableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5471 return _ERC721MetadataMintable.Contract.ERC721MetadataMintableTransactor.contract.Transfer(opts) 5472 } 5473 5474 // Transact invokes the (paid) contract method with params as input values. 5475 func (_ERC721MetadataMintable *ERC721MetadataMintableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5476 return _ERC721MetadataMintable.Contract.ERC721MetadataMintableTransactor.contract.Transact(opts, method, params...) 5477 } 5478 5479 // Call invokes the (constant) contract method with params as input values and 5480 // sets the output to result. The result type might be a single field for simple 5481 // returns, a slice of interfaces for anonymous returns and a struct for named 5482 // returns. 5483 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 5484 return _ERC721MetadataMintable.Contract.contract.Call(opts, result, method, params...) 5485 } 5486 5487 // Transfer initiates a plain transaction to move funds to the contract, calling 5488 // its default method if one is available. 5489 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5490 return _ERC721MetadataMintable.Contract.contract.Transfer(opts) 5491 } 5492 5493 // Transact invokes the (paid) contract method with params as input values. 5494 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5495 return _ERC721MetadataMintable.Contract.contract.Transact(opts, method, params...) 5496 } 5497 5498 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5499 // 5500 // Solidity: function balanceOf(address owner) view returns(uint256) 5501 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 5502 var ( 5503 ret0 = new(*big.Int) 5504 ) 5505 out := ret0 5506 err := _ERC721MetadataMintable.contract.Call(opts, out, "balanceOf", owner) 5507 return *ret0, err 5508 } 5509 5510 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5511 // 5512 // Solidity: function balanceOf(address owner) view returns(uint256) 5513 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) BalanceOf(owner common.Address) (*big.Int, error) { 5514 return _ERC721MetadataMintable.Contract.BalanceOf(&_ERC721MetadataMintable.CallOpts, owner) 5515 } 5516 5517 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5518 // 5519 // Solidity: function balanceOf(address owner) view returns(uint256) 5520 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 5521 return _ERC721MetadataMintable.Contract.BalanceOf(&_ERC721MetadataMintable.CallOpts, owner) 5522 } 5523 5524 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 5525 // 5526 // Solidity: function getApproved(uint256 tokenId) view returns(address) 5527 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 5528 var ( 5529 ret0 = new(common.Address) 5530 ) 5531 out := ret0 5532 err := _ERC721MetadataMintable.contract.Call(opts, out, "getApproved", tokenId) 5533 return *ret0, err 5534 } 5535 5536 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 5537 // 5538 // Solidity: function getApproved(uint256 tokenId) view returns(address) 5539 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) GetApproved(tokenId *big.Int) (common.Address, error) { 5540 return _ERC721MetadataMintable.Contract.GetApproved(&_ERC721MetadataMintable.CallOpts, tokenId) 5541 } 5542 5543 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 5544 // 5545 // Solidity: function getApproved(uint256 tokenId) view returns(address) 5546 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 5547 return _ERC721MetadataMintable.Contract.GetApproved(&_ERC721MetadataMintable.CallOpts, tokenId) 5548 } 5549 5550 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 5551 // 5552 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 5553 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 5554 var ( 5555 ret0 = new(bool) 5556 ) 5557 out := ret0 5558 err := _ERC721MetadataMintable.contract.Call(opts, out, "isApprovedForAll", owner, operator) 5559 return *ret0, err 5560 } 5561 5562 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 5563 // 5564 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 5565 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 5566 return _ERC721MetadataMintable.Contract.IsApprovedForAll(&_ERC721MetadataMintable.CallOpts, owner, operator) 5567 } 5568 5569 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 5570 // 5571 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 5572 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 5573 return _ERC721MetadataMintable.Contract.IsApprovedForAll(&_ERC721MetadataMintable.CallOpts, owner, operator) 5574 } 5575 5576 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 5577 // 5578 // Solidity: function isMinter(address account) view returns(bool) 5579 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { 5580 var ( 5581 ret0 = new(bool) 5582 ) 5583 out := ret0 5584 err := _ERC721MetadataMintable.contract.Call(opts, out, "isMinter", account) 5585 return *ret0, err 5586 } 5587 5588 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 5589 // 5590 // Solidity: function isMinter(address account) view returns(bool) 5591 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) IsMinter(account common.Address) (bool, error) { 5592 return _ERC721MetadataMintable.Contract.IsMinter(&_ERC721MetadataMintable.CallOpts, account) 5593 } 5594 5595 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 5596 // 5597 // Solidity: function isMinter(address account) view returns(bool) 5598 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) IsMinter(account common.Address) (bool, error) { 5599 return _ERC721MetadataMintable.Contract.IsMinter(&_ERC721MetadataMintable.CallOpts, account) 5600 } 5601 5602 // Name is a free data retrieval call binding the contract method 0x06fdde03. 5603 // 5604 // Solidity: function name() view returns(string) 5605 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) Name(opts *bind.CallOpts) (string, error) { 5606 var ( 5607 ret0 = new(string) 5608 ) 5609 out := ret0 5610 err := _ERC721MetadataMintable.contract.Call(opts, out, "name") 5611 return *ret0, err 5612 } 5613 5614 // Name is a free data retrieval call binding the contract method 0x06fdde03. 5615 // 5616 // Solidity: function name() view returns(string) 5617 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) Name() (string, error) { 5618 return _ERC721MetadataMintable.Contract.Name(&_ERC721MetadataMintable.CallOpts) 5619 } 5620 5621 // Name is a free data retrieval call binding the contract method 0x06fdde03. 5622 // 5623 // Solidity: function name() view returns(string) 5624 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) Name() (string, error) { 5625 return _ERC721MetadataMintable.Contract.Name(&_ERC721MetadataMintable.CallOpts) 5626 } 5627 5628 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 5629 // 5630 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 5631 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 5632 var ( 5633 ret0 = new(common.Address) 5634 ) 5635 out := ret0 5636 err := _ERC721MetadataMintable.contract.Call(opts, out, "ownerOf", tokenId) 5637 return *ret0, err 5638 } 5639 5640 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 5641 // 5642 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 5643 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 5644 return _ERC721MetadataMintable.Contract.OwnerOf(&_ERC721MetadataMintable.CallOpts, tokenId) 5645 } 5646 5647 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 5648 // 5649 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 5650 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 5651 return _ERC721MetadataMintable.Contract.OwnerOf(&_ERC721MetadataMintable.CallOpts, tokenId) 5652 } 5653 5654 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5655 // 5656 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 5657 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 5658 var ( 5659 ret0 = new(bool) 5660 ) 5661 out := ret0 5662 err := _ERC721MetadataMintable.contract.Call(opts, out, "supportsInterface", interfaceId) 5663 return *ret0, err 5664 } 5665 5666 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5667 // 5668 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 5669 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 5670 return _ERC721MetadataMintable.Contract.SupportsInterface(&_ERC721MetadataMintable.CallOpts, interfaceId) 5671 } 5672 5673 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5674 // 5675 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 5676 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 5677 return _ERC721MetadataMintable.Contract.SupportsInterface(&_ERC721MetadataMintable.CallOpts, interfaceId) 5678 } 5679 5680 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 5681 // 5682 // Solidity: function symbol() view returns(string) 5683 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) Symbol(opts *bind.CallOpts) (string, error) { 5684 var ( 5685 ret0 = new(string) 5686 ) 5687 out := ret0 5688 err := _ERC721MetadataMintable.contract.Call(opts, out, "symbol") 5689 return *ret0, err 5690 } 5691 5692 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 5693 // 5694 // Solidity: function symbol() view returns(string) 5695 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) Symbol() (string, error) { 5696 return _ERC721MetadataMintable.Contract.Symbol(&_ERC721MetadataMintable.CallOpts) 5697 } 5698 5699 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 5700 // 5701 // Solidity: function symbol() view returns(string) 5702 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) Symbol() (string, error) { 5703 return _ERC721MetadataMintable.Contract.Symbol(&_ERC721MetadataMintable.CallOpts) 5704 } 5705 5706 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 5707 // 5708 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 5709 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 5710 var ( 5711 ret0 = new(string) 5712 ) 5713 out := ret0 5714 err := _ERC721MetadataMintable.contract.Call(opts, out, "tokenURI", tokenId) 5715 return *ret0, err 5716 } 5717 5718 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 5719 // 5720 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 5721 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) TokenURI(tokenId *big.Int) (string, error) { 5722 return _ERC721MetadataMintable.Contract.TokenURI(&_ERC721MetadataMintable.CallOpts, tokenId) 5723 } 5724 5725 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 5726 // 5727 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 5728 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) TokenURI(tokenId *big.Int) (string, error) { 5729 return _ERC721MetadataMintable.Contract.TokenURI(&_ERC721MetadataMintable.CallOpts, tokenId) 5730 } 5731 5732 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 5733 // 5734 // Solidity: function addMinter(address account) returns() 5735 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 5736 return _ERC721MetadataMintable.contract.Transact(opts, "addMinter", account) 5737 } 5738 5739 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 5740 // 5741 // Solidity: function addMinter(address account) returns() 5742 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) AddMinter(account common.Address) (*types.Transaction, error) { 5743 return _ERC721MetadataMintable.Contract.AddMinter(&_ERC721MetadataMintable.TransactOpts, account) 5744 } 5745 5746 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 5747 // 5748 // Solidity: function addMinter(address account) returns() 5749 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 5750 return _ERC721MetadataMintable.Contract.AddMinter(&_ERC721MetadataMintable.TransactOpts, account) 5751 } 5752 5753 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5754 // 5755 // Solidity: function approve(address to, uint256 tokenId) returns() 5756 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5757 return _ERC721MetadataMintable.contract.Transact(opts, "approve", to, tokenId) 5758 } 5759 5760 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5761 // 5762 // Solidity: function approve(address to, uint256 tokenId) returns() 5763 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5764 return _ERC721MetadataMintable.Contract.Approve(&_ERC721MetadataMintable.TransactOpts, to, tokenId) 5765 } 5766 5767 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5768 // 5769 // Solidity: function approve(address to, uint256 tokenId) returns() 5770 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5771 return _ERC721MetadataMintable.Contract.Approve(&_ERC721MetadataMintable.TransactOpts, to, tokenId) 5772 } 5773 5774 // MintWithTokenURI is a paid mutator transaction binding the contract method 0x50bb4e7f. 5775 // 5776 // Solidity: function mintWithTokenURI(address to, uint256 tokenId, string tokenURI) returns(bool) 5777 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) MintWithTokenURI(opts *bind.TransactOpts, to common.Address, tokenId *big.Int, tokenURI string) (*types.Transaction, error) { 5778 return _ERC721MetadataMintable.contract.Transact(opts, "mintWithTokenURI", to, tokenId, tokenURI) 5779 } 5780 5781 // MintWithTokenURI is a paid mutator transaction binding the contract method 0x50bb4e7f. 5782 // 5783 // Solidity: function mintWithTokenURI(address to, uint256 tokenId, string tokenURI) returns(bool) 5784 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) MintWithTokenURI(to common.Address, tokenId *big.Int, tokenURI string) (*types.Transaction, error) { 5785 return _ERC721MetadataMintable.Contract.MintWithTokenURI(&_ERC721MetadataMintable.TransactOpts, to, tokenId, tokenURI) 5786 } 5787 5788 // MintWithTokenURI is a paid mutator transaction binding the contract method 0x50bb4e7f. 5789 // 5790 // Solidity: function mintWithTokenURI(address to, uint256 tokenId, string tokenURI) returns(bool) 5791 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) MintWithTokenURI(to common.Address, tokenId *big.Int, tokenURI string) (*types.Transaction, error) { 5792 return _ERC721MetadataMintable.Contract.MintWithTokenURI(&_ERC721MetadataMintable.TransactOpts, to, tokenId, tokenURI) 5793 } 5794 5795 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 5796 // 5797 // Solidity: function renounceMinter() returns() 5798 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { 5799 return _ERC721MetadataMintable.contract.Transact(opts, "renounceMinter") 5800 } 5801 5802 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 5803 // 5804 // Solidity: function renounceMinter() returns() 5805 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) RenounceMinter() (*types.Transaction, error) { 5806 return _ERC721MetadataMintable.Contract.RenounceMinter(&_ERC721MetadataMintable.TransactOpts) 5807 } 5808 5809 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 5810 // 5811 // Solidity: function renounceMinter() returns() 5812 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) RenounceMinter() (*types.Transaction, error) { 5813 return _ERC721MetadataMintable.Contract.RenounceMinter(&_ERC721MetadataMintable.TransactOpts) 5814 } 5815 5816 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 5817 // 5818 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 5819 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5820 return _ERC721MetadataMintable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 5821 } 5822 5823 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 5824 // 5825 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 5826 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5827 return _ERC721MetadataMintable.Contract.SafeTransferFrom(&_ERC721MetadataMintable.TransactOpts, from, to, tokenId) 5828 } 5829 5830 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 5831 // 5832 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 5833 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5834 return _ERC721MetadataMintable.Contract.SafeTransferFrom(&_ERC721MetadataMintable.TransactOpts, from, to, tokenId) 5835 } 5836 5837 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 5838 // 5839 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 5840 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 5841 return _ERC721MetadataMintable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 5842 } 5843 5844 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 5845 // 5846 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 5847 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 5848 return _ERC721MetadataMintable.Contract.SafeTransferFrom0(&_ERC721MetadataMintable.TransactOpts, from, to, tokenId, _data) 5849 } 5850 5851 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 5852 // 5853 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 5854 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 5855 return _ERC721MetadataMintable.Contract.SafeTransferFrom0(&_ERC721MetadataMintable.TransactOpts, from, to, tokenId, _data) 5856 } 5857 5858 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 5859 // 5860 // Solidity: function setApprovalForAll(address to, bool approved) returns() 5861 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 5862 return _ERC721MetadataMintable.contract.Transact(opts, "setApprovalForAll", to, approved) 5863 } 5864 5865 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 5866 // 5867 // Solidity: function setApprovalForAll(address to, bool approved) returns() 5868 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 5869 return _ERC721MetadataMintable.Contract.SetApprovalForAll(&_ERC721MetadataMintable.TransactOpts, to, approved) 5870 } 5871 5872 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 5873 // 5874 // Solidity: function setApprovalForAll(address to, bool approved) returns() 5875 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 5876 return _ERC721MetadataMintable.Contract.SetApprovalForAll(&_ERC721MetadataMintable.TransactOpts, to, approved) 5877 } 5878 5879 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5880 // 5881 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 5882 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5883 return _ERC721MetadataMintable.contract.Transact(opts, "transferFrom", from, to, tokenId) 5884 } 5885 5886 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5887 // 5888 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 5889 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5890 return _ERC721MetadataMintable.Contract.TransferFrom(&_ERC721MetadataMintable.TransactOpts, from, to, tokenId) 5891 } 5892 5893 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5894 // 5895 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 5896 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5897 return _ERC721MetadataMintable.Contract.TransferFrom(&_ERC721MetadataMintable.TransactOpts, from, to, tokenId) 5898 } 5899 5900 // ERC721MetadataMintableApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721MetadataMintable contract. 5901 type ERC721MetadataMintableApprovalIterator struct { 5902 Event *ERC721MetadataMintableApproval // Event containing the contract specifics and raw log 5903 5904 contract *bind.BoundContract // Generic contract to use for unpacking event data 5905 event string // Event name to use for unpacking event data 5906 5907 logs chan types.Log // Log channel receiving the found contract events 5908 sub klaytn.Subscription // Subscription for errors, completion and termination 5909 done bool // Whether the subscription completed delivering logs 5910 fail error // Occurred error to stop iteration 5911 } 5912 5913 // Next advances the iterator to the subsequent event, returning whether there 5914 // are any more events found. In case of a retrieval or parsing error, false is 5915 // returned and Error() can be queried for the exact failure. 5916 func (it *ERC721MetadataMintableApprovalIterator) Next() bool { 5917 // If the iterator failed, stop iterating 5918 if it.fail != nil { 5919 return false 5920 } 5921 // If the iterator completed, deliver directly whatever's available 5922 if it.done { 5923 select { 5924 case log := <-it.logs: 5925 it.Event = new(ERC721MetadataMintableApproval) 5926 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5927 it.fail = err 5928 return false 5929 } 5930 it.Event.Raw = log 5931 return true 5932 5933 default: 5934 return false 5935 } 5936 } 5937 // Iterator still in progress, wait for either a data or an error event 5938 select { 5939 case log := <-it.logs: 5940 it.Event = new(ERC721MetadataMintableApproval) 5941 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5942 it.fail = err 5943 return false 5944 } 5945 it.Event.Raw = log 5946 return true 5947 5948 case err := <-it.sub.Err(): 5949 it.done = true 5950 it.fail = err 5951 return it.Next() 5952 } 5953 } 5954 5955 // Error returns any retrieval or parsing error occurred during filtering. 5956 func (it *ERC721MetadataMintableApprovalIterator) Error() error { 5957 return it.fail 5958 } 5959 5960 // Close terminates the iteration process, releasing any pending underlying 5961 // resources. 5962 func (it *ERC721MetadataMintableApprovalIterator) Close() error { 5963 it.sub.Unsubscribe() 5964 return nil 5965 } 5966 5967 // ERC721MetadataMintableApproval represents a Approval event raised by the ERC721MetadataMintable contract. 5968 type ERC721MetadataMintableApproval struct { 5969 Owner common.Address 5970 Approved common.Address 5971 TokenId *big.Int 5972 Raw types.Log // Blockchain specific contextual infos 5973 } 5974 5975 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5976 // 5977 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 5978 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721MetadataMintableApprovalIterator, error) { 5979 5980 var ownerRule []interface{} 5981 for _, ownerItem := range owner { 5982 ownerRule = append(ownerRule, ownerItem) 5983 } 5984 var approvedRule []interface{} 5985 for _, approvedItem := range approved { 5986 approvedRule = append(approvedRule, approvedItem) 5987 } 5988 var tokenIdRule []interface{} 5989 for _, tokenIdItem := range tokenId { 5990 tokenIdRule = append(tokenIdRule, tokenIdItem) 5991 } 5992 5993 logs, sub, err := _ERC721MetadataMintable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 5994 if err != nil { 5995 return nil, err 5996 } 5997 return &ERC721MetadataMintableApprovalIterator{contract: _ERC721MetadataMintable.contract, event: "Approval", logs: logs, sub: sub}, nil 5998 } 5999 6000 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 6001 // 6002 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 6003 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721MetadataMintableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 6004 6005 var ownerRule []interface{} 6006 for _, ownerItem := range owner { 6007 ownerRule = append(ownerRule, ownerItem) 6008 } 6009 var approvedRule []interface{} 6010 for _, approvedItem := range approved { 6011 approvedRule = append(approvedRule, approvedItem) 6012 } 6013 var tokenIdRule []interface{} 6014 for _, tokenIdItem := range tokenId { 6015 tokenIdRule = append(tokenIdRule, tokenIdItem) 6016 } 6017 6018 logs, sub, err := _ERC721MetadataMintable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 6019 if err != nil { 6020 return nil, err 6021 } 6022 return event.NewSubscription(func(quit <-chan struct{}) error { 6023 defer sub.Unsubscribe() 6024 for { 6025 select { 6026 case log := <-logs: 6027 // New log arrived, parse the event and forward to the user 6028 event := new(ERC721MetadataMintableApproval) 6029 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "Approval", log); err != nil { 6030 return err 6031 } 6032 event.Raw = log 6033 6034 select { 6035 case sink <- event: 6036 case err := <-sub.Err(): 6037 return err 6038 case <-quit: 6039 return nil 6040 } 6041 case err := <-sub.Err(): 6042 return err 6043 case <-quit: 6044 return nil 6045 } 6046 } 6047 }), nil 6048 } 6049 6050 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 6051 // 6052 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 6053 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) ParseApproval(log types.Log) (*ERC721MetadataMintableApproval, error) { 6054 event := new(ERC721MetadataMintableApproval) 6055 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "Approval", log); err != nil { 6056 return nil, err 6057 } 6058 return event, nil 6059 } 6060 6061 // ERC721MetadataMintableApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721MetadataMintable contract. 6062 type ERC721MetadataMintableApprovalForAllIterator struct { 6063 Event *ERC721MetadataMintableApprovalForAll // Event containing the contract specifics and raw log 6064 6065 contract *bind.BoundContract // Generic contract to use for unpacking event data 6066 event string // Event name to use for unpacking event data 6067 6068 logs chan types.Log // Log channel receiving the found contract events 6069 sub klaytn.Subscription // Subscription for errors, completion and termination 6070 done bool // Whether the subscription completed delivering logs 6071 fail error // Occurred error to stop iteration 6072 } 6073 6074 // Next advances the iterator to the subsequent event, returning whether there 6075 // are any more events found. In case of a retrieval or parsing error, false is 6076 // returned and Error() can be queried for the exact failure. 6077 func (it *ERC721MetadataMintableApprovalForAllIterator) Next() bool { 6078 // If the iterator failed, stop iterating 6079 if it.fail != nil { 6080 return false 6081 } 6082 // If the iterator completed, deliver directly whatever's available 6083 if it.done { 6084 select { 6085 case log := <-it.logs: 6086 it.Event = new(ERC721MetadataMintableApprovalForAll) 6087 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6088 it.fail = err 6089 return false 6090 } 6091 it.Event.Raw = log 6092 return true 6093 6094 default: 6095 return false 6096 } 6097 } 6098 // Iterator still in progress, wait for either a data or an error event 6099 select { 6100 case log := <-it.logs: 6101 it.Event = new(ERC721MetadataMintableApprovalForAll) 6102 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6103 it.fail = err 6104 return false 6105 } 6106 it.Event.Raw = log 6107 return true 6108 6109 case err := <-it.sub.Err(): 6110 it.done = true 6111 it.fail = err 6112 return it.Next() 6113 } 6114 } 6115 6116 // Error returns any retrieval or parsing error occurred during filtering. 6117 func (it *ERC721MetadataMintableApprovalForAllIterator) Error() error { 6118 return it.fail 6119 } 6120 6121 // Close terminates the iteration process, releasing any pending underlying 6122 // resources. 6123 func (it *ERC721MetadataMintableApprovalForAllIterator) Close() error { 6124 it.sub.Unsubscribe() 6125 return nil 6126 } 6127 6128 // ERC721MetadataMintableApprovalForAll represents a ApprovalForAll event raised by the ERC721MetadataMintable contract. 6129 type ERC721MetadataMintableApprovalForAll struct { 6130 Owner common.Address 6131 Operator common.Address 6132 Approved bool 6133 Raw types.Log // Blockchain specific contextual infos 6134 } 6135 6136 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 6137 // 6138 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 6139 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721MetadataMintableApprovalForAllIterator, error) { 6140 6141 var ownerRule []interface{} 6142 for _, ownerItem := range owner { 6143 ownerRule = append(ownerRule, ownerItem) 6144 } 6145 var operatorRule []interface{} 6146 for _, operatorItem := range operator { 6147 operatorRule = append(operatorRule, operatorItem) 6148 } 6149 6150 logs, sub, err := _ERC721MetadataMintable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 6151 if err != nil { 6152 return nil, err 6153 } 6154 return &ERC721MetadataMintableApprovalForAllIterator{contract: _ERC721MetadataMintable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 6155 } 6156 6157 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 6158 // 6159 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 6160 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721MetadataMintableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 6161 6162 var ownerRule []interface{} 6163 for _, ownerItem := range owner { 6164 ownerRule = append(ownerRule, ownerItem) 6165 } 6166 var operatorRule []interface{} 6167 for _, operatorItem := range operator { 6168 operatorRule = append(operatorRule, operatorItem) 6169 } 6170 6171 logs, sub, err := _ERC721MetadataMintable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 6172 if err != nil { 6173 return nil, err 6174 } 6175 return event.NewSubscription(func(quit <-chan struct{}) error { 6176 defer sub.Unsubscribe() 6177 for { 6178 select { 6179 case log := <-logs: 6180 // New log arrived, parse the event and forward to the user 6181 event := new(ERC721MetadataMintableApprovalForAll) 6182 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 6183 return err 6184 } 6185 event.Raw = log 6186 6187 select { 6188 case sink <- event: 6189 case err := <-sub.Err(): 6190 return err 6191 case <-quit: 6192 return nil 6193 } 6194 case err := <-sub.Err(): 6195 return err 6196 case <-quit: 6197 return nil 6198 } 6199 } 6200 }), nil 6201 } 6202 6203 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 6204 // 6205 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 6206 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) ParseApprovalForAll(log types.Log) (*ERC721MetadataMintableApprovalForAll, error) { 6207 event := new(ERC721MetadataMintableApprovalForAll) 6208 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 6209 return nil, err 6210 } 6211 return event, nil 6212 } 6213 6214 // ERC721MetadataMintableMinterAddedIterator is returned from FilterMinterAdded and is used to iterate over the raw logs and unpacked data for MinterAdded events raised by the ERC721MetadataMintable contract. 6215 type ERC721MetadataMintableMinterAddedIterator struct { 6216 Event *ERC721MetadataMintableMinterAdded // Event containing the contract specifics and raw log 6217 6218 contract *bind.BoundContract // Generic contract to use for unpacking event data 6219 event string // Event name to use for unpacking event data 6220 6221 logs chan types.Log // Log channel receiving the found contract events 6222 sub klaytn.Subscription // Subscription for errors, completion and termination 6223 done bool // Whether the subscription completed delivering logs 6224 fail error // Occurred error to stop iteration 6225 } 6226 6227 // Next advances the iterator to the subsequent event, returning whether there 6228 // are any more events found. In case of a retrieval or parsing error, false is 6229 // returned and Error() can be queried for the exact failure. 6230 func (it *ERC721MetadataMintableMinterAddedIterator) Next() bool { 6231 // If the iterator failed, stop iterating 6232 if it.fail != nil { 6233 return false 6234 } 6235 // If the iterator completed, deliver directly whatever's available 6236 if it.done { 6237 select { 6238 case log := <-it.logs: 6239 it.Event = new(ERC721MetadataMintableMinterAdded) 6240 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6241 it.fail = err 6242 return false 6243 } 6244 it.Event.Raw = log 6245 return true 6246 6247 default: 6248 return false 6249 } 6250 } 6251 // Iterator still in progress, wait for either a data or an error event 6252 select { 6253 case log := <-it.logs: 6254 it.Event = new(ERC721MetadataMintableMinterAdded) 6255 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6256 it.fail = err 6257 return false 6258 } 6259 it.Event.Raw = log 6260 return true 6261 6262 case err := <-it.sub.Err(): 6263 it.done = true 6264 it.fail = err 6265 return it.Next() 6266 } 6267 } 6268 6269 // Error returns any retrieval or parsing error occurred during filtering. 6270 func (it *ERC721MetadataMintableMinterAddedIterator) Error() error { 6271 return it.fail 6272 } 6273 6274 // Close terminates the iteration process, releasing any pending underlying 6275 // resources. 6276 func (it *ERC721MetadataMintableMinterAddedIterator) Close() error { 6277 it.sub.Unsubscribe() 6278 return nil 6279 } 6280 6281 // ERC721MetadataMintableMinterAdded represents a MinterAdded event raised by the ERC721MetadataMintable contract. 6282 type ERC721MetadataMintableMinterAdded struct { 6283 Account common.Address 6284 Raw types.Log // Blockchain specific contextual infos 6285 } 6286 6287 // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 6288 // 6289 // Solidity: event MinterAdded(address indexed account) 6290 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*ERC721MetadataMintableMinterAddedIterator, error) { 6291 6292 var accountRule []interface{} 6293 for _, accountItem := range account { 6294 accountRule = append(accountRule, accountItem) 6295 } 6296 6297 logs, sub, err := _ERC721MetadataMintable.contract.FilterLogs(opts, "MinterAdded", accountRule) 6298 if err != nil { 6299 return nil, err 6300 } 6301 return &ERC721MetadataMintableMinterAddedIterator{contract: _ERC721MetadataMintable.contract, event: "MinterAdded", logs: logs, sub: sub}, nil 6302 } 6303 6304 // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 6305 // 6306 // Solidity: event MinterAdded(address indexed account) 6307 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *ERC721MetadataMintableMinterAdded, account []common.Address) (event.Subscription, error) { 6308 6309 var accountRule []interface{} 6310 for _, accountItem := range account { 6311 accountRule = append(accountRule, accountItem) 6312 } 6313 6314 logs, sub, err := _ERC721MetadataMintable.contract.WatchLogs(opts, "MinterAdded", accountRule) 6315 if err != nil { 6316 return nil, err 6317 } 6318 return event.NewSubscription(func(quit <-chan struct{}) error { 6319 defer sub.Unsubscribe() 6320 for { 6321 select { 6322 case log := <-logs: 6323 // New log arrived, parse the event and forward to the user 6324 event := new(ERC721MetadataMintableMinterAdded) 6325 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "MinterAdded", log); err != nil { 6326 return err 6327 } 6328 event.Raw = log 6329 6330 select { 6331 case sink <- event: 6332 case err := <-sub.Err(): 6333 return err 6334 case <-quit: 6335 return nil 6336 } 6337 case err := <-sub.Err(): 6338 return err 6339 case <-quit: 6340 return nil 6341 } 6342 } 6343 }), nil 6344 } 6345 6346 // ParseMinterAdded is a log parse operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 6347 // 6348 // Solidity: event MinterAdded(address indexed account) 6349 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) ParseMinterAdded(log types.Log) (*ERC721MetadataMintableMinterAdded, error) { 6350 event := new(ERC721MetadataMintableMinterAdded) 6351 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "MinterAdded", log); err != nil { 6352 return nil, err 6353 } 6354 return event, nil 6355 } 6356 6357 // ERC721MetadataMintableMinterRemovedIterator is returned from FilterMinterRemoved and is used to iterate over the raw logs and unpacked data for MinterRemoved events raised by the ERC721MetadataMintable contract. 6358 type ERC721MetadataMintableMinterRemovedIterator struct { 6359 Event *ERC721MetadataMintableMinterRemoved // Event containing the contract specifics and raw log 6360 6361 contract *bind.BoundContract // Generic contract to use for unpacking event data 6362 event string // Event name to use for unpacking event data 6363 6364 logs chan types.Log // Log channel receiving the found contract events 6365 sub klaytn.Subscription // Subscription for errors, completion and termination 6366 done bool // Whether the subscription completed delivering logs 6367 fail error // Occurred error to stop iteration 6368 } 6369 6370 // Next advances the iterator to the subsequent event, returning whether there 6371 // are any more events found. In case of a retrieval or parsing error, false is 6372 // returned and Error() can be queried for the exact failure. 6373 func (it *ERC721MetadataMintableMinterRemovedIterator) Next() bool { 6374 // If the iterator failed, stop iterating 6375 if it.fail != nil { 6376 return false 6377 } 6378 // If the iterator completed, deliver directly whatever's available 6379 if it.done { 6380 select { 6381 case log := <-it.logs: 6382 it.Event = new(ERC721MetadataMintableMinterRemoved) 6383 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6384 it.fail = err 6385 return false 6386 } 6387 it.Event.Raw = log 6388 return true 6389 6390 default: 6391 return false 6392 } 6393 } 6394 // Iterator still in progress, wait for either a data or an error event 6395 select { 6396 case log := <-it.logs: 6397 it.Event = new(ERC721MetadataMintableMinterRemoved) 6398 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6399 it.fail = err 6400 return false 6401 } 6402 it.Event.Raw = log 6403 return true 6404 6405 case err := <-it.sub.Err(): 6406 it.done = true 6407 it.fail = err 6408 return it.Next() 6409 } 6410 } 6411 6412 // Error returns any retrieval or parsing error occurred during filtering. 6413 func (it *ERC721MetadataMintableMinterRemovedIterator) Error() error { 6414 return it.fail 6415 } 6416 6417 // Close terminates the iteration process, releasing any pending underlying 6418 // resources. 6419 func (it *ERC721MetadataMintableMinterRemovedIterator) Close() error { 6420 it.sub.Unsubscribe() 6421 return nil 6422 } 6423 6424 // ERC721MetadataMintableMinterRemoved represents a MinterRemoved event raised by the ERC721MetadataMintable contract. 6425 type ERC721MetadataMintableMinterRemoved struct { 6426 Account common.Address 6427 Raw types.Log // Blockchain specific contextual infos 6428 } 6429 6430 // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 6431 // 6432 // Solidity: event MinterRemoved(address indexed account) 6433 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*ERC721MetadataMintableMinterRemovedIterator, error) { 6434 6435 var accountRule []interface{} 6436 for _, accountItem := range account { 6437 accountRule = append(accountRule, accountItem) 6438 } 6439 6440 logs, sub, err := _ERC721MetadataMintable.contract.FilterLogs(opts, "MinterRemoved", accountRule) 6441 if err != nil { 6442 return nil, err 6443 } 6444 return &ERC721MetadataMintableMinterRemovedIterator{contract: _ERC721MetadataMintable.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil 6445 } 6446 6447 // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 6448 // 6449 // Solidity: event MinterRemoved(address indexed account) 6450 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *ERC721MetadataMintableMinterRemoved, account []common.Address) (event.Subscription, error) { 6451 6452 var accountRule []interface{} 6453 for _, accountItem := range account { 6454 accountRule = append(accountRule, accountItem) 6455 } 6456 6457 logs, sub, err := _ERC721MetadataMintable.contract.WatchLogs(opts, "MinterRemoved", accountRule) 6458 if err != nil { 6459 return nil, err 6460 } 6461 return event.NewSubscription(func(quit <-chan struct{}) error { 6462 defer sub.Unsubscribe() 6463 for { 6464 select { 6465 case log := <-logs: 6466 // New log arrived, parse the event and forward to the user 6467 event := new(ERC721MetadataMintableMinterRemoved) 6468 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 6469 return err 6470 } 6471 event.Raw = log 6472 6473 select { 6474 case sink <- event: 6475 case err := <-sub.Err(): 6476 return err 6477 case <-quit: 6478 return nil 6479 } 6480 case err := <-sub.Err(): 6481 return err 6482 case <-quit: 6483 return nil 6484 } 6485 } 6486 }), nil 6487 } 6488 6489 // ParseMinterRemoved is a log parse operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 6490 // 6491 // Solidity: event MinterRemoved(address indexed account) 6492 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) ParseMinterRemoved(log types.Log) (*ERC721MetadataMintableMinterRemoved, error) { 6493 event := new(ERC721MetadataMintableMinterRemoved) 6494 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 6495 return nil, err 6496 } 6497 return event, nil 6498 } 6499 6500 // ERC721MetadataMintableTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721MetadataMintable contract. 6501 type ERC721MetadataMintableTransferIterator struct { 6502 Event *ERC721MetadataMintableTransfer // Event containing the contract specifics and raw log 6503 6504 contract *bind.BoundContract // Generic contract to use for unpacking event data 6505 event string // Event name to use for unpacking event data 6506 6507 logs chan types.Log // Log channel receiving the found contract events 6508 sub klaytn.Subscription // Subscription for errors, completion and termination 6509 done bool // Whether the subscription completed delivering logs 6510 fail error // Occurred error to stop iteration 6511 } 6512 6513 // Next advances the iterator to the subsequent event, returning whether there 6514 // are any more events found. In case of a retrieval or parsing error, false is 6515 // returned and Error() can be queried for the exact failure. 6516 func (it *ERC721MetadataMintableTransferIterator) Next() bool { 6517 // If the iterator failed, stop iterating 6518 if it.fail != nil { 6519 return false 6520 } 6521 // If the iterator completed, deliver directly whatever's available 6522 if it.done { 6523 select { 6524 case log := <-it.logs: 6525 it.Event = new(ERC721MetadataMintableTransfer) 6526 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6527 it.fail = err 6528 return false 6529 } 6530 it.Event.Raw = log 6531 return true 6532 6533 default: 6534 return false 6535 } 6536 } 6537 // Iterator still in progress, wait for either a data or an error event 6538 select { 6539 case log := <-it.logs: 6540 it.Event = new(ERC721MetadataMintableTransfer) 6541 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6542 it.fail = err 6543 return false 6544 } 6545 it.Event.Raw = log 6546 return true 6547 6548 case err := <-it.sub.Err(): 6549 it.done = true 6550 it.fail = err 6551 return it.Next() 6552 } 6553 } 6554 6555 // Error returns any retrieval or parsing error occurred during filtering. 6556 func (it *ERC721MetadataMintableTransferIterator) Error() error { 6557 return it.fail 6558 } 6559 6560 // Close terminates the iteration process, releasing any pending underlying 6561 // resources. 6562 func (it *ERC721MetadataMintableTransferIterator) Close() error { 6563 it.sub.Unsubscribe() 6564 return nil 6565 } 6566 6567 // ERC721MetadataMintableTransfer represents a Transfer event raised by the ERC721MetadataMintable contract. 6568 type ERC721MetadataMintableTransfer struct { 6569 From common.Address 6570 To common.Address 6571 TokenId *big.Int 6572 Raw types.Log // Blockchain specific contextual infos 6573 } 6574 6575 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 6576 // 6577 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 6578 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721MetadataMintableTransferIterator, error) { 6579 6580 var fromRule []interface{} 6581 for _, fromItem := range from { 6582 fromRule = append(fromRule, fromItem) 6583 } 6584 var toRule []interface{} 6585 for _, toItem := range to { 6586 toRule = append(toRule, toItem) 6587 } 6588 var tokenIdRule []interface{} 6589 for _, tokenIdItem := range tokenId { 6590 tokenIdRule = append(tokenIdRule, tokenIdItem) 6591 } 6592 6593 logs, sub, err := _ERC721MetadataMintable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 6594 if err != nil { 6595 return nil, err 6596 } 6597 return &ERC721MetadataMintableTransferIterator{contract: _ERC721MetadataMintable.contract, event: "Transfer", logs: logs, sub: sub}, nil 6598 } 6599 6600 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 6601 // 6602 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 6603 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721MetadataMintableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 6604 6605 var fromRule []interface{} 6606 for _, fromItem := range from { 6607 fromRule = append(fromRule, fromItem) 6608 } 6609 var toRule []interface{} 6610 for _, toItem := range to { 6611 toRule = append(toRule, toItem) 6612 } 6613 var tokenIdRule []interface{} 6614 for _, tokenIdItem := range tokenId { 6615 tokenIdRule = append(tokenIdRule, tokenIdItem) 6616 } 6617 6618 logs, sub, err := _ERC721MetadataMintable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 6619 if err != nil { 6620 return nil, err 6621 } 6622 return event.NewSubscription(func(quit <-chan struct{}) error { 6623 defer sub.Unsubscribe() 6624 for { 6625 select { 6626 case log := <-logs: 6627 // New log arrived, parse the event and forward to the user 6628 event := new(ERC721MetadataMintableTransfer) 6629 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "Transfer", log); err != nil { 6630 return err 6631 } 6632 event.Raw = log 6633 6634 select { 6635 case sink <- event: 6636 case err := <-sub.Err(): 6637 return err 6638 case <-quit: 6639 return nil 6640 } 6641 case err := <-sub.Err(): 6642 return err 6643 case <-quit: 6644 return nil 6645 } 6646 } 6647 }), nil 6648 } 6649 6650 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 6651 // 6652 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 6653 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) ParseTransfer(log types.Log) (*ERC721MetadataMintableTransfer, error) { 6654 event := new(ERC721MetadataMintableTransfer) 6655 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "Transfer", log); err != nil { 6656 return nil, err 6657 } 6658 return event, nil 6659 } 6660 6661 // ERC721ServiceChainABI is the input ABI used to generate the binding from. 6662 const ERC721ServiceChainABI = "[{\"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\":\"_uid\",\"type\":\"uint256\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"requestValueTransfer\",\"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\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_bridge\",\"type\":\"address\"}],\"name\":\"setBridge\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"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\":\"bridge\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"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\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_bridge\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"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\"}]" 6663 6664 // ERC721ServiceChainBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 6665 const ERC721ServiceChainBinRuntime = `` 6666 6667 // ERC721ServiceChainFuncSigs maps the 4-byte function signature to its string representation. 6668 var ERC721ServiceChainFuncSigs = map[string]string{ 6669 "095ea7b3": "approve(address,uint256)", 6670 "70a08231": "balanceOf(address)", 6671 "e78cea92": "bridge()", 6672 "081812fc": "getApproved(uint256)", 6673 "e985e9c5": "isApprovedForAll(address,address)", 6674 "8f32d59b": "isOwner()", 6675 "8da5cb5b": "owner()", 6676 "6352211e": "ownerOf(uint256)", 6677 "715018a6": "renounceOwnership()", 6678 "3f4c4e3d": "requestValueTransfer(uint256,address,bytes)", 6679 "42842e0e": "safeTransferFrom(address,address,uint256)", 6680 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 6681 "a22cb465": "setApprovalForAll(address,bool)", 6682 "8dd14802": "setBridge(address)", 6683 "01ffc9a7": "supportsInterface(bytes4)", 6684 "23b872dd": "transferFrom(address,address,uint256)", 6685 "f2fde38b": "transferOwnership(address)", 6686 } 6687 6688 // ERC721ServiceChain is an auto generated Go binding around a Klaytn contract. 6689 type ERC721ServiceChain struct { 6690 ERC721ServiceChainCaller // Read-only binding to the contract 6691 ERC721ServiceChainTransactor // Write-only binding to the contract 6692 ERC721ServiceChainFilterer // Log filterer for contract events 6693 } 6694 6695 // ERC721ServiceChainCaller is an auto generated read-only Go binding around a Klaytn contract. 6696 type ERC721ServiceChainCaller struct { 6697 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6698 } 6699 6700 // ERC721ServiceChainTransactor is an auto generated write-only Go binding around a Klaytn contract. 6701 type ERC721ServiceChainTransactor struct { 6702 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6703 } 6704 6705 // ERC721ServiceChainFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 6706 type ERC721ServiceChainFilterer struct { 6707 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6708 } 6709 6710 // ERC721ServiceChainSession is an auto generated Go binding around a Klaytn contract, 6711 // with pre-set call and transact options. 6712 type ERC721ServiceChainSession struct { 6713 Contract *ERC721ServiceChain // Generic contract binding to set the session for 6714 CallOpts bind.CallOpts // Call options to use throughout this session 6715 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6716 } 6717 6718 // ERC721ServiceChainCallerSession is an auto generated read-only Go binding around a Klaytn contract, 6719 // with pre-set call options. 6720 type ERC721ServiceChainCallerSession struct { 6721 Contract *ERC721ServiceChainCaller // Generic contract caller binding to set the session for 6722 CallOpts bind.CallOpts // Call options to use throughout this session 6723 } 6724 6725 // ERC721ServiceChainTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 6726 // with pre-set transact options. 6727 type ERC721ServiceChainTransactorSession struct { 6728 Contract *ERC721ServiceChainTransactor // Generic contract transactor binding to set the session for 6729 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6730 } 6731 6732 // ERC721ServiceChainRaw is an auto generated low-level Go binding around a Klaytn contract. 6733 type ERC721ServiceChainRaw struct { 6734 Contract *ERC721ServiceChain // Generic contract binding to access the raw methods on 6735 } 6736 6737 // ERC721ServiceChainCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 6738 type ERC721ServiceChainCallerRaw struct { 6739 Contract *ERC721ServiceChainCaller // Generic read-only contract binding to access the raw methods on 6740 } 6741 6742 // ERC721ServiceChainTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 6743 type ERC721ServiceChainTransactorRaw struct { 6744 Contract *ERC721ServiceChainTransactor // Generic write-only contract binding to access the raw methods on 6745 } 6746 6747 // NewERC721ServiceChain creates a new instance of ERC721ServiceChain, bound to a specific deployed contract. 6748 func NewERC721ServiceChain(address common.Address, backend bind.ContractBackend) (*ERC721ServiceChain, error) { 6749 contract, err := bindERC721ServiceChain(address, backend, backend, backend) 6750 if err != nil { 6751 return nil, err 6752 } 6753 return &ERC721ServiceChain{ERC721ServiceChainCaller: ERC721ServiceChainCaller{contract: contract}, ERC721ServiceChainTransactor: ERC721ServiceChainTransactor{contract: contract}, ERC721ServiceChainFilterer: ERC721ServiceChainFilterer{contract: contract}}, nil 6754 } 6755 6756 // NewERC721ServiceChainCaller creates a new read-only instance of ERC721ServiceChain, bound to a specific deployed contract. 6757 func NewERC721ServiceChainCaller(address common.Address, caller bind.ContractCaller) (*ERC721ServiceChainCaller, error) { 6758 contract, err := bindERC721ServiceChain(address, caller, nil, nil) 6759 if err != nil { 6760 return nil, err 6761 } 6762 return &ERC721ServiceChainCaller{contract: contract}, nil 6763 } 6764 6765 // NewERC721ServiceChainTransactor creates a new write-only instance of ERC721ServiceChain, bound to a specific deployed contract. 6766 func NewERC721ServiceChainTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721ServiceChainTransactor, error) { 6767 contract, err := bindERC721ServiceChain(address, nil, transactor, nil) 6768 if err != nil { 6769 return nil, err 6770 } 6771 return &ERC721ServiceChainTransactor{contract: contract}, nil 6772 } 6773 6774 // NewERC721ServiceChainFilterer creates a new log filterer instance of ERC721ServiceChain, bound to a specific deployed contract. 6775 func NewERC721ServiceChainFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721ServiceChainFilterer, error) { 6776 contract, err := bindERC721ServiceChain(address, nil, nil, filterer) 6777 if err != nil { 6778 return nil, err 6779 } 6780 return &ERC721ServiceChainFilterer{contract: contract}, nil 6781 } 6782 6783 // bindERC721ServiceChain binds a generic wrapper to an already deployed contract. 6784 func bindERC721ServiceChain(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 6785 parsed, err := abi.JSON(strings.NewReader(ERC721ServiceChainABI)) 6786 if err != nil { 6787 return nil, err 6788 } 6789 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 6790 } 6791 6792 // Call invokes the (constant) contract method with params as input values and 6793 // sets the output to result. The result type might be a single field for simple 6794 // returns, a slice of interfaces for anonymous returns and a struct for named 6795 // returns. 6796 func (_ERC721ServiceChain *ERC721ServiceChainRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 6797 return _ERC721ServiceChain.Contract.ERC721ServiceChainCaller.contract.Call(opts, result, method, params...) 6798 } 6799 6800 // Transfer initiates a plain transaction to move funds to the contract, calling 6801 // its default method if one is available. 6802 func (_ERC721ServiceChain *ERC721ServiceChainRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6803 return _ERC721ServiceChain.Contract.ERC721ServiceChainTransactor.contract.Transfer(opts) 6804 } 6805 6806 // Transact invokes the (paid) contract method with params as input values. 6807 func (_ERC721ServiceChain *ERC721ServiceChainRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6808 return _ERC721ServiceChain.Contract.ERC721ServiceChainTransactor.contract.Transact(opts, method, params...) 6809 } 6810 6811 // Call invokes the (constant) contract method with params as input values and 6812 // sets the output to result. The result type might be a single field for simple 6813 // returns, a slice of interfaces for anonymous returns and a struct for named 6814 // returns. 6815 func (_ERC721ServiceChain *ERC721ServiceChainCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 6816 return _ERC721ServiceChain.Contract.contract.Call(opts, result, method, params...) 6817 } 6818 6819 // Transfer initiates a plain transaction to move funds to the contract, calling 6820 // its default method if one is available. 6821 func (_ERC721ServiceChain *ERC721ServiceChainTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6822 return _ERC721ServiceChain.Contract.contract.Transfer(opts) 6823 } 6824 6825 // Transact invokes the (paid) contract method with params as input values. 6826 func (_ERC721ServiceChain *ERC721ServiceChainTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6827 return _ERC721ServiceChain.Contract.contract.Transact(opts, method, params...) 6828 } 6829 6830 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 6831 // 6832 // Solidity: function balanceOf(address owner) view returns(uint256) 6833 func (_ERC721ServiceChain *ERC721ServiceChainCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 6834 var ( 6835 ret0 = new(*big.Int) 6836 ) 6837 out := ret0 6838 err := _ERC721ServiceChain.contract.Call(opts, out, "balanceOf", owner) 6839 return *ret0, err 6840 } 6841 6842 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 6843 // 6844 // Solidity: function balanceOf(address owner) view returns(uint256) 6845 func (_ERC721ServiceChain *ERC721ServiceChainSession) BalanceOf(owner common.Address) (*big.Int, error) { 6846 return _ERC721ServiceChain.Contract.BalanceOf(&_ERC721ServiceChain.CallOpts, owner) 6847 } 6848 6849 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 6850 // 6851 // Solidity: function balanceOf(address owner) view returns(uint256) 6852 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 6853 return _ERC721ServiceChain.Contract.BalanceOf(&_ERC721ServiceChain.CallOpts, owner) 6854 } 6855 6856 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 6857 // 6858 // Solidity: function bridge() view returns(address) 6859 func (_ERC721ServiceChain *ERC721ServiceChainCaller) Bridge(opts *bind.CallOpts) (common.Address, error) { 6860 var ( 6861 ret0 = new(common.Address) 6862 ) 6863 out := ret0 6864 err := _ERC721ServiceChain.contract.Call(opts, out, "bridge") 6865 return *ret0, err 6866 } 6867 6868 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 6869 // 6870 // Solidity: function bridge() view returns(address) 6871 func (_ERC721ServiceChain *ERC721ServiceChainSession) Bridge() (common.Address, error) { 6872 return _ERC721ServiceChain.Contract.Bridge(&_ERC721ServiceChain.CallOpts) 6873 } 6874 6875 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 6876 // 6877 // Solidity: function bridge() view returns(address) 6878 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) Bridge() (common.Address, error) { 6879 return _ERC721ServiceChain.Contract.Bridge(&_ERC721ServiceChain.CallOpts) 6880 } 6881 6882 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 6883 // 6884 // Solidity: function getApproved(uint256 tokenId) view returns(address) 6885 func (_ERC721ServiceChain *ERC721ServiceChainCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 6886 var ( 6887 ret0 = new(common.Address) 6888 ) 6889 out := ret0 6890 err := _ERC721ServiceChain.contract.Call(opts, out, "getApproved", tokenId) 6891 return *ret0, err 6892 } 6893 6894 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 6895 // 6896 // Solidity: function getApproved(uint256 tokenId) view returns(address) 6897 func (_ERC721ServiceChain *ERC721ServiceChainSession) GetApproved(tokenId *big.Int) (common.Address, error) { 6898 return _ERC721ServiceChain.Contract.GetApproved(&_ERC721ServiceChain.CallOpts, tokenId) 6899 } 6900 6901 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 6902 // 6903 // Solidity: function getApproved(uint256 tokenId) view returns(address) 6904 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 6905 return _ERC721ServiceChain.Contract.GetApproved(&_ERC721ServiceChain.CallOpts, tokenId) 6906 } 6907 6908 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 6909 // 6910 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 6911 func (_ERC721ServiceChain *ERC721ServiceChainCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 6912 var ( 6913 ret0 = new(bool) 6914 ) 6915 out := ret0 6916 err := _ERC721ServiceChain.contract.Call(opts, out, "isApprovedForAll", owner, operator) 6917 return *ret0, err 6918 } 6919 6920 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 6921 // 6922 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 6923 func (_ERC721ServiceChain *ERC721ServiceChainSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 6924 return _ERC721ServiceChain.Contract.IsApprovedForAll(&_ERC721ServiceChain.CallOpts, owner, operator) 6925 } 6926 6927 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 6928 // 6929 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 6930 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 6931 return _ERC721ServiceChain.Contract.IsApprovedForAll(&_ERC721ServiceChain.CallOpts, owner, operator) 6932 } 6933 6934 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 6935 // 6936 // Solidity: function isOwner() view returns(bool) 6937 func (_ERC721ServiceChain *ERC721ServiceChainCaller) IsOwner(opts *bind.CallOpts) (bool, error) { 6938 var ( 6939 ret0 = new(bool) 6940 ) 6941 out := ret0 6942 err := _ERC721ServiceChain.contract.Call(opts, out, "isOwner") 6943 return *ret0, err 6944 } 6945 6946 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 6947 // 6948 // Solidity: function isOwner() view returns(bool) 6949 func (_ERC721ServiceChain *ERC721ServiceChainSession) IsOwner() (bool, error) { 6950 return _ERC721ServiceChain.Contract.IsOwner(&_ERC721ServiceChain.CallOpts) 6951 } 6952 6953 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 6954 // 6955 // Solidity: function isOwner() view returns(bool) 6956 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) IsOwner() (bool, error) { 6957 return _ERC721ServiceChain.Contract.IsOwner(&_ERC721ServiceChain.CallOpts) 6958 } 6959 6960 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 6961 // 6962 // Solidity: function owner() view returns(address) 6963 func (_ERC721ServiceChain *ERC721ServiceChainCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 6964 var ( 6965 ret0 = new(common.Address) 6966 ) 6967 out := ret0 6968 err := _ERC721ServiceChain.contract.Call(opts, out, "owner") 6969 return *ret0, err 6970 } 6971 6972 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 6973 // 6974 // Solidity: function owner() view returns(address) 6975 func (_ERC721ServiceChain *ERC721ServiceChainSession) Owner() (common.Address, error) { 6976 return _ERC721ServiceChain.Contract.Owner(&_ERC721ServiceChain.CallOpts) 6977 } 6978 6979 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 6980 // 6981 // Solidity: function owner() view returns(address) 6982 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) Owner() (common.Address, error) { 6983 return _ERC721ServiceChain.Contract.Owner(&_ERC721ServiceChain.CallOpts) 6984 } 6985 6986 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 6987 // 6988 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 6989 func (_ERC721ServiceChain *ERC721ServiceChainCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 6990 var ( 6991 ret0 = new(common.Address) 6992 ) 6993 out := ret0 6994 err := _ERC721ServiceChain.contract.Call(opts, out, "ownerOf", tokenId) 6995 return *ret0, err 6996 } 6997 6998 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 6999 // 7000 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 7001 func (_ERC721ServiceChain *ERC721ServiceChainSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 7002 return _ERC721ServiceChain.Contract.OwnerOf(&_ERC721ServiceChain.CallOpts, tokenId) 7003 } 7004 7005 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 7006 // 7007 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 7008 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 7009 return _ERC721ServiceChain.Contract.OwnerOf(&_ERC721ServiceChain.CallOpts, tokenId) 7010 } 7011 7012 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 7013 // 7014 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 7015 func (_ERC721ServiceChain *ERC721ServiceChainCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 7016 var ( 7017 ret0 = new(bool) 7018 ) 7019 out := ret0 7020 err := _ERC721ServiceChain.contract.Call(opts, out, "supportsInterface", interfaceId) 7021 return *ret0, err 7022 } 7023 7024 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 7025 // 7026 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 7027 func (_ERC721ServiceChain *ERC721ServiceChainSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 7028 return _ERC721ServiceChain.Contract.SupportsInterface(&_ERC721ServiceChain.CallOpts, interfaceId) 7029 } 7030 7031 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 7032 // 7033 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 7034 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 7035 return _ERC721ServiceChain.Contract.SupportsInterface(&_ERC721ServiceChain.CallOpts, interfaceId) 7036 } 7037 7038 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 7039 // 7040 // Solidity: function approve(address to, uint256 tokenId) returns() 7041 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7042 return _ERC721ServiceChain.contract.Transact(opts, "approve", to, tokenId) 7043 } 7044 7045 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 7046 // 7047 // Solidity: function approve(address to, uint256 tokenId) returns() 7048 func (_ERC721ServiceChain *ERC721ServiceChainSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7049 return _ERC721ServiceChain.Contract.Approve(&_ERC721ServiceChain.TransactOpts, to, tokenId) 7050 } 7051 7052 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 7053 // 7054 // Solidity: function approve(address to, uint256 tokenId) returns() 7055 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7056 return _ERC721ServiceChain.Contract.Approve(&_ERC721ServiceChain.TransactOpts, to, tokenId) 7057 } 7058 7059 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7060 // 7061 // Solidity: function renounceOwnership() returns() 7062 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 7063 return _ERC721ServiceChain.contract.Transact(opts, "renounceOwnership") 7064 } 7065 7066 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7067 // 7068 // Solidity: function renounceOwnership() returns() 7069 func (_ERC721ServiceChain *ERC721ServiceChainSession) RenounceOwnership() (*types.Transaction, error) { 7070 return _ERC721ServiceChain.Contract.RenounceOwnership(&_ERC721ServiceChain.TransactOpts) 7071 } 7072 7073 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7074 // 7075 // Solidity: function renounceOwnership() returns() 7076 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) RenounceOwnership() (*types.Transaction, error) { 7077 return _ERC721ServiceChain.Contract.RenounceOwnership(&_ERC721ServiceChain.TransactOpts) 7078 } 7079 7080 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 7081 // 7082 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 7083 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) RequestValueTransfer(opts *bind.TransactOpts, _uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 7084 return _ERC721ServiceChain.contract.Transact(opts, "requestValueTransfer", _uid, _to, _extraData) 7085 } 7086 7087 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 7088 // 7089 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 7090 func (_ERC721ServiceChain *ERC721ServiceChainSession) RequestValueTransfer(_uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 7091 return _ERC721ServiceChain.Contract.RequestValueTransfer(&_ERC721ServiceChain.TransactOpts, _uid, _to, _extraData) 7092 } 7093 7094 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 7095 // 7096 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 7097 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) RequestValueTransfer(_uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 7098 return _ERC721ServiceChain.Contract.RequestValueTransfer(&_ERC721ServiceChain.TransactOpts, _uid, _to, _extraData) 7099 } 7100 7101 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 7102 // 7103 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 7104 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7105 return _ERC721ServiceChain.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 7106 } 7107 7108 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 7109 // 7110 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 7111 func (_ERC721ServiceChain *ERC721ServiceChainSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7112 return _ERC721ServiceChain.Contract.SafeTransferFrom(&_ERC721ServiceChain.TransactOpts, from, to, tokenId) 7113 } 7114 7115 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 7116 // 7117 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 7118 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7119 return _ERC721ServiceChain.Contract.SafeTransferFrom(&_ERC721ServiceChain.TransactOpts, from, to, tokenId) 7120 } 7121 7122 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 7123 // 7124 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 7125 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 7126 return _ERC721ServiceChain.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 7127 } 7128 7129 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 7130 // 7131 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 7132 func (_ERC721ServiceChain *ERC721ServiceChainSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 7133 return _ERC721ServiceChain.Contract.SafeTransferFrom0(&_ERC721ServiceChain.TransactOpts, from, to, tokenId, _data) 7134 } 7135 7136 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 7137 // 7138 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 7139 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 7140 return _ERC721ServiceChain.Contract.SafeTransferFrom0(&_ERC721ServiceChain.TransactOpts, from, to, tokenId, _data) 7141 } 7142 7143 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 7144 // 7145 // Solidity: function setApprovalForAll(address to, bool approved) returns() 7146 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 7147 return _ERC721ServiceChain.contract.Transact(opts, "setApprovalForAll", to, approved) 7148 } 7149 7150 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 7151 // 7152 // Solidity: function setApprovalForAll(address to, bool approved) returns() 7153 func (_ERC721ServiceChain *ERC721ServiceChainSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 7154 return _ERC721ServiceChain.Contract.SetApprovalForAll(&_ERC721ServiceChain.TransactOpts, to, approved) 7155 } 7156 7157 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 7158 // 7159 // Solidity: function setApprovalForAll(address to, bool approved) returns() 7160 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 7161 return _ERC721ServiceChain.Contract.SetApprovalForAll(&_ERC721ServiceChain.TransactOpts, to, approved) 7162 } 7163 7164 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 7165 // 7166 // Solidity: function setBridge(address _bridge) returns() 7167 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) SetBridge(opts *bind.TransactOpts, _bridge common.Address) (*types.Transaction, error) { 7168 return _ERC721ServiceChain.contract.Transact(opts, "setBridge", _bridge) 7169 } 7170 7171 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 7172 // 7173 // Solidity: function setBridge(address _bridge) returns() 7174 func (_ERC721ServiceChain *ERC721ServiceChainSession) SetBridge(_bridge common.Address) (*types.Transaction, error) { 7175 return _ERC721ServiceChain.Contract.SetBridge(&_ERC721ServiceChain.TransactOpts, _bridge) 7176 } 7177 7178 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 7179 // 7180 // Solidity: function setBridge(address _bridge) returns() 7181 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) SetBridge(_bridge common.Address) (*types.Transaction, error) { 7182 return _ERC721ServiceChain.Contract.SetBridge(&_ERC721ServiceChain.TransactOpts, _bridge) 7183 } 7184 7185 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 7186 // 7187 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 7188 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7189 return _ERC721ServiceChain.contract.Transact(opts, "transferFrom", from, to, tokenId) 7190 } 7191 7192 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 7193 // 7194 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 7195 func (_ERC721ServiceChain *ERC721ServiceChainSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7196 return _ERC721ServiceChain.Contract.TransferFrom(&_ERC721ServiceChain.TransactOpts, from, to, tokenId) 7197 } 7198 7199 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 7200 // 7201 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 7202 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7203 return _ERC721ServiceChain.Contract.TransferFrom(&_ERC721ServiceChain.TransactOpts, from, to, tokenId) 7204 } 7205 7206 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 7207 // 7208 // Solidity: function transferOwnership(address newOwner) returns() 7209 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 7210 return _ERC721ServiceChain.contract.Transact(opts, "transferOwnership", newOwner) 7211 } 7212 7213 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 7214 // 7215 // Solidity: function transferOwnership(address newOwner) returns() 7216 func (_ERC721ServiceChain *ERC721ServiceChainSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 7217 return _ERC721ServiceChain.Contract.TransferOwnership(&_ERC721ServiceChain.TransactOpts, newOwner) 7218 } 7219 7220 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 7221 // 7222 // Solidity: function transferOwnership(address newOwner) returns() 7223 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 7224 return _ERC721ServiceChain.Contract.TransferOwnership(&_ERC721ServiceChain.TransactOpts, newOwner) 7225 } 7226 7227 // ERC721ServiceChainApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721ServiceChain contract. 7228 type ERC721ServiceChainApprovalIterator struct { 7229 Event *ERC721ServiceChainApproval // Event containing the contract specifics and raw log 7230 7231 contract *bind.BoundContract // Generic contract to use for unpacking event data 7232 event string // Event name to use for unpacking event data 7233 7234 logs chan types.Log // Log channel receiving the found contract events 7235 sub klaytn.Subscription // Subscription for errors, completion and termination 7236 done bool // Whether the subscription completed delivering logs 7237 fail error // Occurred error to stop iteration 7238 } 7239 7240 // Next advances the iterator to the subsequent event, returning whether there 7241 // are any more events found. In case of a retrieval or parsing error, false is 7242 // returned and Error() can be queried for the exact failure. 7243 func (it *ERC721ServiceChainApprovalIterator) Next() bool { 7244 // If the iterator failed, stop iterating 7245 if it.fail != nil { 7246 return false 7247 } 7248 // If the iterator completed, deliver directly whatever's available 7249 if it.done { 7250 select { 7251 case log := <-it.logs: 7252 it.Event = new(ERC721ServiceChainApproval) 7253 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7254 it.fail = err 7255 return false 7256 } 7257 it.Event.Raw = log 7258 return true 7259 7260 default: 7261 return false 7262 } 7263 } 7264 // Iterator still in progress, wait for either a data or an error event 7265 select { 7266 case log := <-it.logs: 7267 it.Event = new(ERC721ServiceChainApproval) 7268 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7269 it.fail = err 7270 return false 7271 } 7272 it.Event.Raw = log 7273 return true 7274 7275 case err := <-it.sub.Err(): 7276 it.done = true 7277 it.fail = err 7278 return it.Next() 7279 } 7280 } 7281 7282 // Error returns any retrieval or parsing error occurred during filtering. 7283 func (it *ERC721ServiceChainApprovalIterator) Error() error { 7284 return it.fail 7285 } 7286 7287 // Close terminates the iteration process, releasing any pending underlying 7288 // resources. 7289 func (it *ERC721ServiceChainApprovalIterator) Close() error { 7290 it.sub.Unsubscribe() 7291 return nil 7292 } 7293 7294 // ERC721ServiceChainApproval represents a Approval event raised by the ERC721ServiceChain contract. 7295 type ERC721ServiceChainApproval struct { 7296 Owner common.Address 7297 Approved common.Address 7298 TokenId *big.Int 7299 Raw types.Log // Blockchain specific contextual infos 7300 } 7301 7302 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 7303 // 7304 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 7305 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721ServiceChainApprovalIterator, error) { 7306 7307 var ownerRule []interface{} 7308 for _, ownerItem := range owner { 7309 ownerRule = append(ownerRule, ownerItem) 7310 } 7311 var approvedRule []interface{} 7312 for _, approvedItem := range approved { 7313 approvedRule = append(approvedRule, approvedItem) 7314 } 7315 var tokenIdRule []interface{} 7316 for _, tokenIdItem := range tokenId { 7317 tokenIdRule = append(tokenIdRule, tokenIdItem) 7318 } 7319 7320 logs, sub, err := _ERC721ServiceChain.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 7321 if err != nil { 7322 return nil, err 7323 } 7324 return &ERC721ServiceChainApprovalIterator{contract: _ERC721ServiceChain.contract, event: "Approval", logs: logs, sub: sub}, nil 7325 } 7326 7327 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 7328 // 7329 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 7330 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721ServiceChainApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 7331 7332 var ownerRule []interface{} 7333 for _, ownerItem := range owner { 7334 ownerRule = append(ownerRule, ownerItem) 7335 } 7336 var approvedRule []interface{} 7337 for _, approvedItem := range approved { 7338 approvedRule = append(approvedRule, approvedItem) 7339 } 7340 var tokenIdRule []interface{} 7341 for _, tokenIdItem := range tokenId { 7342 tokenIdRule = append(tokenIdRule, tokenIdItem) 7343 } 7344 7345 logs, sub, err := _ERC721ServiceChain.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 7346 if err != nil { 7347 return nil, err 7348 } 7349 return event.NewSubscription(func(quit <-chan struct{}) error { 7350 defer sub.Unsubscribe() 7351 for { 7352 select { 7353 case log := <-logs: 7354 // New log arrived, parse the event and forward to the user 7355 event := new(ERC721ServiceChainApproval) 7356 if err := _ERC721ServiceChain.contract.UnpackLog(event, "Approval", log); err != nil { 7357 return err 7358 } 7359 event.Raw = log 7360 7361 select { 7362 case sink <- event: 7363 case err := <-sub.Err(): 7364 return err 7365 case <-quit: 7366 return nil 7367 } 7368 case err := <-sub.Err(): 7369 return err 7370 case <-quit: 7371 return nil 7372 } 7373 } 7374 }), nil 7375 } 7376 7377 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 7378 // 7379 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 7380 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) ParseApproval(log types.Log) (*ERC721ServiceChainApproval, error) { 7381 event := new(ERC721ServiceChainApproval) 7382 if err := _ERC721ServiceChain.contract.UnpackLog(event, "Approval", log); err != nil { 7383 return nil, err 7384 } 7385 return event, nil 7386 } 7387 7388 // ERC721ServiceChainApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721ServiceChain contract. 7389 type ERC721ServiceChainApprovalForAllIterator struct { 7390 Event *ERC721ServiceChainApprovalForAll // Event containing the contract specifics and raw log 7391 7392 contract *bind.BoundContract // Generic contract to use for unpacking event data 7393 event string // Event name to use for unpacking event data 7394 7395 logs chan types.Log // Log channel receiving the found contract events 7396 sub klaytn.Subscription // Subscription for errors, completion and termination 7397 done bool // Whether the subscription completed delivering logs 7398 fail error // Occurred error to stop iteration 7399 } 7400 7401 // Next advances the iterator to the subsequent event, returning whether there 7402 // are any more events found. In case of a retrieval or parsing error, false is 7403 // returned and Error() can be queried for the exact failure. 7404 func (it *ERC721ServiceChainApprovalForAllIterator) Next() bool { 7405 // If the iterator failed, stop iterating 7406 if it.fail != nil { 7407 return false 7408 } 7409 // If the iterator completed, deliver directly whatever's available 7410 if it.done { 7411 select { 7412 case log := <-it.logs: 7413 it.Event = new(ERC721ServiceChainApprovalForAll) 7414 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7415 it.fail = err 7416 return false 7417 } 7418 it.Event.Raw = log 7419 return true 7420 7421 default: 7422 return false 7423 } 7424 } 7425 // Iterator still in progress, wait for either a data or an error event 7426 select { 7427 case log := <-it.logs: 7428 it.Event = new(ERC721ServiceChainApprovalForAll) 7429 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7430 it.fail = err 7431 return false 7432 } 7433 it.Event.Raw = log 7434 return true 7435 7436 case err := <-it.sub.Err(): 7437 it.done = true 7438 it.fail = err 7439 return it.Next() 7440 } 7441 } 7442 7443 // Error returns any retrieval or parsing error occurred during filtering. 7444 func (it *ERC721ServiceChainApprovalForAllIterator) Error() error { 7445 return it.fail 7446 } 7447 7448 // Close terminates the iteration process, releasing any pending underlying 7449 // resources. 7450 func (it *ERC721ServiceChainApprovalForAllIterator) Close() error { 7451 it.sub.Unsubscribe() 7452 return nil 7453 } 7454 7455 // ERC721ServiceChainApprovalForAll represents a ApprovalForAll event raised by the ERC721ServiceChain contract. 7456 type ERC721ServiceChainApprovalForAll struct { 7457 Owner common.Address 7458 Operator common.Address 7459 Approved bool 7460 Raw types.Log // Blockchain specific contextual infos 7461 } 7462 7463 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 7464 // 7465 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 7466 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721ServiceChainApprovalForAllIterator, error) { 7467 7468 var ownerRule []interface{} 7469 for _, ownerItem := range owner { 7470 ownerRule = append(ownerRule, ownerItem) 7471 } 7472 var operatorRule []interface{} 7473 for _, operatorItem := range operator { 7474 operatorRule = append(operatorRule, operatorItem) 7475 } 7476 7477 logs, sub, err := _ERC721ServiceChain.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 7478 if err != nil { 7479 return nil, err 7480 } 7481 return &ERC721ServiceChainApprovalForAllIterator{contract: _ERC721ServiceChain.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 7482 } 7483 7484 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 7485 // 7486 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 7487 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721ServiceChainApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 7488 7489 var ownerRule []interface{} 7490 for _, ownerItem := range owner { 7491 ownerRule = append(ownerRule, ownerItem) 7492 } 7493 var operatorRule []interface{} 7494 for _, operatorItem := range operator { 7495 operatorRule = append(operatorRule, operatorItem) 7496 } 7497 7498 logs, sub, err := _ERC721ServiceChain.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 7499 if err != nil { 7500 return nil, err 7501 } 7502 return event.NewSubscription(func(quit <-chan struct{}) error { 7503 defer sub.Unsubscribe() 7504 for { 7505 select { 7506 case log := <-logs: 7507 // New log arrived, parse the event and forward to the user 7508 event := new(ERC721ServiceChainApprovalForAll) 7509 if err := _ERC721ServiceChain.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 7510 return err 7511 } 7512 event.Raw = log 7513 7514 select { 7515 case sink <- event: 7516 case err := <-sub.Err(): 7517 return err 7518 case <-quit: 7519 return nil 7520 } 7521 case err := <-sub.Err(): 7522 return err 7523 case <-quit: 7524 return nil 7525 } 7526 } 7527 }), nil 7528 } 7529 7530 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 7531 // 7532 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 7533 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) ParseApprovalForAll(log types.Log) (*ERC721ServiceChainApprovalForAll, error) { 7534 event := new(ERC721ServiceChainApprovalForAll) 7535 if err := _ERC721ServiceChain.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 7536 return nil, err 7537 } 7538 return event, nil 7539 } 7540 7541 // ERC721ServiceChainOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the ERC721ServiceChain contract. 7542 type ERC721ServiceChainOwnershipTransferredIterator struct { 7543 Event *ERC721ServiceChainOwnershipTransferred // Event containing the contract specifics and raw log 7544 7545 contract *bind.BoundContract // Generic contract to use for unpacking event data 7546 event string // Event name to use for unpacking event data 7547 7548 logs chan types.Log // Log channel receiving the found contract events 7549 sub klaytn.Subscription // Subscription for errors, completion and termination 7550 done bool // Whether the subscription completed delivering logs 7551 fail error // Occurred error to stop iteration 7552 } 7553 7554 // Next advances the iterator to the subsequent event, returning whether there 7555 // are any more events found. In case of a retrieval or parsing error, false is 7556 // returned and Error() can be queried for the exact failure. 7557 func (it *ERC721ServiceChainOwnershipTransferredIterator) Next() bool { 7558 // If the iterator failed, stop iterating 7559 if it.fail != nil { 7560 return false 7561 } 7562 // If the iterator completed, deliver directly whatever's available 7563 if it.done { 7564 select { 7565 case log := <-it.logs: 7566 it.Event = new(ERC721ServiceChainOwnershipTransferred) 7567 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7568 it.fail = err 7569 return false 7570 } 7571 it.Event.Raw = log 7572 return true 7573 7574 default: 7575 return false 7576 } 7577 } 7578 // Iterator still in progress, wait for either a data or an error event 7579 select { 7580 case log := <-it.logs: 7581 it.Event = new(ERC721ServiceChainOwnershipTransferred) 7582 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7583 it.fail = err 7584 return false 7585 } 7586 it.Event.Raw = log 7587 return true 7588 7589 case err := <-it.sub.Err(): 7590 it.done = true 7591 it.fail = err 7592 return it.Next() 7593 } 7594 } 7595 7596 // Error returns any retrieval or parsing error occurred during filtering. 7597 func (it *ERC721ServiceChainOwnershipTransferredIterator) Error() error { 7598 return it.fail 7599 } 7600 7601 // Close terminates the iteration process, releasing any pending underlying 7602 // resources. 7603 func (it *ERC721ServiceChainOwnershipTransferredIterator) Close() error { 7604 it.sub.Unsubscribe() 7605 return nil 7606 } 7607 7608 // ERC721ServiceChainOwnershipTransferred represents a OwnershipTransferred event raised by the ERC721ServiceChain contract. 7609 type ERC721ServiceChainOwnershipTransferred struct { 7610 PreviousOwner common.Address 7611 NewOwner common.Address 7612 Raw types.Log // Blockchain specific contextual infos 7613 } 7614 7615 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 7616 // 7617 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 7618 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ERC721ServiceChainOwnershipTransferredIterator, error) { 7619 7620 var previousOwnerRule []interface{} 7621 for _, previousOwnerItem := range previousOwner { 7622 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 7623 } 7624 var newOwnerRule []interface{} 7625 for _, newOwnerItem := range newOwner { 7626 newOwnerRule = append(newOwnerRule, newOwnerItem) 7627 } 7628 7629 logs, sub, err := _ERC721ServiceChain.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 7630 if err != nil { 7631 return nil, err 7632 } 7633 return &ERC721ServiceChainOwnershipTransferredIterator{contract: _ERC721ServiceChain.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 7634 } 7635 7636 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 7637 // 7638 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 7639 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *ERC721ServiceChainOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 7640 7641 var previousOwnerRule []interface{} 7642 for _, previousOwnerItem := range previousOwner { 7643 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 7644 } 7645 var newOwnerRule []interface{} 7646 for _, newOwnerItem := range newOwner { 7647 newOwnerRule = append(newOwnerRule, newOwnerItem) 7648 } 7649 7650 logs, sub, err := _ERC721ServiceChain.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 7651 if err != nil { 7652 return nil, err 7653 } 7654 return event.NewSubscription(func(quit <-chan struct{}) error { 7655 defer sub.Unsubscribe() 7656 for { 7657 select { 7658 case log := <-logs: 7659 // New log arrived, parse the event and forward to the user 7660 event := new(ERC721ServiceChainOwnershipTransferred) 7661 if err := _ERC721ServiceChain.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 7662 return err 7663 } 7664 event.Raw = log 7665 7666 select { 7667 case sink <- event: 7668 case err := <-sub.Err(): 7669 return err 7670 case <-quit: 7671 return nil 7672 } 7673 case err := <-sub.Err(): 7674 return err 7675 case <-quit: 7676 return nil 7677 } 7678 } 7679 }), nil 7680 } 7681 7682 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 7683 // 7684 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 7685 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) ParseOwnershipTransferred(log types.Log) (*ERC721ServiceChainOwnershipTransferred, error) { 7686 event := new(ERC721ServiceChainOwnershipTransferred) 7687 if err := _ERC721ServiceChain.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 7688 return nil, err 7689 } 7690 return event, nil 7691 } 7692 7693 // ERC721ServiceChainTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721ServiceChain contract. 7694 type ERC721ServiceChainTransferIterator struct { 7695 Event *ERC721ServiceChainTransfer // Event containing the contract specifics and raw log 7696 7697 contract *bind.BoundContract // Generic contract to use for unpacking event data 7698 event string // Event name to use for unpacking event data 7699 7700 logs chan types.Log // Log channel receiving the found contract events 7701 sub klaytn.Subscription // Subscription for errors, completion and termination 7702 done bool // Whether the subscription completed delivering logs 7703 fail error // Occurred error to stop iteration 7704 } 7705 7706 // Next advances the iterator to the subsequent event, returning whether there 7707 // are any more events found. In case of a retrieval or parsing error, false is 7708 // returned and Error() can be queried for the exact failure. 7709 func (it *ERC721ServiceChainTransferIterator) Next() bool { 7710 // If the iterator failed, stop iterating 7711 if it.fail != nil { 7712 return false 7713 } 7714 // If the iterator completed, deliver directly whatever's available 7715 if it.done { 7716 select { 7717 case log := <-it.logs: 7718 it.Event = new(ERC721ServiceChainTransfer) 7719 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7720 it.fail = err 7721 return false 7722 } 7723 it.Event.Raw = log 7724 return true 7725 7726 default: 7727 return false 7728 } 7729 } 7730 // Iterator still in progress, wait for either a data or an error event 7731 select { 7732 case log := <-it.logs: 7733 it.Event = new(ERC721ServiceChainTransfer) 7734 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7735 it.fail = err 7736 return false 7737 } 7738 it.Event.Raw = log 7739 return true 7740 7741 case err := <-it.sub.Err(): 7742 it.done = true 7743 it.fail = err 7744 return it.Next() 7745 } 7746 } 7747 7748 // Error returns any retrieval or parsing error occurred during filtering. 7749 func (it *ERC721ServiceChainTransferIterator) Error() error { 7750 return it.fail 7751 } 7752 7753 // Close terminates the iteration process, releasing any pending underlying 7754 // resources. 7755 func (it *ERC721ServiceChainTransferIterator) Close() error { 7756 it.sub.Unsubscribe() 7757 return nil 7758 } 7759 7760 // ERC721ServiceChainTransfer represents a Transfer event raised by the ERC721ServiceChain contract. 7761 type ERC721ServiceChainTransfer struct { 7762 From common.Address 7763 To common.Address 7764 TokenId *big.Int 7765 Raw types.Log // Blockchain specific contextual infos 7766 } 7767 7768 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 7769 // 7770 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 7771 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721ServiceChainTransferIterator, error) { 7772 7773 var fromRule []interface{} 7774 for _, fromItem := range from { 7775 fromRule = append(fromRule, fromItem) 7776 } 7777 var toRule []interface{} 7778 for _, toItem := range to { 7779 toRule = append(toRule, toItem) 7780 } 7781 var tokenIdRule []interface{} 7782 for _, tokenIdItem := range tokenId { 7783 tokenIdRule = append(tokenIdRule, tokenIdItem) 7784 } 7785 7786 logs, sub, err := _ERC721ServiceChain.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 7787 if err != nil { 7788 return nil, err 7789 } 7790 return &ERC721ServiceChainTransferIterator{contract: _ERC721ServiceChain.contract, event: "Transfer", logs: logs, sub: sub}, nil 7791 } 7792 7793 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 7794 // 7795 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 7796 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721ServiceChainTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 7797 7798 var fromRule []interface{} 7799 for _, fromItem := range from { 7800 fromRule = append(fromRule, fromItem) 7801 } 7802 var toRule []interface{} 7803 for _, toItem := range to { 7804 toRule = append(toRule, toItem) 7805 } 7806 var tokenIdRule []interface{} 7807 for _, tokenIdItem := range tokenId { 7808 tokenIdRule = append(tokenIdRule, tokenIdItem) 7809 } 7810 7811 logs, sub, err := _ERC721ServiceChain.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 7812 if err != nil { 7813 return nil, err 7814 } 7815 return event.NewSubscription(func(quit <-chan struct{}) error { 7816 defer sub.Unsubscribe() 7817 for { 7818 select { 7819 case log := <-logs: 7820 // New log arrived, parse the event and forward to the user 7821 event := new(ERC721ServiceChainTransfer) 7822 if err := _ERC721ServiceChain.contract.UnpackLog(event, "Transfer", log); err != nil { 7823 return err 7824 } 7825 event.Raw = log 7826 7827 select { 7828 case sink <- event: 7829 case err := <-sub.Err(): 7830 return err 7831 case <-quit: 7832 return nil 7833 } 7834 case err := <-sub.Err(): 7835 return err 7836 case <-quit: 7837 return nil 7838 } 7839 } 7840 }), nil 7841 } 7842 7843 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 7844 // 7845 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 7846 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) ParseTransfer(log types.Log) (*ERC721ServiceChainTransfer, error) { 7847 event := new(ERC721ServiceChainTransfer) 7848 if err := _ERC721ServiceChain.contract.UnpackLog(event, "Transfer", log); err != nil { 7849 return nil, err 7850 } 7851 return event, nil 7852 } 7853 7854 // IERC165ABI is the input ABI used to generate the binding from. 7855 const IERC165ABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" 7856 7857 // IERC165BinRuntime is the compiled bytecode used for adding genesis block without deploying code. 7858 const IERC165BinRuntime = `` 7859 7860 // IERC165FuncSigs maps the 4-byte function signature to its string representation. 7861 var IERC165FuncSigs = map[string]string{ 7862 "01ffc9a7": "supportsInterface(bytes4)", 7863 } 7864 7865 // IERC165 is an auto generated Go binding around a Klaytn contract. 7866 type IERC165 struct { 7867 IERC165Caller // Read-only binding to the contract 7868 IERC165Transactor // Write-only binding to the contract 7869 IERC165Filterer // Log filterer for contract events 7870 } 7871 7872 // IERC165Caller is an auto generated read-only Go binding around a Klaytn contract. 7873 type IERC165Caller struct { 7874 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7875 } 7876 7877 // IERC165Transactor is an auto generated write-only Go binding around a Klaytn contract. 7878 type IERC165Transactor struct { 7879 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7880 } 7881 7882 // IERC165Filterer is an auto generated log filtering Go binding around a Klaytn contract events. 7883 type IERC165Filterer struct { 7884 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7885 } 7886 7887 // IERC165Session is an auto generated Go binding around a Klaytn contract, 7888 // with pre-set call and transact options. 7889 type IERC165Session struct { 7890 Contract *IERC165 // Generic contract binding to set the session for 7891 CallOpts bind.CallOpts // Call options to use throughout this session 7892 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7893 } 7894 7895 // IERC165CallerSession is an auto generated read-only Go binding around a Klaytn contract, 7896 // with pre-set call options. 7897 type IERC165CallerSession struct { 7898 Contract *IERC165Caller // Generic contract caller binding to set the session for 7899 CallOpts bind.CallOpts // Call options to use throughout this session 7900 } 7901 7902 // IERC165TransactorSession is an auto generated write-only Go binding around a Klaytn contract, 7903 // with pre-set transact options. 7904 type IERC165TransactorSession struct { 7905 Contract *IERC165Transactor // Generic contract transactor binding to set the session for 7906 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7907 } 7908 7909 // IERC165Raw is an auto generated low-level Go binding around a Klaytn contract. 7910 type IERC165Raw struct { 7911 Contract *IERC165 // Generic contract binding to access the raw methods on 7912 } 7913 7914 // IERC165CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 7915 type IERC165CallerRaw struct { 7916 Contract *IERC165Caller // Generic read-only contract binding to access the raw methods on 7917 } 7918 7919 // IERC165TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 7920 type IERC165TransactorRaw struct { 7921 Contract *IERC165Transactor // Generic write-only contract binding to access the raw methods on 7922 } 7923 7924 // NewIERC165 creates a new instance of IERC165, bound to a specific deployed contract. 7925 func NewIERC165(address common.Address, backend bind.ContractBackend) (*IERC165, error) { 7926 contract, err := bindIERC165(address, backend, backend, backend) 7927 if err != nil { 7928 return nil, err 7929 } 7930 return &IERC165{IERC165Caller: IERC165Caller{contract: contract}, IERC165Transactor: IERC165Transactor{contract: contract}, IERC165Filterer: IERC165Filterer{contract: contract}}, nil 7931 } 7932 7933 // NewIERC165Caller creates a new read-only instance of IERC165, bound to a specific deployed contract. 7934 func NewIERC165Caller(address common.Address, caller bind.ContractCaller) (*IERC165Caller, error) { 7935 contract, err := bindIERC165(address, caller, nil, nil) 7936 if err != nil { 7937 return nil, err 7938 } 7939 return &IERC165Caller{contract: contract}, nil 7940 } 7941 7942 // NewIERC165Transactor creates a new write-only instance of IERC165, bound to a specific deployed contract. 7943 func NewIERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC165Transactor, error) { 7944 contract, err := bindIERC165(address, nil, transactor, nil) 7945 if err != nil { 7946 return nil, err 7947 } 7948 return &IERC165Transactor{contract: contract}, nil 7949 } 7950 7951 // NewIERC165Filterer creates a new log filterer instance of IERC165, bound to a specific deployed contract. 7952 func NewIERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC165Filterer, error) { 7953 contract, err := bindIERC165(address, nil, nil, filterer) 7954 if err != nil { 7955 return nil, err 7956 } 7957 return &IERC165Filterer{contract: contract}, nil 7958 } 7959 7960 // bindIERC165 binds a generic wrapper to an already deployed contract. 7961 func bindIERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 7962 parsed, err := abi.JSON(strings.NewReader(IERC165ABI)) 7963 if err != nil { 7964 return nil, err 7965 } 7966 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 7967 } 7968 7969 // Call invokes the (constant) contract method with params as input values and 7970 // sets the output to result. The result type might be a single field for simple 7971 // returns, a slice of interfaces for anonymous returns and a struct for named 7972 // returns. 7973 func (_IERC165 *IERC165Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7974 return _IERC165.Contract.IERC165Caller.contract.Call(opts, result, method, params...) 7975 } 7976 7977 // Transfer initiates a plain transaction to move funds to the contract, calling 7978 // its default method if one is available. 7979 func (_IERC165 *IERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7980 return _IERC165.Contract.IERC165Transactor.contract.Transfer(opts) 7981 } 7982 7983 // Transact invokes the (paid) contract method with params as input values. 7984 func (_IERC165 *IERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7985 return _IERC165.Contract.IERC165Transactor.contract.Transact(opts, method, params...) 7986 } 7987 7988 // Call invokes the (constant) contract method with params as input values and 7989 // sets the output to result. The result type might be a single field for simple 7990 // returns, a slice of interfaces for anonymous returns and a struct for named 7991 // returns. 7992 func (_IERC165 *IERC165CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7993 return _IERC165.Contract.contract.Call(opts, result, method, params...) 7994 } 7995 7996 // Transfer initiates a plain transaction to move funds to the contract, calling 7997 // its default method if one is available. 7998 func (_IERC165 *IERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7999 return _IERC165.Contract.contract.Transfer(opts) 8000 } 8001 8002 // Transact invokes the (paid) contract method with params as input values. 8003 func (_IERC165 *IERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8004 return _IERC165.Contract.contract.Transact(opts, method, params...) 8005 } 8006 8007 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 8008 // 8009 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 8010 func (_IERC165 *IERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 8011 var ( 8012 ret0 = new(bool) 8013 ) 8014 out := ret0 8015 err := _IERC165.contract.Call(opts, out, "supportsInterface", interfaceId) 8016 return *ret0, err 8017 } 8018 8019 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 8020 // 8021 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 8022 func (_IERC165 *IERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 8023 return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) 8024 } 8025 8026 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 8027 // 8028 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 8029 func (_IERC165 *IERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 8030 return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) 8031 } 8032 8033 // IERC721ABI is the input ABI used to generate the binding from. 8034 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\"}]" 8035 8036 // IERC721BinRuntime is the compiled bytecode used for adding genesis block without deploying code. 8037 const IERC721BinRuntime = `` 8038 8039 // IERC721FuncSigs maps the 4-byte function signature to its string representation. 8040 var IERC721FuncSigs = map[string]string{ 8041 "095ea7b3": "approve(address,uint256)", 8042 "70a08231": "balanceOf(address)", 8043 "081812fc": "getApproved(uint256)", 8044 "e985e9c5": "isApprovedForAll(address,address)", 8045 "6352211e": "ownerOf(uint256)", 8046 "42842e0e": "safeTransferFrom(address,address,uint256)", 8047 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 8048 "a22cb465": "setApprovalForAll(address,bool)", 8049 "01ffc9a7": "supportsInterface(bytes4)", 8050 "23b872dd": "transferFrom(address,address,uint256)", 8051 } 8052 8053 // IERC721 is an auto generated Go binding around a Klaytn contract. 8054 type IERC721 struct { 8055 IERC721Caller // Read-only binding to the contract 8056 IERC721Transactor // Write-only binding to the contract 8057 IERC721Filterer // Log filterer for contract events 8058 } 8059 8060 // IERC721Caller is an auto generated read-only Go binding around a Klaytn contract. 8061 type IERC721Caller struct { 8062 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8063 } 8064 8065 // IERC721Transactor is an auto generated write-only Go binding around a Klaytn contract. 8066 type IERC721Transactor struct { 8067 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8068 } 8069 8070 // IERC721Filterer is an auto generated log filtering Go binding around a Klaytn contract events. 8071 type IERC721Filterer struct { 8072 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8073 } 8074 8075 // IERC721Session is an auto generated Go binding around a Klaytn contract, 8076 // with pre-set call and transact options. 8077 type IERC721Session struct { 8078 Contract *IERC721 // Generic contract binding to set the session for 8079 CallOpts bind.CallOpts // Call options to use throughout this session 8080 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8081 } 8082 8083 // IERC721CallerSession is an auto generated read-only Go binding around a Klaytn contract, 8084 // with pre-set call options. 8085 type IERC721CallerSession struct { 8086 Contract *IERC721Caller // Generic contract caller binding to set the session for 8087 CallOpts bind.CallOpts // Call options to use throughout this session 8088 } 8089 8090 // IERC721TransactorSession is an auto generated write-only Go binding around a Klaytn contract, 8091 // with pre-set transact options. 8092 type IERC721TransactorSession struct { 8093 Contract *IERC721Transactor // Generic contract transactor binding to set the session for 8094 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8095 } 8096 8097 // IERC721Raw is an auto generated low-level Go binding around a Klaytn contract. 8098 type IERC721Raw struct { 8099 Contract *IERC721 // Generic contract binding to access the raw methods on 8100 } 8101 8102 // IERC721CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 8103 type IERC721CallerRaw struct { 8104 Contract *IERC721Caller // Generic read-only contract binding to access the raw methods on 8105 } 8106 8107 // IERC721TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 8108 type IERC721TransactorRaw struct { 8109 Contract *IERC721Transactor // Generic write-only contract binding to access the raw methods on 8110 } 8111 8112 // NewIERC721 creates a new instance of IERC721, bound to a specific deployed contract. 8113 func NewIERC721(address common.Address, backend bind.ContractBackend) (*IERC721, error) { 8114 contract, err := bindIERC721(address, backend, backend, backend) 8115 if err != nil { 8116 return nil, err 8117 } 8118 return &IERC721{IERC721Caller: IERC721Caller{contract: contract}, IERC721Transactor: IERC721Transactor{contract: contract}, IERC721Filterer: IERC721Filterer{contract: contract}}, nil 8119 } 8120 8121 // NewIERC721Caller creates a new read-only instance of IERC721, bound to a specific deployed contract. 8122 func NewIERC721Caller(address common.Address, caller bind.ContractCaller) (*IERC721Caller, error) { 8123 contract, err := bindIERC721(address, caller, nil, nil) 8124 if err != nil { 8125 return nil, err 8126 } 8127 return &IERC721Caller{contract: contract}, nil 8128 } 8129 8130 // NewIERC721Transactor creates a new write-only instance of IERC721, bound to a specific deployed contract. 8131 func NewIERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC721Transactor, error) { 8132 contract, err := bindIERC721(address, nil, transactor, nil) 8133 if err != nil { 8134 return nil, err 8135 } 8136 return &IERC721Transactor{contract: contract}, nil 8137 } 8138 8139 // NewIERC721Filterer creates a new log filterer instance of IERC721, bound to a specific deployed contract. 8140 func NewIERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC721Filterer, error) { 8141 contract, err := bindIERC721(address, nil, nil, filterer) 8142 if err != nil { 8143 return nil, err 8144 } 8145 return &IERC721Filterer{contract: contract}, nil 8146 } 8147 8148 // bindIERC721 binds a generic wrapper to an already deployed contract. 8149 func bindIERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 8150 parsed, err := abi.JSON(strings.NewReader(IERC721ABI)) 8151 if err != nil { 8152 return nil, err 8153 } 8154 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 8155 } 8156 8157 // Call invokes the (constant) contract method with params as input values and 8158 // sets the output to result. The result type might be a single field for simple 8159 // returns, a slice of interfaces for anonymous returns and a struct for named 8160 // returns. 8161 func (_IERC721 *IERC721Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 8162 return _IERC721.Contract.IERC721Caller.contract.Call(opts, result, method, params...) 8163 } 8164 8165 // Transfer initiates a plain transaction to move funds to the contract, calling 8166 // its default method if one is available. 8167 func (_IERC721 *IERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8168 return _IERC721.Contract.IERC721Transactor.contract.Transfer(opts) 8169 } 8170 8171 // Transact invokes the (paid) contract method with params as input values. 8172 func (_IERC721 *IERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8173 return _IERC721.Contract.IERC721Transactor.contract.Transact(opts, method, params...) 8174 } 8175 8176 // Call invokes the (constant) contract method with params as input values and 8177 // sets the output to result. The result type might be a single field for simple 8178 // returns, a slice of interfaces for anonymous returns and a struct for named 8179 // returns. 8180 func (_IERC721 *IERC721CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 8181 return _IERC721.Contract.contract.Call(opts, result, method, params...) 8182 } 8183 8184 // Transfer initiates a plain transaction to move funds to the contract, calling 8185 // its default method if one is available. 8186 func (_IERC721 *IERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8187 return _IERC721.Contract.contract.Transfer(opts) 8188 } 8189 8190 // Transact invokes the (paid) contract method with params as input values. 8191 func (_IERC721 *IERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8192 return _IERC721.Contract.contract.Transact(opts, method, params...) 8193 } 8194 8195 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 8196 // 8197 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 8198 func (_IERC721 *IERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 8199 var ( 8200 ret0 = new(*big.Int) 8201 ) 8202 out := ret0 8203 err := _IERC721.contract.Call(opts, out, "balanceOf", owner) 8204 return *ret0, err 8205 } 8206 8207 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 8208 // 8209 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 8210 func (_IERC721 *IERC721Session) BalanceOf(owner common.Address) (*big.Int, error) { 8211 return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner) 8212 } 8213 8214 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 8215 // 8216 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 8217 func (_IERC721 *IERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 8218 return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner) 8219 } 8220 8221 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 8222 // 8223 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 8224 func (_IERC721 *IERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 8225 var ( 8226 ret0 = new(common.Address) 8227 ) 8228 out := ret0 8229 err := _IERC721.contract.Call(opts, out, "getApproved", tokenId) 8230 return *ret0, err 8231 } 8232 8233 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 8234 // 8235 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 8236 func (_IERC721 *IERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) { 8237 return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId) 8238 } 8239 8240 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 8241 // 8242 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 8243 func (_IERC721 *IERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 8244 return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId) 8245 } 8246 8247 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 8248 // 8249 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 8250 func (_IERC721 *IERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 8251 var ( 8252 ret0 = new(bool) 8253 ) 8254 out := ret0 8255 err := _IERC721.contract.Call(opts, out, "isApprovedForAll", owner, operator) 8256 return *ret0, err 8257 } 8258 8259 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 8260 // 8261 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 8262 func (_IERC721 *IERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 8263 return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator) 8264 } 8265 8266 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 8267 // 8268 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 8269 func (_IERC721 *IERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 8270 return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator) 8271 } 8272 8273 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 8274 // 8275 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 8276 func (_IERC721 *IERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 8277 var ( 8278 ret0 = new(common.Address) 8279 ) 8280 out := ret0 8281 err := _IERC721.contract.Call(opts, out, "ownerOf", tokenId) 8282 return *ret0, err 8283 } 8284 8285 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 8286 // 8287 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 8288 func (_IERC721 *IERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) { 8289 return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId) 8290 } 8291 8292 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 8293 // 8294 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 8295 func (_IERC721 *IERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 8296 return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId) 8297 } 8298 8299 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 8300 // 8301 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 8302 func (_IERC721 *IERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 8303 var ( 8304 ret0 = new(bool) 8305 ) 8306 out := ret0 8307 err := _IERC721.contract.Call(opts, out, "supportsInterface", interfaceId) 8308 return *ret0, err 8309 } 8310 8311 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 8312 // 8313 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 8314 func (_IERC721 *IERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 8315 return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId) 8316 } 8317 8318 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 8319 // 8320 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 8321 func (_IERC721 *IERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 8322 return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId) 8323 } 8324 8325 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 8326 // 8327 // Solidity: function approve(address to, uint256 tokenId) returns() 8328 func (_IERC721 *IERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8329 return _IERC721.contract.Transact(opts, "approve", to, tokenId) 8330 } 8331 8332 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 8333 // 8334 // Solidity: function approve(address to, uint256 tokenId) returns() 8335 func (_IERC721 *IERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8336 return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId) 8337 } 8338 8339 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 8340 // 8341 // Solidity: function approve(address to, uint256 tokenId) returns() 8342 func (_IERC721 *IERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8343 return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId) 8344 } 8345 8346 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 8347 // 8348 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 8349 func (_IERC721 *IERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8350 return _IERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 8351 } 8352 8353 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 8354 // 8355 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 8356 func (_IERC721 *IERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8357 return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 8358 } 8359 8360 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 8361 // 8362 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 8363 func (_IERC721 *IERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8364 return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 8365 } 8366 8367 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 8368 // 8369 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 8370 func (_IERC721 *IERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 8371 return _IERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) 8372 } 8373 8374 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 8375 // 8376 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 8377 func (_IERC721 *IERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 8378 return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, from, to, tokenId, data) 8379 } 8380 8381 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 8382 // 8383 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 8384 func (_IERC721 *IERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 8385 return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, from, to, tokenId, data) 8386 } 8387 8388 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 8389 // 8390 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 8391 func (_IERC721 *IERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { 8392 return _IERC721.contract.Transact(opts, "setApprovalForAll", operator, _approved) 8393 } 8394 8395 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 8396 // 8397 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 8398 func (_IERC721 *IERC721Session) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 8399 return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved) 8400 } 8401 8402 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 8403 // 8404 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 8405 func (_IERC721 *IERC721TransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 8406 return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved) 8407 } 8408 8409 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 8410 // 8411 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 8412 func (_IERC721 *IERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8413 return _IERC721.contract.Transact(opts, "transferFrom", from, to, tokenId) 8414 } 8415 8416 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 8417 // 8418 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 8419 func (_IERC721 *IERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8420 return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 8421 } 8422 8423 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 8424 // 8425 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 8426 func (_IERC721 *IERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8427 return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 8428 } 8429 8430 // 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. 8431 type IERC721ApprovalIterator struct { 8432 Event *IERC721Approval // Event containing the contract specifics and raw log 8433 8434 contract *bind.BoundContract // Generic contract to use for unpacking event data 8435 event string // Event name to use for unpacking event data 8436 8437 logs chan types.Log // Log channel receiving the found contract events 8438 sub klaytn.Subscription // Subscription for errors, completion and termination 8439 done bool // Whether the subscription completed delivering logs 8440 fail error // Occurred error to stop iteration 8441 } 8442 8443 // Next advances the iterator to the subsequent event, returning whether there 8444 // are any more events found. In case of a retrieval or parsing error, false is 8445 // returned and Error() can be queried for the exact failure. 8446 func (it *IERC721ApprovalIterator) Next() bool { 8447 // If the iterator failed, stop iterating 8448 if it.fail != nil { 8449 return false 8450 } 8451 // If the iterator completed, deliver directly whatever's available 8452 if it.done { 8453 select { 8454 case log := <-it.logs: 8455 it.Event = new(IERC721Approval) 8456 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8457 it.fail = err 8458 return false 8459 } 8460 it.Event.Raw = log 8461 return true 8462 8463 default: 8464 return false 8465 } 8466 } 8467 // Iterator still in progress, wait for either a data or an error event 8468 select { 8469 case log := <-it.logs: 8470 it.Event = new(IERC721Approval) 8471 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8472 it.fail = err 8473 return false 8474 } 8475 it.Event.Raw = log 8476 return true 8477 8478 case err := <-it.sub.Err(): 8479 it.done = true 8480 it.fail = err 8481 return it.Next() 8482 } 8483 } 8484 8485 // Error returns any retrieval or parsing error occurred during filtering. 8486 func (it *IERC721ApprovalIterator) Error() error { 8487 return it.fail 8488 } 8489 8490 // Close terminates the iteration process, releasing any pending underlying 8491 // resources. 8492 func (it *IERC721ApprovalIterator) Close() error { 8493 it.sub.Unsubscribe() 8494 return nil 8495 } 8496 8497 // IERC721Approval represents a Approval event raised by the IERC721 contract. 8498 type IERC721Approval struct { 8499 Owner common.Address 8500 Approved common.Address 8501 TokenId *big.Int 8502 Raw types.Log // Blockchain specific contextual infos 8503 } 8504 8505 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 8506 // 8507 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 8508 func (_IERC721 *IERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721ApprovalIterator, error) { 8509 8510 var ownerRule []interface{} 8511 for _, ownerItem := range owner { 8512 ownerRule = append(ownerRule, ownerItem) 8513 } 8514 var approvedRule []interface{} 8515 for _, approvedItem := range approved { 8516 approvedRule = append(approvedRule, approvedItem) 8517 } 8518 var tokenIdRule []interface{} 8519 for _, tokenIdItem := range tokenId { 8520 tokenIdRule = append(tokenIdRule, tokenIdItem) 8521 } 8522 8523 logs, sub, err := _IERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 8524 if err != nil { 8525 return nil, err 8526 } 8527 return &IERC721ApprovalIterator{contract: _IERC721.contract, event: "Approval", logs: logs, sub: sub}, nil 8528 } 8529 8530 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 8531 // 8532 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 8533 func (_IERC721 *IERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 8534 8535 var ownerRule []interface{} 8536 for _, ownerItem := range owner { 8537 ownerRule = append(ownerRule, ownerItem) 8538 } 8539 var approvedRule []interface{} 8540 for _, approvedItem := range approved { 8541 approvedRule = append(approvedRule, approvedItem) 8542 } 8543 var tokenIdRule []interface{} 8544 for _, tokenIdItem := range tokenId { 8545 tokenIdRule = append(tokenIdRule, tokenIdItem) 8546 } 8547 8548 logs, sub, err := _IERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 8549 if err != nil { 8550 return nil, err 8551 } 8552 return event.NewSubscription(func(quit <-chan struct{}) error { 8553 defer sub.Unsubscribe() 8554 for { 8555 select { 8556 case log := <-logs: 8557 // New log arrived, parse the event and forward to the user 8558 event := new(IERC721Approval) 8559 if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil { 8560 return err 8561 } 8562 event.Raw = log 8563 8564 select { 8565 case sink <- event: 8566 case err := <-sub.Err(): 8567 return err 8568 case <-quit: 8569 return nil 8570 } 8571 case err := <-sub.Err(): 8572 return err 8573 case <-quit: 8574 return nil 8575 } 8576 } 8577 }), nil 8578 } 8579 8580 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 8581 // 8582 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 8583 func (_IERC721 *IERC721Filterer) ParseApproval(log types.Log) (*IERC721Approval, error) { 8584 event := new(IERC721Approval) 8585 if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil { 8586 return nil, err 8587 } 8588 return event, nil 8589 } 8590 8591 // 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. 8592 type IERC721ApprovalForAllIterator struct { 8593 Event *IERC721ApprovalForAll // Event containing the contract specifics and raw log 8594 8595 contract *bind.BoundContract // Generic contract to use for unpacking event data 8596 event string // Event name to use for unpacking event data 8597 8598 logs chan types.Log // Log channel receiving the found contract events 8599 sub klaytn.Subscription // Subscription for errors, completion and termination 8600 done bool // Whether the subscription completed delivering logs 8601 fail error // Occurred error to stop iteration 8602 } 8603 8604 // Next advances the iterator to the subsequent event, returning whether there 8605 // are any more events found. In case of a retrieval or parsing error, false is 8606 // returned and Error() can be queried for the exact failure. 8607 func (it *IERC721ApprovalForAllIterator) Next() bool { 8608 // If the iterator failed, stop iterating 8609 if it.fail != nil { 8610 return false 8611 } 8612 // If the iterator completed, deliver directly whatever's available 8613 if it.done { 8614 select { 8615 case log := <-it.logs: 8616 it.Event = new(IERC721ApprovalForAll) 8617 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8618 it.fail = err 8619 return false 8620 } 8621 it.Event.Raw = log 8622 return true 8623 8624 default: 8625 return false 8626 } 8627 } 8628 // Iterator still in progress, wait for either a data or an error event 8629 select { 8630 case log := <-it.logs: 8631 it.Event = new(IERC721ApprovalForAll) 8632 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8633 it.fail = err 8634 return false 8635 } 8636 it.Event.Raw = log 8637 return true 8638 8639 case err := <-it.sub.Err(): 8640 it.done = true 8641 it.fail = err 8642 return it.Next() 8643 } 8644 } 8645 8646 // Error returns any retrieval or parsing error occurred during filtering. 8647 func (it *IERC721ApprovalForAllIterator) Error() error { 8648 return it.fail 8649 } 8650 8651 // Close terminates the iteration process, releasing any pending underlying 8652 // resources. 8653 func (it *IERC721ApprovalForAllIterator) Close() error { 8654 it.sub.Unsubscribe() 8655 return nil 8656 } 8657 8658 // IERC721ApprovalForAll represents a ApprovalForAll event raised by the IERC721 contract. 8659 type IERC721ApprovalForAll struct { 8660 Owner common.Address 8661 Operator common.Address 8662 Approved bool 8663 Raw types.Log // Blockchain specific contextual infos 8664 } 8665 8666 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 8667 // 8668 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 8669 func (_IERC721 *IERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721ApprovalForAllIterator, error) { 8670 8671 var ownerRule []interface{} 8672 for _, ownerItem := range owner { 8673 ownerRule = append(ownerRule, ownerItem) 8674 } 8675 var operatorRule []interface{} 8676 for _, operatorItem := range operator { 8677 operatorRule = append(operatorRule, operatorItem) 8678 } 8679 8680 logs, sub, err := _IERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 8681 if err != nil { 8682 return nil, err 8683 } 8684 return &IERC721ApprovalForAllIterator{contract: _IERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 8685 } 8686 8687 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 8688 // 8689 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 8690 func (_IERC721 *IERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 8691 8692 var ownerRule []interface{} 8693 for _, ownerItem := range owner { 8694 ownerRule = append(ownerRule, ownerItem) 8695 } 8696 var operatorRule []interface{} 8697 for _, operatorItem := range operator { 8698 operatorRule = append(operatorRule, operatorItem) 8699 } 8700 8701 logs, sub, err := _IERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 8702 if err != nil { 8703 return nil, err 8704 } 8705 return event.NewSubscription(func(quit <-chan struct{}) error { 8706 defer sub.Unsubscribe() 8707 for { 8708 select { 8709 case log := <-logs: 8710 // New log arrived, parse the event and forward to the user 8711 event := new(IERC721ApprovalForAll) 8712 if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 8713 return err 8714 } 8715 event.Raw = log 8716 8717 select { 8718 case sink <- event: 8719 case err := <-sub.Err(): 8720 return err 8721 case <-quit: 8722 return nil 8723 } 8724 case err := <-sub.Err(): 8725 return err 8726 case <-quit: 8727 return nil 8728 } 8729 } 8730 }), nil 8731 } 8732 8733 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 8734 // 8735 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 8736 func (_IERC721 *IERC721Filterer) ParseApprovalForAll(log types.Log) (*IERC721ApprovalForAll, error) { 8737 event := new(IERC721ApprovalForAll) 8738 if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 8739 return nil, err 8740 } 8741 return event, nil 8742 } 8743 8744 // 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. 8745 type IERC721TransferIterator struct { 8746 Event *IERC721Transfer // Event containing the contract specifics and raw log 8747 8748 contract *bind.BoundContract // Generic contract to use for unpacking event data 8749 event string // Event name to use for unpacking event data 8750 8751 logs chan types.Log // Log channel receiving the found contract events 8752 sub klaytn.Subscription // Subscription for errors, completion and termination 8753 done bool // Whether the subscription completed delivering logs 8754 fail error // Occurred error to stop iteration 8755 } 8756 8757 // Next advances the iterator to the subsequent event, returning whether there 8758 // are any more events found. In case of a retrieval or parsing error, false is 8759 // returned and Error() can be queried for the exact failure. 8760 func (it *IERC721TransferIterator) Next() bool { 8761 // If the iterator failed, stop iterating 8762 if it.fail != nil { 8763 return false 8764 } 8765 // If the iterator completed, deliver directly whatever's available 8766 if it.done { 8767 select { 8768 case log := <-it.logs: 8769 it.Event = new(IERC721Transfer) 8770 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8771 it.fail = err 8772 return false 8773 } 8774 it.Event.Raw = log 8775 return true 8776 8777 default: 8778 return false 8779 } 8780 } 8781 // Iterator still in progress, wait for either a data or an error event 8782 select { 8783 case log := <-it.logs: 8784 it.Event = new(IERC721Transfer) 8785 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8786 it.fail = err 8787 return false 8788 } 8789 it.Event.Raw = log 8790 return true 8791 8792 case err := <-it.sub.Err(): 8793 it.done = true 8794 it.fail = err 8795 return it.Next() 8796 } 8797 } 8798 8799 // Error returns any retrieval or parsing error occurred during filtering. 8800 func (it *IERC721TransferIterator) Error() error { 8801 return it.fail 8802 } 8803 8804 // Close terminates the iteration process, releasing any pending underlying 8805 // resources. 8806 func (it *IERC721TransferIterator) Close() error { 8807 it.sub.Unsubscribe() 8808 return nil 8809 } 8810 8811 // IERC721Transfer represents a Transfer event raised by the IERC721 contract. 8812 type IERC721Transfer struct { 8813 From common.Address 8814 To common.Address 8815 TokenId *big.Int 8816 Raw types.Log // Blockchain specific contextual infos 8817 } 8818 8819 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 8820 // 8821 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 8822 func (_IERC721 *IERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721TransferIterator, error) { 8823 8824 var fromRule []interface{} 8825 for _, fromItem := range from { 8826 fromRule = append(fromRule, fromItem) 8827 } 8828 var toRule []interface{} 8829 for _, toItem := range to { 8830 toRule = append(toRule, toItem) 8831 } 8832 var tokenIdRule []interface{} 8833 for _, tokenIdItem := range tokenId { 8834 tokenIdRule = append(tokenIdRule, tokenIdItem) 8835 } 8836 8837 logs, sub, err := _IERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 8838 if err != nil { 8839 return nil, err 8840 } 8841 return &IERC721TransferIterator{contract: _IERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil 8842 } 8843 8844 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 8845 // 8846 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 8847 func (_IERC721 *IERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 8848 8849 var fromRule []interface{} 8850 for _, fromItem := range from { 8851 fromRule = append(fromRule, fromItem) 8852 } 8853 var toRule []interface{} 8854 for _, toItem := range to { 8855 toRule = append(toRule, toItem) 8856 } 8857 var tokenIdRule []interface{} 8858 for _, tokenIdItem := range tokenId { 8859 tokenIdRule = append(tokenIdRule, tokenIdItem) 8860 } 8861 8862 logs, sub, err := _IERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 8863 if err != nil { 8864 return nil, err 8865 } 8866 return event.NewSubscription(func(quit <-chan struct{}) error { 8867 defer sub.Unsubscribe() 8868 for { 8869 select { 8870 case log := <-logs: 8871 // New log arrived, parse the event and forward to the user 8872 event := new(IERC721Transfer) 8873 if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 8874 return err 8875 } 8876 event.Raw = log 8877 8878 select { 8879 case sink <- event: 8880 case err := <-sub.Err(): 8881 return err 8882 case <-quit: 8883 return nil 8884 } 8885 case err := <-sub.Err(): 8886 return err 8887 case <-quit: 8888 return nil 8889 } 8890 } 8891 }), nil 8892 } 8893 8894 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 8895 // 8896 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 8897 func (_IERC721 *IERC721Filterer) ParseTransfer(log types.Log) (*IERC721Transfer, error) { 8898 event := new(IERC721Transfer) 8899 if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 8900 return nil, err 8901 } 8902 return event, nil 8903 } 8904 8905 // IERC721BridgeReceiverABI is the input ABI used to generate the binding from. 8906 const IERC721BridgeReceiverABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 8907 8908 // IERC721BridgeReceiverBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 8909 const IERC721BridgeReceiverBinRuntime = `` 8910 8911 // IERC721BridgeReceiverFuncSigs maps the 4-byte function signature to its string representation. 8912 var IERC721BridgeReceiverFuncSigs = map[string]string{ 8913 "cf0da290": "onERC721Received(address,uint256,address,bytes)", 8914 } 8915 8916 // IERC721BridgeReceiver is an auto generated Go binding around a Klaytn contract. 8917 type IERC721BridgeReceiver struct { 8918 IERC721BridgeReceiverCaller // Read-only binding to the contract 8919 IERC721BridgeReceiverTransactor // Write-only binding to the contract 8920 IERC721BridgeReceiverFilterer // Log filterer for contract events 8921 } 8922 8923 // IERC721BridgeReceiverCaller is an auto generated read-only Go binding around a Klaytn contract. 8924 type IERC721BridgeReceiverCaller struct { 8925 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8926 } 8927 8928 // IERC721BridgeReceiverTransactor is an auto generated write-only Go binding around a Klaytn contract. 8929 type IERC721BridgeReceiverTransactor struct { 8930 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8931 } 8932 8933 // IERC721BridgeReceiverFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 8934 type IERC721BridgeReceiverFilterer struct { 8935 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8936 } 8937 8938 // IERC721BridgeReceiverSession is an auto generated Go binding around a Klaytn contract, 8939 // with pre-set call and transact options. 8940 type IERC721BridgeReceiverSession struct { 8941 Contract *IERC721BridgeReceiver // Generic contract binding to set the session for 8942 CallOpts bind.CallOpts // Call options to use throughout this session 8943 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8944 } 8945 8946 // IERC721BridgeReceiverCallerSession is an auto generated read-only Go binding around a Klaytn contract, 8947 // with pre-set call options. 8948 type IERC721BridgeReceiverCallerSession struct { 8949 Contract *IERC721BridgeReceiverCaller // Generic contract caller binding to set the session for 8950 CallOpts bind.CallOpts // Call options to use throughout this session 8951 } 8952 8953 // IERC721BridgeReceiverTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 8954 // with pre-set transact options. 8955 type IERC721BridgeReceiverTransactorSession struct { 8956 Contract *IERC721BridgeReceiverTransactor // Generic contract transactor binding to set the session for 8957 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8958 } 8959 8960 // IERC721BridgeReceiverRaw is an auto generated low-level Go binding around a Klaytn contract. 8961 type IERC721BridgeReceiverRaw struct { 8962 Contract *IERC721BridgeReceiver // Generic contract binding to access the raw methods on 8963 } 8964 8965 // IERC721BridgeReceiverCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 8966 type IERC721BridgeReceiverCallerRaw struct { 8967 Contract *IERC721BridgeReceiverCaller // Generic read-only contract binding to access the raw methods on 8968 } 8969 8970 // IERC721BridgeReceiverTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 8971 type IERC721BridgeReceiverTransactorRaw struct { 8972 Contract *IERC721BridgeReceiverTransactor // Generic write-only contract binding to access the raw methods on 8973 } 8974 8975 // NewIERC721BridgeReceiver creates a new instance of IERC721BridgeReceiver, bound to a specific deployed contract. 8976 func NewIERC721BridgeReceiver(address common.Address, backend bind.ContractBackend) (*IERC721BridgeReceiver, error) { 8977 contract, err := bindIERC721BridgeReceiver(address, backend, backend, backend) 8978 if err != nil { 8979 return nil, err 8980 } 8981 return &IERC721BridgeReceiver{IERC721BridgeReceiverCaller: IERC721BridgeReceiverCaller{contract: contract}, IERC721BridgeReceiverTransactor: IERC721BridgeReceiverTransactor{contract: contract}, IERC721BridgeReceiverFilterer: IERC721BridgeReceiverFilterer{contract: contract}}, nil 8982 } 8983 8984 // NewIERC721BridgeReceiverCaller creates a new read-only instance of IERC721BridgeReceiver, bound to a specific deployed contract. 8985 func NewIERC721BridgeReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC721BridgeReceiverCaller, error) { 8986 contract, err := bindIERC721BridgeReceiver(address, caller, nil, nil) 8987 if err != nil { 8988 return nil, err 8989 } 8990 return &IERC721BridgeReceiverCaller{contract: contract}, nil 8991 } 8992 8993 // NewIERC721BridgeReceiverTransactor creates a new write-only instance of IERC721BridgeReceiver, bound to a specific deployed contract. 8994 func NewIERC721BridgeReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721BridgeReceiverTransactor, error) { 8995 contract, err := bindIERC721BridgeReceiver(address, nil, transactor, nil) 8996 if err != nil { 8997 return nil, err 8998 } 8999 return &IERC721BridgeReceiverTransactor{contract: contract}, nil 9000 } 9001 9002 // NewIERC721BridgeReceiverFilterer creates a new log filterer instance of IERC721BridgeReceiver, bound to a specific deployed contract. 9003 func NewIERC721BridgeReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721BridgeReceiverFilterer, error) { 9004 contract, err := bindIERC721BridgeReceiver(address, nil, nil, filterer) 9005 if err != nil { 9006 return nil, err 9007 } 9008 return &IERC721BridgeReceiverFilterer{contract: contract}, nil 9009 } 9010 9011 // bindIERC721BridgeReceiver binds a generic wrapper to an already deployed contract. 9012 func bindIERC721BridgeReceiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 9013 parsed, err := abi.JSON(strings.NewReader(IERC721BridgeReceiverABI)) 9014 if err != nil { 9015 return nil, err 9016 } 9017 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 9018 } 9019 9020 // Call invokes the (constant) contract method with params as input values and 9021 // sets the output to result. The result type might be a single field for simple 9022 // returns, a slice of interfaces for anonymous returns and a struct for named 9023 // returns. 9024 func (_IERC721BridgeReceiver *IERC721BridgeReceiverRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 9025 return _IERC721BridgeReceiver.Contract.IERC721BridgeReceiverCaller.contract.Call(opts, result, method, params...) 9026 } 9027 9028 // Transfer initiates a plain transaction to move funds to the contract, calling 9029 // its default method if one is available. 9030 func (_IERC721BridgeReceiver *IERC721BridgeReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 9031 return _IERC721BridgeReceiver.Contract.IERC721BridgeReceiverTransactor.contract.Transfer(opts) 9032 } 9033 9034 // Transact invokes the (paid) contract method with params as input values. 9035 func (_IERC721BridgeReceiver *IERC721BridgeReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 9036 return _IERC721BridgeReceiver.Contract.IERC721BridgeReceiverTransactor.contract.Transact(opts, method, params...) 9037 } 9038 9039 // Call invokes the (constant) contract method with params as input values and 9040 // sets the output to result. The result type might be a single field for simple 9041 // returns, a slice of interfaces for anonymous returns and a struct for named 9042 // returns. 9043 func (_IERC721BridgeReceiver *IERC721BridgeReceiverCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 9044 return _IERC721BridgeReceiver.Contract.contract.Call(opts, result, method, params...) 9045 } 9046 9047 // Transfer initiates a plain transaction to move funds to the contract, calling 9048 // its default method if one is available. 9049 func (_IERC721BridgeReceiver *IERC721BridgeReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 9050 return _IERC721BridgeReceiver.Contract.contract.Transfer(opts) 9051 } 9052 9053 // Transact invokes the (paid) contract method with params as input values. 9054 func (_IERC721BridgeReceiver *IERC721BridgeReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 9055 return _IERC721BridgeReceiver.Contract.contract.Transact(opts, method, params...) 9056 } 9057 9058 // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. 9059 // 9060 // Solidity: function onERC721Received(address _from, uint256 _tokenId, address _to, bytes _extraData) returns() 9061 func (_IERC721BridgeReceiver *IERC721BridgeReceiverTransactor) OnERC721Received(opts *bind.TransactOpts, _from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 9062 return _IERC721BridgeReceiver.contract.Transact(opts, "onERC721Received", _from, _tokenId, _to, _extraData) 9063 } 9064 9065 // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. 9066 // 9067 // Solidity: function onERC721Received(address _from, uint256 _tokenId, address _to, bytes _extraData) returns() 9068 func (_IERC721BridgeReceiver *IERC721BridgeReceiverSession) OnERC721Received(_from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 9069 return _IERC721BridgeReceiver.Contract.OnERC721Received(&_IERC721BridgeReceiver.TransactOpts, _from, _tokenId, _to, _extraData) 9070 } 9071 9072 // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. 9073 // 9074 // Solidity: function onERC721Received(address _from, uint256 _tokenId, address _to, bytes _extraData) returns() 9075 func (_IERC721BridgeReceiver *IERC721BridgeReceiverTransactorSession) OnERC721Received(_from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 9076 return _IERC721BridgeReceiver.Contract.OnERC721Received(&_IERC721BridgeReceiver.TransactOpts, _from, _tokenId, _to, _extraData) 9077 } 9078 9079 // IERC721EnumerableABI is the input ABI used to generate the binding from. 9080 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\"}]" 9081 9082 // IERC721EnumerableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 9083 const IERC721EnumerableBinRuntime = `` 9084 9085 // IERC721EnumerableFuncSigs maps the 4-byte function signature to its string representation. 9086 var IERC721EnumerableFuncSigs = map[string]string{ 9087 "095ea7b3": "approve(address,uint256)", 9088 "70a08231": "balanceOf(address)", 9089 "081812fc": "getApproved(uint256)", 9090 "e985e9c5": "isApprovedForAll(address,address)", 9091 "6352211e": "ownerOf(uint256)", 9092 "42842e0e": "safeTransferFrom(address,address,uint256)", 9093 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 9094 "a22cb465": "setApprovalForAll(address,bool)", 9095 "01ffc9a7": "supportsInterface(bytes4)", 9096 "4f6ccce7": "tokenByIndex(uint256)", 9097 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 9098 "18160ddd": "totalSupply()", 9099 "23b872dd": "transferFrom(address,address,uint256)", 9100 } 9101 9102 // IERC721Enumerable is an auto generated Go binding around a Klaytn contract. 9103 type IERC721Enumerable struct { 9104 IERC721EnumerableCaller // Read-only binding to the contract 9105 IERC721EnumerableTransactor // Write-only binding to the contract 9106 IERC721EnumerableFilterer // Log filterer for contract events 9107 } 9108 9109 // IERC721EnumerableCaller is an auto generated read-only Go binding around a Klaytn contract. 9110 type IERC721EnumerableCaller struct { 9111 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9112 } 9113 9114 // IERC721EnumerableTransactor is an auto generated write-only Go binding around a Klaytn contract. 9115 type IERC721EnumerableTransactor struct { 9116 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9117 } 9118 9119 // IERC721EnumerableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 9120 type IERC721EnumerableFilterer struct { 9121 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9122 } 9123 9124 // IERC721EnumerableSession is an auto generated Go binding around a Klaytn contract, 9125 // with pre-set call and transact options. 9126 type IERC721EnumerableSession struct { 9127 Contract *IERC721Enumerable // Generic contract binding to set the session for 9128 CallOpts bind.CallOpts // Call options to use throughout this session 9129 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 9130 } 9131 9132 // IERC721EnumerableCallerSession is an auto generated read-only Go binding around a Klaytn contract, 9133 // with pre-set call options. 9134 type IERC721EnumerableCallerSession struct { 9135 Contract *IERC721EnumerableCaller // Generic contract caller binding to set the session for 9136 CallOpts bind.CallOpts // Call options to use throughout this session 9137 } 9138 9139 // IERC721EnumerableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 9140 // with pre-set transact options. 9141 type IERC721EnumerableTransactorSession struct { 9142 Contract *IERC721EnumerableTransactor // Generic contract transactor binding to set the session for 9143 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 9144 } 9145 9146 // IERC721EnumerableRaw is an auto generated low-level Go binding around a Klaytn contract. 9147 type IERC721EnumerableRaw struct { 9148 Contract *IERC721Enumerable // Generic contract binding to access the raw methods on 9149 } 9150 9151 // IERC721EnumerableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 9152 type IERC721EnumerableCallerRaw struct { 9153 Contract *IERC721EnumerableCaller // Generic read-only contract binding to access the raw methods on 9154 } 9155 9156 // IERC721EnumerableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 9157 type IERC721EnumerableTransactorRaw struct { 9158 Contract *IERC721EnumerableTransactor // Generic write-only contract binding to access the raw methods on 9159 } 9160 9161 // NewIERC721Enumerable creates a new instance of IERC721Enumerable, bound to a specific deployed contract. 9162 func NewIERC721Enumerable(address common.Address, backend bind.ContractBackend) (*IERC721Enumerable, error) { 9163 contract, err := bindIERC721Enumerable(address, backend, backend, backend) 9164 if err != nil { 9165 return nil, err 9166 } 9167 return &IERC721Enumerable{IERC721EnumerableCaller: IERC721EnumerableCaller{contract: contract}, IERC721EnumerableTransactor: IERC721EnumerableTransactor{contract: contract}, IERC721EnumerableFilterer: IERC721EnumerableFilterer{contract: contract}}, nil 9168 } 9169 9170 // NewIERC721EnumerableCaller creates a new read-only instance of IERC721Enumerable, bound to a specific deployed contract. 9171 func NewIERC721EnumerableCaller(address common.Address, caller bind.ContractCaller) (*IERC721EnumerableCaller, error) { 9172 contract, err := bindIERC721Enumerable(address, caller, nil, nil) 9173 if err != nil { 9174 return nil, err 9175 } 9176 return &IERC721EnumerableCaller{contract: contract}, nil 9177 } 9178 9179 // NewIERC721EnumerableTransactor creates a new write-only instance of IERC721Enumerable, bound to a specific deployed contract. 9180 func NewIERC721EnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721EnumerableTransactor, error) { 9181 contract, err := bindIERC721Enumerable(address, nil, transactor, nil) 9182 if err != nil { 9183 return nil, err 9184 } 9185 return &IERC721EnumerableTransactor{contract: contract}, nil 9186 } 9187 9188 // NewIERC721EnumerableFilterer creates a new log filterer instance of IERC721Enumerable, bound to a specific deployed contract. 9189 func NewIERC721EnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721EnumerableFilterer, error) { 9190 contract, err := bindIERC721Enumerable(address, nil, nil, filterer) 9191 if err != nil { 9192 return nil, err 9193 } 9194 return &IERC721EnumerableFilterer{contract: contract}, nil 9195 } 9196 9197 // bindIERC721Enumerable binds a generic wrapper to an already deployed contract. 9198 func bindIERC721Enumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 9199 parsed, err := abi.JSON(strings.NewReader(IERC721EnumerableABI)) 9200 if err != nil { 9201 return nil, err 9202 } 9203 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 9204 } 9205 9206 // Call invokes the (constant) contract method with params as input values and 9207 // sets the output to result. The result type might be a single field for simple 9208 // returns, a slice of interfaces for anonymous returns and a struct for named 9209 // returns. 9210 func (_IERC721Enumerable *IERC721EnumerableRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 9211 return _IERC721Enumerable.Contract.IERC721EnumerableCaller.contract.Call(opts, result, method, params...) 9212 } 9213 9214 // Transfer initiates a plain transaction to move funds to the contract, calling 9215 // its default method if one is available. 9216 func (_IERC721Enumerable *IERC721EnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 9217 return _IERC721Enumerable.Contract.IERC721EnumerableTransactor.contract.Transfer(opts) 9218 } 9219 9220 // Transact invokes the (paid) contract method with params as input values. 9221 func (_IERC721Enumerable *IERC721EnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 9222 return _IERC721Enumerable.Contract.IERC721EnumerableTransactor.contract.Transact(opts, method, params...) 9223 } 9224 9225 // Call invokes the (constant) contract method with params as input values and 9226 // sets the output to result. The result type might be a single field for simple 9227 // returns, a slice of interfaces for anonymous returns and a struct for named 9228 // returns. 9229 func (_IERC721Enumerable *IERC721EnumerableCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 9230 return _IERC721Enumerable.Contract.contract.Call(opts, result, method, params...) 9231 } 9232 9233 // Transfer initiates a plain transaction to move funds to the contract, calling 9234 // its default method if one is available. 9235 func (_IERC721Enumerable *IERC721EnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 9236 return _IERC721Enumerable.Contract.contract.Transfer(opts) 9237 } 9238 9239 // Transact invokes the (paid) contract method with params as input values. 9240 func (_IERC721Enumerable *IERC721EnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 9241 return _IERC721Enumerable.Contract.contract.Transact(opts, method, params...) 9242 } 9243 9244 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 9245 // 9246 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 9247 func (_IERC721Enumerable *IERC721EnumerableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 9248 var ( 9249 ret0 = new(*big.Int) 9250 ) 9251 out := ret0 9252 err := _IERC721Enumerable.contract.Call(opts, out, "balanceOf", owner) 9253 return *ret0, err 9254 } 9255 9256 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 9257 // 9258 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 9259 func (_IERC721Enumerable *IERC721EnumerableSession) BalanceOf(owner common.Address) (*big.Int, error) { 9260 return _IERC721Enumerable.Contract.BalanceOf(&_IERC721Enumerable.CallOpts, owner) 9261 } 9262 9263 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 9264 // 9265 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 9266 func (_IERC721Enumerable *IERC721EnumerableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 9267 return _IERC721Enumerable.Contract.BalanceOf(&_IERC721Enumerable.CallOpts, owner) 9268 } 9269 9270 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 9271 // 9272 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 9273 func (_IERC721Enumerable *IERC721EnumerableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 9274 var ( 9275 ret0 = new(common.Address) 9276 ) 9277 out := ret0 9278 err := _IERC721Enumerable.contract.Call(opts, out, "getApproved", tokenId) 9279 return *ret0, err 9280 } 9281 9282 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 9283 // 9284 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 9285 func (_IERC721Enumerable *IERC721EnumerableSession) GetApproved(tokenId *big.Int) (common.Address, error) { 9286 return _IERC721Enumerable.Contract.GetApproved(&_IERC721Enumerable.CallOpts, tokenId) 9287 } 9288 9289 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 9290 // 9291 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 9292 func (_IERC721Enumerable *IERC721EnumerableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 9293 return _IERC721Enumerable.Contract.GetApproved(&_IERC721Enumerable.CallOpts, tokenId) 9294 } 9295 9296 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 9297 // 9298 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 9299 func (_IERC721Enumerable *IERC721EnumerableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 9300 var ( 9301 ret0 = new(bool) 9302 ) 9303 out := ret0 9304 err := _IERC721Enumerable.contract.Call(opts, out, "isApprovedForAll", owner, operator) 9305 return *ret0, err 9306 } 9307 9308 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 9309 // 9310 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 9311 func (_IERC721Enumerable *IERC721EnumerableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 9312 return _IERC721Enumerable.Contract.IsApprovedForAll(&_IERC721Enumerable.CallOpts, owner, operator) 9313 } 9314 9315 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 9316 // 9317 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 9318 func (_IERC721Enumerable *IERC721EnumerableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 9319 return _IERC721Enumerable.Contract.IsApprovedForAll(&_IERC721Enumerable.CallOpts, owner, operator) 9320 } 9321 9322 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 9323 // 9324 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 9325 func (_IERC721Enumerable *IERC721EnumerableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 9326 var ( 9327 ret0 = new(common.Address) 9328 ) 9329 out := ret0 9330 err := _IERC721Enumerable.contract.Call(opts, out, "ownerOf", tokenId) 9331 return *ret0, err 9332 } 9333 9334 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 9335 // 9336 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 9337 func (_IERC721Enumerable *IERC721EnumerableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 9338 return _IERC721Enumerable.Contract.OwnerOf(&_IERC721Enumerable.CallOpts, tokenId) 9339 } 9340 9341 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 9342 // 9343 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 9344 func (_IERC721Enumerable *IERC721EnumerableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 9345 return _IERC721Enumerable.Contract.OwnerOf(&_IERC721Enumerable.CallOpts, tokenId) 9346 } 9347 9348 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 9349 // 9350 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 9351 func (_IERC721Enumerable *IERC721EnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 9352 var ( 9353 ret0 = new(bool) 9354 ) 9355 out := ret0 9356 err := _IERC721Enumerable.contract.Call(opts, out, "supportsInterface", interfaceId) 9357 return *ret0, err 9358 } 9359 9360 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 9361 // 9362 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 9363 func (_IERC721Enumerable *IERC721EnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 9364 return _IERC721Enumerable.Contract.SupportsInterface(&_IERC721Enumerable.CallOpts, interfaceId) 9365 } 9366 9367 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 9368 // 9369 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 9370 func (_IERC721Enumerable *IERC721EnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 9371 return _IERC721Enumerable.Contract.SupportsInterface(&_IERC721Enumerable.CallOpts, interfaceId) 9372 } 9373 9374 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 9375 // 9376 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 9377 func (_IERC721Enumerable *IERC721EnumerableCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 9378 var ( 9379 ret0 = new(*big.Int) 9380 ) 9381 out := ret0 9382 err := _IERC721Enumerable.contract.Call(opts, out, "tokenByIndex", index) 9383 return *ret0, err 9384 } 9385 9386 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 9387 // 9388 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 9389 func (_IERC721Enumerable *IERC721EnumerableSession) TokenByIndex(index *big.Int) (*big.Int, error) { 9390 return _IERC721Enumerable.Contract.TokenByIndex(&_IERC721Enumerable.CallOpts, index) 9391 } 9392 9393 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 9394 // 9395 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 9396 func (_IERC721Enumerable *IERC721EnumerableCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 9397 return _IERC721Enumerable.Contract.TokenByIndex(&_IERC721Enumerable.CallOpts, index) 9398 } 9399 9400 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 9401 // 9402 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256 tokenId) 9403 func (_IERC721Enumerable *IERC721EnumerableCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 9404 var ( 9405 ret0 = new(*big.Int) 9406 ) 9407 out := ret0 9408 err := _IERC721Enumerable.contract.Call(opts, out, "tokenOfOwnerByIndex", owner, index) 9409 return *ret0, err 9410 } 9411 9412 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 9413 // 9414 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256 tokenId) 9415 func (_IERC721Enumerable *IERC721EnumerableSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 9416 return _IERC721Enumerable.Contract.TokenOfOwnerByIndex(&_IERC721Enumerable.CallOpts, owner, index) 9417 } 9418 9419 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 9420 // 9421 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256 tokenId) 9422 func (_IERC721Enumerable *IERC721EnumerableCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 9423 return _IERC721Enumerable.Contract.TokenOfOwnerByIndex(&_IERC721Enumerable.CallOpts, owner, index) 9424 } 9425 9426 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 9427 // 9428 // Solidity: function totalSupply() view returns(uint256) 9429 func (_IERC721Enumerable *IERC721EnumerableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 9430 var ( 9431 ret0 = new(*big.Int) 9432 ) 9433 out := ret0 9434 err := _IERC721Enumerable.contract.Call(opts, out, "totalSupply") 9435 return *ret0, err 9436 } 9437 9438 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 9439 // 9440 // Solidity: function totalSupply() view returns(uint256) 9441 func (_IERC721Enumerable *IERC721EnumerableSession) TotalSupply() (*big.Int, error) { 9442 return _IERC721Enumerable.Contract.TotalSupply(&_IERC721Enumerable.CallOpts) 9443 } 9444 9445 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 9446 // 9447 // Solidity: function totalSupply() view returns(uint256) 9448 func (_IERC721Enumerable *IERC721EnumerableCallerSession) TotalSupply() (*big.Int, error) { 9449 return _IERC721Enumerable.Contract.TotalSupply(&_IERC721Enumerable.CallOpts) 9450 } 9451 9452 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 9453 // 9454 // Solidity: function approve(address to, uint256 tokenId) returns() 9455 func (_IERC721Enumerable *IERC721EnumerableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 9456 return _IERC721Enumerable.contract.Transact(opts, "approve", to, tokenId) 9457 } 9458 9459 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 9460 // 9461 // Solidity: function approve(address to, uint256 tokenId) returns() 9462 func (_IERC721Enumerable *IERC721EnumerableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 9463 return _IERC721Enumerable.Contract.Approve(&_IERC721Enumerable.TransactOpts, to, tokenId) 9464 } 9465 9466 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 9467 // 9468 // Solidity: function approve(address to, uint256 tokenId) returns() 9469 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 9470 return _IERC721Enumerable.Contract.Approve(&_IERC721Enumerable.TransactOpts, to, tokenId) 9471 } 9472 9473 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 9474 // 9475 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 9476 func (_IERC721Enumerable *IERC721EnumerableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 9477 return _IERC721Enumerable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 9478 } 9479 9480 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 9481 // 9482 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 9483 func (_IERC721Enumerable *IERC721EnumerableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 9484 return _IERC721Enumerable.Contract.SafeTransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) 9485 } 9486 9487 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 9488 // 9489 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 9490 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 9491 return _IERC721Enumerable.Contract.SafeTransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) 9492 } 9493 9494 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 9495 // 9496 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 9497 func (_IERC721Enumerable *IERC721EnumerableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 9498 return _IERC721Enumerable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) 9499 } 9500 9501 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 9502 // 9503 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 9504 func (_IERC721Enumerable *IERC721EnumerableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 9505 return _IERC721Enumerable.Contract.SafeTransferFrom0(&_IERC721Enumerable.TransactOpts, from, to, tokenId, data) 9506 } 9507 9508 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 9509 // 9510 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 9511 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 9512 return _IERC721Enumerable.Contract.SafeTransferFrom0(&_IERC721Enumerable.TransactOpts, from, to, tokenId, data) 9513 } 9514 9515 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 9516 // 9517 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 9518 func (_IERC721Enumerable *IERC721EnumerableTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { 9519 return _IERC721Enumerable.contract.Transact(opts, "setApprovalForAll", operator, _approved) 9520 } 9521 9522 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 9523 // 9524 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 9525 func (_IERC721Enumerable *IERC721EnumerableSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 9526 return _IERC721Enumerable.Contract.SetApprovalForAll(&_IERC721Enumerable.TransactOpts, operator, _approved) 9527 } 9528 9529 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 9530 // 9531 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 9532 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 9533 return _IERC721Enumerable.Contract.SetApprovalForAll(&_IERC721Enumerable.TransactOpts, operator, _approved) 9534 } 9535 9536 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 9537 // 9538 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 9539 func (_IERC721Enumerable *IERC721EnumerableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 9540 return _IERC721Enumerable.contract.Transact(opts, "transferFrom", from, to, tokenId) 9541 } 9542 9543 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 9544 // 9545 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 9546 func (_IERC721Enumerable *IERC721EnumerableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 9547 return _IERC721Enumerable.Contract.TransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) 9548 } 9549 9550 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 9551 // 9552 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 9553 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 9554 return _IERC721Enumerable.Contract.TransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) 9555 } 9556 9557 // 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. 9558 type IERC721EnumerableApprovalIterator struct { 9559 Event *IERC721EnumerableApproval // Event containing the contract specifics and raw log 9560 9561 contract *bind.BoundContract // Generic contract to use for unpacking event data 9562 event string // Event name to use for unpacking event data 9563 9564 logs chan types.Log // Log channel receiving the found contract events 9565 sub klaytn.Subscription // Subscription for errors, completion and termination 9566 done bool // Whether the subscription completed delivering logs 9567 fail error // Occurred error to stop iteration 9568 } 9569 9570 // Next advances the iterator to the subsequent event, returning whether there 9571 // are any more events found. In case of a retrieval or parsing error, false is 9572 // returned and Error() can be queried for the exact failure. 9573 func (it *IERC721EnumerableApprovalIterator) Next() bool { 9574 // If the iterator failed, stop iterating 9575 if it.fail != nil { 9576 return false 9577 } 9578 // If the iterator completed, deliver directly whatever's available 9579 if it.done { 9580 select { 9581 case log := <-it.logs: 9582 it.Event = new(IERC721EnumerableApproval) 9583 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9584 it.fail = err 9585 return false 9586 } 9587 it.Event.Raw = log 9588 return true 9589 9590 default: 9591 return false 9592 } 9593 } 9594 // Iterator still in progress, wait for either a data or an error event 9595 select { 9596 case log := <-it.logs: 9597 it.Event = new(IERC721EnumerableApproval) 9598 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9599 it.fail = err 9600 return false 9601 } 9602 it.Event.Raw = log 9603 return true 9604 9605 case err := <-it.sub.Err(): 9606 it.done = true 9607 it.fail = err 9608 return it.Next() 9609 } 9610 } 9611 9612 // Error returns any retrieval or parsing error occurred during filtering. 9613 func (it *IERC721EnumerableApprovalIterator) Error() error { 9614 return it.fail 9615 } 9616 9617 // Close terminates the iteration process, releasing any pending underlying 9618 // resources. 9619 func (it *IERC721EnumerableApprovalIterator) Close() error { 9620 it.sub.Unsubscribe() 9621 return nil 9622 } 9623 9624 // IERC721EnumerableApproval represents a Approval event raised by the IERC721Enumerable contract. 9625 type IERC721EnumerableApproval struct { 9626 Owner common.Address 9627 Approved common.Address 9628 TokenId *big.Int 9629 Raw types.Log // Blockchain specific contextual infos 9630 } 9631 9632 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 9633 // 9634 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 9635 func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721EnumerableApprovalIterator, error) { 9636 9637 var ownerRule []interface{} 9638 for _, ownerItem := range owner { 9639 ownerRule = append(ownerRule, ownerItem) 9640 } 9641 var approvedRule []interface{} 9642 for _, approvedItem := range approved { 9643 approvedRule = append(approvedRule, approvedItem) 9644 } 9645 var tokenIdRule []interface{} 9646 for _, tokenIdItem := range tokenId { 9647 tokenIdRule = append(tokenIdRule, tokenIdItem) 9648 } 9649 9650 logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 9651 if err != nil { 9652 return nil, err 9653 } 9654 return &IERC721EnumerableApprovalIterator{contract: _IERC721Enumerable.contract, event: "Approval", logs: logs, sub: sub}, nil 9655 } 9656 9657 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 9658 // 9659 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 9660 func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 9661 9662 var ownerRule []interface{} 9663 for _, ownerItem := range owner { 9664 ownerRule = append(ownerRule, ownerItem) 9665 } 9666 var approvedRule []interface{} 9667 for _, approvedItem := range approved { 9668 approvedRule = append(approvedRule, approvedItem) 9669 } 9670 var tokenIdRule []interface{} 9671 for _, tokenIdItem := range tokenId { 9672 tokenIdRule = append(tokenIdRule, tokenIdItem) 9673 } 9674 9675 logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 9676 if err != nil { 9677 return nil, err 9678 } 9679 return event.NewSubscription(func(quit <-chan struct{}) error { 9680 defer sub.Unsubscribe() 9681 for { 9682 select { 9683 case log := <-logs: 9684 // New log arrived, parse the event and forward to the user 9685 event := new(IERC721EnumerableApproval) 9686 if err := _IERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { 9687 return err 9688 } 9689 event.Raw = log 9690 9691 select { 9692 case sink <- event: 9693 case err := <-sub.Err(): 9694 return err 9695 case <-quit: 9696 return nil 9697 } 9698 case err := <-sub.Err(): 9699 return err 9700 case <-quit: 9701 return nil 9702 } 9703 } 9704 }), nil 9705 } 9706 9707 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 9708 // 9709 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 9710 func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseApproval(log types.Log) (*IERC721EnumerableApproval, error) { 9711 event := new(IERC721EnumerableApproval) 9712 if err := _IERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { 9713 return nil, err 9714 } 9715 return event, nil 9716 } 9717 9718 // 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. 9719 type IERC721EnumerableApprovalForAllIterator struct { 9720 Event *IERC721EnumerableApprovalForAll // Event containing the contract specifics and raw log 9721 9722 contract *bind.BoundContract // Generic contract to use for unpacking event data 9723 event string // Event name to use for unpacking event data 9724 9725 logs chan types.Log // Log channel receiving the found contract events 9726 sub klaytn.Subscription // Subscription for errors, completion and termination 9727 done bool // Whether the subscription completed delivering logs 9728 fail error // Occurred error to stop iteration 9729 } 9730 9731 // Next advances the iterator to the subsequent event, returning whether there 9732 // are any more events found. In case of a retrieval or parsing error, false is 9733 // returned and Error() can be queried for the exact failure. 9734 func (it *IERC721EnumerableApprovalForAllIterator) Next() bool { 9735 // If the iterator failed, stop iterating 9736 if it.fail != nil { 9737 return false 9738 } 9739 // If the iterator completed, deliver directly whatever's available 9740 if it.done { 9741 select { 9742 case log := <-it.logs: 9743 it.Event = new(IERC721EnumerableApprovalForAll) 9744 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9745 it.fail = err 9746 return false 9747 } 9748 it.Event.Raw = log 9749 return true 9750 9751 default: 9752 return false 9753 } 9754 } 9755 // Iterator still in progress, wait for either a data or an error event 9756 select { 9757 case log := <-it.logs: 9758 it.Event = new(IERC721EnumerableApprovalForAll) 9759 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9760 it.fail = err 9761 return false 9762 } 9763 it.Event.Raw = log 9764 return true 9765 9766 case err := <-it.sub.Err(): 9767 it.done = true 9768 it.fail = err 9769 return it.Next() 9770 } 9771 } 9772 9773 // Error returns any retrieval or parsing error occurred during filtering. 9774 func (it *IERC721EnumerableApprovalForAllIterator) Error() error { 9775 return it.fail 9776 } 9777 9778 // Close terminates the iteration process, releasing any pending underlying 9779 // resources. 9780 func (it *IERC721EnumerableApprovalForAllIterator) Close() error { 9781 it.sub.Unsubscribe() 9782 return nil 9783 } 9784 9785 // IERC721EnumerableApprovalForAll represents a ApprovalForAll event raised by the IERC721Enumerable contract. 9786 type IERC721EnumerableApprovalForAll struct { 9787 Owner common.Address 9788 Operator common.Address 9789 Approved bool 9790 Raw types.Log // Blockchain specific contextual infos 9791 } 9792 9793 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 9794 // 9795 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 9796 func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721EnumerableApprovalForAllIterator, error) { 9797 9798 var ownerRule []interface{} 9799 for _, ownerItem := range owner { 9800 ownerRule = append(ownerRule, ownerItem) 9801 } 9802 var operatorRule []interface{} 9803 for _, operatorItem := range operator { 9804 operatorRule = append(operatorRule, operatorItem) 9805 } 9806 9807 logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 9808 if err != nil { 9809 return nil, err 9810 } 9811 return &IERC721EnumerableApprovalForAllIterator{contract: _IERC721Enumerable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 9812 } 9813 9814 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 9815 // 9816 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 9817 func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 9818 9819 var ownerRule []interface{} 9820 for _, ownerItem := range owner { 9821 ownerRule = append(ownerRule, ownerItem) 9822 } 9823 var operatorRule []interface{} 9824 for _, operatorItem := range operator { 9825 operatorRule = append(operatorRule, operatorItem) 9826 } 9827 9828 logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 9829 if err != nil { 9830 return nil, err 9831 } 9832 return event.NewSubscription(func(quit <-chan struct{}) error { 9833 defer sub.Unsubscribe() 9834 for { 9835 select { 9836 case log := <-logs: 9837 // New log arrived, parse the event and forward to the user 9838 event := new(IERC721EnumerableApprovalForAll) 9839 if err := _IERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 9840 return err 9841 } 9842 event.Raw = log 9843 9844 select { 9845 case sink <- event: 9846 case err := <-sub.Err(): 9847 return err 9848 case <-quit: 9849 return nil 9850 } 9851 case err := <-sub.Err(): 9852 return err 9853 case <-quit: 9854 return nil 9855 } 9856 } 9857 }), nil 9858 } 9859 9860 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 9861 // 9862 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 9863 func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseApprovalForAll(log types.Log) (*IERC721EnumerableApprovalForAll, error) { 9864 event := new(IERC721EnumerableApprovalForAll) 9865 if err := _IERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 9866 return nil, err 9867 } 9868 return event, nil 9869 } 9870 9871 // 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. 9872 type IERC721EnumerableTransferIterator struct { 9873 Event *IERC721EnumerableTransfer // Event containing the contract specifics and raw log 9874 9875 contract *bind.BoundContract // Generic contract to use for unpacking event data 9876 event string // Event name to use for unpacking event data 9877 9878 logs chan types.Log // Log channel receiving the found contract events 9879 sub klaytn.Subscription // Subscription for errors, completion and termination 9880 done bool // Whether the subscription completed delivering logs 9881 fail error // Occurred error to stop iteration 9882 } 9883 9884 // Next advances the iterator to the subsequent event, returning whether there 9885 // are any more events found. In case of a retrieval or parsing error, false is 9886 // returned and Error() can be queried for the exact failure. 9887 func (it *IERC721EnumerableTransferIterator) Next() bool { 9888 // If the iterator failed, stop iterating 9889 if it.fail != nil { 9890 return false 9891 } 9892 // If the iterator completed, deliver directly whatever's available 9893 if it.done { 9894 select { 9895 case log := <-it.logs: 9896 it.Event = new(IERC721EnumerableTransfer) 9897 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9898 it.fail = err 9899 return false 9900 } 9901 it.Event.Raw = log 9902 return true 9903 9904 default: 9905 return false 9906 } 9907 } 9908 // Iterator still in progress, wait for either a data or an error event 9909 select { 9910 case log := <-it.logs: 9911 it.Event = new(IERC721EnumerableTransfer) 9912 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9913 it.fail = err 9914 return false 9915 } 9916 it.Event.Raw = log 9917 return true 9918 9919 case err := <-it.sub.Err(): 9920 it.done = true 9921 it.fail = err 9922 return it.Next() 9923 } 9924 } 9925 9926 // Error returns any retrieval or parsing error occurred during filtering. 9927 func (it *IERC721EnumerableTransferIterator) Error() error { 9928 return it.fail 9929 } 9930 9931 // Close terminates the iteration process, releasing any pending underlying 9932 // resources. 9933 func (it *IERC721EnumerableTransferIterator) Close() error { 9934 it.sub.Unsubscribe() 9935 return nil 9936 } 9937 9938 // IERC721EnumerableTransfer represents a Transfer event raised by the IERC721Enumerable contract. 9939 type IERC721EnumerableTransfer struct { 9940 From common.Address 9941 To common.Address 9942 TokenId *big.Int 9943 Raw types.Log // Blockchain specific contextual infos 9944 } 9945 9946 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 9947 // 9948 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 9949 func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721EnumerableTransferIterator, error) { 9950 9951 var fromRule []interface{} 9952 for _, fromItem := range from { 9953 fromRule = append(fromRule, fromItem) 9954 } 9955 var toRule []interface{} 9956 for _, toItem := range to { 9957 toRule = append(toRule, toItem) 9958 } 9959 var tokenIdRule []interface{} 9960 for _, tokenIdItem := range tokenId { 9961 tokenIdRule = append(tokenIdRule, tokenIdItem) 9962 } 9963 9964 logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 9965 if err != nil { 9966 return nil, err 9967 } 9968 return &IERC721EnumerableTransferIterator{contract: _IERC721Enumerable.contract, event: "Transfer", logs: logs, sub: sub}, nil 9969 } 9970 9971 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 9972 // 9973 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 9974 func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 9975 9976 var fromRule []interface{} 9977 for _, fromItem := range from { 9978 fromRule = append(fromRule, fromItem) 9979 } 9980 var toRule []interface{} 9981 for _, toItem := range to { 9982 toRule = append(toRule, toItem) 9983 } 9984 var tokenIdRule []interface{} 9985 for _, tokenIdItem := range tokenId { 9986 tokenIdRule = append(tokenIdRule, tokenIdItem) 9987 } 9988 9989 logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 9990 if err != nil { 9991 return nil, err 9992 } 9993 return event.NewSubscription(func(quit <-chan struct{}) error { 9994 defer sub.Unsubscribe() 9995 for { 9996 select { 9997 case log := <-logs: 9998 // New log arrived, parse the event and forward to the user 9999 event := new(IERC721EnumerableTransfer) 10000 if err := _IERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { 10001 return err 10002 } 10003 event.Raw = log 10004 10005 select { 10006 case sink <- event: 10007 case err := <-sub.Err(): 10008 return err 10009 case <-quit: 10010 return nil 10011 } 10012 case err := <-sub.Err(): 10013 return err 10014 case <-quit: 10015 return nil 10016 } 10017 } 10018 }), nil 10019 } 10020 10021 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 10022 // 10023 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 10024 func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseTransfer(log types.Log) (*IERC721EnumerableTransfer, error) { 10025 event := new(IERC721EnumerableTransfer) 10026 if err := _IERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { 10027 return nil, err 10028 } 10029 return event, nil 10030 } 10031 10032 // IERC721MetadataABI is the input ABI used to generate the binding from. 10033 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\"}]" 10034 10035 // IERC721MetadataBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 10036 const IERC721MetadataBinRuntime = `` 10037 10038 // IERC721MetadataFuncSigs maps the 4-byte function signature to its string representation. 10039 var IERC721MetadataFuncSigs = map[string]string{ 10040 "095ea7b3": "approve(address,uint256)", 10041 "70a08231": "balanceOf(address)", 10042 "081812fc": "getApproved(uint256)", 10043 "e985e9c5": "isApprovedForAll(address,address)", 10044 "06fdde03": "name()", 10045 "6352211e": "ownerOf(uint256)", 10046 "42842e0e": "safeTransferFrom(address,address,uint256)", 10047 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 10048 "a22cb465": "setApprovalForAll(address,bool)", 10049 "01ffc9a7": "supportsInterface(bytes4)", 10050 "95d89b41": "symbol()", 10051 "c87b56dd": "tokenURI(uint256)", 10052 "23b872dd": "transferFrom(address,address,uint256)", 10053 } 10054 10055 // IERC721Metadata is an auto generated Go binding around a Klaytn contract. 10056 type IERC721Metadata struct { 10057 IERC721MetadataCaller // Read-only binding to the contract 10058 IERC721MetadataTransactor // Write-only binding to the contract 10059 IERC721MetadataFilterer // Log filterer for contract events 10060 } 10061 10062 // IERC721MetadataCaller is an auto generated read-only Go binding around a Klaytn contract. 10063 type IERC721MetadataCaller struct { 10064 contract *bind.BoundContract // Generic contract wrapper for the low level calls 10065 } 10066 10067 // IERC721MetadataTransactor is an auto generated write-only Go binding around a Klaytn contract. 10068 type IERC721MetadataTransactor struct { 10069 contract *bind.BoundContract // Generic contract wrapper for the low level calls 10070 } 10071 10072 // IERC721MetadataFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 10073 type IERC721MetadataFilterer struct { 10074 contract *bind.BoundContract // Generic contract wrapper for the low level calls 10075 } 10076 10077 // IERC721MetadataSession is an auto generated Go binding around a Klaytn contract, 10078 // with pre-set call and transact options. 10079 type IERC721MetadataSession struct { 10080 Contract *IERC721Metadata // Generic contract binding to set the session for 10081 CallOpts bind.CallOpts // Call options to use throughout this session 10082 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 10083 } 10084 10085 // IERC721MetadataCallerSession is an auto generated read-only Go binding around a Klaytn contract, 10086 // with pre-set call options. 10087 type IERC721MetadataCallerSession struct { 10088 Contract *IERC721MetadataCaller // Generic contract caller binding to set the session for 10089 CallOpts bind.CallOpts // Call options to use throughout this session 10090 } 10091 10092 // IERC721MetadataTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 10093 // with pre-set transact options. 10094 type IERC721MetadataTransactorSession struct { 10095 Contract *IERC721MetadataTransactor // Generic contract transactor binding to set the session for 10096 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 10097 } 10098 10099 // IERC721MetadataRaw is an auto generated low-level Go binding around a Klaytn contract. 10100 type IERC721MetadataRaw struct { 10101 Contract *IERC721Metadata // Generic contract binding to access the raw methods on 10102 } 10103 10104 // IERC721MetadataCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 10105 type IERC721MetadataCallerRaw struct { 10106 Contract *IERC721MetadataCaller // Generic read-only contract binding to access the raw methods on 10107 } 10108 10109 // IERC721MetadataTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 10110 type IERC721MetadataTransactorRaw struct { 10111 Contract *IERC721MetadataTransactor // Generic write-only contract binding to access the raw methods on 10112 } 10113 10114 // NewIERC721Metadata creates a new instance of IERC721Metadata, bound to a specific deployed contract. 10115 func NewIERC721Metadata(address common.Address, backend bind.ContractBackend) (*IERC721Metadata, error) { 10116 contract, err := bindIERC721Metadata(address, backend, backend, backend) 10117 if err != nil { 10118 return nil, err 10119 } 10120 return &IERC721Metadata{IERC721MetadataCaller: IERC721MetadataCaller{contract: contract}, IERC721MetadataTransactor: IERC721MetadataTransactor{contract: contract}, IERC721MetadataFilterer: IERC721MetadataFilterer{contract: contract}}, nil 10121 } 10122 10123 // NewIERC721MetadataCaller creates a new read-only instance of IERC721Metadata, bound to a specific deployed contract. 10124 func NewIERC721MetadataCaller(address common.Address, caller bind.ContractCaller) (*IERC721MetadataCaller, error) { 10125 contract, err := bindIERC721Metadata(address, caller, nil, nil) 10126 if err != nil { 10127 return nil, err 10128 } 10129 return &IERC721MetadataCaller{contract: contract}, nil 10130 } 10131 10132 // NewIERC721MetadataTransactor creates a new write-only instance of IERC721Metadata, bound to a specific deployed contract. 10133 func NewIERC721MetadataTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721MetadataTransactor, error) { 10134 contract, err := bindIERC721Metadata(address, nil, transactor, nil) 10135 if err != nil { 10136 return nil, err 10137 } 10138 return &IERC721MetadataTransactor{contract: contract}, nil 10139 } 10140 10141 // NewIERC721MetadataFilterer creates a new log filterer instance of IERC721Metadata, bound to a specific deployed contract. 10142 func NewIERC721MetadataFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721MetadataFilterer, error) { 10143 contract, err := bindIERC721Metadata(address, nil, nil, filterer) 10144 if err != nil { 10145 return nil, err 10146 } 10147 return &IERC721MetadataFilterer{contract: contract}, nil 10148 } 10149 10150 // bindIERC721Metadata binds a generic wrapper to an already deployed contract. 10151 func bindIERC721Metadata(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 10152 parsed, err := abi.JSON(strings.NewReader(IERC721MetadataABI)) 10153 if err != nil { 10154 return nil, err 10155 } 10156 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 10157 } 10158 10159 // Call invokes the (constant) contract method with params as input values and 10160 // sets the output to result. The result type might be a single field for simple 10161 // returns, a slice of interfaces for anonymous returns and a struct for named 10162 // returns. 10163 func (_IERC721Metadata *IERC721MetadataRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 10164 return _IERC721Metadata.Contract.IERC721MetadataCaller.contract.Call(opts, result, method, params...) 10165 } 10166 10167 // Transfer initiates a plain transaction to move funds to the contract, calling 10168 // its default method if one is available. 10169 func (_IERC721Metadata *IERC721MetadataRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 10170 return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transfer(opts) 10171 } 10172 10173 // Transact invokes the (paid) contract method with params as input values. 10174 func (_IERC721Metadata *IERC721MetadataRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 10175 return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transact(opts, method, params...) 10176 } 10177 10178 // Call invokes the (constant) contract method with params as input values and 10179 // sets the output to result. The result type might be a single field for simple 10180 // returns, a slice of interfaces for anonymous returns and a struct for named 10181 // returns. 10182 func (_IERC721Metadata *IERC721MetadataCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 10183 return _IERC721Metadata.Contract.contract.Call(opts, result, method, params...) 10184 } 10185 10186 // Transfer initiates a plain transaction to move funds to the contract, calling 10187 // its default method if one is available. 10188 func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 10189 return _IERC721Metadata.Contract.contract.Transfer(opts) 10190 } 10191 10192 // Transact invokes the (paid) contract method with params as input values. 10193 func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 10194 return _IERC721Metadata.Contract.contract.Transact(opts, method, params...) 10195 } 10196 10197 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 10198 // 10199 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 10200 func (_IERC721Metadata *IERC721MetadataCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 10201 var ( 10202 ret0 = new(*big.Int) 10203 ) 10204 out := ret0 10205 err := _IERC721Metadata.contract.Call(opts, out, "balanceOf", owner) 10206 return *ret0, err 10207 } 10208 10209 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 10210 // 10211 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 10212 func (_IERC721Metadata *IERC721MetadataSession) BalanceOf(owner common.Address) (*big.Int, error) { 10213 return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, owner) 10214 } 10215 10216 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 10217 // 10218 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 10219 func (_IERC721Metadata *IERC721MetadataCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 10220 return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, owner) 10221 } 10222 10223 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 10224 // 10225 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 10226 func (_IERC721Metadata *IERC721MetadataCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 10227 var ( 10228 ret0 = new(common.Address) 10229 ) 10230 out := ret0 10231 err := _IERC721Metadata.contract.Call(opts, out, "getApproved", tokenId) 10232 return *ret0, err 10233 } 10234 10235 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 10236 // 10237 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 10238 func (_IERC721Metadata *IERC721MetadataSession) GetApproved(tokenId *big.Int) (common.Address, error) { 10239 return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, tokenId) 10240 } 10241 10242 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 10243 // 10244 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 10245 func (_IERC721Metadata *IERC721MetadataCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 10246 return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, tokenId) 10247 } 10248 10249 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 10250 // 10251 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 10252 func (_IERC721Metadata *IERC721MetadataCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 10253 var ( 10254 ret0 = new(bool) 10255 ) 10256 out := ret0 10257 err := _IERC721Metadata.contract.Call(opts, out, "isApprovedForAll", owner, operator) 10258 return *ret0, err 10259 } 10260 10261 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 10262 // 10263 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 10264 func (_IERC721Metadata *IERC721MetadataSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 10265 return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, owner, operator) 10266 } 10267 10268 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 10269 // 10270 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 10271 func (_IERC721Metadata *IERC721MetadataCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 10272 return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, owner, operator) 10273 } 10274 10275 // Name is a free data retrieval call binding the contract method 0x06fdde03. 10276 // 10277 // Solidity: function name() view returns(string) 10278 func (_IERC721Metadata *IERC721MetadataCaller) Name(opts *bind.CallOpts) (string, error) { 10279 var ( 10280 ret0 = new(string) 10281 ) 10282 out := ret0 10283 err := _IERC721Metadata.contract.Call(opts, out, "name") 10284 return *ret0, err 10285 } 10286 10287 // Name is a free data retrieval call binding the contract method 0x06fdde03. 10288 // 10289 // Solidity: function name() view returns(string) 10290 func (_IERC721Metadata *IERC721MetadataSession) Name() (string, error) { 10291 return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts) 10292 } 10293 10294 // Name is a free data retrieval call binding the contract method 0x06fdde03. 10295 // 10296 // Solidity: function name() view returns(string) 10297 func (_IERC721Metadata *IERC721MetadataCallerSession) Name() (string, error) { 10298 return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts) 10299 } 10300 10301 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 10302 // 10303 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 10304 func (_IERC721Metadata *IERC721MetadataCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 10305 var ( 10306 ret0 = new(common.Address) 10307 ) 10308 out := ret0 10309 err := _IERC721Metadata.contract.Call(opts, out, "ownerOf", tokenId) 10310 return *ret0, err 10311 } 10312 10313 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 10314 // 10315 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 10316 func (_IERC721Metadata *IERC721MetadataSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 10317 return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, tokenId) 10318 } 10319 10320 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 10321 // 10322 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 10323 func (_IERC721Metadata *IERC721MetadataCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 10324 return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, tokenId) 10325 } 10326 10327 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 10328 // 10329 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 10330 func (_IERC721Metadata *IERC721MetadataCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 10331 var ( 10332 ret0 = new(bool) 10333 ) 10334 out := ret0 10335 err := _IERC721Metadata.contract.Call(opts, out, "supportsInterface", interfaceId) 10336 return *ret0, err 10337 } 10338 10339 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 10340 // 10341 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 10342 func (_IERC721Metadata *IERC721MetadataSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 10343 return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceId) 10344 } 10345 10346 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 10347 // 10348 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 10349 func (_IERC721Metadata *IERC721MetadataCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 10350 return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceId) 10351 } 10352 10353 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 10354 // 10355 // Solidity: function symbol() view returns(string) 10356 func (_IERC721Metadata *IERC721MetadataCaller) Symbol(opts *bind.CallOpts) (string, error) { 10357 var ( 10358 ret0 = new(string) 10359 ) 10360 out := ret0 10361 err := _IERC721Metadata.contract.Call(opts, out, "symbol") 10362 return *ret0, err 10363 } 10364 10365 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 10366 // 10367 // Solidity: function symbol() view returns(string) 10368 func (_IERC721Metadata *IERC721MetadataSession) Symbol() (string, error) { 10369 return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts) 10370 } 10371 10372 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 10373 // 10374 // Solidity: function symbol() view returns(string) 10375 func (_IERC721Metadata *IERC721MetadataCallerSession) Symbol() (string, error) { 10376 return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts) 10377 } 10378 10379 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 10380 // 10381 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 10382 func (_IERC721Metadata *IERC721MetadataCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 10383 var ( 10384 ret0 = new(string) 10385 ) 10386 out := ret0 10387 err := _IERC721Metadata.contract.Call(opts, out, "tokenURI", tokenId) 10388 return *ret0, err 10389 } 10390 10391 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 10392 // 10393 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 10394 func (_IERC721Metadata *IERC721MetadataSession) TokenURI(tokenId *big.Int) (string, error) { 10395 return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, tokenId) 10396 } 10397 10398 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 10399 // 10400 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 10401 func (_IERC721Metadata *IERC721MetadataCallerSession) TokenURI(tokenId *big.Int) (string, error) { 10402 return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, tokenId) 10403 } 10404 10405 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 10406 // 10407 // Solidity: function approve(address to, uint256 tokenId) returns() 10408 func (_IERC721Metadata *IERC721MetadataTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10409 return _IERC721Metadata.contract.Transact(opts, "approve", to, tokenId) 10410 } 10411 10412 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 10413 // 10414 // Solidity: function approve(address to, uint256 tokenId) returns() 10415 func (_IERC721Metadata *IERC721MetadataSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10416 return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, to, tokenId) 10417 } 10418 10419 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 10420 // 10421 // Solidity: function approve(address to, uint256 tokenId) returns() 10422 func (_IERC721Metadata *IERC721MetadataTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10423 return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, to, tokenId) 10424 } 10425 10426 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 10427 // 10428 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 10429 func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10430 return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 10431 } 10432 10433 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 10434 // 10435 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 10436 func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10437 return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) 10438 } 10439 10440 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 10441 // 10442 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 10443 func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10444 return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) 10445 } 10446 10447 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 10448 // 10449 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 10450 func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 10451 return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) 10452 } 10453 10454 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 10455 // 10456 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 10457 func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 10458 return _IERC721Metadata.Contract.SafeTransferFrom0(&_IERC721Metadata.TransactOpts, from, to, tokenId, data) 10459 } 10460 10461 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 10462 // 10463 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 10464 func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 10465 return _IERC721Metadata.Contract.SafeTransferFrom0(&_IERC721Metadata.TransactOpts, from, to, tokenId, data) 10466 } 10467 10468 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 10469 // 10470 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 10471 func (_IERC721Metadata *IERC721MetadataTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { 10472 return _IERC721Metadata.contract.Transact(opts, "setApprovalForAll", operator, _approved) 10473 } 10474 10475 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 10476 // 10477 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 10478 func (_IERC721Metadata *IERC721MetadataSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 10479 return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, operator, _approved) 10480 } 10481 10482 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 10483 // 10484 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 10485 func (_IERC721Metadata *IERC721MetadataTransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 10486 return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, operator, _approved) 10487 } 10488 10489 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 10490 // 10491 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 10492 func (_IERC721Metadata *IERC721MetadataTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10493 return _IERC721Metadata.contract.Transact(opts, "transferFrom", from, to, tokenId) 10494 } 10495 10496 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 10497 // 10498 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 10499 func (_IERC721Metadata *IERC721MetadataSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10500 return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) 10501 } 10502 10503 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 10504 // 10505 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 10506 func (_IERC721Metadata *IERC721MetadataTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10507 return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) 10508 } 10509 10510 // 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. 10511 type IERC721MetadataApprovalIterator struct { 10512 Event *IERC721MetadataApproval // Event containing the contract specifics and raw log 10513 10514 contract *bind.BoundContract // Generic contract to use for unpacking event data 10515 event string // Event name to use for unpacking event data 10516 10517 logs chan types.Log // Log channel receiving the found contract events 10518 sub klaytn.Subscription // Subscription for errors, completion and termination 10519 done bool // Whether the subscription completed delivering logs 10520 fail error // Occurred error to stop iteration 10521 } 10522 10523 // Next advances the iterator to the subsequent event, returning whether there 10524 // are any more events found. In case of a retrieval or parsing error, false is 10525 // returned and Error() can be queried for the exact failure. 10526 func (it *IERC721MetadataApprovalIterator) Next() bool { 10527 // If the iterator failed, stop iterating 10528 if it.fail != nil { 10529 return false 10530 } 10531 // If the iterator completed, deliver directly whatever's available 10532 if it.done { 10533 select { 10534 case log := <-it.logs: 10535 it.Event = new(IERC721MetadataApproval) 10536 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10537 it.fail = err 10538 return false 10539 } 10540 it.Event.Raw = log 10541 return true 10542 10543 default: 10544 return false 10545 } 10546 } 10547 // Iterator still in progress, wait for either a data or an error event 10548 select { 10549 case log := <-it.logs: 10550 it.Event = new(IERC721MetadataApproval) 10551 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10552 it.fail = err 10553 return false 10554 } 10555 it.Event.Raw = log 10556 return true 10557 10558 case err := <-it.sub.Err(): 10559 it.done = true 10560 it.fail = err 10561 return it.Next() 10562 } 10563 } 10564 10565 // Error returns any retrieval or parsing error occurred during filtering. 10566 func (it *IERC721MetadataApprovalIterator) Error() error { 10567 return it.fail 10568 } 10569 10570 // Close terminates the iteration process, releasing any pending underlying 10571 // resources. 10572 func (it *IERC721MetadataApprovalIterator) Close() error { 10573 it.sub.Unsubscribe() 10574 return nil 10575 } 10576 10577 // IERC721MetadataApproval represents a Approval event raised by the IERC721Metadata contract. 10578 type IERC721MetadataApproval struct { 10579 Owner common.Address 10580 Approved common.Address 10581 TokenId *big.Int 10582 Raw types.Log // Blockchain specific contextual infos 10583 } 10584 10585 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 10586 // 10587 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 10588 func (_IERC721Metadata *IERC721MetadataFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721MetadataApprovalIterator, error) { 10589 10590 var ownerRule []interface{} 10591 for _, ownerItem := range owner { 10592 ownerRule = append(ownerRule, ownerItem) 10593 } 10594 var approvedRule []interface{} 10595 for _, approvedItem := range approved { 10596 approvedRule = append(approvedRule, approvedItem) 10597 } 10598 var tokenIdRule []interface{} 10599 for _, tokenIdItem := range tokenId { 10600 tokenIdRule = append(tokenIdRule, tokenIdItem) 10601 } 10602 10603 logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 10604 if err != nil { 10605 return nil, err 10606 } 10607 return &IERC721MetadataApprovalIterator{contract: _IERC721Metadata.contract, event: "Approval", logs: logs, sub: sub}, nil 10608 } 10609 10610 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 10611 // 10612 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 10613 func (_IERC721Metadata *IERC721MetadataFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 10614 10615 var ownerRule []interface{} 10616 for _, ownerItem := range owner { 10617 ownerRule = append(ownerRule, ownerItem) 10618 } 10619 var approvedRule []interface{} 10620 for _, approvedItem := range approved { 10621 approvedRule = append(approvedRule, approvedItem) 10622 } 10623 var tokenIdRule []interface{} 10624 for _, tokenIdItem := range tokenId { 10625 tokenIdRule = append(tokenIdRule, tokenIdItem) 10626 } 10627 10628 logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 10629 if err != nil { 10630 return nil, err 10631 } 10632 return event.NewSubscription(func(quit <-chan struct{}) error { 10633 defer sub.Unsubscribe() 10634 for { 10635 select { 10636 case log := <-logs: 10637 // New log arrived, parse the event and forward to the user 10638 event := new(IERC721MetadataApproval) 10639 if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { 10640 return err 10641 } 10642 event.Raw = log 10643 10644 select { 10645 case sink <- event: 10646 case err := <-sub.Err(): 10647 return err 10648 case <-quit: 10649 return nil 10650 } 10651 case err := <-sub.Err(): 10652 return err 10653 case <-quit: 10654 return nil 10655 } 10656 } 10657 }), nil 10658 } 10659 10660 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 10661 // 10662 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 10663 func (_IERC721Metadata *IERC721MetadataFilterer) ParseApproval(log types.Log) (*IERC721MetadataApproval, error) { 10664 event := new(IERC721MetadataApproval) 10665 if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { 10666 return nil, err 10667 } 10668 return event, nil 10669 } 10670 10671 // 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. 10672 type IERC721MetadataApprovalForAllIterator struct { 10673 Event *IERC721MetadataApprovalForAll // Event containing the contract specifics and raw log 10674 10675 contract *bind.BoundContract // Generic contract to use for unpacking event data 10676 event string // Event name to use for unpacking event data 10677 10678 logs chan types.Log // Log channel receiving the found contract events 10679 sub klaytn.Subscription // Subscription for errors, completion and termination 10680 done bool // Whether the subscription completed delivering logs 10681 fail error // Occurred error to stop iteration 10682 } 10683 10684 // Next advances the iterator to the subsequent event, returning whether there 10685 // are any more events found. In case of a retrieval or parsing error, false is 10686 // returned and Error() can be queried for the exact failure. 10687 func (it *IERC721MetadataApprovalForAllIterator) Next() bool { 10688 // If the iterator failed, stop iterating 10689 if it.fail != nil { 10690 return false 10691 } 10692 // If the iterator completed, deliver directly whatever's available 10693 if it.done { 10694 select { 10695 case log := <-it.logs: 10696 it.Event = new(IERC721MetadataApprovalForAll) 10697 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10698 it.fail = err 10699 return false 10700 } 10701 it.Event.Raw = log 10702 return true 10703 10704 default: 10705 return false 10706 } 10707 } 10708 // Iterator still in progress, wait for either a data or an error event 10709 select { 10710 case log := <-it.logs: 10711 it.Event = new(IERC721MetadataApprovalForAll) 10712 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10713 it.fail = err 10714 return false 10715 } 10716 it.Event.Raw = log 10717 return true 10718 10719 case err := <-it.sub.Err(): 10720 it.done = true 10721 it.fail = err 10722 return it.Next() 10723 } 10724 } 10725 10726 // Error returns any retrieval or parsing error occurred during filtering. 10727 func (it *IERC721MetadataApprovalForAllIterator) Error() error { 10728 return it.fail 10729 } 10730 10731 // Close terminates the iteration process, releasing any pending underlying 10732 // resources. 10733 func (it *IERC721MetadataApprovalForAllIterator) Close() error { 10734 it.sub.Unsubscribe() 10735 return nil 10736 } 10737 10738 // IERC721MetadataApprovalForAll represents a ApprovalForAll event raised by the IERC721Metadata contract. 10739 type IERC721MetadataApprovalForAll struct { 10740 Owner common.Address 10741 Operator common.Address 10742 Approved bool 10743 Raw types.Log // Blockchain specific contextual infos 10744 } 10745 10746 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 10747 // 10748 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 10749 func (_IERC721Metadata *IERC721MetadataFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721MetadataApprovalForAllIterator, error) { 10750 10751 var ownerRule []interface{} 10752 for _, ownerItem := range owner { 10753 ownerRule = append(ownerRule, ownerItem) 10754 } 10755 var operatorRule []interface{} 10756 for _, operatorItem := range operator { 10757 operatorRule = append(operatorRule, operatorItem) 10758 } 10759 10760 logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 10761 if err != nil { 10762 return nil, err 10763 } 10764 return &IERC721MetadataApprovalForAllIterator{contract: _IERC721Metadata.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 10765 } 10766 10767 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 10768 // 10769 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 10770 func (_IERC721Metadata *IERC721MetadataFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 10771 10772 var ownerRule []interface{} 10773 for _, ownerItem := range owner { 10774 ownerRule = append(ownerRule, ownerItem) 10775 } 10776 var operatorRule []interface{} 10777 for _, operatorItem := range operator { 10778 operatorRule = append(operatorRule, operatorItem) 10779 } 10780 10781 logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 10782 if err != nil { 10783 return nil, err 10784 } 10785 return event.NewSubscription(func(quit <-chan struct{}) error { 10786 defer sub.Unsubscribe() 10787 for { 10788 select { 10789 case log := <-logs: 10790 // New log arrived, parse the event and forward to the user 10791 event := new(IERC721MetadataApprovalForAll) 10792 if err := _IERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 10793 return err 10794 } 10795 event.Raw = log 10796 10797 select { 10798 case sink <- event: 10799 case err := <-sub.Err(): 10800 return err 10801 case <-quit: 10802 return nil 10803 } 10804 case err := <-sub.Err(): 10805 return err 10806 case <-quit: 10807 return nil 10808 } 10809 } 10810 }), nil 10811 } 10812 10813 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 10814 // 10815 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 10816 func (_IERC721Metadata *IERC721MetadataFilterer) ParseApprovalForAll(log types.Log) (*IERC721MetadataApprovalForAll, error) { 10817 event := new(IERC721MetadataApprovalForAll) 10818 if err := _IERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 10819 return nil, err 10820 } 10821 return event, nil 10822 } 10823 10824 // 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. 10825 type IERC721MetadataTransferIterator struct { 10826 Event *IERC721MetadataTransfer // Event containing the contract specifics and raw log 10827 10828 contract *bind.BoundContract // Generic contract to use for unpacking event data 10829 event string // Event name to use for unpacking event data 10830 10831 logs chan types.Log // Log channel receiving the found contract events 10832 sub klaytn.Subscription // Subscription for errors, completion and termination 10833 done bool // Whether the subscription completed delivering logs 10834 fail error // Occurred error to stop iteration 10835 } 10836 10837 // Next advances the iterator to the subsequent event, returning whether there 10838 // are any more events found. In case of a retrieval or parsing error, false is 10839 // returned and Error() can be queried for the exact failure. 10840 func (it *IERC721MetadataTransferIterator) Next() bool { 10841 // If the iterator failed, stop iterating 10842 if it.fail != nil { 10843 return false 10844 } 10845 // If the iterator completed, deliver directly whatever's available 10846 if it.done { 10847 select { 10848 case log := <-it.logs: 10849 it.Event = new(IERC721MetadataTransfer) 10850 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10851 it.fail = err 10852 return false 10853 } 10854 it.Event.Raw = log 10855 return true 10856 10857 default: 10858 return false 10859 } 10860 } 10861 // Iterator still in progress, wait for either a data or an error event 10862 select { 10863 case log := <-it.logs: 10864 it.Event = new(IERC721MetadataTransfer) 10865 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10866 it.fail = err 10867 return false 10868 } 10869 it.Event.Raw = log 10870 return true 10871 10872 case err := <-it.sub.Err(): 10873 it.done = true 10874 it.fail = err 10875 return it.Next() 10876 } 10877 } 10878 10879 // Error returns any retrieval or parsing error occurred during filtering. 10880 func (it *IERC721MetadataTransferIterator) Error() error { 10881 return it.fail 10882 } 10883 10884 // Close terminates the iteration process, releasing any pending underlying 10885 // resources. 10886 func (it *IERC721MetadataTransferIterator) Close() error { 10887 it.sub.Unsubscribe() 10888 return nil 10889 } 10890 10891 // IERC721MetadataTransfer represents a Transfer event raised by the IERC721Metadata contract. 10892 type IERC721MetadataTransfer struct { 10893 From common.Address 10894 To common.Address 10895 TokenId *big.Int 10896 Raw types.Log // Blockchain specific contextual infos 10897 } 10898 10899 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 10900 // 10901 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 10902 func (_IERC721Metadata *IERC721MetadataFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721MetadataTransferIterator, error) { 10903 10904 var fromRule []interface{} 10905 for _, fromItem := range from { 10906 fromRule = append(fromRule, fromItem) 10907 } 10908 var toRule []interface{} 10909 for _, toItem := range to { 10910 toRule = append(toRule, toItem) 10911 } 10912 var tokenIdRule []interface{} 10913 for _, tokenIdItem := range tokenId { 10914 tokenIdRule = append(tokenIdRule, tokenIdItem) 10915 } 10916 10917 logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 10918 if err != nil { 10919 return nil, err 10920 } 10921 return &IERC721MetadataTransferIterator{contract: _IERC721Metadata.contract, event: "Transfer", logs: logs, sub: sub}, nil 10922 } 10923 10924 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 10925 // 10926 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 10927 func (_IERC721Metadata *IERC721MetadataFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721MetadataTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 10928 10929 var fromRule []interface{} 10930 for _, fromItem := range from { 10931 fromRule = append(fromRule, fromItem) 10932 } 10933 var toRule []interface{} 10934 for _, toItem := range to { 10935 toRule = append(toRule, toItem) 10936 } 10937 var tokenIdRule []interface{} 10938 for _, tokenIdItem := range tokenId { 10939 tokenIdRule = append(tokenIdRule, tokenIdItem) 10940 } 10941 10942 logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 10943 if err != nil { 10944 return nil, err 10945 } 10946 return event.NewSubscription(func(quit <-chan struct{}) error { 10947 defer sub.Unsubscribe() 10948 for { 10949 select { 10950 case log := <-logs: 10951 // New log arrived, parse the event and forward to the user 10952 event := new(IERC721MetadataTransfer) 10953 if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { 10954 return err 10955 } 10956 event.Raw = log 10957 10958 select { 10959 case sink <- event: 10960 case err := <-sub.Err(): 10961 return err 10962 case <-quit: 10963 return nil 10964 } 10965 case err := <-sub.Err(): 10966 return err 10967 case <-quit: 10968 return nil 10969 } 10970 } 10971 }), nil 10972 } 10973 10974 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 10975 // 10976 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 10977 func (_IERC721Metadata *IERC721MetadataFilterer) ParseTransfer(log types.Log) (*IERC721MetadataTransfer, error) { 10978 event := new(IERC721MetadataTransfer) 10979 if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { 10980 return nil, err 10981 } 10982 return event, nil 10983 } 10984 10985 // IERC721ReceiverABI is the input ABI used to generate the binding from. 10986 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\"}]" 10987 10988 // IERC721ReceiverBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 10989 const IERC721ReceiverBinRuntime = `` 10990 10991 // IERC721ReceiverFuncSigs maps the 4-byte function signature to its string representation. 10992 var IERC721ReceiverFuncSigs = map[string]string{ 10993 "150b7a02": "onERC721Received(address,address,uint256,bytes)", 10994 } 10995 10996 // IERC721Receiver is an auto generated Go binding around a Klaytn contract. 10997 type IERC721Receiver struct { 10998 IERC721ReceiverCaller // Read-only binding to the contract 10999 IERC721ReceiverTransactor // Write-only binding to the contract 11000 IERC721ReceiverFilterer // Log filterer for contract events 11001 } 11002 11003 // IERC721ReceiverCaller is an auto generated read-only Go binding around a Klaytn contract. 11004 type IERC721ReceiverCaller struct { 11005 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11006 } 11007 11008 // IERC721ReceiverTransactor is an auto generated write-only Go binding around a Klaytn contract. 11009 type IERC721ReceiverTransactor struct { 11010 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11011 } 11012 11013 // IERC721ReceiverFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 11014 type IERC721ReceiverFilterer struct { 11015 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11016 } 11017 11018 // IERC721ReceiverSession is an auto generated Go binding around a Klaytn contract, 11019 // with pre-set call and transact options. 11020 type IERC721ReceiverSession struct { 11021 Contract *IERC721Receiver // Generic contract binding to set the session for 11022 CallOpts bind.CallOpts // Call options to use throughout this session 11023 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 11024 } 11025 11026 // IERC721ReceiverCallerSession is an auto generated read-only Go binding around a Klaytn contract, 11027 // with pre-set call options. 11028 type IERC721ReceiverCallerSession struct { 11029 Contract *IERC721ReceiverCaller // Generic contract caller binding to set the session for 11030 CallOpts bind.CallOpts // Call options to use throughout this session 11031 } 11032 11033 // IERC721ReceiverTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 11034 // with pre-set transact options. 11035 type IERC721ReceiverTransactorSession struct { 11036 Contract *IERC721ReceiverTransactor // Generic contract transactor binding to set the session for 11037 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 11038 } 11039 11040 // IERC721ReceiverRaw is an auto generated low-level Go binding around a Klaytn contract. 11041 type IERC721ReceiverRaw struct { 11042 Contract *IERC721Receiver // Generic contract binding to access the raw methods on 11043 } 11044 11045 // IERC721ReceiverCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 11046 type IERC721ReceiverCallerRaw struct { 11047 Contract *IERC721ReceiverCaller // Generic read-only contract binding to access the raw methods on 11048 } 11049 11050 // IERC721ReceiverTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 11051 type IERC721ReceiverTransactorRaw struct { 11052 Contract *IERC721ReceiverTransactor // Generic write-only contract binding to access the raw methods on 11053 } 11054 11055 // NewIERC721Receiver creates a new instance of IERC721Receiver, bound to a specific deployed contract. 11056 func NewIERC721Receiver(address common.Address, backend bind.ContractBackend) (*IERC721Receiver, error) { 11057 contract, err := bindIERC721Receiver(address, backend, backend, backend) 11058 if err != nil { 11059 return nil, err 11060 } 11061 return &IERC721Receiver{IERC721ReceiverCaller: IERC721ReceiverCaller{contract: contract}, IERC721ReceiverTransactor: IERC721ReceiverTransactor{contract: contract}, IERC721ReceiverFilterer: IERC721ReceiverFilterer{contract: contract}}, nil 11062 } 11063 11064 // NewIERC721ReceiverCaller creates a new read-only instance of IERC721Receiver, bound to a specific deployed contract. 11065 func NewIERC721ReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC721ReceiverCaller, error) { 11066 contract, err := bindIERC721Receiver(address, caller, nil, nil) 11067 if err != nil { 11068 return nil, err 11069 } 11070 return &IERC721ReceiverCaller{contract: contract}, nil 11071 } 11072 11073 // NewIERC721ReceiverTransactor creates a new write-only instance of IERC721Receiver, bound to a specific deployed contract. 11074 func NewIERC721ReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721ReceiverTransactor, error) { 11075 contract, err := bindIERC721Receiver(address, nil, transactor, nil) 11076 if err != nil { 11077 return nil, err 11078 } 11079 return &IERC721ReceiverTransactor{contract: contract}, nil 11080 } 11081 11082 // NewIERC721ReceiverFilterer creates a new log filterer instance of IERC721Receiver, bound to a specific deployed contract. 11083 func NewIERC721ReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721ReceiverFilterer, error) { 11084 contract, err := bindIERC721Receiver(address, nil, nil, filterer) 11085 if err != nil { 11086 return nil, err 11087 } 11088 return &IERC721ReceiverFilterer{contract: contract}, nil 11089 } 11090 11091 // bindIERC721Receiver binds a generic wrapper to an already deployed contract. 11092 func bindIERC721Receiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 11093 parsed, err := abi.JSON(strings.NewReader(IERC721ReceiverABI)) 11094 if err != nil { 11095 return nil, err 11096 } 11097 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 11098 } 11099 11100 // Call invokes the (constant) contract method with params as input values and 11101 // sets the output to result. The result type might be a single field for simple 11102 // returns, a slice of interfaces for anonymous returns and a struct for named 11103 // returns. 11104 func (_IERC721Receiver *IERC721ReceiverRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 11105 return _IERC721Receiver.Contract.IERC721ReceiverCaller.contract.Call(opts, result, method, params...) 11106 } 11107 11108 // Transfer initiates a plain transaction to move funds to the contract, calling 11109 // its default method if one is available. 11110 func (_IERC721Receiver *IERC721ReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 11111 return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transfer(opts) 11112 } 11113 11114 // Transact invokes the (paid) contract method with params as input values. 11115 func (_IERC721Receiver *IERC721ReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 11116 return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transact(opts, method, params...) 11117 } 11118 11119 // Call invokes the (constant) contract method with params as input values and 11120 // sets the output to result. The result type might be a single field for simple 11121 // returns, a slice of interfaces for anonymous returns and a struct for named 11122 // returns. 11123 func (_IERC721Receiver *IERC721ReceiverCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 11124 return _IERC721Receiver.Contract.contract.Call(opts, result, method, params...) 11125 } 11126 11127 // Transfer initiates a plain transaction to move funds to the contract, calling 11128 // its default method if one is available. 11129 func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 11130 return _IERC721Receiver.Contract.contract.Transfer(opts) 11131 } 11132 11133 // Transact invokes the (paid) contract method with params as input values. 11134 func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 11135 return _IERC721Receiver.Contract.contract.Transact(opts, method, params...) 11136 } 11137 11138 // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. 11139 // 11140 // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) 11141 func (_IERC721Receiver *IERC721ReceiverTransactor) OnERC721Received(opts *bind.TransactOpts, operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 11142 return _IERC721Receiver.contract.Transact(opts, "onERC721Received", operator, from, tokenId, data) 11143 } 11144 11145 // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. 11146 // 11147 // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) 11148 func (_IERC721Receiver *IERC721ReceiverSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 11149 return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data) 11150 } 11151 11152 // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. 11153 // 11154 // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) 11155 func (_IERC721Receiver *IERC721ReceiverTransactorSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 11156 return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data) 11157 } 11158 11159 // MinterRoleABI is the input ABI used to generate the binding from. 11160 const MinterRoleABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"}]" 11161 11162 // MinterRoleBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 11163 const MinterRoleBinRuntime = `` 11164 11165 // MinterRoleFuncSigs maps the 4-byte function signature to its string representation. 11166 var MinterRoleFuncSigs = map[string]string{ 11167 "983b2d56": "addMinter(address)", 11168 "aa271e1a": "isMinter(address)", 11169 "98650275": "renounceMinter()", 11170 } 11171 11172 // MinterRole is an auto generated Go binding around a Klaytn contract. 11173 type MinterRole struct { 11174 MinterRoleCaller // Read-only binding to the contract 11175 MinterRoleTransactor // Write-only binding to the contract 11176 MinterRoleFilterer // Log filterer for contract events 11177 } 11178 11179 // MinterRoleCaller is an auto generated read-only Go binding around a Klaytn contract. 11180 type MinterRoleCaller struct { 11181 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11182 } 11183 11184 // MinterRoleTransactor is an auto generated write-only Go binding around a Klaytn contract. 11185 type MinterRoleTransactor struct { 11186 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11187 } 11188 11189 // MinterRoleFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 11190 type MinterRoleFilterer struct { 11191 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11192 } 11193 11194 // MinterRoleSession is an auto generated Go binding around a Klaytn contract, 11195 // with pre-set call and transact options. 11196 type MinterRoleSession struct { 11197 Contract *MinterRole // Generic contract binding to set the session for 11198 CallOpts bind.CallOpts // Call options to use throughout this session 11199 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 11200 } 11201 11202 // MinterRoleCallerSession is an auto generated read-only Go binding around a Klaytn contract, 11203 // with pre-set call options. 11204 type MinterRoleCallerSession struct { 11205 Contract *MinterRoleCaller // Generic contract caller binding to set the session for 11206 CallOpts bind.CallOpts // Call options to use throughout this session 11207 } 11208 11209 // MinterRoleTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 11210 // with pre-set transact options. 11211 type MinterRoleTransactorSession struct { 11212 Contract *MinterRoleTransactor // Generic contract transactor binding to set the session for 11213 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 11214 } 11215 11216 // MinterRoleRaw is an auto generated low-level Go binding around a Klaytn contract. 11217 type MinterRoleRaw struct { 11218 Contract *MinterRole // Generic contract binding to access the raw methods on 11219 } 11220 11221 // MinterRoleCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 11222 type MinterRoleCallerRaw struct { 11223 Contract *MinterRoleCaller // Generic read-only contract binding to access the raw methods on 11224 } 11225 11226 // MinterRoleTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 11227 type MinterRoleTransactorRaw struct { 11228 Contract *MinterRoleTransactor // Generic write-only contract binding to access the raw methods on 11229 } 11230 11231 // NewMinterRole creates a new instance of MinterRole, bound to a specific deployed contract. 11232 func NewMinterRole(address common.Address, backend bind.ContractBackend) (*MinterRole, error) { 11233 contract, err := bindMinterRole(address, backend, backend, backend) 11234 if err != nil { 11235 return nil, err 11236 } 11237 return &MinterRole{MinterRoleCaller: MinterRoleCaller{contract: contract}, MinterRoleTransactor: MinterRoleTransactor{contract: contract}, MinterRoleFilterer: MinterRoleFilterer{contract: contract}}, nil 11238 } 11239 11240 // NewMinterRoleCaller creates a new read-only instance of MinterRole, bound to a specific deployed contract. 11241 func NewMinterRoleCaller(address common.Address, caller bind.ContractCaller) (*MinterRoleCaller, error) { 11242 contract, err := bindMinterRole(address, caller, nil, nil) 11243 if err != nil { 11244 return nil, err 11245 } 11246 return &MinterRoleCaller{contract: contract}, nil 11247 } 11248 11249 // NewMinterRoleTransactor creates a new write-only instance of MinterRole, bound to a specific deployed contract. 11250 func NewMinterRoleTransactor(address common.Address, transactor bind.ContractTransactor) (*MinterRoleTransactor, error) { 11251 contract, err := bindMinterRole(address, nil, transactor, nil) 11252 if err != nil { 11253 return nil, err 11254 } 11255 return &MinterRoleTransactor{contract: contract}, nil 11256 } 11257 11258 // NewMinterRoleFilterer creates a new log filterer instance of MinterRole, bound to a specific deployed contract. 11259 func NewMinterRoleFilterer(address common.Address, filterer bind.ContractFilterer) (*MinterRoleFilterer, error) { 11260 contract, err := bindMinterRole(address, nil, nil, filterer) 11261 if err != nil { 11262 return nil, err 11263 } 11264 return &MinterRoleFilterer{contract: contract}, nil 11265 } 11266 11267 // bindMinterRole binds a generic wrapper to an already deployed contract. 11268 func bindMinterRole(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 11269 parsed, err := abi.JSON(strings.NewReader(MinterRoleABI)) 11270 if err != nil { 11271 return nil, err 11272 } 11273 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 11274 } 11275 11276 // Call invokes the (constant) contract method with params as input values and 11277 // sets the output to result. The result type might be a single field for simple 11278 // returns, a slice of interfaces for anonymous returns and a struct for named 11279 // returns. 11280 func (_MinterRole *MinterRoleRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 11281 return _MinterRole.Contract.MinterRoleCaller.contract.Call(opts, result, method, params...) 11282 } 11283 11284 // Transfer initiates a plain transaction to move funds to the contract, calling 11285 // its default method if one is available. 11286 func (_MinterRole *MinterRoleRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 11287 return _MinterRole.Contract.MinterRoleTransactor.contract.Transfer(opts) 11288 } 11289 11290 // Transact invokes the (paid) contract method with params as input values. 11291 func (_MinterRole *MinterRoleRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 11292 return _MinterRole.Contract.MinterRoleTransactor.contract.Transact(opts, method, params...) 11293 } 11294 11295 // Call invokes the (constant) contract method with params as input values and 11296 // sets the output to result. The result type might be a single field for simple 11297 // returns, a slice of interfaces for anonymous returns and a struct for named 11298 // returns. 11299 func (_MinterRole *MinterRoleCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 11300 return _MinterRole.Contract.contract.Call(opts, result, method, params...) 11301 } 11302 11303 // Transfer initiates a plain transaction to move funds to the contract, calling 11304 // its default method if one is available. 11305 func (_MinterRole *MinterRoleTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 11306 return _MinterRole.Contract.contract.Transfer(opts) 11307 } 11308 11309 // Transact invokes the (paid) contract method with params as input values. 11310 func (_MinterRole *MinterRoleTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 11311 return _MinterRole.Contract.contract.Transact(opts, method, params...) 11312 } 11313 11314 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 11315 // 11316 // Solidity: function isMinter(address account) view returns(bool) 11317 func (_MinterRole *MinterRoleCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { 11318 var ( 11319 ret0 = new(bool) 11320 ) 11321 out := ret0 11322 err := _MinterRole.contract.Call(opts, out, "isMinter", account) 11323 return *ret0, err 11324 } 11325 11326 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 11327 // 11328 // Solidity: function isMinter(address account) view returns(bool) 11329 func (_MinterRole *MinterRoleSession) IsMinter(account common.Address) (bool, error) { 11330 return _MinterRole.Contract.IsMinter(&_MinterRole.CallOpts, account) 11331 } 11332 11333 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 11334 // 11335 // Solidity: function isMinter(address account) view returns(bool) 11336 func (_MinterRole *MinterRoleCallerSession) IsMinter(account common.Address) (bool, error) { 11337 return _MinterRole.Contract.IsMinter(&_MinterRole.CallOpts, account) 11338 } 11339 11340 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 11341 // 11342 // Solidity: function addMinter(address account) returns() 11343 func (_MinterRole *MinterRoleTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 11344 return _MinterRole.contract.Transact(opts, "addMinter", account) 11345 } 11346 11347 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 11348 // 11349 // Solidity: function addMinter(address account) returns() 11350 func (_MinterRole *MinterRoleSession) AddMinter(account common.Address) (*types.Transaction, error) { 11351 return _MinterRole.Contract.AddMinter(&_MinterRole.TransactOpts, account) 11352 } 11353 11354 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 11355 // 11356 // Solidity: function addMinter(address account) returns() 11357 func (_MinterRole *MinterRoleTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 11358 return _MinterRole.Contract.AddMinter(&_MinterRole.TransactOpts, account) 11359 } 11360 11361 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 11362 // 11363 // Solidity: function renounceMinter() returns() 11364 func (_MinterRole *MinterRoleTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { 11365 return _MinterRole.contract.Transact(opts, "renounceMinter") 11366 } 11367 11368 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 11369 // 11370 // Solidity: function renounceMinter() returns() 11371 func (_MinterRole *MinterRoleSession) RenounceMinter() (*types.Transaction, error) { 11372 return _MinterRole.Contract.RenounceMinter(&_MinterRole.TransactOpts) 11373 } 11374 11375 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 11376 // 11377 // Solidity: function renounceMinter() returns() 11378 func (_MinterRole *MinterRoleTransactorSession) RenounceMinter() (*types.Transaction, error) { 11379 return _MinterRole.Contract.RenounceMinter(&_MinterRole.TransactOpts) 11380 } 11381 11382 // MinterRoleMinterAddedIterator is returned from FilterMinterAdded and is used to iterate over the raw logs and unpacked data for MinterAdded events raised by the MinterRole contract. 11383 type MinterRoleMinterAddedIterator struct { 11384 Event *MinterRoleMinterAdded // Event containing the contract specifics and raw log 11385 11386 contract *bind.BoundContract // Generic contract to use for unpacking event data 11387 event string // Event name to use for unpacking event data 11388 11389 logs chan types.Log // Log channel receiving the found contract events 11390 sub klaytn.Subscription // Subscription for errors, completion and termination 11391 done bool // Whether the subscription completed delivering logs 11392 fail error // Occurred error to stop iteration 11393 } 11394 11395 // Next advances the iterator to the subsequent event, returning whether there 11396 // are any more events found. In case of a retrieval or parsing error, false is 11397 // returned and Error() can be queried for the exact failure. 11398 func (it *MinterRoleMinterAddedIterator) Next() bool { 11399 // If the iterator failed, stop iterating 11400 if it.fail != nil { 11401 return false 11402 } 11403 // If the iterator completed, deliver directly whatever's available 11404 if it.done { 11405 select { 11406 case log := <-it.logs: 11407 it.Event = new(MinterRoleMinterAdded) 11408 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11409 it.fail = err 11410 return false 11411 } 11412 it.Event.Raw = log 11413 return true 11414 11415 default: 11416 return false 11417 } 11418 } 11419 // Iterator still in progress, wait for either a data or an error event 11420 select { 11421 case log := <-it.logs: 11422 it.Event = new(MinterRoleMinterAdded) 11423 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11424 it.fail = err 11425 return false 11426 } 11427 it.Event.Raw = log 11428 return true 11429 11430 case err := <-it.sub.Err(): 11431 it.done = true 11432 it.fail = err 11433 return it.Next() 11434 } 11435 } 11436 11437 // Error returns any retrieval or parsing error occurred during filtering. 11438 func (it *MinterRoleMinterAddedIterator) Error() error { 11439 return it.fail 11440 } 11441 11442 // Close terminates the iteration process, releasing any pending underlying 11443 // resources. 11444 func (it *MinterRoleMinterAddedIterator) Close() error { 11445 it.sub.Unsubscribe() 11446 return nil 11447 } 11448 11449 // MinterRoleMinterAdded represents a MinterAdded event raised by the MinterRole contract. 11450 type MinterRoleMinterAdded struct { 11451 Account common.Address 11452 Raw types.Log // Blockchain specific contextual infos 11453 } 11454 11455 // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 11456 // 11457 // Solidity: event MinterAdded(address indexed account) 11458 func (_MinterRole *MinterRoleFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*MinterRoleMinterAddedIterator, error) { 11459 11460 var accountRule []interface{} 11461 for _, accountItem := range account { 11462 accountRule = append(accountRule, accountItem) 11463 } 11464 11465 logs, sub, err := _MinterRole.contract.FilterLogs(opts, "MinterAdded", accountRule) 11466 if err != nil { 11467 return nil, err 11468 } 11469 return &MinterRoleMinterAddedIterator{contract: _MinterRole.contract, event: "MinterAdded", logs: logs, sub: sub}, nil 11470 } 11471 11472 // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 11473 // 11474 // Solidity: event MinterAdded(address indexed account) 11475 func (_MinterRole *MinterRoleFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *MinterRoleMinterAdded, account []common.Address) (event.Subscription, error) { 11476 11477 var accountRule []interface{} 11478 for _, accountItem := range account { 11479 accountRule = append(accountRule, accountItem) 11480 } 11481 11482 logs, sub, err := _MinterRole.contract.WatchLogs(opts, "MinterAdded", accountRule) 11483 if err != nil { 11484 return nil, err 11485 } 11486 return event.NewSubscription(func(quit <-chan struct{}) error { 11487 defer sub.Unsubscribe() 11488 for { 11489 select { 11490 case log := <-logs: 11491 // New log arrived, parse the event and forward to the user 11492 event := new(MinterRoleMinterAdded) 11493 if err := _MinterRole.contract.UnpackLog(event, "MinterAdded", log); err != nil { 11494 return err 11495 } 11496 event.Raw = log 11497 11498 select { 11499 case sink <- event: 11500 case err := <-sub.Err(): 11501 return err 11502 case <-quit: 11503 return nil 11504 } 11505 case err := <-sub.Err(): 11506 return err 11507 case <-quit: 11508 return nil 11509 } 11510 } 11511 }), nil 11512 } 11513 11514 // ParseMinterAdded is a log parse operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 11515 // 11516 // Solidity: event MinterAdded(address indexed account) 11517 func (_MinterRole *MinterRoleFilterer) ParseMinterAdded(log types.Log) (*MinterRoleMinterAdded, error) { 11518 event := new(MinterRoleMinterAdded) 11519 if err := _MinterRole.contract.UnpackLog(event, "MinterAdded", log); err != nil { 11520 return nil, err 11521 } 11522 return event, nil 11523 } 11524 11525 // MinterRoleMinterRemovedIterator is returned from FilterMinterRemoved and is used to iterate over the raw logs and unpacked data for MinterRemoved events raised by the MinterRole contract. 11526 type MinterRoleMinterRemovedIterator struct { 11527 Event *MinterRoleMinterRemoved // Event containing the contract specifics and raw log 11528 11529 contract *bind.BoundContract // Generic contract to use for unpacking event data 11530 event string // Event name to use for unpacking event data 11531 11532 logs chan types.Log // Log channel receiving the found contract events 11533 sub klaytn.Subscription // Subscription for errors, completion and termination 11534 done bool // Whether the subscription completed delivering logs 11535 fail error // Occurred error to stop iteration 11536 } 11537 11538 // Next advances the iterator to the subsequent event, returning whether there 11539 // are any more events found. In case of a retrieval or parsing error, false is 11540 // returned and Error() can be queried for the exact failure. 11541 func (it *MinterRoleMinterRemovedIterator) Next() bool { 11542 // If the iterator failed, stop iterating 11543 if it.fail != nil { 11544 return false 11545 } 11546 // If the iterator completed, deliver directly whatever's available 11547 if it.done { 11548 select { 11549 case log := <-it.logs: 11550 it.Event = new(MinterRoleMinterRemoved) 11551 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11552 it.fail = err 11553 return false 11554 } 11555 it.Event.Raw = log 11556 return true 11557 11558 default: 11559 return false 11560 } 11561 } 11562 // Iterator still in progress, wait for either a data or an error event 11563 select { 11564 case log := <-it.logs: 11565 it.Event = new(MinterRoleMinterRemoved) 11566 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11567 it.fail = err 11568 return false 11569 } 11570 it.Event.Raw = log 11571 return true 11572 11573 case err := <-it.sub.Err(): 11574 it.done = true 11575 it.fail = err 11576 return it.Next() 11577 } 11578 } 11579 11580 // Error returns any retrieval or parsing error occurred during filtering. 11581 func (it *MinterRoleMinterRemovedIterator) Error() error { 11582 return it.fail 11583 } 11584 11585 // Close terminates the iteration process, releasing any pending underlying 11586 // resources. 11587 func (it *MinterRoleMinterRemovedIterator) Close() error { 11588 it.sub.Unsubscribe() 11589 return nil 11590 } 11591 11592 // MinterRoleMinterRemoved represents a MinterRemoved event raised by the MinterRole contract. 11593 type MinterRoleMinterRemoved struct { 11594 Account common.Address 11595 Raw types.Log // Blockchain specific contextual infos 11596 } 11597 11598 // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 11599 // 11600 // Solidity: event MinterRemoved(address indexed account) 11601 func (_MinterRole *MinterRoleFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*MinterRoleMinterRemovedIterator, error) { 11602 11603 var accountRule []interface{} 11604 for _, accountItem := range account { 11605 accountRule = append(accountRule, accountItem) 11606 } 11607 11608 logs, sub, err := _MinterRole.contract.FilterLogs(opts, "MinterRemoved", accountRule) 11609 if err != nil { 11610 return nil, err 11611 } 11612 return &MinterRoleMinterRemovedIterator{contract: _MinterRole.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil 11613 } 11614 11615 // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 11616 // 11617 // Solidity: event MinterRemoved(address indexed account) 11618 func (_MinterRole *MinterRoleFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *MinterRoleMinterRemoved, account []common.Address) (event.Subscription, error) { 11619 11620 var accountRule []interface{} 11621 for _, accountItem := range account { 11622 accountRule = append(accountRule, accountItem) 11623 } 11624 11625 logs, sub, err := _MinterRole.contract.WatchLogs(opts, "MinterRemoved", accountRule) 11626 if err != nil { 11627 return nil, err 11628 } 11629 return event.NewSubscription(func(quit <-chan struct{}) error { 11630 defer sub.Unsubscribe() 11631 for { 11632 select { 11633 case log := <-logs: 11634 // New log arrived, parse the event and forward to the user 11635 event := new(MinterRoleMinterRemoved) 11636 if err := _MinterRole.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 11637 return err 11638 } 11639 event.Raw = log 11640 11641 select { 11642 case sink <- event: 11643 case err := <-sub.Err(): 11644 return err 11645 case <-quit: 11646 return nil 11647 } 11648 case err := <-sub.Err(): 11649 return err 11650 case <-quit: 11651 return nil 11652 } 11653 } 11654 }), nil 11655 } 11656 11657 // ParseMinterRemoved is a log parse operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 11658 // 11659 // Solidity: event MinterRemoved(address indexed account) 11660 func (_MinterRole *MinterRoleFilterer) ParseMinterRemoved(log types.Log) (*MinterRoleMinterRemoved, error) { 11661 event := new(MinterRoleMinterRemoved) 11662 if err := _MinterRole.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 11663 return nil, err 11664 } 11665 return event, nil 11666 } 11667 11668 // OwnableABI is the input ABI used to generate the binding from. 11669 const OwnableABI = "[{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]" 11670 11671 // OwnableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 11672 const OwnableBinRuntime = `` 11673 11674 // OwnableFuncSigs maps the 4-byte function signature to its string representation. 11675 var OwnableFuncSigs = map[string]string{ 11676 "8f32d59b": "isOwner()", 11677 "8da5cb5b": "owner()", 11678 "715018a6": "renounceOwnership()", 11679 "f2fde38b": "transferOwnership(address)", 11680 } 11681 11682 // Ownable is an auto generated Go binding around a Klaytn contract. 11683 type Ownable struct { 11684 OwnableCaller // Read-only binding to the contract 11685 OwnableTransactor // Write-only binding to the contract 11686 OwnableFilterer // Log filterer for contract events 11687 } 11688 11689 // OwnableCaller is an auto generated read-only Go binding around a Klaytn contract. 11690 type OwnableCaller struct { 11691 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11692 } 11693 11694 // OwnableTransactor is an auto generated write-only Go binding around a Klaytn contract. 11695 type OwnableTransactor struct { 11696 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11697 } 11698 11699 // OwnableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 11700 type OwnableFilterer struct { 11701 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11702 } 11703 11704 // OwnableSession is an auto generated Go binding around a Klaytn contract, 11705 // with pre-set call and transact options. 11706 type OwnableSession struct { 11707 Contract *Ownable // Generic contract binding to set the session for 11708 CallOpts bind.CallOpts // Call options to use throughout this session 11709 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 11710 } 11711 11712 // OwnableCallerSession is an auto generated read-only Go binding around a Klaytn contract, 11713 // with pre-set call options. 11714 type OwnableCallerSession struct { 11715 Contract *OwnableCaller // Generic contract caller binding to set the session for 11716 CallOpts bind.CallOpts // Call options to use throughout this session 11717 } 11718 11719 // OwnableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 11720 // with pre-set transact options. 11721 type OwnableTransactorSession struct { 11722 Contract *OwnableTransactor // Generic contract transactor binding to set the session for 11723 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 11724 } 11725 11726 // OwnableRaw is an auto generated low-level Go binding around a Klaytn contract. 11727 type OwnableRaw struct { 11728 Contract *Ownable // Generic contract binding to access the raw methods on 11729 } 11730 11731 // OwnableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 11732 type OwnableCallerRaw struct { 11733 Contract *OwnableCaller // Generic read-only contract binding to access the raw methods on 11734 } 11735 11736 // OwnableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 11737 type OwnableTransactorRaw struct { 11738 Contract *OwnableTransactor // Generic write-only contract binding to access the raw methods on 11739 } 11740 11741 // NewOwnable creates a new instance of Ownable, bound to a specific deployed contract. 11742 func NewOwnable(address common.Address, backend bind.ContractBackend) (*Ownable, error) { 11743 contract, err := bindOwnable(address, backend, backend, backend) 11744 if err != nil { 11745 return nil, err 11746 } 11747 return &Ownable{OwnableCaller: OwnableCaller{contract: contract}, OwnableTransactor: OwnableTransactor{contract: contract}, OwnableFilterer: OwnableFilterer{contract: contract}}, nil 11748 } 11749 11750 // NewOwnableCaller creates a new read-only instance of Ownable, bound to a specific deployed contract. 11751 func NewOwnableCaller(address common.Address, caller bind.ContractCaller) (*OwnableCaller, error) { 11752 contract, err := bindOwnable(address, caller, nil, nil) 11753 if err != nil { 11754 return nil, err 11755 } 11756 return &OwnableCaller{contract: contract}, nil 11757 } 11758 11759 // NewOwnableTransactor creates a new write-only instance of Ownable, bound to a specific deployed contract. 11760 func NewOwnableTransactor(address common.Address, transactor bind.ContractTransactor) (*OwnableTransactor, error) { 11761 contract, err := bindOwnable(address, nil, transactor, nil) 11762 if err != nil { 11763 return nil, err 11764 } 11765 return &OwnableTransactor{contract: contract}, nil 11766 } 11767 11768 // NewOwnableFilterer creates a new log filterer instance of Ownable, bound to a specific deployed contract. 11769 func NewOwnableFilterer(address common.Address, filterer bind.ContractFilterer) (*OwnableFilterer, error) { 11770 contract, err := bindOwnable(address, nil, nil, filterer) 11771 if err != nil { 11772 return nil, err 11773 } 11774 return &OwnableFilterer{contract: contract}, nil 11775 } 11776 11777 // bindOwnable binds a generic wrapper to an already deployed contract. 11778 func bindOwnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 11779 parsed, err := abi.JSON(strings.NewReader(OwnableABI)) 11780 if err != nil { 11781 return nil, err 11782 } 11783 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 11784 } 11785 11786 // Call invokes the (constant) contract method with params as input values and 11787 // sets the output to result. The result type might be a single field for simple 11788 // returns, a slice of interfaces for anonymous returns and a struct for named 11789 // returns. 11790 func (_Ownable *OwnableRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 11791 return _Ownable.Contract.OwnableCaller.contract.Call(opts, result, method, params...) 11792 } 11793 11794 // Transfer initiates a plain transaction to move funds to the contract, calling 11795 // its default method if one is available. 11796 func (_Ownable *OwnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 11797 return _Ownable.Contract.OwnableTransactor.contract.Transfer(opts) 11798 } 11799 11800 // Transact invokes the (paid) contract method with params as input values. 11801 func (_Ownable *OwnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 11802 return _Ownable.Contract.OwnableTransactor.contract.Transact(opts, method, params...) 11803 } 11804 11805 // Call invokes the (constant) contract method with params as input values and 11806 // sets the output to result. The result type might be a single field for simple 11807 // returns, a slice of interfaces for anonymous returns and a struct for named 11808 // returns. 11809 func (_Ownable *OwnableCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 11810 return _Ownable.Contract.contract.Call(opts, result, method, params...) 11811 } 11812 11813 // Transfer initiates a plain transaction to move funds to the contract, calling 11814 // its default method if one is available. 11815 func (_Ownable *OwnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 11816 return _Ownable.Contract.contract.Transfer(opts) 11817 } 11818 11819 // Transact invokes the (paid) contract method with params as input values. 11820 func (_Ownable *OwnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 11821 return _Ownable.Contract.contract.Transact(opts, method, params...) 11822 } 11823 11824 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 11825 // 11826 // Solidity: function isOwner() view returns(bool) 11827 func (_Ownable *OwnableCaller) IsOwner(opts *bind.CallOpts) (bool, error) { 11828 var ( 11829 ret0 = new(bool) 11830 ) 11831 out := ret0 11832 err := _Ownable.contract.Call(opts, out, "isOwner") 11833 return *ret0, err 11834 } 11835 11836 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 11837 // 11838 // Solidity: function isOwner() view returns(bool) 11839 func (_Ownable *OwnableSession) IsOwner() (bool, error) { 11840 return _Ownable.Contract.IsOwner(&_Ownable.CallOpts) 11841 } 11842 11843 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 11844 // 11845 // Solidity: function isOwner() view returns(bool) 11846 func (_Ownable *OwnableCallerSession) IsOwner() (bool, error) { 11847 return _Ownable.Contract.IsOwner(&_Ownable.CallOpts) 11848 } 11849 11850 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 11851 // 11852 // Solidity: function owner() view returns(address) 11853 func (_Ownable *OwnableCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 11854 var ( 11855 ret0 = new(common.Address) 11856 ) 11857 out := ret0 11858 err := _Ownable.contract.Call(opts, out, "owner") 11859 return *ret0, err 11860 } 11861 11862 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 11863 // 11864 // Solidity: function owner() view returns(address) 11865 func (_Ownable *OwnableSession) Owner() (common.Address, error) { 11866 return _Ownable.Contract.Owner(&_Ownable.CallOpts) 11867 } 11868 11869 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 11870 // 11871 // Solidity: function owner() view returns(address) 11872 func (_Ownable *OwnableCallerSession) Owner() (common.Address, error) { 11873 return _Ownable.Contract.Owner(&_Ownable.CallOpts) 11874 } 11875 11876 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 11877 // 11878 // Solidity: function renounceOwnership() returns() 11879 func (_Ownable *OwnableTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 11880 return _Ownable.contract.Transact(opts, "renounceOwnership") 11881 } 11882 11883 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 11884 // 11885 // Solidity: function renounceOwnership() returns() 11886 func (_Ownable *OwnableSession) RenounceOwnership() (*types.Transaction, error) { 11887 return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) 11888 } 11889 11890 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 11891 // 11892 // Solidity: function renounceOwnership() returns() 11893 func (_Ownable *OwnableTransactorSession) RenounceOwnership() (*types.Transaction, error) { 11894 return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) 11895 } 11896 11897 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 11898 // 11899 // Solidity: function transferOwnership(address newOwner) returns() 11900 func (_Ownable *OwnableTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 11901 return _Ownable.contract.Transact(opts, "transferOwnership", newOwner) 11902 } 11903 11904 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 11905 // 11906 // Solidity: function transferOwnership(address newOwner) returns() 11907 func (_Ownable *OwnableSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 11908 return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) 11909 } 11910 11911 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 11912 // 11913 // Solidity: function transferOwnership(address newOwner) returns() 11914 func (_Ownable *OwnableTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 11915 return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) 11916 } 11917 11918 // OwnableOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Ownable contract. 11919 type OwnableOwnershipTransferredIterator struct { 11920 Event *OwnableOwnershipTransferred // Event containing the contract specifics and raw log 11921 11922 contract *bind.BoundContract // Generic contract to use for unpacking event data 11923 event string // Event name to use for unpacking event data 11924 11925 logs chan types.Log // Log channel receiving the found contract events 11926 sub klaytn.Subscription // Subscription for errors, completion and termination 11927 done bool // Whether the subscription completed delivering logs 11928 fail error // Occurred error to stop iteration 11929 } 11930 11931 // Next advances the iterator to the subsequent event, returning whether there 11932 // are any more events found. In case of a retrieval or parsing error, false is 11933 // returned and Error() can be queried for the exact failure. 11934 func (it *OwnableOwnershipTransferredIterator) Next() bool { 11935 // If the iterator failed, stop iterating 11936 if it.fail != nil { 11937 return false 11938 } 11939 // If the iterator completed, deliver directly whatever's available 11940 if it.done { 11941 select { 11942 case log := <-it.logs: 11943 it.Event = new(OwnableOwnershipTransferred) 11944 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11945 it.fail = err 11946 return false 11947 } 11948 it.Event.Raw = log 11949 return true 11950 11951 default: 11952 return false 11953 } 11954 } 11955 // Iterator still in progress, wait for either a data or an error event 11956 select { 11957 case log := <-it.logs: 11958 it.Event = new(OwnableOwnershipTransferred) 11959 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11960 it.fail = err 11961 return false 11962 } 11963 it.Event.Raw = log 11964 return true 11965 11966 case err := <-it.sub.Err(): 11967 it.done = true 11968 it.fail = err 11969 return it.Next() 11970 } 11971 } 11972 11973 // Error returns any retrieval or parsing error occurred during filtering. 11974 func (it *OwnableOwnershipTransferredIterator) Error() error { 11975 return it.fail 11976 } 11977 11978 // Close terminates the iteration process, releasing any pending underlying 11979 // resources. 11980 func (it *OwnableOwnershipTransferredIterator) Close() error { 11981 it.sub.Unsubscribe() 11982 return nil 11983 } 11984 11985 // OwnableOwnershipTransferred represents a OwnershipTransferred event raised by the Ownable contract. 11986 type OwnableOwnershipTransferred struct { 11987 PreviousOwner common.Address 11988 NewOwner common.Address 11989 Raw types.Log // Blockchain specific contextual infos 11990 } 11991 11992 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 11993 // 11994 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 11995 func (_Ownable *OwnableFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*OwnableOwnershipTransferredIterator, error) { 11996 11997 var previousOwnerRule []interface{} 11998 for _, previousOwnerItem := range previousOwner { 11999 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 12000 } 12001 var newOwnerRule []interface{} 12002 for _, newOwnerItem := range newOwner { 12003 newOwnerRule = append(newOwnerRule, newOwnerItem) 12004 } 12005 12006 logs, sub, err := _Ownable.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 12007 if err != nil { 12008 return nil, err 12009 } 12010 return &OwnableOwnershipTransferredIterator{contract: _Ownable.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 12011 } 12012 12013 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 12014 // 12015 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 12016 func (_Ownable *OwnableFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *OwnableOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 12017 12018 var previousOwnerRule []interface{} 12019 for _, previousOwnerItem := range previousOwner { 12020 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 12021 } 12022 var newOwnerRule []interface{} 12023 for _, newOwnerItem := range newOwner { 12024 newOwnerRule = append(newOwnerRule, newOwnerItem) 12025 } 12026 12027 logs, sub, err := _Ownable.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 12028 if err != nil { 12029 return nil, err 12030 } 12031 return event.NewSubscription(func(quit <-chan struct{}) error { 12032 defer sub.Unsubscribe() 12033 for { 12034 select { 12035 case log := <-logs: 12036 // New log arrived, parse the event and forward to the user 12037 event := new(OwnableOwnershipTransferred) 12038 if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 12039 return err 12040 } 12041 event.Raw = log 12042 12043 select { 12044 case sink <- event: 12045 case err := <-sub.Err(): 12046 return err 12047 case <-quit: 12048 return nil 12049 } 12050 case err := <-sub.Err(): 12051 return err 12052 case <-quit: 12053 return nil 12054 } 12055 } 12056 }), nil 12057 } 12058 12059 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 12060 // 12061 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 12062 func (_Ownable *OwnableFilterer) ParseOwnershipTransferred(log types.Log) (*OwnableOwnershipTransferred, error) { 12063 event := new(OwnableOwnershipTransferred) 12064 if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 12065 return nil, err 12066 } 12067 return event, nil 12068 } 12069 12070 // RolesABI is the input ABI used to generate the binding from. 12071 const RolesABI = "[]" 12072 12073 // RolesBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 12074 const RolesBinRuntime = `73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582026429ed555f83236ac076363d644804ff5b0baa4e098f1d4ef783a49049f7df70029` 12075 12076 // RolesBin is the compiled bytecode used for deploying new contracts. 12077 var RolesBin = "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582026429ed555f83236ac076363d644804ff5b0baa4e098f1d4ef783a49049f7df70029" 12078 12079 // DeployRoles deploys a new Klaytn contract, binding an instance of Roles to it. 12080 func DeployRoles(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Roles, error) { 12081 parsed, err := abi.JSON(strings.NewReader(RolesABI)) 12082 if err != nil { 12083 return common.Address{}, nil, nil, err 12084 } 12085 12086 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(RolesBin), backend) 12087 if err != nil { 12088 return common.Address{}, nil, nil, err 12089 } 12090 return address, tx, &Roles{RolesCaller: RolesCaller{contract: contract}, RolesTransactor: RolesTransactor{contract: contract}, RolesFilterer: RolesFilterer{contract: contract}}, nil 12091 } 12092 12093 // Roles is an auto generated Go binding around a Klaytn contract. 12094 type Roles struct { 12095 RolesCaller // Read-only binding to the contract 12096 RolesTransactor // Write-only binding to the contract 12097 RolesFilterer // Log filterer for contract events 12098 } 12099 12100 // RolesCaller is an auto generated read-only Go binding around a Klaytn contract. 12101 type RolesCaller struct { 12102 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12103 } 12104 12105 // RolesTransactor is an auto generated write-only Go binding around a Klaytn contract. 12106 type RolesTransactor struct { 12107 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12108 } 12109 12110 // RolesFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 12111 type RolesFilterer struct { 12112 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12113 } 12114 12115 // RolesSession is an auto generated Go binding around a Klaytn contract, 12116 // with pre-set call and transact options. 12117 type RolesSession struct { 12118 Contract *Roles // Generic contract binding to set the session for 12119 CallOpts bind.CallOpts // Call options to use throughout this session 12120 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 12121 } 12122 12123 // RolesCallerSession is an auto generated read-only Go binding around a Klaytn contract, 12124 // with pre-set call options. 12125 type RolesCallerSession struct { 12126 Contract *RolesCaller // Generic contract caller binding to set the session for 12127 CallOpts bind.CallOpts // Call options to use throughout this session 12128 } 12129 12130 // RolesTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 12131 // with pre-set transact options. 12132 type RolesTransactorSession struct { 12133 Contract *RolesTransactor // Generic contract transactor binding to set the session for 12134 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 12135 } 12136 12137 // RolesRaw is an auto generated low-level Go binding around a Klaytn contract. 12138 type RolesRaw struct { 12139 Contract *Roles // Generic contract binding to access the raw methods on 12140 } 12141 12142 // RolesCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 12143 type RolesCallerRaw struct { 12144 Contract *RolesCaller // Generic read-only contract binding to access the raw methods on 12145 } 12146 12147 // RolesTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 12148 type RolesTransactorRaw struct { 12149 Contract *RolesTransactor // Generic write-only contract binding to access the raw methods on 12150 } 12151 12152 // NewRoles creates a new instance of Roles, bound to a specific deployed contract. 12153 func NewRoles(address common.Address, backend bind.ContractBackend) (*Roles, error) { 12154 contract, err := bindRoles(address, backend, backend, backend) 12155 if err != nil { 12156 return nil, err 12157 } 12158 return &Roles{RolesCaller: RolesCaller{contract: contract}, RolesTransactor: RolesTransactor{contract: contract}, RolesFilterer: RolesFilterer{contract: contract}}, nil 12159 } 12160 12161 // NewRolesCaller creates a new read-only instance of Roles, bound to a specific deployed contract. 12162 func NewRolesCaller(address common.Address, caller bind.ContractCaller) (*RolesCaller, error) { 12163 contract, err := bindRoles(address, caller, nil, nil) 12164 if err != nil { 12165 return nil, err 12166 } 12167 return &RolesCaller{contract: contract}, nil 12168 } 12169 12170 // NewRolesTransactor creates a new write-only instance of Roles, bound to a specific deployed contract. 12171 func NewRolesTransactor(address common.Address, transactor bind.ContractTransactor) (*RolesTransactor, error) { 12172 contract, err := bindRoles(address, nil, transactor, nil) 12173 if err != nil { 12174 return nil, err 12175 } 12176 return &RolesTransactor{contract: contract}, nil 12177 } 12178 12179 // NewRolesFilterer creates a new log filterer instance of Roles, bound to a specific deployed contract. 12180 func NewRolesFilterer(address common.Address, filterer bind.ContractFilterer) (*RolesFilterer, error) { 12181 contract, err := bindRoles(address, nil, nil, filterer) 12182 if err != nil { 12183 return nil, err 12184 } 12185 return &RolesFilterer{contract: contract}, nil 12186 } 12187 12188 // bindRoles binds a generic wrapper to an already deployed contract. 12189 func bindRoles(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 12190 parsed, err := abi.JSON(strings.NewReader(RolesABI)) 12191 if err != nil { 12192 return nil, err 12193 } 12194 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 12195 } 12196 12197 // Call invokes the (constant) contract method with params as input values and 12198 // sets the output to result. The result type might be a single field for simple 12199 // returns, a slice of interfaces for anonymous returns and a struct for named 12200 // returns. 12201 func (_Roles *RolesRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 12202 return _Roles.Contract.RolesCaller.contract.Call(opts, result, method, params...) 12203 } 12204 12205 // Transfer initiates a plain transaction to move funds to the contract, calling 12206 // its default method if one is available. 12207 func (_Roles *RolesRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 12208 return _Roles.Contract.RolesTransactor.contract.Transfer(opts) 12209 } 12210 12211 // Transact invokes the (paid) contract method with params as input values. 12212 func (_Roles *RolesRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 12213 return _Roles.Contract.RolesTransactor.contract.Transact(opts, method, params...) 12214 } 12215 12216 // Call invokes the (constant) contract method with params as input values and 12217 // sets the output to result. The result type might be a single field for simple 12218 // returns, a slice of interfaces for anonymous returns and a struct for named 12219 // returns. 12220 func (_Roles *RolesCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 12221 return _Roles.Contract.contract.Call(opts, result, method, params...) 12222 } 12223 12224 // Transfer initiates a plain transaction to move funds to the contract, calling 12225 // its default method if one is available. 12226 func (_Roles *RolesTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 12227 return _Roles.Contract.contract.Transfer(opts) 12228 } 12229 12230 // Transact invokes the (paid) contract method with params as input values. 12231 func (_Roles *RolesTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 12232 return _Roles.Contract.contract.Transact(opts, method, params...) 12233 } 12234 12235 // SafeMathABI is the input ABI used to generate the binding from. 12236 const SafeMathABI = "[]" 12237 12238 // SafeMathBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 12239 const SafeMathBinRuntime = `73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058201aa360e6241ae1bc829140fb38ae5ca1672181b2a5c529c4ca3a045ed2896feb0029` 12240 12241 // SafeMathBin is the compiled bytecode used for deploying new contracts. 12242 var SafeMathBin = "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058201aa360e6241ae1bc829140fb38ae5ca1672181b2a5c529c4ca3a045ed2896feb0029" 12243 12244 // DeploySafeMath deploys a new Klaytn contract, binding an instance of SafeMath to it. 12245 func DeploySafeMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeMath, error) { 12246 parsed, err := abi.JSON(strings.NewReader(SafeMathABI)) 12247 if err != nil { 12248 return common.Address{}, nil, nil, err 12249 } 12250 12251 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(SafeMathBin), backend) 12252 if err != nil { 12253 return common.Address{}, nil, nil, err 12254 } 12255 return address, tx, &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil 12256 } 12257 12258 // SafeMath is an auto generated Go binding around a Klaytn contract. 12259 type SafeMath struct { 12260 SafeMathCaller // Read-only binding to the contract 12261 SafeMathTransactor // Write-only binding to the contract 12262 SafeMathFilterer // Log filterer for contract events 12263 } 12264 12265 // SafeMathCaller is an auto generated read-only Go binding around a Klaytn contract. 12266 type SafeMathCaller struct { 12267 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12268 } 12269 12270 // SafeMathTransactor is an auto generated write-only Go binding around a Klaytn contract. 12271 type SafeMathTransactor struct { 12272 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12273 } 12274 12275 // SafeMathFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 12276 type SafeMathFilterer struct { 12277 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12278 } 12279 12280 // SafeMathSession is an auto generated Go binding around a Klaytn contract, 12281 // with pre-set call and transact options. 12282 type SafeMathSession struct { 12283 Contract *SafeMath // Generic contract binding to set the session for 12284 CallOpts bind.CallOpts // Call options to use throughout this session 12285 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 12286 } 12287 12288 // SafeMathCallerSession is an auto generated read-only Go binding around a Klaytn contract, 12289 // with pre-set call options. 12290 type SafeMathCallerSession struct { 12291 Contract *SafeMathCaller // Generic contract caller binding to set the session for 12292 CallOpts bind.CallOpts // Call options to use throughout this session 12293 } 12294 12295 // SafeMathTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 12296 // with pre-set transact options. 12297 type SafeMathTransactorSession struct { 12298 Contract *SafeMathTransactor // Generic contract transactor binding to set the session for 12299 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 12300 } 12301 12302 // SafeMathRaw is an auto generated low-level Go binding around a Klaytn contract. 12303 type SafeMathRaw struct { 12304 Contract *SafeMath // Generic contract binding to access the raw methods on 12305 } 12306 12307 // SafeMathCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 12308 type SafeMathCallerRaw struct { 12309 Contract *SafeMathCaller // Generic read-only contract binding to access the raw methods on 12310 } 12311 12312 // SafeMathTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 12313 type SafeMathTransactorRaw struct { 12314 Contract *SafeMathTransactor // Generic write-only contract binding to access the raw methods on 12315 } 12316 12317 // NewSafeMath creates a new instance of SafeMath, bound to a specific deployed contract. 12318 func NewSafeMath(address common.Address, backend bind.ContractBackend) (*SafeMath, error) { 12319 contract, err := bindSafeMath(address, backend, backend, backend) 12320 if err != nil { 12321 return nil, err 12322 } 12323 return &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil 12324 } 12325 12326 // NewSafeMathCaller creates a new read-only instance of SafeMath, bound to a specific deployed contract. 12327 func NewSafeMathCaller(address common.Address, caller bind.ContractCaller) (*SafeMathCaller, error) { 12328 contract, err := bindSafeMath(address, caller, nil, nil) 12329 if err != nil { 12330 return nil, err 12331 } 12332 return &SafeMathCaller{contract: contract}, nil 12333 } 12334 12335 // NewSafeMathTransactor creates a new write-only instance of SafeMath, bound to a specific deployed contract. 12336 func NewSafeMathTransactor(address common.Address, transactor bind.ContractTransactor) (*SafeMathTransactor, error) { 12337 contract, err := bindSafeMath(address, nil, transactor, nil) 12338 if err != nil { 12339 return nil, err 12340 } 12341 return &SafeMathTransactor{contract: contract}, nil 12342 } 12343 12344 // NewSafeMathFilterer creates a new log filterer instance of SafeMath, bound to a specific deployed contract. 12345 func NewSafeMathFilterer(address common.Address, filterer bind.ContractFilterer) (*SafeMathFilterer, error) { 12346 contract, err := bindSafeMath(address, nil, nil, filterer) 12347 if err != nil { 12348 return nil, err 12349 } 12350 return &SafeMathFilterer{contract: contract}, nil 12351 } 12352 12353 // bindSafeMath binds a generic wrapper to an already deployed contract. 12354 func bindSafeMath(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 12355 parsed, err := abi.JSON(strings.NewReader(SafeMathABI)) 12356 if err != nil { 12357 return nil, err 12358 } 12359 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 12360 } 12361 12362 // Call invokes the (constant) contract method with params as input values and 12363 // sets the output to result. The result type might be a single field for simple 12364 // returns, a slice of interfaces for anonymous returns and a struct for named 12365 // returns. 12366 func (_SafeMath *SafeMathRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 12367 return _SafeMath.Contract.SafeMathCaller.contract.Call(opts, result, method, params...) 12368 } 12369 12370 // Transfer initiates a plain transaction to move funds to the contract, calling 12371 // its default method if one is available. 12372 func (_SafeMath *SafeMathRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 12373 return _SafeMath.Contract.SafeMathTransactor.contract.Transfer(opts) 12374 } 12375 12376 // Transact invokes the (paid) contract method with params as input values. 12377 func (_SafeMath *SafeMathRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 12378 return _SafeMath.Contract.SafeMathTransactor.contract.Transact(opts, method, params...) 12379 } 12380 12381 // Call invokes the (constant) contract method with params as input values and 12382 // sets the output to result. The result type might be a single field for simple 12383 // returns, a slice of interfaces for anonymous returns and a struct for named 12384 // returns. 12385 func (_SafeMath *SafeMathCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 12386 return _SafeMath.Contract.contract.Call(opts, result, method, params...) 12387 } 12388 12389 // Transfer initiates a plain transaction to move funds to the contract, calling 12390 // its default method if one is available. 12391 func (_SafeMath *SafeMathTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 12392 return _SafeMath.Contract.contract.Transfer(opts) 12393 } 12394 12395 // Transact invokes the (paid) contract method with params as input values. 12396 func (_SafeMath *SafeMathTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 12397 return _SafeMath.Contract.contract.Transact(opts, method, params...) 12398 } 12399 12400 // ServiceChainNFTABI is the input ABI used to generate the binding from. 12401 const ServiceChainNFTABI = "[{\"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\":\"_uid\",\"type\":\"uint256\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"requestValueTransfer\",\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"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\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"tokenURI\",\"type\":\"string\"}],\"name\":\"mintWithTokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"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\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_user\",\"type\":\"address\"},{\"name\":\"_startID\",\"type\":\"uint256\"},{\"name\":\"_endID\",\"type\":\"uint256\"}],\"name\":\"registerBulk\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_bridge\",\"type\":\"address\"}],\"name\":\"setBridge\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"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\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"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\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"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\":\"bridge\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"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\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_bridge\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"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\"}]" 12402 12403 // ServiceChainNFTBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 12404 const ServiceChainNFTBinRuntime = `608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a61161010457806398650275116100a2578063c87b56dd11610071578063c87b56dd14610722578063e78cea921461073f578063e985e9c514610747578063f2fde38b14610775576101cf565b80639865027514610600578063a22cb46514610608578063aa271e1a14610636578063b88d4fde1461065c576101cf565b80638dd14802116100de5780638dd14802146105a45780638f32d59b146105ca57806395d89b41146105d2578063983b2d56146105da576101cf565b8063715018a6146105625780637a9adac61461056a5780638da5cb5b1461059c576101cf565b80633f4c4e3d116101715780634f6ccce71161014b5780634f6ccce71461044757806350bb4e7f146104645780636352211e1461051f57806370a082311461053c576101cf565b80633f4c4e3d1461036f57806342842e0e146103f457806342966c681461042a576101cf565b8063095ea7b3116101ad578063095ea7b3146102c557806318160ddd146102f357806323b872dd1461030d5780632f745c5914610343576101cf565b806301ffc9a7146101d457806306fdde031461020f578063081812fc1461028c575b600080fd5b6101fb600480360360208110156101ea57600080fd5b50356001600160e01b03191661079b565b604080519115158252519081900360200190f35b6102176107ba565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610251578181015183820152602001610239565b50505050905090810190601f16801561027e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102a9600480360360208110156102a257600080fd5b5035610851565b604080516001600160a01b039092168252519081900360200190f35b6102f1600480360360408110156102db57600080fd5b506001600160a01b0381351690602001356108b6565b005b6102fb6109cd565b60408051918252519081900360200190f35b6102f16004803603606081101561032357600080fd5b506001600160a01b038135811691602081013590911690604001356109d3565b6102fb6004803603604081101561035957600080fd5b506001600160a01b038135169060200135610a2b565b6102f16004803603606081101561038557600080fd5b8135916001600160a01b03602082013516918101906060810160408201356401000000008111156103b557600080fd5b8201836020820111156103c757600080fd5b803590602001918460018302840111640100000000831117156103e957600080fd5b509092509050610aad565b6102f16004803603606081101561040a57600080fd5b506001600160a01b03813581169160208101359091169060400135610b7a565b6102f16004803603602081101561044057600080fd5b5035610b95565b6102fb6004803603602081101561045d57600080fd5b5035610be9565b6101fb6004803603606081101561047a57600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156104aa57600080fd5b8201836020820111156104bc57600080fd5b803590602001918460018302840111640100000000831117156104de57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610c52945050505050565b6102a96004803603602081101561053557600080fd5b5035610cb9565b6102fb6004803603602081101561055257600080fd5b50356001600160a01b0316610d16565b6102f1610d81565b6102f16004803603606081101561058057600080fd5b506001600160a01b038135169060208101359060400135610e15565b6102a9610ea5565b6102f1600480360360208110156105ba57600080fd5b50356001600160a01b0316610eb4565b6101fb610f86565b610217610f97565b6102f1600480360360208110156105f057600080fd5b50356001600160a01b0316610ff8565b6102f1611048565b6102f16004803603604081101561061e57600080fd5b506001600160a01b0381351690602001351515611053565b6101fb6004803603602081101561064c57600080fd5b50356001600160a01b0316611122565b6102f16004803603608081101561067257600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156106ad57600080fd5b8201836020820111156106bf57600080fd5b803590602001918460018302840111640100000000831117156106e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611135945050505050565b6102176004803603602081101561073857600080fd5b503561118a565b6102a9611272565b6101fb6004803603604081101561075d57600080fd5b506001600160a01b0381358116916020013516611281565b6102f16004803603602081101561078b57600080fd5b50356001600160a01b03166112af565b6001600160e01b03191660009081526020819052604090205460ff1690565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108465780601f1061081b57610100808354040283529160200191610846565b820191906000526020600020905b81548152906001019060200180831161082957829003601f168201915b505050505090505b90565b600061085c82611302565b61089a57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180612196602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006108c182610cb9565b9050806001600160a01b0316836001600160a01b0316141561091757604051600160e51b62461bcd0281526004018080602001828103825260218152602001806122886021913960400191505060405180910390fd5b336001600160a01b038216148061093357506109338133611281565b61097157604051600160e51b62461bcd0281526004018080602001828103825260388152602001806120ba6038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60075490565b6109dd338261131f565b610a1b57604051600160e51b62461bcd0281526004018080602001828103825260318152602001806122a96031913960400191505060405180910390fd5b610a268383836113c6565b505050565b6000610a3683610d16565b8210610a7657604051600160e51b62461bcd02815260040180806020018281038252602b815260200180611fe7602b913960400191505060405180910390fd5b6001600160a01b0383166000908152600560205260409020805483908110610a9a57fe5b9060005260206000200154905092915050565b600e54610ac59033906001600160a01b0316866109d3565b600e54604051600160e41b630cf0da290281523360048201818152602483018890526001600160a01b0387811660448501526080606485019081526084850187905294169363cf0da290938992899289928992919060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015610b5c57600080fd5b505af1158015610b70573d6000803e3d6000fd5b5050505050505050565b610a2683838360405180602001604052806000815250611135565b610b9f338261131f565b610bdd57604051600160e51b62461bcd02815260040180806020018281038252603081526020018061232b6030913960400191505060405180910390fd5b610be6816113e5565b50565b6000610bf36109cd565b8210610c3357604051600160e51b62461bcd02815260040180806020018281038252602c8152602001806122da602c913960400191505060405180910390fd5b60078281548110610c4057fe5b90600052602060002001549050919050565b6000610c5d33611122565b610c9b57604051600160e51b62461bcd0281526004018080602001828103825260308152602001806121456030913960400191505060405180910390fd5b610ca584846113f7565b610caf8383611418565b5060019392505050565b6000818152600160205260408120546001600160a01b031680610d1057604051600160e51b62461bcd02815260040180806020018281038252602981526020018061211c6029913960400191505060405180910390fd5b92915050565b60006001600160a01b038216610d6057604051600160e51b62461bcd02815260040180806020018281038252602a8152602001806120f2602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020610d109061147e565b610d89610f86565b610dcb5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206121ee833981519152604482015290519081900360640190fd5b600d546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600d80546001600160a01b0319169055565b610e1d610f86565b610e5f5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206121ee833981519152604482015290519081900360640190fd5b815b81811015610e9f57610e968482604051806040016040528060078152602001600160c81b667465737455524902815250610c52565b50600101610e61565b50505050565b600d546001600160a01b031690565b610ebc610f86565b610efe5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206121ee833981519152604482015290519081900360640190fd5b610f10816001600160a01b0316611482565b610f645760408051600160e51b62461bcd02815260206004820152601860248201527f627269646765206973206e6f74206120636f6e74726163740000000000000000604482015290519081900360640190fd5b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b600d546001600160a01b0316331490565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108465780601f1061081b57610100808354040283529160200191610846565b61100133611122565b61103f57604051600160e51b62461bcd0281526004018080602001828103825260308152602001806121456030913960400191505060405180910390fd5b610be681611488565b611051336114d0565b565b6001600160a01b0382163314156110b45760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6000610d10600c8363ffffffff61151816565b6111408484846109d3565b61114c84848484611582565b610e9f57604051600160e51b62461bcd0281526004018080602001828103825260328152602001806120126032913960400191505060405180910390fd5b606061119582611302565b6111d357604051600160e51b62461bcd02815260040180806020018281038252602f815260200180612259602f913960400191505060405180910390fd5b6000828152600b602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156112665780601f1061123b57610100808354040283529160200191611266565b820191906000526020600020905b81548152906001019060200180831161124957829003601f168201915b50505050509050919050565b600e546001600160a01b031681565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6112b7610f86565b6112f95760408051600160e51b62461bcd02815260206004820181905260248201526000805160206121ee833981519152604482015290519081900360640190fd5b610be6816116bb565b6000908152600160205260409020546001600160a01b0316151590565b600061132a82611302565b61136857604051600160e51b62461bcd02815260040180806020018281038252602c81526020018061208e602c913960400191505060405180910390fd5b600061137383610cb9565b9050806001600160a01b0316846001600160a01b031614806113ae5750836001600160a01b03166113a384610851565b6001600160a01b0316145b806113be57506113be8185611281565b949350505050565b6113d183838361175f565b6113db83826118a9565b610a26828261199e565b610be66113f182610cb9565b826119dc565b6114018282611a24565b61140b828261199e565b61141481611b5b565b5050565b61142182611302565b61145f57604051600160e51b62461bcd02815260040180806020018281038252602c8152602001806121c2602c913960400191505060405180910390fd5b6000828152600b602090815260409091208251610a2692840190611eea565b5490565b3b151590565b611499600c8263ffffffff611b9f16565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6114e1600c8263ffffffff611c2316565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b03821661156257604051600160e51b62461bcd02815260040180806020018281038252602281526020018061220e6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6000611596846001600160a01b0316611482565b6115a2575060016113be565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b8381101561161f578181015183820152602001611607565b50505050905090810190601f16801561164c5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561166e57600080fd5b505af1158015611682573d6000803e3d6000fd5b505050506040513d602081101561169857600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6001600160a01b03811661170357604051600160e51b62461bcd0281526004018080602001828103825260268152602001806120446026913960400191505060405180910390fd5b600d546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600d80546001600160a01b0319166001600160a01b0392909216919091179055565b826001600160a01b031661177282610cb9565b6001600160a01b0316146117ba57604051600160e51b62461bcd0281526004018080602001828103825260298152602001806122306029913960400191505060405180910390fd5b6001600160a01b03821661180257604051600160e51b62461bcd02815260040180806020018281038252602481526020018061206a6024913960400191505060405180910390fd5b61180b81611c8d565b6001600160a01b038316600090815260036020526040902061182c90611cc8565b6001600160a01b038216600090815260036020526040902061184d90611cdf565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b0382166000908152600560205260408120546118d390600163ffffffff611ce816565b60008381526006602052604090205490915080821461196e576001600160a01b038416600090815260056020526040812080548490811061191057fe5b906000526020600020015490508060056000876001600160a01b03166001600160a01b03168152602001908152602001600020838154811061194e57fe5b600091825260208083209091019290925591825260069052604090208190555b6001600160a01b0384166000908152600560205260409020805490611997906000198301611f68565b5050505050565b6001600160a01b0390911660009081526005602081815260408084208054868652600684529185208290559282526001810183559183529091200155565b6119e68282611d48565b6000818152600b60205260409020546002600019610100600184161502019091160415611414576000818152600b6020526040812061141491611f8c565b6001600160a01b038216611a825760408051600160e51b62461bcd02815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b611a8b81611302565b15611ae05760408051600160e51b62461bcd02815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b600081815260016020908152604080832080546001600160a01b0319166001600160a01b038716908117909155835260039091529020611b1f90611cdf565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600780546000838152600860205260408120829055600182018355919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880155565b611ba98282611518565b15611bfe5760408051600160e51b62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b611c2d8282611518565b611c6b57604051600160e51b62461bcd0281526004018080602001828103825260218152602001806121756021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b6000818152600260205260409020546001600160a01b031615610be657600090815260026020526040902080546001600160a01b0319169055565b8054611cdb90600163ffffffff611ce816565b9055565b80546001019055565b600082821115611d425760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b611d528282611d74565b611d5c82826118a9565b60008181526006602052604081205561141481611e4e565b816001600160a01b0316611d8782610cb9565b6001600160a01b031614611dcf57604051600160e51b62461bcd0281526004018080602001828103825260258152602001806123066025913960400191505060405180910390fd5b611dd881611c8d565b6001600160a01b0382166000908152600360205260409020611df990611cc8565b60008181526001602052604080822080546001600160a01b0319169055518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600754600090611e6590600163ffffffff611ce816565b60008381526008602052604081205460078054939450909284908110611e8757fe5b906000526020600020015490508060078381548110611ea257fe5b60009182526020808320909101929092558281526008909152604090208290556007805490611ed5906000198301611f68565b50505060009182525060086020526040812055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611f2b57805160ff1916838001178555611f58565b82800160010185558215611f58579182015b82811115611f58578251825591602001919060010190611f3d565b50611f64929150611fcc565b5090565b815481835581811115610a2657600083815260209020610a26918101908301611fcc565b50805460018160011615610100020316600290046000825580601f10611fb25750610be6565b601f016020900490600052602060002090810190610be691905b61084e91905b80821115611f645760008155600101611fd256fe455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c654552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572526f6c65733a206163636f756e7420697320746865207a65726f20616464726573734552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e64734552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a72305820c0a409364e62b03c239b1fb84bf994c3cdf1c1af2191cf79ebf33c05434d7f710029` 12405 12406 // ServiceChainNFTFuncSigs maps the 4-byte function signature to its string representation. 12407 var ServiceChainNFTFuncSigs = map[string]string{ 12408 "983b2d56": "addMinter(address)", 12409 "095ea7b3": "approve(address,uint256)", 12410 "70a08231": "balanceOf(address)", 12411 "e78cea92": "bridge()", 12412 "42966c68": "burn(uint256)", 12413 "081812fc": "getApproved(uint256)", 12414 "e985e9c5": "isApprovedForAll(address,address)", 12415 "aa271e1a": "isMinter(address)", 12416 "8f32d59b": "isOwner()", 12417 "50bb4e7f": "mintWithTokenURI(address,uint256,string)", 12418 "06fdde03": "name()", 12419 "8da5cb5b": "owner()", 12420 "6352211e": "ownerOf(uint256)", 12421 "7a9adac6": "registerBulk(address,uint256,uint256)", 12422 "98650275": "renounceMinter()", 12423 "715018a6": "renounceOwnership()", 12424 "3f4c4e3d": "requestValueTransfer(uint256,address,bytes)", 12425 "42842e0e": "safeTransferFrom(address,address,uint256)", 12426 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 12427 "a22cb465": "setApprovalForAll(address,bool)", 12428 "8dd14802": "setBridge(address)", 12429 "01ffc9a7": "supportsInterface(bytes4)", 12430 "95d89b41": "symbol()", 12431 "4f6ccce7": "tokenByIndex(uint256)", 12432 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 12433 "c87b56dd": "tokenURI(uint256)", 12434 "18160ddd": "totalSupply()", 12435 "23b872dd": "transferFrom(address,address,uint256)", 12436 "f2fde38b": "transferOwnership(address)", 12437 } 12438 12439 // ServiceChainNFTBin is the compiled bytecode used for deploying new contracts. 12440 var ServiceChainNFTBin = "0x60806040523480156200001157600080fd5b50604051602080620029a6833981018060405260208110156200003357600080fd5b5051604080518082018252600f81527f53657276696365436861696e4e465400000000000000000000000000000000006020828101919091528251808401909352600383527f53434e00000000000000000000000000000000000000000000000000000000008382015283929082908290620000d5907f01ffc9a70000000000000000000000000000000000000000000000000000000090620001c3811b901c565b620000ed6380ac58cd60e01b620001c360201b60201c565b6200010563780e9d6360e01b620001c360201b60201c565b81516200011a9060099060208501906200054c565b5080516200013090600a9060208401906200054c565b5062000149635b5e139f60e01b620001c360201b60201c565b505050506200015e336200029260201b60201c565b600d80546001600160a01b0319163317908190556040516001600160a01b0391909116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3620001bb81620002e460201b60201c565b5050620005ee565b7fffffffff0000000000000000000000000000000000000000000000000000000080821614156200025557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b620002ad81600c6200040d60201b62001b9f1790919060201c565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b620002f4620004b160201b60201c565b6200036057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6200037f816001600160a01b0316620004c360201b620014821760201c565b620003eb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f627269646765206973206e6f74206120636f6e74726163740000000000000000604482015290519081900360640190fd5b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6200041f8282620004c960201b60201c565b156200048c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b600d546001600160a01b031633145b90565b3b151590565b60006001600160a01b0382166200052c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180620029846022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200058f57805160ff1916838001178555620005bf565b82800160010185558215620005bf579182015b82811115620005bf578251825591602001919060010190620005a2565b50620005cd929150620005d1565b5090565b620004c091905b80821115620005cd5760008155600101620005d8565b61238680620005fe6000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a61161010457806398650275116100a2578063c87b56dd11610071578063c87b56dd14610722578063e78cea921461073f578063e985e9c514610747578063f2fde38b14610775576101cf565b80639865027514610600578063a22cb46514610608578063aa271e1a14610636578063b88d4fde1461065c576101cf565b80638dd14802116100de5780638dd14802146105a45780638f32d59b146105ca57806395d89b41146105d2578063983b2d56146105da576101cf565b8063715018a6146105625780637a9adac61461056a5780638da5cb5b1461059c576101cf565b80633f4c4e3d116101715780634f6ccce71161014b5780634f6ccce71461044757806350bb4e7f146104645780636352211e1461051f57806370a082311461053c576101cf565b80633f4c4e3d1461036f57806342842e0e146103f457806342966c681461042a576101cf565b8063095ea7b3116101ad578063095ea7b3146102c557806318160ddd146102f357806323b872dd1461030d5780632f745c5914610343576101cf565b806301ffc9a7146101d457806306fdde031461020f578063081812fc1461028c575b600080fd5b6101fb600480360360208110156101ea57600080fd5b50356001600160e01b03191661079b565b604080519115158252519081900360200190f35b6102176107ba565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610251578181015183820152602001610239565b50505050905090810190601f16801561027e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102a9600480360360208110156102a257600080fd5b5035610851565b604080516001600160a01b039092168252519081900360200190f35b6102f1600480360360408110156102db57600080fd5b506001600160a01b0381351690602001356108b6565b005b6102fb6109cd565b60408051918252519081900360200190f35b6102f16004803603606081101561032357600080fd5b506001600160a01b038135811691602081013590911690604001356109d3565b6102fb6004803603604081101561035957600080fd5b506001600160a01b038135169060200135610a2b565b6102f16004803603606081101561038557600080fd5b8135916001600160a01b03602082013516918101906060810160408201356401000000008111156103b557600080fd5b8201836020820111156103c757600080fd5b803590602001918460018302840111640100000000831117156103e957600080fd5b509092509050610aad565b6102f16004803603606081101561040a57600080fd5b506001600160a01b03813581169160208101359091169060400135610b7a565b6102f16004803603602081101561044057600080fd5b5035610b95565b6102fb6004803603602081101561045d57600080fd5b5035610be9565b6101fb6004803603606081101561047a57600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156104aa57600080fd5b8201836020820111156104bc57600080fd5b803590602001918460018302840111640100000000831117156104de57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610c52945050505050565b6102a96004803603602081101561053557600080fd5b5035610cb9565b6102fb6004803603602081101561055257600080fd5b50356001600160a01b0316610d16565b6102f1610d81565b6102f16004803603606081101561058057600080fd5b506001600160a01b038135169060208101359060400135610e15565b6102a9610ea5565b6102f1600480360360208110156105ba57600080fd5b50356001600160a01b0316610eb4565b6101fb610f86565b610217610f97565b6102f1600480360360208110156105f057600080fd5b50356001600160a01b0316610ff8565b6102f1611048565b6102f16004803603604081101561061e57600080fd5b506001600160a01b0381351690602001351515611053565b6101fb6004803603602081101561064c57600080fd5b50356001600160a01b0316611122565b6102f16004803603608081101561067257600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156106ad57600080fd5b8201836020820111156106bf57600080fd5b803590602001918460018302840111640100000000831117156106e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611135945050505050565b6102176004803603602081101561073857600080fd5b503561118a565b6102a9611272565b6101fb6004803603604081101561075d57600080fd5b506001600160a01b0381358116916020013516611281565b6102f16004803603602081101561078b57600080fd5b50356001600160a01b03166112af565b6001600160e01b03191660009081526020819052604090205460ff1690565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108465780601f1061081b57610100808354040283529160200191610846565b820191906000526020600020905b81548152906001019060200180831161082957829003601f168201915b505050505090505b90565b600061085c82611302565b61089a57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180612196602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006108c182610cb9565b9050806001600160a01b0316836001600160a01b0316141561091757604051600160e51b62461bcd0281526004018080602001828103825260218152602001806122886021913960400191505060405180910390fd5b336001600160a01b038216148061093357506109338133611281565b61097157604051600160e51b62461bcd0281526004018080602001828103825260388152602001806120ba6038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60075490565b6109dd338261131f565b610a1b57604051600160e51b62461bcd0281526004018080602001828103825260318152602001806122a96031913960400191505060405180910390fd5b610a268383836113c6565b505050565b6000610a3683610d16565b8210610a7657604051600160e51b62461bcd02815260040180806020018281038252602b815260200180611fe7602b913960400191505060405180910390fd5b6001600160a01b0383166000908152600560205260409020805483908110610a9a57fe5b9060005260206000200154905092915050565b600e54610ac59033906001600160a01b0316866109d3565b600e54604051600160e41b630cf0da290281523360048201818152602483018890526001600160a01b0387811660448501526080606485019081526084850187905294169363cf0da290938992899289928992919060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015610b5c57600080fd5b505af1158015610b70573d6000803e3d6000fd5b5050505050505050565b610a2683838360405180602001604052806000815250611135565b610b9f338261131f565b610bdd57604051600160e51b62461bcd02815260040180806020018281038252603081526020018061232b6030913960400191505060405180910390fd5b610be6816113e5565b50565b6000610bf36109cd565b8210610c3357604051600160e51b62461bcd02815260040180806020018281038252602c8152602001806122da602c913960400191505060405180910390fd5b60078281548110610c4057fe5b90600052602060002001549050919050565b6000610c5d33611122565b610c9b57604051600160e51b62461bcd0281526004018080602001828103825260308152602001806121456030913960400191505060405180910390fd5b610ca584846113f7565b610caf8383611418565b5060019392505050565b6000818152600160205260408120546001600160a01b031680610d1057604051600160e51b62461bcd02815260040180806020018281038252602981526020018061211c6029913960400191505060405180910390fd5b92915050565b60006001600160a01b038216610d6057604051600160e51b62461bcd02815260040180806020018281038252602a8152602001806120f2602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020610d109061147e565b610d89610f86565b610dcb5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206121ee833981519152604482015290519081900360640190fd5b600d546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600d80546001600160a01b0319169055565b610e1d610f86565b610e5f5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206121ee833981519152604482015290519081900360640190fd5b815b81811015610e9f57610e968482604051806040016040528060078152602001600160c81b667465737455524902815250610c52565b50600101610e61565b50505050565b600d546001600160a01b031690565b610ebc610f86565b610efe5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206121ee833981519152604482015290519081900360640190fd5b610f10816001600160a01b0316611482565b610f645760408051600160e51b62461bcd02815260206004820152601860248201527f627269646765206973206e6f74206120636f6e74726163740000000000000000604482015290519081900360640190fd5b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b600d546001600160a01b0316331490565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108465780601f1061081b57610100808354040283529160200191610846565b61100133611122565b61103f57604051600160e51b62461bcd0281526004018080602001828103825260308152602001806121456030913960400191505060405180910390fd5b610be681611488565b611051336114d0565b565b6001600160a01b0382163314156110b45760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6000610d10600c8363ffffffff61151816565b6111408484846109d3565b61114c84848484611582565b610e9f57604051600160e51b62461bcd0281526004018080602001828103825260328152602001806120126032913960400191505060405180910390fd5b606061119582611302565b6111d357604051600160e51b62461bcd02815260040180806020018281038252602f815260200180612259602f913960400191505060405180910390fd5b6000828152600b602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156112665780601f1061123b57610100808354040283529160200191611266565b820191906000526020600020905b81548152906001019060200180831161124957829003601f168201915b50505050509050919050565b600e546001600160a01b031681565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6112b7610f86565b6112f95760408051600160e51b62461bcd02815260206004820181905260248201526000805160206121ee833981519152604482015290519081900360640190fd5b610be6816116bb565b6000908152600160205260409020546001600160a01b0316151590565b600061132a82611302565b61136857604051600160e51b62461bcd02815260040180806020018281038252602c81526020018061208e602c913960400191505060405180910390fd5b600061137383610cb9565b9050806001600160a01b0316846001600160a01b031614806113ae5750836001600160a01b03166113a384610851565b6001600160a01b0316145b806113be57506113be8185611281565b949350505050565b6113d183838361175f565b6113db83826118a9565b610a26828261199e565b610be66113f182610cb9565b826119dc565b6114018282611a24565b61140b828261199e565b61141481611b5b565b5050565b61142182611302565b61145f57604051600160e51b62461bcd02815260040180806020018281038252602c8152602001806121c2602c913960400191505060405180910390fd5b6000828152600b602090815260409091208251610a2692840190611eea565b5490565b3b151590565b611499600c8263ffffffff611b9f16565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6114e1600c8263ffffffff611c2316565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b03821661156257604051600160e51b62461bcd02815260040180806020018281038252602281526020018061220e6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6000611596846001600160a01b0316611482565b6115a2575060016113be565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b8381101561161f578181015183820152602001611607565b50505050905090810190601f16801561164c5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561166e57600080fd5b505af1158015611682573d6000803e3d6000fd5b505050506040513d602081101561169857600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6001600160a01b03811661170357604051600160e51b62461bcd0281526004018080602001828103825260268152602001806120446026913960400191505060405180910390fd5b600d546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600d80546001600160a01b0319166001600160a01b0392909216919091179055565b826001600160a01b031661177282610cb9565b6001600160a01b0316146117ba57604051600160e51b62461bcd0281526004018080602001828103825260298152602001806122306029913960400191505060405180910390fd5b6001600160a01b03821661180257604051600160e51b62461bcd02815260040180806020018281038252602481526020018061206a6024913960400191505060405180910390fd5b61180b81611c8d565b6001600160a01b038316600090815260036020526040902061182c90611cc8565b6001600160a01b038216600090815260036020526040902061184d90611cdf565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b0382166000908152600560205260408120546118d390600163ffffffff611ce816565b60008381526006602052604090205490915080821461196e576001600160a01b038416600090815260056020526040812080548490811061191057fe5b906000526020600020015490508060056000876001600160a01b03166001600160a01b03168152602001908152602001600020838154811061194e57fe5b600091825260208083209091019290925591825260069052604090208190555b6001600160a01b0384166000908152600560205260409020805490611997906000198301611f68565b5050505050565b6001600160a01b0390911660009081526005602081815260408084208054868652600684529185208290559282526001810183559183529091200155565b6119e68282611d48565b6000818152600b60205260409020546002600019610100600184161502019091160415611414576000818152600b6020526040812061141491611f8c565b6001600160a01b038216611a825760408051600160e51b62461bcd02815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b611a8b81611302565b15611ae05760408051600160e51b62461bcd02815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b600081815260016020908152604080832080546001600160a01b0319166001600160a01b038716908117909155835260039091529020611b1f90611cdf565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600780546000838152600860205260408120829055600182018355919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880155565b611ba98282611518565b15611bfe5760408051600160e51b62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b611c2d8282611518565b611c6b57604051600160e51b62461bcd0281526004018080602001828103825260218152602001806121756021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b6000818152600260205260409020546001600160a01b031615610be657600090815260026020526040902080546001600160a01b0319169055565b8054611cdb90600163ffffffff611ce816565b9055565b80546001019055565b600082821115611d425760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b611d528282611d74565b611d5c82826118a9565b60008181526006602052604081205561141481611e4e565b816001600160a01b0316611d8782610cb9565b6001600160a01b031614611dcf57604051600160e51b62461bcd0281526004018080602001828103825260258152602001806123066025913960400191505060405180910390fd5b611dd881611c8d565b6001600160a01b0382166000908152600360205260409020611df990611cc8565b60008181526001602052604080822080546001600160a01b0319169055518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600754600090611e6590600163ffffffff611ce816565b60008381526008602052604081205460078054939450909284908110611e8757fe5b906000526020600020015490508060078381548110611ea257fe5b60009182526020808320909101929092558281526008909152604090208290556007805490611ed5906000198301611f68565b50505060009182525060086020526040812055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611f2b57805160ff1916838001178555611f58565b82800160010185558215611f58579182015b82811115611f58578251825591602001919060010190611f3d565b50611f64929150611fcc565b5090565b815481835581811115610a2657600083815260209020610a26918101908301611fcc565b50805460018160011615610100020316600290046000825580601f10611fb25750610be6565b601f016020900490600052602060002090810190610be691905b61084e91905b80821115611f645760008155600101611fd256fe455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c654552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572526f6c65733a206163636f756e7420697320746865207a65726f20616464726573734552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e64734552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a72305820c0a409364e62b03c239b1fb84bf994c3cdf1c1af2191cf79ebf33c05434d7f710029526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373" 12441 12442 // DeployServiceChainNFT deploys a new Klaytn contract, binding an instance of ServiceChainNFT to it. 12443 func DeployServiceChainNFT(auth *bind.TransactOpts, backend bind.ContractBackend, _bridge common.Address) (common.Address, *types.Transaction, *ServiceChainNFT, error) { 12444 parsed, err := abi.JSON(strings.NewReader(ServiceChainNFTABI)) 12445 if err != nil { 12446 return common.Address{}, nil, nil, err 12447 } 12448 12449 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ServiceChainNFTBin), backend, _bridge) 12450 if err != nil { 12451 return common.Address{}, nil, nil, err 12452 } 12453 return address, tx, &ServiceChainNFT{ServiceChainNFTCaller: ServiceChainNFTCaller{contract: contract}, ServiceChainNFTTransactor: ServiceChainNFTTransactor{contract: contract}, ServiceChainNFTFilterer: ServiceChainNFTFilterer{contract: contract}}, nil 12454 } 12455 12456 // ServiceChainNFT is an auto generated Go binding around a Klaytn contract. 12457 type ServiceChainNFT struct { 12458 ServiceChainNFTCaller // Read-only binding to the contract 12459 ServiceChainNFTTransactor // Write-only binding to the contract 12460 ServiceChainNFTFilterer // Log filterer for contract events 12461 } 12462 12463 // ServiceChainNFTCaller is an auto generated read-only Go binding around a Klaytn contract. 12464 type ServiceChainNFTCaller struct { 12465 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12466 } 12467 12468 // ServiceChainNFTTransactor is an auto generated write-only Go binding around a Klaytn contract. 12469 type ServiceChainNFTTransactor struct { 12470 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12471 } 12472 12473 // ServiceChainNFTFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 12474 type ServiceChainNFTFilterer struct { 12475 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12476 } 12477 12478 // ServiceChainNFTSession is an auto generated Go binding around a Klaytn contract, 12479 // with pre-set call and transact options. 12480 type ServiceChainNFTSession struct { 12481 Contract *ServiceChainNFT // Generic contract binding to set the session for 12482 CallOpts bind.CallOpts // Call options to use throughout this session 12483 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 12484 } 12485 12486 // ServiceChainNFTCallerSession is an auto generated read-only Go binding around a Klaytn contract, 12487 // with pre-set call options. 12488 type ServiceChainNFTCallerSession struct { 12489 Contract *ServiceChainNFTCaller // Generic contract caller binding to set the session for 12490 CallOpts bind.CallOpts // Call options to use throughout this session 12491 } 12492 12493 // ServiceChainNFTTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 12494 // with pre-set transact options. 12495 type ServiceChainNFTTransactorSession struct { 12496 Contract *ServiceChainNFTTransactor // Generic contract transactor binding to set the session for 12497 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 12498 } 12499 12500 // ServiceChainNFTRaw is an auto generated low-level Go binding around a Klaytn contract. 12501 type ServiceChainNFTRaw struct { 12502 Contract *ServiceChainNFT // Generic contract binding to access the raw methods on 12503 } 12504 12505 // ServiceChainNFTCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 12506 type ServiceChainNFTCallerRaw struct { 12507 Contract *ServiceChainNFTCaller // Generic read-only contract binding to access the raw methods on 12508 } 12509 12510 // ServiceChainNFTTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 12511 type ServiceChainNFTTransactorRaw struct { 12512 Contract *ServiceChainNFTTransactor // Generic write-only contract binding to access the raw methods on 12513 } 12514 12515 // NewServiceChainNFT creates a new instance of ServiceChainNFT, bound to a specific deployed contract. 12516 func NewServiceChainNFT(address common.Address, backend bind.ContractBackend) (*ServiceChainNFT, error) { 12517 contract, err := bindServiceChainNFT(address, backend, backend, backend) 12518 if err != nil { 12519 return nil, err 12520 } 12521 return &ServiceChainNFT{ServiceChainNFTCaller: ServiceChainNFTCaller{contract: contract}, ServiceChainNFTTransactor: ServiceChainNFTTransactor{contract: contract}, ServiceChainNFTFilterer: ServiceChainNFTFilterer{contract: contract}}, nil 12522 } 12523 12524 // NewServiceChainNFTCaller creates a new read-only instance of ServiceChainNFT, bound to a specific deployed contract. 12525 func NewServiceChainNFTCaller(address common.Address, caller bind.ContractCaller) (*ServiceChainNFTCaller, error) { 12526 contract, err := bindServiceChainNFT(address, caller, nil, nil) 12527 if err != nil { 12528 return nil, err 12529 } 12530 return &ServiceChainNFTCaller{contract: contract}, nil 12531 } 12532 12533 // NewServiceChainNFTTransactor creates a new write-only instance of ServiceChainNFT, bound to a specific deployed contract. 12534 func NewServiceChainNFTTransactor(address common.Address, transactor bind.ContractTransactor) (*ServiceChainNFTTransactor, error) { 12535 contract, err := bindServiceChainNFT(address, nil, transactor, nil) 12536 if err != nil { 12537 return nil, err 12538 } 12539 return &ServiceChainNFTTransactor{contract: contract}, nil 12540 } 12541 12542 // NewServiceChainNFTFilterer creates a new log filterer instance of ServiceChainNFT, bound to a specific deployed contract. 12543 func NewServiceChainNFTFilterer(address common.Address, filterer bind.ContractFilterer) (*ServiceChainNFTFilterer, error) { 12544 contract, err := bindServiceChainNFT(address, nil, nil, filterer) 12545 if err != nil { 12546 return nil, err 12547 } 12548 return &ServiceChainNFTFilterer{contract: contract}, nil 12549 } 12550 12551 // bindServiceChainNFT binds a generic wrapper to an already deployed contract. 12552 func bindServiceChainNFT(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 12553 parsed, err := abi.JSON(strings.NewReader(ServiceChainNFTABI)) 12554 if err != nil { 12555 return nil, err 12556 } 12557 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 12558 } 12559 12560 // Call invokes the (constant) contract method with params as input values and 12561 // sets the output to result. The result type might be a single field for simple 12562 // returns, a slice of interfaces for anonymous returns and a struct for named 12563 // returns. 12564 func (_ServiceChainNFT *ServiceChainNFTRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 12565 return _ServiceChainNFT.Contract.ServiceChainNFTCaller.contract.Call(opts, result, method, params...) 12566 } 12567 12568 // Transfer initiates a plain transaction to move funds to the contract, calling 12569 // its default method if one is available. 12570 func (_ServiceChainNFT *ServiceChainNFTRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 12571 return _ServiceChainNFT.Contract.ServiceChainNFTTransactor.contract.Transfer(opts) 12572 } 12573 12574 // Transact invokes the (paid) contract method with params as input values. 12575 func (_ServiceChainNFT *ServiceChainNFTRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 12576 return _ServiceChainNFT.Contract.ServiceChainNFTTransactor.contract.Transact(opts, method, params...) 12577 } 12578 12579 // Call invokes the (constant) contract method with params as input values and 12580 // sets the output to result. The result type might be a single field for simple 12581 // returns, a slice of interfaces for anonymous returns and a struct for named 12582 // returns. 12583 func (_ServiceChainNFT *ServiceChainNFTCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 12584 return _ServiceChainNFT.Contract.contract.Call(opts, result, method, params...) 12585 } 12586 12587 // Transfer initiates a plain transaction to move funds to the contract, calling 12588 // its default method if one is available. 12589 func (_ServiceChainNFT *ServiceChainNFTTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 12590 return _ServiceChainNFT.Contract.contract.Transfer(opts) 12591 } 12592 12593 // Transact invokes the (paid) contract method with params as input values. 12594 func (_ServiceChainNFT *ServiceChainNFTTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 12595 return _ServiceChainNFT.Contract.contract.Transact(opts, method, params...) 12596 } 12597 12598 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 12599 // 12600 // Solidity: function balanceOf(address owner) view returns(uint256) 12601 func (_ServiceChainNFT *ServiceChainNFTCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 12602 var ( 12603 ret0 = new(*big.Int) 12604 ) 12605 out := ret0 12606 err := _ServiceChainNFT.contract.Call(opts, out, "balanceOf", owner) 12607 return *ret0, err 12608 } 12609 12610 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 12611 // 12612 // Solidity: function balanceOf(address owner) view returns(uint256) 12613 func (_ServiceChainNFT *ServiceChainNFTSession) BalanceOf(owner common.Address) (*big.Int, error) { 12614 return _ServiceChainNFT.Contract.BalanceOf(&_ServiceChainNFT.CallOpts, owner) 12615 } 12616 12617 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 12618 // 12619 // Solidity: function balanceOf(address owner) view returns(uint256) 12620 func (_ServiceChainNFT *ServiceChainNFTCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 12621 return _ServiceChainNFT.Contract.BalanceOf(&_ServiceChainNFT.CallOpts, owner) 12622 } 12623 12624 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 12625 // 12626 // Solidity: function bridge() view returns(address) 12627 func (_ServiceChainNFT *ServiceChainNFTCaller) Bridge(opts *bind.CallOpts) (common.Address, error) { 12628 var ( 12629 ret0 = new(common.Address) 12630 ) 12631 out := ret0 12632 err := _ServiceChainNFT.contract.Call(opts, out, "bridge") 12633 return *ret0, err 12634 } 12635 12636 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 12637 // 12638 // Solidity: function bridge() view returns(address) 12639 func (_ServiceChainNFT *ServiceChainNFTSession) Bridge() (common.Address, error) { 12640 return _ServiceChainNFT.Contract.Bridge(&_ServiceChainNFT.CallOpts) 12641 } 12642 12643 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 12644 // 12645 // Solidity: function bridge() view returns(address) 12646 func (_ServiceChainNFT *ServiceChainNFTCallerSession) Bridge() (common.Address, error) { 12647 return _ServiceChainNFT.Contract.Bridge(&_ServiceChainNFT.CallOpts) 12648 } 12649 12650 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 12651 // 12652 // Solidity: function getApproved(uint256 tokenId) view returns(address) 12653 func (_ServiceChainNFT *ServiceChainNFTCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 12654 var ( 12655 ret0 = new(common.Address) 12656 ) 12657 out := ret0 12658 err := _ServiceChainNFT.contract.Call(opts, out, "getApproved", tokenId) 12659 return *ret0, err 12660 } 12661 12662 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 12663 // 12664 // Solidity: function getApproved(uint256 tokenId) view returns(address) 12665 func (_ServiceChainNFT *ServiceChainNFTSession) GetApproved(tokenId *big.Int) (common.Address, error) { 12666 return _ServiceChainNFT.Contract.GetApproved(&_ServiceChainNFT.CallOpts, tokenId) 12667 } 12668 12669 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 12670 // 12671 // Solidity: function getApproved(uint256 tokenId) view returns(address) 12672 func (_ServiceChainNFT *ServiceChainNFTCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 12673 return _ServiceChainNFT.Contract.GetApproved(&_ServiceChainNFT.CallOpts, tokenId) 12674 } 12675 12676 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 12677 // 12678 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 12679 func (_ServiceChainNFT *ServiceChainNFTCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 12680 var ( 12681 ret0 = new(bool) 12682 ) 12683 out := ret0 12684 err := _ServiceChainNFT.contract.Call(opts, out, "isApprovedForAll", owner, operator) 12685 return *ret0, err 12686 } 12687 12688 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 12689 // 12690 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 12691 func (_ServiceChainNFT *ServiceChainNFTSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 12692 return _ServiceChainNFT.Contract.IsApprovedForAll(&_ServiceChainNFT.CallOpts, owner, operator) 12693 } 12694 12695 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 12696 // 12697 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 12698 func (_ServiceChainNFT *ServiceChainNFTCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 12699 return _ServiceChainNFT.Contract.IsApprovedForAll(&_ServiceChainNFT.CallOpts, owner, operator) 12700 } 12701 12702 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 12703 // 12704 // Solidity: function isMinter(address account) view returns(bool) 12705 func (_ServiceChainNFT *ServiceChainNFTCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { 12706 var ( 12707 ret0 = new(bool) 12708 ) 12709 out := ret0 12710 err := _ServiceChainNFT.contract.Call(opts, out, "isMinter", account) 12711 return *ret0, err 12712 } 12713 12714 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 12715 // 12716 // Solidity: function isMinter(address account) view returns(bool) 12717 func (_ServiceChainNFT *ServiceChainNFTSession) IsMinter(account common.Address) (bool, error) { 12718 return _ServiceChainNFT.Contract.IsMinter(&_ServiceChainNFT.CallOpts, account) 12719 } 12720 12721 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 12722 // 12723 // Solidity: function isMinter(address account) view returns(bool) 12724 func (_ServiceChainNFT *ServiceChainNFTCallerSession) IsMinter(account common.Address) (bool, error) { 12725 return _ServiceChainNFT.Contract.IsMinter(&_ServiceChainNFT.CallOpts, account) 12726 } 12727 12728 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 12729 // 12730 // Solidity: function isOwner() view returns(bool) 12731 func (_ServiceChainNFT *ServiceChainNFTCaller) IsOwner(opts *bind.CallOpts) (bool, error) { 12732 var ( 12733 ret0 = new(bool) 12734 ) 12735 out := ret0 12736 err := _ServiceChainNFT.contract.Call(opts, out, "isOwner") 12737 return *ret0, err 12738 } 12739 12740 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 12741 // 12742 // Solidity: function isOwner() view returns(bool) 12743 func (_ServiceChainNFT *ServiceChainNFTSession) IsOwner() (bool, error) { 12744 return _ServiceChainNFT.Contract.IsOwner(&_ServiceChainNFT.CallOpts) 12745 } 12746 12747 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 12748 // 12749 // Solidity: function isOwner() view returns(bool) 12750 func (_ServiceChainNFT *ServiceChainNFTCallerSession) IsOwner() (bool, error) { 12751 return _ServiceChainNFT.Contract.IsOwner(&_ServiceChainNFT.CallOpts) 12752 } 12753 12754 // Name is a free data retrieval call binding the contract method 0x06fdde03. 12755 // 12756 // Solidity: function name() view returns(string) 12757 func (_ServiceChainNFT *ServiceChainNFTCaller) Name(opts *bind.CallOpts) (string, error) { 12758 var ( 12759 ret0 = new(string) 12760 ) 12761 out := ret0 12762 err := _ServiceChainNFT.contract.Call(opts, out, "name") 12763 return *ret0, err 12764 } 12765 12766 // Name is a free data retrieval call binding the contract method 0x06fdde03. 12767 // 12768 // Solidity: function name() view returns(string) 12769 func (_ServiceChainNFT *ServiceChainNFTSession) Name() (string, error) { 12770 return _ServiceChainNFT.Contract.Name(&_ServiceChainNFT.CallOpts) 12771 } 12772 12773 // Name is a free data retrieval call binding the contract method 0x06fdde03. 12774 // 12775 // Solidity: function name() view returns(string) 12776 func (_ServiceChainNFT *ServiceChainNFTCallerSession) Name() (string, error) { 12777 return _ServiceChainNFT.Contract.Name(&_ServiceChainNFT.CallOpts) 12778 } 12779 12780 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 12781 // 12782 // Solidity: function owner() view returns(address) 12783 func (_ServiceChainNFT *ServiceChainNFTCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 12784 var ( 12785 ret0 = new(common.Address) 12786 ) 12787 out := ret0 12788 err := _ServiceChainNFT.contract.Call(opts, out, "owner") 12789 return *ret0, err 12790 } 12791 12792 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 12793 // 12794 // Solidity: function owner() view returns(address) 12795 func (_ServiceChainNFT *ServiceChainNFTSession) Owner() (common.Address, error) { 12796 return _ServiceChainNFT.Contract.Owner(&_ServiceChainNFT.CallOpts) 12797 } 12798 12799 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 12800 // 12801 // Solidity: function owner() view returns(address) 12802 func (_ServiceChainNFT *ServiceChainNFTCallerSession) Owner() (common.Address, error) { 12803 return _ServiceChainNFT.Contract.Owner(&_ServiceChainNFT.CallOpts) 12804 } 12805 12806 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 12807 // 12808 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 12809 func (_ServiceChainNFT *ServiceChainNFTCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 12810 var ( 12811 ret0 = new(common.Address) 12812 ) 12813 out := ret0 12814 err := _ServiceChainNFT.contract.Call(opts, out, "ownerOf", tokenId) 12815 return *ret0, err 12816 } 12817 12818 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 12819 // 12820 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 12821 func (_ServiceChainNFT *ServiceChainNFTSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 12822 return _ServiceChainNFT.Contract.OwnerOf(&_ServiceChainNFT.CallOpts, tokenId) 12823 } 12824 12825 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 12826 // 12827 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 12828 func (_ServiceChainNFT *ServiceChainNFTCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 12829 return _ServiceChainNFT.Contract.OwnerOf(&_ServiceChainNFT.CallOpts, tokenId) 12830 } 12831 12832 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 12833 // 12834 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 12835 func (_ServiceChainNFT *ServiceChainNFTCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 12836 var ( 12837 ret0 = new(bool) 12838 ) 12839 out := ret0 12840 err := _ServiceChainNFT.contract.Call(opts, out, "supportsInterface", interfaceId) 12841 return *ret0, err 12842 } 12843 12844 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 12845 // 12846 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 12847 func (_ServiceChainNFT *ServiceChainNFTSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 12848 return _ServiceChainNFT.Contract.SupportsInterface(&_ServiceChainNFT.CallOpts, interfaceId) 12849 } 12850 12851 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 12852 // 12853 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 12854 func (_ServiceChainNFT *ServiceChainNFTCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 12855 return _ServiceChainNFT.Contract.SupportsInterface(&_ServiceChainNFT.CallOpts, interfaceId) 12856 } 12857 12858 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 12859 // 12860 // Solidity: function symbol() view returns(string) 12861 func (_ServiceChainNFT *ServiceChainNFTCaller) Symbol(opts *bind.CallOpts) (string, error) { 12862 var ( 12863 ret0 = new(string) 12864 ) 12865 out := ret0 12866 err := _ServiceChainNFT.contract.Call(opts, out, "symbol") 12867 return *ret0, err 12868 } 12869 12870 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 12871 // 12872 // Solidity: function symbol() view returns(string) 12873 func (_ServiceChainNFT *ServiceChainNFTSession) Symbol() (string, error) { 12874 return _ServiceChainNFT.Contract.Symbol(&_ServiceChainNFT.CallOpts) 12875 } 12876 12877 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 12878 // 12879 // Solidity: function symbol() view returns(string) 12880 func (_ServiceChainNFT *ServiceChainNFTCallerSession) Symbol() (string, error) { 12881 return _ServiceChainNFT.Contract.Symbol(&_ServiceChainNFT.CallOpts) 12882 } 12883 12884 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 12885 // 12886 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 12887 func (_ServiceChainNFT *ServiceChainNFTCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 12888 var ( 12889 ret0 = new(*big.Int) 12890 ) 12891 out := ret0 12892 err := _ServiceChainNFT.contract.Call(opts, out, "tokenByIndex", index) 12893 return *ret0, err 12894 } 12895 12896 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 12897 // 12898 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 12899 func (_ServiceChainNFT *ServiceChainNFTSession) TokenByIndex(index *big.Int) (*big.Int, error) { 12900 return _ServiceChainNFT.Contract.TokenByIndex(&_ServiceChainNFT.CallOpts, index) 12901 } 12902 12903 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 12904 // 12905 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 12906 func (_ServiceChainNFT *ServiceChainNFTCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 12907 return _ServiceChainNFT.Contract.TokenByIndex(&_ServiceChainNFT.CallOpts, index) 12908 } 12909 12910 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 12911 // 12912 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 12913 func (_ServiceChainNFT *ServiceChainNFTCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 12914 var ( 12915 ret0 = new(*big.Int) 12916 ) 12917 out := ret0 12918 err := _ServiceChainNFT.contract.Call(opts, out, "tokenOfOwnerByIndex", owner, index) 12919 return *ret0, err 12920 } 12921 12922 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 12923 // 12924 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 12925 func (_ServiceChainNFT *ServiceChainNFTSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 12926 return _ServiceChainNFT.Contract.TokenOfOwnerByIndex(&_ServiceChainNFT.CallOpts, owner, index) 12927 } 12928 12929 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 12930 // 12931 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 12932 func (_ServiceChainNFT *ServiceChainNFTCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 12933 return _ServiceChainNFT.Contract.TokenOfOwnerByIndex(&_ServiceChainNFT.CallOpts, owner, index) 12934 } 12935 12936 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 12937 // 12938 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 12939 func (_ServiceChainNFT *ServiceChainNFTCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 12940 var ( 12941 ret0 = new(string) 12942 ) 12943 out := ret0 12944 err := _ServiceChainNFT.contract.Call(opts, out, "tokenURI", tokenId) 12945 return *ret0, err 12946 } 12947 12948 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 12949 // 12950 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 12951 func (_ServiceChainNFT *ServiceChainNFTSession) TokenURI(tokenId *big.Int) (string, error) { 12952 return _ServiceChainNFT.Contract.TokenURI(&_ServiceChainNFT.CallOpts, tokenId) 12953 } 12954 12955 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 12956 // 12957 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 12958 func (_ServiceChainNFT *ServiceChainNFTCallerSession) TokenURI(tokenId *big.Int) (string, error) { 12959 return _ServiceChainNFT.Contract.TokenURI(&_ServiceChainNFT.CallOpts, tokenId) 12960 } 12961 12962 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 12963 // 12964 // Solidity: function totalSupply() view returns(uint256) 12965 func (_ServiceChainNFT *ServiceChainNFTCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 12966 var ( 12967 ret0 = new(*big.Int) 12968 ) 12969 out := ret0 12970 err := _ServiceChainNFT.contract.Call(opts, out, "totalSupply") 12971 return *ret0, err 12972 } 12973 12974 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 12975 // 12976 // Solidity: function totalSupply() view returns(uint256) 12977 func (_ServiceChainNFT *ServiceChainNFTSession) TotalSupply() (*big.Int, error) { 12978 return _ServiceChainNFT.Contract.TotalSupply(&_ServiceChainNFT.CallOpts) 12979 } 12980 12981 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 12982 // 12983 // Solidity: function totalSupply() view returns(uint256) 12984 func (_ServiceChainNFT *ServiceChainNFTCallerSession) TotalSupply() (*big.Int, error) { 12985 return _ServiceChainNFT.Contract.TotalSupply(&_ServiceChainNFT.CallOpts) 12986 } 12987 12988 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 12989 // 12990 // Solidity: function addMinter(address account) returns() 12991 func (_ServiceChainNFT *ServiceChainNFTTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 12992 return _ServiceChainNFT.contract.Transact(opts, "addMinter", account) 12993 } 12994 12995 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 12996 // 12997 // Solidity: function addMinter(address account) returns() 12998 func (_ServiceChainNFT *ServiceChainNFTSession) AddMinter(account common.Address) (*types.Transaction, error) { 12999 return _ServiceChainNFT.Contract.AddMinter(&_ServiceChainNFT.TransactOpts, account) 13000 } 13001 13002 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 13003 // 13004 // Solidity: function addMinter(address account) returns() 13005 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 13006 return _ServiceChainNFT.Contract.AddMinter(&_ServiceChainNFT.TransactOpts, account) 13007 } 13008 13009 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 13010 // 13011 // Solidity: function approve(address to, uint256 tokenId) returns() 13012 func (_ServiceChainNFT *ServiceChainNFTTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13013 return _ServiceChainNFT.contract.Transact(opts, "approve", to, tokenId) 13014 } 13015 13016 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 13017 // 13018 // Solidity: function approve(address to, uint256 tokenId) returns() 13019 func (_ServiceChainNFT *ServiceChainNFTSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13020 return _ServiceChainNFT.Contract.Approve(&_ServiceChainNFT.TransactOpts, to, tokenId) 13021 } 13022 13023 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 13024 // 13025 // Solidity: function approve(address to, uint256 tokenId) returns() 13026 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13027 return _ServiceChainNFT.Contract.Approve(&_ServiceChainNFT.TransactOpts, to, tokenId) 13028 } 13029 13030 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 13031 // 13032 // Solidity: function burn(uint256 tokenId) returns() 13033 func (_ServiceChainNFT *ServiceChainNFTTransactor) Burn(opts *bind.TransactOpts, tokenId *big.Int) (*types.Transaction, error) { 13034 return _ServiceChainNFT.contract.Transact(opts, "burn", tokenId) 13035 } 13036 13037 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 13038 // 13039 // Solidity: function burn(uint256 tokenId) returns() 13040 func (_ServiceChainNFT *ServiceChainNFTSession) Burn(tokenId *big.Int) (*types.Transaction, error) { 13041 return _ServiceChainNFT.Contract.Burn(&_ServiceChainNFT.TransactOpts, tokenId) 13042 } 13043 13044 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 13045 // 13046 // Solidity: function burn(uint256 tokenId) returns() 13047 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) Burn(tokenId *big.Int) (*types.Transaction, error) { 13048 return _ServiceChainNFT.Contract.Burn(&_ServiceChainNFT.TransactOpts, tokenId) 13049 } 13050 13051 // MintWithTokenURI is a paid mutator transaction binding the contract method 0x50bb4e7f. 13052 // 13053 // Solidity: function mintWithTokenURI(address to, uint256 tokenId, string tokenURI) returns(bool) 13054 func (_ServiceChainNFT *ServiceChainNFTTransactor) MintWithTokenURI(opts *bind.TransactOpts, to common.Address, tokenId *big.Int, tokenURI string) (*types.Transaction, error) { 13055 return _ServiceChainNFT.contract.Transact(opts, "mintWithTokenURI", to, tokenId, tokenURI) 13056 } 13057 13058 // MintWithTokenURI is a paid mutator transaction binding the contract method 0x50bb4e7f. 13059 // 13060 // Solidity: function mintWithTokenURI(address to, uint256 tokenId, string tokenURI) returns(bool) 13061 func (_ServiceChainNFT *ServiceChainNFTSession) MintWithTokenURI(to common.Address, tokenId *big.Int, tokenURI string) (*types.Transaction, error) { 13062 return _ServiceChainNFT.Contract.MintWithTokenURI(&_ServiceChainNFT.TransactOpts, to, tokenId, tokenURI) 13063 } 13064 13065 // MintWithTokenURI is a paid mutator transaction binding the contract method 0x50bb4e7f. 13066 // 13067 // Solidity: function mintWithTokenURI(address to, uint256 tokenId, string tokenURI) returns(bool) 13068 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) MintWithTokenURI(to common.Address, tokenId *big.Int, tokenURI string) (*types.Transaction, error) { 13069 return _ServiceChainNFT.Contract.MintWithTokenURI(&_ServiceChainNFT.TransactOpts, to, tokenId, tokenURI) 13070 } 13071 13072 // RegisterBulk is a paid mutator transaction binding the contract method 0x7a9adac6. 13073 // 13074 // Solidity: function registerBulk(address _user, uint256 _startID, uint256 _endID) returns() 13075 func (_ServiceChainNFT *ServiceChainNFTTransactor) RegisterBulk(opts *bind.TransactOpts, _user common.Address, _startID *big.Int, _endID *big.Int) (*types.Transaction, error) { 13076 return _ServiceChainNFT.contract.Transact(opts, "registerBulk", _user, _startID, _endID) 13077 } 13078 13079 // RegisterBulk is a paid mutator transaction binding the contract method 0x7a9adac6. 13080 // 13081 // Solidity: function registerBulk(address _user, uint256 _startID, uint256 _endID) returns() 13082 func (_ServiceChainNFT *ServiceChainNFTSession) RegisterBulk(_user common.Address, _startID *big.Int, _endID *big.Int) (*types.Transaction, error) { 13083 return _ServiceChainNFT.Contract.RegisterBulk(&_ServiceChainNFT.TransactOpts, _user, _startID, _endID) 13084 } 13085 13086 // RegisterBulk is a paid mutator transaction binding the contract method 0x7a9adac6. 13087 // 13088 // Solidity: function registerBulk(address _user, uint256 _startID, uint256 _endID) returns() 13089 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) RegisterBulk(_user common.Address, _startID *big.Int, _endID *big.Int) (*types.Transaction, error) { 13090 return _ServiceChainNFT.Contract.RegisterBulk(&_ServiceChainNFT.TransactOpts, _user, _startID, _endID) 13091 } 13092 13093 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 13094 // 13095 // Solidity: function renounceMinter() returns() 13096 func (_ServiceChainNFT *ServiceChainNFTTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { 13097 return _ServiceChainNFT.contract.Transact(opts, "renounceMinter") 13098 } 13099 13100 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 13101 // 13102 // Solidity: function renounceMinter() returns() 13103 func (_ServiceChainNFT *ServiceChainNFTSession) RenounceMinter() (*types.Transaction, error) { 13104 return _ServiceChainNFT.Contract.RenounceMinter(&_ServiceChainNFT.TransactOpts) 13105 } 13106 13107 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 13108 // 13109 // Solidity: function renounceMinter() returns() 13110 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) RenounceMinter() (*types.Transaction, error) { 13111 return _ServiceChainNFT.Contract.RenounceMinter(&_ServiceChainNFT.TransactOpts) 13112 } 13113 13114 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 13115 // 13116 // Solidity: function renounceOwnership() returns() 13117 func (_ServiceChainNFT *ServiceChainNFTTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 13118 return _ServiceChainNFT.contract.Transact(opts, "renounceOwnership") 13119 } 13120 13121 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 13122 // 13123 // Solidity: function renounceOwnership() returns() 13124 func (_ServiceChainNFT *ServiceChainNFTSession) RenounceOwnership() (*types.Transaction, error) { 13125 return _ServiceChainNFT.Contract.RenounceOwnership(&_ServiceChainNFT.TransactOpts) 13126 } 13127 13128 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 13129 // 13130 // Solidity: function renounceOwnership() returns() 13131 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) RenounceOwnership() (*types.Transaction, error) { 13132 return _ServiceChainNFT.Contract.RenounceOwnership(&_ServiceChainNFT.TransactOpts) 13133 } 13134 13135 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 13136 // 13137 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 13138 func (_ServiceChainNFT *ServiceChainNFTTransactor) RequestValueTransfer(opts *bind.TransactOpts, _uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 13139 return _ServiceChainNFT.contract.Transact(opts, "requestValueTransfer", _uid, _to, _extraData) 13140 } 13141 13142 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 13143 // 13144 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 13145 func (_ServiceChainNFT *ServiceChainNFTSession) RequestValueTransfer(_uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 13146 return _ServiceChainNFT.Contract.RequestValueTransfer(&_ServiceChainNFT.TransactOpts, _uid, _to, _extraData) 13147 } 13148 13149 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 13150 // 13151 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 13152 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) RequestValueTransfer(_uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 13153 return _ServiceChainNFT.Contract.RequestValueTransfer(&_ServiceChainNFT.TransactOpts, _uid, _to, _extraData) 13154 } 13155 13156 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 13157 // 13158 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 13159 func (_ServiceChainNFT *ServiceChainNFTTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13160 return _ServiceChainNFT.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 13161 } 13162 13163 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 13164 // 13165 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 13166 func (_ServiceChainNFT *ServiceChainNFTSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13167 return _ServiceChainNFT.Contract.SafeTransferFrom(&_ServiceChainNFT.TransactOpts, from, to, tokenId) 13168 } 13169 13170 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 13171 // 13172 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 13173 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13174 return _ServiceChainNFT.Contract.SafeTransferFrom(&_ServiceChainNFT.TransactOpts, from, to, tokenId) 13175 } 13176 13177 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 13178 // 13179 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 13180 func (_ServiceChainNFT *ServiceChainNFTTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 13181 return _ServiceChainNFT.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 13182 } 13183 13184 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 13185 // 13186 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 13187 func (_ServiceChainNFT *ServiceChainNFTSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 13188 return _ServiceChainNFT.Contract.SafeTransferFrom0(&_ServiceChainNFT.TransactOpts, from, to, tokenId, _data) 13189 } 13190 13191 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 13192 // 13193 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 13194 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 13195 return _ServiceChainNFT.Contract.SafeTransferFrom0(&_ServiceChainNFT.TransactOpts, from, to, tokenId, _data) 13196 } 13197 13198 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 13199 // 13200 // Solidity: function setApprovalForAll(address to, bool approved) returns() 13201 func (_ServiceChainNFT *ServiceChainNFTTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 13202 return _ServiceChainNFT.contract.Transact(opts, "setApprovalForAll", to, approved) 13203 } 13204 13205 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 13206 // 13207 // Solidity: function setApprovalForAll(address to, bool approved) returns() 13208 func (_ServiceChainNFT *ServiceChainNFTSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 13209 return _ServiceChainNFT.Contract.SetApprovalForAll(&_ServiceChainNFT.TransactOpts, to, approved) 13210 } 13211 13212 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 13213 // 13214 // Solidity: function setApprovalForAll(address to, bool approved) returns() 13215 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 13216 return _ServiceChainNFT.Contract.SetApprovalForAll(&_ServiceChainNFT.TransactOpts, to, approved) 13217 } 13218 13219 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 13220 // 13221 // Solidity: function setBridge(address _bridge) returns() 13222 func (_ServiceChainNFT *ServiceChainNFTTransactor) SetBridge(opts *bind.TransactOpts, _bridge common.Address) (*types.Transaction, error) { 13223 return _ServiceChainNFT.contract.Transact(opts, "setBridge", _bridge) 13224 } 13225 13226 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 13227 // 13228 // Solidity: function setBridge(address _bridge) returns() 13229 func (_ServiceChainNFT *ServiceChainNFTSession) SetBridge(_bridge common.Address) (*types.Transaction, error) { 13230 return _ServiceChainNFT.Contract.SetBridge(&_ServiceChainNFT.TransactOpts, _bridge) 13231 } 13232 13233 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 13234 // 13235 // Solidity: function setBridge(address _bridge) returns() 13236 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) SetBridge(_bridge common.Address) (*types.Transaction, error) { 13237 return _ServiceChainNFT.Contract.SetBridge(&_ServiceChainNFT.TransactOpts, _bridge) 13238 } 13239 13240 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 13241 // 13242 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 13243 func (_ServiceChainNFT *ServiceChainNFTTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13244 return _ServiceChainNFT.contract.Transact(opts, "transferFrom", from, to, tokenId) 13245 } 13246 13247 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 13248 // 13249 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 13250 func (_ServiceChainNFT *ServiceChainNFTSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13251 return _ServiceChainNFT.Contract.TransferFrom(&_ServiceChainNFT.TransactOpts, from, to, tokenId) 13252 } 13253 13254 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 13255 // 13256 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 13257 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13258 return _ServiceChainNFT.Contract.TransferFrom(&_ServiceChainNFT.TransactOpts, from, to, tokenId) 13259 } 13260 13261 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 13262 // 13263 // Solidity: function transferOwnership(address newOwner) returns() 13264 func (_ServiceChainNFT *ServiceChainNFTTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 13265 return _ServiceChainNFT.contract.Transact(opts, "transferOwnership", newOwner) 13266 } 13267 13268 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 13269 // 13270 // Solidity: function transferOwnership(address newOwner) returns() 13271 func (_ServiceChainNFT *ServiceChainNFTSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 13272 return _ServiceChainNFT.Contract.TransferOwnership(&_ServiceChainNFT.TransactOpts, newOwner) 13273 } 13274 13275 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 13276 // 13277 // Solidity: function transferOwnership(address newOwner) returns() 13278 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 13279 return _ServiceChainNFT.Contract.TransferOwnership(&_ServiceChainNFT.TransactOpts, newOwner) 13280 } 13281 13282 // ServiceChainNFTApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ServiceChainNFT contract. 13283 type ServiceChainNFTApprovalIterator struct { 13284 Event *ServiceChainNFTApproval // Event containing the contract specifics and raw log 13285 13286 contract *bind.BoundContract // Generic contract to use for unpacking event data 13287 event string // Event name to use for unpacking event data 13288 13289 logs chan types.Log // Log channel receiving the found contract events 13290 sub klaytn.Subscription // Subscription for errors, completion and termination 13291 done bool // Whether the subscription completed delivering logs 13292 fail error // Occurred error to stop iteration 13293 } 13294 13295 // Next advances the iterator to the subsequent event, returning whether there 13296 // are any more events found. In case of a retrieval or parsing error, false is 13297 // returned and Error() can be queried for the exact failure. 13298 func (it *ServiceChainNFTApprovalIterator) Next() bool { 13299 // If the iterator failed, stop iterating 13300 if it.fail != nil { 13301 return false 13302 } 13303 // If the iterator completed, deliver directly whatever's available 13304 if it.done { 13305 select { 13306 case log := <-it.logs: 13307 it.Event = new(ServiceChainNFTApproval) 13308 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13309 it.fail = err 13310 return false 13311 } 13312 it.Event.Raw = log 13313 return true 13314 13315 default: 13316 return false 13317 } 13318 } 13319 // Iterator still in progress, wait for either a data or an error event 13320 select { 13321 case log := <-it.logs: 13322 it.Event = new(ServiceChainNFTApproval) 13323 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13324 it.fail = err 13325 return false 13326 } 13327 it.Event.Raw = log 13328 return true 13329 13330 case err := <-it.sub.Err(): 13331 it.done = true 13332 it.fail = err 13333 return it.Next() 13334 } 13335 } 13336 13337 // Error returns any retrieval or parsing error occurred during filtering. 13338 func (it *ServiceChainNFTApprovalIterator) Error() error { 13339 return it.fail 13340 } 13341 13342 // Close terminates the iteration process, releasing any pending underlying 13343 // resources. 13344 func (it *ServiceChainNFTApprovalIterator) Close() error { 13345 it.sub.Unsubscribe() 13346 return nil 13347 } 13348 13349 // ServiceChainNFTApproval represents a Approval event raised by the ServiceChainNFT contract. 13350 type ServiceChainNFTApproval struct { 13351 Owner common.Address 13352 Approved common.Address 13353 TokenId *big.Int 13354 Raw types.Log // Blockchain specific contextual infos 13355 } 13356 13357 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 13358 // 13359 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 13360 func (_ServiceChainNFT *ServiceChainNFTFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ServiceChainNFTApprovalIterator, error) { 13361 13362 var ownerRule []interface{} 13363 for _, ownerItem := range owner { 13364 ownerRule = append(ownerRule, ownerItem) 13365 } 13366 var approvedRule []interface{} 13367 for _, approvedItem := range approved { 13368 approvedRule = append(approvedRule, approvedItem) 13369 } 13370 var tokenIdRule []interface{} 13371 for _, tokenIdItem := range tokenId { 13372 tokenIdRule = append(tokenIdRule, tokenIdItem) 13373 } 13374 13375 logs, sub, err := _ServiceChainNFT.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 13376 if err != nil { 13377 return nil, err 13378 } 13379 return &ServiceChainNFTApprovalIterator{contract: _ServiceChainNFT.contract, event: "Approval", logs: logs, sub: sub}, nil 13380 } 13381 13382 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 13383 // 13384 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 13385 func (_ServiceChainNFT *ServiceChainNFTFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 13386 13387 var ownerRule []interface{} 13388 for _, ownerItem := range owner { 13389 ownerRule = append(ownerRule, ownerItem) 13390 } 13391 var approvedRule []interface{} 13392 for _, approvedItem := range approved { 13393 approvedRule = append(approvedRule, approvedItem) 13394 } 13395 var tokenIdRule []interface{} 13396 for _, tokenIdItem := range tokenId { 13397 tokenIdRule = append(tokenIdRule, tokenIdItem) 13398 } 13399 13400 logs, sub, err := _ServiceChainNFT.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 13401 if err != nil { 13402 return nil, err 13403 } 13404 return event.NewSubscription(func(quit <-chan struct{}) error { 13405 defer sub.Unsubscribe() 13406 for { 13407 select { 13408 case log := <-logs: 13409 // New log arrived, parse the event and forward to the user 13410 event := new(ServiceChainNFTApproval) 13411 if err := _ServiceChainNFT.contract.UnpackLog(event, "Approval", log); err != nil { 13412 return err 13413 } 13414 event.Raw = log 13415 13416 select { 13417 case sink <- event: 13418 case err := <-sub.Err(): 13419 return err 13420 case <-quit: 13421 return nil 13422 } 13423 case err := <-sub.Err(): 13424 return err 13425 case <-quit: 13426 return nil 13427 } 13428 } 13429 }), nil 13430 } 13431 13432 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 13433 // 13434 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 13435 func (_ServiceChainNFT *ServiceChainNFTFilterer) ParseApproval(log types.Log) (*ServiceChainNFTApproval, error) { 13436 event := new(ServiceChainNFTApproval) 13437 if err := _ServiceChainNFT.contract.UnpackLog(event, "Approval", log); err != nil { 13438 return nil, err 13439 } 13440 return event, nil 13441 } 13442 13443 // ServiceChainNFTApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ServiceChainNFT contract. 13444 type ServiceChainNFTApprovalForAllIterator struct { 13445 Event *ServiceChainNFTApprovalForAll // Event containing the contract specifics and raw log 13446 13447 contract *bind.BoundContract // Generic contract to use for unpacking event data 13448 event string // Event name to use for unpacking event data 13449 13450 logs chan types.Log // Log channel receiving the found contract events 13451 sub klaytn.Subscription // Subscription for errors, completion and termination 13452 done bool // Whether the subscription completed delivering logs 13453 fail error // Occurred error to stop iteration 13454 } 13455 13456 // Next advances the iterator to the subsequent event, returning whether there 13457 // are any more events found. In case of a retrieval or parsing error, false is 13458 // returned and Error() can be queried for the exact failure. 13459 func (it *ServiceChainNFTApprovalForAllIterator) Next() bool { 13460 // If the iterator failed, stop iterating 13461 if it.fail != nil { 13462 return false 13463 } 13464 // If the iterator completed, deliver directly whatever's available 13465 if it.done { 13466 select { 13467 case log := <-it.logs: 13468 it.Event = new(ServiceChainNFTApprovalForAll) 13469 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13470 it.fail = err 13471 return false 13472 } 13473 it.Event.Raw = log 13474 return true 13475 13476 default: 13477 return false 13478 } 13479 } 13480 // Iterator still in progress, wait for either a data or an error event 13481 select { 13482 case log := <-it.logs: 13483 it.Event = new(ServiceChainNFTApprovalForAll) 13484 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13485 it.fail = err 13486 return false 13487 } 13488 it.Event.Raw = log 13489 return true 13490 13491 case err := <-it.sub.Err(): 13492 it.done = true 13493 it.fail = err 13494 return it.Next() 13495 } 13496 } 13497 13498 // Error returns any retrieval or parsing error occurred during filtering. 13499 func (it *ServiceChainNFTApprovalForAllIterator) Error() error { 13500 return it.fail 13501 } 13502 13503 // Close terminates the iteration process, releasing any pending underlying 13504 // resources. 13505 func (it *ServiceChainNFTApprovalForAllIterator) Close() error { 13506 it.sub.Unsubscribe() 13507 return nil 13508 } 13509 13510 // ServiceChainNFTApprovalForAll represents a ApprovalForAll event raised by the ServiceChainNFT contract. 13511 type ServiceChainNFTApprovalForAll struct { 13512 Owner common.Address 13513 Operator common.Address 13514 Approved bool 13515 Raw types.Log // Blockchain specific contextual infos 13516 } 13517 13518 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 13519 // 13520 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 13521 func (_ServiceChainNFT *ServiceChainNFTFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ServiceChainNFTApprovalForAllIterator, error) { 13522 13523 var ownerRule []interface{} 13524 for _, ownerItem := range owner { 13525 ownerRule = append(ownerRule, ownerItem) 13526 } 13527 var operatorRule []interface{} 13528 for _, operatorItem := range operator { 13529 operatorRule = append(operatorRule, operatorItem) 13530 } 13531 13532 logs, sub, err := _ServiceChainNFT.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 13533 if err != nil { 13534 return nil, err 13535 } 13536 return &ServiceChainNFTApprovalForAllIterator{contract: _ServiceChainNFT.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 13537 } 13538 13539 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 13540 // 13541 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 13542 func (_ServiceChainNFT *ServiceChainNFTFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 13543 13544 var ownerRule []interface{} 13545 for _, ownerItem := range owner { 13546 ownerRule = append(ownerRule, ownerItem) 13547 } 13548 var operatorRule []interface{} 13549 for _, operatorItem := range operator { 13550 operatorRule = append(operatorRule, operatorItem) 13551 } 13552 13553 logs, sub, err := _ServiceChainNFT.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 13554 if err != nil { 13555 return nil, err 13556 } 13557 return event.NewSubscription(func(quit <-chan struct{}) error { 13558 defer sub.Unsubscribe() 13559 for { 13560 select { 13561 case log := <-logs: 13562 // New log arrived, parse the event and forward to the user 13563 event := new(ServiceChainNFTApprovalForAll) 13564 if err := _ServiceChainNFT.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 13565 return err 13566 } 13567 event.Raw = log 13568 13569 select { 13570 case sink <- event: 13571 case err := <-sub.Err(): 13572 return err 13573 case <-quit: 13574 return nil 13575 } 13576 case err := <-sub.Err(): 13577 return err 13578 case <-quit: 13579 return nil 13580 } 13581 } 13582 }), nil 13583 } 13584 13585 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 13586 // 13587 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 13588 func (_ServiceChainNFT *ServiceChainNFTFilterer) ParseApprovalForAll(log types.Log) (*ServiceChainNFTApprovalForAll, error) { 13589 event := new(ServiceChainNFTApprovalForAll) 13590 if err := _ServiceChainNFT.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 13591 return nil, err 13592 } 13593 return event, nil 13594 } 13595 13596 // ServiceChainNFTMinterAddedIterator is returned from FilterMinterAdded and is used to iterate over the raw logs and unpacked data for MinterAdded events raised by the ServiceChainNFT contract. 13597 type ServiceChainNFTMinterAddedIterator struct { 13598 Event *ServiceChainNFTMinterAdded // Event containing the contract specifics and raw log 13599 13600 contract *bind.BoundContract // Generic contract to use for unpacking event data 13601 event string // Event name to use for unpacking event data 13602 13603 logs chan types.Log // Log channel receiving the found contract events 13604 sub klaytn.Subscription // Subscription for errors, completion and termination 13605 done bool // Whether the subscription completed delivering logs 13606 fail error // Occurred error to stop iteration 13607 } 13608 13609 // Next advances the iterator to the subsequent event, returning whether there 13610 // are any more events found. In case of a retrieval or parsing error, false is 13611 // returned and Error() can be queried for the exact failure. 13612 func (it *ServiceChainNFTMinterAddedIterator) Next() bool { 13613 // If the iterator failed, stop iterating 13614 if it.fail != nil { 13615 return false 13616 } 13617 // If the iterator completed, deliver directly whatever's available 13618 if it.done { 13619 select { 13620 case log := <-it.logs: 13621 it.Event = new(ServiceChainNFTMinterAdded) 13622 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13623 it.fail = err 13624 return false 13625 } 13626 it.Event.Raw = log 13627 return true 13628 13629 default: 13630 return false 13631 } 13632 } 13633 // Iterator still in progress, wait for either a data or an error event 13634 select { 13635 case log := <-it.logs: 13636 it.Event = new(ServiceChainNFTMinterAdded) 13637 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13638 it.fail = err 13639 return false 13640 } 13641 it.Event.Raw = log 13642 return true 13643 13644 case err := <-it.sub.Err(): 13645 it.done = true 13646 it.fail = err 13647 return it.Next() 13648 } 13649 } 13650 13651 // Error returns any retrieval or parsing error occurred during filtering. 13652 func (it *ServiceChainNFTMinterAddedIterator) Error() error { 13653 return it.fail 13654 } 13655 13656 // Close terminates the iteration process, releasing any pending underlying 13657 // resources. 13658 func (it *ServiceChainNFTMinterAddedIterator) Close() error { 13659 it.sub.Unsubscribe() 13660 return nil 13661 } 13662 13663 // ServiceChainNFTMinterAdded represents a MinterAdded event raised by the ServiceChainNFT contract. 13664 type ServiceChainNFTMinterAdded struct { 13665 Account common.Address 13666 Raw types.Log // Blockchain specific contextual infos 13667 } 13668 13669 // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 13670 // 13671 // Solidity: event MinterAdded(address indexed account) 13672 func (_ServiceChainNFT *ServiceChainNFTFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*ServiceChainNFTMinterAddedIterator, error) { 13673 13674 var accountRule []interface{} 13675 for _, accountItem := range account { 13676 accountRule = append(accountRule, accountItem) 13677 } 13678 13679 logs, sub, err := _ServiceChainNFT.contract.FilterLogs(opts, "MinterAdded", accountRule) 13680 if err != nil { 13681 return nil, err 13682 } 13683 return &ServiceChainNFTMinterAddedIterator{contract: _ServiceChainNFT.contract, event: "MinterAdded", logs: logs, sub: sub}, nil 13684 } 13685 13686 // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 13687 // 13688 // Solidity: event MinterAdded(address indexed account) 13689 func (_ServiceChainNFT *ServiceChainNFTFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTMinterAdded, account []common.Address) (event.Subscription, error) { 13690 13691 var accountRule []interface{} 13692 for _, accountItem := range account { 13693 accountRule = append(accountRule, accountItem) 13694 } 13695 13696 logs, sub, err := _ServiceChainNFT.contract.WatchLogs(opts, "MinterAdded", accountRule) 13697 if err != nil { 13698 return nil, err 13699 } 13700 return event.NewSubscription(func(quit <-chan struct{}) error { 13701 defer sub.Unsubscribe() 13702 for { 13703 select { 13704 case log := <-logs: 13705 // New log arrived, parse the event and forward to the user 13706 event := new(ServiceChainNFTMinterAdded) 13707 if err := _ServiceChainNFT.contract.UnpackLog(event, "MinterAdded", log); err != nil { 13708 return err 13709 } 13710 event.Raw = log 13711 13712 select { 13713 case sink <- event: 13714 case err := <-sub.Err(): 13715 return err 13716 case <-quit: 13717 return nil 13718 } 13719 case err := <-sub.Err(): 13720 return err 13721 case <-quit: 13722 return nil 13723 } 13724 } 13725 }), nil 13726 } 13727 13728 // ParseMinterAdded is a log parse operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 13729 // 13730 // Solidity: event MinterAdded(address indexed account) 13731 func (_ServiceChainNFT *ServiceChainNFTFilterer) ParseMinterAdded(log types.Log) (*ServiceChainNFTMinterAdded, error) { 13732 event := new(ServiceChainNFTMinterAdded) 13733 if err := _ServiceChainNFT.contract.UnpackLog(event, "MinterAdded", log); err != nil { 13734 return nil, err 13735 } 13736 return event, nil 13737 } 13738 13739 // ServiceChainNFTMinterRemovedIterator is returned from FilterMinterRemoved and is used to iterate over the raw logs and unpacked data for MinterRemoved events raised by the ServiceChainNFT contract. 13740 type ServiceChainNFTMinterRemovedIterator struct { 13741 Event *ServiceChainNFTMinterRemoved // Event containing the contract specifics and raw log 13742 13743 contract *bind.BoundContract // Generic contract to use for unpacking event data 13744 event string // Event name to use for unpacking event data 13745 13746 logs chan types.Log // Log channel receiving the found contract events 13747 sub klaytn.Subscription // Subscription for errors, completion and termination 13748 done bool // Whether the subscription completed delivering logs 13749 fail error // Occurred error to stop iteration 13750 } 13751 13752 // Next advances the iterator to the subsequent event, returning whether there 13753 // are any more events found. In case of a retrieval or parsing error, false is 13754 // returned and Error() can be queried for the exact failure. 13755 func (it *ServiceChainNFTMinterRemovedIterator) Next() bool { 13756 // If the iterator failed, stop iterating 13757 if it.fail != nil { 13758 return false 13759 } 13760 // If the iterator completed, deliver directly whatever's available 13761 if it.done { 13762 select { 13763 case log := <-it.logs: 13764 it.Event = new(ServiceChainNFTMinterRemoved) 13765 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13766 it.fail = err 13767 return false 13768 } 13769 it.Event.Raw = log 13770 return true 13771 13772 default: 13773 return false 13774 } 13775 } 13776 // Iterator still in progress, wait for either a data or an error event 13777 select { 13778 case log := <-it.logs: 13779 it.Event = new(ServiceChainNFTMinterRemoved) 13780 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13781 it.fail = err 13782 return false 13783 } 13784 it.Event.Raw = log 13785 return true 13786 13787 case err := <-it.sub.Err(): 13788 it.done = true 13789 it.fail = err 13790 return it.Next() 13791 } 13792 } 13793 13794 // Error returns any retrieval or parsing error occurred during filtering. 13795 func (it *ServiceChainNFTMinterRemovedIterator) Error() error { 13796 return it.fail 13797 } 13798 13799 // Close terminates the iteration process, releasing any pending underlying 13800 // resources. 13801 func (it *ServiceChainNFTMinterRemovedIterator) Close() error { 13802 it.sub.Unsubscribe() 13803 return nil 13804 } 13805 13806 // ServiceChainNFTMinterRemoved represents a MinterRemoved event raised by the ServiceChainNFT contract. 13807 type ServiceChainNFTMinterRemoved struct { 13808 Account common.Address 13809 Raw types.Log // Blockchain specific contextual infos 13810 } 13811 13812 // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 13813 // 13814 // Solidity: event MinterRemoved(address indexed account) 13815 func (_ServiceChainNFT *ServiceChainNFTFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*ServiceChainNFTMinterRemovedIterator, error) { 13816 13817 var accountRule []interface{} 13818 for _, accountItem := range account { 13819 accountRule = append(accountRule, accountItem) 13820 } 13821 13822 logs, sub, err := _ServiceChainNFT.contract.FilterLogs(opts, "MinterRemoved", accountRule) 13823 if err != nil { 13824 return nil, err 13825 } 13826 return &ServiceChainNFTMinterRemovedIterator{contract: _ServiceChainNFT.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil 13827 } 13828 13829 // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 13830 // 13831 // Solidity: event MinterRemoved(address indexed account) 13832 func (_ServiceChainNFT *ServiceChainNFTFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTMinterRemoved, account []common.Address) (event.Subscription, error) { 13833 13834 var accountRule []interface{} 13835 for _, accountItem := range account { 13836 accountRule = append(accountRule, accountItem) 13837 } 13838 13839 logs, sub, err := _ServiceChainNFT.contract.WatchLogs(opts, "MinterRemoved", accountRule) 13840 if err != nil { 13841 return nil, err 13842 } 13843 return event.NewSubscription(func(quit <-chan struct{}) error { 13844 defer sub.Unsubscribe() 13845 for { 13846 select { 13847 case log := <-logs: 13848 // New log arrived, parse the event and forward to the user 13849 event := new(ServiceChainNFTMinterRemoved) 13850 if err := _ServiceChainNFT.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 13851 return err 13852 } 13853 event.Raw = log 13854 13855 select { 13856 case sink <- event: 13857 case err := <-sub.Err(): 13858 return err 13859 case <-quit: 13860 return nil 13861 } 13862 case err := <-sub.Err(): 13863 return err 13864 case <-quit: 13865 return nil 13866 } 13867 } 13868 }), nil 13869 } 13870 13871 // ParseMinterRemoved is a log parse operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 13872 // 13873 // Solidity: event MinterRemoved(address indexed account) 13874 func (_ServiceChainNFT *ServiceChainNFTFilterer) ParseMinterRemoved(log types.Log) (*ServiceChainNFTMinterRemoved, error) { 13875 event := new(ServiceChainNFTMinterRemoved) 13876 if err := _ServiceChainNFT.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 13877 return nil, err 13878 } 13879 return event, nil 13880 } 13881 13882 // ServiceChainNFTOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the ServiceChainNFT contract. 13883 type ServiceChainNFTOwnershipTransferredIterator struct { 13884 Event *ServiceChainNFTOwnershipTransferred // Event containing the contract specifics and raw log 13885 13886 contract *bind.BoundContract // Generic contract to use for unpacking event data 13887 event string // Event name to use for unpacking event data 13888 13889 logs chan types.Log // Log channel receiving the found contract events 13890 sub klaytn.Subscription // Subscription for errors, completion and termination 13891 done bool // Whether the subscription completed delivering logs 13892 fail error // Occurred error to stop iteration 13893 } 13894 13895 // Next advances the iterator to the subsequent event, returning whether there 13896 // are any more events found. In case of a retrieval or parsing error, false is 13897 // returned and Error() can be queried for the exact failure. 13898 func (it *ServiceChainNFTOwnershipTransferredIterator) Next() bool { 13899 // If the iterator failed, stop iterating 13900 if it.fail != nil { 13901 return false 13902 } 13903 // If the iterator completed, deliver directly whatever's available 13904 if it.done { 13905 select { 13906 case log := <-it.logs: 13907 it.Event = new(ServiceChainNFTOwnershipTransferred) 13908 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13909 it.fail = err 13910 return false 13911 } 13912 it.Event.Raw = log 13913 return true 13914 13915 default: 13916 return false 13917 } 13918 } 13919 // Iterator still in progress, wait for either a data or an error event 13920 select { 13921 case log := <-it.logs: 13922 it.Event = new(ServiceChainNFTOwnershipTransferred) 13923 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13924 it.fail = err 13925 return false 13926 } 13927 it.Event.Raw = log 13928 return true 13929 13930 case err := <-it.sub.Err(): 13931 it.done = true 13932 it.fail = err 13933 return it.Next() 13934 } 13935 } 13936 13937 // Error returns any retrieval or parsing error occurred during filtering. 13938 func (it *ServiceChainNFTOwnershipTransferredIterator) Error() error { 13939 return it.fail 13940 } 13941 13942 // Close terminates the iteration process, releasing any pending underlying 13943 // resources. 13944 func (it *ServiceChainNFTOwnershipTransferredIterator) Close() error { 13945 it.sub.Unsubscribe() 13946 return nil 13947 } 13948 13949 // ServiceChainNFTOwnershipTransferred represents a OwnershipTransferred event raised by the ServiceChainNFT contract. 13950 type ServiceChainNFTOwnershipTransferred struct { 13951 PreviousOwner common.Address 13952 NewOwner common.Address 13953 Raw types.Log // Blockchain specific contextual infos 13954 } 13955 13956 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 13957 // 13958 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 13959 func (_ServiceChainNFT *ServiceChainNFTFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ServiceChainNFTOwnershipTransferredIterator, error) { 13960 13961 var previousOwnerRule []interface{} 13962 for _, previousOwnerItem := range previousOwner { 13963 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 13964 } 13965 var newOwnerRule []interface{} 13966 for _, newOwnerItem := range newOwner { 13967 newOwnerRule = append(newOwnerRule, newOwnerItem) 13968 } 13969 13970 logs, sub, err := _ServiceChainNFT.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 13971 if err != nil { 13972 return nil, err 13973 } 13974 return &ServiceChainNFTOwnershipTransferredIterator{contract: _ServiceChainNFT.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 13975 } 13976 13977 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 13978 // 13979 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 13980 func (_ServiceChainNFT *ServiceChainNFTFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 13981 13982 var previousOwnerRule []interface{} 13983 for _, previousOwnerItem := range previousOwner { 13984 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 13985 } 13986 var newOwnerRule []interface{} 13987 for _, newOwnerItem := range newOwner { 13988 newOwnerRule = append(newOwnerRule, newOwnerItem) 13989 } 13990 13991 logs, sub, err := _ServiceChainNFT.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 13992 if err != nil { 13993 return nil, err 13994 } 13995 return event.NewSubscription(func(quit <-chan struct{}) error { 13996 defer sub.Unsubscribe() 13997 for { 13998 select { 13999 case log := <-logs: 14000 // New log arrived, parse the event and forward to the user 14001 event := new(ServiceChainNFTOwnershipTransferred) 14002 if err := _ServiceChainNFT.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 14003 return err 14004 } 14005 event.Raw = log 14006 14007 select { 14008 case sink <- event: 14009 case err := <-sub.Err(): 14010 return err 14011 case <-quit: 14012 return nil 14013 } 14014 case err := <-sub.Err(): 14015 return err 14016 case <-quit: 14017 return nil 14018 } 14019 } 14020 }), nil 14021 } 14022 14023 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 14024 // 14025 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 14026 func (_ServiceChainNFT *ServiceChainNFTFilterer) ParseOwnershipTransferred(log types.Log) (*ServiceChainNFTOwnershipTransferred, error) { 14027 event := new(ServiceChainNFTOwnershipTransferred) 14028 if err := _ServiceChainNFT.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 14029 return nil, err 14030 } 14031 return event, nil 14032 } 14033 14034 // ServiceChainNFTTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ServiceChainNFT contract. 14035 type ServiceChainNFTTransferIterator struct { 14036 Event *ServiceChainNFTTransfer // Event containing the contract specifics and raw log 14037 14038 contract *bind.BoundContract // Generic contract to use for unpacking event data 14039 event string // Event name to use for unpacking event data 14040 14041 logs chan types.Log // Log channel receiving the found contract events 14042 sub klaytn.Subscription // Subscription for errors, completion and termination 14043 done bool // Whether the subscription completed delivering logs 14044 fail error // Occurred error to stop iteration 14045 } 14046 14047 // Next advances the iterator to the subsequent event, returning whether there 14048 // are any more events found. In case of a retrieval or parsing error, false is 14049 // returned and Error() can be queried for the exact failure. 14050 func (it *ServiceChainNFTTransferIterator) Next() bool { 14051 // If the iterator failed, stop iterating 14052 if it.fail != nil { 14053 return false 14054 } 14055 // If the iterator completed, deliver directly whatever's available 14056 if it.done { 14057 select { 14058 case log := <-it.logs: 14059 it.Event = new(ServiceChainNFTTransfer) 14060 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14061 it.fail = err 14062 return false 14063 } 14064 it.Event.Raw = log 14065 return true 14066 14067 default: 14068 return false 14069 } 14070 } 14071 // Iterator still in progress, wait for either a data or an error event 14072 select { 14073 case log := <-it.logs: 14074 it.Event = new(ServiceChainNFTTransfer) 14075 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14076 it.fail = err 14077 return false 14078 } 14079 it.Event.Raw = log 14080 return true 14081 14082 case err := <-it.sub.Err(): 14083 it.done = true 14084 it.fail = err 14085 return it.Next() 14086 } 14087 } 14088 14089 // Error returns any retrieval or parsing error occurred during filtering. 14090 func (it *ServiceChainNFTTransferIterator) Error() error { 14091 return it.fail 14092 } 14093 14094 // Close terminates the iteration process, releasing any pending underlying 14095 // resources. 14096 func (it *ServiceChainNFTTransferIterator) Close() error { 14097 it.sub.Unsubscribe() 14098 return nil 14099 } 14100 14101 // ServiceChainNFTTransfer represents a Transfer event raised by the ServiceChainNFT contract. 14102 type ServiceChainNFTTransfer struct { 14103 From common.Address 14104 To common.Address 14105 TokenId *big.Int 14106 Raw types.Log // Blockchain specific contextual infos 14107 } 14108 14109 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 14110 // 14111 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 14112 func (_ServiceChainNFT *ServiceChainNFTFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ServiceChainNFTTransferIterator, error) { 14113 14114 var fromRule []interface{} 14115 for _, fromItem := range from { 14116 fromRule = append(fromRule, fromItem) 14117 } 14118 var toRule []interface{} 14119 for _, toItem := range to { 14120 toRule = append(toRule, toItem) 14121 } 14122 var tokenIdRule []interface{} 14123 for _, tokenIdItem := range tokenId { 14124 tokenIdRule = append(tokenIdRule, tokenIdItem) 14125 } 14126 14127 logs, sub, err := _ServiceChainNFT.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 14128 if err != nil { 14129 return nil, err 14130 } 14131 return &ServiceChainNFTTransferIterator{contract: _ServiceChainNFT.contract, event: "Transfer", logs: logs, sub: sub}, nil 14132 } 14133 14134 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 14135 // 14136 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 14137 func (_ServiceChainNFT *ServiceChainNFTFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 14138 14139 var fromRule []interface{} 14140 for _, fromItem := range from { 14141 fromRule = append(fromRule, fromItem) 14142 } 14143 var toRule []interface{} 14144 for _, toItem := range to { 14145 toRule = append(toRule, toItem) 14146 } 14147 var tokenIdRule []interface{} 14148 for _, tokenIdItem := range tokenId { 14149 tokenIdRule = append(tokenIdRule, tokenIdItem) 14150 } 14151 14152 logs, sub, err := _ServiceChainNFT.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 14153 if err != nil { 14154 return nil, err 14155 } 14156 return event.NewSubscription(func(quit <-chan struct{}) error { 14157 defer sub.Unsubscribe() 14158 for { 14159 select { 14160 case log := <-logs: 14161 // New log arrived, parse the event and forward to the user 14162 event := new(ServiceChainNFTTransfer) 14163 if err := _ServiceChainNFT.contract.UnpackLog(event, "Transfer", log); err != nil { 14164 return err 14165 } 14166 event.Raw = log 14167 14168 select { 14169 case sink <- event: 14170 case err := <-sub.Err(): 14171 return err 14172 case <-quit: 14173 return nil 14174 } 14175 case err := <-sub.Err(): 14176 return err 14177 case <-quit: 14178 return nil 14179 } 14180 } 14181 }), nil 14182 } 14183 14184 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 14185 // 14186 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 14187 func (_ServiceChainNFT *ServiceChainNFTFilterer) ParseTransfer(log types.Log) (*ServiceChainNFTTransfer, error) { 14188 event := new(ServiceChainNFTTransfer) 14189 if err := _ServiceChainNFT.contract.UnpackLog(event, "Transfer", log); err != nil { 14190 return nil, err 14191 } 14192 return event, nil 14193 }