github.com/klaytn/klaytn@v1.12.1/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 "errors" 8 "math/big" 9 "strings" 10 11 "github.com/klaytn/klaytn" 12 "github.com/klaytn/klaytn/accounts/abi" 13 "github.com/klaytn/klaytn/accounts/abi/bind" 14 "github.com/klaytn/klaytn/blockchain/types" 15 "github.com/klaytn/klaytn/common" 16 "github.com/klaytn/klaytn/event" 17 ) 18 19 // Reference imports to suppress errors if they are not otherwise used. 20 var ( 21 _ = errors.New 22 _ = big.NewInt 23 _ = strings.NewReader 24 _ = klaytn.NotFound 25 _ = bind.Bind 26 _ = common.Big1 27 _ = types.BloomLookup 28 _ = event.NewSubscription 29 _ = abi.ConvertType 30 ) 31 32 // AddressMetaData contains all meta data concerning the Address contract. 33 var AddressMetaData = &bind.MetaData{ 34 ABI: "[]", 35 Bin: "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820299ebfdf39258e62f3b1db6c55ebb9d11001cde07d51662fa2fd336c270f24630029", 36 } 37 38 // AddressABI is the input ABI used to generate the binding from. 39 // Deprecated: Use AddressMetaData.ABI instead. 40 var AddressABI = AddressMetaData.ABI 41 42 // AddressBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 43 const AddressBinRuntime = `73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820299ebfdf39258e62f3b1db6c55ebb9d11001cde07d51662fa2fd336c270f24630029` 44 45 // AddressBin is the compiled bytecode used for deploying new contracts. 46 // Deprecated: Use AddressMetaData.Bin instead. 47 var AddressBin = AddressMetaData.Bin 48 49 // DeployAddress deploys a new Klaytn contract, binding an instance of Address to it. 50 func DeployAddress(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Address, error) { 51 parsed, err := AddressMetaData.GetAbi() 52 if err != nil { 53 return common.Address{}, nil, nil, err 54 } 55 if parsed == nil { 56 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 57 } 58 59 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(AddressBin), backend) 60 if err != nil { 61 return common.Address{}, nil, nil, err 62 } 63 return address, tx, &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil 64 } 65 66 // Address is an auto generated Go binding around a Klaytn contract. 67 type Address struct { 68 AddressCaller // Read-only binding to the contract 69 AddressTransactor // Write-only binding to the contract 70 AddressFilterer // Log filterer for contract events 71 } 72 73 // AddressCaller is an auto generated read-only Go binding around a Klaytn contract. 74 type AddressCaller struct { 75 contract *bind.BoundContract // Generic contract wrapper for the low level calls 76 } 77 78 // AddressTransactor is an auto generated write-only Go binding around a Klaytn contract. 79 type AddressTransactor struct { 80 contract *bind.BoundContract // Generic contract wrapper for the low level calls 81 } 82 83 // AddressFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 84 type AddressFilterer struct { 85 contract *bind.BoundContract // Generic contract wrapper for the low level calls 86 } 87 88 // AddressSession is an auto generated Go binding around a Klaytn contract, 89 // with pre-set call and transact options. 90 type AddressSession struct { 91 Contract *Address // Generic contract binding to set the session for 92 CallOpts bind.CallOpts // Call options to use throughout this session 93 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 94 } 95 96 // AddressCallerSession is an auto generated read-only Go binding around a Klaytn contract, 97 // with pre-set call options. 98 type AddressCallerSession struct { 99 Contract *AddressCaller // Generic contract caller binding to set the session for 100 CallOpts bind.CallOpts // Call options to use throughout this session 101 } 102 103 // AddressTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 104 // with pre-set transact options. 105 type AddressTransactorSession struct { 106 Contract *AddressTransactor // Generic contract transactor binding to set the session for 107 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 108 } 109 110 // AddressRaw is an auto generated low-level Go binding around a Klaytn contract. 111 type AddressRaw struct { 112 Contract *Address // Generic contract binding to access the raw methods on 113 } 114 115 // AddressCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 116 type AddressCallerRaw struct { 117 Contract *AddressCaller // Generic read-only contract binding to access the raw methods on 118 } 119 120 // AddressTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 121 type AddressTransactorRaw struct { 122 Contract *AddressTransactor // Generic write-only contract binding to access the raw methods on 123 } 124 125 // NewAddress creates a new instance of Address, bound to a specific deployed contract. 126 func NewAddress(address common.Address, backend bind.ContractBackend) (*Address, error) { 127 contract, err := bindAddress(address, backend, backend, backend) 128 if err != nil { 129 return nil, err 130 } 131 return &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil 132 } 133 134 // NewAddressCaller creates a new read-only instance of Address, bound to a specific deployed contract. 135 func NewAddressCaller(address common.Address, caller bind.ContractCaller) (*AddressCaller, error) { 136 contract, err := bindAddress(address, caller, nil, nil) 137 if err != nil { 138 return nil, err 139 } 140 return &AddressCaller{contract: contract}, nil 141 } 142 143 // NewAddressTransactor creates a new write-only instance of Address, bound to a specific deployed contract. 144 func NewAddressTransactor(address common.Address, transactor bind.ContractTransactor) (*AddressTransactor, error) { 145 contract, err := bindAddress(address, nil, transactor, nil) 146 if err != nil { 147 return nil, err 148 } 149 return &AddressTransactor{contract: contract}, nil 150 } 151 152 // NewAddressFilterer creates a new log filterer instance of Address, bound to a specific deployed contract. 153 func NewAddressFilterer(address common.Address, filterer bind.ContractFilterer) (*AddressFilterer, error) { 154 contract, err := bindAddress(address, nil, nil, filterer) 155 if err != nil { 156 return nil, err 157 } 158 return &AddressFilterer{contract: contract}, nil 159 } 160 161 // bindAddress binds a generic wrapper to an already deployed contract. 162 func bindAddress(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 163 parsed, err := AddressMetaData.GetAbi() 164 if err != nil { 165 return nil, err 166 } 167 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 168 } 169 170 // Call invokes the (constant) contract method with params as input values and 171 // sets the output to result. The result type might be a single field for simple 172 // returns, a slice of interfaces for anonymous returns and a struct for named 173 // returns. 174 func (_Address *AddressRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 175 return _Address.Contract.AddressCaller.contract.Call(opts, result, method, params...) 176 } 177 178 // Transfer initiates a plain transaction to move funds to the contract, calling 179 // its default method if one is available. 180 func (_Address *AddressRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 181 return _Address.Contract.AddressTransactor.contract.Transfer(opts) 182 } 183 184 // Transact invokes the (paid) contract method with params as input values. 185 func (_Address *AddressRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 186 return _Address.Contract.AddressTransactor.contract.Transact(opts, method, params...) 187 } 188 189 // Call invokes the (constant) contract method with params as input values and 190 // sets the output to result. The result type might be a single field for simple 191 // returns, a slice of interfaces for anonymous returns and a struct for named 192 // returns. 193 func (_Address *AddressCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 194 return _Address.Contract.contract.Call(opts, result, method, params...) 195 } 196 197 // Transfer initiates a plain transaction to move funds to the contract, calling 198 // its default method if one is available. 199 func (_Address *AddressTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 200 return _Address.Contract.contract.Transfer(opts) 201 } 202 203 // Transact invokes the (paid) contract method with params as input values. 204 func (_Address *AddressTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 205 return _Address.Contract.contract.Transact(opts, method, params...) 206 } 207 208 // CountersMetaData contains all meta data concerning the Counters contract. 209 var CountersMetaData = &bind.MetaData{ 210 ABI: "[]", 211 Bin: "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820805a368616cc52189113373468f3b8d2b801d1cb861a5f35c763ad7ac01ac1fe0029", 212 } 213 214 // CountersABI is the input ABI used to generate the binding from. 215 // Deprecated: Use CountersMetaData.ABI instead. 216 var CountersABI = CountersMetaData.ABI 217 218 // CountersBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 219 const CountersBinRuntime = `73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820805a368616cc52189113373468f3b8d2b801d1cb861a5f35c763ad7ac01ac1fe0029` 220 221 // CountersBin is the compiled bytecode used for deploying new contracts. 222 // Deprecated: Use CountersMetaData.Bin instead. 223 var CountersBin = CountersMetaData.Bin 224 225 // DeployCounters deploys a new Klaytn contract, binding an instance of Counters to it. 226 func DeployCounters(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Counters, error) { 227 parsed, err := CountersMetaData.GetAbi() 228 if err != nil { 229 return common.Address{}, nil, nil, err 230 } 231 if parsed == nil { 232 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 233 } 234 235 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(CountersBin), backend) 236 if err != nil { 237 return common.Address{}, nil, nil, err 238 } 239 return address, tx, &Counters{CountersCaller: CountersCaller{contract: contract}, CountersTransactor: CountersTransactor{contract: contract}, CountersFilterer: CountersFilterer{contract: contract}}, nil 240 } 241 242 // Counters is an auto generated Go binding around a Klaytn contract. 243 type Counters struct { 244 CountersCaller // Read-only binding to the contract 245 CountersTransactor // Write-only binding to the contract 246 CountersFilterer // Log filterer for contract events 247 } 248 249 // CountersCaller is an auto generated read-only Go binding around a Klaytn contract. 250 type CountersCaller struct { 251 contract *bind.BoundContract // Generic contract wrapper for the low level calls 252 } 253 254 // CountersTransactor is an auto generated write-only Go binding around a Klaytn contract. 255 type CountersTransactor struct { 256 contract *bind.BoundContract // Generic contract wrapper for the low level calls 257 } 258 259 // CountersFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 260 type CountersFilterer struct { 261 contract *bind.BoundContract // Generic contract wrapper for the low level calls 262 } 263 264 // CountersSession is an auto generated Go binding around a Klaytn contract, 265 // with pre-set call and transact options. 266 type CountersSession struct { 267 Contract *Counters // Generic contract binding to set the session for 268 CallOpts bind.CallOpts // Call options to use throughout this session 269 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 270 } 271 272 // CountersCallerSession is an auto generated read-only Go binding around a Klaytn contract, 273 // with pre-set call options. 274 type CountersCallerSession struct { 275 Contract *CountersCaller // Generic contract caller binding to set the session for 276 CallOpts bind.CallOpts // Call options to use throughout this session 277 } 278 279 // CountersTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 280 // with pre-set transact options. 281 type CountersTransactorSession struct { 282 Contract *CountersTransactor // Generic contract transactor binding to set the session for 283 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 284 } 285 286 // CountersRaw is an auto generated low-level Go binding around a Klaytn contract. 287 type CountersRaw struct { 288 Contract *Counters // Generic contract binding to access the raw methods on 289 } 290 291 // CountersCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 292 type CountersCallerRaw struct { 293 Contract *CountersCaller // Generic read-only contract binding to access the raw methods on 294 } 295 296 // CountersTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 297 type CountersTransactorRaw struct { 298 Contract *CountersTransactor // Generic write-only contract binding to access the raw methods on 299 } 300 301 // NewCounters creates a new instance of Counters, bound to a specific deployed contract. 302 func NewCounters(address common.Address, backend bind.ContractBackend) (*Counters, error) { 303 contract, err := bindCounters(address, backend, backend, backend) 304 if err != nil { 305 return nil, err 306 } 307 return &Counters{CountersCaller: CountersCaller{contract: contract}, CountersTransactor: CountersTransactor{contract: contract}, CountersFilterer: CountersFilterer{contract: contract}}, nil 308 } 309 310 // NewCountersCaller creates a new read-only instance of Counters, bound to a specific deployed contract. 311 func NewCountersCaller(address common.Address, caller bind.ContractCaller) (*CountersCaller, error) { 312 contract, err := bindCounters(address, caller, nil, nil) 313 if err != nil { 314 return nil, err 315 } 316 return &CountersCaller{contract: contract}, nil 317 } 318 319 // NewCountersTransactor creates a new write-only instance of Counters, bound to a specific deployed contract. 320 func NewCountersTransactor(address common.Address, transactor bind.ContractTransactor) (*CountersTransactor, error) { 321 contract, err := bindCounters(address, nil, transactor, nil) 322 if err != nil { 323 return nil, err 324 } 325 return &CountersTransactor{contract: contract}, nil 326 } 327 328 // NewCountersFilterer creates a new log filterer instance of Counters, bound to a specific deployed contract. 329 func NewCountersFilterer(address common.Address, filterer bind.ContractFilterer) (*CountersFilterer, error) { 330 contract, err := bindCounters(address, nil, nil, filterer) 331 if err != nil { 332 return nil, err 333 } 334 return &CountersFilterer{contract: contract}, nil 335 } 336 337 // bindCounters binds a generic wrapper to an already deployed contract. 338 func bindCounters(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 339 parsed, err := CountersMetaData.GetAbi() 340 if err != nil { 341 return nil, err 342 } 343 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 344 } 345 346 // Call invokes the (constant) contract method with params as input values and 347 // sets the output to result. The result type might be a single field for simple 348 // returns, a slice of interfaces for anonymous returns and a struct for named 349 // returns. 350 func (_Counters *CountersRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 351 return _Counters.Contract.CountersCaller.contract.Call(opts, result, method, params...) 352 } 353 354 // Transfer initiates a plain transaction to move funds to the contract, calling 355 // its default method if one is available. 356 func (_Counters *CountersRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 357 return _Counters.Contract.CountersTransactor.contract.Transfer(opts) 358 } 359 360 // Transact invokes the (paid) contract method with params as input values. 361 func (_Counters *CountersRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 362 return _Counters.Contract.CountersTransactor.contract.Transact(opts, method, params...) 363 } 364 365 // Call invokes the (constant) contract method with params as input values and 366 // sets the output to result. The result type might be a single field for simple 367 // returns, a slice of interfaces for anonymous returns and a struct for named 368 // returns. 369 func (_Counters *CountersCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 370 return _Counters.Contract.contract.Call(opts, result, method, params...) 371 } 372 373 // Transfer initiates a plain transaction to move funds to the contract, calling 374 // its default method if one is available. 375 func (_Counters *CountersTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 376 return _Counters.Contract.contract.Transfer(opts) 377 } 378 379 // Transact invokes the (paid) contract method with params as input values. 380 func (_Counters *CountersTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 381 return _Counters.Contract.contract.Transact(opts, method, params...) 382 } 383 384 // ERC165MetaData contains all meta data concerning the ERC165 contract. 385 var ERC165MetaData = &bind.MetaData{ 386 ABI: "[{\"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\"}]", 387 Sigs: map[string]string{ 388 "01ffc9a7": "supportsInterface(bytes4)", 389 }, 390 } 391 392 // ERC165ABI is the input ABI used to generate the binding from. 393 // Deprecated: Use ERC165MetaData.ABI instead. 394 var ERC165ABI = ERC165MetaData.ABI 395 396 // ERC165BinRuntime is the compiled bytecode used for adding genesis block without deploying code. 397 const ERC165BinRuntime = `` 398 399 // ERC165FuncSigs maps the 4-byte function signature to its string representation. 400 // Deprecated: Use ERC165MetaData.Sigs instead. 401 var ERC165FuncSigs = ERC165MetaData.Sigs 402 403 // ERC165 is an auto generated Go binding around a Klaytn contract. 404 type ERC165 struct { 405 ERC165Caller // Read-only binding to the contract 406 ERC165Transactor // Write-only binding to the contract 407 ERC165Filterer // Log filterer for contract events 408 } 409 410 // ERC165Caller is an auto generated read-only Go binding around a Klaytn contract. 411 type ERC165Caller struct { 412 contract *bind.BoundContract // Generic contract wrapper for the low level calls 413 } 414 415 // ERC165Transactor is an auto generated write-only Go binding around a Klaytn contract. 416 type ERC165Transactor struct { 417 contract *bind.BoundContract // Generic contract wrapper for the low level calls 418 } 419 420 // ERC165Filterer is an auto generated log filtering Go binding around a Klaytn contract events. 421 type ERC165Filterer struct { 422 contract *bind.BoundContract // Generic contract wrapper for the low level calls 423 } 424 425 // ERC165Session is an auto generated Go binding around a Klaytn contract, 426 // with pre-set call and transact options. 427 type ERC165Session struct { 428 Contract *ERC165 // Generic contract binding to set the session for 429 CallOpts bind.CallOpts // Call options to use throughout this session 430 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 431 } 432 433 // ERC165CallerSession is an auto generated read-only Go binding around a Klaytn contract, 434 // with pre-set call options. 435 type ERC165CallerSession struct { 436 Contract *ERC165Caller // Generic contract caller binding to set the session for 437 CallOpts bind.CallOpts // Call options to use throughout this session 438 } 439 440 // ERC165TransactorSession is an auto generated write-only Go binding around a Klaytn contract, 441 // with pre-set transact options. 442 type ERC165TransactorSession struct { 443 Contract *ERC165Transactor // Generic contract transactor binding to set the session for 444 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 445 } 446 447 // ERC165Raw is an auto generated low-level Go binding around a Klaytn contract. 448 type ERC165Raw struct { 449 Contract *ERC165 // Generic contract binding to access the raw methods on 450 } 451 452 // ERC165CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 453 type ERC165CallerRaw struct { 454 Contract *ERC165Caller // Generic read-only contract binding to access the raw methods on 455 } 456 457 // ERC165TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 458 type ERC165TransactorRaw struct { 459 Contract *ERC165Transactor // Generic write-only contract binding to access the raw methods on 460 } 461 462 // NewERC165 creates a new instance of ERC165, bound to a specific deployed contract. 463 func NewERC165(address common.Address, backend bind.ContractBackend) (*ERC165, error) { 464 contract, err := bindERC165(address, backend, backend, backend) 465 if err != nil { 466 return nil, err 467 } 468 return &ERC165{ERC165Caller: ERC165Caller{contract: contract}, ERC165Transactor: ERC165Transactor{contract: contract}, ERC165Filterer: ERC165Filterer{contract: contract}}, nil 469 } 470 471 // NewERC165Caller creates a new read-only instance of ERC165, bound to a specific deployed contract. 472 func NewERC165Caller(address common.Address, caller bind.ContractCaller) (*ERC165Caller, error) { 473 contract, err := bindERC165(address, caller, nil, nil) 474 if err != nil { 475 return nil, err 476 } 477 return &ERC165Caller{contract: contract}, nil 478 } 479 480 // NewERC165Transactor creates a new write-only instance of ERC165, bound to a specific deployed contract. 481 func NewERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC165Transactor, error) { 482 contract, err := bindERC165(address, nil, transactor, nil) 483 if err != nil { 484 return nil, err 485 } 486 return &ERC165Transactor{contract: contract}, nil 487 } 488 489 // NewERC165Filterer creates a new log filterer instance of ERC165, bound to a specific deployed contract. 490 func NewERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC165Filterer, error) { 491 contract, err := bindERC165(address, nil, nil, filterer) 492 if err != nil { 493 return nil, err 494 } 495 return &ERC165Filterer{contract: contract}, nil 496 } 497 498 // bindERC165 binds a generic wrapper to an already deployed contract. 499 func bindERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 500 parsed, err := ERC165MetaData.GetAbi() 501 if err != nil { 502 return nil, err 503 } 504 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 505 } 506 507 // Call invokes the (constant) contract method with params as input values and 508 // sets the output to result. The result type might be a single field for simple 509 // returns, a slice of interfaces for anonymous returns and a struct for named 510 // returns. 511 func (_ERC165 *ERC165Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 512 return _ERC165.Contract.ERC165Caller.contract.Call(opts, result, method, params...) 513 } 514 515 // Transfer initiates a plain transaction to move funds to the contract, calling 516 // its default method if one is available. 517 func (_ERC165 *ERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 518 return _ERC165.Contract.ERC165Transactor.contract.Transfer(opts) 519 } 520 521 // Transact invokes the (paid) contract method with params as input values. 522 func (_ERC165 *ERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 523 return _ERC165.Contract.ERC165Transactor.contract.Transact(opts, method, params...) 524 } 525 526 // Call invokes the (constant) contract method with params as input values and 527 // sets the output to result. The result type might be a single field for simple 528 // returns, a slice of interfaces for anonymous returns and a struct for named 529 // returns. 530 func (_ERC165 *ERC165CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 531 return _ERC165.Contract.contract.Call(opts, result, method, params...) 532 } 533 534 // Transfer initiates a plain transaction to move funds to the contract, calling 535 // its default method if one is available. 536 func (_ERC165 *ERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 537 return _ERC165.Contract.contract.Transfer(opts) 538 } 539 540 // Transact invokes the (paid) contract method with params as input values. 541 func (_ERC165 *ERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 542 return _ERC165.Contract.contract.Transact(opts, method, params...) 543 } 544 545 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 546 // 547 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 548 func (_ERC165 *ERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 549 var out []interface{} 550 err := _ERC165.contract.Call(opts, &out, "supportsInterface", interfaceId) 551 552 if err != nil { 553 return *new(bool), err 554 } 555 556 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 557 558 return out0, err 559 560 } 561 562 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 563 // 564 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 565 func (_ERC165 *ERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 566 return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) 567 } 568 569 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 570 // 571 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 572 func (_ERC165 *ERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 573 return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) 574 } 575 576 // ERC721MetaData contains all meta data concerning the ERC721 contract. 577 var ERC721MetaData = &bind.MetaData{ 578 ABI: "[{\"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\"}]", 579 Sigs: map[string]string{ 580 "095ea7b3": "approve(address,uint256)", 581 "70a08231": "balanceOf(address)", 582 "081812fc": "getApproved(uint256)", 583 "e985e9c5": "isApprovedForAll(address,address)", 584 "6352211e": "ownerOf(uint256)", 585 "42842e0e": "safeTransferFrom(address,address,uint256)", 586 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 587 "a22cb465": "setApprovalForAll(address,bool)", 588 "01ffc9a7": "supportsInterface(bytes4)", 589 "23b872dd": "transferFrom(address,address,uint256)", 590 }, 591 Bin: "0x608060405234801561001057600080fd5b506100276301ffc9a760e01b61004260201b60201c565b61003d6380ac58cd60e01b61004260201b60201c565b610110565b7fffffffff0000000000000000000000000000000000000000000000000000000080821614156100d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b610d448061011f6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80636352211e116100665780636352211e146101b157806370a08231146101ce578063a22cb46514610206578063b88d4fde14610234578063e985e9c5146102fa5761009e565b806301ffc9a7146100a3578063081812fc146100de578063095ea7b31461011757806323b872dd1461014557806342842e0e1461017b575b600080fd5b6100ca600480360360208110156100b957600080fd5b50356001600160e01b031916610328565b604080519115158252519081900360200190f35b6100fb600480360360208110156100f457600080fd5b5035610347565b604080516001600160a01b039092168252519081900360200190f35b6101436004803603604081101561012d57600080fd5b506001600160a01b0381351690602001356103ac565b005b6101436004803603606081101561015b57600080fd5b506001600160a01b038135811691602081013590911690604001356104c3565b6101436004803603606081101561019157600080fd5b506001600160a01b0381358116916020810135909116906040013561051b565b6100fb600480360360208110156101c757600080fd5b5035610536565b6101f4600480360360208110156101e457600080fd5b50356001600160a01b0316610593565b60408051918252519081900360200190f35b6101436004803603604081101561021c57600080fd5b506001600160a01b03813516906020013515156105fe565b6101436004803603608081101561024a57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561028557600080fd5b82018360208201111561029757600080fd5b803590602001918460018302840111640100000000831117156102b957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106cd945050505050565b6100ca6004803603604081101561031057600080fd5b506001600160a01b0381358116916020013516610728565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061035282610756565b61039057604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610c72602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006103b782610536565b9050806001600160a01b0316836001600160a01b0316141561040d57604051600160e51b62461bcd028152600401808060200182810382526021815260200180610cc76021913960400191505060405180910390fd5b336001600160a01b038216148061042957506104298133610728565b61046757604051600160e51b62461bcd028152600401808060200182810382526038815260200180610be76038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6104cd3382610773565b61050b57604051600160e51b62461bcd028152600401808060200182810382526031815260200180610ce86031913960400191505060405180910390fd5b61051683838361081a565b505050565b610516838383604051806020016040528060008152506106cd565b6000818152600160205260408120546001600160a01b03168061058d57604051600160e51b62461bcd028152600401808060200182810382526029815260200180610c496029913960400191505060405180910390fd5b92915050565b60006001600160a01b0382166105dd57604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610c1f602a913960400191505060405180910390fd5b6001600160a01b038216600090815260036020526040902061058d90610964565b6001600160a01b03821633141561065f5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6106d88484846104c3565b6106e484848484610968565b61072257604051600160e51b62461bcd028152600401808060200182810382526032815260200180610b656032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b600061077e82610756565b6107bc57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610bbb602c913960400191505060405180910390fd5b60006107c783610536565b9050806001600160a01b0316846001600160a01b031614806108025750836001600160a01b03166107f784610347565b6001600160a01b0316145b8061081257506108128185610728565b949350505050565b826001600160a01b031661082d82610536565b6001600160a01b03161461087557604051600160e51b62461bcd028152600401808060200182810382526029815260200180610c9e6029913960400191505060405180910390fd5b6001600160a01b0382166108bd57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610b976024913960400191505060405180910390fd5b6108c681610aa1565b6001600160a01b03831660009081526003602052604090206108e790610ade565b6001600160a01b038216600090815260036020526040902061090890610af5565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5490565b600061097c846001600160a01b0316610afe565b61098857506001610812565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a055781810151838201526020016109ed565b50505050905090810190601f168015610a325780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610a5457600080fd5b505af1158015610a68573d6000803e3d6000fd5b505050506040513d6020811015610a7e57600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b031615610adb57600081815260026020526040902080546001600160a01b03191690555b50565b8054610af190600163ffffffff610b0416565b9055565b80546001019055565b3b151590565b600082821115610b5e5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a72305820ed0176cdf6bb84bc2e81a19dd4f43f70a184a383de47142e2b45467f824b179b0029", 592 } 593 594 // ERC721ABI is the input ABI used to generate the binding from. 595 // Deprecated: Use ERC721MetaData.ABI instead. 596 var ERC721ABI = ERC721MetaData.ABI 597 598 // ERC721BinRuntime is the compiled bytecode used for adding genesis block without deploying code. 599 const ERC721BinRuntime = `608060405234801561001057600080fd5b506004361061009e5760003560e01c80636352211e116100665780636352211e146101b157806370a08231146101ce578063a22cb46514610206578063b88d4fde14610234578063e985e9c5146102fa5761009e565b806301ffc9a7146100a3578063081812fc146100de578063095ea7b31461011757806323b872dd1461014557806342842e0e1461017b575b600080fd5b6100ca600480360360208110156100b957600080fd5b50356001600160e01b031916610328565b604080519115158252519081900360200190f35b6100fb600480360360208110156100f457600080fd5b5035610347565b604080516001600160a01b039092168252519081900360200190f35b6101436004803603604081101561012d57600080fd5b506001600160a01b0381351690602001356103ac565b005b6101436004803603606081101561015b57600080fd5b506001600160a01b038135811691602081013590911690604001356104c3565b6101436004803603606081101561019157600080fd5b506001600160a01b0381358116916020810135909116906040013561051b565b6100fb600480360360208110156101c757600080fd5b5035610536565b6101f4600480360360208110156101e457600080fd5b50356001600160a01b0316610593565b60408051918252519081900360200190f35b6101436004803603604081101561021c57600080fd5b506001600160a01b03813516906020013515156105fe565b6101436004803603608081101561024a57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561028557600080fd5b82018360208201111561029757600080fd5b803590602001918460018302840111640100000000831117156102b957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106cd945050505050565b6100ca6004803603604081101561031057600080fd5b506001600160a01b0381358116916020013516610728565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061035282610756565b61039057604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610c72602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006103b782610536565b9050806001600160a01b0316836001600160a01b0316141561040d57604051600160e51b62461bcd028152600401808060200182810382526021815260200180610cc76021913960400191505060405180910390fd5b336001600160a01b038216148061042957506104298133610728565b61046757604051600160e51b62461bcd028152600401808060200182810382526038815260200180610be76038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6104cd3382610773565b61050b57604051600160e51b62461bcd028152600401808060200182810382526031815260200180610ce86031913960400191505060405180910390fd5b61051683838361081a565b505050565b610516838383604051806020016040528060008152506106cd565b6000818152600160205260408120546001600160a01b03168061058d57604051600160e51b62461bcd028152600401808060200182810382526029815260200180610c496029913960400191505060405180910390fd5b92915050565b60006001600160a01b0382166105dd57604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610c1f602a913960400191505060405180910390fd5b6001600160a01b038216600090815260036020526040902061058d90610964565b6001600160a01b03821633141561065f5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6106d88484846104c3565b6106e484848484610968565b61072257604051600160e51b62461bcd028152600401808060200182810382526032815260200180610b656032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b600061077e82610756565b6107bc57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610bbb602c913960400191505060405180910390fd5b60006107c783610536565b9050806001600160a01b0316846001600160a01b031614806108025750836001600160a01b03166107f784610347565b6001600160a01b0316145b8061081257506108128185610728565b949350505050565b826001600160a01b031661082d82610536565b6001600160a01b03161461087557604051600160e51b62461bcd028152600401808060200182810382526029815260200180610c9e6029913960400191505060405180910390fd5b6001600160a01b0382166108bd57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610b976024913960400191505060405180910390fd5b6108c681610aa1565b6001600160a01b03831660009081526003602052604090206108e790610ade565b6001600160a01b038216600090815260036020526040902061090890610af5565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5490565b600061097c846001600160a01b0316610afe565b61098857506001610812565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a055781810151838201526020016109ed565b50505050905090810190601f168015610a325780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610a5457600080fd5b505af1158015610a68573d6000803e3d6000fd5b505050506040513d6020811015610a7e57600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b031615610adb57600081815260026020526040902080546001600160a01b03191690555b50565b8054610af190600163ffffffff610b0416565b9055565b80546001019055565b3b151590565b600082821115610b5e5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a72305820ed0176cdf6bb84bc2e81a19dd4f43f70a184a383de47142e2b45467f824b179b0029` 600 601 // ERC721FuncSigs maps the 4-byte function signature to its string representation. 602 // Deprecated: Use ERC721MetaData.Sigs instead. 603 var ERC721FuncSigs = ERC721MetaData.Sigs 604 605 // ERC721Bin is the compiled bytecode used for deploying new contracts. 606 // Deprecated: Use ERC721MetaData.Bin instead. 607 var ERC721Bin = ERC721MetaData.Bin 608 609 // DeployERC721 deploys a new Klaytn contract, binding an instance of ERC721 to it. 610 func DeployERC721(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC721, error) { 611 parsed, err := ERC721MetaData.GetAbi() 612 if err != nil { 613 return common.Address{}, nil, nil, err 614 } 615 if parsed == nil { 616 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 617 } 618 619 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ERC721Bin), backend) 620 if err != nil { 621 return common.Address{}, nil, nil, err 622 } 623 return address, tx, &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil 624 } 625 626 // ERC721 is an auto generated Go binding around a Klaytn contract. 627 type ERC721 struct { 628 ERC721Caller // Read-only binding to the contract 629 ERC721Transactor // Write-only binding to the contract 630 ERC721Filterer // Log filterer for contract events 631 } 632 633 // ERC721Caller is an auto generated read-only Go binding around a Klaytn contract. 634 type ERC721Caller struct { 635 contract *bind.BoundContract // Generic contract wrapper for the low level calls 636 } 637 638 // ERC721Transactor is an auto generated write-only Go binding around a Klaytn contract. 639 type ERC721Transactor struct { 640 contract *bind.BoundContract // Generic contract wrapper for the low level calls 641 } 642 643 // ERC721Filterer is an auto generated log filtering Go binding around a Klaytn contract events. 644 type ERC721Filterer struct { 645 contract *bind.BoundContract // Generic contract wrapper for the low level calls 646 } 647 648 // ERC721Session is an auto generated Go binding around a Klaytn contract, 649 // with pre-set call and transact options. 650 type ERC721Session struct { 651 Contract *ERC721 // Generic contract binding to set the session for 652 CallOpts bind.CallOpts // Call options to use throughout this session 653 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 654 } 655 656 // ERC721CallerSession is an auto generated read-only Go binding around a Klaytn contract, 657 // with pre-set call options. 658 type ERC721CallerSession struct { 659 Contract *ERC721Caller // Generic contract caller binding to set the session for 660 CallOpts bind.CallOpts // Call options to use throughout this session 661 } 662 663 // ERC721TransactorSession is an auto generated write-only Go binding around a Klaytn contract, 664 // with pre-set transact options. 665 type ERC721TransactorSession struct { 666 Contract *ERC721Transactor // Generic contract transactor binding to set the session for 667 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 668 } 669 670 // ERC721Raw is an auto generated low-level Go binding around a Klaytn contract. 671 type ERC721Raw struct { 672 Contract *ERC721 // Generic contract binding to access the raw methods on 673 } 674 675 // ERC721CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 676 type ERC721CallerRaw struct { 677 Contract *ERC721Caller // Generic read-only contract binding to access the raw methods on 678 } 679 680 // ERC721TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 681 type ERC721TransactorRaw struct { 682 Contract *ERC721Transactor // Generic write-only contract binding to access the raw methods on 683 } 684 685 // NewERC721 creates a new instance of ERC721, bound to a specific deployed contract. 686 func NewERC721(address common.Address, backend bind.ContractBackend) (*ERC721, error) { 687 contract, err := bindERC721(address, backend, backend, backend) 688 if err != nil { 689 return nil, err 690 } 691 return &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil 692 } 693 694 // NewERC721Caller creates a new read-only instance of ERC721, bound to a specific deployed contract. 695 func NewERC721Caller(address common.Address, caller bind.ContractCaller) (*ERC721Caller, error) { 696 contract, err := bindERC721(address, caller, nil, nil) 697 if err != nil { 698 return nil, err 699 } 700 return &ERC721Caller{contract: contract}, nil 701 } 702 703 // NewERC721Transactor creates a new write-only instance of ERC721, bound to a specific deployed contract. 704 func NewERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC721Transactor, error) { 705 contract, err := bindERC721(address, nil, transactor, nil) 706 if err != nil { 707 return nil, err 708 } 709 return &ERC721Transactor{contract: contract}, nil 710 } 711 712 // NewERC721Filterer creates a new log filterer instance of ERC721, bound to a specific deployed contract. 713 func NewERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC721Filterer, error) { 714 contract, err := bindERC721(address, nil, nil, filterer) 715 if err != nil { 716 return nil, err 717 } 718 return &ERC721Filterer{contract: contract}, nil 719 } 720 721 // bindERC721 binds a generic wrapper to an already deployed contract. 722 func bindERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 723 parsed, err := ERC721MetaData.GetAbi() 724 if err != nil { 725 return nil, err 726 } 727 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 728 } 729 730 // Call invokes the (constant) contract method with params as input values and 731 // sets the output to result. The result type might be a single field for simple 732 // returns, a slice of interfaces for anonymous returns and a struct for named 733 // returns. 734 func (_ERC721 *ERC721Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 735 return _ERC721.Contract.ERC721Caller.contract.Call(opts, result, method, params...) 736 } 737 738 // Transfer initiates a plain transaction to move funds to the contract, calling 739 // its default method if one is available. 740 func (_ERC721 *ERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 741 return _ERC721.Contract.ERC721Transactor.contract.Transfer(opts) 742 } 743 744 // Transact invokes the (paid) contract method with params as input values. 745 func (_ERC721 *ERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 746 return _ERC721.Contract.ERC721Transactor.contract.Transact(opts, method, params...) 747 } 748 749 // Call invokes the (constant) contract method with params as input values and 750 // sets the output to result. The result type might be a single field for simple 751 // returns, a slice of interfaces for anonymous returns and a struct for named 752 // returns. 753 func (_ERC721 *ERC721CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 754 return _ERC721.Contract.contract.Call(opts, result, method, params...) 755 } 756 757 // Transfer initiates a plain transaction to move funds to the contract, calling 758 // its default method if one is available. 759 func (_ERC721 *ERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 760 return _ERC721.Contract.contract.Transfer(opts) 761 } 762 763 // Transact invokes the (paid) contract method with params as input values. 764 func (_ERC721 *ERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 765 return _ERC721.Contract.contract.Transact(opts, method, params...) 766 } 767 768 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 769 // 770 // Solidity: function balanceOf(address owner) view returns(uint256) 771 func (_ERC721 *ERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 772 var out []interface{} 773 err := _ERC721.contract.Call(opts, &out, "balanceOf", owner) 774 775 if err != nil { 776 return *new(*big.Int), err 777 } 778 779 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 780 781 return out0, err 782 783 } 784 785 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 786 // 787 // Solidity: function balanceOf(address owner) view returns(uint256) 788 func (_ERC721 *ERC721Session) BalanceOf(owner common.Address) (*big.Int, error) { 789 return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner) 790 } 791 792 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 793 // 794 // Solidity: function balanceOf(address owner) view returns(uint256) 795 func (_ERC721 *ERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 796 return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner) 797 } 798 799 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 800 // 801 // Solidity: function getApproved(uint256 tokenId) view returns(address) 802 func (_ERC721 *ERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 803 var out []interface{} 804 err := _ERC721.contract.Call(opts, &out, "getApproved", tokenId) 805 806 if err != nil { 807 return *new(common.Address), err 808 } 809 810 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 811 812 return out0, err 813 814 } 815 816 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 817 // 818 // Solidity: function getApproved(uint256 tokenId) view returns(address) 819 func (_ERC721 *ERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) { 820 return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId) 821 } 822 823 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 824 // 825 // Solidity: function getApproved(uint256 tokenId) view returns(address) 826 func (_ERC721 *ERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 827 return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId) 828 } 829 830 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 831 // 832 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 833 func (_ERC721 *ERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 834 var out []interface{} 835 err := _ERC721.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 836 837 if err != nil { 838 return *new(bool), err 839 } 840 841 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 842 843 return out0, err 844 845 } 846 847 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 848 // 849 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 850 func (_ERC721 *ERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 851 return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator) 852 } 853 854 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 855 // 856 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 857 func (_ERC721 *ERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 858 return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator) 859 } 860 861 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 862 // 863 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 864 func (_ERC721 *ERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 865 var out []interface{} 866 err := _ERC721.contract.Call(opts, &out, "ownerOf", tokenId) 867 868 if err != nil { 869 return *new(common.Address), err 870 } 871 872 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 873 874 return out0, err 875 876 } 877 878 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 879 // 880 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 881 func (_ERC721 *ERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) { 882 return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId) 883 } 884 885 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 886 // 887 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 888 func (_ERC721 *ERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 889 return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId) 890 } 891 892 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 893 // 894 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 895 func (_ERC721 *ERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 896 var out []interface{} 897 err := _ERC721.contract.Call(opts, &out, "supportsInterface", interfaceId) 898 899 if err != nil { 900 return *new(bool), err 901 } 902 903 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 904 905 return out0, err 906 907 } 908 909 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 910 // 911 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 912 func (_ERC721 *ERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 913 return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId) 914 } 915 916 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 917 // 918 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 919 func (_ERC721 *ERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 920 return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId) 921 } 922 923 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 924 // 925 // Solidity: function approve(address to, uint256 tokenId) returns() 926 func (_ERC721 *ERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 927 return _ERC721.contract.Transact(opts, "approve", to, tokenId) 928 } 929 930 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 931 // 932 // Solidity: function approve(address to, uint256 tokenId) returns() 933 func (_ERC721 *ERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 934 return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId) 935 } 936 937 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 938 // 939 // Solidity: function approve(address to, uint256 tokenId) returns() 940 func (_ERC721 *ERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 941 return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId) 942 } 943 944 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 945 // 946 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 947 func (_ERC721 *ERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 948 return _ERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 949 } 950 951 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 952 // 953 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 954 func (_ERC721 *ERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 955 return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 956 } 957 958 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 959 // 960 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 961 func (_ERC721 *ERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 962 return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 963 } 964 965 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 966 // 967 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 968 func (_ERC721 *ERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 969 return _ERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 970 } 971 972 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 973 // 974 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 975 func (_ERC721 *ERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 976 return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, _data) 977 } 978 979 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 980 // 981 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 982 func (_ERC721 *ERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 983 return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, _data) 984 } 985 986 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 987 // 988 // Solidity: function setApprovalForAll(address to, bool approved) returns() 989 func (_ERC721 *ERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 990 return _ERC721.contract.Transact(opts, "setApprovalForAll", to, approved) 991 } 992 993 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 994 // 995 // Solidity: function setApprovalForAll(address to, bool approved) returns() 996 func (_ERC721 *ERC721Session) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 997 return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, to, approved) 998 } 999 1000 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 1001 // 1002 // Solidity: function setApprovalForAll(address to, bool approved) returns() 1003 func (_ERC721 *ERC721TransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 1004 return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, to, approved) 1005 } 1006 1007 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1008 // 1009 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1010 func (_ERC721 *ERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1011 return _ERC721.contract.Transact(opts, "transferFrom", from, to, tokenId) 1012 } 1013 1014 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1015 // 1016 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1017 func (_ERC721 *ERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1018 return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 1019 } 1020 1021 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1022 // 1023 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1024 func (_ERC721 *ERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1025 return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 1026 } 1027 1028 // 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. 1029 type ERC721ApprovalIterator struct { 1030 Event *ERC721Approval // Event containing the contract specifics and raw log 1031 1032 contract *bind.BoundContract // Generic contract to use for unpacking event data 1033 event string // Event name to use for unpacking event data 1034 1035 logs chan types.Log // Log channel receiving the found contract events 1036 sub klaytn.Subscription // Subscription for errors, completion and termination 1037 done bool // Whether the subscription completed delivering logs 1038 fail error // Occurred error to stop iteration 1039 } 1040 1041 // Next advances the iterator to the subsequent event, returning whether there 1042 // are any more events found. In case of a retrieval or parsing error, false is 1043 // returned and Error() can be queried for the exact failure. 1044 func (it *ERC721ApprovalIterator) Next() bool { 1045 // If the iterator failed, stop iterating 1046 if it.fail != nil { 1047 return false 1048 } 1049 // If the iterator completed, deliver directly whatever's available 1050 if it.done { 1051 select { 1052 case log := <-it.logs: 1053 it.Event = new(ERC721Approval) 1054 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1055 it.fail = err 1056 return false 1057 } 1058 it.Event.Raw = log 1059 return true 1060 1061 default: 1062 return false 1063 } 1064 } 1065 // Iterator still in progress, wait for either a data or an error event 1066 select { 1067 case log := <-it.logs: 1068 it.Event = new(ERC721Approval) 1069 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1070 it.fail = err 1071 return false 1072 } 1073 it.Event.Raw = log 1074 return true 1075 1076 case err := <-it.sub.Err(): 1077 it.done = true 1078 it.fail = err 1079 return it.Next() 1080 } 1081 } 1082 1083 // Error returns any retrieval or parsing error occurred during filtering. 1084 func (it *ERC721ApprovalIterator) Error() error { 1085 return it.fail 1086 } 1087 1088 // Close terminates the iteration process, releasing any pending underlying 1089 // resources. 1090 func (it *ERC721ApprovalIterator) Close() error { 1091 it.sub.Unsubscribe() 1092 return nil 1093 } 1094 1095 // ERC721Approval represents a Approval event raised by the ERC721 contract. 1096 type ERC721Approval struct { 1097 Owner common.Address 1098 Approved common.Address 1099 TokenId *big.Int 1100 Raw types.Log // Blockchain specific contextual infos 1101 } 1102 1103 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1104 // 1105 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1106 func (_ERC721 *ERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721ApprovalIterator, error) { 1107 1108 var ownerRule []interface{} 1109 for _, ownerItem := range owner { 1110 ownerRule = append(ownerRule, ownerItem) 1111 } 1112 var approvedRule []interface{} 1113 for _, approvedItem := range approved { 1114 approvedRule = append(approvedRule, approvedItem) 1115 } 1116 var tokenIdRule []interface{} 1117 for _, tokenIdItem := range tokenId { 1118 tokenIdRule = append(tokenIdRule, tokenIdItem) 1119 } 1120 1121 logs, sub, err := _ERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 1122 if err != nil { 1123 return nil, err 1124 } 1125 return &ERC721ApprovalIterator{contract: _ERC721.contract, event: "Approval", logs: logs, sub: sub}, nil 1126 } 1127 1128 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1129 // 1130 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1131 func (_ERC721 *ERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 1132 1133 var ownerRule []interface{} 1134 for _, ownerItem := range owner { 1135 ownerRule = append(ownerRule, ownerItem) 1136 } 1137 var approvedRule []interface{} 1138 for _, approvedItem := range approved { 1139 approvedRule = append(approvedRule, approvedItem) 1140 } 1141 var tokenIdRule []interface{} 1142 for _, tokenIdItem := range tokenId { 1143 tokenIdRule = append(tokenIdRule, tokenIdItem) 1144 } 1145 1146 logs, sub, err := _ERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 1147 if err != nil { 1148 return nil, err 1149 } 1150 return event.NewSubscription(func(quit <-chan struct{}) error { 1151 defer sub.Unsubscribe() 1152 for { 1153 select { 1154 case log := <-logs: 1155 // New log arrived, parse the event and forward to the user 1156 event := new(ERC721Approval) 1157 if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil { 1158 return err 1159 } 1160 event.Raw = log 1161 1162 select { 1163 case sink <- event: 1164 case err := <-sub.Err(): 1165 return err 1166 case <-quit: 1167 return nil 1168 } 1169 case err := <-sub.Err(): 1170 return err 1171 case <-quit: 1172 return nil 1173 } 1174 } 1175 }), nil 1176 } 1177 1178 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1179 // 1180 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1181 func (_ERC721 *ERC721Filterer) ParseApproval(log types.Log) (*ERC721Approval, error) { 1182 event := new(ERC721Approval) 1183 if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil { 1184 return nil, err 1185 } 1186 return event, nil 1187 } 1188 1189 // 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. 1190 type ERC721ApprovalForAllIterator struct { 1191 Event *ERC721ApprovalForAll // Event containing the contract specifics and raw log 1192 1193 contract *bind.BoundContract // Generic contract to use for unpacking event data 1194 event string // Event name to use for unpacking event data 1195 1196 logs chan types.Log // Log channel receiving the found contract events 1197 sub klaytn.Subscription // Subscription for errors, completion and termination 1198 done bool // Whether the subscription completed delivering logs 1199 fail error // Occurred error to stop iteration 1200 } 1201 1202 // Next advances the iterator to the subsequent event, returning whether there 1203 // are any more events found. In case of a retrieval or parsing error, false is 1204 // returned and Error() can be queried for the exact failure. 1205 func (it *ERC721ApprovalForAllIterator) Next() bool { 1206 // If the iterator failed, stop iterating 1207 if it.fail != nil { 1208 return false 1209 } 1210 // If the iterator completed, deliver directly whatever's available 1211 if it.done { 1212 select { 1213 case log := <-it.logs: 1214 it.Event = new(ERC721ApprovalForAll) 1215 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1216 it.fail = err 1217 return false 1218 } 1219 it.Event.Raw = log 1220 return true 1221 1222 default: 1223 return false 1224 } 1225 } 1226 // Iterator still in progress, wait for either a data or an error event 1227 select { 1228 case log := <-it.logs: 1229 it.Event = new(ERC721ApprovalForAll) 1230 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1231 it.fail = err 1232 return false 1233 } 1234 it.Event.Raw = log 1235 return true 1236 1237 case err := <-it.sub.Err(): 1238 it.done = true 1239 it.fail = err 1240 return it.Next() 1241 } 1242 } 1243 1244 // Error returns any retrieval or parsing error occurred during filtering. 1245 func (it *ERC721ApprovalForAllIterator) Error() error { 1246 return it.fail 1247 } 1248 1249 // Close terminates the iteration process, releasing any pending underlying 1250 // resources. 1251 func (it *ERC721ApprovalForAllIterator) Close() error { 1252 it.sub.Unsubscribe() 1253 return nil 1254 } 1255 1256 // ERC721ApprovalForAll represents a ApprovalForAll event raised by the ERC721 contract. 1257 type ERC721ApprovalForAll struct { 1258 Owner common.Address 1259 Operator common.Address 1260 Approved bool 1261 Raw types.Log // Blockchain specific contextual infos 1262 } 1263 1264 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 1265 // 1266 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 1267 func (_ERC721 *ERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721ApprovalForAllIterator, error) { 1268 1269 var ownerRule []interface{} 1270 for _, ownerItem := range owner { 1271 ownerRule = append(ownerRule, ownerItem) 1272 } 1273 var operatorRule []interface{} 1274 for _, operatorItem := range operator { 1275 operatorRule = append(operatorRule, operatorItem) 1276 } 1277 1278 logs, sub, err := _ERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 1279 if err != nil { 1280 return nil, err 1281 } 1282 return &ERC721ApprovalForAllIterator{contract: _ERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 1283 } 1284 1285 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 1286 // 1287 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 1288 func (_ERC721 *ERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 1289 1290 var ownerRule []interface{} 1291 for _, ownerItem := range owner { 1292 ownerRule = append(ownerRule, ownerItem) 1293 } 1294 var operatorRule []interface{} 1295 for _, operatorItem := range operator { 1296 operatorRule = append(operatorRule, operatorItem) 1297 } 1298 1299 logs, sub, err := _ERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 1300 if err != nil { 1301 return nil, err 1302 } 1303 return event.NewSubscription(func(quit <-chan struct{}) error { 1304 defer sub.Unsubscribe() 1305 for { 1306 select { 1307 case log := <-logs: 1308 // New log arrived, parse the event and forward to the user 1309 event := new(ERC721ApprovalForAll) 1310 if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 1311 return err 1312 } 1313 event.Raw = log 1314 1315 select { 1316 case sink <- event: 1317 case err := <-sub.Err(): 1318 return err 1319 case <-quit: 1320 return nil 1321 } 1322 case err := <-sub.Err(): 1323 return err 1324 case <-quit: 1325 return nil 1326 } 1327 } 1328 }), nil 1329 } 1330 1331 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 1332 // 1333 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 1334 func (_ERC721 *ERC721Filterer) ParseApprovalForAll(log types.Log) (*ERC721ApprovalForAll, error) { 1335 event := new(ERC721ApprovalForAll) 1336 if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 1337 return nil, err 1338 } 1339 return event, nil 1340 } 1341 1342 // 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. 1343 type ERC721TransferIterator struct { 1344 Event *ERC721Transfer // Event containing the contract specifics and raw log 1345 1346 contract *bind.BoundContract // Generic contract to use for unpacking event data 1347 event string // Event name to use for unpacking event data 1348 1349 logs chan types.Log // Log channel receiving the found contract events 1350 sub klaytn.Subscription // Subscription for errors, completion and termination 1351 done bool // Whether the subscription completed delivering logs 1352 fail error // Occurred error to stop iteration 1353 } 1354 1355 // Next advances the iterator to the subsequent event, returning whether there 1356 // are any more events found. In case of a retrieval or parsing error, false is 1357 // returned and Error() can be queried for the exact failure. 1358 func (it *ERC721TransferIterator) Next() bool { 1359 // If the iterator failed, stop iterating 1360 if it.fail != nil { 1361 return false 1362 } 1363 // If the iterator completed, deliver directly whatever's available 1364 if it.done { 1365 select { 1366 case log := <-it.logs: 1367 it.Event = new(ERC721Transfer) 1368 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1369 it.fail = err 1370 return false 1371 } 1372 it.Event.Raw = log 1373 return true 1374 1375 default: 1376 return false 1377 } 1378 } 1379 // Iterator still in progress, wait for either a data or an error event 1380 select { 1381 case log := <-it.logs: 1382 it.Event = new(ERC721Transfer) 1383 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1384 it.fail = err 1385 return false 1386 } 1387 it.Event.Raw = log 1388 return true 1389 1390 case err := <-it.sub.Err(): 1391 it.done = true 1392 it.fail = err 1393 return it.Next() 1394 } 1395 } 1396 1397 // Error returns any retrieval or parsing error occurred during filtering. 1398 func (it *ERC721TransferIterator) Error() error { 1399 return it.fail 1400 } 1401 1402 // Close terminates the iteration process, releasing any pending underlying 1403 // resources. 1404 func (it *ERC721TransferIterator) Close() error { 1405 it.sub.Unsubscribe() 1406 return nil 1407 } 1408 1409 // ERC721Transfer represents a Transfer event raised by the ERC721 contract. 1410 type ERC721Transfer struct { 1411 From common.Address 1412 To common.Address 1413 TokenId *big.Int 1414 Raw types.Log // Blockchain specific contextual infos 1415 } 1416 1417 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1418 // 1419 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 1420 func (_ERC721 *ERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721TransferIterator, error) { 1421 1422 var fromRule []interface{} 1423 for _, fromItem := range from { 1424 fromRule = append(fromRule, fromItem) 1425 } 1426 var toRule []interface{} 1427 for _, toItem := range to { 1428 toRule = append(toRule, toItem) 1429 } 1430 var tokenIdRule []interface{} 1431 for _, tokenIdItem := range tokenId { 1432 tokenIdRule = append(tokenIdRule, tokenIdItem) 1433 } 1434 1435 logs, sub, err := _ERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 1436 if err != nil { 1437 return nil, err 1438 } 1439 return &ERC721TransferIterator{contract: _ERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil 1440 } 1441 1442 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1443 // 1444 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 1445 func (_ERC721 *ERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 1446 1447 var fromRule []interface{} 1448 for _, fromItem := range from { 1449 fromRule = append(fromRule, fromItem) 1450 } 1451 var toRule []interface{} 1452 for _, toItem := range to { 1453 toRule = append(toRule, toItem) 1454 } 1455 var tokenIdRule []interface{} 1456 for _, tokenIdItem := range tokenId { 1457 tokenIdRule = append(tokenIdRule, tokenIdItem) 1458 } 1459 1460 logs, sub, err := _ERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 1461 if err != nil { 1462 return nil, err 1463 } 1464 return event.NewSubscription(func(quit <-chan struct{}) error { 1465 defer sub.Unsubscribe() 1466 for { 1467 select { 1468 case log := <-logs: 1469 // New log arrived, parse the event and forward to the user 1470 event := new(ERC721Transfer) 1471 if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 1472 return err 1473 } 1474 event.Raw = log 1475 1476 select { 1477 case sink <- event: 1478 case err := <-sub.Err(): 1479 return err 1480 case <-quit: 1481 return nil 1482 } 1483 case err := <-sub.Err(): 1484 return err 1485 case <-quit: 1486 return nil 1487 } 1488 } 1489 }), nil 1490 } 1491 1492 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1493 // 1494 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 1495 func (_ERC721 *ERC721Filterer) ParseTransfer(log types.Log) (*ERC721Transfer, error) { 1496 event := new(ERC721Transfer) 1497 if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 1498 return nil, err 1499 } 1500 return event, nil 1501 } 1502 1503 // ERC721BurnableMetaData contains all meta data concerning the ERC721Burnable contract. 1504 var ERC721BurnableMetaData = &bind.MetaData{ 1505 ABI: "[{\"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\"}]", 1506 Sigs: map[string]string{ 1507 "095ea7b3": "approve(address,uint256)", 1508 "70a08231": "balanceOf(address)", 1509 "42966c68": "burn(uint256)", 1510 "081812fc": "getApproved(uint256)", 1511 "e985e9c5": "isApprovedForAll(address,address)", 1512 "6352211e": "ownerOf(uint256)", 1513 "42842e0e": "safeTransferFrom(address,address,uint256)", 1514 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 1515 "a22cb465": "setApprovalForAll(address,bool)", 1516 "01ffc9a7": "supportsInterface(bytes4)", 1517 "23b872dd": "transferFrom(address,address,uint256)", 1518 }, 1519 Bin: "0x608060405261001a6301ffc9a760e01b61003560201b60201c565b6100306380ac58cd60e01b61003560201b60201c565b610103565b7fffffffff0000000000000000000000000000000000000000000000000000000080821614156100c657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b610eff806101126000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806342966c681161007157806342966c68146101bc5780636352211e146101d957806370a08231146101f6578063a22cb4651461022e578063b88d4fde1461025c578063e985e9c514610322576100a9565b806301ffc9a7146100ae578063081812fc146100e9578063095ea7b31461012257806323b872dd1461015057806342842e0e14610186575b600080fd5b6100d5600480360360208110156100c457600080fd5b50356001600160e01b031916610350565b604080519115158252519081900360200190f35b610106600480360360208110156100ff57600080fd5b503561036f565b604080516001600160a01b039092168252519081900360200190f35b61014e6004803603604081101561013857600080fd5b506001600160a01b0381351690602001356103d4565b005b61014e6004803603606081101561016657600080fd5b506001600160a01b038135811691602081013590911690604001356104eb565b61014e6004803603606081101561019c57600080fd5b506001600160a01b03813581169160208101359091169060400135610543565b61014e600480360360208110156101d257600080fd5b503561055e565b610106600480360360208110156101ef57600080fd5b50356105b2565b61021c6004803603602081101561020c57600080fd5b50356001600160a01b031661060f565b60408051918252519081900360200190f35b61014e6004803603604081101561024457600080fd5b506001600160a01b038135169060200135151561067a565b61014e6004803603608081101561027257600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156102ad57600080fd5b8201836020820111156102bf57600080fd5b803590602001918460018302840111640100000000831117156102e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610749945050505050565b6100d56004803603604081101561033857600080fd5b506001600160a01b03813581169160200135166107a4565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061037a826107d2565b6103b857604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610dd8602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006103df826105b2565b9050806001600160a01b0316836001600160a01b0316141561043557604051600160e51b62461bcd028152600401808060200182810382526021815260200180610e2d6021913960400191505060405180910390fd5b336001600160a01b0382161480610451575061045181336107a4565b61048f57604051600160e51b62461bcd028152600401808060200182810382526038815260200180610d4d6038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6104f533826107ef565b61053357604051600160e51b62461bcd028152600401808060200182810382526031815260200180610e4e6031913960400191505060405180910390fd5b61053e838383610896565b505050565b61053e83838360405180602001604052806000815250610749565b61056833826107ef565b6105a657604051600160e51b62461bcd028152600401808060200182810382526030815260200180610ea46030913960400191505060405180910390fd5b6105af816109e0565b50565b6000818152600160205260408120546001600160a01b03168061060957604051600160e51b62461bcd028152600401808060200182810382526029815260200180610daf6029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661065957604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610d85602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020610609906109f2565b6001600160a01b0382163314156106db5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6107548484846104eb565b610760848484846109f6565b61079e57604051600160e51b62461bcd028152600401808060200182810382526032815260200180610ccb6032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b60006107fa826107d2565b61083857604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610d21602c913960400191505060405180910390fd5b6000610843836105b2565b9050806001600160a01b0316846001600160a01b0316148061087e5750836001600160a01b03166108738461036f565b6001600160a01b0316145b8061088e575061088e81856107a4565b949350505050565b826001600160a01b03166108a9826105b2565b6001600160a01b0316146108f157604051600160e51b62461bcd028152600401808060200182810382526029815260200180610e046029913960400191505060405180910390fd5b6001600160a01b03821661093957604051600160e51b62461bcd028152600401808060200182810382526024815260200180610cfd6024913960400191505060405180910390fd5b61094281610b2f565b6001600160a01b038316600090815260036020526040902061096390610b6a565b6001600160a01b038216600090815260036020526040902061098490610b81565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6105af6109ec826105b2565b82610b8a565b5490565b6000610a0a846001600160a01b0316610c64565b610a165750600161088e565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a93578181015183820152602001610a7b565b50505050905090810190601f168015610ac05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610ae257600080fd5b505af1158015610af6573d6000803e3d6000fd5b505050506040513d6020811015610b0c57600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b0316156105af57600090815260026020526040902080546001600160a01b0319169055565b8054610b7d90600163ffffffff610c6a16565b9055565b80546001019055565b816001600160a01b0316610b9d826105b2565b6001600160a01b031614610be557604051600160e51b62461bcd028152600401808060200182810382526025815260200180610e7f6025913960400191505060405180910390fd5b610bee81610b2f565b6001600160a01b0382166000908152600360205260409020610c0f90610b6a565b60008181526001602052604080822080546001600160a01b0319169055518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b3b151590565b600082821115610cc45760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a723058200b2831a1feaad2f1c210200377a7ea891524c8e08250cec47ef805ccf70f5f8c0029", 1520 } 1521 1522 // ERC721BurnableABI is the input ABI used to generate the binding from. 1523 // Deprecated: Use ERC721BurnableMetaData.ABI instead. 1524 var ERC721BurnableABI = ERC721BurnableMetaData.ABI 1525 1526 // ERC721BurnableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 1527 const ERC721BurnableBinRuntime = `608060405234801561001057600080fd5b50600436106100a95760003560e01c806342966c681161007157806342966c68146101bc5780636352211e146101d957806370a08231146101f6578063a22cb4651461022e578063b88d4fde1461025c578063e985e9c514610322576100a9565b806301ffc9a7146100ae578063081812fc146100e9578063095ea7b31461012257806323b872dd1461015057806342842e0e14610186575b600080fd5b6100d5600480360360208110156100c457600080fd5b50356001600160e01b031916610350565b604080519115158252519081900360200190f35b610106600480360360208110156100ff57600080fd5b503561036f565b604080516001600160a01b039092168252519081900360200190f35b61014e6004803603604081101561013857600080fd5b506001600160a01b0381351690602001356103d4565b005b61014e6004803603606081101561016657600080fd5b506001600160a01b038135811691602081013590911690604001356104eb565b61014e6004803603606081101561019c57600080fd5b506001600160a01b03813581169160208101359091169060400135610543565b61014e600480360360208110156101d257600080fd5b503561055e565b610106600480360360208110156101ef57600080fd5b50356105b2565b61021c6004803603602081101561020c57600080fd5b50356001600160a01b031661060f565b60408051918252519081900360200190f35b61014e6004803603604081101561024457600080fd5b506001600160a01b038135169060200135151561067a565b61014e6004803603608081101561027257600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156102ad57600080fd5b8201836020820111156102bf57600080fd5b803590602001918460018302840111640100000000831117156102e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610749945050505050565b6100d56004803603604081101561033857600080fd5b506001600160a01b03813581169160200135166107a4565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061037a826107d2565b6103b857604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610dd8602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006103df826105b2565b9050806001600160a01b0316836001600160a01b0316141561043557604051600160e51b62461bcd028152600401808060200182810382526021815260200180610e2d6021913960400191505060405180910390fd5b336001600160a01b0382161480610451575061045181336107a4565b61048f57604051600160e51b62461bcd028152600401808060200182810382526038815260200180610d4d6038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6104f533826107ef565b61053357604051600160e51b62461bcd028152600401808060200182810382526031815260200180610e4e6031913960400191505060405180910390fd5b61053e838383610896565b505050565b61053e83838360405180602001604052806000815250610749565b61056833826107ef565b6105a657604051600160e51b62461bcd028152600401808060200182810382526030815260200180610ea46030913960400191505060405180910390fd5b6105af816109e0565b50565b6000818152600160205260408120546001600160a01b03168061060957604051600160e51b62461bcd028152600401808060200182810382526029815260200180610daf6029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661065957604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610d85602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020610609906109f2565b6001600160a01b0382163314156106db5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6107548484846104eb565b610760848484846109f6565b61079e57604051600160e51b62461bcd028152600401808060200182810382526032815260200180610ccb6032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b60006107fa826107d2565b61083857604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610d21602c913960400191505060405180910390fd5b6000610843836105b2565b9050806001600160a01b0316846001600160a01b0316148061087e5750836001600160a01b03166108738461036f565b6001600160a01b0316145b8061088e575061088e81856107a4565b949350505050565b826001600160a01b03166108a9826105b2565b6001600160a01b0316146108f157604051600160e51b62461bcd028152600401808060200182810382526029815260200180610e046029913960400191505060405180910390fd5b6001600160a01b03821661093957604051600160e51b62461bcd028152600401808060200182810382526024815260200180610cfd6024913960400191505060405180910390fd5b61094281610b2f565b6001600160a01b038316600090815260036020526040902061096390610b6a565b6001600160a01b038216600090815260036020526040902061098490610b81565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6105af6109ec826105b2565b82610b8a565b5490565b6000610a0a846001600160a01b0316610c64565b610a165750600161088e565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a93578181015183820152602001610a7b565b50505050905090810190601f168015610ac05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610ae257600080fd5b505af1158015610af6573d6000803e3d6000fd5b505050506040513d6020811015610b0c57600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b0316156105af57600090815260026020526040902080546001600160a01b0319169055565b8054610b7d90600163ffffffff610c6a16565b9055565b80546001019055565b816001600160a01b0316610b9d826105b2565b6001600160a01b031614610be557604051600160e51b62461bcd028152600401808060200182810382526025815260200180610e7f6025913960400191505060405180910390fd5b610bee81610b2f565b6001600160a01b0382166000908152600360205260409020610c0f90610b6a565b60008181526001602052604080822080546001600160a01b0319169055518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b3b151590565b600082821115610cc45760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a723058200b2831a1feaad2f1c210200377a7ea891524c8e08250cec47ef805ccf70f5f8c0029` 1528 1529 // ERC721BurnableFuncSigs maps the 4-byte function signature to its string representation. 1530 // Deprecated: Use ERC721BurnableMetaData.Sigs instead. 1531 var ERC721BurnableFuncSigs = ERC721BurnableMetaData.Sigs 1532 1533 // ERC721BurnableBin is the compiled bytecode used for deploying new contracts. 1534 // Deprecated: Use ERC721BurnableMetaData.Bin instead. 1535 var ERC721BurnableBin = ERC721BurnableMetaData.Bin 1536 1537 // DeployERC721Burnable deploys a new Klaytn contract, binding an instance of ERC721Burnable to it. 1538 func DeployERC721Burnable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC721Burnable, error) { 1539 parsed, err := ERC721BurnableMetaData.GetAbi() 1540 if err != nil { 1541 return common.Address{}, nil, nil, err 1542 } 1543 if parsed == nil { 1544 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 1545 } 1546 1547 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ERC721BurnableBin), backend) 1548 if err != nil { 1549 return common.Address{}, nil, nil, err 1550 } 1551 return address, tx, &ERC721Burnable{ERC721BurnableCaller: ERC721BurnableCaller{contract: contract}, ERC721BurnableTransactor: ERC721BurnableTransactor{contract: contract}, ERC721BurnableFilterer: ERC721BurnableFilterer{contract: contract}}, nil 1552 } 1553 1554 // ERC721Burnable is an auto generated Go binding around a Klaytn contract. 1555 type ERC721Burnable struct { 1556 ERC721BurnableCaller // Read-only binding to the contract 1557 ERC721BurnableTransactor // Write-only binding to the contract 1558 ERC721BurnableFilterer // Log filterer for contract events 1559 } 1560 1561 // ERC721BurnableCaller is an auto generated read-only Go binding around a Klaytn contract. 1562 type ERC721BurnableCaller struct { 1563 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1564 } 1565 1566 // ERC721BurnableTransactor is an auto generated write-only Go binding around a Klaytn contract. 1567 type ERC721BurnableTransactor struct { 1568 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1569 } 1570 1571 // ERC721BurnableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 1572 type ERC721BurnableFilterer struct { 1573 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1574 } 1575 1576 // ERC721BurnableSession is an auto generated Go binding around a Klaytn contract, 1577 // with pre-set call and transact options. 1578 type ERC721BurnableSession struct { 1579 Contract *ERC721Burnable // Generic contract binding to set the session for 1580 CallOpts bind.CallOpts // Call options to use throughout this session 1581 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1582 } 1583 1584 // ERC721BurnableCallerSession is an auto generated read-only Go binding around a Klaytn contract, 1585 // with pre-set call options. 1586 type ERC721BurnableCallerSession struct { 1587 Contract *ERC721BurnableCaller // Generic contract caller binding to set the session for 1588 CallOpts bind.CallOpts // Call options to use throughout this session 1589 } 1590 1591 // ERC721BurnableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 1592 // with pre-set transact options. 1593 type ERC721BurnableTransactorSession struct { 1594 Contract *ERC721BurnableTransactor // Generic contract transactor binding to set the session for 1595 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1596 } 1597 1598 // ERC721BurnableRaw is an auto generated low-level Go binding around a Klaytn contract. 1599 type ERC721BurnableRaw struct { 1600 Contract *ERC721Burnable // Generic contract binding to access the raw methods on 1601 } 1602 1603 // ERC721BurnableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 1604 type ERC721BurnableCallerRaw struct { 1605 Contract *ERC721BurnableCaller // Generic read-only contract binding to access the raw methods on 1606 } 1607 1608 // ERC721BurnableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 1609 type ERC721BurnableTransactorRaw struct { 1610 Contract *ERC721BurnableTransactor // Generic write-only contract binding to access the raw methods on 1611 } 1612 1613 // NewERC721Burnable creates a new instance of ERC721Burnable, bound to a specific deployed contract. 1614 func NewERC721Burnable(address common.Address, backend bind.ContractBackend) (*ERC721Burnable, error) { 1615 contract, err := bindERC721Burnable(address, backend, backend, backend) 1616 if err != nil { 1617 return nil, err 1618 } 1619 return &ERC721Burnable{ERC721BurnableCaller: ERC721BurnableCaller{contract: contract}, ERC721BurnableTransactor: ERC721BurnableTransactor{contract: contract}, ERC721BurnableFilterer: ERC721BurnableFilterer{contract: contract}}, nil 1620 } 1621 1622 // NewERC721BurnableCaller creates a new read-only instance of ERC721Burnable, bound to a specific deployed contract. 1623 func NewERC721BurnableCaller(address common.Address, caller bind.ContractCaller) (*ERC721BurnableCaller, error) { 1624 contract, err := bindERC721Burnable(address, caller, nil, nil) 1625 if err != nil { 1626 return nil, err 1627 } 1628 return &ERC721BurnableCaller{contract: contract}, nil 1629 } 1630 1631 // NewERC721BurnableTransactor creates a new write-only instance of ERC721Burnable, bound to a specific deployed contract. 1632 func NewERC721BurnableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721BurnableTransactor, error) { 1633 contract, err := bindERC721Burnable(address, nil, transactor, nil) 1634 if err != nil { 1635 return nil, err 1636 } 1637 return &ERC721BurnableTransactor{contract: contract}, nil 1638 } 1639 1640 // NewERC721BurnableFilterer creates a new log filterer instance of ERC721Burnable, bound to a specific deployed contract. 1641 func NewERC721BurnableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721BurnableFilterer, error) { 1642 contract, err := bindERC721Burnable(address, nil, nil, filterer) 1643 if err != nil { 1644 return nil, err 1645 } 1646 return &ERC721BurnableFilterer{contract: contract}, nil 1647 } 1648 1649 // bindERC721Burnable binds a generic wrapper to an already deployed contract. 1650 func bindERC721Burnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1651 parsed, err := ERC721BurnableMetaData.GetAbi() 1652 if err != nil { 1653 return nil, err 1654 } 1655 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 1656 } 1657 1658 // Call invokes the (constant) contract method with params as input values and 1659 // sets the output to result. The result type might be a single field for simple 1660 // returns, a slice of interfaces for anonymous returns and a struct for named 1661 // returns. 1662 func (_ERC721Burnable *ERC721BurnableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1663 return _ERC721Burnable.Contract.ERC721BurnableCaller.contract.Call(opts, result, method, params...) 1664 } 1665 1666 // Transfer initiates a plain transaction to move funds to the contract, calling 1667 // its default method if one is available. 1668 func (_ERC721Burnable *ERC721BurnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1669 return _ERC721Burnable.Contract.ERC721BurnableTransactor.contract.Transfer(opts) 1670 } 1671 1672 // Transact invokes the (paid) contract method with params as input values. 1673 func (_ERC721Burnable *ERC721BurnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1674 return _ERC721Burnable.Contract.ERC721BurnableTransactor.contract.Transact(opts, method, params...) 1675 } 1676 1677 // Call invokes the (constant) contract method with params as input values and 1678 // sets the output to result. The result type might be a single field for simple 1679 // returns, a slice of interfaces for anonymous returns and a struct for named 1680 // returns. 1681 func (_ERC721Burnable *ERC721BurnableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1682 return _ERC721Burnable.Contract.contract.Call(opts, result, method, params...) 1683 } 1684 1685 // Transfer initiates a plain transaction to move funds to the contract, calling 1686 // its default method if one is available. 1687 func (_ERC721Burnable *ERC721BurnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1688 return _ERC721Burnable.Contract.contract.Transfer(opts) 1689 } 1690 1691 // Transact invokes the (paid) contract method with params as input values. 1692 func (_ERC721Burnable *ERC721BurnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1693 return _ERC721Burnable.Contract.contract.Transact(opts, method, params...) 1694 } 1695 1696 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1697 // 1698 // Solidity: function balanceOf(address owner) view returns(uint256) 1699 func (_ERC721Burnable *ERC721BurnableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 1700 var out []interface{} 1701 err := _ERC721Burnable.contract.Call(opts, &out, "balanceOf", owner) 1702 1703 if err != nil { 1704 return *new(*big.Int), err 1705 } 1706 1707 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1708 1709 return out0, err 1710 1711 } 1712 1713 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1714 // 1715 // Solidity: function balanceOf(address owner) view returns(uint256) 1716 func (_ERC721Burnable *ERC721BurnableSession) BalanceOf(owner common.Address) (*big.Int, error) { 1717 return _ERC721Burnable.Contract.BalanceOf(&_ERC721Burnable.CallOpts, owner) 1718 } 1719 1720 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1721 // 1722 // Solidity: function balanceOf(address owner) view returns(uint256) 1723 func (_ERC721Burnable *ERC721BurnableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 1724 return _ERC721Burnable.Contract.BalanceOf(&_ERC721Burnable.CallOpts, owner) 1725 } 1726 1727 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 1728 // 1729 // Solidity: function getApproved(uint256 tokenId) view returns(address) 1730 func (_ERC721Burnable *ERC721BurnableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 1731 var out []interface{} 1732 err := _ERC721Burnable.contract.Call(opts, &out, "getApproved", tokenId) 1733 1734 if err != nil { 1735 return *new(common.Address), err 1736 } 1737 1738 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 1739 1740 return out0, err 1741 1742 } 1743 1744 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 1745 // 1746 // Solidity: function getApproved(uint256 tokenId) view returns(address) 1747 func (_ERC721Burnable *ERC721BurnableSession) GetApproved(tokenId *big.Int) (common.Address, error) { 1748 return _ERC721Burnable.Contract.GetApproved(&_ERC721Burnable.CallOpts, tokenId) 1749 } 1750 1751 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 1752 // 1753 // Solidity: function getApproved(uint256 tokenId) view returns(address) 1754 func (_ERC721Burnable *ERC721BurnableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 1755 return _ERC721Burnable.Contract.GetApproved(&_ERC721Burnable.CallOpts, tokenId) 1756 } 1757 1758 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 1759 // 1760 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 1761 func (_ERC721Burnable *ERC721BurnableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 1762 var out []interface{} 1763 err := _ERC721Burnable.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 1764 1765 if err != nil { 1766 return *new(bool), err 1767 } 1768 1769 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 1770 1771 return out0, err 1772 1773 } 1774 1775 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 1776 // 1777 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 1778 func (_ERC721Burnable *ERC721BurnableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 1779 return _ERC721Burnable.Contract.IsApprovedForAll(&_ERC721Burnable.CallOpts, owner, operator) 1780 } 1781 1782 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 1783 // 1784 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 1785 func (_ERC721Burnable *ERC721BurnableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 1786 return _ERC721Burnable.Contract.IsApprovedForAll(&_ERC721Burnable.CallOpts, owner, operator) 1787 } 1788 1789 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 1790 // 1791 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 1792 func (_ERC721Burnable *ERC721BurnableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 1793 var out []interface{} 1794 err := _ERC721Burnable.contract.Call(opts, &out, "ownerOf", tokenId) 1795 1796 if err != nil { 1797 return *new(common.Address), err 1798 } 1799 1800 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 1801 1802 return out0, err 1803 1804 } 1805 1806 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 1807 // 1808 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 1809 func (_ERC721Burnable *ERC721BurnableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 1810 return _ERC721Burnable.Contract.OwnerOf(&_ERC721Burnable.CallOpts, tokenId) 1811 } 1812 1813 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 1814 // 1815 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 1816 func (_ERC721Burnable *ERC721BurnableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 1817 return _ERC721Burnable.Contract.OwnerOf(&_ERC721Burnable.CallOpts, tokenId) 1818 } 1819 1820 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1821 // 1822 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1823 func (_ERC721Burnable *ERC721BurnableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 1824 var out []interface{} 1825 err := _ERC721Burnable.contract.Call(opts, &out, "supportsInterface", interfaceId) 1826 1827 if err != nil { 1828 return *new(bool), err 1829 } 1830 1831 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 1832 1833 return out0, err 1834 1835 } 1836 1837 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1838 // 1839 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1840 func (_ERC721Burnable *ERC721BurnableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 1841 return _ERC721Burnable.Contract.SupportsInterface(&_ERC721Burnable.CallOpts, interfaceId) 1842 } 1843 1844 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1845 // 1846 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1847 func (_ERC721Burnable *ERC721BurnableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 1848 return _ERC721Burnable.Contract.SupportsInterface(&_ERC721Burnable.CallOpts, interfaceId) 1849 } 1850 1851 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1852 // 1853 // Solidity: function approve(address to, uint256 tokenId) returns() 1854 func (_ERC721Burnable *ERC721BurnableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1855 return _ERC721Burnable.contract.Transact(opts, "approve", to, tokenId) 1856 } 1857 1858 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1859 // 1860 // Solidity: function approve(address to, uint256 tokenId) returns() 1861 func (_ERC721Burnable *ERC721BurnableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1862 return _ERC721Burnable.Contract.Approve(&_ERC721Burnable.TransactOpts, to, tokenId) 1863 } 1864 1865 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1866 // 1867 // Solidity: function approve(address to, uint256 tokenId) returns() 1868 func (_ERC721Burnable *ERC721BurnableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1869 return _ERC721Burnable.Contract.Approve(&_ERC721Burnable.TransactOpts, to, tokenId) 1870 } 1871 1872 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 1873 // 1874 // Solidity: function burn(uint256 tokenId) returns() 1875 func (_ERC721Burnable *ERC721BurnableTransactor) Burn(opts *bind.TransactOpts, tokenId *big.Int) (*types.Transaction, error) { 1876 return _ERC721Burnable.contract.Transact(opts, "burn", tokenId) 1877 } 1878 1879 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 1880 // 1881 // Solidity: function burn(uint256 tokenId) returns() 1882 func (_ERC721Burnable *ERC721BurnableSession) Burn(tokenId *big.Int) (*types.Transaction, error) { 1883 return _ERC721Burnable.Contract.Burn(&_ERC721Burnable.TransactOpts, tokenId) 1884 } 1885 1886 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 1887 // 1888 // Solidity: function burn(uint256 tokenId) returns() 1889 func (_ERC721Burnable *ERC721BurnableTransactorSession) Burn(tokenId *big.Int) (*types.Transaction, error) { 1890 return _ERC721Burnable.Contract.Burn(&_ERC721Burnable.TransactOpts, tokenId) 1891 } 1892 1893 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 1894 // 1895 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 1896 func (_ERC721Burnable *ERC721BurnableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1897 return _ERC721Burnable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 1898 } 1899 1900 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 1901 // 1902 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 1903 func (_ERC721Burnable *ERC721BurnableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1904 return _ERC721Burnable.Contract.SafeTransferFrom(&_ERC721Burnable.TransactOpts, from, to, tokenId) 1905 } 1906 1907 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 1908 // 1909 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 1910 func (_ERC721Burnable *ERC721BurnableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1911 return _ERC721Burnable.Contract.SafeTransferFrom(&_ERC721Burnable.TransactOpts, from, to, tokenId) 1912 } 1913 1914 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 1915 // 1916 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 1917 func (_ERC721Burnable *ERC721BurnableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 1918 return _ERC721Burnable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 1919 } 1920 1921 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 1922 // 1923 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 1924 func (_ERC721Burnable *ERC721BurnableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 1925 return _ERC721Burnable.Contract.SafeTransferFrom0(&_ERC721Burnable.TransactOpts, from, to, tokenId, _data) 1926 } 1927 1928 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 1929 // 1930 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 1931 func (_ERC721Burnable *ERC721BurnableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 1932 return _ERC721Burnable.Contract.SafeTransferFrom0(&_ERC721Burnable.TransactOpts, from, to, tokenId, _data) 1933 } 1934 1935 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 1936 // 1937 // Solidity: function setApprovalForAll(address to, bool approved) returns() 1938 func (_ERC721Burnable *ERC721BurnableTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 1939 return _ERC721Burnable.contract.Transact(opts, "setApprovalForAll", to, approved) 1940 } 1941 1942 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 1943 // 1944 // Solidity: function setApprovalForAll(address to, bool approved) returns() 1945 func (_ERC721Burnable *ERC721BurnableSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 1946 return _ERC721Burnable.Contract.SetApprovalForAll(&_ERC721Burnable.TransactOpts, to, approved) 1947 } 1948 1949 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 1950 // 1951 // Solidity: function setApprovalForAll(address to, bool approved) returns() 1952 func (_ERC721Burnable *ERC721BurnableTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 1953 return _ERC721Burnable.Contract.SetApprovalForAll(&_ERC721Burnable.TransactOpts, to, approved) 1954 } 1955 1956 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1957 // 1958 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1959 func (_ERC721Burnable *ERC721BurnableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1960 return _ERC721Burnable.contract.Transact(opts, "transferFrom", from, to, tokenId) 1961 } 1962 1963 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1964 // 1965 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1966 func (_ERC721Burnable *ERC721BurnableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1967 return _ERC721Burnable.Contract.TransferFrom(&_ERC721Burnable.TransactOpts, from, to, tokenId) 1968 } 1969 1970 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1971 // 1972 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1973 func (_ERC721Burnable *ERC721BurnableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1974 return _ERC721Burnable.Contract.TransferFrom(&_ERC721Burnable.TransactOpts, from, to, tokenId) 1975 } 1976 1977 // 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. 1978 type ERC721BurnableApprovalIterator struct { 1979 Event *ERC721BurnableApproval // Event containing the contract specifics and raw log 1980 1981 contract *bind.BoundContract // Generic contract to use for unpacking event data 1982 event string // Event name to use for unpacking event data 1983 1984 logs chan types.Log // Log channel receiving the found contract events 1985 sub klaytn.Subscription // Subscription for errors, completion and termination 1986 done bool // Whether the subscription completed delivering logs 1987 fail error // Occurred error to stop iteration 1988 } 1989 1990 // Next advances the iterator to the subsequent event, returning whether there 1991 // are any more events found. In case of a retrieval or parsing error, false is 1992 // returned and Error() can be queried for the exact failure. 1993 func (it *ERC721BurnableApprovalIterator) Next() bool { 1994 // If the iterator failed, stop iterating 1995 if it.fail != nil { 1996 return false 1997 } 1998 // If the iterator completed, deliver directly whatever's available 1999 if it.done { 2000 select { 2001 case log := <-it.logs: 2002 it.Event = new(ERC721BurnableApproval) 2003 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2004 it.fail = err 2005 return false 2006 } 2007 it.Event.Raw = log 2008 return true 2009 2010 default: 2011 return false 2012 } 2013 } 2014 // Iterator still in progress, wait for either a data or an error event 2015 select { 2016 case log := <-it.logs: 2017 it.Event = new(ERC721BurnableApproval) 2018 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2019 it.fail = err 2020 return false 2021 } 2022 it.Event.Raw = log 2023 return true 2024 2025 case err := <-it.sub.Err(): 2026 it.done = true 2027 it.fail = err 2028 return it.Next() 2029 } 2030 } 2031 2032 // Error returns any retrieval or parsing error occurred during filtering. 2033 func (it *ERC721BurnableApprovalIterator) Error() error { 2034 return it.fail 2035 } 2036 2037 // Close terminates the iteration process, releasing any pending underlying 2038 // resources. 2039 func (it *ERC721BurnableApprovalIterator) Close() error { 2040 it.sub.Unsubscribe() 2041 return nil 2042 } 2043 2044 // ERC721BurnableApproval represents a Approval event raised by the ERC721Burnable contract. 2045 type ERC721BurnableApproval struct { 2046 Owner common.Address 2047 Approved common.Address 2048 TokenId *big.Int 2049 Raw types.Log // Blockchain specific contextual infos 2050 } 2051 2052 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2053 // 2054 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 2055 func (_ERC721Burnable *ERC721BurnableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721BurnableApprovalIterator, error) { 2056 2057 var ownerRule []interface{} 2058 for _, ownerItem := range owner { 2059 ownerRule = append(ownerRule, ownerItem) 2060 } 2061 var approvedRule []interface{} 2062 for _, approvedItem := range approved { 2063 approvedRule = append(approvedRule, approvedItem) 2064 } 2065 var tokenIdRule []interface{} 2066 for _, tokenIdItem := range tokenId { 2067 tokenIdRule = append(tokenIdRule, tokenIdItem) 2068 } 2069 2070 logs, sub, err := _ERC721Burnable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 2071 if err != nil { 2072 return nil, err 2073 } 2074 return &ERC721BurnableApprovalIterator{contract: _ERC721Burnable.contract, event: "Approval", logs: logs, sub: sub}, nil 2075 } 2076 2077 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2078 // 2079 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 2080 func (_ERC721Burnable *ERC721BurnableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721BurnableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 2081 2082 var ownerRule []interface{} 2083 for _, ownerItem := range owner { 2084 ownerRule = append(ownerRule, ownerItem) 2085 } 2086 var approvedRule []interface{} 2087 for _, approvedItem := range approved { 2088 approvedRule = append(approvedRule, approvedItem) 2089 } 2090 var tokenIdRule []interface{} 2091 for _, tokenIdItem := range tokenId { 2092 tokenIdRule = append(tokenIdRule, tokenIdItem) 2093 } 2094 2095 logs, sub, err := _ERC721Burnable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 2096 if err != nil { 2097 return nil, err 2098 } 2099 return event.NewSubscription(func(quit <-chan struct{}) error { 2100 defer sub.Unsubscribe() 2101 for { 2102 select { 2103 case log := <-logs: 2104 // New log arrived, parse the event and forward to the user 2105 event := new(ERC721BurnableApproval) 2106 if err := _ERC721Burnable.contract.UnpackLog(event, "Approval", log); err != nil { 2107 return err 2108 } 2109 event.Raw = log 2110 2111 select { 2112 case sink <- event: 2113 case err := <-sub.Err(): 2114 return err 2115 case <-quit: 2116 return nil 2117 } 2118 case err := <-sub.Err(): 2119 return err 2120 case <-quit: 2121 return nil 2122 } 2123 } 2124 }), nil 2125 } 2126 2127 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2128 // 2129 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 2130 func (_ERC721Burnable *ERC721BurnableFilterer) ParseApproval(log types.Log) (*ERC721BurnableApproval, error) { 2131 event := new(ERC721BurnableApproval) 2132 if err := _ERC721Burnable.contract.UnpackLog(event, "Approval", log); err != nil { 2133 return nil, err 2134 } 2135 return event, nil 2136 } 2137 2138 // 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. 2139 type ERC721BurnableApprovalForAllIterator struct { 2140 Event *ERC721BurnableApprovalForAll // Event containing the contract specifics and raw log 2141 2142 contract *bind.BoundContract // Generic contract to use for unpacking event data 2143 event string // Event name to use for unpacking event data 2144 2145 logs chan types.Log // Log channel receiving the found contract events 2146 sub klaytn.Subscription // Subscription for errors, completion and termination 2147 done bool // Whether the subscription completed delivering logs 2148 fail error // Occurred error to stop iteration 2149 } 2150 2151 // Next advances the iterator to the subsequent event, returning whether there 2152 // are any more events found. In case of a retrieval or parsing error, false is 2153 // returned and Error() can be queried for the exact failure. 2154 func (it *ERC721BurnableApprovalForAllIterator) Next() bool { 2155 // If the iterator failed, stop iterating 2156 if it.fail != nil { 2157 return false 2158 } 2159 // If the iterator completed, deliver directly whatever's available 2160 if it.done { 2161 select { 2162 case log := <-it.logs: 2163 it.Event = new(ERC721BurnableApprovalForAll) 2164 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2165 it.fail = err 2166 return false 2167 } 2168 it.Event.Raw = log 2169 return true 2170 2171 default: 2172 return false 2173 } 2174 } 2175 // Iterator still in progress, wait for either a data or an error event 2176 select { 2177 case log := <-it.logs: 2178 it.Event = new(ERC721BurnableApprovalForAll) 2179 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2180 it.fail = err 2181 return false 2182 } 2183 it.Event.Raw = log 2184 return true 2185 2186 case err := <-it.sub.Err(): 2187 it.done = true 2188 it.fail = err 2189 return it.Next() 2190 } 2191 } 2192 2193 // Error returns any retrieval or parsing error occurred during filtering. 2194 func (it *ERC721BurnableApprovalForAllIterator) Error() error { 2195 return it.fail 2196 } 2197 2198 // Close terminates the iteration process, releasing any pending underlying 2199 // resources. 2200 func (it *ERC721BurnableApprovalForAllIterator) Close() error { 2201 it.sub.Unsubscribe() 2202 return nil 2203 } 2204 2205 // ERC721BurnableApprovalForAll represents a ApprovalForAll event raised by the ERC721Burnable contract. 2206 type ERC721BurnableApprovalForAll struct { 2207 Owner common.Address 2208 Operator common.Address 2209 Approved bool 2210 Raw types.Log // Blockchain specific contextual infos 2211 } 2212 2213 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 2214 // 2215 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 2216 func (_ERC721Burnable *ERC721BurnableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721BurnableApprovalForAllIterator, error) { 2217 2218 var ownerRule []interface{} 2219 for _, ownerItem := range owner { 2220 ownerRule = append(ownerRule, ownerItem) 2221 } 2222 var operatorRule []interface{} 2223 for _, operatorItem := range operator { 2224 operatorRule = append(operatorRule, operatorItem) 2225 } 2226 2227 logs, sub, err := _ERC721Burnable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 2228 if err != nil { 2229 return nil, err 2230 } 2231 return &ERC721BurnableApprovalForAllIterator{contract: _ERC721Burnable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 2232 } 2233 2234 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 2235 // 2236 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 2237 func (_ERC721Burnable *ERC721BurnableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721BurnableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 2238 2239 var ownerRule []interface{} 2240 for _, ownerItem := range owner { 2241 ownerRule = append(ownerRule, ownerItem) 2242 } 2243 var operatorRule []interface{} 2244 for _, operatorItem := range operator { 2245 operatorRule = append(operatorRule, operatorItem) 2246 } 2247 2248 logs, sub, err := _ERC721Burnable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 2249 if err != nil { 2250 return nil, err 2251 } 2252 return event.NewSubscription(func(quit <-chan struct{}) error { 2253 defer sub.Unsubscribe() 2254 for { 2255 select { 2256 case log := <-logs: 2257 // New log arrived, parse the event and forward to the user 2258 event := new(ERC721BurnableApprovalForAll) 2259 if err := _ERC721Burnable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 2260 return err 2261 } 2262 event.Raw = log 2263 2264 select { 2265 case sink <- event: 2266 case err := <-sub.Err(): 2267 return err 2268 case <-quit: 2269 return nil 2270 } 2271 case err := <-sub.Err(): 2272 return err 2273 case <-quit: 2274 return nil 2275 } 2276 } 2277 }), nil 2278 } 2279 2280 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 2281 // 2282 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 2283 func (_ERC721Burnable *ERC721BurnableFilterer) ParseApprovalForAll(log types.Log) (*ERC721BurnableApprovalForAll, error) { 2284 event := new(ERC721BurnableApprovalForAll) 2285 if err := _ERC721Burnable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 2286 return nil, err 2287 } 2288 return event, nil 2289 } 2290 2291 // 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. 2292 type ERC721BurnableTransferIterator struct { 2293 Event *ERC721BurnableTransfer // Event containing the contract specifics and raw log 2294 2295 contract *bind.BoundContract // Generic contract to use for unpacking event data 2296 event string // Event name to use for unpacking event data 2297 2298 logs chan types.Log // Log channel receiving the found contract events 2299 sub klaytn.Subscription // Subscription for errors, completion and termination 2300 done bool // Whether the subscription completed delivering logs 2301 fail error // Occurred error to stop iteration 2302 } 2303 2304 // Next advances the iterator to the subsequent event, returning whether there 2305 // are any more events found. In case of a retrieval or parsing error, false is 2306 // returned and Error() can be queried for the exact failure. 2307 func (it *ERC721BurnableTransferIterator) Next() bool { 2308 // If the iterator failed, stop iterating 2309 if it.fail != nil { 2310 return false 2311 } 2312 // If the iterator completed, deliver directly whatever's available 2313 if it.done { 2314 select { 2315 case log := <-it.logs: 2316 it.Event = new(ERC721BurnableTransfer) 2317 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2318 it.fail = err 2319 return false 2320 } 2321 it.Event.Raw = log 2322 return true 2323 2324 default: 2325 return false 2326 } 2327 } 2328 // Iterator still in progress, wait for either a data or an error event 2329 select { 2330 case log := <-it.logs: 2331 it.Event = new(ERC721BurnableTransfer) 2332 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2333 it.fail = err 2334 return false 2335 } 2336 it.Event.Raw = log 2337 return true 2338 2339 case err := <-it.sub.Err(): 2340 it.done = true 2341 it.fail = err 2342 return it.Next() 2343 } 2344 } 2345 2346 // Error returns any retrieval or parsing error occurred during filtering. 2347 func (it *ERC721BurnableTransferIterator) Error() error { 2348 return it.fail 2349 } 2350 2351 // Close terminates the iteration process, releasing any pending underlying 2352 // resources. 2353 func (it *ERC721BurnableTransferIterator) Close() error { 2354 it.sub.Unsubscribe() 2355 return nil 2356 } 2357 2358 // ERC721BurnableTransfer represents a Transfer event raised by the ERC721Burnable contract. 2359 type ERC721BurnableTransfer struct { 2360 From common.Address 2361 To common.Address 2362 TokenId *big.Int 2363 Raw types.Log // Blockchain specific contextual infos 2364 } 2365 2366 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2367 // 2368 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 2369 func (_ERC721Burnable *ERC721BurnableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721BurnableTransferIterator, error) { 2370 2371 var fromRule []interface{} 2372 for _, fromItem := range from { 2373 fromRule = append(fromRule, fromItem) 2374 } 2375 var toRule []interface{} 2376 for _, toItem := range to { 2377 toRule = append(toRule, toItem) 2378 } 2379 var tokenIdRule []interface{} 2380 for _, tokenIdItem := range tokenId { 2381 tokenIdRule = append(tokenIdRule, tokenIdItem) 2382 } 2383 2384 logs, sub, err := _ERC721Burnable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 2385 if err != nil { 2386 return nil, err 2387 } 2388 return &ERC721BurnableTransferIterator{contract: _ERC721Burnable.contract, event: "Transfer", logs: logs, sub: sub}, nil 2389 } 2390 2391 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2392 // 2393 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 2394 func (_ERC721Burnable *ERC721BurnableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721BurnableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 2395 2396 var fromRule []interface{} 2397 for _, fromItem := range from { 2398 fromRule = append(fromRule, fromItem) 2399 } 2400 var toRule []interface{} 2401 for _, toItem := range to { 2402 toRule = append(toRule, toItem) 2403 } 2404 var tokenIdRule []interface{} 2405 for _, tokenIdItem := range tokenId { 2406 tokenIdRule = append(tokenIdRule, tokenIdItem) 2407 } 2408 2409 logs, sub, err := _ERC721Burnable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 2410 if err != nil { 2411 return nil, err 2412 } 2413 return event.NewSubscription(func(quit <-chan struct{}) error { 2414 defer sub.Unsubscribe() 2415 for { 2416 select { 2417 case log := <-logs: 2418 // New log arrived, parse the event and forward to the user 2419 event := new(ERC721BurnableTransfer) 2420 if err := _ERC721Burnable.contract.UnpackLog(event, "Transfer", log); err != nil { 2421 return err 2422 } 2423 event.Raw = log 2424 2425 select { 2426 case sink <- event: 2427 case err := <-sub.Err(): 2428 return err 2429 case <-quit: 2430 return nil 2431 } 2432 case err := <-sub.Err(): 2433 return err 2434 case <-quit: 2435 return nil 2436 } 2437 } 2438 }), nil 2439 } 2440 2441 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2442 // 2443 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 2444 func (_ERC721Burnable *ERC721BurnableFilterer) ParseTransfer(log types.Log) (*ERC721BurnableTransfer, error) { 2445 event := new(ERC721BurnableTransfer) 2446 if err := _ERC721Burnable.contract.UnpackLog(event, "Transfer", log); err != nil { 2447 return nil, err 2448 } 2449 return event, nil 2450 } 2451 2452 // ERC721EnumerableMetaData contains all meta data concerning the ERC721Enumerable contract. 2453 var ERC721EnumerableMetaData = &bind.MetaData{ 2454 ABI: "[{\"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\"}]", 2455 Sigs: map[string]string{ 2456 "095ea7b3": "approve(address,uint256)", 2457 "70a08231": "balanceOf(address)", 2458 "081812fc": "getApproved(uint256)", 2459 "e985e9c5": "isApprovedForAll(address,address)", 2460 "6352211e": "ownerOf(uint256)", 2461 "42842e0e": "safeTransferFrom(address,address,uint256)", 2462 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 2463 "a22cb465": "setApprovalForAll(address,bool)", 2464 "01ffc9a7": "supportsInterface(bytes4)", 2465 "4f6ccce7": "tokenByIndex(uint256)", 2466 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 2467 "18160ddd": "totalSupply()", 2468 "23b872dd": "transferFrom(address,address,uint256)", 2469 }, 2470 Bin: "0x608060405234801561001057600080fd5b506100276301ffc9a760e01b61005860201b60201c565b61003d6380ac58cd60e01b61005860201b60201c565b61005363780e9d6360e01b61005860201b60201c565b610126565b7fffffffff0000000000000000000000000000000000000000000000000000000080821614156100e957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b61109e806101356000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342842e0e1161008c57806370a082311161006657806370a0823114610262578063a22cb46514610288578063b88d4fde146102b6578063e985e9c51461037c576100cf565b806342842e0e146101f25780634f6ccce7146102285780636352211e14610245576100cf565b806301ffc9a7146100d4578063081812fc1461010f578063095ea7b31461014857806318160ddd1461017657806323b872dd146101905780632f745c59146101c6575b600080fd5b6100fb600480360360208110156100ea57600080fd5b50356001600160e01b0319166103aa565b604080519115158252519081900360200190f35b61012c6004803603602081101561012557600080fd5b50356103c9565b604080516001600160a01b039092168252519081900360200190f35b6101746004803603604081101561015e57600080fd5b506001600160a01b03813516906020013561042e565b005b61017e610545565b60408051918252519081900360200190f35b610174600480360360608110156101a657600080fd5b506001600160a01b0381358116916020810135909116906040013561054c565b61017e600480360360408110156101dc57600080fd5b506001600160a01b0381351690602001356105a4565b6101746004803603606081101561020857600080fd5b506001600160a01b03813581169160208101359091169060400135610626565b61017e6004803603602081101561023e57600080fd5b5035610641565b61012c6004803603602081101561025b57600080fd5b50356106aa565b61017e6004803603602081101561027857600080fd5b50356001600160a01b0316610707565b6101746004803603604081101561029e57600080fd5b506001600160a01b0381351690602001351515610772565b610174600480360360808110156102cc57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561030757600080fd5b82018360208201111561031957600080fd5b8035906020019184600183028401116401000000008311171561033b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610841945050505050565b6100fb6004803603604081101561039257600080fd5b506001600160a01b038135811691602001351661089c565b6001600160e01b03191660009081526020819052604090205460ff1690565b60006103d4826108ca565b61041257604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610fa0602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b6000610439826106aa565b9050806001600160a01b0316836001600160a01b0316141561048f57604051600160e51b62461bcd028152600401808060200182810382526021815260200180610ff56021913960400191505060405180910390fd5b336001600160a01b03821614806104ab57506104ab813361089c565b6104e957604051600160e51b62461bcd028152600401808060200182810382526038815260200180610f156038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6007545b90565b61055633826108e7565b61059457604051600160e51b62461bcd0281526004018080602001828103825260318152602001806110166031913960400191505060405180910390fd5b61059f83838361098e565b505050565b60006105af83610707565b82106105ef57604051600160e51b62461bcd02815260040180806020018281038252602b815260200180610e68602b913960400191505060405180910390fd5b6001600160a01b038316600090815260056020526040902080548390811061061357fe5b9060005260206000200154905092915050565b61059f83838360405180602001604052806000815250610841565b600061064b610545565b821061068b57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611047602c913960400191505060405180910390fd5b6007828154811061069857fe5b90600052602060002001549050919050565b6000818152600160205260408120546001600160a01b03168061070157604051600160e51b62461bcd028152600401808060200182810382526029815260200180610f776029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661075157604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610f4d602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020610701906109ad565b6001600160a01b0382163314156107d35760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b61084c84848461054c565b610858848484846109b1565b61089657604051600160e51b62461bcd028152600401808060200182810382526032815260200180610e936032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b60006108f2826108ca565b61093057604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610ee9602c913960400191505060405180910390fd5b600061093b836106aa565b9050806001600160a01b0316846001600160a01b031614806109765750836001600160a01b031661096b846103c9565b6001600160a01b0316145b806109865750610986818561089c565b949350505050565b610999838383610aea565b6109a38382610c34565b61059f8282610d29565b5490565b60006109c5846001600160a01b0316610d67565b6109d157506001610986565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a4e578181015183820152602001610a36565b50505050905090810190601f168015610a7b5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610a9d57600080fd5b505af1158015610ab1573d6000803e3d6000fd5b505050506040513d6020811015610ac757600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b826001600160a01b0316610afd826106aa565b6001600160a01b031614610b4557604051600160e51b62461bcd028152600401808060200182810382526029815260200180610fcc6029913960400191505060405180910390fd5b6001600160a01b038216610b8d57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610ec56024913960400191505060405180910390fd5b610b9681610d6d565b6001600160a01b0383166000908152600360205260409020610bb790610daa565b6001600160a01b0382166000908152600360205260409020610bd890610dc1565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216600090815260056020526040812054610c5e90600163ffffffff610dca16565b600083815260066020526040902054909150808214610cf9576001600160a01b0384166000908152600560205260408120805484908110610c9b57fe5b906000526020600020015490508060056000876001600160a01b03166001600160a01b031681526020019081526020016000208381548110610cd957fe5b600091825260208083209091019290925591825260069052604090208190555b6001600160a01b0384166000908152600560205260409020805490610d22906000198301610e2a565b5050505050565b6001600160a01b0390911660009081526005602081815260408084208054868652600684529185208290559282526001810183559183529091200155565b3b151590565b6000818152600260205260409020546001600160a01b031615610da757600081815260026020526040902080546001600160a01b03191690555b50565b8054610dbd90600163ffffffff610dca16565b9055565b80546001019055565b600082821115610e245760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b81548183558181111561059f5760008381526020902061059f91810190830161054991905b80821115610e635760008155600101610e4f565b509056fe455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e6473a165627a7a7230582070db274482e0fb06803c6de5fb6dd67537ec0c4933dbacb0b2bf0eef9bbccb410029", 2471 } 2472 2473 // ERC721EnumerableABI is the input ABI used to generate the binding from. 2474 // Deprecated: Use ERC721EnumerableMetaData.ABI instead. 2475 var ERC721EnumerableABI = ERC721EnumerableMetaData.ABI 2476 2477 // ERC721EnumerableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 2478 const ERC721EnumerableBinRuntime = `608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342842e0e1161008c57806370a082311161006657806370a0823114610262578063a22cb46514610288578063b88d4fde146102b6578063e985e9c51461037c576100cf565b806342842e0e146101f25780634f6ccce7146102285780636352211e14610245576100cf565b806301ffc9a7146100d4578063081812fc1461010f578063095ea7b31461014857806318160ddd1461017657806323b872dd146101905780632f745c59146101c6575b600080fd5b6100fb600480360360208110156100ea57600080fd5b50356001600160e01b0319166103aa565b604080519115158252519081900360200190f35b61012c6004803603602081101561012557600080fd5b50356103c9565b604080516001600160a01b039092168252519081900360200190f35b6101746004803603604081101561015e57600080fd5b506001600160a01b03813516906020013561042e565b005b61017e610545565b60408051918252519081900360200190f35b610174600480360360608110156101a657600080fd5b506001600160a01b0381358116916020810135909116906040013561054c565b61017e600480360360408110156101dc57600080fd5b506001600160a01b0381351690602001356105a4565b6101746004803603606081101561020857600080fd5b506001600160a01b03813581169160208101359091169060400135610626565b61017e6004803603602081101561023e57600080fd5b5035610641565b61012c6004803603602081101561025b57600080fd5b50356106aa565b61017e6004803603602081101561027857600080fd5b50356001600160a01b0316610707565b6101746004803603604081101561029e57600080fd5b506001600160a01b0381351690602001351515610772565b610174600480360360808110156102cc57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561030757600080fd5b82018360208201111561031957600080fd5b8035906020019184600183028401116401000000008311171561033b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610841945050505050565b6100fb6004803603604081101561039257600080fd5b506001600160a01b038135811691602001351661089c565b6001600160e01b03191660009081526020819052604090205460ff1690565b60006103d4826108ca565b61041257604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610fa0602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b6000610439826106aa565b9050806001600160a01b0316836001600160a01b0316141561048f57604051600160e51b62461bcd028152600401808060200182810382526021815260200180610ff56021913960400191505060405180910390fd5b336001600160a01b03821614806104ab57506104ab813361089c565b6104e957604051600160e51b62461bcd028152600401808060200182810382526038815260200180610f156038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6007545b90565b61055633826108e7565b61059457604051600160e51b62461bcd0281526004018080602001828103825260318152602001806110166031913960400191505060405180910390fd5b61059f83838361098e565b505050565b60006105af83610707565b82106105ef57604051600160e51b62461bcd02815260040180806020018281038252602b815260200180610e68602b913960400191505060405180910390fd5b6001600160a01b038316600090815260056020526040902080548390811061061357fe5b9060005260206000200154905092915050565b61059f83838360405180602001604052806000815250610841565b600061064b610545565b821061068b57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611047602c913960400191505060405180910390fd5b6007828154811061069857fe5b90600052602060002001549050919050565b6000818152600160205260408120546001600160a01b03168061070157604051600160e51b62461bcd028152600401808060200182810382526029815260200180610f776029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661075157604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610f4d602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020610701906109ad565b6001600160a01b0382163314156107d35760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b61084c84848461054c565b610858848484846109b1565b61089657604051600160e51b62461bcd028152600401808060200182810382526032815260200180610e936032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b60006108f2826108ca565b61093057604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610ee9602c913960400191505060405180910390fd5b600061093b836106aa565b9050806001600160a01b0316846001600160a01b031614806109765750836001600160a01b031661096b846103c9565b6001600160a01b0316145b806109865750610986818561089c565b949350505050565b610999838383610aea565b6109a38382610c34565b61059f8282610d29565b5490565b60006109c5846001600160a01b0316610d67565b6109d157506001610986565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a4e578181015183820152602001610a36565b50505050905090810190601f168015610a7b5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610a9d57600080fd5b505af1158015610ab1573d6000803e3d6000fd5b505050506040513d6020811015610ac757600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b826001600160a01b0316610afd826106aa565b6001600160a01b031614610b4557604051600160e51b62461bcd028152600401808060200182810382526029815260200180610fcc6029913960400191505060405180910390fd5b6001600160a01b038216610b8d57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610ec56024913960400191505060405180910390fd5b610b9681610d6d565b6001600160a01b0383166000908152600360205260409020610bb790610daa565b6001600160a01b0382166000908152600360205260409020610bd890610dc1565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216600090815260056020526040812054610c5e90600163ffffffff610dca16565b600083815260066020526040902054909150808214610cf9576001600160a01b0384166000908152600560205260408120805484908110610c9b57fe5b906000526020600020015490508060056000876001600160a01b03166001600160a01b031681526020019081526020016000208381548110610cd957fe5b600091825260208083209091019290925591825260069052604090208190555b6001600160a01b0384166000908152600560205260409020805490610d22906000198301610e2a565b5050505050565b6001600160a01b0390911660009081526005602081815260408084208054868652600684529185208290559282526001810183559183529091200155565b3b151590565b6000818152600260205260409020546001600160a01b031615610da757600081815260026020526040902080546001600160a01b03191690555b50565b8054610dbd90600163ffffffff610dca16565b9055565b80546001019055565b600082821115610e245760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b81548183558181111561059f5760008381526020902061059f91810190830161054991905b80821115610e635760008155600101610e4f565b509056fe455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e6473a165627a7a7230582070db274482e0fb06803c6de5fb6dd67537ec0c4933dbacb0b2bf0eef9bbccb410029` 2479 2480 // ERC721EnumerableFuncSigs maps the 4-byte function signature to its string representation. 2481 // Deprecated: Use ERC721EnumerableMetaData.Sigs instead. 2482 var ERC721EnumerableFuncSigs = ERC721EnumerableMetaData.Sigs 2483 2484 // ERC721EnumerableBin is the compiled bytecode used for deploying new contracts. 2485 // Deprecated: Use ERC721EnumerableMetaData.Bin instead. 2486 var ERC721EnumerableBin = ERC721EnumerableMetaData.Bin 2487 2488 // DeployERC721Enumerable deploys a new Klaytn contract, binding an instance of ERC721Enumerable to it. 2489 func DeployERC721Enumerable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC721Enumerable, error) { 2490 parsed, err := ERC721EnumerableMetaData.GetAbi() 2491 if err != nil { 2492 return common.Address{}, nil, nil, err 2493 } 2494 if parsed == nil { 2495 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 2496 } 2497 2498 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ERC721EnumerableBin), backend) 2499 if err != nil { 2500 return common.Address{}, nil, nil, err 2501 } 2502 return address, tx, &ERC721Enumerable{ERC721EnumerableCaller: ERC721EnumerableCaller{contract: contract}, ERC721EnumerableTransactor: ERC721EnumerableTransactor{contract: contract}, ERC721EnumerableFilterer: ERC721EnumerableFilterer{contract: contract}}, nil 2503 } 2504 2505 // ERC721Enumerable is an auto generated Go binding around a Klaytn contract. 2506 type ERC721Enumerable struct { 2507 ERC721EnumerableCaller // Read-only binding to the contract 2508 ERC721EnumerableTransactor // Write-only binding to the contract 2509 ERC721EnumerableFilterer // Log filterer for contract events 2510 } 2511 2512 // ERC721EnumerableCaller is an auto generated read-only Go binding around a Klaytn contract. 2513 type ERC721EnumerableCaller struct { 2514 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2515 } 2516 2517 // ERC721EnumerableTransactor is an auto generated write-only Go binding around a Klaytn contract. 2518 type ERC721EnumerableTransactor struct { 2519 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2520 } 2521 2522 // ERC721EnumerableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 2523 type ERC721EnumerableFilterer struct { 2524 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2525 } 2526 2527 // ERC721EnumerableSession is an auto generated Go binding around a Klaytn contract, 2528 // with pre-set call and transact options. 2529 type ERC721EnumerableSession struct { 2530 Contract *ERC721Enumerable // Generic contract binding to set the session for 2531 CallOpts bind.CallOpts // Call options to use throughout this session 2532 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2533 } 2534 2535 // ERC721EnumerableCallerSession is an auto generated read-only Go binding around a Klaytn contract, 2536 // with pre-set call options. 2537 type ERC721EnumerableCallerSession struct { 2538 Contract *ERC721EnumerableCaller // Generic contract caller binding to set the session for 2539 CallOpts bind.CallOpts // Call options to use throughout this session 2540 } 2541 2542 // ERC721EnumerableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 2543 // with pre-set transact options. 2544 type ERC721EnumerableTransactorSession struct { 2545 Contract *ERC721EnumerableTransactor // Generic contract transactor binding to set the session for 2546 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2547 } 2548 2549 // ERC721EnumerableRaw is an auto generated low-level Go binding around a Klaytn contract. 2550 type ERC721EnumerableRaw struct { 2551 Contract *ERC721Enumerable // Generic contract binding to access the raw methods on 2552 } 2553 2554 // ERC721EnumerableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 2555 type ERC721EnumerableCallerRaw struct { 2556 Contract *ERC721EnumerableCaller // Generic read-only contract binding to access the raw methods on 2557 } 2558 2559 // ERC721EnumerableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 2560 type ERC721EnumerableTransactorRaw struct { 2561 Contract *ERC721EnumerableTransactor // Generic write-only contract binding to access the raw methods on 2562 } 2563 2564 // NewERC721Enumerable creates a new instance of ERC721Enumerable, bound to a specific deployed contract. 2565 func NewERC721Enumerable(address common.Address, backend bind.ContractBackend) (*ERC721Enumerable, error) { 2566 contract, err := bindERC721Enumerable(address, backend, backend, backend) 2567 if err != nil { 2568 return nil, err 2569 } 2570 return &ERC721Enumerable{ERC721EnumerableCaller: ERC721EnumerableCaller{contract: contract}, ERC721EnumerableTransactor: ERC721EnumerableTransactor{contract: contract}, ERC721EnumerableFilterer: ERC721EnumerableFilterer{contract: contract}}, nil 2571 } 2572 2573 // NewERC721EnumerableCaller creates a new read-only instance of ERC721Enumerable, bound to a specific deployed contract. 2574 func NewERC721EnumerableCaller(address common.Address, caller bind.ContractCaller) (*ERC721EnumerableCaller, error) { 2575 contract, err := bindERC721Enumerable(address, caller, nil, nil) 2576 if err != nil { 2577 return nil, err 2578 } 2579 return &ERC721EnumerableCaller{contract: contract}, nil 2580 } 2581 2582 // NewERC721EnumerableTransactor creates a new write-only instance of ERC721Enumerable, bound to a specific deployed contract. 2583 func NewERC721EnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721EnumerableTransactor, error) { 2584 contract, err := bindERC721Enumerable(address, nil, transactor, nil) 2585 if err != nil { 2586 return nil, err 2587 } 2588 return &ERC721EnumerableTransactor{contract: contract}, nil 2589 } 2590 2591 // NewERC721EnumerableFilterer creates a new log filterer instance of ERC721Enumerable, bound to a specific deployed contract. 2592 func NewERC721EnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721EnumerableFilterer, error) { 2593 contract, err := bindERC721Enumerable(address, nil, nil, filterer) 2594 if err != nil { 2595 return nil, err 2596 } 2597 return &ERC721EnumerableFilterer{contract: contract}, nil 2598 } 2599 2600 // bindERC721Enumerable binds a generic wrapper to an already deployed contract. 2601 func bindERC721Enumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 2602 parsed, err := ERC721EnumerableMetaData.GetAbi() 2603 if err != nil { 2604 return nil, err 2605 } 2606 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 2607 } 2608 2609 // Call invokes the (constant) contract method with params as input values and 2610 // sets the output to result. The result type might be a single field for simple 2611 // returns, a slice of interfaces for anonymous returns and a struct for named 2612 // returns. 2613 func (_ERC721Enumerable *ERC721EnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 2614 return _ERC721Enumerable.Contract.ERC721EnumerableCaller.contract.Call(opts, result, method, params...) 2615 } 2616 2617 // Transfer initiates a plain transaction to move funds to the contract, calling 2618 // its default method if one is available. 2619 func (_ERC721Enumerable *ERC721EnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2620 return _ERC721Enumerable.Contract.ERC721EnumerableTransactor.contract.Transfer(opts) 2621 } 2622 2623 // Transact invokes the (paid) contract method with params as input values. 2624 func (_ERC721Enumerable *ERC721EnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2625 return _ERC721Enumerable.Contract.ERC721EnumerableTransactor.contract.Transact(opts, method, params...) 2626 } 2627 2628 // Call invokes the (constant) contract method with params as input values and 2629 // sets the output to result. The result type might be a single field for simple 2630 // returns, a slice of interfaces for anonymous returns and a struct for named 2631 // returns. 2632 func (_ERC721Enumerable *ERC721EnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 2633 return _ERC721Enumerable.Contract.contract.Call(opts, result, method, params...) 2634 } 2635 2636 // Transfer initiates a plain transaction to move funds to the contract, calling 2637 // its default method if one is available. 2638 func (_ERC721Enumerable *ERC721EnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2639 return _ERC721Enumerable.Contract.contract.Transfer(opts) 2640 } 2641 2642 // Transact invokes the (paid) contract method with params as input values. 2643 func (_ERC721Enumerable *ERC721EnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2644 return _ERC721Enumerable.Contract.contract.Transact(opts, method, params...) 2645 } 2646 2647 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2648 // 2649 // Solidity: function balanceOf(address owner) view returns(uint256) 2650 func (_ERC721Enumerable *ERC721EnumerableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 2651 var out []interface{} 2652 err := _ERC721Enumerable.contract.Call(opts, &out, "balanceOf", owner) 2653 2654 if err != nil { 2655 return *new(*big.Int), err 2656 } 2657 2658 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 2659 2660 return out0, err 2661 2662 } 2663 2664 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2665 // 2666 // Solidity: function balanceOf(address owner) view returns(uint256) 2667 func (_ERC721Enumerable *ERC721EnumerableSession) BalanceOf(owner common.Address) (*big.Int, error) { 2668 return _ERC721Enumerable.Contract.BalanceOf(&_ERC721Enumerable.CallOpts, owner) 2669 } 2670 2671 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2672 // 2673 // Solidity: function balanceOf(address owner) view returns(uint256) 2674 func (_ERC721Enumerable *ERC721EnumerableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 2675 return _ERC721Enumerable.Contract.BalanceOf(&_ERC721Enumerable.CallOpts, owner) 2676 } 2677 2678 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 2679 // 2680 // Solidity: function getApproved(uint256 tokenId) view returns(address) 2681 func (_ERC721Enumerable *ERC721EnumerableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 2682 var out []interface{} 2683 err := _ERC721Enumerable.contract.Call(opts, &out, "getApproved", tokenId) 2684 2685 if err != nil { 2686 return *new(common.Address), err 2687 } 2688 2689 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 2690 2691 return out0, err 2692 2693 } 2694 2695 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 2696 // 2697 // Solidity: function getApproved(uint256 tokenId) view returns(address) 2698 func (_ERC721Enumerable *ERC721EnumerableSession) GetApproved(tokenId *big.Int) (common.Address, error) { 2699 return _ERC721Enumerable.Contract.GetApproved(&_ERC721Enumerable.CallOpts, tokenId) 2700 } 2701 2702 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 2703 // 2704 // Solidity: function getApproved(uint256 tokenId) view returns(address) 2705 func (_ERC721Enumerable *ERC721EnumerableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 2706 return _ERC721Enumerable.Contract.GetApproved(&_ERC721Enumerable.CallOpts, tokenId) 2707 } 2708 2709 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 2710 // 2711 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 2712 func (_ERC721Enumerable *ERC721EnumerableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 2713 var out []interface{} 2714 err := _ERC721Enumerable.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 2715 2716 if err != nil { 2717 return *new(bool), err 2718 } 2719 2720 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 2721 2722 return out0, err 2723 2724 } 2725 2726 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 2727 // 2728 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 2729 func (_ERC721Enumerable *ERC721EnumerableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 2730 return _ERC721Enumerable.Contract.IsApprovedForAll(&_ERC721Enumerable.CallOpts, owner, operator) 2731 } 2732 2733 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 2734 // 2735 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 2736 func (_ERC721Enumerable *ERC721EnumerableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 2737 return _ERC721Enumerable.Contract.IsApprovedForAll(&_ERC721Enumerable.CallOpts, owner, operator) 2738 } 2739 2740 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 2741 // 2742 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 2743 func (_ERC721Enumerable *ERC721EnumerableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 2744 var out []interface{} 2745 err := _ERC721Enumerable.contract.Call(opts, &out, "ownerOf", tokenId) 2746 2747 if err != nil { 2748 return *new(common.Address), err 2749 } 2750 2751 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 2752 2753 return out0, err 2754 2755 } 2756 2757 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 2758 // 2759 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 2760 func (_ERC721Enumerable *ERC721EnumerableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 2761 return _ERC721Enumerable.Contract.OwnerOf(&_ERC721Enumerable.CallOpts, tokenId) 2762 } 2763 2764 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 2765 // 2766 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 2767 func (_ERC721Enumerable *ERC721EnumerableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 2768 return _ERC721Enumerable.Contract.OwnerOf(&_ERC721Enumerable.CallOpts, tokenId) 2769 } 2770 2771 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 2772 // 2773 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 2774 func (_ERC721Enumerable *ERC721EnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 2775 var out []interface{} 2776 err := _ERC721Enumerable.contract.Call(opts, &out, "supportsInterface", interfaceId) 2777 2778 if err != nil { 2779 return *new(bool), err 2780 } 2781 2782 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 2783 2784 return out0, err 2785 2786 } 2787 2788 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 2789 // 2790 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 2791 func (_ERC721Enumerable *ERC721EnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 2792 return _ERC721Enumerable.Contract.SupportsInterface(&_ERC721Enumerable.CallOpts, interfaceId) 2793 } 2794 2795 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 2796 // 2797 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 2798 func (_ERC721Enumerable *ERC721EnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 2799 return _ERC721Enumerable.Contract.SupportsInterface(&_ERC721Enumerable.CallOpts, interfaceId) 2800 } 2801 2802 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 2803 // 2804 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 2805 func (_ERC721Enumerable *ERC721EnumerableCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 2806 var out []interface{} 2807 err := _ERC721Enumerable.contract.Call(opts, &out, "tokenByIndex", index) 2808 2809 if err != nil { 2810 return *new(*big.Int), err 2811 } 2812 2813 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 2814 2815 return out0, err 2816 2817 } 2818 2819 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 2820 // 2821 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 2822 func (_ERC721Enumerable *ERC721EnumerableSession) TokenByIndex(index *big.Int) (*big.Int, error) { 2823 return _ERC721Enumerable.Contract.TokenByIndex(&_ERC721Enumerable.CallOpts, index) 2824 } 2825 2826 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 2827 // 2828 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 2829 func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 2830 return _ERC721Enumerable.Contract.TokenByIndex(&_ERC721Enumerable.CallOpts, index) 2831 } 2832 2833 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 2834 // 2835 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 2836 func (_ERC721Enumerable *ERC721EnumerableCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 2837 var out []interface{} 2838 err := _ERC721Enumerable.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index) 2839 2840 if err != nil { 2841 return *new(*big.Int), err 2842 } 2843 2844 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 2845 2846 return out0, err 2847 2848 } 2849 2850 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 2851 // 2852 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 2853 func (_ERC721Enumerable *ERC721EnumerableSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 2854 return _ERC721Enumerable.Contract.TokenOfOwnerByIndex(&_ERC721Enumerable.CallOpts, owner, index) 2855 } 2856 2857 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 2858 // 2859 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 2860 func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 2861 return _ERC721Enumerable.Contract.TokenOfOwnerByIndex(&_ERC721Enumerable.CallOpts, owner, index) 2862 } 2863 2864 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 2865 // 2866 // Solidity: function totalSupply() view returns(uint256) 2867 func (_ERC721Enumerable *ERC721EnumerableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 2868 var out []interface{} 2869 err := _ERC721Enumerable.contract.Call(opts, &out, "totalSupply") 2870 2871 if err != nil { 2872 return *new(*big.Int), err 2873 } 2874 2875 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 2876 2877 return out0, err 2878 2879 } 2880 2881 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 2882 // 2883 // Solidity: function totalSupply() view returns(uint256) 2884 func (_ERC721Enumerable *ERC721EnumerableSession) TotalSupply() (*big.Int, error) { 2885 return _ERC721Enumerable.Contract.TotalSupply(&_ERC721Enumerable.CallOpts) 2886 } 2887 2888 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 2889 // 2890 // Solidity: function totalSupply() view returns(uint256) 2891 func (_ERC721Enumerable *ERC721EnumerableCallerSession) TotalSupply() (*big.Int, error) { 2892 return _ERC721Enumerable.Contract.TotalSupply(&_ERC721Enumerable.CallOpts) 2893 } 2894 2895 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 2896 // 2897 // Solidity: function approve(address to, uint256 tokenId) returns() 2898 func (_ERC721Enumerable *ERC721EnumerableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2899 return _ERC721Enumerable.contract.Transact(opts, "approve", to, tokenId) 2900 } 2901 2902 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 2903 // 2904 // Solidity: function approve(address to, uint256 tokenId) returns() 2905 func (_ERC721Enumerable *ERC721EnumerableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2906 return _ERC721Enumerable.Contract.Approve(&_ERC721Enumerable.TransactOpts, to, tokenId) 2907 } 2908 2909 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 2910 // 2911 // Solidity: function approve(address to, uint256 tokenId) returns() 2912 func (_ERC721Enumerable *ERC721EnumerableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2913 return _ERC721Enumerable.Contract.Approve(&_ERC721Enumerable.TransactOpts, to, tokenId) 2914 } 2915 2916 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 2917 // 2918 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 2919 func (_ERC721Enumerable *ERC721EnumerableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2920 return _ERC721Enumerable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 2921 } 2922 2923 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 2924 // 2925 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 2926 func (_ERC721Enumerable *ERC721EnumerableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2927 return _ERC721Enumerable.Contract.SafeTransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId) 2928 } 2929 2930 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 2931 // 2932 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 2933 func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2934 return _ERC721Enumerable.Contract.SafeTransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId) 2935 } 2936 2937 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 2938 // 2939 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 2940 func (_ERC721Enumerable *ERC721EnumerableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 2941 return _ERC721Enumerable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 2942 } 2943 2944 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 2945 // 2946 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 2947 func (_ERC721Enumerable *ERC721EnumerableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 2948 return _ERC721Enumerable.Contract.SafeTransferFrom0(&_ERC721Enumerable.TransactOpts, from, to, tokenId, _data) 2949 } 2950 2951 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 2952 // 2953 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 2954 func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 2955 return _ERC721Enumerable.Contract.SafeTransferFrom0(&_ERC721Enumerable.TransactOpts, from, to, tokenId, _data) 2956 } 2957 2958 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 2959 // 2960 // Solidity: function setApprovalForAll(address to, bool approved) returns() 2961 func (_ERC721Enumerable *ERC721EnumerableTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 2962 return _ERC721Enumerable.contract.Transact(opts, "setApprovalForAll", to, approved) 2963 } 2964 2965 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 2966 // 2967 // Solidity: function setApprovalForAll(address to, bool approved) returns() 2968 func (_ERC721Enumerable *ERC721EnumerableSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 2969 return _ERC721Enumerable.Contract.SetApprovalForAll(&_ERC721Enumerable.TransactOpts, to, approved) 2970 } 2971 2972 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 2973 // 2974 // Solidity: function setApprovalForAll(address to, bool approved) returns() 2975 func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 2976 return _ERC721Enumerable.Contract.SetApprovalForAll(&_ERC721Enumerable.TransactOpts, to, approved) 2977 } 2978 2979 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2980 // 2981 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 2982 func (_ERC721Enumerable *ERC721EnumerableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2983 return _ERC721Enumerable.contract.Transact(opts, "transferFrom", from, to, tokenId) 2984 } 2985 2986 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2987 // 2988 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 2989 func (_ERC721Enumerable *ERC721EnumerableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2990 return _ERC721Enumerable.Contract.TransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId) 2991 } 2992 2993 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2994 // 2995 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 2996 func (_ERC721Enumerable *ERC721EnumerableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2997 return _ERC721Enumerable.Contract.TransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId) 2998 } 2999 3000 // 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. 3001 type ERC721EnumerableApprovalIterator struct { 3002 Event *ERC721EnumerableApproval // Event containing the contract specifics and raw log 3003 3004 contract *bind.BoundContract // Generic contract to use for unpacking event data 3005 event string // Event name to use for unpacking event data 3006 3007 logs chan types.Log // Log channel receiving the found contract events 3008 sub klaytn.Subscription // Subscription for errors, completion and termination 3009 done bool // Whether the subscription completed delivering logs 3010 fail error // Occurred error to stop iteration 3011 } 3012 3013 // Next advances the iterator to the subsequent event, returning whether there 3014 // are any more events found. In case of a retrieval or parsing error, false is 3015 // returned and Error() can be queried for the exact failure. 3016 func (it *ERC721EnumerableApprovalIterator) Next() bool { 3017 // If the iterator failed, stop iterating 3018 if it.fail != nil { 3019 return false 3020 } 3021 // If the iterator completed, deliver directly whatever's available 3022 if it.done { 3023 select { 3024 case log := <-it.logs: 3025 it.Event = new(ERC721EnumerableApproval) 3026 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3027 it.fail = err 3028 return false 3029 } 3030 it.Event.Raw = log 3031 return true 3032 3033 default: 3034 return false 3035 } 3036 } 3037 // Iterator still in progress, wait for either a data or an error event 3038 select { 3039 case log := <-it.logs: 3040 it.Event = new(ERC721EnumerableApproval) 3041 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3042 it.fail = err 3043 return false 3044 } 3045 it.Event.Raw = log 3046 return true 3047 3048 case err := <-it.sub.Err(): 3049 it.done = true 3050 it.fail = err 3051 return it.Next() 3052 } 3053 } 3054 3055 // Error returns any retrieval or parsing error occurred during filtering. 3056 func (it *ERC721EnumerableApprovalIterator) Error() error { 3057 return it.fail 3058 } 3059 3060 // Close terminates the iteration process, releasing any pending underlying 3061 // resources. 3062 func (it *ERC721EnumerableApprovalIterator) Close() error { 3063 it.sub.Unsubscribe() 3064 return nil 3065 } 3066 3067 // ERC721EnumerableApproval represents a Approval event raised by the ERC721Enumerable contract. 3068 type ERC721EnumerableApproval struct { 3069 Owner common.Address 3070 Approved common.Address 3071 TokenId *big.Int 3072 Raw types.Log // Blockchain specific contextual infos 3073 } 3074 3075 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3076 // 3077 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 3078 func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721EnumerableApprovalIterator, error) { 3079 3080 var ownerRule []interface{} 3081 for _, ownerItem := range owner { 3082 ownerRule = append(ownerRule, ownerItem) 3083 } 3084 var approvedRule []interface{} 3085 for _, approvedItem := range approved { 3086 approvedRule = append(approvedRule, approvedItem) 3087 } 3088 var tokenIdRule []interface{} 3089 for _, tokenIdItem := range tokenId { 3090 tokenIdRule = append(tokenIdRule, tokenIdItem) 3091 } 3092 3093 logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 3094 if err != nil { 3095 return nil, err 3096 } 3097 return &ERC721EnumerableApprovalIterator{contract: _ERC721Enumerable.contract, event: "Approval", logs: logs, sub: sub}, nil 3098 } 3099 3100 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3101 // 3102 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 3103 func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 3104 3105 var ownerRule []interface{} 3106 for _, ownerItem := range owner { 3107 ownerRule = append(ownerRule, ownerItem) 3108 } 3109 var approvedRule []interface{} 3110 for _, approvedItem := range approved { 3111 approvedRule = append(approvedRule, approvedItem) 3112 } 3113 var tokenIdRule []interface{} 3114 for _, tokenIdItem := range tokenId { 3115 tokenIdRule = append(tokenIdRule, tokenIdItem) 3116 } 3117 3118 logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 3119 if err != nil { 3120 return nil, err 3121 } 3122 return event.NewSubscription(func(quit <-chan struct{}) error { 3123 defer sub.Unsubscribe() 3124 for { 3125 select { 3126 case log := <-logs: 3127 // New log arrived, parse the event and forward to the user 3128 event := new(ERC721EnumerableApproval) 3129 if err := _ERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { 3130 return err 3131 } 3132 event.Raw = log 3133 3134 select { 3135 case sink <- event: 3136 case err := <-sub.Err(): 3137 return err 3138 case <-quit: 3139 return nil 3140 } 3141 case err := <-sub.Err(): 3142 return err 3143 case <-quit: 3144 return nil 3145 } 3146 } 3147 }), nil 3148 } 3149 3150 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3151 // 3152 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 3153 func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseApproval(log types.Log) (*ERC721EnumerableApproval, error) { 3154 event := new(ERC721EnumerableApproval) 3155 if err := _ERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { 3156 return nil, err 3157 } 3158 return event, nil 3159 } 3160 3161 // 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. 3162 type ERC721EnumerableApprovalForAllIterator struct { 3163 Event *ERC721EnumerableApprovalForAll // Event containing the contract specifics and raw log 3164 3165 contract *bind.BoundContract // Generic contract to use for unpacking event data 3166 event string // Event name to use for unpacking event data 3167 3168 logs chan types.Log // Log channel receiving the found contract events 3169 sub klaytn.Subscription // Subscription for errors, completion and termination 3170 done bool // Whether the subscription completed delivering logs 3171 fail error // Occurred error to stop iteration 3172 } 3173 3174 // Next advances the iterator to the subsequent event, returning whether there 3175 // are any more events found. In case of a retrieval or parsing error, false is 3176 // returned and Error() can be queried for the exact failure. 3177 func (it *ERC721EnumerableApprovalForAllIterator) Next() bool { 3178 // If the iterator failed, stop iterating 3179 if it.fail != nil { 3180 return false 3181 } 3182 // If the iterator completed, deliver directly whatever's available 3183 if it.done { 3184 select { 3185 case log := <-it.logs: 3186 it.Event = new(ERC721EnumerableApprovalForAll) 3187 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3188 it.fail = err 3189 return false 3190 } 3191 it.Event.Raw = log 3192 return true 3193 3194 default: 3195 return false 3196 } 3197 } 3198 // Iterator still in progress, wait for either a data or an error event 3199 select { 3200 case log := <-it.logs: 3201 it.Event = new(ERC721EnumerableApprovalForAll) 3202 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3203 it.fail = err 3204 return false 3205 } 3206 it.Event.Raw = log 3207 return true 3208 3209 case err := <-it.sub.Err(): 3210 it.done = true 3211 it.fail = err 3212 return it.Next() 3213 } 3214 } 3215 3216 // Error returns any retrieval or parsing error occurred during filtering. 3217 func (it *ERC721EnumerableApprovalForAllIterator) Error() error { 3218 return it.fail 3219 } 3220 3221 // Close terminates the iteration process, releasing any pending underlying 3222 // resources. 3223 func (it *ERC721EnumerableApprovalForAllIterator) Close() error { 3224 it.sub.Unsubscribe() 3225 return nil 3226 } 3227 3228 // ERC721EnumerableApprovalForAll represents a ApprovalForAll event raised by the ERC721Enumerable contract. 3229 type ERC721EnumerableApprovalForAll struct { 3230 Owner common.Address 3231 Operator common.Address 3232 Approved bool 3233 Raw types.Log // Blockchain specific contextual infos 3234 } 3235 3236 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 3237 // 3238 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 3239 func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721EnumerableApprovalForAllIterator, error) { 3240 3241 var ownerRule []interface{} 3242 for _, ownerItem := range owner { 3243 ownerRule = append(ownerRule, ownerItem) 3244 } 3245 var operatorRule []interface{} 3246 for _, operatorItem := range operator { 3247 operatorRule = append(operatorRule, operatorItem) 3248 } 3249 3250 logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 3251 if err != nil { 3252 return nil, err 3253 } 3254 return &ERC721EnumerableApprovalForAllIterator{contract: _ERC721Enumerable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 3255 } 3256 3257 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 3258 // 3259 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 3260 func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 3261 3262 var ownerRule []interface{} 3263 for _, ownerItem := range owner { 3264 ownerRule = append(ownerRule, ownerItem) 3265 } 3266 var operatorRule []interface{} 3267 for _, operatorItem := range operator { 3268 operatorRule = append(operatorRule, operatorItem) 3269 } 3270 3271 logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 3272 if err != nil { 3273 return nil, err 3274 } 3275 return event.NewSubscription(func(quit <-chan struct{}) error { 3276 defer sub.Unsubscribe() 3277 for { 3278 select { 3279 case log := <-logs: 3280 // New log arrived, parse the event and forward to the user 3281 event := new(ERC721EnumerableApprovalForAll) 3282 if err := _ERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 3283 return err 3284 } 3285 event.Raw = log 3286 3287 select { 3288 case sink <- event: 3289 case err := <-sub.Err(): 3290 return err 3291 case <-quit: 3292 return nil 3293 } 3294 case err := <-sub.Err(): 3295 return err 3296 case <-quit: 3297 return nil 3298 } 3299 } 3300 }), nil 3301 } 3302 3303 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 3304 // 3305 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 3306 func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseApprovalForAll(log types.Log) (*ERC721EnumerableApprovalForAll, error) { 3307 event := new(ERC721EnumerableApprovalForAll) 3308 if err := _ERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 3309 return nil, err 3310 } 3311 return event, nil 3312 } 3313 3314 // 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. 3315 type ERC721EnumerableTransferIterator struct { 3316 Event *ERC721EnumerableTransfer // Event containing the contract specifics and raw log 3317 3318 contract *bind.BoundContract // Generic contract to use for unpacking event data 3319 event string // Event name to use for unpacking event data 3320 3321 logs chan types.Log // Log channel receiving the found contract events 3322 sub klaytn.Subscription // Subscription for errors, completion and termination 3323 done bool // Whether the subscription completed delivering logs 3324 fail error // Occurred error to stop iteration 3325 } 3326 3327 // Next advances the iterator to the subsequent event, returning whether there 3328 // are any more events found. In case of a retrieval or parsing error, false is 3329 // returned and Error() can be queried for the exact failure. 3330 func (it *ERC721EnumerableTransferIterator) Next() bool { 3331 // If the iterator failed, stop iterating 3332 if it.fail != nil { 3333 return false 3334 } 3335 // If the iterator completed, deliver directly whatever's available 3336 if it.done { 3337 select { 3338 case log := <-it.logs: 3339 it.Event = new(ERC721EnumerableTransfer) 3340 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3341 it.fail = err 3342 return false 3343 } 3344 it.Event.Raw = log 3345 return true 3346 3347 default: 3348 return false 3349 } 3350 } 3351 // Iterator still in progress, wait for either a data or an error event 3352 select { 3353 case log := <-it.logs: 3354 it.Event = new(ERC721EnumerableTransfer) 3355 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3356 it.fail = err 3357 return false 3358 } 3359 it.Event.Raw = log 3360 return true 3361 3362 case err := <-it.sub.Err(): 3363 it.done = true 3364 it.fail = err 3365 return it.Next() 3366 } 3367 } 3368 3369 // Error returns any retrieval or parsing error occurred during filtering. 3370 func (it *ERC721EnumerableTransferIterator) Error() error { 3371 return it.fail 3372 } 3373 3374 // Close terminates the iteration process, releasing any pending underlying 3375 // resources. 3376 func (it *ERC721EnumerableTransferIterator) Close() error { 3377 it.sub.Unsubscribe() 3378 return nil 3379 } 3380 3381 // ERC721EnumerableTransfer represents a Transfer event raised by the ERC721Enumerable contract. 3382 type ERC721EnumerableTransfer struct { 3383 From common.Address 3384 To common.Address 3385 TokenId *big.Int 3386 Raw types.Log // Blockchain specific contextual infos 3387 } 3388 3389 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3390 // 3391 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 3392 func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721EnumerableTransferIterator, error) { 3393 3394 var fromRule []interface{} 3395 for _, fromItem := range from { 3396 fromRule = append(fromRule, fromItem) 3397 } 3398 var toRule []interface{} 3399 for _, toItem := range to { 3400 toRule = append(toRule, toItem) 3401 } 3402 var tokenIdRule []interface{} 3403 for _, tokenIdItem := range tokenId { 3404 tokenIdRule = append(tokenIdRule, tokenIdItem) 3405 } 3406 3407 logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 3408 if err != nil { 3409 return nil, err 3410 } 3411 return &ERC721EnumerableTransferIterator{contract: _ERC721Enumerable.contract, event: "Transfer", logs: logs, sub: sub}, nil 3412 } 3413 3414 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3415 // 3416 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 3417 func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 3418 3419 var fromRule []interface{} 3420 for _, fromItem := range from { 3421 fromRule = append(fromRule, fromItem) 3422 } 3423 var toRule []interface{} 3424 for _, toItem := range to { 3425 toRule = append(toRule, toItem) 3426 } 3427 var tokenIdRule []interface{} 3428 for _, tokenIdItem := range tokenId { 3429 tokenIdRule = append(tokenIdRule, tokenIdItem) 3430 } 3431 3432 logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 3433 if err != nil { 3434 return nil, err 3435 } 3436 return event.NewSubscription(func(quit <-chan struct{}) error { 3437 defer sub.Unsubscribe() 3438 for { 3439 select { 3440 case log := <-logs: 3441 // New log arrived, parse the event and forward to the user 3442 event := new(ERC721EnumerableTransfer) 3443 if err := _ERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { 3444 return err 3445 } 3446 event.Raw = log 3447 3448 select { 3449 case sink <- event: 3450 case err := <-sub.Err(): 3451 return err 3452 case <-quit: 3453 return nil 3454 } 3455 case err := <-sub.Err(): 3456 return err 3457 case <-quit: 3458 return nil 3459 } 3460 } 3461 }), nil 3462 } 3463 3464 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3465 // 3466 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 3467 func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseTransfer(log types.Log) (*ERC721EnumerableTransfer, error) { 3468 event := new(ERC721EnumerableTransfer) 3469 if err := _ERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { 3470 return nil, err 3471 } 3472 return event, nil 3473 } 3474 3475 // ERC721FullMetaData contains all meta data concerning the ERC721Full contract. 3476 var ERC721FullMetaData = &bind.MetaData{ 3477 ABI: "[{\"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\"}]", 3478 Sigs: map[string]string{ 3479 "095ea7b3": "approve(address,uint256)", 3480 "70a08231": "balanceOf(address)", 3481 "081812fc": "getApproved(uint256)", 3482 "e985e9c5": "isApprovedForAll(address,address)", 3483 "06fdde03": "name()", 3484 "6352211e": "ownerOf(uint256)", 3485 "42842e0e": "safeTransferFrom(address,address,uint256)", 3486 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 3487 "a22cb465": "setApprovalForAll(address,bool)", 3488 "01ffc9a7": "supportsInterface(bytes4)", 3489 "95d89b41": "symbol()", 3490 "4f6ccce7": "tokenByIndex(uint256)", 3491 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 3492 "c87b56dd": "tokenURI(uint256)", 3493 "18160ddd": "totalSupply()", 3494 "23b872dd": "transferFrom(address,address,uint256)", 3495 }, 3496 Bin: "0x60806040523480156200001157600080fd5b506040516200166e3803806200166e833981018060405260408110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b820160208101848111156200006457600080fd5b81516401000000008111828201871017156200007f57600080fd5b505092919060200180516401000000008111156200009c57600080fd5b82016020810184811115620000b057600080fd5b8151640100000000811182820187101715620000cb57600080fd5b50509291905050508181620000ed6301ffc9a760e01b6200016b60201b60201c565b620001056380ac58cd60e01b6200016b60201b60201c565b6200011d63780e9d6360e01b6200016b60201b60201c565b8151620001329060099060208501906200023a565b5080516200014890600a9060208401906200023a565b5062000161635b5e139f60e01b6200016b60201b60201c565b50505050620002df565b7fffffffff000000000000000000000000000000000000000000000000000000008082161415620001fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027d57805160ff1916838001178555620002ad565b82800160010185558215620002ad579182015b82811115620002ad57825182559160200191906001019062000290565b50620002bb929150620002bf565b5090565b620002dc91905b80821115620002bb5760008155600101620002c6565b90565b61137f80620002ef6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80634f6ccce711610097578063a22cb46511610066578063a22cb4651461033e578063b88d4fde1461036c578063c87b56dd14610432578063e985e9c51461044f57610100565b80634f6ccce7146102d65780636352211e146102f357806370a082311461031057806395d89b411461033657610100565b806318160ddd116100d357806318160ddd1461022457806323b872dd1461023e5780632f745c591461027457806342842e0e146102a057610100565b806301ffc9a71461010557806306fdde0314610140578063081812fc146101bd578063095ea7b3146101f6575b600080fd5b61012c6004803603602081101561011b57600080fd5b50356001600160e01b03191661047d565b604080519115158252519081900360200190f35b61014861049c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018257818101518382015260200161016a565b50505050905090810190601f1680156101af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360208110156101d357600080fd5b5035610533565b604080516001600160a01b039092168252519081900360200190f35b6102226004803603604081101561020c57600080fd5b506001600160a01b038135169060200135610598565b005b61022c6106af565b60408051918252519081900360200190f35b6102226004803603606081101561025457600080fd5b506001600160a01b038135811691602081013590911690604001356106b5565b61022c6004803603604081101561028a57600080fd5b506001600160a01b03813516906020013561070d565b610222600480360360608110156102b657600080fd5b506001600160a01b0381358116916020810135909116906040013561078f565b61022c600480360360208110156102ec57600080fd5b50356107aa565b6101da6004803603602081101561030957600080fd5b5035610813565b61022c6004803603602081101561032657600080fd5b50356001600160a01b0316610870565b6101486108db565b6102226004803603604081101561035457600080fd5b506001600160a01b038135169060200135151561093c565b6102226004803603608081101561038257600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156103bd57600080fd5b8201836020820111156103cf57600080fd5b803590602001918460018302840111640100000000831117156103f157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a0b945050505050565b6101486004803603602081101561044857600080fd5b5035610a66565b61012c6004803603604081101561046557600080fd5b506001600160a01b0381358116916020013516610b4e565b6001600160e01b03191660009081526020819052604090205460ff1690565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105285780601f106104fd57610100808354040283529160200191610528565b820191906000526020600020905b81548152906001019060200180831161050b57829003601f168201915b505050505090505b90565b600061053e82610b7c565b61057c57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611252602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006105a382610813565b9050806001600160a01b0316836001600160a01b031614156105f957604051600160e51b62461bcd0281526004018080602001828103825260218152602001806112d66021913960400191505060405180910390fd5b336001600160a01b038216148061061557506106158133610b4e565b61065357604051600160e51b62461bcd0281526004018080602001828103825260388152602001806111c76038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60075490565b6106bf3382610b99565b6106fd57604051600160e51b62461bcd0281526004018080602001828103825260318152602001806112f76031913960400191505060405180910390fd5b610708838383610c40565b505050565b600061071883610870565b821061075857604051600160e51b62461bcd02815260040180806020018281038252602b81526020018061111a602b913960400191505060405180910390fd5b6001600160a01b038316600090815260056020526040902080548390811061077c57fe5b9060005260206000200154905092915050565b61070883838360405180602001604052806000815250610a0b565b60006107b46106af565b82106107f457604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611328602c913960400191505060405180910390fd5b6007828154811061080157fe5b90600052602060002001549050919050565b6000818152600160205260408120546001600160a01b03168061086a57604051600160e51b62461bcd0281526004018080602001828103825260298152602001806112296029913960400191505060405180910390fd5b92915050565b60006001600160a01b0382166108ba57604051600160e51b62461bcd02815260040180806020018281038252602a8152602001806111ff602a913960400191505060405180910390fd5b6001600160a01b038216600090815260036020526040902061086a90610c5f565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105285780601f106104fd57610100808354040283529160200191610528565b6001600160a01b03821633141561099d5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610a168484846106b5565b610a2284848484610c63565b610a6057604051600160e51b62461bcd0281526004018080602001828103825260328152602001806111456032913960400191505060405180910390fd5b50505050565b6060610a7182610b7c565b610aaf57604051600160e51b62461bcd02815260040180806020018281038252602f8152602001806112a7602f913960400191505060405180910390fd5b6000828152600b602090815260409182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084529091830182828015610b425780601f10610b1757610100808354040283529160200191610b42565b820191906000526020600020905b815481529060010190602001808311610b2557829003601f168201915b50505050509050919050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b6000610ba482610b7c565b610be257604051600160e51b62461bcd02815260040180806020018281038252602c81526020018061119b602c913960400191505060405180910390fd5b6000610bed83610813565b9050806001600160a01b0316846001600160a01b03161480610c285750836001600160a01b0316610c1d84610533565b6001600160a01b0316145b80610c385750610c388185610b4e565b949350505050565b610c4b838383610d9c565b610c558382610ee6565b6107088282610fdb565b5490565b6000610c77846001600160a01b0316611019565b610c8357506001610c38565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610d00578181015183820152602001610ce8565b50505050905090810190601f168015610d2d5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610d4f57600080fd5b505af1158015610d63573d6000803e3d6000fd5b505050506040513d6020811015610d7957600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b826001600160a01b0316610daf82610813565b6001600160a01b031614610df757604051600160e51b62461bcd02815260040180806020018281038252602981526020018061127e6029913960400191505060405180910390fd5b6001600160a01b038216610e3f57604051600160e51b62461bcd0281526004018080602001828103825260248152602001806111776024913960400191505060405180910390fd5b610e488161101f565b6001600160a01b0383166000908152600360205260409020610e699061105c565b6001600160a01b0382166000908152600360205260409020610e8a90611073565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216600090815260056020526040812054610f1090600163ffffffff61107c16565b600083815260066020526040902054909150808214610fab576001600160a01b0384166000908152600560205260408120805484908110610f4d57fe5b906000526020600020015490508060056000876001600160a01b03166001600160a01b031681526020019081526020016000208381548110610f8b57fe5b600091825260208083209091019290925591825260069052604090208190555b6001600160a01b0384166000908152600560205260409020805490610fd49060001983016110dc565b5050505050565b6001600160a01b0390911660009081526005602081815260408084208054868652600684529185208290559282526001810183559183529091200155565b3b151590565b6000818152600260205260409020546001600160a01b03161561105957600081815260026020526040902080546001600160a01b03191690555b50565b805461106f90600163ffffffff61107c16565b9055565b80546001019055565b6000828211156110d65760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b8154818355818111156107085760008381526020902061070891810190830161053091905b808211156111155760008155600101611101565b509056fe455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e6473a165627a7a72305820e0a7c5088bc979bfe17da327dbe7e4a99d0954d16ce72a5902286fea461b37370029", 3497 } 3498 3499 // ERC721FullABI is the input ABI used to generate the binding from. 3500 // Deprecated: Use ERC721FullMetaData.ABI instead. 3501 var ERC721FullABI = ERC721FullMetaData.ABI 3502 3503 // ERC721FullBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 3504 const ERC721FullBinRuntime = `608060405234801561001057600080fd5b50600436106101005760003560e01c80634f6ccce711610097578063a22cb46511610066578063a22cb4651461033e578063b88d4fde1461036c578063c87b56dd14610432578063e985e9c51461044f57610100565b80634f6ccce7146102d65780636352211e146102f357806370a082311461031057806395d89b411461033657610100565b806318160ddd116100d357806318160ddd1461022457806323b872dd1461023e5780632f745c591461027457806342842e0e146102a057610100565b806301ffc9a71461010557806306fdde0314610140578063081812fc146101bd578063095ea7b3146101f6575b600080fd5b61012c6004803603602081101561011b57600080fd5b50356001600160e01b03191661047d565b604080519115158252519081900360200190f35b61014861049c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018257818101518382015260200161016a565b50505050905090810190601f1680156101af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360208110156101d357600080fd5b5035610533565b604080516001600160a01b039092168252519081900360200190f35b6102226004803603604081101561020c57600080fd5b506001600160a01b038135169060200135610598565b005b61022c6106af565b60408051918252519081900360200190f35b6102226004803603606081101561025457600080fd5b506001600160a01b038135811691602081013590911690604001356106b5565b61022c6004803603604081101561028a57600080fd5b506001600160a01b03813516906020013561070d565b610222600480360360608110156102b657600080fd5b506001600160a01b0381358116916020810135909116906040013561078f565b61022c600480360360208110156102ec57600080fd5b50356107aa565b6101da6004803603602081101561030957600080fd5b5035610813565b61022c6004803603602081101561032657600080fd5b50356001600160a01b0316610870565b6101486108db565b6102226004803603604081101561035457600080fd5b506001600160a01b038135169060200135151561093c565b6102226004803603608081101561038257600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156103bd57600080fd5b8201836020820111156103cf57600080fd5b803590602001918460018302840111640100000000831117156103f157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a0b945050505050565b6101486004803603602081101561044857600080fd5b5035610a66565b61012c6004803603604081101561046557600080fd5b506001600160a01b0381358116916020013516610b4e565b6001600160e01b03191660009081526020819052604090205460ff1690565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105285780601f106104fd57610100808354040283529160200191610528565b820191906000526020600020905b81548152906001019060200180831161050b57829003601f168201915b505050505090505b90565b600061053e82610b7c565b61057c57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611252602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006105a382610813565b9050806001600160a01b0316836001600160a01b031614156105f957604051600160e51b62461bcd0281526004018080602001828103825260218152602001806112d66021913960400191505060405180910390fd5b336001600160a01b038216148061061557506106158133610b4e565b61065357604051600160e51b62461bcd0281526004018080602001828103825260388152602001806111c76038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60075490565b6106bf3382610b99565b6106fd57604051600160e51b62461bcd0281526004018080602001828103825260318152602001806112f76031913960400191505060405180910390fd5b610708838383610c40565b505050565b600061071883610870565b821061075857604051600160e51b62461bcd02815260040180806020018281038252602b81526020018061111a602b913960400191505060405180910390fd5b6001600160a01b038316600090815260056020526040902080548390811061077c57fe5b9060005260206000200154905092915050565b61070883838360405180602001604052806000815250610a0b565b60006107b46106af565b82106107f457604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611328602c913960400191505060405180910390fd5b6007828154811061080157fe5b90600052602060002001549050919050565b6000818152600160205260408120546001600160a01b03168061086a57604051600160e51b62461bcd0281526004018080602001828103825260298152602001806112296029913960400191505060405180910390fd5b92915050565b60006001600160a01b0382166108ba57604051600160e51b62461bcd02815260040180806020018281038252602a8152602001806111ff602a913960400191505060405180910390fd5b6001600160a01b038216600090815260036020526040902061086a90610c5f565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105285780601f106104fd57610100808354040283529160200191610528565b6001600160a01b03821633141561099d5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610a168484846106b5565b610a2284848484610c63565b610a6057604051600160e51b62461bcd0281526004018080602001828103825260328152602001806111456032913960400191505060405180910390fd5b50505050565b6060610a7182610b7c565b610aaf57604051600160e51b62461bcd02815260040180806020018281038252602f8152602001806112a7602f913960400191505060405180910390fd5b6000828152600b602090815260409182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084529091830182828015610b425780601f10610b1757610100808354040283529160200191610b42565b820191906000526020600020905b815481529060010190602001808311610b2557829003601f168201915b50505050509050919050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b6000610ba482610b7c565b610be257604051600160e51b62461bcd02815260040180806020018281038252602c81526020018061119b602c913960400191505060405180910390fd5b6000610bed83610813565b9050806001600160a01b0316846001600160a01b03161480610c285750836001600160a01b0316610c1d84610533565b6001600160a01b0316145b80610c385750610c388185610b4e565b949350505050565b610c4b838383610d9c565b610c558382610ee6565b6107088282610fdb565b5490565b6000610c77846001600160a01b0316611019565b610c8357506001610c38565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610d00578181015183820152602001610ce8565b50505050905090810190601f168015610d2d5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610d4f57600080fd5b505af1158015610d63573d6000803e3d6000fd5b505050506040513d6020811015610d7957600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b826001600160a01b0316610daf82610813565b6001600160a01b031614610df757604051600160e51b62461bcd02815260040180806020018281038252602981526020018061127e6029913960400191505060405180910390fd5b6001600160a01b038216610e3f57604051600160e51b62461bcd0281526004018080602001828103825260248152602001806111776024913960400191505060405180910390fd5b610e488161101f565b6001600160a01b0383166000908152600360205260409020610e699061105c565b6001600160a01b0382166000908152600360205260409020610e8a90611073565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216600090815260056020526040812054610f1090600163ffffffff61107c16565b600083815260066020526040902054909150808214610fab576001600160a01b0384166000908152600560205260408120805484908110610f4d57fe5b906000526020600020015490508060056000876001600160a01b03166001600160a01b031681526020019081526020016000208381548110610f8b57fe5b600091825260208083209091019290925591825260069052604090208190555b6001600160a01b0384166000908152600560205260409020805490610fd49060001983016110dc565b5050505050565b6001600160a01b0390911660009081526005602081815260408084208054868652600684529185208290559282526001810183559183529091200155565b3b151590565b6000818152600260205260409020546001600160a01b03161561105957600081815260026020526040902080546001600160a01b03191690555b50565b805461106f90600163ffffffff61107c16565b9055565b80546001019055565b6000828211156110d65760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b8154818355818111156107085760008381526020902061070891810190830161053091905b808211156111155760008155600101611101565b509056fe455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e6473a165627a7a72305820e0a7c5088bc979bfe17da327dbe7e4a99d0954d16ce72a5902286fea461b37370029` 3505 3506 // ERC721FullFuncSigs maps the 4-byte function signature to its string representation. 3507 // Deprecated: Use ERC721FullMetaData.Sigs instead. 3508 var ERC721FullFuncSigs = ERC721FullMetaData.Sigs 3509 3510 // ERC721FullBin is the compiled bytecode used for deploying new contracts. 3511 // Deprecated: Use ERC721FullMetaData.Bin instead. 3512 var ERC721FullBin = ERC721FullMetaData.Bin 3513 3514 // DeployERC721Full deploys a new Klaytn contract, binding an instance of ERC721Full to it. 3515 func DeployERC721Full(auth *bind.TransactOpts, backend bind.ContractBackend, name string, symbol string) (common.Address, *types.Transaction, *ERC721Full, error) { 3516 parsed, err := ERC721FullMetaData.GetAbi() 3517 if err != nil { 3518 return common.Address{}, nil, nil, err 3519 } 3520 if parsed == nil { 3521 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 3522 } 3523 3524 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ERC721FullBin), backend, name, symbol) 3525 if err != nil { 3526 return common.Address{}, nil, nil, err 3527 } 3528 return address, tx, &ERC721Full{ERC721FullCaller: ERC721FullCaller{contract: contract}, ERC721FullTransactor: ERC721FullTransactor{contract: contract}, ERC721FullFilterer: ERC721FullFilterer{contract: contract}}, nil 3529 } 3530 3531 // ERC721Full is an auto generated Go binding around a Klaytn contract. 3532 type ERC721Full struct { 3533 ERC721FullCaller // Read-only binding to the contract 3534 ERC721FullTransactor // Write-only binding to the contract 3535 ERC721FullFilterer // Log filterer for contract events 3536 } 3537 3538 // ERC721FullCaller is an auto generated read-only Go binding around a Klaytn contract. 3539 type ERC721FullCaller struct { 3540 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3541 } 3542 3543 // ERC721FullTransactor is an auto generated write-only Go binding around a Klaytn contract. 3544 type ERC721FullTransactor struct { 3545 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3546 } 3547 3548 // ERC721FullFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 3549 type ERC721FullFilterer struct { 3550 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3551 } 3552 3553 // ERC721FullSession is an auto generated Go binding around a Klaytn contract, 3554 // with pre-set call and transact options. 3555 type ERC721FullSession struct { 3556 Contract *ERC721Full // Generic contract binding to set the session for 3557 CallOpts bind.CallOpts // Call options to use throughout this session 3558 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 3559 } 3560 3561 // ERC721FullCallerSession is an auto generated read-only Go binding around a Klaytn contract, 3562 // with pre-set call options. 3563 type ERC721FullCallerSession struct { 3564 Contract *ERC721FullCaller // Generic contract caller binding to set the session for 3565 CallOpts bind.CallOpts // Call options to use throughout this session 3566 } 3567 3568 // ERC721FullTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 3569 // with pre-set transact options. 3570 type ERC721FullTransactorSession struct { 3571 Contract *ERC721FullTransactor // Generic contract transactor binding to set the session for 3572 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 3573 } 3574 3575 // ERC721FullRaw is an auto generated low-level Go binding around a Klaytn contract. 3576 type ERC721FullRaw struct { 3577 Contract *ERC721Full // Generic contract binding to access the raw methods on 3578 } 3579 3580 // ERC721FullCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 3581 type ERC721FullCallerRaw struct { 3582 Contract *ERC721FullCaller // Generic read-only contract binding to access the raw methods on 3583 } 3584 3585 // ERC721FullTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 3586 type ERC721FullTransactorRaw struct { 3587 Contract *ERC721FullTransactor // Generic write-only contract binding to access the raw methods on 3588 } 3589 3590 // NewERC721Full creates a new instance of ERC721Full, bound to a specific deployed contract. 3591 func NewERC721Full(address common.Address, backend bind.ContractBackend) (*ERC721Full, error) { 3592 contract, err := bindERC721Full(address, backend, backend, backend) 3593 if err != nil { 3594 return nil, err 3595 } 3596 return &ERC721Full{ERC721FullCaller: ERC721FullCaller{contract: contract}, ERC721FullTransactor: ERC721FullTransactor{contract: contract}, ERC721FullFilterer: ERC721FullFilterer{contract: contract}}, nil 3597 } 3598 3599 // NewERC721FullCaller creates a new read-only instance of ERC721Full, bound to a specific deployed contract. 3600 func NewERC721FullCaller(address common.Address, caller bind.ContractCaller) (*ERC721FullCaller, error) { 3601 contract, err := bindERC721Full(address, caller, nil, nil) 3602 if err != nil { 3603 return nil, err 3604 } 3605 return &ERC721FullCaller{contract: contract}, nil 3606 } 3607 3608 // NewERC721FullTransactor creates a new write-only instance of ERC721Full, bound to a specific deployed contract. 3609 func NewERC721FullTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721FullTransactor, error) { 3610 contract, err := bindERC721Full(address, nil, transactor, nil) 3611 if err != nil { 3612 return nil, err 3613 } 3614 return &ERC721FullTransactor{contract: contract}, nil 3615 } 3616 3617 // NewERC721FullFilterer creates a new log filterer instance of ERC721Full, bound to a specific deployed contract. 3618 func NewERC721FullFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721FullFilterer, error) { 3619 contract, err := bindERC721Full(address, nil, nil, filterer) 3620 if err != nil { 3621 return nil, err 3622 } 3623 return &ERC721FullFilterer{contract: contract}, nil 3624 } 3625 3626 // bindERC721Full binds a generic wrapper to an already deployed contract. 3627 func bindERC721Full(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 3628 parsed, err := ERC721FullMetaData.GetAbi() 3629 if err != nil { 3630 return nil, err 3631 } 3632 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 3633 } 3634 3635 // Call invokes the (constant) contract method with params as input values and 3636 // sets the output to result. The result type might be a single field for simple 3637 // returns, a slice of interfaces for anonymous returns and a struct for named 3638 // returns. 3639 func (_ERC721Full *ERC721FullRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 3640 return _ERC721Full.Contract.ERC721FullCaller.contract.Call(opts, result, method, params...) 3641 } 3642 3643 // Transfer initiates a plain transaction to move funds to the contract, calling 3644 // its default method if one is available. 3645 func (_ERC721Full *ERC721FullRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 3646 return _ERC721Full.Contract.ERC721FullTransactor.contract.Transfer(opts) 3647 } 3648 3649 // Transact invokes the (paid) contract method with params as input values. 3650 func (_ERC721Full *ERC721FullRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 3651 return _ERC721Full.Contract.ERC721FullTransactor.contract.Transact(opts, method, params...) 3652 } 3653 3654 // Call invokes the (constant) contract method with params as input values and 3655 // sets the output to result. The result type might be a single field for simple 3656 // returns, a slice of interfaces for anonymous returns and a struct for named 3657 // returns. 3658 func (_ERC721Full *ERC721FullCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 3659 return _ERC721Full.Contract.contract.Call(opts, result, method, params...) 3660 } 3661 3662 // Transfer initiates a plain transaction to move funds to the contract, calling 3663 // its default method if one is available. 3664 func (_ERC721Full *ERC721FullTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 3665 return _ERC721Full.Contract.contract.Transfer(opts) 3666 } 3667 3668 // Transact invokes the (paid) contract method with params as input values. 3669 func (_ERC721Full *ERC721FullTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 3670 return _ERC721Full.Contract.contract.Transact(opts, method, params...) 3671 } 3672 3673 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3674 // 3675 // Solidity: function balanceOf(address owner) view returns(uint256) 3676 func (_ERC721Full *ERC721FullCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 3677 var out []interface{} 3678 err := _ERC721Full.contract.Call(opts, &out, "balanceOf", owner) 3679 3680 if err != nil { 3681 return *new(*big.Int), err 3682 } 3683 3684 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 3685 3686 return out0, err 3687 3688 } 3689 3690 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3691 // 3692 // Solidity: function balanceOf(address owner) view returns(uint256) 3693 func (_ERC721Full *ERC721FullSession) BalanceOf(owner common.Address) (*big.Int, error) { 3694 return _ERC721Full.Contract.BalanceOf(&_ERC721Full.CallOpts, owner) 3695 } 3696 3697 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3698 // 3699 // Solidity: function balanceOf(address owner) view returns(uint256) 3700 func (_ERC721Full *ERC721FullCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 3701 return _ERC721Full.Contract.BalanceOf(&_ERC721Full.CallOpts, owner) 3702 } 3703 3704 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3705 // 3706 // Solidity: function getApproved(uint256 tokenId) view returns(address) 3707 func (_ERC721Full *ERC721FullCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 3708 var out []interface{} 3709 err := _ERC721Full.contract.Call(opts, &out, "getApproved", tokenId) 3710 3711 if err != nil { 3712 return *new(common.Address), err 3713 } 3714 3715 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 3716 3717 return out0, err 3718 3719 } 3720 3721 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3722 // 3723 // Solidity: function getApproved(uint256 tokenId) view returns(address) 3724 func (_ERC721Full *ERC721FullSession) GetApproved(tokenId *big.Int) (common.Address, error) { 3725 return _ERC721Full.Contract.GetApproved(&_ERC721Full.CallOpts, tokenId) 3726 } 3727 3728 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3729 // 3730 // Solidity: function getApproved(uint256 tokenId) view returns(address) 3731 func (_ERC721Full *ERC721FullCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 3732 return _ERC721Full.Contract.GetApproved(&_ERC721Full.CallOpts, tokenId) 3733 } 3734 3735 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3736 // 3737 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 3738 func (_ERC721Full *ERC721FullCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 3739 var out []interface{} 3740 err := _ERC721Full.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 3741 3742 if err != nil { 3743 return *new(bool), err 3744 } 3745 3746 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 3747 3748 return out0, err 3749 3750 } 3751 3752 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3753 // 3754 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 3755 func (_ERC721Full *ERC721FullSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 3756 return _ERC721Full.Contract.IsApprovedForAll(&_ERC721Full.CallOpts, owner, operator) 3757 } 3758 3759 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3760 // 3761 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 3762 func (_ERC721Full *ERC721FullCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 3763 return _ERC721Full.Contract.IsApprovedForAll(&_ERC721Full.CallOpts, owner, operator) 3764 } 3765 3766 // Name is a free data retrieval call binding the contract method 0x06fdde03. 3767 // 3768 // Solidity: function name() view returns(string) 3769 func (_ERC721Full *ERC721FullCaller) Name(opts *bind.CallOpts) (string, error) { 3770 var out []interface{} 3771 err := _ERC721Full.contract.Call(opts, &out, "name") 3772 3773 if err != nil { 3774 return *new(string), err 3775 } 3776 3777 out0 := *abi.ConvertType(out[0], new(string)).(*string) 3778 3779 return out0, err 3780 3781 } 3782 3783 // Name is a free data retrieval call binding the contract method 0x06fdde03. 3784 // 3785 // Solidity: function name() view returns(string) 3786 func (_ERC721Full *ERC721FullSession) Name() (string, error) { 3787 return _ERC721Full.Contract.Name(&_ERC721Full.CallOpts) 3788 } 3789 3790 // Name is a free data retrieval call binding the contract method 0x06fdde03. 3791 // 3792 // Solidity: function name() view returns(string) 3793 func (_ERC721Full *ERC721FullCallerSession) Name() (string, error) { 3794 return _ERC721Full.Contract.Name(&_ERC721Full.CallOpts) 3795 } 3796 3797 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 3798 // 3799 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 3800 func (_ERC721Full *ERC721FullCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 3801 var out []interface{} 3802 err := _ERC721Full.contract.Call(opts, &out, "ownerOf", tokenId) 3803 3804 if err != nil { 3805 return *new(common.Address), err 3806 } 3807 3808 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 3809 3810 return out0, err 3811 3812 } 3813 3814 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 3815 // 3816 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 3817 func (_ERC721Full *ERC721FullSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 3818 return _ERC721Full.Contract.OwnerOf(&_ERC721Full.CallOpts, tokenId) 3819 } 3820 3821 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 3822 // 3823 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 3824 func (_ERC721Full *ERC721FullCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 3825 return _ERC721Full.Contract.OwnerOf(&_ERC721Full.CallOpts, tokenId) 3826 } 3827 3828 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 3829 // 3830 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 3831 func (_ERC721Full *ERC721FullCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 3832 var out []interface{} 3833 err := _ERC721Full.contract.Call(opts, &out, "supportsInterface", interfaceId) 3834 3835 if err != nil { 3836 return *new(bool), err 3837 } 3838 3839 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 3840 3841 return out0, err 3842 3843 } 3844 3845 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 3846 // 3847 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 3848 func (_ERC721Full *ERC721FullSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 3849 return _ERC721Full.Contract.SupportsInterface(&_ERC721Full.CallOpts, interfaceId) 3850 } 3851 3852 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 3853 // 3854 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 3855 func (_ERC721Full *ERC721FullCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 3856 return _ERC721Full.Contract.SupportsInterface(&_ERC721Full.CallOpts, interfaceId) 3857 } 3858 3859 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 3860 // 3861 // Solidity: function symbol() view returns(string) 3862 func (_ERC721Full *ERC721FullCaller) Symbol(opts *bind.CallOpts) (string, error) { 3863 var out []interface{} 3864 err := _ERC721Full.contract.Call(opts, &out, "symbol") 3865 3866 if err != nil { 3867 return *new(string), err 3868 } 3869 3870 out0 := *abi.ConvertType(out[0], new(string)).(*string) 3871 3872 return out0, err 3873 3874 } 3875 3876 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 3877 // 3878 // Solidity: function symbol() view returns(string) 3879 func (_ERC721Full *ERC721FullSession) Symbol() (string, error) { 3880 return _ERC721Full.Contract.Symbol(&_ERC721Full.CallOpts) 3881 } 3882 3883 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 3884 // 3885 // Solidity: function symbol() view returns(string) 3886 func (_ERC721Full *ERC721FullCallerSession) Symbol() (string, error) { 3887 return _ERC721Full.Contract.Symbol(&_ERC721Full.CallOpts) 3888 } 3889 3890 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 3891 // 3892 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 3893 func (_ERC721Full *ERC721FullCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 3894 var out []interface{} 3895 err := _ERC721Full.contract.Call(opts, &out, "tokenByIndex", index) 3896 3897 if err != nil { 3898 return *new(*big.Int), err 3899 } 3900 3901 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 3902 3903 return out0, err 3904 3905 } 3906 3907 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 3908 // 3909 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 3910 func (_ERC721Full *ERC721FullSession) TokenByIndex(index *big.Int) (*big.Int, error) { 3911 return _ERC721Full.Contract.TokenByIndex(&_ERC721Full.CallOpts, index) 3912 } 3913 3914 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 3915 // 3916 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 3917 func (_ERC721Full *ERC721FullCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 3918 return _ERC721Full.Contract.TokenByIndex(&_ERC721Full.CallOpts, index) 3919 } 3920 3921 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 3922 // 3923 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 3924 func (_ERC721Full *ERC721FullCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 3925 var out []interface{} 3926 err := _ERC721Full.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index) 3927 3928 if err != nil { 3929 return *new(*big.Int), err 3930 } 3931 3932 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 3933 3934 return out0, err 3935 3936 } 3937 3938 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 3939 // 3940 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 3941 func (_ERC721Full *ERC721FullSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 3942 return _ERC721Full.Contract.TokenOfOwnerByIndex(&_ERC721Full.CallOpts, owner, index) 3943 } 3944 3945 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 3946 // 3947 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 3948 func (_ERC721Full *ERC721FullCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 3949 return _ERC721Full.Contract.TokenOfOwnerByIndex(&_ERC721Full.CallOpts, owner, index) 3950 } 3951 3952 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 3953 // 3954 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 3955 func (_ERC721Full *ERC721FullCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 3956 var out []interface{} 3957 err := _ERC721Full.contract.Call(opts, &out, "tokenURI", tokenId) 3958 3959 if err != nil { 3960 return *new(string), err 3961 } 3962 3963 out0 := *abi.ConvertType(out[0], new(string)).(*string) 3964 3965 return out0, err 3966 3967 } 3968 3969 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 3970 // 3971 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 3972 func (_ERC721Full *ERC721FullSession) TokenURI(tokenId *big.Int) (string, error) { 3973 return _ERC721Full.Contract.TokenURI(&_ERC721Full.CallOpts, tokenId) 3974 } 3975 3976 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 3977 // 3978 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 3979 func (_ERC721Full *ERC721FullCallerSession) TokenURI(tokenId *big.Int) (string, error) { 3980 return _ERC721Full.Contract.TokenURI(&_ERC721Full.CallOpts, tokenId) 3981 } 3982 3983 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3984 // 3985 // Solidity: function totalSupply() view returns(uint256) 3986 func (_ERC721Full *ERC721FullCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 3987 var out []interface{} 3988 err := _ERC721Full.contract.Call(opts, &out, "totalSupply") 3989 3990 if err != nil { 3991 return *new(*big.Int), err 3992 } 3993 3994 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 3995 3996 return out0, err 3997 3998 } 3999 4000 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 4001 // 4002 // Solidity: function totalSupply() view returns(uint256) 4003 func (_ERC721Full *ERC721FullSession) TotalSupply() (*big.Int, error) { 4004 return _ERC721Full.Contract.TotalSupply(&_ERC721Full.CallOpts) 4005 } 4006 4007 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 4008 // 4009 // Solidity: function totalSupply() view returns(uint256) 4010 func (_ERC721Full *ERC721FullCallerSession) TotalSupply() (*big.Int, error) { 4011 return _ERC721Full.Contract.TotalSupply(&_ERC721Full.CallOpts) 4012 } 4013 4014 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 4015 // 4016 // Solidity: function approve(address to, uint256 tokenId) returns() 4017 func (_ERC721Full *ERC721FullTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4018 return _ERC721Full.contract.Transact(opts, "approve", to, tokenId) 4019 } 4020 4021 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 4022 // 4023 // Solidity: function approve(address to, uint256 tokenId) returns() 4024 func (_ERC721Full *ERC721FullSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4025 return _ERC721Full.Contract.Approve(&_ERC721Full.TransactOpts, to, tokenId) 4026 } 4027 4028 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 4029 // 4030 // Solidity: function approve(address to, uint256 tokenId) returns() 4031 func (_ERC721Full *ERC721FullTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4032 return _ERC721Full.Contract.Approve(&_ERC721Full.TransactOpts, to, tokenId) 4033 } 4034 4035 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 4036 // 4037 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 4038 func (_ERC721Full *ERC721FullTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4039 return _ERC721Full.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 4040 } 4041 4042 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 4043 // 4044 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 4045 func (_ERC721Full *ERC721FullSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4046 return _ERC721Full.Contract.SafeTransferFrom(&_ERC721Full.TransactOpts, from, to, tokenId) 4047 } 4048 4049 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 4050 // 4051 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 4052 func (_ERC721Full *ERC721FullTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4053 return _ERC721Full.Contract.SafeTransferFrom(&_ERC721Full.TransactOpts, from, to, tokenId) 4054 } 4055 4056 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 4057 // 4058 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 4059 func (_ERC721Full *ERC721FullTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 4060 return _ERC721Full.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 4061 } 4062 4063 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 4064 // 4065 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 4066 func (_ERC721Full *ERC721FullSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 4067 return _ERC721Full.Contract.SafeTransferFrom0(&_ERC721Full.TransactOpts, from, to, tokenId, _data) 4068 } 4069 4070 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 4071 // 4072 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 4073 func (_ERC721Full *ERC721FullTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 4074 return _ERC721Full.Contract.SafeTransferFrom0(&_ERC721Full.TransactOpts, from, to, tokenId, _data) 4075 } 4076 4077 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 4078 // 4079 // Solidity: function setApprovalForAll(address to, bool approved) returns() 4080 func (_ERC721Full *ERC721FullTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 4081 return _ERC721Full.contract.Transact(opts, "setApprovalForAll", to, approved) 4082 } 4083 4084 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 4085 // 4086 // Solidity: function setApprovalForAll(address to, bool approved) returns() 4087 func (_ERC721Full *ERC721FullSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 4088 return _ERC721Full.Contract.SetApprovalForAll(&_ERC721Full.TransactOpts, to, approved) 4089 } 4090 4091 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 4092 // 4093 // Solidity: function setApprovalForAll(address to, bool approved) returns() 4094 func (_ERC721Full *ERC721FullTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 4095 return _ERC721Full.Contract.SetApprovalForAll(&_ERC721Full.TransactOpts, to, approved) 4096 } 4097 4098 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4099 // 4100 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 4101 func (_ERC721Full *ERC721FullTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4102 return _ERC721Full.contract.Transact(opts, "transferFrom", from, to, tokenId) 4103 } 4104 4105 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4106 // 4107 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 4108 func (_ERC721Full *ERC721FullSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4109 return _ERC721Full.Contract.TransferFrom(&_ERC721Full.TransactOpts, from, to, tokenId) 4110 } 4111 4112 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4113 // 4114 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 4115 func (_ERC721Full *ERC721FullTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4116 return _ERC721Full.Contract.TransferFrom(&_ERC721Full.TransactOpts, from, to, tokenId) 4117 } 4118 4119 // 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. 4120 type ERC721FullApprovalIterator struct { 4121 Event *ERC721FullApproval // Event containing the contract specifics and raw log 4122 4123 contract *bind.BoundContract // Generic contract to use for unpacking event data 4124 event string // Event name to use for unpacking event data 4125 4126 logs chan types.Log // Log channel receiving the found contract events 4127 sub klaytn.Subscription // Subscription for errors, completion and termination 4128 done bool // Whether the subscription completed delivering logs 4129 fail error // Occurred error to stop iteration 4130 } 4131 4132 // Next advances the iterator to the subsequent event, returning whether there 4133 // are any more events found. In case of a retrieval or parsing error, false is 4134 // returned and Error() can be queried for the exact failure. 4135 func (it *ERC721FullApprovalIterator) Next() bool { 4136 // If the iterator failed, stop iterating 4137 if it.fail != nil { 4138 return false 4139 } 4140 // If the iterator completed, deliver directly whatever's available 4141 if it.done { 4142 select { 4143 case log := <-it.logs: 4144 it.Event = new(ERC721FullApproval) 4145 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4146 it.fail = err 4147 return false 4148 } 4149 it.Event.Raw = log 4150 return true 4151 4152 default: 4153 return false 4154 } 4155 } 4156 // Iterator still in progress, wait for either a data or an error event 4157 select { 4158 case log := <-it.logs: 4159 it.Event = new(ERC721FullApproval) 4160 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4161 it.fail = err 4162 return false 4163 } 4164 it.Event.Raw = log 4165 return true 4166 4167 case err := <-it.sub.Err(): 4168 it.done = true 4169 it.fail = err 4170 return it.Next() 4171 } 4172 } 4173 4174 // Error returns any retrieval or parsing error occurred during filtering. 4175 func (it *ERC721FullApprovalIterator) Error() error { 4176 return it.fail 4177 } 4178 4179 // Close terminates the iteration process, releasing any pending underlying 4180 // resources. 4181 func (it *ERC721FullApprovalIterator) Close() error { 4182 it.sub.Unsubscribe() 4183 return nil 4184 } 4185 4186 // ERC721FullApproval represents a Approval event raised by the ERC721Full contract. 4187 type ERC721FullApproval struct { 4188 Owner common.Address 4189 Approved common.Address 4190 TokenId *big.Int 4191 Raw types.Log // Blockchain specific contextual infos 4192 } 4193 4194 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4195 // 4196 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 4197 func (_ERC721Full *ERC721FullFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721FullApprovalIterator, error) { 4198 4199 var ownerRule []interface{} 4200 for _, ownerItem := range owner { 4201 ownerRule = append(ownerRule, ownerItem) 4202 } 4203 var approvedRule []interface{} 4204 for _, approvedItem := range approved { 4205 approvedRule = append(approvedRule, approvedItem) 4206 } 4207 var tokenIdRule []interface{} 4208 for _, tokenIdItem := range tokenId { 4209 tokenIdRule = append(tokenIdRule, tokenIdItem) 4210 } 4211 4212 logs, sub, err := _ERC721Full.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 4213 if err != nil { 4214 return nil, err 4215 } 4216 return &ERC721FullApprovalIterator{contract: _ERC721Full.contract, event: "Approval", logs: logs, sub: sub}, nil 4217 } 4218 4219 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4220 // 4221 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 4222 func (_ERC721Full *ERC721FullFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721FullApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 4223 4224 var ownerRule []interface{} 4225 for _, ownerItem := range owner { 4226 ownerRule = append(ownerRule, ownerItem) 4227 } 4228 var approvedRule []interface{} 4229 for _, approvedItem := range approved { 4230 approvedRule = append(approvedRule, approvedItem) 4231 } 4232 var tokenIdRule []interface{} 4233 for _, tokenIdItem := range tokenId { 4234 tokenIdRule = append(tokenIdRule, tokenIdItem) 4235 } 4236 4237 logs, sub, err := _ERC721Full.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 4238 if err != nil { 4239 return nil, err 4240 } 4241 return event.NewSubscription(func(quit <-chan struct{}) error { 4242 defer sub.Unsubscribe() 4243 for { 4244 select { 4245 case log := <-logs: 4246 // New log arrived, parse the event and forward to the user 4247 event := new(ERC721FullApproval) 4248 if err := _ERC721Full.contract.UnpackLog(event, "Approval", log); err != nil { 4249 return err 4250 } 4251 event.Raw = log 4252 4253 select { 4254 case sink <- event: 4255 case err := <-sub.Err(): 4256 return err 4257 case <-quit: 4258 return nil 4259 } 4260 case err := <-sub.Err(): 4261 return err 4262 case <-quit: 4263 return nil 4264 } 4265 } 4266 }), nil 4267 } 4268 4269 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4270 // 4271 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 4272 func (_ERC721Full *ERC721FullFilterer) ParseApproval(log types.Log) (*ERC721FullApproval, error) { 4273 event := new(ERC721FullApproval) 4274 if err := _ERC721Full.contract.UnpackLog(event, "Approval", log); err != nil { 4275 return nil, err 4276 } 4277 return event, nil 4278 } 4279 4280 // 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. 4281 type ERC721FullApprovalForAllIterator struct { 4282 Event *ERC721FullApprovalForAll // Event containing the contract specifics and raw log 4283 4284 contract *bind.BoundContract // Generic contract to use for unpacking event data 4285 event string // Event name to use for unpacking event data 4286 4287 logs chan types.Log // Log channel receiving the found contract events 4288 sub klaytn.Subscription // Subscription for errors, completion and termination 4289 done bool // Whether the subscription completed delivering logs 4290 fail error // Occurred error to stop iteration 4291 } 4292 4293 // Next advances the iterator to the subsequent event, returning whether there 4294 // are any more events found. In case of a retrieval or parsing error, false is 4295 // returned and Error() can be queried for the exact failure. 4296 func (it *ERC721FullApprovalForAllIterator) Next() bool { 4297 // If the iterator failed, stop iterating 4298 if it.fail != nil { 4299 return false 4300 } 4301 // If the iterator completed, deliver directly whatever's available 4302 if it.done { 4303 select { 4304 case log := <-it.logs: 4305 it.Event = new(ERC721FullApprovalForAll) 4306 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4307 it.fail = err 4308 return false 4309 } 4310 it.Event.Raw = log 4311 return true 4312 4313 default: 4314 return false 4315 } 4316 } 4317 // Iterator still in progress, wait for either a data or an error event 4318 select { 4319 case log := <-it.logs: 4320 it.Event = new(ERC721FullApprovalForAll) 4321 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4322 it.fail = err 4323 return false 4324 } 4325 it.Event.Raw = log 4326 return true 4327 4328 case err := <-it.sub.Err(): 4329 it.done = true 4330 it.fail = err 4331 return it.Next() 4332 } 4333 } 4334 4335 // Error returns any retrieval or parsing error occurred during filtering. 4336 func (it *ERC721FullApprovalForAllIterator) Error() error { 4337 return it.fail 4338 } 4339 4340 // Close terminates the iteration process, releasing any pending underlying 4341 // resources. 4342 func (it *ERC721FullApprovalForAllIterator) Close() error { 4343 it.sub.Unsubscribe() 4344 return nil 4345 } 4346 4347 // ERC721FullApprovalForAll represents a ApprovalForAll event raised by the ERC721Full contract. 4348 type ERC721FullApprovalForAll struct { 4349 Owner common.Address 4350 Operator common.Address 4351 Approved bool 4352 Raw types.Log // Blockchain specific contextual infos 4353 } 4354 4355 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 4356 // 4357 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 4358 func (_ERC721Full *ERC721FullFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721FullApprovalForAllIterator, error) { 4359 4360 var ownerRule []interface{} 4361 for _, ownerItem := range owner { 4362 ownerRule = append(ownerRule, ownerItem) 4363 } 4364 var operatorRule []interface{} 4365 for _, operatorItem := range operator { 4366 operatorRule = append(operatorRule, operatorItem) 4367 } 4368 4369 logs, sub, err := _ERC721Full.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 4370 if err != nil { 4371 return nil, err 4372 } 4373 return &ERC721FullApprovalForAllIterator{contract: _ERC721Full.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 4374 } 4375 4376 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 4377 // 4378 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 4379 func (_ERC721Full *ERC721FullFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721FullApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 4380 4381 var ownerRule []interface{} 4382 for _, ownerItem := range owner { 4383 ownerRule = append(ownerRule, ownerItem) 4384 } 4385 var operatorRule []interface{} 4386 for _, operatorItem := range operator { 4387 operatorRule = append(operatorRule, operatorItem) 4388 } 4389 4390 logs, sub, err := _ERC721Full.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 4391 if err != nil { 4392 return nil, err 4393 } 4394 return event.NewSubscription(func(quit <-chan struct{}) error { 4395 defer sub.Unsubscribe() 4396 for { 4397 select { 4398 case log := <-logs: 4399 // New log arrived, parse the event and forward to the user 4400 event := new(ERC721FullApprovalForAll) 4401 if err := _ERC721Full.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 4402 return err 4403 } 4404 event.Raw = log 4405 4406 select { 4407 case sink <- event: 4408 case err := <-sub.Err(): 4409 return err 4410 case <-quit: 4411 return nil 4412 } 4413 case err := <-sub.Err(): 4414 return err 4415 case <-quit: 4416 return nil 4417 } 4418 } 4419 }), nil 4420 } 4421 4422 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 4423 // 4424 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 4425 func (_ERC721Full *ERC721FullFilterer) ParseApprovalForAll(log types.Log) (*ERC721FullApprovalForAll, error) { 4426 event := new(ERC721FullApprovalForAll) 4427 if err := _ERC721Full.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 4428 return nil, err 4429 } 4430 return event, nil 4431 } 4432 4433 // 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. 4434 type ERC721FullTransferIterator struct { 4435 Event *ERC721FullTransfer // Event containing the contract specifics and raw log 4436 4437 contract *bind.BoundContract // Generic contract to use for unpacking event data 4438 event string // Event name to use for unpacking event data 4439 4440 logs chan types.Log // Log channel receiving the found contract events 4441 sub klaytn.Subscription // Subscription for errors, completion and termination 4442 done bool // Whether the subscription completed delivering logs 4443 fail error // Occurred error to stop iteration 4444 } 4445 4446 // Next advances the iterator to the subsequent event, returning whether there 4447 // are any more events found. In case of a retrieval or parsing error, false is 4448 // returned and Error() can be queried for the exact failure. 4449 func (it *ERC721FullTransferIterator) Next() bool { 4450 // If the iterator failed, stop iterating 4451 if it.fail != nil { 4452 return false 4453 } 4454 // If the iterator completed, deliver directly whatever's available 4455 if it.done { 4456 select { 4457 case log := <-it.logs: 4458 it.Event = new(ERC721FullTransfer) 4459 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4460 it.fail = err 4461 return false 4462 } 4463 it.Event.Raw = log 4464 return true 4465 4466 default: 4467 return false 4468 } 4469 } 4470 // Iterator still in progress, wait for either a data or an error event 4471 select { 4472 case log := <-it.logs: 4473 it.Event = new(ERC721FullTransfer) 4474 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4475 it.fail = err 4476 return false 4477 } 4478 it.Event.Raw = log 4479 return true 4480 4481 case err := <-it.sub.Err(): 4482 it.done = true 4483 it.fail = err 4484 return it.Next() 4485 } 4486 } 4487 4488 // Error returns any retrieval or parsing error occurred during filtering. 4489 func (it *ERC721FullTransferIterator) Error() error { 4490 return it.fail 4491 } 4492 4493 // Close terminates the iteration process, releasing any pending underlying 4494 // resources. 4495 func (it *ERC721FullTransferIterator) Close() error { 4496 it.sub.Unsubscribe() 4497 return nil 4498 } 4499 4500 // ERC721FullTransfer represents a Transfer event raised by the ERC721Full contract. 4501 type ERC721FullTransfer struct { 4502 From common.Address 4503 To common.Address 4504 TokenId *big.Int 4505 Raw types.Log // Blockchain specific contextual infos 4506 } 4507 4508 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4509 // 4510 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 4511 func (_ERC721Full *ERC721FullFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721FullTransferIterator, error) { 4512 4513 var fromRule []interface{} 4514 for _, fromItem := range from { 4515 fromRule = append(fromRule, fromItem) 4516 } 4517 var toRule []interface{} 4518 for _, toItem := range to { 4519 toRule = append(toRule, toItem) 4520 } 4521 var tokenIdRule []interface{} 4522 for _, tokenIdItem := range tokenId { 4523 tokenIdRule = append(tokenIdRule, tokenIdItem) 4524 } 4525 4526 logs, sub, err := _ERC721Full.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 4527 if err != nil { 4528 return nil, err 4529 } 4530 return &ERC721FullTransferIterator{contract: _ERC721Full.contract, event: "Transfer", logs: logs, sub: sub}, nil 4531 } 4532 4533 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4534 // 4535 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 4536 func (_ERC721Full *ERC721FullFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721FullTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 4537 4538 var fromRule []interface{} 4539 for _, fromItem := range from { 4540 fromRule = append(fromRule, fromItem) 4541 } 4542 var toRule []interface{} 4543 for _, toItem := range to { 4544 toRule = append(toRule, toItem) 4545 } 4546 var tokenIdRule []interface{} 4547 for _, tokenIdItem := range tokenId { 4548 tokenIdRule = append(tokenIdRule, tokenIdItem) 4549 } 4550 4551 logs, sub, err := _ERC721Full.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 4552 if err != nil { 4553 return nil, err 4554 } 4555 return event.NewSubscription(func(quit <-chan struct{}) error { 4556 defer sub.Unsubscribe() 4557 for { 4558 select { 4559 case log := <-logs: 4560 // New log arrived, parse the event and forward to the user 4561 event := new(ERC721FullTransfer) 4562 if err := _ERC721Full.contract.UnpackLog(event, "Transfer", log); err != nil { 4563 return err 4564 } 4565 event.Raw = log 4566 4567 select { 4568 case sink <- event: 4569 case err := <-sub.Err(): 4570 return err 4571 case <-quit: 4572 return nil 4573 } 4574 case err := <-sub.Err(): 4575 return err 4576 case <-quit: 4577 return nil 4578 } 4579 } 4580 }), nil 4581 } 4582 4583 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4584 // 4585 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 4586 func (_ERC721Full *ERC721FullFilterer) ParseTransfer(log types.Log) (*ERC721FullTransfer, error) { 4587 event := new(ERC721FullTransfer) 4588 if err := _ERC721Full.contract.UnpackLog(event, "Transfer", log); err != nil { 4589 return nil, err 4590 } 4591 return event, nil 4592 } 4593 4594 // ERC721MetadataMetaData contains all meta data concerning the ERC721Metadata contract. 4595 var ERC721MetadataMetaData = &bind.MetaData{ 4596 ABI: "[{\"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\"}]", 4597 Sigs: map[string]string{ 4598 "095ea7b3": "approve(address,uint256)", 4599 "70a08231": "balanceOf(address)", 4600 "081812fc": "getApproved(uint256)", 4601 "e985e9c5": "isApprovedForAll(address,address)", 4602 "06fdde03": "name()", 4603 "6352211e": "ownerOf(uint256)", 4604 "42842e0e": "safeTransferFrom(address,address,uint256)", 4605 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 4606 "a22cb465": "setApprovalForAll(address,bool)", 4607 "01ffc9a7": "supportsInterface(bytes4)", 4608 "95d89b41": "symbol()", 4609 "c87b56dd": "tokenURI(uint256)", 4610 "23b872dd": "transferFrom(address,address,uint256)", 4611 }, 4612 Bin: "0x60806040523480156200001157600080fd5b50604051620012f8380380620012f8833981018060405260408110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b820160208101848111156200006457600080fd5b81516401000000008111828201871017156200007f57600080fd5b505092919060200180516401000000008111156200009c57600080fd5b82016020810184811115620000b057600080fd5b8151640100000000811182820187101715620000cb57600080fd5b5050929190505050620000eb6301ffc9a760e01b6200014f60201b60201c565b620001036380ac58cd60e01b6200014f60201b60201c565b8151620001189060059060208501906200021e565b5080516200012e9060069060208401906200021e565b5062000147635b5e139f60e01b6200014f60201b60201c565b5050620002c3565b7fffffffff000000000000000000000000000000000000000000000000000000008082161415620001e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200026157805160ff191683800117855562000291565b8280016001018555821562000291579182015b828111156200029157825182559160200191906001019062000274565b506200029f929150620002a3565b5090565b620002c091905b808211156200029f5760008155600101620002aa565b90565b61102580620002d36000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146102bc578063b88d4fde146102ea578063c87b56dd146103b0578063e985e9c5146103cd576100cf565b80636352211e1461025f57806370a082311461027c57806395d89b41146102b4576100cf565b806301ffc9a7146100d457806306fdde031461010f578063081812fc1461018c578063095ea7b3146101c557806323b872dd146101f357806342842e0e14610229575b600080fd5b6100fb600480360360208110156100ea57600080fd5b50356001600160e01b0319166103fb565b604080519115158252519081900360200190f35b61011761041a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610151578181015183820152602001610139565b50505050905090810190601f16801561017e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a9600480360360208110156101a257600080fd5b50356104b0565b604080516001600160a01b039092168252519081900360200190f35b6101f1600480360360408110156101db57600080fd5b506001600160a01b038135169060200135610515565b005b6101f16004803603606081101561020957600080fd5b506001600160a01b0381358116916020810135909116906040013561062c565b6101f16004803603606081101561023f57600080fd5b506001600160a01b03813581169160208101359091169060400135610684565b6101a96004803603602081101561027557600080fd5b503561069f565b6102a26004803603602081101561029257600080fd5b50356001600160a01b03166106fc565b60408051918252519081900360200190f35b610117610767565b6101f1600480360360408110156102d257600080fd5b506001600160a01b03813516906020013515156107c8565b6101f16004803603608081101561030057600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561033b57600080fd5b82018360208201111561034d57600080fd5b8035906020019184600183028401116401000000008311171561036f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610897945050505050565b610117600480360360208110156103c657600080fd5b50356108f2565b6100fb600480360360408110156103e357600080fd5b506001600160a01b03813581169160200135166109da565b6001600160e01b03191660009081526020819052604090205460ff1690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104a65780601f1061047b576101008083540402835291602001916104a6565b820191906000526020600020905b81548152906001019060200180831161048957829003601f168201915b5050505050905090565b60006104bb82610a08565b6104f957604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610f24602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006105208261069f565b9050806001600160a01b0316836001600160a01b0316141561057657604051600160e51b62461bcd028152600401808060200182810382526021815260200180610fa86021913960400191505060405180910390fd5b336001600160a01b0382161480610592575061059281336109da565b6105d057604051600160e51b62461bcd028152600401808060200182810382526038815260200180610e996038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6106363382610a25565b61067457604051600160e51b62461bcd028152600401808060200182810382526031815260200180610fc96031913960400191505060405180910390fd5b61067f838383610acc565b505050565b61067f83838360405180602001604052806000815250610897565b6000818152600160205260408120546001600160a01b0316806106f657604051600160e51b62461bcd028152600401808060200182810382526029815260200180610efb6029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661074657604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610ed1602a913960400191505060405180910390fd5b6001600160a01b03821660009081526003602052604090206106f690610c16565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104a65780601f1061047b576101008083540402835291602001916104a6565b6001600160a01b0382163314156108295760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6108a284848461062c565b6108ae84848484610c1a565b6108ec57604051600160e51b62461bcd028152600401808060200182810382526032815260200180610e176032913960400191505060405180910390fd5b50505050565b60606108fd82610a08565b61093b57604051600160e51b62461bcd02815260040180806020018281038252602f815260200180610f79602f913960400191505060405180910390fd5b60008281526007602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156109ce5780601f106109a3576101008083540402835291602001916109ce565b820191906000526020600020905b8154815290600101906020018083116109b157829003601f168201915b50505050509050919050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b6000610a3082610a08565b610a6e57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610e6d602c913960400191505060405180910390fd5b6000610a798361069f565b9050806001600160a01b0316846001600160a01b03161480610ab45750836001600160a01b0316610aa9846104b0565b6001600160a01b0316145b80610ac45750610ac481856109da565b949350505050565b826001600160a01b0316610adf8261069f565b6001600160a01b031614610b2757604051600160e51b62461bcd028152600401808060200182810382526029815260200180610f506029913960400191505060405180910390fd5b6001600160a01b038216610b6f57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610e496024913960400191505060405180910390fd5b610b7881610d53565b6001600160a01b0383166000908152600360205260409020610b9990610d90565b6001600160a01b0382166000908152600360205260409020610bba90610da7565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5490565b6000610c2e846001600160a01b0316610db0565b610c3a57506001610ac4565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610cb7578181015183820152602001610c9f565b50505050905090810190601f168015610ce45780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610d0657600080fd5b505af1158015610d1a573d6000803e3d6000fd5b505050506040513d6020811015610d3057600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b031615610d8d57600081815260026020526040902080546001600160a01b03191690555b50565b8054610da390600163ffffffff610db616565b9055565b80546001019055565b3b151590565b600082821115610e105760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a723058209631ba5ee0489ecf58b1ed6edf174b73a3e5afd9e09cd92d7c38448a275e41090029", 4613 } 4614 4615 // ERC721MetadataABI is the input ABI used to generate the binding from. 4616 // Deprecated: Use ERC721MetadataMetaData.ABI instead. 4617 var ERC721MetadataABI = ERC721MetadataMetaData.ABI 4618 4619 // ERC721MetadataBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 4620 const ERC721MetadataBinRuntime = `608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146102bc578063b88d4fde146102ea578063c87b56dd146103b0578063e985e9c5146103cd576100cf565b80636352211e1461025f57806370a082311461027c57806395d89b41146102b4576100cf565b806301ffc9a7146100d457806306fdde031461010f578063081812fc1461018c578063095ea7b3146101c557806323b872dd146101f357806342842e0e14610229575b600080fd5b6100fb600480360360208110156100ea57600080fd5b50356001600160e01b0319166103fb565b604080519115158252519081900360200190f35b61011761041a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610151578181015183820152602001610139565b50505050905090810190601f16801561017e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a9600480360360208110156101a257600080fd5b50356104b0565b604080516001600160a01b039092168252519081900360200190f35b6101f1600480360360408110156101db57600080fd5b506001600160a01b038135169060200135610515565b005b6101f16004803603606081101561020957600080fd5b506001600160a01b0381358116916020810135909116906040013561062c565b6101f16004803603606081101561023f57600080fd5b506001600160a01b03813581169160208101359091169060400135610684565b6101a96004803603602081101561027557600080fd5b503561069f565b6102a26004803603602081101561029257600080fd5b50356001600160a01b03166106fc565b60408051918252519081900360200190f35b610117610767565b6101f1600480360360408110156102d257600080fd5b506001600160a01b03813516906020013515156107c8565b6101f16004803603608081101561030057600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561033b57600080fd5b82018360208201111561034d57600080fd5b8035906020019184600183028401116401000000008311171561036f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610897945050505050565b610117600480360360208110156103c657600080fd5b50356108f2565b6100fb600480360360408110156103e357600080fd5b506001600160a01b03813581169160200135166109da565b6001600160e01b03191660009081526020819052604090205460ff1690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104a65780601f1061047b576101008083540402835291602001916104a6565b820191906000526020600020905b81548152906001019060200180831161048957829003601f168201915b5050505050905090565b60006104bb82610a08565b6104f957604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610f24602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006105208261069f565b9050806001600160a01b0316836001600160a01b0316141561057657604051600160e51b62461bcd028152600401808060200182810382526021815260200180610fa86021913960400191505060405180910390fd5b336001600160a01b0382161480610592575061059281336109da565b6105d057604051600160e51b62461bcd028152600401808060200182810382526038815260200180610e996038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6106363382610a25565b61067457604051600160e51b62461bcd028152600401808060200182810382526031815260200180610fc96031913960400191505060405180910390fd5b61067f838383610acc565b505050565b61067f83838360405180602001604052806000815250610897565b6000818152600160205260408120546001600160a01b0316806106f657604051600160e51b62461bcd028152600401808060200182810382526029815260200180610efb6029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661074657604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610ed1602a913960400191505060405180910390fd5b6001600160a01b03821660009081526003602052604090206106f690610c16565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104a65780601f1061047b576101008083540402835291602001916104a6565b6001600160a01b0382163314156108295760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6108a284848461062c565b6108ae84848484610c1a565b6108ec57604051600160e51b62461bcd028152600401808060200182810382526032815260200180610e176032913960400191505060405180910390fd5b50505050565b60606108fd82610a08565b61093b57604051600160e51b62461bcd02815260040180806020018281038252602f815260200180610f79602f913960400191505060405180910390fd5b60008281526007602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156109ce5780601f106109a3576101008083540402835291602001916109ce565b820191906000526020600020905b8154815290600101906020018083116109b157829003601f168201915b50505050509050919050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b6000610a3082610a08565b610a6e57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610e6d602c913960400191505060405180910390fd5b6000610a798361069f565b9050806001600160a01b0316846001600160a01b03161480610ab45750836001600160a01b0316610aa9846104b0565b6001600160a01b0316145b80610ac45750610ac481856109da565b949350505050565b826001600160a01b0316610adf8261069f565b6001600160a01b031614610b2757604051600160e51b62461bcd028152600401808060200182810382526029815260200180610f506029913960400191505060405180910390fd5b6001600160a01b038216610b6f57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610e496024913960400191505060405180910390fd5b610b7881610d53565b6001600160a01b0383166000908152600360205260409020610b9990610d90565b6001600160a01b0382166000908152600360205260409020610bba90610da7565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5490565b6000610c2e846001600160a01b0316610db0565b610c3a57506001610ac4565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610cb7578181015183820152602001610c9f565b50505050905090810190601f168015610ce45780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610d0657600080fd5b505af1158015610d1a573d6000803e3d6000fd5b505050506040513d6020811015610d3057600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b031615610d8d57600081815260026020526040902080546001600160a01b03191690555b50565b8054610da390600163ffffffff610db616565b9055565b80546001019055565b3b151590565b600082821115610e105760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a723058209631ba5ee0489ecf58b1ed6edf174b73a3e5afd9e09cd92d7c38448a275e41090029` 4621 4622 // ERC721MetadataFuncSigs maps the 4-byte function signature to its string representation. 4623 // Deprecated: Use ERC721MetadataMetaData.Sigs instead. 4624 var ERC721MetadataFuncSigs = ERC721MetadataMetaData.Sigs 4625 4626 // ERC721MetadataBin is the compiled bytecode used for deploying new contracts. 4627 // Deprecated: Use ERC721MetadataMetaData.Bin instead. 4628 var ERC721MetadataBin = ERC721MetadataMetaData.Bin 4629 4630 // DeployERC721Metadata deploys a new Klaytn contract, binding an instance of ERC721Metadata to it. 4631 func DeployERC721Metadata(auth *bind.TransactOpts, backend bind.ContractBackend, name string, symbol string) (common.Address, *types.Transaction, *ERC721Metadata, error) { 4632 parsed, err := ERC721MetadataMetaData.GetAbi() 4633 if err != nil { 4634 return common.Address{}, nil, nil, err 4635 } 4636 if parsed == nil { 4637 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 4638 } 4639 4640 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ERC721MetadataBin), backend, name, symbol) 4641 if err != nil { 4642 return common.Address{}, nil, nil, err 4643 } 4644 return address, tx, &ERC721Metadata{ERC721MetadataCaller: ERC721MetadataCaller{contract: contract}, ERC721MetadataTransactor: ERC721MetadataTransactor{contract: contract}, ERC721MetadataFilterer: ERC721MetadataFilterer{contract: contract}}, nil 4645 } 4646 4647 // ERC721Metadata is an auto generated Go binding around a Klaytn contract. 4648 type ERC721Metadata struct { 4649 ERC721MetadataCaller // Read-only binding to the contract 4650 ERC721MetadataTransactor // Write-only binding to the contract 4651 ERC721MetadataFilterer // Log filterer for contract events 4652 } 4653 4654 // ERC721MetadataCaller is an auto generated read-only Go binding around a Klaytn contract. 4655 type ERC721MetadataCaller struct { 4656 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4657 } 4658 4659 // ERC721MetadataTransactor is an auto generated write-only Go binding around a Klaytn contract. 4660 type ERC721MetadataTransactor struct { 4661 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4662 } 4663 4664 // ERC721MetadataFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 4665 type ERC721MetadataFilterer struct { 4666 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4667 } 4668 4669 // ERC721MetadataSession is an auto generated Go binding around a Klaytn contract, 4670 // with pre-set call and transact options. 4671 type ERC721MetadataSession struct { 4672 Contract *ERC721Metadata // Generic contract binding to set the session for 4673 CallOpts bind.CallOpts // Call options to use throughout this session 4674 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4675 } 4676 4677 // ERC721MetadataCallerSession is an auto generated read-only Go binding around a Klaytn contract, 4678 // with pre-set call options. 4679 type ERC721MetadataCallerSession struct { 4680 Contract *ERC721MetadataCaller // Generic contract caller binding to set the session for 4681 CallOpts bind.CallOpts // Call options to use throughout this session 4682 } 4683 4684 // ERC721MetadataTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 4685 // with pre-set transact options. 4686 type ERC721MetadataTransactorSession struct { 4687 Contract *ERC721MetadataTransactor // Generic contract transactor binding to set the session for 4688 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4689 } 4690 4691 // ERC721MetadataRaw is an auto generated low-level Go binding around a Klaytn contract. 4692 type ERC721MetadataRaw struct { 4693 Contract *ERC721Metadata // Generic contract binding to access the raw methods on 4694 } 4695 4696 // ERC721MetadataCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 4697 type ERC721MetadataCallerRaw struct { 4698 Contract *ERC721MetadataCaller // Generic read-only contract binding to access the raw methods on 4699 } 4700 4701 // ERC721MetadataTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 4702 type ERC721MetadataTransactorRaw struct { 4703 Contract *ERC721MetadataTransactor // Generic write-only contract binding to access the raw methods on 4704 } 4705 4706 // NewERC721Metadata creates a new instance of ERC721Metadata, bound to a specific deployed contract. 4707 func NewERC721Metadata(address common.Address, backend bind.ContractBackend) (*ERC721Metadata, error) { 4708 contract, err := bindERC721Metadata(address, backend, backend, backend) 4709 if err != nil { 4710 return nil, err 4711 } 4712 return &ERC721Metadata{ERC721MetadataCaller: ERC721MetadataCaller{contract: contract}, ERC721MetadataTransactor: ERC721MetadataTransactor{contract: contract}, ERC721MetadataFilterer: ERC721MetadataFilterer{contract: contract}}, nil 4713 } 4714 4715 // NewERC721MetadataCaller creates a new read-only instance of ERC721Metadata, bound to a specific deployed contract. 4716 func NewERC721MetadataCaller(address common.Address, caller bind.ContractCaller) (*ERC721MetadataCaller, error) { 4717 contract, err := bindERC721Metadata(address, caller, nil, nil) 4718 if err != nil { 4719 return nil, err 4720 } 4721 return &ERC721MetadataCaller{contract: contract}, nil 4722 } 4723 4724 // NewERC721MetadataTransactor creates a new write-only instance of ERC721Metadata, bound to a specific deployed contract. 4725 func NewERC721MetadataTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721MetadataTransactor, error) { 4726 contract, err := bindERC721Metadata(address, nil, transactor, nil) 4727 if err != nil { 4728 return nil, err 4729 } 4730 return &ERC721MetadataTransactor{contract: contract}, nil 4731 } 4732 4733 // NewERC721MetadataFilterer creates a new log filterer instance of ERC721Metadata, bound to a specific deployed contract. 4734 func NewERC721MetadataFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721MetadataFilterer, error) { 4735 contract, err := bindERC721Metadata(address, nil, nil, filterer) 4736 if err != nil { 4737 return nil, err 4738 } 4739 return &ERC721MetadataFilterer{contract: contract}, nil 4740 } 4741 4742 // bindERC721Metadata binds a generic wrapper to an already deployed contract. 4743 func bindERC721Metadata(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 4744 parsed, err := ERC721MetadataMetaData.GetAbi() 4745 if err != nil { 4746 return nil, err 4747 } 4748 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 4749 } 4750 4751 // Call invokes the (constant) contract method with params as input values and 4752 // sets the output to result. The result type might be a single field for simple 4753 // returns, a slice of interfaces for anonymous returns and a struct for named 4754 // returns. 4755 func (_ERC721Metadata *ERC721MetadataRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4756 return _ERC721Metadata.Contract.ERC721MetadataCaller.contract.Call(opts, result, method, params...) 4757 } 4758 4759 // Transfer initiates a plain transaction to move funds to the contract, calling 4760 // its default method if one is available. 4761 func (_ERC721Metadata *ERC721MetadataRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4762 return _ERC721Metadata.Contract.ERC721MetadataTransactor.contract.Transfer(opts) 4763 } 4764 4765 // Transact invokes the (paid) contract method with params as input values. 4766 func (_ERC721Metadata *ERC721MetadataRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4767 return _ERC721Metadata.Contract.ERC721MetadataTransactor.contract.Transact(opts, method, params...) 4768 } 4769 4770 // Call invokes the (constant) contract method with params as input values and 4771 // sets the output to result. The result type might be a single field for simple 4772 // returns, a slice of interfaces for anonymous returns and a struct for named 4773 // returns. 4774 func (_ERC721Metadata *ERC721MetadataCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4775 return _ERC721Metadata.Contract.contract.Call(opts, result, method, params...) 4776 } 4777 4778 // Transfer initiates a plain transaction to move funds to the contract, calling 4779 // its default method if one is available. 4780 func (_ERC721Metadata *ERC721MetadataTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4781 return _ERC721Metadata.Contract.contract.Transfer(opts) 4782 } 4783 4784 // Transact invokes the (paid) contract method with params as input values. 4785 func (_ERC721Metadata *ERC721MetadataTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4786 return _ERC721Metadata.Contract.contract.Transact(opts, method, params...) 4787 } 4788 4789 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 4790 // 4791 // Solidity: function balanceOf(address owner) view returns(uint256) 4792 func (_ERC721Metadata *ERC721MetadataCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 4793 var out []interface{} 4794 err := _ERC721Metadata.contract.Call(opts, &out, "balanceOf", owner) 4795 4796 if err != nil { 4797 return *new(*big.Int), err 4798 } 4799 4800 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 4801 4802 return out0, err 4803 4804 } 4805 4806 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 4807 // 4808 // Solidity: function balanceOf(address owner) view returns(uint256) 4809 func (_ERC721Metadata *ERC721MetadataSession) BalanceOf(owner common.Address) (*big.Int, error) { 4810 return _ERC721Metadata.Contract.BalanceOf(&_ERC721Metadata.CallOpts, owner) 4811 } 4812 4813 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 4814 // 4815 // Solidity: function balanceOf(address owner) view returns(uint256) 4816 func (_ERC721Metadata *ERC721MetadataCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 4817 return _ERC721Metadata.Contract.BalanceOf(&_ERC721Metadata.CallOpts, owner) 4818 } 4819 4820 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 4821 // 4822 // Solidity: function getApproved(uint256 tokenId) view returns(address) 4823 func (_ERC721Metadata *ERC721MetadataCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 4824 var out []interface{} 4825 err := _ERC721Metadata.contract.Call(opts, &out, "getApproved", tokenId) 4826 4827 if err != nil { 4828 return *new(common.Address), err 4829 } 4830 4831 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 4832 4833 return out0, err 4834 4835 } 4836 4837 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 4838 // 4839 // Solidity: function getApproved(uint256 tokenId) view returns(address) 4840 func (_ERC721Metadata *ERC721MetadataSession) GetApproved(tokenId *big.Int) (common.Address, error) { 4841 return _ERC721Metadata.Contract.GetApproved(&_ERC721Metadata.CallOpts, tokenId) 4842 } 4843 4844 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 4845 // 4846 // Solidity: function getApproved(uint256 tokenId) view returns(address) 4847 func (_ERC721Metadata *ERC721MetadataCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 4848 return _ERC721Metadata.Contract.GetApproved(&_ERC721Metadata.CallOpts, tokenId) 4849 } 4850 4851 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 4852 // 4853 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 4854 func (_ERC721Metadata *ERC721MetadataCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 4855 var out []interface{} 4856 err := _ERC721Metadata.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 4857 4858 if err != nil { 4859 return *new(bool), err 4860 } 4861 4862 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 4863 4864 return out0, err 4865 4866 } 4867 4868 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 4869 // 4870 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 4871 func (_ERC721Metadata *ERC721MetadataSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 4872 return _ERC721Metadata.Contract.IsApprovedForAll(&_ERC721Metadata.CallOpts, owner, operator) 4873 } 4874 4875 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 4876 // 4877 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 4878 func (_ERC721Metadata *ERC721MetadataCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 4879 return _ERC721Metadata.Contract.IsApprovedForAll(&_ERC721Metadata.CallOpts, owner, operator) 4880 } 4881 4882 // Name is a free data retrieval call binding the contract method 0x06fdde03. 4883 // 4884 // Solidity: function name() view returns(string) 4885 func (_ERC721Metadata *ERC721MetadataCaller) Name(opts *bind.CallOpts) (string, error) { 4886 var out []interface{} 4887 err := _ERC721Metadata.contract.Call(opts, &out, "name") 4888 4889 if err != nil { 4890 return *new(string), err 4891 } 4892 4893 out0 := *abi.ConvertType(out[0], new(string)).(*string) 4894 4895 return out0, err 4896 4897 } 4898 4899 // Name is a free data retrieval call binding the contract method 0x06fdde03. 4900 // 4901 // Solidity: function name() view returns(string) 4902 func (_ERC721Metadata *ERC721MetadataSession) Name() (string, error) { 4903 return _ERC721Metadata.Contract.Name(&_ERC721Metadata.CallOpts) 4904 } 4905 4906 // Name is a free data retrieval call binding the contract method 0x06fdde03. 4907 // 4908 // Solidity: function name() view returns(string) 4909 func (_ERC721Metadata *ERC721MetadataCallerSession) Name() (string, error) { 4910 return _ERC721Metadata.Contract.Name(&_ERC721Metadata.CallOpts) 4911 } 4912 4913 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 4914 // 4915 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 4916 func (_ERC721Metadata *ERC721MetadataCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 4917 var out []interface{} 4918 err := _ERC721Metadata.contract.Call(opts, &out, "ownerOf", tokenId) 4919 4920 if err != nil { 4921 return *new(common.Address), err 4922 } 4923 4924 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 4925 4926 return out0, err 4927 4928 } 4929 4930 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 4931 // 4932 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 4933 func (_ERC721Metadata *ERC721MetadataSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 4934 return _ERC721Metadata.Contract.OwnerOf(&_ERC721Metadata.CallOpts, tokenId) 4935 } 4936 4937 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 4938 // 4939 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 4940 func (_ERC721Metadata *ERC721MetadataCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 4941 return _ERC721Metadata.Contract.OwnerOf(&_ERC721Metadata.CallOpts, tokenId) 4942 } 4943 4944 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4945 // 4946 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4947 func (_ERC721Metadata *ERC721MetadataCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 4948 var out []interface{} 4949 err := _ERC721Metadata.contract.Call(opts, &out, "supportsInterface", interfaceId) 4950 4951 if err != nil { 4952 return *new(bool), err 4953 } 4954 4955 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 4956 4957 return out0, err 4958 4959 } 4960 4961 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4962 // 4963 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4964 func (_ERC721Metadata *ERC721MetadataSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 4965 return _ERC721Metadata.Contract.SupportsInterface(&_ERC721Metadata.CallOpts, interfaceId) 4966 } 4967 4968 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4969 // 4970 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4971 func (_ERC721Metadata *ERC721MetadataCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 4972 return _ERC721Metadata.Contract.SupportsInterface(&_ERC721Metadata.CallOpts, interfaceId) 4973 } 4974 4975 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 4976 // 4977 // Solidity: function symbol() view returns(string) 4978 func (_ERC721Metadata *ERC721MetadataCaller) Symbol(opts *bind.CallOpts) (string, error) { 4979 var out []interface{} 4980 err := _ERC721Metadata.contract.Call(opts, &out, "symbol") 4981 4982 if err != nil { 4983 return *new(string), err 4984 } 4985 4986 out0 := *abi.ConvertType(out[0], new(string)).(*string) 4987 4988 return out0, err 4989 4990 } 4991 4992 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 4993 // 4994 // Solidity: function symbol() view returns(string) 4995 func (_ERC721Metadata *ERC721MetadataSession) Symbol() (string, error) { 4996 return _ERC721Metadata.Contract.Symbol(&_ERC721Metadata.CallOpts) 4997 } 4998 4999 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 5000 // 5001 // Solidity: function symbol() view returns(string) 5002 func (_ERC721Metadata *ERC721MetadataCallerSession) Symbol() (string, error) { 5003 return _ERC721Metadata.Contract.Symbol(&_ERC721Metadata.CallOpts) 5004 } 5005 5006 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 5007 // 5008 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 5009 func (_ERC721Metadata *ERC721MetadataCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 5010 var out []interface{} 5011 err := _ERC721Metadata.contract.Call(opts, &out, "tokenURI", tokenId) 5012 5013 if err != nil { 5014 return *new(string), err 5015 } 5016 5017 out0 := *abi.ConvertType(out[0], new(string)).(*string) 5018 5019 return out0, err 5020 5021 } 5022 5023 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 5024 // 5025 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 5026 func (_ERC721Metadata *ERC721MetadataSession) TokenURI(tokenId *big.Int) (string, error) { 5027 return _ERC721Metadata.Contract.TokenURI(&_ERC721Metadata.CallOpts, tokenId) 5028 } 5029 5030 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 5031 // 5032 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 5033 func (_ERC721Metadata *ERC721MetadataCallerSession) TokenURI(tokenId *big.Int) (string, error) { 5034 return _ERC721Metadata.Contract.TokenURI(&_ERC721Metadata.CallOpts, tokenId) 5035 } 5036 5037 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5038 // 5039 // Solidity: function approve(address to, uint256 tokenId) returns() 5040 func (_ERC721Metadata *ERC721MetadataTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5041 return _ERC721Metadata.contract.Transact(opts, "approve", to, tokenId) 5042 } 5043 5044 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5045 // 5046 // Solidity: function approve(address to, uint256 tokenId) returns() 5047 func (_ERC721Metadata *ERC721MetadataSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5048 return _ERC721Metadata.Contract.Approve(&_ERC721Metadata.TransactOpts, to, tokenId) 5049 } 5050 5051 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5052 // 5053 // Solidity: function approve(address to, uint256 tokenId) returns() 5054 func (_ERC721Metadata *ERC721MetadataTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5055 return _ERC721Metadata.Contract.Approve(&_ERC721Metadata.TransactOpts, to, tokenId) 5056 } 5057 5058 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 5059 // 5060 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 5061 func (_ERC721Metadata *ERC721MetadataTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5062 return _ERC721Metadata.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 5063 } 5064 5065 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 5066 // 5067 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 5068 func (_ERC721Metadata *ERC721MetadataSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5069 return _ERC721Metadata.Contract.SafeTransferFrom(&_ERC721Metadata.TransactOpts, from, to, tokenId) 5070 } 5071 5072 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 5073 // 5074 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 5075 func (_ERC721Metadata *ERC721MetadataTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5076 return _ERC721Metadata.Contract.SafeTransferFrom(&_ERC721Metadata.TransactOpts, from, to, tokenId) 5077 } 5078 5079 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 5080 // 5081 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 5082 func (_ERC721Metadata *ERC721MetadataTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 5083 return _ERC721Metadata.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 5084 } 5085 5086 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 5087 // 5088 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 5089 func (_ERC721Metadata *ERC721MetadataSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 5090 return _ERC721Metadata.Contract.SafeTransferFrom0(&_ERC721Metadata.TransactOpts, from, to, tokenId, _data) 5091 } 5092 5093 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 5094 // 5095 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 5096 func (_ERC721Metadata *ERC721MetadataTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 5097 return _ERC721Metadata.Contract.SafeTransferFrom0(&_ERC721Metadata.TransactOpts, from, to, tokenId, _data) 5098 } 5099 5100 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 5101 // 5102 // Solidity: function setApprovalForAll(address to, bool approved) returns() 5103 func (_ERC721Metadata *ERC721MetadataTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 5104 return _ERC721Metadata.contract.Transact(opts, "setApprovalForAll", to, approved) 5105 } 5106 5107 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 5108 // 5109 // Solidity: function setApprovalForAll(address to, bool approved) returns() 5110 func (_ERC721Metadata *ERC721MetadataSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 5111 return _ERC721Metadata.Contract.SetApprovalForAll(&_ERC721Metadata.TransactOpts, to, approved) 5112 } 5113 5114 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 5115 // 5116 // Solidity: function setApprovalForAll(address to, bool approved) returns() 5117 func (_ERC721Metadata *ERC721MetadataTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 5118 return _ERC721Metadata.Contract.SetApprovalForAll(&_ERC721Metadata.TransactOpts, to, approved) 5119 } 5120 5121 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5122 // 5123 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 5124 func (_ERC721Metadata *ERC721MetadataTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5125 return _ERC721Metadata.contract.Transact(opts, "transferFrom", from, to, tokenId) 5126 } 5127 5128 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5129 // 5130 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 5131 func (_ERC721Metadata *ERC721MetadataSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5132 return _ERC721Metadata.Contract.TransferFrom(&_ERC721Metadata.TransactOpts, from, to, tokenId) 5133 } 5134 5135 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5136 // 5137 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 5138 func (_ERC721Metadata *ERC721MetadataTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5139 return _ERC721Metadata.Contract.TransferFrom(&_ERC721Metadata.TransactOpts, from, to, tokenId) 5140 } 5141 5142 // 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. 5143 type ERC721MetadataApprovalIterator struct { 5144 Event *ERC721MetadataApproval // Event containing the contract specifics and raw log 5145 5146 contract *bind.BoundContract // Generic contract to use for unpacking event data 5147 event string // Event name to use for unpacking event data 5148 5149 logs chan types.Log // Log channel receiving the found contract events 5150 sub klaytn.Subscription // Subscription for errors, completion and termination 5151 done bool // Whether the subscription completed delivering logs 5152 fail error // Occurred error to stop iteration 5153 } 5154 5155 // Next advances the iterator to the subsequent event, returning whether there 5156 // are any more events found. In case of a retrieval or parsing error, false is 5157 // returned and Error() can be queried for the exact failure. 5158 func (it *ERC721MetadataApprovalIterator) Next() bool { 5159 // If the iterator failed, stop iterating 5160 if it.fail != nil { 5161 return false 5162 } 5163 // If the iterator completed, deliver directly whatever's available 5164 if it.done { 5165 select { 5166 case log := <-it.logs: 5167 it.Event = new(ERC721MetadataApproval) 5168 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5169 it.fail = err 5170 return false 5171 } 5172 it.Event.Raw = log 5173 return true 5174 5175 default: 5176 return false 5177 } 5178 } 5179 // Iterator still in progress, wait for either a data or an error event 5180 select { 5181 case log := <-it.logs: 5182 it.Event = new(ERC721MetadataApproval) 5183 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5184 it.fail = err 5185 return false 5186 } 5187 it.Event.Raw = log 5188 return true 5189 5190 case err := <-it.sub.Err(): 5191 it.done = true 5192 it.fail = err 5193 return it.Next() 5194 } 5195 } 5196 5197 // Error returns any retrieval or parsing error occurred during filtering. 5198 func (it *ERC721MetadataApprovalIterator) Error() error { 5199 return it.fail 5200 } 5201 5202 // Close terminates the iteration process, releasing any pending underlying 5203 // resources. 5204 func (it *ERC721MetadataApprovalIterator) Close() error { 5205 it.sub.Unsubscribe() 5206 return nil 5207 } 5208 5209 // ERC721MetadataApproval represents a Approval event raised by the ERC721Metadata contract. 5210 type ERC721MetadataApproval struct { 5211 Owner common.Address 5212 Approved common.Address 5213 TokenId *big.Int 5214 Raw types.Log // Blockchain specific contextual infos 5215 } 5216 5217 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5218 // 5219 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 5220 func (_ERC721Metadata *ERC721MetadataFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721MetadataApprovalIterator, error) { 5221 5222 var ownerRule []interface{} 5223 for _, ownerItem := range owner { 5224 ownerRule = append(ownerRule, ownerItem) 5225 } 5226 var approvedRule []interface{} 5227 for _, approvedItem := range approved { 5228 approvedRule = append(approvedRule, approvedItem) 5229 } 5230 var tokenIdRule []interface{} 5231 for _, tokenIdItem := range tokenId { 5232 tokenIdRule = append(tokenIdRule, tokenIdItem) 5233 } 5234 5235 logs, sub, err := _ERC721Metadata.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 5236 if err != nil { 5237 return nil, err 5238 } 5239 return &ERC721MetadataApprovalIterator{contract: _ERC721Metadata.contract, event: "Approval", logs: logs, sub: sub}, nil 5240 } 5241 5242 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5243 // 5244 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 5245 func (_ERC721Metadata *ERC721MetadataFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721MetadataApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 5246 5247 var ownerRule []interface{} 5248 for _, ownerItem := range owner { 5249 ownerRule = append(ownerRule, ownerItem) 5250 } 5251 var approvedRule []interface{} 5252 for _, approvedItem := range approved { 5253 approvedRule = append(approvedRule, approvedItem) 5254 } 5255 var tokenIdRule []interface{} 5256 for _, tokenIdItem := range tokenId { 5257 tokenIdRule = append(tokenIdRule, tokenIdItem) 5258 } 5259 5260 logs, sub, err := _ERC721Metadata.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 5261 if err != nil { 5262 return nil, err 5263 } 5264 return event.NewSubscription(func(quit <-chan struct{}) error { 5265 defer sub.Unsubscribe() 5266 for { 5267 select { 5268 case log := <-logs: 5269 // New log arrived, parse the event and forward to the user 5270 event := new(ERC721MetadataApproval) 5271 if err := _ERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { 5272 return err 5273 } 5274 event.Raw = log 5275 5276 select { 5277 case sink <- event: 5278 case err := <-sub.Err(): 5279 return err 5280 case <-quit: 5281 return nil 5282 } 5283 case err := <-sub.Err(): 5284 return err 5285 case <-quit: 5286 return nil 5287 } 5288 } 5289 }), nil 5290 } 5291 5292 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5293 // 5294 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 5295 func (_ERC721Metadata *ERC721MetadataFilterer) ParseApproval(log types.Log) (*ERC721MetadataApproval, error) { 5296 event := new(ERC721MetadataApproval) 5297 if err := _ERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { 5298 return nil, err 5299 } 5300 return event, nil 5301 } 5302 5303 // 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. 5304 type ERC721MetadataApprovalForAllIterator struct { 5305 Event *ERC721MetadataApprovalForAll // Event containing the contract specifics and raw log 5306 5307 contract *bind.BoundContract // Generic contract to use for unpacking event data 5308 event string // Event name to use for unpacking event data 5309 5310 logs chan types.Log // Log channel receiving the found contract events 5311 sub klaytn.Subscription // Subscription for errors, completion and termination 5312 done bool // Whether the subscription completed delivering logs 5313 fail error // Occurred error to stop iteration 5314 } 5315 5316 // Next advances the iterator to the subsequent event, returning whether there 5317 // are any more events found. In case of a retrieval or parsing error, false is 5318 // returned and Error() can be queried for the exact failure. 5319 func (it *ERC721MetadataApprovalForAllIterator) Next() bool { 5320 // If the iterator failed, stop iterating 5321 if it.fail != nil { 5322 return false 5323 } 5324 // If the iterator completed, deliver directly whatever's available 5325 if it.done { 5326 select { 5327 case log := <-it.logs: 5328 it.Event = new(ERC721MetadataApprovalForAll) 5329 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5330 it.fail = err 5331 return false 5332 } 5333 it.Event.Raw = log 5334 return true 5335 5336 default: 5337 return false 5338 } 5339 } 5340 // Iterator still in progress, wait for either a data or an error event 5341 select { 5342 case log := <-it.logs: 5343 it.Event = new(ERC721MetadataApprovalForAll) 5344 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5345 it.fail = err 5346 return false 5347 } 5348 it.Event.Raw = log 5349 return true 5350 5351 case err := <-it.sub.Err(): 5352 it.done = true 5353 it.fail = err 5354 return it.Next() 5355 } 5356 } 5357 5358 // Error returns any retrieval or parsing error occurred during filtering. 5359 func (it *ERC721MetadataApprovalForAllIterator) Error() error { 5360 return it.fail 5361 } 5362 5363 // Close terminates the iteration process, releasing any pending underlying 5364 // resources. 5365 func (it *ERC721MetadataApprovalForAllIterator) Close() error { 5366 it.sub.Unsubscribe() 5367 return nil 5368 } 5369 5370 // ERC721MetadataApprovalForAll represents a ApprovalForAll event raised by the ERC721Metadata contract. 5371 type ERC721MetadataApprovalForAll struct { 5372 Owner common.Address 5373 Operator common.Address 5374 Approved bool 5375 Raw types.Log // Blockchain specific contextual infos 5376 } 5377 5378 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 5379 // 5380 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 5381 func (_ERC721Metadata *ERC721MetadataFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721MetadataApprovalForAllIterator, error) { 5382 5383 var ownerRule []interface{} 5384 for _, ownerItem := range owner { 5385 ownerRule = append(ownerRule, ownerItem) 5386 } 5387 var operatorRule []interface{} 5388 for _, operatorItem := range operator { 5389 operatorRule = append(operatorRule, operatorItem) 5390 } 5391 5392 logs, sub, err := _ERC721Metadata.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 5393 if err != nil { 5394 return nil, err 5395 } 5396 return &ERC721MetadataApprovalForAllIterator{contract: _ERC721Metadata.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 5397 } 5398 5399 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 5400 // 5401 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 5402 func (_ERC721Metadata *ERC721MetadataFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721MetadataApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 5403 5404 var ownerRule []interface{} 5405 for _, ownerItem := range owner { 5406 ownerRule = append(ownerRule, ownerItem) 5407 } 5408 var operatorRule []interface{} 5409 for _, operatorItem := range operator { 5410 operatorRule = append(operatorRule, operatorItem) 5411 } 5412 5413 logs, sub, err := _ERC721Metadata.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 5414 if err != nil { 5415 return nil, err 5416 } 5417 return event.NewSubscription(func(quit <-chan struct{}) error { 5418 defer sub.Unsubscribe() 5419 for { 5420 select { 5421 case log := <-logs: 5422 // New log arrived, parse the event and forward to the user 5423 event := new(ERC721MetadataApprovalForAll) 5424 if err := _ERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 5425 return err 5426 } 5427 event.Raw = log 5428 5429 select { 5430 case sink <- event: 5431 case err := <-sub.Err(): 5432 return err 5433 case <-quit: 5434 return nil 5435 } 5436 case err := <-sub.Err(): 5437 return err 5438 case <-quit: 5439 return nil 5440 } 5441 } 5442 }), nil 5443 } 5444 5445 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 5446 // 5447 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 5448 func (_ERC721Metadata *ERC721MetadataFilterer) ParseApprovalForAll(log types.Log) (*ERC721MetadataApprovalForAll, error) { 5449 event := new(ERC721MetadataApprovalForAll) 5450 if err := _ERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 5451 return nil, err 5452 } 5453 return event, nil 5454 } 5455 5456 // 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. 5457 type ERC721MetadataTransferIterator struct { 5458 Event *ERC721MetadataTransfer // Event containing the contract specifics and raw log 5459 5460 contract *bind.BoundContract // Generic contract to use for unpacking event data 5461 event string // Event name to use for unpacking event data 5462 5463 logs chan types.Log // Log channel receiving the found contract events 5464 sub klaytn.Subscription // Subscription for errors, completion and termination 5465 done bool // Whether the subscription completed delivering logs 5466 fail error // Occurred error to stop iteration 5467 } 5468 5469 // Next advances the iterator to the subsequent event, returning whether there 5470 // are any more events found. In case of a retrieval or parsing error, false is 5471 // returned and Error() can be queried for the exact failure. 5472 func (it *ERC721MetadataTransferIterator) Next() bool { 5473 // If the iterator failed, stop iterating 5474 if it.fail != nil { 5475 return false 5476 } 5477 // If the iterator completed, deliver directly whatever's available 5478 if it.done { 5479 select { 5480 case log := <-it.logs: 5481 it.Event = new(ERC721MetadataTransfer) 5482 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5483 it.fail = err 5484 return false 5485 } 5486 it.Event.Raw = log 5487 return true 5488 5489 default: 5490 return false 5491 } 5492 } 5493 // Iterator still in progress, wait for either a data or an error event 5494 select { 5495 case log := <-it.logs: 5496 it.Event = new(ERC721MetadataTransfer) 5497 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5498 it.fail = err 5499 return false 5500 } 5501 it.Event.Raw = log 5502 return true 5503 5504 case err := <-it.sub.Err(): 5505 it.done = true 5506 it.fail = err 5507 return it.Next() 5508 } 5509 } 5510 5511 // Error returns any retrieval or parsing error occurred during filtering. 5512 func (it *ERC721MetadataTransferIterator) Error() error { 5513 return it.fail 5514 } 5515 5516 // Close terminates the iteration process, releasing any pending underlying 5517 // resources. 5518 func (it *ERC721MetadataTransferIterator) Close() error { 5519 it.sub.Unsubscribe() 5520 return nil 5521 } 5522 5523 // ERC721MetadataTransfer represents a Transfer event raised by the ERC721Metadata contract. 5524 type ERC721MetadataTransfer struct { 5525 From common.Address 5526 To common.Address 5527 TokenId *big.Int 5528 Raw types.Log // Blockchain specific contextual infos 5529 } 5530 5531 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5532 // 5533 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 5534 func (_ERC721Metadata *ERC721MetadataFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721MetadataTransferIterator, error) { 5535 5536 var fromRule []interface{} 5537 for _, fromItem := range from { 5538 fromRule = append(fromRule, fromItem) 5539 } 5540 var toRule []interface{} 5541 for _, toItem := range to { 5542 toRule = append(toRule, toItem) 5543 } 5544 var tokenIdRule []interface{} 5545 for _, tokenIdItem := range tokenId { 5546 tokenIdRule = append(tokenIdRule, tokenIdItem) 5547 } 5548 5549 logs, sub, err := _ERC721Metadata.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 5550 if err != nil { 5551 return nil, err 5552 } 5553 return &ERC721MetadataTransferIterator{contract: _ERC721Metadata.contract, event: "Transfer", logs: logs, sub: sub}, nil 5554 } 5555 5556 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5557 // 5558 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 5559 func (_ERC721Metadata *ERC721MetadataFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721MetadataTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 5560 5561 var fromRule []interface{} 5562 for _, fromItem := range from { 5563 fromRule = append(fromRule, fromItem) 5564 } 5565 var toRule []interface{} 5566 for _, toItem := range to { 5567 toRule = append(toRule, toItem) 5568 } 5569 var tokenIdRule []interface{} 5570 for _, tokenIdItem := range tokenId { 5571 tokenIdRule = append(tokenIdRule, tokenIdItem) 5572 } 5573 5574 logs, sub, err := _ERC721Metadata.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 5575 if err != nil { 5576 return nil, err 5577 } 5578 return event.NewSubscription(func(quit <-chan struct{}) error { 5579 defer sub.Unsubscribe() 5580 for { 5581 select { 5582 case log := <-logs: 5583 // New log arrived, parse the event and forward to the user 5584 event := new(ERC721MetadataTransfer) 5585 if err := _ERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { 5586 return err 5587 } 5588 event.Raw = log 5589 5590 select { 5591 case sink <- event: 5592 case err := <-sub.Err(): 5593 return err 5594 case <-quit: 5595 return nil 5596 } 5597 case err := <-sub.Err(): 5598 return err 5599 case <-quit: 5600 return nil 5601 } 5602 } 5603 }), nil 5604 } 5605 5606 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5607 // 5608 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 5609 func (_ERC721Metadata *ERC721MetadataFilterer) ParseTransfer(log types.Log) (*ERC721MetadataTransfer, error) { 5610 event := new(ERC721MetadataTransfer) 5611 if err := _ERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { 5612 return nil, err 5613 } 5614 return event, nil 5615 } 5616 5617 // ERC721MetadataMintableMetaData contains all meta data concerning the ERC721MetadataMintable contract. 5618 var ERC721MetadataMintableMetaData = &bind.MetaData{ 5619 ABI: "[{\"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\"}]", 5620 Sigs: map[string]string{ 5621 "983b2d56": "addMinter(address)", 5622 "095ea7b3": "approve(address,uint256)", 5623 "70a08231": "balanceOf(address)", 5624 "081812fc": "getApproved(uint256)", 5625 "e985e9c5": "isApprovedForAll(address,address)", 5626 "aa271e1a": "isMinter(address)", 5627 "50bb4e7f": "mintWithTokenURI(address,uint256,string)", 5628 "06fdde03": "name()", 5629 "6352211e": "ownerOf(uint256)", 5630 "98650275": "renounceMinter()", 5631 "42842e0e": "safeTransferFrom(address,address,uint256)", 5632 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 5633 "a22cb465": "setApprovalForAll(address,bool)", 5634 "01ffc9a7": "supportsInterface(bytes4)", 5635 "95d89b41": "symbol()", 5636 "c87b56dd": "tokenURI(uint256)", 5637 "23b872dd": "transferFrom(address,address,uint256)", 5638 }, 5639 } 5640 5641 // ERC721MetadataMintableABI is the input ABI used to generate the binding from. 5642 // Deprecated: Use ERC721MetadataMintableMetaData.ABI instead. 5643 var ERC721MetadataMintableABI = ERC721MetadataMintableMetaData.ABI 5644 5645 // ERC721MetadataMintableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 5646 const ERC721MetadataMintableBinRuntime = `` 5647 5648 // ERC721MetadataMintableFuncSigs maps the 4-byte function signature to its string representation. 5649 // Deprecated: Use ERC721MetadataMintableMetaData.Sigs instead. 5650 var ERC721MetadataMintableFuncSigs = ERC721MetadataMintableMetaData.Sigs 5651 5652 // ERC721MetadataMintable is an auto generated Go binding around a Klaytn contract. 5653 type ERC721MetadataMintable struct { 5654 ERC721MetadataMintableCaller // Read-only binding to the contract 5655 ERC721MetadataMintableTransactor // Write-only binding to the contract 5656 ERC721MetadataMintableFilterer // Log filterer for contract events 5657 } 5658 5659 // ERC721MetadataMintableCaller is an auto generated read-only Go binding around a Klaytn contract. 5660 type ERC721MetadataMintableCaller struct { 5661 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5662 } 5663 5664 // ERC721MetadataMintableTransactor is an auto generated write-only Go binding around a Klaytn contract. 5665 type ERC721MetadataMintableTransactor struct { 5666 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5667 } 5668 5669 // ERC721MetadataMintableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 5670 type ERC721MetadataMintableFilterer struct { 5671 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5672 } 5673 5674 // ERC721MetadataMintableSession is an auto generated Go binding around a Klaytn contract, 5675 // with pre-set call and transact options. 5676 type ERC721MetadataMintableSession struct { 5677 Contract *ERC721MetadataMintable // Generic contract binding to set the session for 5678 CallOpts bind.CallOpts // Call options to use throughout this session 5679 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5680 } 5681 5682 // ERC721MetadataMintableCallerSession is an auto generated read-only Go binding around a Klaytn contract, 5683 // with pre-set call options. 5684 type ERC721MetadataMintableCallerSession struct { 5685 Contract *ERC721MetadataMintableCaller // Generic contract caller binding to set the session for 5686 CallOpts bind.CallOpts // Call options to use throughout this session 5687 } 5688 5689 // ERC721MetadataMintableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 5690 // with pre-set transact options. 5691 type ERC721MetadataMintableTransactorSession struct { 5692 Contract *ERC721MetadataMintableTransactor // Generic contract transactor binding to set the session for 5693 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5694 } 5695 5696 // ERC721MetadataMintableRaw is an auto generated low-level Go binding around a Klaytn contract. 5697 type ERC721MetadataMintableRaw struct { 5698 Contract *ERC721MetadataMintable // Generic contract binding to access the raw methods on 5699 } 5700 5701 // ERC721MetadataMintableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 5702 type ERC721MetadataMintableCallerRaw struct { 5703 Contract *ERC721MetadataMintableCaller // Generic read-only contract binding to access the raw methods on 5704 } 5705 5706 // ERC721MetadataMintableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 5707 type ERC721MetadataMintableTransactorRaw struct { 5708 Contract *ERC721MetadataMintableTransactor // Generic write-only contract binding to access the raw methods on 5709 } 5710 5711 // NewERC721MetadataMintable creates a new instance of ERC721MetadataMintable, bound to a specific deployed contract. 5712 func NewERC721MetadataMintable(address common.Address, backend bind.ContractBackend) (*ERC721MetadataMintable, error) { 5713 contract, err := bindERC721MetadataMintable(address, backend, backend, backend) 5714 if err != nil { 5715 return nil, err 5716 } 5717 return &ERC721MetadataMintable{ERC721MetadataMintableCaller: ERC721MetadataMintableCaller{contract: contract}, ERC721MetadataMintableTransactor: ERC721MetadataMintableTransactor{contract: contract}, ERC721MetadataMintableFilterer: ERC721MetadataMintableFilterer{contract: contract}}, nil 5718 } 5719 5720 // NewERC721MetadataMintableCaller creates a new read-only instance of ERC721MetadataMintable, bound to a specific deployed contract. 5721 func NewERC721MetadataMintableCaller(address common.Address, caller bind.ContractCaller) (*ERC721MetadataMintableCaller, error) { 5722 contract, err := bindERC721MetadataMintable(address, caller, nil, nil) 5723 if err != nil { 5724 return nil, err 5725 } 5726 return &ERC721MetadataMintableCaller{contract: contract}, nil 5727 } 5728 5729 // NewERC721MetadataMintableTransactor creates a new write-only instance of ERC721MetadataMintable, bound to a specific deployed contract. 5730 func NewERC721MetadataMintableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721MetadataMintableTransactor, error) { 5731 contract, err := bindERC721MetadataMintable(address, nil, transactor, nil) 5732 if err != nil { 5733 return nil, err 5734 } 5735 return &ERC721MetadataMintableTransactor{contract: contract}, nil 5736 } 5737 5738 // NewERC721MetadataMintableFilterer creates a new log filterer instance of ERC721MetadataMintable, bound to a specific deployed contract. 5739 func NewERC721MetadataMintableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721MetadataMintableFilterer, error) { 5740 contract, err := bindERC721MetadataMintable(address, nil, nil, filterer) 5741 if err != nil { 5742 return nil, err 5743 } 5744 return &ERC721MetadataMintableFilterer{contract: contract}, nil 5745 } 5746 5747 // bindERC721MetadataMintable binds a generic wrapper to an already deployed contract. 5748 func bindERC721MetadataMintable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 5749 parsed, err := ERC721MetadataMintableMetaData.GetAbi() 5750 if err != nil { 5751 return nil, err 5752 } 5753 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 5754 } 5755 5756 // Call invokes the (constant) contract method with params as input values and 5757 // sets the output to result. The result type might be a single field for simple 5758 // returns, a slice of interfaces for anonymous returns and a struct for named 5759 // returns. 5760 func (_ERC721MetadataMintable *ERC721MetadataMintableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 5761 return _ERC721MetadataMintable.Contract.ERC721MetadataMintableCaller.contract.Call(opts, result, method, params...) 5762 } 5763 5764 // Transfer initiates a plain transaction to move funds to the contract, calling 5765 // its default method if one is available. 5766 func (_ERC721MetadataMintable *ERC721MetadataMintableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5767 return _ERC721MetadataMintable.Contract.ERC721MetadataMintableTransactor.contract.Transfer(opts) 5768 } 5769 5770 // Transact invokes the (paid) contract method with params as input values. 5771 func (_ERC721MetadataMintable *ERC721MetadataMintableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5772 return _ERC721MetadataMintable.Contract.ERC721MetadataMintableTransactor.contract.Transact(opts, method, params...) 5773 } 5774 5775 // Call invokes the (constant) contract method with params as input values and 5776 // sets the output to result. The result type might be a single field for simple 5777 // returns, a slice of interfaces for anonymous returns and a struct for named 5778 // returns. 5779 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 5780 return _ERC721MetadataMintable.Contract.contract.Call(opts, result, method, params...) 5781 } 5782 5783 // Transfer initiates a plain transaction to move funds to the contract, calling 5784 // its default method if one is available. 5785 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5786 return _ERC721MetadataMintable.Contract.contract.Transfer(opts) 5787 } 5788 5789 // Transact invokes the (paid) contract method with params as input values. 5790 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5791 return _ERC721MetadataMintable.Contract.contract.Transact(opts, method, params...) 5792 } 5793 5794 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5795 // 5796 // Solidity: function balanceOf(address owner) view returns(uint256) 5797 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 5798 var out []interface{} 5799 err := _ERC721MetadataMintable.contract.Call(opts, &out, "balanceOf", owner) 5800 5801 if err != nil { 5802 return *new(*big.Int), err 5803 } 5804 5805 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 5806 5807 return out0, err 5808 5809 } 5810 5811 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5812 // 5813 // Solidity: function balanceOf(address owner) view returns(uint256) 5814 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) BalanceOf(owner common.Address) (*big.Int, error) { 5815 return _ERC721MetadataMintable.Contract.BalanceOf(&_ERC721MetadataMintable.CallOpts, owner) 5816 } 5817 5818 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5819 // 5820 // Solidity: function balanceOf(address owner) view returns(uint256) 5821 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 5822 return _ERC721MetadataMintable.Contract.BalanceOf(&_ERC721MetadataMintable.CallOpts, owner) 5823 } 5824 5825 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 5826 // 5827 // Solidity: function getApproved(uint256 tokenId) view returns(address) 5828 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 5829 var out []interface{} 5830 err := _ERC721MetadataMintable.contract.Call(opts, &out, "getApproved", tokenId) 5831 5832 if err != nil { 5833 return *new(common.Address), err 5834 } 5835 5836 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 5837 5838 return out0, err 5839 5840 } 5841 5842 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 5843 // 5844 // Solidity: function getApproved(uint256 tokenId) view returns(address) 5845 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) GetApproved(tokenId *big.Int) (common.Address, error) { 5846 return _ERC721MetadataMintable.Contract.GetApproved(&_ERC721MetadataMintable.CallOpts, tokenId) 5847 } 5848 5849 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 5850 // 5851 // Solidity: function getApproved(uint256 tokenId) view returns(address) 5852 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 5853 return _ERC721MetadataMintable.Contract.GetApproved(&_ERC721MetadataMintable.CallOpts, tokenId) 5854 } 5855 5856 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 5857 // 5858 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 5859 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 5860 var out []interface{} 5861 err := _ERC721MetadataMintable.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 5862 5863 if err != nil { 5864 return *new(bool), err 5865 } 5866 5867 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 5868 5869 return out0, err 5870 5871 } 5872 5873 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 5874 // 5875 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 5876 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 5877 return _ERC721MetadataMintable.Contract.IsApprovedForAll(&_ERC721MetadataMintable.CallOpts, owner, operator) 5878 } 5879 5880 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 5881 // 5882 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 5883 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 5884 return _ERC721MetadataMintable.Contract.IsApprovedForAll(&_ERC721MetadataMintable.CallOpts, owner, operator) 5885 } 5886 5887 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 5888 // 5889 // Solidity: function isMinter(address account) view returns(bool) 5890 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { 5891 var out []interface{} 5892 err := _ERC721MetadataMintable.contract.Call(opts, &out, "isMinter", account) 5893 5894 if err != nil { 5895 return *new(bool), err 5896 } 5897 5898 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 5899 5900 return out0, err 5901 5902 } 5903 5904 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 5905 // 5906 // Solidity: function isMinter(address account) view returns(bool) 5907 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) IsMinter(account common.Address) (bool, error) { 5908 return _ERC721MetadataMintable.Contract.IsMinter(&_ERC721MetadataMintable.CallOpts, account) 5909 } 5910 5911 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 5912 // 5913 // Solidity: function isMinter(address account) view returns(bool) 5914 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) IsMinter(account common.Address) (bool, error) { 5915 return _ERC721MetadataMintable.Contract.IsMinter(&_ERC721MetadataMintable.CallOpts, account) 5916 } 5917 5918 // Name is a free data retrieval call binding the contract method 0x06fdde03. 5919 // 5920 // Solidity: function name() view returns(string) 5921 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) Name(opts *bind.CallOpts) (string, error) { 5922 var out []interface{} 5923 err := _ERC721MetadataMintable.contract.Call(opts, &out, "name") 5924 5925 if err != nil { 5926 return *new(string), err 5927 } 5928 5929 out0 := *abi.ConvertType(out[0], new(string)).(*string) 5930 5931 return out0, err 5932 5933 } 5934 5935 // Name is a free data retrieval call binding the contract method 0x06fdde03. 5936 // 5937 // Solidity: function name() view returns(string) 5938 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) Name() (string, error) { 5939 return _ERC721MetadataMintable.Contract.Name(&_ERC721MetadataMintable.CallOpts) 5940 } 5941 5942 // Name is a free data retrieval call binding the contract method 0x06fdde03. 5943 // 5944 // Solidity: function name() view returns(string) 5945 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) Name() (string, error) { 5946 return _ERC721MetadataMintable.Contract.Name(&_ERC721MetadataMintable.CallOpts) 5947 } 5948 5949 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 5950 // 5951 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 5952 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 5953 var out []interface{} 5954 err := _ERC721MetadataMintable.contract.Call(opts, &out, "ownerOf", tokenId) 5955 5956 if err != nil { 5957 return *new(common.Address), err 5958 } 5959 5960 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 5961 5962 return out0, err 5963 5964 } 5965 5966 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 5967 // 5968 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 5969 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 5970 return _ERC721MetadataMintable.Contract.OwnerOf(&_ERC721MetadataMintable.CallOpts, tokenId) 5971 } 5972 5973 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 5974 // 5975 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 5976 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 5977 return _ERC721MetadataMintable.Contract.OwnerOf(&_ERC721MetadataMintable.CallOpts, tokenId) 5978 } 5979 5980 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5981 // 5982 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 5983 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 5984 var out []interface{} 5985 err := _ERC721MetadataMintable.contract.Call(opts, &out, "supportsInterface", interfaceId) 5986 5987 if err != nil { 5988 return *new(bool), err 5989 } 5990 5991 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 5992 5993 return out0, err 5994 5995 } 5996 5997 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5998 // 5999 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 6000 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 6001 return _ERC721MetadataMintable.Contract.SupportsInterface(&_ERC721MetadataMintable.CallOpts, interfaceId) 6002 } 6003 6004 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 6005 // 6006 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 6007 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 6008 return _ERC721MetadataMintable.Contract.SupportsInterface(&_ERC721MetadataMintable.CallOpts, interfaceId) 6009 } 6010 6011 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 6012 // 6013 // Solidity: function symbol() view returns(string) 6014 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) Symbol(opts *bind.CallOpts) (string, error) { 6015 var out []interface{} 6016 err := _ERC721MetadataMintable.contract.Call(opts, &out, "symbol") 6017 6018 if err != nil { 6019 return *new(string), err 6020 } 6021 6022 out0 := *abi.ConvertType(out[0], new(string)).(*string) 6023 6024 return out0, err 6025 6026 } 6027 6028 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 6029 // 6030 // Solidity: function symbol() view returns(string) 6031 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) Symbol() (string, error) { 6032 return _ERC721MetadataMintable.Contract.Symbol(&_ERC721MetadataMintable.CallOpts) 6033 } 6034 6035 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 6036 // 6037 // Solidity: function symbol() view returns(string) 6038 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) Symbol() (string, error) { 6039 return _ERC721MetadataMintable.Contract.Symbol(&_ERC721MetadataMintable.CallOpts) 6040 } 6041 6042 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 6043 // 6044 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 6045 func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 6046 var out []interface{} 6047 err := _ERC721MetadataMintable.contract.Call(opts, &out, "tokenURI", tokenId) 6048 6049 if err != nil { 6050 return *new(string), err 6051 } 6052 6053 out0 := *abi.ConvertType(out[0], new(string)).(*string) 6054 6055 return out0, err 6056 6057 } 6058 6059 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 6060 // 6061 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 6062 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) TokenURI(tokenId *big.Int) (string, error) { 6063 return _ERC721MetadataMintable.Contract.TokenURI(&_ERC721MetadataMintable.CallOpts, tokenId) 6064 } 6065 6066 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 6067 // 6068 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 6069 func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) TokenURI(tokenId *big.Int) (string, error) { 6070 return _ERC721MetadataMintable.Contract.TokenURI(&_ERC721MetadataMintable.CallOpts, tokenId) 6071 } 6072 6073 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 6074 // 6075 // Solidity: function addMinter(address account) returns() 6076 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 6077 return _ERC721MetadataMintable.contract.Transact(opts, "addMinter", account) 6078 } 6079 6080 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 6081 // 6082 // Solidity: function addMinter(address account) returns() 6083 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) AddMinter(account common.Address) (*types.Transaction, error) { 6084 return _ERC721MetadataMintable.Contract.AddMinter(&_ERC721MetadataMintable.TransactOpts, account) 6085 } 6086 6087 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 6088 // 6089 // Solidity: function addMinter(address account) returns() 6090 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 6091 return _ERC721MetadataMintable.Contract.AddMinter(&_ERC721MetadataMintable.TransactOpts, account) 6092 } 6093 6094 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 6095 // 6096 // Solidity: function approve(address to, uint256 tokenId) returns() 6097 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6098 return _ERC721MetadataMintable.contract.Transact(opts, "approve", to, tokenId) 6099 } 6100 6101 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 6102 // 6103 // Solidity: function approve(address to, uint256 tokenId) returns() 6104 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6105 return _ERC721MetadataMintable.Contract.Approve(&_ERC721MetadataMintable.TransactOpts, to, tokenId) 6106 } 6107 6108 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 6109 // 6110 // Solidity: function approve(address to, uint256 tokenId) returns() 6111 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6112 return _ERC721MetadataMintable.Contract.Approve(&_ERC721MetadataMintable.TransactOpts, to, tokenId) 6113 } 6114 6115 // MintWithTokenURI is a paid mutator transaction binding the contract method 0x50bb4e7f. 6116 // 6117 // Solidity: function mintWithTokenURI(address to, uint256 tokenId, string tokenURI) returns(bool) 6118 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) MintWithTokenURI(opts *bind.TransactOpts, to common.Address, tokenId *big.Int, tokenURI string) (*types.Transaction, error) { 6119 return _ERC721MetadataMintable.contract.Transact(opts, "mintWithTokenURI", to, tokenId, tokenURI) 6120 } 6121 6122 // MintWithTokenURI is a paid mutator transaction binding the contract method 0x50bb4e7f. 6123 // 6124 // Solidity: function mintWithTokenURI(address to, uint256 tokenId, string tokenURI) returns(bool) 6125 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) MintWithTokenURI(to common.Address, tokenId *big.Int, tokenURI string) (*types.Transaction, error) { 6126 return _ERC721MetadataMintable.Contract.MintWithTokenURI(&_ERC721MetadataMintable.TransactOpts, to, tokenId, tokenURI) 6127 } 6128 6129 // MintWithTokenURI is a paid mutator transaction binding the contract method 0x50bb4e7f. 6130 // 6131 // Solidity: function mintWithTokenURI(address to, uint256 tokenId, string tokenURI) returns(bool) 6132 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) MintWithTokenURI(to common.Address, tokenId *big.Int, tokenURI string) (*types.Transaction, error) { 6133 return _ERC721MetadataMintable.Contract.MintWithTokenURI(&_ERC721MetadataMintable.TransactOpts, to, tokenId, tokenURI) 6134 } 6135 6136 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 6137 // 6138 // Solidity: function renounceMinter() returns() 6139 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { 6140 return _ERC721MetadataMintable.contract.Transact(opts, "renounceMinter") 6141 } 6142 6143 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 6144 // 6145 // Solidity: function renounceMinter() returns() 6146 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) RenounceMinter() (*types.Transaction, error) { 6147 return _ERC721MetadataMintable.Contract.RenounceMinter(&_ERC721MetadataMintable.TransactOpts) 6148 } 6149 6150 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 6151 // 6152 // Solidity: function renounceMinter() returns() 6153 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) RenounceMinter() (*types.Transaction, error) { 6154 return _ERC721MetadataMintable.Contract.RenounceMinter(&_ERC721MetadataMintable.TransactOpts) 6155 } 6156 6157 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 6158 // 6159 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 6160 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6161 return _ERC721MetadataMintable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 6162 } 6163 6164 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 6165 // 6166 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 6167 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6168 return _ERC721MetadataMintable.Contract.SafeTransferFrom(&_ERC721MetadataMintable.TransactOpts, from, to, tokenId) 6169 } 6170 6171 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 6172 // 6173 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 6174 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6175 return _ERC721MetadataMintable.Contract.SafeTransferFrom(&_ERC721MetadataMintable.TransactOpts, from, to, tokenId) 6176 } 6177 6178 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 6179 // 6180 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 6181 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 6182 return _ERC721MetadataMintable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 6183 } 6184 6185 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 6186 // 6187 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 6188 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 6189 return _ERC721MetadataMintable.Contract.SafeTransferFrom0(&_ERC721MetadataMintable.TransactOpts, from, to, tokenId, _data) 6190 } 6191 6192 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 6193 // 6194 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 6195 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 6196 return _ERC721MetadataMintable.Contract.SafeTransferFrom0(&_ERC721MetadataMintable.TransactOpts, from, to, tokenId, _data) 6197 } 6198 6199 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 6200 // 6201 // Solidity: function setApprovalForAll(address to, bool approved) returns() 6202 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 6203 return _ERC721MetadataMintable.contract.Transact(opts, "setApprovalForAll", to, approved) 6204 } 6205 6206 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 6207 // 6208 // Solidity: function setApprovalForAll(address to, bool approved) returns() 6209 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 6210 return _ERC721MetadataMintable.Contract.SetApprovalForAll(&_ERC721MetadataMintable.TransactOpts, to, approved) 6211 } 6212 6213 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 6214 // 6215 // Solidity: function setApprovalForAll(address to, bool approved) returns() 6216 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 6217 return _ERC721MetadataMintable.Contract.SetApprovalForAll(&_ERC721MetadataMintable.TransactOpts, to, approved) 6218 } 6219 6220 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 6221 // 6222 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 6223 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6224 return _ERC721MetadataMintable.contract.Transact(opts, "transferFrom", from, to, tokenId) 6225 } 6226 6227 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 6228 // 6229 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 6230 func (_ERC721MetadataMintable *ERC721MetadataMintableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6231 return _ERC721MetadataMintable.Contract.TransferFrom(&_ERC721MetadataMintable.TransactOpts, from, to, tokenId) 6232 } 6233 6234 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 6235 // 6236 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 6237 func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 6238 return _ERC721MetadataMintable.Contract.TransferFrom(&_ERC721MetadataMintable.TransactOpts, from, to, tokenId) 6239 } 6240 6241 // 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. 6242 type ERC721MetadataMintableApprovalIterator struct { 6243 Event *ERC721MetadataMintableApproval // Event containing the contract specifics and raw log 6244 6245 contract *bind.BoundContract // Generic contract to use for unpacking event data 6246 event string // Event name to use for unpacking event data 6247 6248 logs chan types.Log // Log channel receiving the found contract events 6249 sub klaytn.Subscription // Subscription for errors, completion and termination 6250 done bool // Whether the subscription completed delivering logs 6251 fail error // Occurred error to stop iteration 6252 } 6253 6254 // Next advances the iterator to the subsequent event, returning whether there 6255 // are any more events found. In case of a retrieval or parsing error, false is 6256 // returned and Error() can be queried for the exact failure. 6257 func (it *ERC721MetadataMintableApprovalIterator) Next() bool { 6258 // If the iterator failed, stop iterating 6259 if it.fail != nil { 6260 return false 6261 } 6262 // If the iterator completed, deliver directly whatever's available 6263 if it.done { 6264 select { 6265 case log := <-it.logs: 6266 it.Event = new(ERC721MetadataMintableApproval) 6267 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6268 it.fail = err 6269 return false 6270 } 6271 it.Event.Raw = log 6272 return true 6273 6274 default: 6275 return false 6276 } 6277 } 6278 // Iterator still in progress, wait for either a data or an error event 6279 select { 6280 case log := <-it.logs: 6281 it.Event = new(ERC721MetadataMintableApproval) 6282 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6283 it.fail = err 6284 return false 6285 } 6286 it.Event.Raw = log 6287 return true 6288 6289 case err := <-it.sub.Err(): 6290 it.done = true 6291 it.fail = err 6292 return it.Next() 6293 } 6294 } 6295 6296 // Error returns any retrieval or parsing error occurred during filtering. 6297 func (it *ERC721MetadataMintableApprovalIterator) Error() error { 6298 return it.fail 6299 } 6300 6301 // Close terminates the iteration process, releasing any pending underlying 6302 // resources. 6303 func (it *ERC721MetadataMintableApprovalIterator) Close() error { 6304 it.sub.Unsubscribe() 6305 return nil 6306 } 6307 6308 // ERC721MetadataMintableApproval represents a Approval event raised by the ERC721MetadataMintable contract. 6309 type ERC721MetadataMintableApproval struct { 6310 Owner common.Address 6311 Approved common.Address 6312 TokenId *big.Int 6313 Raw types.Log // Blockchain specific contextual infos 6314 } 6315 6316 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 6317 // 6318 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 6319 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721MetadataMintableApprovalIterator, error) { 6320 6321 var ownerRule []interface{} 6322 for _, ownerItem := range owner { 6323 ownerRule = append(ownerRule, ownerItem) 6324 } 6325 var approvedRule []interface{} 6326 for _, approvedItem := range approved { 6327 approvedRule = append(approvedRule, approvedItem) 6328 } 6329 var tokenIdRule []interface{} 6330 for _, tokenIdItem := range tokenId { 6331 tokenIdRule = append(tokenIdRule, tokenIdItem) 6332 } 6333 6334 logs, sub, err := _ERC721MetadataMintable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 6335 if err != nil { 6336 return nil, err 6337 } 6338 return &ERC721MetadataMintableApprovalIterator{contract: _ERC721MetadataMintable.contract, event: "Approval", logs: logs, sub: sub}, nil 6339 } 6340 6341 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 6342 // 6343 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 6344 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721MetadataMintableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 6345 6346 var ownerRule []interface{} 6347 for _, ownerItem := range owner { 6348 ownerRule = append(ownerRule, ownerItem) 6349 } 6350 var approvedRule []interface{} 6351 for _, approvedItem := range approved { 6352 approvedRule = append(approvedRule, approvedItem) 6353 } 6354 var tokenIdRule []interface{} 6355 for _, tokenIdItem := range tokenId { 6356 tokenIdRule = append(tokenIdRule, tokenIdItem) 6357 } 6358 6359 logs, sub, err := _ERC721MetadataMintable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 6360 if err != nil { 6361 return nil, err 6362 } 6363 return event.NewSubscription(func(quit <-chan struct{}) error { 6364 defer sub.Unsubscribe() 6365 for { 6366 select { 6367 case log := <-logs: 6368 // New log arrived, parse the event and forward to the user 6369 event := new(ERC721MetadataMintableApproval) 6370 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "Approval", log); err != nil { 6371 return err 6372 } 6373 event.Raw = log 6374 6375 select { 6376 case sink <- event: 6377 case err := <-sub.Err(): 6378 return err 6379 case <-quit: 6380 return nil 6381 } 6382 case err := <-sub.Err(): 6383 return err 6384 case <-quit: 6385 return nil 6386 } 6387 } 6388 }), nil 6389 } 6390 6391 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 6392 // 6393 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 6394 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) ParseApproval(log types.Log) (*ERC721MetadataMintableApproval, error) { 6395 event := new(ERC721MetadataMintableApproval) 6396 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "Approval", log); err != nil { 6397 return nil, err 6398 } 6399 return event, nil 6400 } 6401 6402 // 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. 6403 type ERC721MetadataMintableApprovalForAllIterator struct { 6404 Event *ERC721MetadataMintableApprovalForAll // Event containing the contract specifics and raw log 6405 6406 contract *bind.BoundContract // Generic contract to use for unpacking event data 6407 event string // Event name to use for unpacking event data 6408 6409 logs chan types.Log // Log channel receiving the found contract events 6410 sub klaytn.Subscription // Subscription for errors, completion and termination 6411 done bool // Whether the subscription completed delivering logs 6412 fail error // Occurred error to stop iteration 6413 } 6414 6415 // Next advances the iterator to the subsequent event, returning whether there 6416 // are any more events found. In case of a retrieval or parsing error, false is 6417 // returned and Error() can be queried for the exact failure. 6418 func (it *ERC721MetadataMintableApprovalForAllIterator) Next() bool { 6419 // If the iterator failed, stop iterating 6420 if it.fail != nil { 6421 return false 6422 } 6423 // If the iterator completed, deliver directly whatever's available 6424 if it.done { 6425 select { 6426 case log := <-it.logs: 6427 it.Event = new(ERC721MetadataMintableApprovalForAll) 6428 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6429 it.fail = err 6430 return false 6431 } 6432 it.Event.Raw = log 6433 return true 6434 6435 default: 6436 return false 6437 } 6438 } 6439 // Iterator still in progress, wait for either a data or an error event 6440 select { 6441 case log := <-it.logs: 6442 it.Event = new(ERC721MetadataMintableApprovalForAll) 6443 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6444 it.fail = err 6445 return false 6446 } 6447 it.Event.Raw = log 6448 return true 6449 6450 case err := <-it.sub.Err(): 6451 it.done = true 6452 it.fail = err 6453 return it.Next() 6454 } 6455 } 6456 6457 // Error returns any retrieval or parsing error occurred during filtering. 6458 func (it *ERC721MetadataMintableApprovalForAllIterator) Error() error { 6459 return it.fail 6460 } 6461 6462 // Close terminates the iteration process, releasing any pending underlying 6463 // resources. 6464 func (it *ERC721MetadataMintableApprovalForAllIterator) Close() error { 6465 it.sub.Unsubscribe() 6466 return nil 6467 } 6468 6469 // ERC721MetadataMintableApprovalForAll represents a ApprovalForAll event raised by the ERC721MetadataMintable contract. 6470 type ERC721MetadataMintableApprovalForAll struct { 6471 Owner common.Address 6472 Operator common.Address 6473 Approved bool 6474 Raw types.Log // Blockchain specific contextual infos 6475 } 6476 6477 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 6478 // 6479 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 6480 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721MetadataMintableApprovalForAllIterator, error) { 6481 6482 var ownerRule []interface{} 6483 for _, ownerItem := range owner { 6484 ownerRule = append(ownerRule, ownerItem) 6485 } 6486 var operatorRule []interface{} 6487 for _, operatorItem := range operator { 6488 operatorRule = append(operatorRule, operatorItem) 6489 } 6490 6491 logs, sub, err := _ERC721MetadataMintable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 6492 if err != nil { 6493 return nil, err 6494 } 6495 return &ERC721MetadataMintableApprovalForAllIterator{contract: _ERC721MetadataMintable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 6496 } 6497 6498 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 6499 // 6500 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 6501 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721MetadataMintableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 6502 6503 var ownerRule []interface{} 6504 for _, ownerItem := range owner { 6505 ownerRule = append(ownerRule, ownerItem) 6506 } 6507 var operatorRule []interface{} 6508 for _, operatorItem := range operator { 6509 operatorRule = append(operatorRule, operatorItem) 6510 } 6511 6512 logs, sub, err := _ERC721MetadataMintable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 6513 if err != nil { 6514 return nil, err 6515 } 6516 return event.NewSubscription(func(quit <-chan struct{}) error { 6517 defer sub.Unsubscribe() 6518 for { 6519 select { 6520 case log := <-logs: 6521 // New log arrived, parse the event and forward to the user 6522 event := new(ERC721MetadataMintableApprovalForAll) 6523 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 6524 return err 6525 } 6526 event.Raw = log 6527 6528 select { 6529 case sink <- event: 6530 case err := <-sub.Err(): 6531 return err 6532 case <-quit: 6533 return nil 6534 } 6535 case err := <-sub.Err(): 6536 return err 6537 case <-quit: 6538 return nil 6539 } 6540 } 6541 }), nil 6542 } 6543 6544 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 6545 // 6546 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 6547 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) ParseApprovalForAll(log types.Log) (*ERC721MetadataMintableApprovalForAll, error) { 6548 event := new(ERC721MetadataMintableApprovalForAll) 6549 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 6550 return nil, err 6551 } 6552 return event, nil 6553 } 6554 6555 // 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. 6556 type ERC721MetadataMintableMinterAddedIterator struct { 6557 Event *ERC721MetadataMintableMinterAdded // Event containing the contract specifics and raw log 6558 6559 contract *bind.BoundContract // Generic contract to use for unpacking event data 6560 event string // Event name to use for unpacking event data 6561 6562 logs chan types.Log // Log channel receiving the found contract events 6563 sub klaytn.Subscription // Subscription for errors, completion and termination 6564 done bool // Whether the subscription completed delivering logs 6565 fail error // Occurred error to stop iteration 6566 } 6567 6568 // Next advances the iterator to the subsequent event, returning whether there 6569 // are any more events found. In case of a retrieval or parsing error, false is 6570 // returned and Error() can be queried for the exact failure. 6571 func (it *ERC721MetadataMintableMinterAddedIterator) Next() bool { 6572 // If the iterator failed, stop iterating 6573 if it.fail != nil { 6574 return false 6575 } 6576 // If the iterator completed, deliver directly whatever's available 6577 if it.done { 6578 select { 6579 case log := <-it.logs: 6580 it.Event = new(ERC721MetadataMintableMinterAdded) 6581 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6582 it.fail = err 6583 return false 6584 } 6585 it.Event.Raw = log 6586 return true 6587 6588 default: 6589 return false 6590 } 6591 } 6592 // Iterator still in progress, wait for either a data or an error event 6593 select { 6594 case log := <-it.logs: 6595 it.Event = new(ERC721MetadataMintableMinterAdded) 6596 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6597 it.fail = err 6598 return false 6599 } 6600 it.Event.Raw = log 6601 return true 6602 6603 case err := <-it.sub.Err(): 6604 it.done = true 6605 it.fail = err 6606 return it.Next() 6607 } 6608 } 6609 6610 // Error returns any retrieval or parsing error occurred during filtering. 6611 func (it *ERC721MetadataMintableMinterAddedIterator) Error() error { 6612 return it.fail 6613 } 6614 6615 // Close terminates the iteration process, releasing any pending underlying 6616 // resources. 6617 func (it *ERC721MetadataMintableMinterAddedIterator) Close() error { 6618 it.sub.Unsubscribe() 6619 return nil 6620 } 6621 6622 // ERC721MetadataMintableMinterAdded represents a MinterAdded event raised by the ERC721MetadataMintable contract. 6623 type ERC721MetadataMintableMinterAdded struct { 6624 Account common.Address 6625 Raw types.Log // Blockchain specific contextual infos 6626 } 6627 6628 // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 6629 // 6630 // Solidity: event MinterAdded(address indexed account) 6631 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*ERC721MetadataMintableMinterAddedIterator, error) { 6632 6633 var accountRule []interface{} 6634 for _, accountItem := range account { 6635 accountRule = append(accountRule, accountItem) 6636 } 6637 6638 logs, sub, err := _ERC721MetadataMintable.contract.FilterLogs(opts, "MinterAdded", accountRule) 6639 if err != nil { 6640 return nil, err 6641 } 6642 return &ERC721MetadataMintableMinterAddedIterator{contract: _ERC721MetadataMintable.contract, event: "MinterAdded", logs: logs, sub: sub}, nil 6643 } 6644 6645 // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 6646 // 6647 // Solidity: event MinterAdded(address indexed account) 6648 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *ERC721MetadataMintableMinterAdded, account []common.Address) (event.Subscription, error) { 6649 6650 var accountRule []interface{} 6651 for _, accountItem := range account { 6652 accountRule = append(accountRule, accountItem) 6653 } 6654 6655 logs, sub, err := _ERC721MetadataMintable.contract.WatchLogs(opts, "MinterAdded", accountRule) 6656 if err != nil { 6657 return nil, err 6658 } 6659 return event.NewSubscription(func(quit <-chan struct{}) error { 6660 defer sub.Unsubscribe() 6661 for { 6662 select { 6663 case log := <-logs: 6664 // New log arrived, parse the event and forward to the user 6665 event := new(ERC721MetadataMintableMinterAdded) 6666 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "MinterAdded", log); err != nil { 6667 return err 6668 } 6669 event.Raw = log 6670 6671 select { 6672 case sink <- event: 6673 case err := <-sub.Err(): 6674 return err 6675 case <-quit: 6676 return nil 6677 } 6678 case err := <-sub.Err(): 6679 return err 6680 case <-quit: 6681 return nil 6682 } 6683 } 6684 }), nil 6685 } 6686 6687 // ParseMinterAdded is a log parse operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 6688 // 6689 // Solidity: event MinterAdded(address indexed account) 6690 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) ParseMinterAdded(log types.Log) (*ERC721MetadataMintableMinterAdded, error) { 6691 event := new(ERC721MetadataMintableMinterAdded) 6692 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "MinterAdded", log); err != nil { 6693 return nil, err 6694 } 6695 return event, nil 6696 } 6697 6698 // 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. 6699 type ERC721MetadataMintableMinterRemovedIterator struct { 6700 Event *ERC721MetadataMintableMinterRemoved // Event containing the contract specifics and raw log 6701 6702 contract *bind.BoundContract // Generic contract to use for unpacking event data 6703 event string // Event name to use for unpacking event data 6704 6705 logs chan types.Log // Log channel receiving the found contract events 6706 sub klaytn.Subscription // Subscription for errors, completion and termination 6707 done bool // Whether the subscription completed delivering logs 6708 fail error // Occurred error to stop iteration 6709 } 6710 6711 // Next advances the iterator to the subsequent event, returning whether there 6712 // are any more events found. In case of a retrieval or parsing error, false is 6713 // returned and Error() can be queried for the exact failure. 6714 func (it *ERC721MetadataMintableMinterRemovedIterator) Next() bool { 6715 // If the iterator failed, stop iterating 6716 if it.fail != nil { 6717 return false 6718 } 6719 // If the iterator completed, deliver directly whatever's available 6720 if it.done { 6721 select { 6722 case log := <-it.logs: 6723 it.Event = new(ERC721MetadataMintableMinterRemoved) 6724 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6725 it.fail = err 6726 return false 6727 } 6728 it.Event.Raw = log 6729 return true 6730 6731 default: 6732 return false 6733 } 6734 } 6735 // Iterator still in progress, wait for either a data or an error event 6736 select { 6737 case log := <-it.logs: 6738 it.Event = new(ERC721MetadataMintableMinterRemoved) 6739 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6740 it.fail = err 6741 return false 6742 } 6743 it.Event.Raw = log 6744 return true 6745 6746 case err := <-it.sub.Err(): 6747 it.done = true 6748 it.fail = err 6749 return it.Next() 6750 } 6751 } 6752 6753 // Error returns any retrieval or parsing error occurred during filtering. 6754 func (it *ERC721MetadataMintableMinterRemovedIterator) Error() error { 6755 return it.fail 6756 } 6757 6758 // Close terminates the iteration process, releasing any pending underlying 6759 // resources. 6760 func (it *ERC721MetadataMintableMinterRemovedIterator) Close() error { 6761 it.sub.Unsubscribe() 6762 return nil 6763 } 6764 6765 // ERC721MetadataMintableMinterRemoved represents a MinterRemoved event raised by the ERC721MetadataMintable contract. 6766 type ERC721MetadataMintableMinterRemoved struct { 6767 Account common.Address 6768 Raw types.Log // Blockchain specific contextual infos 6769 } 6770 6771 // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 6772 // 6773 // Solidity: event MinterRemoved(address indexed account) 6774 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*ERC721MetadataMintableMinterRemovedIterator, error) { 6775 6776 var accountRule []interface{} 6777 for _, accountItem := range account { 6778 accountRule = append(accountRule, accountItem) 6779 } 6780 6781 logs, sub, err := _ERC721MetadataMintable.contract.FilterLogs(opts, "MinterRemoved", accountRule) 6782 if err != nil { 6783 return nil, err 6784 } 6785 return &ERC721MetadataMintableMinterRemovedIterator{contract: _ERC721MetadataMintable.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil 6786 } 6787 6788 // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 6789 // 6790 // Solidity: event MinterRemoved(address indexed account) 6791 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *ERC721MetadataMintableMinterRemoved, account []common.Address) (event.Subscription, error) { 6792 6793 var accountRule []interface{} 6794 for _, accountItem := range account { 6795 accountRule = append(accountRule, accountItem) 6796 } 6797 6798 logs, sub, err := _ERC721MetadataMintable.contract.WatchLogs(opts, "MinterRemoved", accountRule) 6799 if err != nil { 6800 return nil, err 6801 } 6802 return event.NewSubscription(func(quit <-chan struct{}) error { 6803 defer sub.Unsubscribe() 6804 for { 6805 select { 6806 case log := <-logs: 6807 // New log arrived, parse the event and forward to the user 6808 event := new(ERC721MetadataMintableMinterRemoved) 6809 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 6810 return err 6811 } 6812 event.Raw = log 6813 6814 select { 6815 case sink <- event: 6816 case err := <-sub.Err(): 6817 return err 6818 case <-quit: 6819 return nil 6820 } 6821 case err := <-sub.Err(): 6822 return err 6823 case <-quit: 6824 return nil 6825 } 6826 } 6827 }), nil 6828 } 6829 6830 // ParseMinterRemoved is a log parse operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 6831 // 6832 // Solidity: event MinterRemoved(address indexed account) 6833 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) ParseMinterRemoved(log types.Log) (*ERC721MetadataMintableMinterRemoved, error) { 6834 event := new(ERC721MetadataMintableMinterRemoved) 6835 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 6836 return nil, err 6837 } 6838 return event, nil 6839 } 6840 6841 // 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. 6842 type ERC721MetadataMintableTransferIterator struct { 6843 Event *ERC721MetadataMintableTransfer // Event containing the contract specifics and raw log 6844 6845 contract *bind.BoundContract // Generic contract to use for unpacking event data 6846 event string // Event name to use for unpacking event data 6847 6848 logs chan types.Log // Log channel receiving the found contract events 6849 sub klaytn.Subscription // Subscription for errors, completion and termination 6850 done bool // Whether the subscription completed delivering logs 6851 fail error // Occurred error to stop iteration 6852 } 6853 6854 // Next advances the iterator to the subsequent event, returning whether there 6855 // are any more events found. In case of a retrieval or parsing error, false is 6856 // returned and Error() can be queried for the exact failure. 6857 func (it *ERC721MetadataMintableTransferIterator) Next() bool { 6858 // If the iterator failed, stop iterating 6859 if it.fail != nil { 6860 return false 6861 } 6862 // If the iterator completed, deliver directly whatever's available 6863 if it.done { 6864 select { 6865 case log := <-it.logs: 6866 it.Event = new(ERC721MetadataMintableTransfer) 6867 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6868 it.fail = err 6869 return false 6870 } 6871 it.Event.Raw = log 6872 return true 6873 6874 default: 6875 return false 6876 } 6877 } 6878 // Iterator still in progress, wait for either a data or an error event 6879 select { 6880 case log := <-it.logs: 6881 it.Event = new(ERC721MetadataMintableTransfer) 6882 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6883 it.fail = err 6884 return false 6885 } 6886 it.Event.Raw = log 6887 return true 6888 6889 case err := <-it.sub.Err(): 6890 it.done = true 6891 it.fail = err 6892 return it.Next() 6893 } 6894 } 6895 6896 // Error returns any retrieval or parsing error occurred during filtering. 6897 func (it *ERC721MetadataMintableTransferIterator) Error() error { 6898 return it.fail 6899 } 6900 6901 // Close terminates the iteration process, releasing any pending underlying 6902 // resources. 6903 func (it *ERC721MetadataMintableTransferIterator) Close() error { 6904 it.sub.Unsubscribe() 6905 return nil 6906 } 6907 6908 // ERC721MetadataMintableTransfer represents a Transfer event raised by the ERC721MetadataMintable contract. 6909 type ERC721MetadataMintableTransfer struct { 6910 From common.Address 6911 To common.Address 6912 TokenId *big.Int 6913 Raw types.Log // Blockchain specific contextual infos 6914 } 6915 6916 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 6917 // 6918 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 6919 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721MetadataMintableTransferIterator, error) { 6920 6921 var fromRule []interface{} 6922 for _, fromItem := range from { 6923 fromRule = append(fromRule, fromItem) 6924 } 6925 var toRule []interface{} 6926 for _, toItem := range to { 6927 toRule = append(toRule, toItem) 6928 } 6929 var tokenIdRule []interface{} 6930 for _, tokenIdItem := range tokenId { 6931 tokenIdRule = append(tokenIdRule, tokenIdItem) 6932 } 6933 6934 logs, sub, err := _ERC721MetadataMintable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 6935 if err != nil { 6936 return nil, err 6937 } 6938 return &ERC721MetadataMintableTransferIterator{contract: _ERC721MetadataMintable.contract, event: "Transfer", logs: logs, sub: sub}, nil 6939 } 6940 6941 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 6942 // 6943 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 6944 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721MetadataMintableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 6945 6946 var fromRule []interface{} 6947 for _, fromItem := range from { 6948 fromRule = append(fromRule, fromItem) 6949 } 6950 var toRule []interface{} 6951 for _, toItem := range to { 6952 toRule = append(toRule, toItem) 6953 } 6954 var tokenIdRule []interface{} 6955 for _, tokenIdItem := range tokenId { 6956 tokenIdRule = append(tokenIdRule, tokenIdItem) 6957 } 6958 6959 logs, sub, err := _ERC721MetadataMintable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 6960 if err != nil { 6961 return nil, err 6962 } 6963 return event.NewSubscription(func(quit <-chan struct{}) error { 6964 defer sub.Unsubscribe() 6965 for { 6966 select { 6967 case log := <-logs: 6968 // New log arrived, parse the event and forward to the user 6969 event := new(ERC721MetadataMintableTransfer) 6970 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "Transfer", log); err != nil { 6971 return err 6972 } 6973 event.Raw = log 6974 6975 select { 6976 case sink <- event: 6977 case err := <-sub.Err(): 6978 return err 6979 case <-quit: 6980 return nil 6981 } 6982 case err := <-sub.Err(): 6983 return err 6984 case <-quit: 6985 return nil 6986 } 6987 } 6988 }), nil 6989 } 6990 6991 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 6992 // 6993 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 6994 func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) ParseTransfer(log types.Log) (*ERC721MetadataMintableTransfer, error) { 6995 event := new(ERC721MetadataMintableTransfer) 6996 if err := _ERC721MetadataMintable.contract.UnpackLog(event, "Transfer", log); err != nil { 6997 return nil, err 6998 } 6999 return event, nil 7000 } 7001 7002 // ERC721ServiceChainMetaData contains all meta data concerning the ERC721ServiceChain contract. 7003 var ERC721ServiceChainMetaData = &bind.MetaData{ 7004 ABI: "[{\"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\"}]", 7005 Sigs: map[string]string{ 7006 "095ea7b3": "approve(address,uint256)", 7007 "70a08231": "balanceOf(address)", 7008 "e78cea92": "bridge()", 7009 "081812fc": "getApproved(uint256)", 7010 "e985e9c5": "isApprovedForAll(address,address)", 7011 "8f32d59b": "isOwner()", 7012 "8da5cb5b": "owner()", 7013 "6352211e": "ownerOf(uint256)", 7014 "715018a6": "renounceOwnership()", 7015 "3f4c4e3d": "requestValueTransfer(uint256,address,bytes)", 7016 "42842e0e": "safeTransferFrom(address,address,uint256)", 7017 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 7018 "a22cb465": "setApprovalForAll(address,bool)", 7019 "8dd14802": "setBridge(address)", 7020 "01ffc9a7": "supportsInterface(bytes4)", 7021 "23b872dd": "transferFrom(address,address,uint256)", 7022 "f2fde38b": "transferOwnership(address)", 7023 }, 7024 } 7025 7026 // ERC721ServiceChainABI is the input ABI used to generate the binding from. 7027 // Deprecated: Use ERC721ServiceChainMetaData.ABI instead. 7028 var ERC721ServiceChainABI = ERC721ServiceChainMetaData.ABI 7029 7030 // ERC721ServiceChainBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 7031 const ERC721ServiceChainBinRuntime = `` 7032 7033 // ERC721ServiceChainFuncSigs maps the 4-byte function signature to its string representation. 7034 // Deprecated: Use ERC721ServiceChainMetaData.Sigs instead. 7035 var ERC721ServiceChainFuncSigs = ERC721ServiceChainMetaData.Sigs 7036 7037 // ERC721ServiceChain is an auto generated Go binding around a Klaytn contract. 7038 type ERC721ServiceChain struct { 7039 ERC721ServiceChainCaller // Read-only binding to the contract 7040 ERC721ServiceChainTransactor // Write-only binding to the contract 7041 ERC721ServiceChainFilterer // Log filterer for contract events 7042 } 7043 7044 // ERC721ServiceChainCaller is an auto generated read-only Go binding around a Klaytn contract. 7045 type ERC721ServiceChainCaller struct { 7046 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7047 } 7048 7049 // ERC721ServiceChainTransactor is an auto generated write-only Go binding around a Klaytn contract. 7050 type ERC721ServiceChainTransactor struct { 7051 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7052 } 7053 7054 // ERC721ServiceChainFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 7055 type ERC721ServiceChainFilterer struct { 7056 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7057 } 7058 7059 // ERC721ServiceChainSession is an auto generated Go binding around a Klaytn contract, 7060 // with pre-set call and transact options. 7061 type ERC721ServiceChainSession struct { 7062 Contract *ERC721ServiceChain // Generic contract binding to set the session for 7063 CallOpts bind.CallOpts // Call options to use throughout this session 7064 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7065 } 7066 7067 // ERC721ServiceChainCallerSession is an auto generated read-only Go binding around a Klaytn contract, 7068 // with pre-set call options. 7069 type ERC721ServiceChainCallerSession struct { 7070 Contract *ERC721ServiceChainCaller // Generic contract caller binding to set the session for 7071 CallOpts bind.CallOpts // Call options to use throughout this session 7072 } 7073 7074 // ERC721ServiceChainTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 7075 // with pre-set transact options. 7076 type ERC721ServiceChainTransactorSession struct { 7077 Contract *ERC721ServiceChainTransactor // Generic contract transactor binding to set the session for 7078 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7079 } 7080 7081 // ERC721ServiceChainRaw is an auto generated low-level Go binding around a Klaytn contract. 7082 type ERC721ServiceChainRaw struct { 7083 Contract *ERC721ServiceChain // Generic contract binding to access the raw methods on 7084 } 7085 7086 // ERC721ServiceChainCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 7087 type ERC721ServiceChainCallerRaw struct { 7088 Contract *ERC721ServiceChainCaller // Generic read-only contract binding to access the raw methods on 7089 } 7090 7091 // ERC721ServiceChainTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 7092 type ERC721ServiceChainTransactorRaw struct { 7093 Contract *ERC721ServiceChainTransactor // Generic write-only contract binding to access the raw methods on 7094 } 7095 7096 // NewERC721ServiceChain creates a new instance of ERC721ServiceChain, bound to a specific deployed contract. 7097 func NewERC721ServiceChain(address common.Address, backend bind.ContractBackend) (*ERC721ServiceChain, error) { 7098 contract, err := bindERC721ServiceChain(address, backend, backend, backend) 7099 if err != nil { 7100 return nil, err 7101 } 7102 return &ERC721ServiceChain{ERC721ServiceChainCaller: ERC721ServiceChainCaller{contract: contract}, ERC721ServiceChainTransactor: ERC721ServiceChainTransactor{contract: contract}, ERC721ServiceChainFilterer: ERC721ServiceChainFilterer{contract: contract}}, nil 7103 } 7104 7105 // NewERC721ServiceChainCaller creates a new read-only instance of ERC721ServiceChain, bound to a specific deployed contract. 7106 func NewERC721ServiceChainCaller(address common.Address, caller bind.ContractCaller) (*ERC721ServiceChainCaller, error) { 7107 contract, err := bindERC721ServiceChain(address, caller, nil, nil) 7108 if err != nil { 7109 return nil, err 7110 } 7111 return &ERC721ServiceChainCaller{contract: contract}, nil 7112 } 7113 7114 // NewERC721ServiceChainTransactor creates a new write-only instance of ERC721ServiceChain, bound to a specific deployed contract. 7115 func NewERC721ServiceChainTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721ServiceChainTransactor, error) { 7116 contract, err := bindERC721ServiceChain(address, nil, transactor, nil) 7117 if err != nil { 7118 return nil, err 7119 } 7120 return &ERC721ServiceChainTransactor{contract: contract}, nil 7121 } 7122 7123 // NewERC721ServiceChainFilterer creates a new log filterer instance of ERC721ServiceChain, bound to a specific deployed contract. 7124 func NewERC721ServiceChainFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721ServiceChainFilterer, error) { 7125 contract, err := bindERC721ServiceChain(address, nil, nil, filterer) 7126 if err != nil { 7127 return nil, err 7128 } 7129 return &ERC721ServiceChainFilterer{contract: contract}, nil 7130 } 7131 7132 // bindERC721ServiceChain binds a generic wrapper to an already deployed contract. 7133 func bindERC721ServiceChain(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 7134 parsed, err := ERC721ServiceChainMetaData.GetAbi() 7135 if err != nil { 7136 return nil, err 7137 } 7138 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 7139 } 7140 7141 // Call invokes the (constant) contract method with params as input values and 7142 // sets the output to result. The result type might be a single field for simple 7143 // returns, a slice of interfaces for anonymous returns and a struct for named 7144 // returns. 7145 func (_ERC721ServiceChain *ERC721ServiceChainRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 7146 return _ERC721ServiceChain.Contract.ERC721ServiceChainCaller.contract.Call(opts, result, method, params...) 7147 } 7148 7149 // Transfer initiates a plain transaction to move funds to the contract, calling 7150 // its default method if one is available. 7151 func (_ERC721ServiceChain *ERC721ServiceChainRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7152 return _ERC721ServiceChain.Contract.ERC721ServiceChainTransactor.contract.Transfer(opts) 7153 } 7154 7155 // Transact invokes the (paid) contract method with params as input values. 7156 func (_ERC721ServiceChain *ERC721ServiceChainRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7157 return _ERC721ServiceChain.Contract.ERC721ServiceChainTransactor.contract.Transact(opts, method, params...) 7158 } 7159 7160 // Call invokes the (constant) contract method with params as input values and 7161 // sets the output to result. The result type might be a single field for simple 7162 // returns, a slice of interfaces for anonymous returns and a struct for named 7163 // returns. 7164 func (_ERC721ServiceChain *ERC721ServiceChainCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 7165 return _ERC721ServiceChain.Contract.contract.Call(opts, result, method, params...) 7166 } 7167 7168 // Transfer initiates a plain transaction to move funds to the contract, calling 7169 // its default method if one is available. 7170 func (_ERC721ServiceChain *ERC721ServiceChainTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7171 return _ERC721ServiceChain.Contract.contract.Transfer(opts) 7172 } 7173 7174 // Transact invokes the (paid) contract method with params as input values. 7175 func (_ERC721ServiceChain *ERC721ServiceChainTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7176 return _ERC721ServiceChain.Contract.contract.Transact(opts, method, params...) 7177 } 7178 7179 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 7180 // 7181 // Solidity: function balanceOf(address owner) view returns(uint256) 7182 func (_ERC721ServiceChain *ERC721ServiceChainCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 7183 var out []interface{} 7184 err := _ERC721ServiceChain.contract.Call(opts, &out, "balanceOf", owner) 7185 7186 if err != nil { 7187 return *new(*big.Int), err 7188 } 7189 7190 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 7191 7192 return out0, err 7193 7194 } 7195 7196 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 7197 // 7198 // Solidity: function balanceOf(address owner) view returns(uint256) 7199 func (_ERC721ServiceChain *ERC721ServiceChainSession) BalanceOf(owner common.Address) (*big.Int, error) { 7200 return _ERC721ServiceChain.Contract.BalanceOf(&_ERC721ServiceChain.CallOpts, owner) 7201 } 7202 7203 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 7204 // 7205 // Solidity: function balanceOf(address owner) view returns(uint256) 7206 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 7207 return _ERC721ServiceChain.Contract.BalanceOf(&_ERC721ServiceChain.CallOpts, owner) 7208 } 7209 7210 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 7211 // 7212 // Solidity: function bridge() view returns(address) 7213 func (_ERC721ServiceChain *ERC721ServiceChainCaller) Bridge(opts *bind.CallOpts) (common.Address, error) { 7214 var out []interface{} 7215 err := _ERC721ServiceChain.contract.Call(opts, &out, "bridge") 7216 7217 if err != nil { 7218 return *new(common.Address), err 7219 } 7220 7221 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 7222 7223 return out0, err 7224 7225 } 7226 7227 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 7228 // 7229 // Solidity: function bridge() view returns(address) 7230 func (_ERC721ServiceChain *ERC721ServiceChainSession) Bridge() (common.Address, error) { 7231 return _ERC721ServiceChain.Contract.Bridge(&_ERC721ServiceChain.CallOpts) 7232 } 7233 7234 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 7235 // 7236 // Solidity: function bridge() view returns(address) 7237 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) Bridge() (common.Address, error) { 7238 return _ERC721ServiceChain.Contract.Bridge(&_ERC721ServiceChain.CallOpts) 7239 } 7240 7241 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 7242 // 7243 // Solidity: function getApproved(uint256 tokenId) view returns(address) 7244 func (_ERC721ServiceChain *ERC721ServiceChainCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 7245 var out []interface{} 7246 err := _ERC721ServiceChain.contract.Call(opts, &out, "getApproved", tokenId) 7247 7248 if err != nil { 7249 return *new(common.Address), err 7250 } 7251 7252 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 7253 7254 return out0, err 7255 7256 } 7257 7258 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 7259 // 7260 // Solidity: function getApproved(uint256 tokenId) view returns(address) 7261 func (_ERC721ServiceChain *ERC721ServiceChainSession) GetApproved(tokenId *big.Int) (common.Address, error) { 7262 return _ERC721ServiceChain.Contract.GetApproved(&_ERC721ServiceChain.CallOpts, tokenId) 7263 } 7264 7265 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 7266 // 7267 // Solidity: function getApproved(uint256 tokenId) view returns(address) 7268 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 7269 return _ERC721ServiceChain.Contract.GetApproved(&_ERC721ServiceChain.CallOpts, tokenId) 7270 } 7271 7272 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 7273 // 7274 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 7275 func (_ERC721ServiceChain *ERC721ServiceChainCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 7276 var out []interface{} 7277 err := _ERC721ServiceChain.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 7278 7279 if err != nil { 7280 return *new(bool), err 7281 } 7282 7283 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 7284 7285 return out0, err 7286 7287 } 7288 7289 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 7290 // 7291 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 7292 func (_ERC721ServiceChain *ERC721ServiceChainSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 7293 return _ERC721ServiceChain.Contract.IsApprovedForAll(&_ERC721ServiceChain.CallOpts, owner, operator) 7294 } 7295 7296 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 7297 // 7298 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 7299 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 7300 return _ERC721ServiceChain.Contract.IsApprovedForAll(&_ERC721ServiceChain.CallOpts, owner, operator) 7301 } 7302 7303 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 7304 // 7305 // Solidity: function isOwner() view returns(bool) 7306 func (_ERC721ServiceChain *ERC721ServiceChainCaller) IsOwner(opts *bind.CallOpts) (bool, error) { 7307 var out []interface{} 7308 err := _ERC721ServiceChain.contract.Call(opts, &out, "isOwner") 7309 7310 if err != nil { 7311 return *new(bool), err 7312 } 7313 7314 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 7315 7316 return out0, err 7317 7318 } 7319 7320 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 7321 // 7322 // Solidity: function isOwner() view returns(bool) 7323 func (_ERC721ServiceChain *ERC721ServiceChainSession) IsOwner() (bool, error) { 7324 return _ERC721ServiceChain.Contract.IsOwner(&_ERC721ServiceChain.CallOpts) 7325 } 7326 7327 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 7328 // 7329 // Solidity: function isOwner() view returns(bool) 7330 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) IsOwner() (bool, error) { 7331 return _ERC721ServiceChain.Contract.IsOwner(&_ERC721ServiceChain.CallOpts) 7332 } 7333 7334 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 7335 // 7336 // Solidity: function owner() view returns(address) 7337 func (_ERC721ServiceChain *ERC721ServiceChainCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 7338 var out []interface{} 7339 err := _ERC721ServiceChain.contract.Call(opts, &out, "owner") 7340 7341 if err != nil { 7342 return *new(common.Address), err 7343 } 7344 7345 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 7346 7347 return out0, err 7348 7349 } 7350 7351 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 7352 // 7353 // Solidity: function owner() view returns(address) 7354 func (_ERC721ServiceChain *ERC721ServiceChainSession) Owner() (common.Address, error) { 7355 return _ERC721ServiceChain.Contract.Owner(&_ERC721ServiceChain.CallOpts) 7356 } 7357 7358 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 7359 // 7360 // Solidity: function owner() view returns(address) 7361 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) Owner() (common.Address, error) { 7362 return _ERC721ServiceChain.Contract.Owner(&_ERC721ServiceChain.CallOpts) 7363 } 7364 7365 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 7366 // 7367 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 7368 func (_ERC721ServiceChain *ERC721ServiceChainCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 7369 var out []interface{} 7370 err := _ERC721ServiceChain.contract.Call(opts, &out, "ownerOf", tokenId) 7371 7372 if err != nil { 7373 return *new(common.Address), err 7374 } 7375 7376 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 7377 7378 return out0, err 7379 7380 } 7381 7382 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 7383 // 7384 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 7385 func (_ERC721ServiceChain *ERC721ServiceChainSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 7386 return _ERC721ServiceChain.Contract.OwnerOf(&_ERC721ServiceChain.CallOpts, tokenId) 7387 } 7388 7389 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 7390 // 7391 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 7392 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 7393 return _ERC721ServiceChain.Contract.OwnerOf(&_ERC721ServiceChain.CallOpts, tokenId) 7394 } 7395 7396 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 7397 // 7398 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 7399 func (_ERC721ServiceChain *ERC721ServiceChainCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 7400 var out []interface{} 7401 err := _ERC721ServiceChain.contract.Call(opts, &out, "supportsInterface", interfaceId) 7402 7403 if err != nil { 7404 return *new(bool), err 7405 } 7406 7407 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 7408 7409 return out0, err 7410 7411 } 7412 7413 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 7414 // 7415 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 7416 func (_ERC721ServiceChain *ERC721ServiceChainSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 7417 return _ERC721ServiceChain.Contract.SupportsInterface(&_ERC721ServiceChain.CallOpts, interfaceId) 7418 } 7419 7420 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 7421 // 7422 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 7423 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 7424 return _ERC721ServiceChain.Contract.SupportsInterface(&_ERC721ServiceChain.CallOpts, interfaceId) 7425 } 7426 7427 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 7428 // 7429 // Solidity: function approve(address to, uint256 tokenId) returns() 7430 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7431 return _ERC721ServiceChain.contract.Transact(opts, "approve", to, tokenId) 7432 } 7433 7434 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 7435 // 7436 // Solidity: function approve(address to, uint256 tokenId) returns() 7437 func (_ERC721ServiceChain *ERC721ServiceChainSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7438 return _ERC721ServiceChain.Contract.Approve(&_ERC721ServiceChain.TransactOpts, to, tokenId) 7439 } 7440 7441 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 7442 // 7443 // Solidity: function approve(address to, uint256 tokenId) returns() 7444 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7445 return _ERC721ServiceChain.Contract.Approve(&_ERC721ServiceChain.TransactOpts, to, tokenId) 7446 } 7447 7448 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7449 // 7450 // Solidity: function renounceOwnership() returns() 7451 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 7452 return _ERC721ServiceChain.contract.Transact(opts, "renounceOwnership") 7453 } 7454 7455 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7456 // 7457 // Solidity: function renounceOwnership() returns() 7458 func (_ERC721ServiceChain *ERC721ServiceChainSession) RenounceOwnership() (*types.Transaction, error) { 7459 return _ERC721ServiceChain.Contract.RenounceOwnership(&_ERC721ServiceChain.TransactOpts) 7460 } 7461 7462 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7463 // 7464 // Solidity: function renounceOwnership() returns() 7465 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) RenounceOwnership() (*types.Transaction, error) { 7466 return _ERC721ServiceChain.Contract.RenounceOwnership(&_ERC721ServiceChain.TransactOpts) 7467 } 7468 7469 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 7470 // 7471 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 7472 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) RequestValueTransfer(opts *bind.TransactOpts, _uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 7473 return _ERC721ServiceChain.contract.Transact(opts, "requestValueTransfer", _uid, _to, _extraData) 7474 } 7475 7476 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 7477 // 7478 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 7479 func (_ERC721ServiceChain *ERC721ServiceChainSession) RequestValueTransfer(_uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 7480 return _ERC721ServiceChain.Contract.RequestValueTransfer(&_ERC721ServiceChain.TransactOpts, _uid, _to, _extraData) 7481 } 7482 7483 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 7484 // 7485 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 7486 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) RequestValueTransfer(_uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 7487 return _ERC721ServiceChain.Contract.RequestValueTransfer(&_ERC721ServiceChain.TransactOpts, _uid, _to, _extraData) 7488 } 7489 7490 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 7491 // 7492 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 7493 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7494 return _ERC721ServiceChain.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 7495 } 7496 7497 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 7498 // 7499 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 7500 func (_ERC721ServiceChain *ERC721ServiceChainSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7501 return _ERC721ServiceChain.Contract.SafeTransferFrom(&_ERC721ServiceChain.TransactOpts, from, to, tokenId) 7502 } 7503 7504 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 7505 // 7506 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 7507 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7508 return _ERC721ServiceChain.Contract.SafeTransferFrom(&_ERC721ServiceChain.TransactOpts, from, to, tokenId) 7509 } 7510 7511 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 7512 // 7513 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 7514 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 7515 return _ERC721ServiceChain.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 7516 } 7517 7518 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 7519 // 7520 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 7521 func (_ERC721ServiceChain *ERC721ServiceChainSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 7522 return _ERC721ServiceChain.Contract.SafeTransferFrom0(&_ERC721ServiceChain.TransactOpts, from, to, tokenId, _data) 7523 } 7524 7525 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 7526 // 7527 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 7528 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 7529 return _ERC721ServiceChain.Contract.SafeTransferFrom0(&_ERC721ServiceChain.TransactOpts, from, to, tokenId, _data) 7530 } 7531 7532 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 7533 // 7534 // Solidity: function setApprovalForAll(address to, bool approved) returns() 7535 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 7536 return _ERC721ServiceChain.contract.Transact(opts, "setApprovalForAll", to, approved) 7537 } 7538 7539 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 7540 // 7541 // Solidity: function setApprovalForAll(address to, bool approved) returns() 7542 func (_ERC721ServiceChain *ERC721ServiceChainSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 7543 return _ERC721ServiceChain.Contract.SetApprovalForAll(&_ERC721ServiceChain.TransactOpts, to, approved) 7544 } 7545 7546 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 7547 // 7548 // Solidity: function setApprovalForAll(address to, bool approved) returns() 7549 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 7550 return _ERC721ServiceChain.Contract.SetApprovalForAll(&_ERC721ServiceChain.TransactOpts, to, approved) 7551 } 7552 7553 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 7554 // 7555 // Solidity: function setBridge(address _bridge) returns() 7556 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) SetBridge(opts *bind.TransactOpts, _bridge common.Address) (*types.Transaction, error) { 7557 return _ERC721ServiceChain.contract.Transact(opts, "setBridge", _bridge) 7558 } 7559 7560 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 7561 // 7562 // Solidity: function setBridge(address _bridge) returns() 7563 func (_ERC721ServiceChain *ERC721ServiceChainSession) SetBridge(_bridge common.Address) (*types.Transaction, error) { 7564 return _ERC721ServiceChain.Contract.SetBridge(&_ERC721ServiceChain.TransactOpts, _bridge) 7565 } 7566 7567 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 7568 // 7569 // Solidity: function setBridge(address _bridge) returns() 7570 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) SetBridge(_bridge common.Address) (*types.Transaction, error) { 7571 return _ERC721ServiceChain.Contract.SetBridge(&_ERC721ServiceChain.TransactOpts, _bridge) 7572 } 7573 7574 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 7575 // 7576 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 7577 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7578 return _ERC721ServiceChain.contract.Transact(opts, "transferFrom", from, to, tokenId) 7579 } 7580 7581 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 7582 // 7583 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 7584 func (_ERC721ServiceChain *ERC721ServiceChainSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7585 return _ERC721ServiceChain.Contract.TransferFrom(&_ERC721ServiceChain.TransactOpts, from, to, tokenId) 7586 } 7587 7588 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 7589 // 7590 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 7591 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7592 return _ERC721ServiceChain.Contract.TransferFrom(&_ERC721ServiceChain.TransactOpts, from, to, tokenId) 7593 } 7594 7595 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 7596 // 7597 // Solidity: function transferOwnership(address newOwner) returns() 7598 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 7599 return _ERC721ServiceChain.contract.Transact(opts, "transferOwnership", newOwner) 7600 } 7601 7602 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 7603 // 7604 // Solidity: function transferOwnership(address newOwner) returns() 7605 func (_ERC721ServiceChain *ERC721ServiceChainSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 7606 return _ERC721ServiceChain.Contract.TransferOwnership(&_ERC721ServiceChain.TransactOpts, newOwner) 7607 } 7608 7609 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 7610 // 7611 // Solidity: function transferOwnership(address newOwner) returns() 7612 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 7613 return _ERC721ServiceChain.Contract.TransferOwnership(&_ERC721ServiceChain.TransactOpts, newOwner) 7614 } 7615 7616 // 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. 7617 type ERC721ServiceChainApprovalIterator struct { 7618 Event *ERC721ServiceChainApproval // Event containing the contract specifics and raw log 7619 7620 contract *bind.BoundContract // Generic contract to use for unpacking event data 7621 event string // Event name to use for unpacking event data 7622 7623 logs chan types.Log // Log channel receiving the found contract events 7624 sub klaytn.Subscription // Subscription for errors, completion and termination 7625 done bool // Whether the subscription completed delivering logs 7626 fail error // Occurred error to stop iteration 7627 } 7628 7629 // Next advances the iterator to the subsequent event, returning whether there 7630 // are any more events found. In case of a retrieval or parsing error, false is 7631 // returned and Error() can be queried for the exact failure. 7632 func (it *ERC721ServiceChainApprovalIterator) Next() bool { 7633 // If the iterator failed, stop iterating 7634 if it.fail != nil { 7635 return false 7636 } 7637 // If the iterator completed, deliver directly whatever's available 7638 if it.done { 7639 select { 7640 case log := <-it.logs: 7641 it.Event = new(ERC721ServiceChainApproval) 7642 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7643 it.fail = err 7644 return false 7645 } 7646 it.Event.Raw = log 7647 return true 7648 7649 default: 7650 return false 7651 } 7652 } 7653 // Iterator still in progress, wait for either a data or an error event 7654 select { 7655 case log := <-it.logs: 7656 it.Event = new(ERC721ServiceChainApproval) 7657 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7658 it.fail = err 7659 return false 7660 } 7661 it.Event.Raw = log 7662 return true 7663 7664 case err := <-it.sub.Err(): 7665 it.done = true 7666 it.fail = err 7667 return it.Next() 7668 } 7669 } 7670 7671 // Error returns any retrieval or parsing error occurred during filtering. 7672 func (it *ERC721ServiceChainApprovalIterator) Error() error { 7673 return it.fail 7674 } 7675 7676 // Close terminates the iteration process, releasing any pending underlying 7677 // resources. 7678 func (it *ERC721ServiceChainApprovalIterator) Close() error { 7679 it.sub.Unsubscribe() 7680 return nil 7681 } 7682 7683 // ERC721ServiceChainApproval represents a Approval event raised by the ERC721ServiceChain contract. 7684 type ERC721ServiceChainApproval struct { 7685 Owner common.Address 7686 Approved common.Address 7687 TokenId *big.Int 7688 Raw types.Log // Blockchain specific contextual infos 7689 } 7690 7691 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 7692 // 7693 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 7694 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721ServiceChainApprovalIterator, error) { 7695 7696 var ownerRule []interface{} 7697 for _, ownerItem := range owner { 7698 ownerRule = append(ownerRule, ownerItem) 7699 } 7700 var approvedRule []interface{} 7701 for _, approvedItem := range approved { 7702 approvedRule = append(approvedRule, approvedItem) 7703 } 7704 var tokenIdRule []interface{} 7705 for _, tokenIdItem := range tokenId { 7706 tokenIdRule = append(tokenIdRule, tokenIdItem) 7707 } 7708 7709 logs, sub, err := _ERC721ServiceChain.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 7710 if err != nil { 7711 return nil, err 7712 } 7713 return &ERC721ServiceChainApprovalIterator{contract: _ERC721ServiceChain.contract, event: "Approval", logs: logs, sub: sub}, nil 7714 } 7715 7716 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 7717 // 7718 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 7719 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721ServiceChainApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 7720 7721 var ownerRule []interface{} 7722 for _, ownerItem := range owner { 7723 ownerRule = append(ownerRule, ownerItem) 7724 } 7725 var approvedRule []interface{} 7726 for _, approvedItem := range approved { 7727 approvedRule = append(approvedRule, approvedItem) 7728 } 7729 var tokenIdRule []interface{} 7730 for _, tokenIdItem := range tokenId { 7731 tokenIdRule = append(tokenIdRule, tokenIdItem) 7732 } 7733 7734 logs, sub, err := _ERC721ServiceChain.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 7735 if err != nil { 7736 return nil, err 7737 } 7738 return event.NewSubscription(func(quit <-chan struct{}) error { 7739 defer sub.Unsubscribe() 7740 for { 7741 select { 7742 case log := <-logs: 7743 // New log arrived, parse the event and forward to the user 7744 event := new(ERC721ServiceChainApproval) 7745 if err := _ERC721ServiceChain.contract.UnpackLog(event, "Approval", log); err != nil { 7746 return err 7747 } 7748 event.Raw = log 7749 7750 select { 7751 case sink <- event: 7752 case err := <-sub.Err(): 7753 return err 7754 case <-quit: 7755 return nil 7756 } 7757 case err := <-sub.Err(): 7758 return err 7759 case <-quit: 7760 return nil 7761 } 7762 } 7763 }), nil 7764 } 7765 7766 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 7767 // 7768 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 7769 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) ParseApproval(log types.Log) (*ERC721ServiceChainApproval, error) { 7770 event := new(ERC721ServiceChainApproval) 7771 if err := _ERC721ServiceChain.contract.UnpackLog(event, "Approval", log); err != nil { 7772 return nil, err 7773 } 7774 return event, nil 7775 } 7776 7777 // 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. 7778 type ERC721ServiceChainApprovalForAllIterator struct { 7779 Event *ERC721ServiceChainApprovalForAll // Event containing the contract specifics and raw log 7780 7781 contract *bind.BoundContract // Generic contract to use for unpacking event data 7782 event string // Event name to use for unpacking event data 7783 7784 logs chan types.Log // Log channel receiving the found contract events 7785 sub klaytn.Subscription // Subscription for errors, completion and termination 7786 done bool // Whether the subscription completed delivering logs 7787 fail error // Occurred error to stop iteration 7788 } 7789 7790 // Next advances the iterator to the subsequent event, returning whether there 7791 // are any more events found. In case of a retrieval or parsing error, false is 7792 // returned and Error() can be queried for the exact failure. 7793 func (it *ERC721ServiceChainApprovalForAllIterator) Next() bool { 7794 // If the iterator failed, stop iterating 7795 if it.fail != nil { 7796 return false 7797 } 7798 // If the iterator completed, deliver directly whatever's available 7799 if it.done { 7800 select { 7801 case log := <-it.logs: 7802 it.Event = new(ERC721ServiceChainApprovalForAll) 7803 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7804 it.fail = err 7805 return false 7806 } 7807 it.Event.Raw = log 7808 return true 7809 7810 default: 7811 return false 7812 } 7813 } 7814 // Iterator still in progress, wait for either a data or an error event 7815 select { 7816 case log := <-it.logs: 7817 it.Event = new(ERC721ServiceChainApprovalForAll) 7818 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7819 it.fail = err 7820 return false 7821 } 7822 it.Event.Raw = log 7823 return true 7824 7825 case err := <-it.sub.Err(): 7826 it.done = true 7827 it.fail = err 7828 return it.Next() 7829 } 7830 } 7831 7832 // Error returns any retrieval or parsing error occurred during filtering. 7833 func (it *ERC721ServiceChainApprovalForAllIterator) Error() error { 7834 return it.fail 7835 } 7836 7837 // Close terminates the iteration process, releasing any pending underlying 7838 // resources. 7839 func (it *ERC721ServiceChainApprovalForAllIterator) Close() error { 7840 it.sub.Unsubscribe() 7841 return nil 7842 } 7843 7844 // ERC721ServiceChainApprovalForAll represents a ApprovalForAll event raised by the ERC721ServiceChain contract. 7845 type ERC721ServiceChainApprovalForAll struct { 7846 Owner common.Address 7847 Operator common.Address 7848 Approved bool 7849 Raw types.Log // Blockchain specific contextual infos 7850 } 7851 7852 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 7853 // 7854 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 7855 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721ServiceChainApprovalForAllIterator, error) { 7856 7857 var ownerRule []interface{} 7858 for _, ownerItem := range owner { 7859 ownerRule = append(ownerRule, ownerItem) 7860 } 7861 var operatorRule []interface{} 7862 for _, operatorItem := range operator { 7863 operatorRule = append(operatorRule, operatorItem) 7864 } 7865 7866 logs, sub, err := _ERC721ServiceChain.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 7867 if err != nil { 7868 return nil, err 7869 } 7870 return &ERC721ServiceChainApprovalForAllIterator{contract: _ERC721ServiceChain.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 7871 } 7872 7873 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 7874 // 7875 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 7876 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721ServiceChainApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 7877 7878 var ownerRule []interface{} 7879 for _, ownerItem := range owner { 7880 ownerRule = append(ownerRule, ownerItem) 7881 } 7882 var operatorRule []interface{} 7883 for _, operatorItem := range operator { 7884 operatorRule = append(operatorRule, operatorItem) 7885 } 7886 7887 logs, sub, err := _ERC721ServiceChain.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 7888 if err != nil { 7889 return nil, err 7890 } 7891 return event.NewSubscription(func(quit <-chan struct{}) error { 7892 defer sub.Unsubscribe() 7893 for { 7894 select { 7895 case log := <-logs: 7896 // New log arrived, parse the event and forward to the user 7897 event := new(ERC721ServiceChainApprovalForAll) 7898 if err := _ERC721ServiceChain.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 7899 return err 7900 } 7901 event.Raw = log 7902 7903 select { 7904 case sink <- event: 7905 case err := <-sub.Err(): 7906 return err 7907 case <-quit: 7908 return nil 7909 } 7910 case err := <-sub.Err(): 7911 return err 7912 case <-quit: 7913 return nil 7914 } 7915 } 7916 }), nil 7917 } 7918 7919 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 7920 // 7921 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 7922 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) ParseApprovalForAll(log types.Log) (*ERC721ServiceChainApprovalForAll, error) { 7923 event := new(ERC721ServiceChainApprovalForAll) 7924 if err := _ERC721ServiceChain.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 7925 return nil, err 7926 } 7927 return event, nil 7928 } 7929 7930 // 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. 7931 type ERC721ServiceChainOwnershipTransferredIterator struct { 7932 Event *ERC721ServiceChainOwnershipTransferred // Event containing the contract specifics and raw log 7933 7934 contract *bind.BoundContract // Generic contract to use for unpacking event data 7935 event string // Event name to use for unpacking event data 7936 7937 logs chan types.Log // Log channel receiving the found contract events 7938 sub klaytn.Subscription // Subscription for errors, completion and termination 7939 done bool // Whether the subscription completed delivering logs 7940 fail error // Occurred error to stop iteration 7941 } 7942 7943 // Next advances the iterator to the subsequent event, returning whether there 7944 // are any more events found. In case of a retrieval or parsing error, false is 7945 // returned and Error() can be queried for the exact failure. 7946 func (it *ERC721ServiceChainOwnershipTransferredIterator) Next() bool { 7947 // If the iterator failed, stop iterating 7948 if it.fail != nil { 7949 return false 7950 } 7951 // If the iterator completed, deliver directly whatever's available 7952 if it.done { 7953 select { 7954 case log := <-it.logs: 7955 it.Event = new(ERC721ServiceChainOwnershipTransferred) 7956 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7957 it.fail = err 7958 return false 7959 } 7960 it.Event.Raw = log 7961 return true 7962 7963 default: 7964 return false 7965 } 7966 } 7967 // Iterator still in progress, wait for either a data or an error event 7968 select { 7969 case log := <-it.logs: 7970 it.Event = new(ERC721ServiceChainOwnershipTransferred) 7971 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7972 it.fail = err 7973 return false 7974 } 7975 it.Event.Raw = log 7976 return true 7977 7978 case err := <-it.sub.Err(): 7979 it.done = true 7980 it.fail = err 7981 return it.Next() 7982 } 7983 } 7984 7985 // Error returns any retrieval or parsing error occurred during filtering. 7986 func (it *ERC721ServiceChainOwnershipTransferredIterator) Error() error { 7987 return it.fail 7988 } 7989 7990 // Close terminates the iteration process, releasing any pending underlying 7991 // resources. 7992 func (it *ERC721ServiceChainOwnershipTransferredIterator) Close() error { 7993 it.sub.Unsubscribe() 7994 return nil 7995 } 7996 7997 // ERC721ServiceChainOwnershipTransferred represents a OwnershipTransferred event raised by the ERC721ServiceChain contract. 7998 type ERC721ServiceChainOwnershipTransferred struct { 7999 PreviousOwner common.Address 8000 NewOwner common.Address 8001 Raw types.Log // Blockchain specific contextual infos 8002 } 8003 8004 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 8005 // 8006 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 8007 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ERC721ServiceChainOwnershipTransferredIterator, error) { 8008 8009 var previousOwnerRule []interface{} 8010 for _, previousOwnerItem := range previousOwner { 8011 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 8012 } 8013 var newOwnerRule []interface{} 8014 for _, newOwnerItem := range newOwner { 8015 newOwnerRule = append(newOwnerRule, newOwnerItem) 8016 } 8017 8018 logs, sub, err := _ERC721ServiceChain.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 8019 if err != nil { 8020 return nil, err 8021 } 8022 return &ERC721ServiceChainOwnershipTransferredIterator{contract: _ERC721ServiceChain.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 8023 } 8024 8025 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 8026 // 8027 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 8028 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *ERC721ServiceChainOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 8029 8030 var previousOwnerRule []interface{} 8031 for _, previousOwnerItem := range previousOwner { 8032 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 8033 } 8034 var newOwnerRule []interface{} 8035 for _, newOwnerItem := range newOwner { 8036 newOwnerRule = append(newOwnerRule, newOwnerItem) 8037 } 8038 8039 logs, sub, err := _ERC721ServiceChain.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 8040 if err != nil { 8041 return nil, err 8042 } 8043 return event.NewSubscription(func(quit <-chan struct{}) error { 8044 defer sub.Unsubscribe() 8045 for { 8046 select { 8047 case log := <-logs: 8048 // New log arrived, parse the event and forward to the user 8049 event := new(ERC721ServiceChainOwnershipTransferred) 8050 if err := _ERC721ServiceChain.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 8051 return err 8052 } 8053 event.Raw = log 8054 8055 select { 8056 case sink <- event: 8057 case err := <-sub.Err(): 8058 return err 8059 case <-quit: 8060 return nil 8061 } 8062 case err := <-sub.Err(): 8063 return err 8064 case <-quit: 8065 return nil 8066 } 8067 } 8068 }), nil 8069 } 8070 8071 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 8072 // 8073 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 8074 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) ParseOwnershipTransferred(log types.Log) (*ERC721ServiceChainOwnershipTransferred, error) { 8075 event := new(ERC721ServiceChainOwnershipTransferred) 8076 if err := _ERC721ServiceChain.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 8077 return nil, err 8078 } 8079 return event, nil 8080 } 8081 8082 // 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. 8083 type ERC721ServiceChainTransferIterator struct { 8084 Event *ERC721ServiceChainTransfer // Event containing the contract specifics and raw log 8085 8086 contract *bind.BoundContract // Generic contract to use for unpacking event data 8087 event string // Event name to use for unpacking event data 8088 8089 logs chan types.Log // Log channel receiving the found contract events 8090 sub klaytn.Subscription // Subscription for errors, completion and termination 8091 done bool // Whether the subscription completed delivering logs 8092 fail error // Occurred error to stop iteration 8093 } 8094 8095 // Next advances the iterator to the subsequent event, returning whether there 8096 // are any more events found. In case of a retrieval or parsing error, false is 8097 // returned and Error() can be queried for the exact failure. 8098 func (it *ERC721ServiceChainTransferIterator) Next() bool { 8099 // If the iterator failed, stop iterating 8100 if it.fail != nil { 8101 return false 8102 } 8103 // If the iterator completed, deliver directly whatever's available 8104 if it.done { 8105 select { 8106 case log := <-it.logs: 8107 it.Event = new(ERC721ServiceChainTransfer) 8108 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8109 it.fail = err 8110 return false 8111 } 8112 it.Event.Raw = log 8113 return true 8114 8115 default: 8116 return false 8117 } 8118 } 8119 // Iterator still in progress, wait for either a data or an error event 8120 select { 8121 case log := <-it.logs: 8122 it.Event = new(ERC721ServiceChainTransfer) 8123 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8124 it.fail = err 8125 return false 8126 } 8127 it.Event.Raw = log 8128 return true 8129 8130 case err := <-it.sub.Err(): 8131 it.done = true 8132 it.fail = err 8133 return it.Next() 8134 } 8135 } 8136 8137 // Error returns any retrieval or parsing error occurred during filtering. 8138 func (it *ERC721ServiceChainTransferIterator) Error() error { 8139 return it.fail 8140 } 8141 8142 // Close terminates the iteration process, releasing any pending underlying 8143 // resources. 8144 func (it *ERC721ServiceChainTransferIterator) Close() error { 8145 it.sub.Unsubscribe() 8146 return nil 8147 } 8148 8149 // ERC721ServiceChainTransfer represents a Transfer event raised by the ERC721ServiceChain contract. 8150 type ERC721ServiceChainTransfer struct { 8151 From common.Address 8152 To common.Address 8153 TokenId *big.Int 8154 Raw types.Log // Blockchain specific contextual infos 8155 } 8156 8157 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 8158 // 8159 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 8160 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721ServiceChainTransferIterator, error) { 8161 8162 var fromRule []interface{} 8163 for _, fromItem := range from { 8164 fromRule = append(fromRule, fromItem) 8165 } 8166 var toRule []interface{} 8167 for _, toItem := range to { 8168 toRule = append(toRule, toItem) 8169 } 8170 var tokenIdRule []interface{} 8171 for _, tokenIdItem := range tokenId { 8172 tokenIdRule = append(tokenIdRule, tokenIdItem) 8173 } 8174 8175 logs, sub, err := _ERC721ServiceChain.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 8176 if err != nil { 8177 return nil, err 8178 } 8179 return &ERC721ServiceChainTransferIterator{contract: _ERC721ServiceChain.contract, event: "Transfer", logs: logs, sub: sub}, nil 8180 } 8181 8182 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 8183 // 8184 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 8185 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721ServiceChainTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 8186 8187 var fromRule []interface{} 8188 for _, fromItem := range from { 8189 fromRule = append(fromRule, fromItem) 8190 } 8191 var toRule []interface{} 8192 for _, toItem := range to { 8193 toRule = append(toRule, toItem) 8194 } 8195 var tokenIdRule []interface{} 8196 for _, tokenIdItem := range tokenId { 8197 tokenIdRule = append(tokenIdRule, tokenIdItem) 8198 } 8199 8200 logs, sub, err := _ERC721ServiceChain.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 8201 if err != nil { 8202 return nil, err 8203 } 8204 return event.NewSubscription(func(quit <-chan struct{}) error { 8205 defer sub.Unsubscribe() 8206 for { 8207 select { 8208 case log := <-logs: 8209 // New log arrived, parse the event and forward to the user 8210 event := new(ERC721ServiceChainTransfer) 8211 if err := _ERC721ServiceChain.contract.UnpackLog(event, "Transfer", log); err != nil { 8212 return err 8213 } 8214 event.Raw = log 8215 8216 select { 8217 case sink <- event: 8218 case err := <-sub.Err(): 8219 return err 8220 case <-quit: 8221 return nil 8222 } 8223 case err := <-sub.Err(): 8224 return err 8225 case <-quit: 8226 return nil 8227 } 8228 } 8229 }), nil 8230 } 8231 8232 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 8233 // 8234 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 8235 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) ParseTransfer(log types.Log) (*ERC721ServiceChainTransfer, error) { 8236 event := new(ERC721ServiceChainTransfer) 8237 if err := _ERC721ServiceChain.contract.UnpackLog(event, "Transfer", log); err != nil { 8238 return nil, err 8239 } 8240 return event, nil 8241 } 8242 8243 // IERC165MetaData contains all meta data concerning the IERC165 contract. 8244 var IERC165MetaData = &bind.MetaData{ 8245 ABI: "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]", 8246 Sigs: map[string]string{ 8247 "01ffc9a7": "supportsInterface(bytes4)", 8248 }, 8249 } 8250 8251 // IERC165ABI is the input ABI used to generate the binding from. 8252 // Deprecated: Use IERC165MetaData.ABI instead. 8253 var IERC165ABI = IERC165MetaData.ABI 8254 8255 // IERC165BinRuntime is the compiled bytecode used for adding genesis block without deploying code. 8256 const IERC165BinRuntime = `` 8257 8258 // IERC165FuncSigs maps the 4-byte function signature to its string representation. 8259 // Deprecated: Use IERC165MetaData.Sigs instead. 8260 var IERC165FuncSigs = IERC165MetaData.Sigs 8261 8262 // IERC165 is an auto generated Go binding around a Klaytn contract. 8263 type IERC165 struct { 8264 IERC165Caller // Read-only binding to the contract 8265 IERC165Transactor // Write-only binding to the contract 8266 IERC165Filterer // Log filterer for contract events 8267 } 8268 8269 // IERC165Caller is an auto generated read-only Go binding around a Klaytn contract. 8270 type IERC165Caller struct { 8271 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8272 } 8273 8274 // IERC165Transactor is an auto generated write-only Go binding around a Klaytn contract. 8275 type IERC165Transactor struct { 8276 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8277 } 8278 8279 // IERC165Filterer is an auto generated log filtering Go binding around a Klaytn contract events. 8280 type IERC165Filterer struct { 8281 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8282 } 8283 8284 // IERC165Session is an auto generated Go binding around a Klaytn contract, 8285 // with pre-set call and transact options. 8286 type IERC165Session struct { 8287 Contract *IERC165 // Generic contract binding to set the session for 8288 CallOpts bind.CallOpts // Call options to use throughout this session 8289 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8290 } 8291 8292 // IERC165CallerSession is an auto generated read-only Go binding around a Klaytn contract, 8293 // with pre-set call options. 8294 type IERC165CallerSession struct { 8295 Contract *IERC165Caller // Generic contract caller binding to set the session for 8296 CallOpts bind.CallOpts // Call options to use throughout this session 8297 } 8298 8299 // IERC165TransactorSession is an auto generated write-only Go binding around a Klaytn contract, 8300 // with pre-set transact options. 8301 type IERC165TransactorSession struct { 8302 Contract *IERC165Transactor // Generic contract transactor binding to set the session for 8303 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8304 } 8305 8306 // IERC165Raw is an auto generated low-level Go binding around a Klaytn contract. 8307 type IERC165Raw struct { 8308 Contract *IERC165 // Generic contract binding to access the raw methods on 8309 } 8310 8311 // IERC165CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 8312 type IERC165CallerRaw struct { 8313 Contract *IERC165Caller // Generic read-only contract binding to access the raw methods on 8314 } 8315 8316 // IERC165TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 8317 type IERC165TransactorRaw struct { 8318 Contract *IERC165Transactor // Generic write-only contract binding to access the raw methods on 8319 } 8320 8321 // NewIERC165 creates a new instance of IERC165, bound to a specific deployed contract. 8322 func NewIERC165(address common.Address, backend bind.ContractBackend) (*IERC165, error) { 8323 contract, err := bindIERC165(address, backend, backend, backend) 8324 if err != nil { 8325 return nil, err 8326 } 8327 return &IERC165{IERC165Caller: IERC165Caller{contract: contract}, IERC165Transactor: IERC165Transactor{contract: contract}, IERC165Filterer: IERC165Filterer{contract: contract}}, nil 8328 } 8329 8330 // NewIERC165Caller creates a new read-only instance of IERC165, bound to a specific deployed contract. 8331 func NewIERC165Caller(address common.Address, caller bind.ContractCaller) (*IERC165Caller, error) { 8332 contract, err := bindIERC165(address, caller, nil, nil) 8333 if err != nil { 8334 return nil, err 8335 } 8336 return &IERC165Caller{contract: contract}, nil 8337 } 8338 8339 // NewIERC165Transactor creates a new write-only instance of IERC165, bound to a specific deployed contract. 8340 func NewIERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC165Transactor, error) { 8341 contract, err := bindIERC165(address, nil, transactor, nil) 8342 if err != nil { 8343 return nil, err 8344 } 8345 return &IERC165Transactor{contract: contract}, nil 8346 } 8347 8348 // NewIERC165Filterer creates a new log filterer instance of IERC165, bound to a specific deployed contract. 8349 func NewIERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC165Filterer, error) { 8350 contract, err := bindIERC165(address, nil, nil, filterer) 8351 if err != nil { 8352 return nil, err 8353 } 8354 return &IERC165Filterer{contract: contract}, nil 8355 } 8356 8357 // bindIERC165 binds a generic wrapper to an already deployed contract. 8358 func bindIERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 8359 parsed, err := IERC165MetaData.GetAbi() 8360 if err != nil { 8361 return nil, err 8362 } 8363 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 8364 } 8365 8366 // Call invokes the (constant) contract method with params as input values and 8367 // sets the output to result. The result type might be a single field for simple 8368 // returns, a slice of interfaces for anonymous returns and a struct for named 8369 // returns. 8370 func (_IERC165 *IERC165Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 8371 return _IERC165.Contract.IERC165Caller.contract.Call(opts, result, method, params...) 8372 } 8373 8374 // Transfer initiates a plain transaction to move funds to the contract, calling 8375 // its default method if one is available. 8376 func (_IERC165 *IERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8377 return _IERC165.Contract.IERC165Transactor.contract.Transfer(opts) 8378 } 8379 8380 // Transact invokes the (paid) contract method with params as input values. 8381 func (_IERC165 *IERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8382 return _IERC165.Contract.IERC165Transactor.contract.Transact(opts, method, params...) 8383 } 8384 8385 // Call invokes the (constant) contract method with params as input values and 8386 // sets the output to result. The result type might be a single field for simple 8387 // returns, a slice of interfaces for anonymous returns and a struct for named 8388 // returns. 8389 func (_IERC165 *IERC165CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 8390 return _IERC165.Contract.contract.Call(opts, result, method, params...) 8391 } 8392 8393 // Transfer initiates a plain transaction to move funds to the contract, calling 8394 // its default method if one is available. 8395 func (_IERC165 *IERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8396 return _IERC165.Contract.contract.Transfer(opts) 8397 } 8398 8399 // Transact invokes the (paid) contract method with params as input values. 8400 func (_IERC165 *IERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8401 return _IERC165.Contract.contract.Transact(opts, method, params...) 8402 } 8403 8404 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 8405 // 8406 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 8407 func (_IERC165 *IERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 8408 var out []interface{} 8409 err := _IERC165.contract.Call(opts, &out, "supportsInterface", interfaceId) 8410 8411 if err != nil { 8412 return *new(bool), err 8413 } 8414 8415 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 8416 8417 return out0, err 8418 8419 } 8420 8421 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 8422 // 8423 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 8424 func (_IERC165 *IERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 8425 return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) 8426 } 8427 8428 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 8429 // 8430 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 8431 func (_IERC165 *IERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 8432 return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) 8433 } 8434 8435 // IERC721MetaData contains all meta data concerning the IERC721 contract. 8436 var IERC721MetaData = &bind.MetaData{ 8437 ABI: "[{\"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\"}]", 8438 Sigs: map[string]string{ 8439 "095ea7b3": "approve(address,uint256)", 8440 "70a08231": "balanceOf(address)", 8441 "081812fc": "getApproved(uint256)", 8442 "e985e9c5": "isApprovedForAll(address,address)", 8443 "6352211e": "ownerOf(uint256)", 8444 "42842e0e": "safeTransferFrom(address,address,uint256)", 8445 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 8446 "a22cb465": "setApprovalForAll(address,bool)", 8447 "01ffc9a7": "supportsInterface(bytes4)", 8448 "23b872dd": "transferFrom(address,address,uint256)", 8449 }, 8450 } 8451 8452 // IERC721ABI is the input ABI used to generate the binding from. 8453 // Deprecated: Use IERC721MetaData.ABI instead. 8454 var IERC721ABI = IERC721MetaData.ABI 8455 8456 // IERC721BinRuntime is the compiled bytecode used for adding genesis block without deploying code. 8457 const IERC721BinRuntime = `` 8458 8459 // IERC721FuncSigs maps the 4-byte function signature to its string representation. 8460 // Deprecated: Use IERC721MetaData.Sigs instead. 8461 var IERC721FuncSigs = IERC721MetaData.Sigs 8462 8463 // IERC721 is an auto generated Go binding around a Klaytn contract. 8464 type IERC721 struct { 8465 IERC721Caller // Read-only binding to the contract 8466 IERC721Transactor // Write-only binding to the contract 8467 IERC721Filterer // Log filterer for contract events 8468 } 8469 8470 // IERC721Caller is an auto generated read-only Go binding around a Klaytn contract. 8471 type IERC721Caller struct { 8472 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8473 } 8474 8475 // IERC721Transactor is an auto generated write-only Go binding around a Klaytn contract. 8476 type IERC721Transactor struct { 8477 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8478 } 8479 8480 // IERC721Filterer is an auto generated log filtering Go binding around a Klaytn contract events. 8481 type IERC721Filterer struct { 8482 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8483 } 8484 8485 // IERC721Session is an auto generated Go binding around a Klaytn contract, 8486 // with pre-set call and transact options. 8487 type IERC721Session struct { 8488 Contract *IERC721 // Generic contract binding to set the session for 8489 CallOpts bind.CallOpts // Call options to use throughout this session 8490 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8491 } 8492 8493 // IERC721CallerSession is an auto generated read-only Go binding around a Klaytn contract, 8494 // with pre-set call options. 8495 type IERC721CallerSession struct { 8496 Contract *IERC721Caller // Generic contract caller binding to set the session for 8497 CallOpts bind.CallOpts // Call options to use throughout this session 8498 } 8499 8500 // IERC721TransactorSession is an auto generated write-only Go binding around a Klaytn contract, 8501 // with pre-set transact options. 8502 type IERC721TransactorSession struct { 8503 Contract *IERC721Transactor // Generic contract transactor binding to set the session for 8504 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8505 } 8506 8507 // IERC721Raw is an auto generated low-level Go binding around a Klaytn contract. 8508 type IERC721Raw struct { 8509 Contract *IERC721 // Generic contract binding to access the raw methods on 8510 } 8511 8512 // IERC721CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 8513 type IERC721CallerRaw struct { 8514 Contract *IERC721Caller // Generic read-only contract binding to access the raw methods on 8515 } 8516 8517 // IERC721TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 8518 type IERC721TransactorRaw struct { 8519 Contract *IERC721Transactor // Generic write-only contract binding to access the raw methods on 8520 } 8521 8522 // NewIERC721 creates a new instance of IERC721, bound to a specific deployed contract. 8523 func NewIERC721(address common.Address, backend bind.ContractBackend) (*IERC721, error) { 8524 contract, err := bindIERC721(address, backend, backend, backend) 8525 if err != nil { 8526 return nil, err 8527 } 8528 return &IERC721{IERC721Caller: IERC721Caller{contract: contract}, IERC721Transactor: IERC721Transactor{contract: contract}, IERC721Filterer: IERC721Filterer{contract: contract}}, nil 8529 } 8530 8531 // NewIERC721Caller creates a new read-only instance of IERC721, bound to a specific deployed contract. 8532 func NewIERC721Caller(address common.Address, caller bind.ContractCaller) (*IERC721Caller, error) { 8533 contract, err := bindIERC721(address, caller, nil, nil) 8534 if err != nil { 8535 return nil, err 8536 } 8537 return &IERC721Caller{contract: contract}, nil 8538 } 8539 8540 // NewIERC721Transactor creates a new write-only instance of IERC721, bound to a specific deployed contract. 8541 func NewIERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC721Transactor, error) { 8542 contract, err := bindIERC721(address, nil, transactor, nil) 8543 if err != nil { 8544 return nil, err 8545 } 8546 return &IERC721Transactor{contract: contract}, nil 8547 } 8548 8549 // NewIERC721Filterer creates a new log filterer instance of IERC721, bound to a specific deployed contract. 8550 func NewIERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC721Filterer, error) { 8551 contract, err := bindIERC721(address, nil, nil, filterer) 8552 if err != nil { 8553 return nil, err 8554 } 8555 return &IERC721Filterer{contract: contract}, nil 8556 } 8557 8558 // bindIERC721 binds a generic wrapper to an already deployed contract. 8559 func bindIERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 8560 parsed, err := IERC721MetaData.GetAbi() 8561 if err != nil { 8562 return nil, err 8563 } 8564 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 8565 } 8566 8567 // Call invokes the (constant) contract method with params as input values and 8568 // sets the output to result. The result type might be a single field for simple 8569 // returns, a slice of interfaces for anonymous returns and a struct for named 8570 // returns. 8571 func (_IERC721 *IERC721Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 8572 return _IERC721.Contract.IERC721Caller.contract.Call(opts, result, method, params...) 8573 } 8574 8575 // Transfer initiates a plain transaction to move funds to the contract, calling 8576 // its default method if one is available. 8577 func (_IERC721 *IERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8578 return _IERC721.Contract.IERC721Transactor.contract.Transfer(opts) 8579 } 8580 8581 // Transact invokes the (paid) contract method with params as input values. 8582 func (_IERC721 *IERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8583 return _IERC721.Contract.IERC721Transactor.contract.Transact(opts, method, params...) 8584 } 8585 8586 // Call invokes the (constant) contract method with params as input values and 8587 // sets the output to result. The result type might be a single field for simple 8588 // returns, a slice of interfaces for anonymous returns and a struct for named 8589 // returns. 8590 func (_IERC721 *IERC721CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 8591 return _IERC721.Contract.contract.Call(opts, result, method, params...) 8592 } 8593 8594 // Transfer initiates a plain transaction to move funds to the contract, calling 8595 // its default method if one is available. 8596 func (_IERC721 *IERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8597 return _IERC721.Contract.contract.Transfer(opts) 8598 } 8599 8600 // Transact invokes the (paid) contract method with params as input values. 8601 func (_IERC721 *IERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8602 return _IERC721.Contract.contract.Transact(opts, method, params...) 8603 } 8604 8605 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 8606 // 8607 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 8608 func (_IERC721 *IERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 8609 var out []interface{} 8610 err := _IERC721.contract.Call(opts, &out, "balanceOf", owner) 8611 8612 if err != nil { 8613 return *new(*big.Int), err 8614 } 8615 8616 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 8617 8618 return out0, err 8619 8620 } 8621 8622 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 8623 // 8624 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 8625 func (_IERC721 *IERC721Session) BalanceOf(owner common.Address) (*big.Int, error) { 8626 return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner) 8627 } 8628 8629 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 8630 // 8631 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 8632 func (_IERC721 *IERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 8633 return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner) 8634 } 8635 8636 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 8637 // 8638 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 8639 func (_IERC721 *IERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 8640 var out []interface{} 8641 err := _IERC721.contract.Call(opts, &out, "getApproved", tokenId) 8642 8643 if err != nil { 8644 return *new(common.Address), err 8645 } 8646 8647 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 8648 8649 return out0, err 8650 8651 } 8652 8653 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 8654 // 8655 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 8656 func (_IERC721 *IERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) { 8657 return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId) 8658 } 8659 8660 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 8661 // 8662 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 8663 func (_IERC721 *IERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 8664 return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId) 8665 } 8666 8667 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 8668 // 8669 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 8670 func (_IERC721 *IERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 8671 var out []interface{} 8672 err := _IERC721.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 8673 8674 if err != nil { 8675 return *new(bool), err 8676 } 8677 8678 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 8679 8680 return out0, err 8681 8682 } 8683 8684 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 8685 // 8686 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 8687 func (_IERC721 *IERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 8688 return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator) 8689 } 8690 8691 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 8692 // 8693 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 8694 func (_IERC721 *IERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 8695 return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator) 8696 } 8697 8698 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 8699 // 8700 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 8701 func (_IERC721 *IERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 8702 var out []interface{} 8703 err := _IERC721.contract.Call(opts, &out, "ownerOf", tokenId) 8704 8705 if err != nil { 8706 return *new(common.Address), err 8707 } 8708 8709 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 8710 8711 return out0, err 8712 8713 } 8714 8715 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 8716 // 8717 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 8718 func (_IERC721 *IERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) { 8719 return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId) 8720 } 8721 8722 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 8723 // 8724 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 8725 func (_IERC721 *IERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 8726 return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId) 8727 } 8728 8729 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 8730 // 8731 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 8732 func (_IERC721 *IERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 8733 var out []interface{} 8734 err := _IERC721.contract.Call(opts, &out, "supportsInterface", interfaceId) 8735 8736 if err != nil { 8737 return *new(bool), err 8738 } 8739 8740 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 8741 8742 return out0, err 8743 8744 } 8745 8746 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 8747 // 8748 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 8749 func (_IERC721 *IERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 8750 return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId) 8751 } 8752 8753 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 8754 // 8755 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 8756 func (_IERC721 *IERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 8757 return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId) 8758 } 8759 8760 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 8761 // 8762 // Solidity: function approve(address to, uint256 tokenId) returns() 8763 func (_IERC721 *IERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8764 return _IERC721.contract.Transact(opts, "approve", to, tokenId) 8765 } 8766 8767 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 8768 // 8769 // Solidity: function approve(address to, uint256 tokenId) returns() 8770 func (_IERC721 *IERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8771 return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId) 8772 } 8773 8774 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 8775 // 8776 // Solidity: function approve(address to, uint256 tokenId) returns() 8777 func (_IERC721 *IERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8778 return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId) 8779 } 8780 8781 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 8782 // 8783 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 8784 func (_IERC721 *IERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8785 return _IERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 8786 } 8787 8788 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 8789 // 8790 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 8791 func (_IERC721 *IERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8792 return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 8793 } 8794 8795 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 8796 // 8797 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 8798 func (_IERC721 *IERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8799 return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 8800 } 8801 8802 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 8803 // 8804 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 8805 func (_IERC721 *IERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 8806 return _IERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) 8807 } 8808 8809 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 8810 // 8811 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 8812 func (_IERC721 *IERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 8813 return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, from, to, tokenId, data) 8814 } 8815 8816 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 8817 // 8818 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 8819 func (_IERC721 *IERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 8820 return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, from, to, tokenId, data) 8821 } 8822 8823 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 8824 // 8825 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 8826 func (_IERC721 *IERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { 8827 return _IERC721.contract.Transact(opts, "setApprovalForAll", operator, _approved) 8828 } 8829 8830 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 8831 // 8832 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 8833 func (_IERC721 *IERC721Session) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 8834 return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved) 8835 } 8836 8837 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 8838 // 8839 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 8840 func (_IERC721 *IERC721TransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 8841 return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved) 8842 } 8843 8844 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 8845 // 8846 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 8847 func (_IERC721 *IERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8848 return _IERC721.contract.Transact(opts, "transferFrom", from, to, tokenId) 8849 } 8850 8851 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 8852 // 8853 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 8854 func (_IERC721 *IERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8855 return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 8856 } 8857 8858 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 8859 // 8860 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 8861 func (_IERC721 *IERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8862 return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 8863 } 8864 8865 // 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. 8866 type IERC721ApprovalIterator struct { 8867 Event *IERC721Approval // Event containing the contract specifics and raw log 8868 8869 contract *bind.BoundContract // Generic contract to use for unpacking event data 8870 event string // Event name to use for unpacking event data 8871 8872 logs chan types.Log // Log channel receiving the found contract events 8873 sub klaytn.Subscription // Subscription for errors, completion and termination 8874 done bool // Whether the subscription completed delivering logs 8875 fail error // Occurred error to stop iteration 8876 } 8877 8878 // Next advances the iterator to the subsequent event, returning whether there 8879 // are any more events found. In case of a retrieval or parsing error, false is 8880 // returned and Error() can be queried for the exact failure. 8881 func (it *IERC721ApprovalIterator) Next() bool { 8882 // If the iterator failed, stop iterating 8883 if it.fail != nil { 8884 return false 8885 } 8886 // If the iterator completed, deliver directly whatever's available 8887 if it.done { 8888 select { 8889 case log := <-it.logs: 8890 it.Event = new(IERC721Approval) 8891 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8892 it.fail = err 8893 return false 8894 } 8895 it.Event.Raw = log 8896 return true 8897 8898 default: 8899 return false 8900 } 8901 } 8902 // Iterator still in progress, wait for either a data or an error event 8903 select { 8904 case log := <-it.logs: 8905 it.Event = new(IERC721Approval) 8906 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8907 it.fail = err 8908 return false 8909 } 8910 it.Event.Raw = log 8911 return true 8912 8913 case err := <-it.sub.Err(): 8914 it.done = true 8915 it.fail = err 8916 return it.Next() 8917 } 8918 } 8919 8920 // Error returns any retrieval or parsing error occurred during filtering. 8921 func (it *IERC721ApprovalIterator) Error() error { 8922 return it.fail 8923 } 8924 8925 // Close terminates the iteration process, releasing any pending underlying 8926 // resources. 8927 func (it *IERC721ApprovalIterator) Close() error { 8928 it.sub.Unsubscribe() 8929 return nil 8930 } 8931 8932 // IERC721Approval represents a Approval event raised by the IERC721 contract. 8933 type IERC721Approval struct { 8934 Owner common.Address 8935 Approved common.Address 8936 TokenId *big.Int 8937 Raw types.Log // Blockchain specific contextual infos 8938 } 8939 8940 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 8941 // 8942 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 8943 func (_IERC721 *IERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721ApprovalIterator, error) { 8944 8945 var ownerRule []interface{} 8946 for _, ownerItem := range owner { 8947 ownerRule = append(ownerRule, ownerItem) 8948 } 8949 var approvedRule []interface{} 8950 for _, approvedItem := range approved { 8951 approvedRule = append(approvedRule, approvedItem) 8952 } 8953 var tokenIdRule []interface{} 8954 for _, tokenIdItem := range tokenId { 8955 tokenIdRule = append(tokenIdRule, tokenIdItem) 8956 } 8957 8958 logs, sub, err := _IERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 8959 if err != nil { 8960 return nil, err 8961 } 8962 return &IERC721ApprovalIterator{contract: _IERC721.contract, event: "Approval", logs: logs, sub: sub}, nil 8963 } 8964 8965 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 8966 // 8967 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 8968 func (_IERC721 *IERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 8969 8970 var ownerRule []interface{} 8971 for _, ownerItem := range owner { 8972 ownerRule = append(ownerRule, ownerItem) 8973 } 8974 var approvedRule []interface{} 8975 for _, approvedItem := range approved { 8976 approvedRule = append(approvedRule, approvedItem) 8977 } 8978 var tokenIdRule []interface{} 8979 for _, tokenIdItem := range tokenId { 8980 tokenIdRule = append(tokenIdRule, tokenIdItem) 8981 } 8982 8983 logs, sub, err := _IERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 8984 if err != nil { 8985 return nil, err 8986 } 8987 return event.NewSubscription(func(quit <-chan struct{}) error { 8988 defer sub.Unsubscribe() 8989 for { 8990 select { 8991 case log := <-logs: 8992 // New log arrived, parse the event and forward to the user 8993 event := new(IERC721Approval) 8994 if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil { 8995 return err 8996 } 8997 event.Raw = log 8998 8999 select { 9000 case sink <- event: 9001 case err := <-sub.Err(): 9002 return err 9003 case <-quit: 9004 return nil 9005 } 9006 case err := <-sub.Err(): 9007 return err 9008 case <-quit: 9009 return nil 9010 } 9011 } 9012 }), nil 9013 } 9014 9015 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 9016 // 9017 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 9018 func (_IERC721 *IERC721Filterer) ParseApproval(log types.Log) (*IERC721Approval, error) { 9019 event := new(IERC721Approval) 9020 if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil { 9021 return nil, err 9022 } 9023 return event, nil 9024 } 9025 9026 // 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. 9027 type IERC721ApprovalForAllIterator struct { 9028 Event *IERC721ApprovalForAll // Event containing the contract specifics and raw log 9029 9030 contract *bind.BoundContract // Generic contract to use for unpacking event data 9031 event string // Event name to use for unpacking event data 9032 9033 logs chan types.Log // Log channel receiving the found contract events 9034 sub klaytn.Subscription // Subscription for errors, completion and termination 9035 done bool // Whether the subscription completed delivering logs 9036 fail error // Occurred error to stop iteration 9037 } 9038 9039 // Next advances the iterator to the subsequent event, returning whether there 9040 // are any more events found. In case of a retrieval or parsing error, false is 9041 // returned and Error() can be queried for the exact failure. 9042 func (it *IERC721ApprovalForAllIterator) Next() bool { 9043 // If the iterator failed, stop iterating 9044 if it.fail != nil { 9045 return false 9046 } 9047 // If the iterator completed, deliver directly whatever's available 9048 if it.done { 9049 select { 9050 case log := <-it.logs: 9051 it.Event = new(IERC721ApprovalForAll) 9052 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9053 it.fail = err 9054 return false 9055 } 9056 it.Event.Raw = log 9057 return true 9058 9059 default: 9060 return false 9061 } 9062 } 9063 // Iterator still in progress, wait for either a data or an error event 9064 select { 9065 case log := <-it.logs: 9066 it.Event = new(IERC721ApprovalForAll) 9067 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9068 it.fail = err 9069 return false 9070 } 9071 it.Event.Raw = log 9072 return true 9073 9074 case err := <-it.sub.Err(): 9075 it.done = true 9076 it.fail = err 9077 return it.Next() 9078 } 9079 } 9080 9081 // Error returns any retrieval or parsing error occurred during filtering. 9082 func (it *IERC721ApprovalForAllIterator) Error() error { 9083 return it.fail 9084 } 9085 9086 // Close terminates the iteration process, releasing any pending underlying 9087 // resources. 9088 func (it *IERC721ApprovalForAllIterator) Close() error { 9089 it.sub.Unsubscribe() 9090 return nil 9091 } 9092 9093 // IERC721ApprovalForAll represents a ApprovalForAll event raised by the IERC721 contract. 9094 type IERC721ApprovalForAll struct { 9095 Owner common.Address 9096 Operator common.Address 9097 Approved bool 9098 Raw types.Log // Blockchain specific contextual infos 9099 } 9100 9101 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 9102 // 9103 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 9104 func (_IERC721 *IERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721ApprovalForAllIterator, error) { 9105 9106 var ownerRule []interface{} 9107 for _, ownerItem := range owner { 9108 ownerRule = append(ownerRule, ownerItem) 9109 } 9110 var operatorRule []interface{} 9111 for _, operatorItem := range operator { 9112 operatorRule = append(operatorRule, operatorItem) 9113 } 9114 9115 logs, sub, err := _IERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 9116 if err != nil { 9117 return nil, err 9118 } 9119 return &IERC721ApprovalForAllIterator{contract: _IERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 9120 } 9121 9122 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 9123 // 9124 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 9125 func (_IERC721 *IERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 9126 9127 var ownerRule []interface{} 9128 for _, ownerItem := range owner { 9129 ownerRule = append(ownerRule, ownerItem) 9130 } 9131 var operatorRule []interface{} 9132 for _, operatorItem := range operator { 9133 operatorRule = append(operatorRule, operatorItem) 9134 } 9135 9136 logs, sub, err := _IERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 9137 if err != nil { 9138 return nil, err 9139 } 9140 return event.NewSubscription(func(quit <-chan struct{}) error { 9141 defer sub.Unsubscribe() 9142 for { 9143 select { 9144 case log := <-logs: 9145 // New log arrived, parse the event and forward to the user 9146 event := new(IERC721ApprovalForAll) 9147 if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 9148 return err 9149 } 9150 event.Raw = log 9151 9152 select { 9153 case sink <- event: 9154 case err := <-sub.Err(): 9155 return err 9156 case <-quit: 9157 return nil 9158 } 9159 case err := <-sub.Err(): 9160 return err 9161 case <-quit: 9162 return nil 9163 } 9164 } 9165 }), nil 9166 } 9167 9168 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 9169 // 9170 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 9171 func (_IERC721 *IERC721Filterer) ParseApprovalForAll(log types.Log) (*IERC721ApprovalForAll, error) { 9172 event := new(IERC721ApprovalForAll) 9173 if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 9174 return nil, err 9175 } 9176 return event, nil 9177 } 9178 9179 // 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. 9180 type IERC721TransferIterator struct { 9181 Event *IERC721Transfer // Event containing the contract specifics and raw log 9182 9183 contract *bind.BoundContract // Generic contract to use for unpacking event data 9184 event string // Event name to use for unpacking event data 9185 9186 logs chan types.Log // Log channel receiving the found contract events 9187 sub klaytn.Subscription // Subscription for errors, completion and termination 9188 done bool // Whether the subscription completed delivering logs 9189 fail error // Occurred error to stop iteration 9190 } 9191 9192 // Next advances the iterator to the subsequent event, returning whether there 9193 // are any more events found. In case of a retrieval or parsing error, false is 9194 // returned and Error() can be queried for the exact failure. 9195 func (it *IERC721TransferIterator) Next() bool { 9196 // If the iterator failed, stop iterating 9197 if it.fail != nil { 9198 return false 9199 } 9200 // If the iterator completed, deliver directly whatever's available 9201 if it.done { 9202 select { 9203 case log := <-it.logs: 9204 it.Event = new(IERC721Transfer) 9205 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9206 it.fail = err 9207 return false 9208 } 9209 it.Event.Raw = log 9210 return true 9211 9212 default: 9213 return false 9214 } 9215 } 9216 // Iterator still in progress, wait for either a data or an error event 9217 select { 9218 case log := <-it.logs: 9219 it.Event = new(IERC721Transfer) 9220 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9221 it.fail = err 9222 return false 9223 } 9224 it.Event.Raw = log 9225 return true 9226 9227 case err := <-it.sub.Err(): 9228 it.done = true 9229 it.fail = err 9230 return it.Next() 9231 } 9232 } 9233 9234 // Error returns any retrieval or parsing error occurred during filtering. 9235 func (it *IERC721TransferIterator) Error() error { 9236 return it.fail 9237 } 9238 9239 // Close terminates the iteration process, releasing any pending underlying 9240 // resources. 9241 func (it *IERC721TransferIterator) Close() error { 9242 it.sub.Unsubscribe() 9243 return nil 9244 } 9245 9246 // IERC721Transfer represents a Transfer event raised by the IERC721 contract. 9247 type IERC721Transfer struct { 9248 From common.Address 9249 To common.Address 9250 TokenId *big.Int 9251 Raw types.Log // Blockchain specific contextual infos 9252 } 9253 9254 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 9255 // 9256 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 9257 func (_IERC721 *IERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721TransferIterator, error) { 9258 9259 var fromRule []interface{} 9260 for _, fromItem := range from { 9261 fromRule = append(fromRule, fromItem) 9262 } 9263 var toRule []interface{} 9264 for _, toItem := range to { 9265 toRule = append(toRule, toItem) 9266 } 9267 var tokenIdRule []interface{} 9268 for _, tokenIdItem := range tokenId { 9269 tokenIdRule = append(tokenIdRule, tokenIdItem) 9270 } 9271 9272 logs, sub, err := _IERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 9273 if err != nil { 9274 return nil, err 9275 } 9276 return &IERC721TransferIterator{contract: _IERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil 9277 } 9278 9279 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 9280 // 9281 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 9282 func (_IERC721 *IERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 9283 9284 var fromRule []interface{} 9285 for _, fromItem := range from { 9286 fromRule = append(fromRule, fromItem) 9287 } 9288 var toRule []interface{} 9289 for _, toItem := range to { 9290 toRule = append(toRule, toItem) 9291 } 9292 var tokenIdRule []interface{} 9293 for _, tokenIdItem := range tokenId { 9294 tokenIdRule = append(tokenIdRule, tokenIdItem) 9295 } 9296 9297 logs, sub, err := _IERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 9298 if err != nil { 9299 return nil, err 9300 } 9301 return event.NewSubscription(func(quit <-chan struct{}) error { 9302 defer sub.Unsubscribe() 9303 for { 9304 select { 9305 case log := <-logs: 9306 // New log arrived, parse the event and forward to the user 9307 event := new(IERC721Transfer) 9308 if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 9309 return err 9310 } 9311 event.Raw = log 9312 9313 select { 9314 case sink <- event: 9315 case err := <-sub.Err(): 9316 return err 9317 case <-quit: 9318 return nil 9319 } 9320 case err := <-sub.Err(): 9321 return err 9322 case <-quit: 9323 return nil 9324 } 9325 } 9326 }), nil 9327 } 9328 9329 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 9330 // 9331 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 9332 func (_IERC721 *IERC721Filterer) ParseTransfer(log types.Log) (*IERC721Transfer, error) { 9333 event := new(IERC721Transfer) 9334 if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 9335 return nil, err 9336 } 9337 return event, nil 9338 } 9339 9340 // IERC721BridgeReceiverMetaData contains all meta data concerning the IERC721BridgeReceiver contract. 9341 var IERC721BridgeReceiverMetaData = &bind.MetaData{ 9342 ABI: "[{\"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\"}]", 9343 Sigs: map[string]string{ 9344 "cf0da290": "onERC721Received(address,uint256,address,bytes)", 9345 }, 9346 } 9347 9348 // IERC721BridgeReceiverABI is the input ABI used to generate the binding from. 9349 // Deprecated: Use IERC721BridgeReceiverMetaData.ABI instead. 9350 var IERC721BridgeReceiverABI = IERC721BridgeReceiverMetaData.ABI 9351 9352 // IERC721BridgeReceiverBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 9353 const IERC721BridgeReceiverBinRuntime = `` 9354 9355 // IERC721BridgeReceiverFuncSigs maps the 4-byte function signature to its string representation. 9356 // Deprecated: Use IERC721BridgeReceiverMetaData.Sigs instead. 9357 var IERC721BridgeReceiverFuncSigs = IERC721BridgeReceiverMetaData.Sigs 9358 9359 // IERC721BridgeReceiver is an auto generated Go binding around a Klaytn contract. 9360 type IERC721BridgeReceiver struct { 9361 IERC721BridgeReceiverCaller // Read-only binding to the contract 9362 IERC721BridgeReceiverTransactor // Write-only binding to the contract 9363 IERC721BridgeReceiverFilterer // Log filterer for contract events 9364 } 9365 9366 // IERC721BridgeReceiverCaller is an auto generated read-only Go binding around a Klaytn contract. 9367 type IERC721BridgeReceiverCaller struct { 9368 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9369 } 9370 9371 // IERC721BridgeReceiverTransactor is an auto generated write-only Go binding around a Klaytn contract. 9372 type IERC721BridgeReceiverTransactor struct { 9373 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9374 } 9375 9376 // IERC721BridgeReceiverFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 9377 type IERC721BridgeReceiverFilterer struct { 9378 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9379 } 9380 9381 // IERC721BridgeReceiverSession is an auto generated Go binding around a Klaytn contract, 9382 // with pre-set call and transact options. 9383 type IERC721BridgeReceiverSession struct { 9384 Contract *IERC721BridgeReceiver // Generic contract binding to set the session for 9385 CallOpts bind.CallOpts // Call options to use throughout this session 9386 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 9387 } 9388 9389 // IERC721BridgeReceiverCallerSession is an auto generated read-only Go binding around a Klaytn contract, 9390 // with pre-set call options. 9391 type IERC721BridgeReceiverCallerSession struct { 9392 Contract *IERC721BridgeReceiverCaller // Generic contract caller binding to set the session for 9393 CallOpts bind.CallOpts // Call options to use throughout this session 9394 } 9395 9396 // IERC721BridgeReceiverTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 9397 // with pre-set transact options. 9398 type IERC721BridgeReceiverTransactorSession struct { 9399 Contract *IERC721BridgeReceiverTransactor // Generic contract transactor binding to set the session for 9400 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 9401 } 9402 9403 // IERC721BridgeReceiverRaw is an auto generated low-level Go binding around a Klaytn contract. 9404 type IERC721BridgeReceiverRaw struct { 9405 Contract *IERC721BridgeReceiver // Generic contract binding to access the raw methods on 9406 } 9407 9408 // IERC721BridgeReceiverCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 9409 type IERC721BridgeReceiverCallerRaw struct { 9410 Contract *IERC721BridgeReceiverCaller // Generic read-only contract binding to access the raw methods on 9411 } 9412 9413 // IERC721BridgeReceiverTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 9414 type IERC721BridgeReceiverTransactorRaw struct { 9415 Contract *IERC721BridgeReceiverTransactor // Generic write-only contract binding to access the raw methods on 9416 } 9417 9418 // NewIERC721BridgeReceiver creates a new instance of IERC721BridgeReceiver, bound to a specific deployed contract. 9419 func NewIERC721BridgeReceiver(address common.Address, backend bind.ContractBackend) (*IERC721BridgeReceiver, error) { 9420 contract, err := bindIERC721BridgeReceiver(address, backend, backend, backend) 9421 if err != nil { 9422 return nil, err 9423 } 9424 return &IERC721BridgeReceiver{IERC721BridgeReceiverCaller: IERC721BridgeReceiverCaller{contract: contract}, IERC721BridgeReceiverTransactor: IERC721BridgeReceiverTransactor{contract: contract}, IERC721BridgeReceiverFilterer: IERC721BridgeReceiverFilterer{contract: contract}}, nil 9425 } 9426 9427 // NewIERC721BridgeReceiverCaller creates a new read-only instance of IERC721BridgeReceiver, bound to a specific deployed contract. 9428 func NewIERC721BridgeReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC721BridgeReceiverCaller, error) { 9429 contract, err := bindIERC721BridgeReceiver(address, caller, nil, nil) 9430 if err != nil { 9431 return nil, err 9432 } 9433 return &IERC721BridgeReceiverCaller{contract: contract}, nil 9434 } 9435 9436 // NewIERC721BridgeReceiverTransactor creates a new write-only instance of IERC721BridgeReceiver, bound to a specific deployed contract. 9437 func NewIERC721BridgeReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721BridgeReceiverTransactor, error) { 9438 contract, err := bindIERC721BridgeReceiver(address, nil, transactor, nil) 9439 if err != nil { 9440 return nil, err 9441 } 9442 return &IERC721BridgeReceiverTransactor{contract: contract}, nil 9443 } 9444 9445 // NewIERC721BridgeReceiverFilterer creates a new log filterer instance of IERC721BridgeReceiver, bound to a specific deployed contract. 9446 func NewIERC721BridgeReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721BridgeReceiverFilterer, error) { 9447 contract, err := bindIERC721BridgeReceiver(address, nil, nil, filterer) 9448 if err != nil { 9449 return nil, err 9450 } 9451 return &IERC721BridgeReceiverFilterer{contract: contract}, nil 9452 } 9453 9454 // bindIERC721BridgeReceiver binds a generic wrapper to an already deployed contract. 9455 func bindIERC721BridgeReceiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 9456 parsed, err := IERC721BridgeReceiverMetaData.GetAbi() 9457 if err != nil { 9458 return nil, err 9459 } 9460 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 9461 } 9462 9463 // Call invokes the (constant) contract method with params as input values and 9464 // sets the output to result. The result type might be a single field for simple 9465 // returns, a slice of interfaces for anonymous returns and a struct for named 9466 // returns. 9467 func (_IERC721BridgeReceiver *IERC721BridgeReceiverRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 9468 return _IERC721BridgeReceiver.Contract.IERC721BridgeReceiverCaller.contract.Call(opts, result, method, params...) 9469 } 9470 9471 // Transfer initiates a plain transaction to move funds to the contract, calling 9472 // its default method if one is available. 9473 func (_IERC721BridgeReceiver *IERC721BridgeReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 9474 return _IERC721BridgeReceiver.Contract.IERC721BridgeReceiverTransactor.contract.Transfer(opts) 9475 } 9476 9477 // Transact invokes the (paid) contract method with params as input values. 9478 func (_IERC721BridgeReceiver *IERC721BridgeReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 9479 return _IERC721BridgeReceiver.Contract.IERC721BridgeReceiverTransactor.contract.Transact(opts, method, params...) 9480 } 9481 9482 // Call invokes the (constant) contract method with params as input values and 9483 // sets the output to result. The result type might be a single field for simple 9484 // returns, a slice of interfaces for anonymous returns and a struct for named 9485 // returns. 9486 func (_IERC721BridgeReceiver *IERC721BridgeReceiverCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 9487 return _IERC721BridgeReceiver.Contract.contract.Call(opts, result, method, params...) 9488 } 9489 9490 // Transfer initiates a plain transaction to move funds to the contract, calling 9491 // its default method if one is available. 9492 func (_IERC721BridgeReceiver *IERC721BridgeReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 9493 return _IERC721BridgeReceiver.Contract.contract.Transfer(opts) 9494 } 9495 9496 // Transact invokes the (paid) contract method with params as input values. 9497 func (_IERC721BridgeReceiver *IERC721BridgeReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 9498 return _IERC721BridgeReceiver.Contract.contract.Transact(opts, method, params...) 9499 } 9500 9501 // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. 9502 // 9503 // Solidity: function onERC721Received(address _from, uint256 _tokenId, address _to, bytes _extraData) returns() 9504 func (_IERC721BridgeReceiver *IERC721BridgeReceiverTransactor) OnERC721Received(opts *bind.TransactOpts, _from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 9505 return _IERC721BridgeReceiver.contract.Transact(opts, "onERC721Received", _from, _tokenId, _to, _extraData) 9506 } 9507 9508 // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. 9509 // 9510 // Solidity: function onERC721Received(address _from, uint256 _tokenId, address _to, bytes _extraData) returns() 9511 func (_IERC721BridgeReceiver *IERC721BridgeReceiverSession) OnERC721Received(_from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 9512 return _IERC721BridgeReceiver.Contract.OnERC721Received(&_IERC721BridgeReceiver.TransactOpts, _from, _tokenId, _to, _extraData) 9513 } 9514 9515 // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. 9516 // 9517 // Solidity: function onERC721Received(address _from, uint256 _tokenId, address _to, bytes _extraData) returns() 9518 func (_IERC721BridgeReceiver *IERC721BridgeReceiverTransactorSession) OnERC721Received(_from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 9519 return _IERC721BridgeReceiver.Contract.OnERC721Received(&_IERC721BridgeReceiver.TransactOpts, _from, _tokenId, _to, _extraData) 9520 } 9521 9522 // IERC721EnumerableMetaData contains all meta data concerning the IERC721Enumerable contract. 9523 var IERC721EnumerableMetaData = &bind.MetaData{ 9524 ABI: "[{\"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\"}]", 9525 Sigs: map[string]string{ 9526 "095ea7b3": "approve(address,uint256)", 9527 "70a08231": "balanceOf(address)", 9528 "081812fc": "getApproved(uint256)", 9529 "e985e9c5": "isApprovedForAll(address,address)", 9530 "6352211e": "ownerOf(uint256)", 9531 "42842e0e": "safeTransferFrom(address,address,uint256)", 9532 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 9533 "a22cb465": "setApprovalForAll(address,bool)", 9534 "01ffc9a7": "supportsInterface(bytes4)", 9535 "4f6ccce7": "tokenByIndex(uint256)", 9536 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 9537 "18160ddd": "totalSupply()", 9538 "23b872dd": "transferFrom(address,address,uint256)", 9539 }, 9540 } 9541 9542 // IERC721EnumerableABI is the input ABI used to generate the binding from. 9543 // Deprecated: Use IERC721EnumerableMetaData.ABI instead. 9544 var IERC721EnumerableABI = IERC721EnumerableMetaData.ABI 9545 9546 // IERC721EnumerableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 9547 const IERC721EnumerableBinRuntime = `` 9548 9549 // IERC721EnumerableFuncSigs maps the 4-byte function signature to its string representation. 9550 // Deprecated: Use IERC721EnumerableMetaData.Sigs instead. 9551 var IERC721EnumerableFuncSigs = IERC721EnumerableMetaData.Sigs 9552 9553 // IERC721Enumerable is an auto generated Go binding around a Klaytn contract. 9554 type IERC721Enumerable struct { 9555 IERC721EnumerableCaller // Read-only binding to the contract 9556 IERC721EnumerableTransactor // Write-only binding to the contract 9557 IERC721EnumerableFilterer // Log filterer for contract events 9558 } 9559 9560 // IERC721EnumerableCaller is an auto generated read-only Go binding around a Klaytn contract. 9561 type IERC721EnumerableCaller struct { 9562 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9563 } 9564 9565 // IERC721EnumerableTransactor is an auto generated write-only Go binding around a Klaytn contract. 9566 type IERC721EnumerableTransactor struct { 9567 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9568 } 9569 9570 // IERC721EnumerableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 9571 type IERC721EnumerableFilterer struct { 9572 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9573 } 9574 9575 // IERC721EnumerableSession is an auto generated Go binding around a Klaytn contract, 9576 // with pre-set call and transact options. 9577 type IERC721EnumerableSession struct { 9578 Contract *IERC721Enumerable // Generic contract binding to set the session for 9579 CallOpts bind.CallOpts // Call options to use throughout this session 9580 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 9581 } 9582 9583 // IERC721EnumerableCallerSession is an auto generated read-only Go binding around a Klaytn contract, 9584 // with pre-set call options. 9585 type IERC721EnumerableCallerSession struct { 9586 Contract *IERC721EnumerableCaller // Generic contract caller binding to set the session for 9587 CallOpts bind.CallOpts // Call options to use throughout this session 9588 } 9589 9590 // IERC721EnumerableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 9591 // with pre-set transact options. 9592 type IERC721EnumerableTransactorSession struct { 9593 Contract *IERC721EnumerableTransactor // Generic contract transactor binding to set the session for 9594 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 9595 } 9596 9597 // IERC721EnumerableRaw is an auto generated low-level Go binding around a Klaytn contract. 9598 type IERC721EnumerableRaw struct { 9599 Contract *IERC721Enumerable // Generic contract binding to access the raw methods on 9600 } 9601 9602 // IERC721EnumerableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 9603 type IERC721EnumerableCallerRaw struct { 9604 Contract *IERC721EnumerableCaller // Generic read-only contract binding to access the raw methods on 9605 } 9606 9607 // IERC721EnumerableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 9608 type IERC721EnumerableTransactorRaw struct { 9609 Contract *IERC721EnumerableTransactor // Generic write-only contract binding to access the raw methods on 9610 } 9611 9612 // NewIERC721Enumerable creates a new instance of IERC721Enumerable, bound to a specific deployed contract. 9613 func NewIERC721Enumerable(address common.Address, backend bind.ContractBackend) (*IERC721Enumerable, error) { 9614 contract, err := bindIERC721Enumerable(address, backend, backend, backend) 9615 if err != nil { 9616 return nil, err 9617 } 9618 return &IERC721Enumerable{IERC721EnumerableCaller: IERC721EnumerableCaller{contract: contract}, IERC721EnumerableTransactor: IERC721EnumerableTransactor{contract: contract}, IERC721EnumerableFilterer: IERC721EnumerableFilterer{contract: contract}}, nil 9619 } 9620 9621 // NewIERC721EnumerableCaller creates a new read-only instance of IERC721Enumerable, bound to a specific deployed contract. 9622 func NewIERC721EnumerableCaller(address common.Address, caller bind.ContractCaller) (*IERC721EnumerableCaller, error) { 9623 contract, err := bindIERC721Enumerable(address, caller, nil, nil) 9624 if err != nil { 9625 return nil, err 9626 } 9627 return &IERC721EnumerableCaller{contract: contract}, nil 9628 } 9629 9630 // NewIERC721EnumerableTransactor creates a new write-only instance of IERC721Enumerable, bound to a specific deployed contract. 9631 func NewIERC721EnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721EnumerableTransactor, error) { 9632 contract, err := bindIERC721Enumerable(address, nil, transactor, nil) 9633 if err != nil { 9634 return nil, err 9635 } 9636 return &IERC721EnumerableTransactor{contract: contract}, nil 9637 } 9638 9639 // NewIERC721EnumerableFilterer creates a new log filterer instance of IERC721Enumerable, bound to a specific deployed contract. 9640 func NewIERC721EnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721EnumerableFilterer, error) { 9641 contract, err := bindIERC721Enumerable(address, nil, nil, filterer) 9642 if err != nil { 9643 return nil, err 9644 } 9645 return &IERC721EnumerableFilterer{contract: contract}, nil 9646 } 9647 9648 // bindIERC721Enumerable binds a generic wrapper to an already deployed contract. 9649 func bindIERC721Enumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 9650 parsed, err := IERC721EnumerableMetaData.GetAbi() 9651 if err != nil { 9652 return nil, err 9653 } 9654 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 9655 } 9656 9657 // Call invokes the (constant) contract method with params as input values and 9658 // sets the output to result. The result type might be a single field for simple 9659 // returns, a slice of interfaces for anonymous returns and a struct for named 9660 // returns. 9661 func (_IERC721Enumerable *IERC721EnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 9662 return _IERC721Enumerable.Contract.IERC721EnumerableCaller.contract.Call(opts, result, method, params...) 9663 } 9664 9665 // Transfer initiates a plain transaction to move funds to the contract, calling 9666 // its default method if one is available. 9667 func (_IERC721Enumerable *IERC721EnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 9668 return _IERC721Enumerable.Contract.IERC721EnumerableTransactor.contract.Transfer(opts) 9669 } 9670 9671 // Transact invokes the (paid) contract method with params as input values. 9672 func (_IERC721Enumerable *IERC721EnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 9673 return _IERC721Enumerable.Contract.IERC721EnumerableTransactor.contract.Transact(opts, method, params...) 9674 } 9675 9676 // Call invokes the (constant) contract method with params as input values and 9677 // sets the output to result. The result type might be a single field for simple 9678 // returns, a slice of interfaces for anonymous returns and a struct for named 9679 // returns. 9680 func (_IERC721Enumerable *IERC721EnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 9681 return _IERC721Enumerable.Contract.contract.Call(opts, result, method, params...) 9682 } 9683 9684 // Transfer initiates a plain transaction to move funds to the contract, calling 9685 // its default method if one is available. 9686 func (_IERC721Enumerable *IERC721EnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 9687 return _IERC721Enumerable.Contract.contract.Transfer(opts) 9688 } 9689 9690 // Transact invokes the (paid) contract method with params as input values. 9691 func (_IERC721Enumerable *IERC721EnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 9692 return _IERC721Enumerable.Contract.contract.Transact(opts, method, params...) 9693 } 9694 9695 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 9696 // 9697 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 9698 func (_IERC721Enumerable *IERC721EnumerableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 9699 var out []interface{} 9700 err := _IERC721Enumerable.contract.Call(opts, &out, "balanceOf", owner) 9701 9702 if err != nil { 9703 return *new(*big.Int), err 9704 } 9705 9706 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 9707 9708 return out0, err 9709 9710 } 9711 9712 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 9713 // 9714 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 9715 func (_IERC721Enumerable *IERC721EnumerableSession) BalanceOf(owner common.Address) (*big.Int, error) { 9716 return _IERC721Enumerable.Contract.BalanceOf(&_IERC721Enumerable.CallOpts, owner) 9717 } 9718 9719 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 9720 // 9721 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 9722 func (_IERC721Enumerable *IERC721EnumerableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 9723 return _IERC721Enumerable.Contract.BalanceOf(&_IERC721Enumerable.CallOpts, owner) 9724 } 9725 9726 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 9727 // 9728 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 9729 func (_IERC721Enumerable *IERC721EnumerableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 9730 var out []interface{} 9731 err := _IERC721Enumerable.contract.Call(opts, &out, "getApproved", tokenId) 9732 9733 if err != nil { 9734 return *new(common.Address), err 9735 } 9736 9737 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 9738 9739 return out0, err 9740 9741 } 9742 9743 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 9744 // 9745 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 9746 func (_IERC721Enumerable *IERC721EnumerableSession) GetApproved(tokenId *big.Int) (common.Address, error) { 9747 return _IERC721Enumerable.Contract.GetApproved(&_IERC721Enumerable.CallOpts, tokenId) 9748 } 9749 9750 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 9751 // 9752 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 9753 func (_IERC721Enumerable *IERC721EnumerableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 9754 return _IERC721Enumerable.Contract.GetApproved(&_IERC721Enumerable.CallOpts, tokenId) 9755 } 9756 9757 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 9758 // 9759 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 9760 func (_IERC721Enumerable *IERC721EnumerableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 9761 var out []interface{} 9762 err := _IERC721Enumerable.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 9763 9764 if err != nil { 9765 return *new(bool), err 9766 } 9767 9768 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 9769 9770 return out0, err 9771 9772 } 9773 9774 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 9775 // 9776 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 9777 func (_IERC721Enumerable *IERC721EnumerableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 9778 return _IERC721Enumerable.Contract.IsApprovedForAll(&_IERC721Enumerable.CallOpts, owner, operator) 9779 } 9780 9781 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 9782 // 9783 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 9784 func (_IERC721Enumerable *IERC721EnumerableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 9785 return _IERC721Enumerable.Contract.IsApprovedForAll(&_IERC721Enumerable.CallOpts, owner, operator) 9786 } 9787 9788 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 9789 // 9790 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 9791 func (_IERC721Enumerable *IERC721EnumerableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 9792 var out []interface{} 9793 err := _IERC721Enumerable.contract.Call(opts, &out, "ownerOf", tokenId) 9794 9795 if err != nil { 9796 return *new(common.Address), err 9797 } 9798 9799 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 9800 9801 return out0, err 9802 9803 } 9804 9805 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 9806 // 9807 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 9808 func (_IERC721Enumerable *IERC721EnumerableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 9809 return _IERC721Enumerable.Contract.OwnerOf(&_IERC721Enumerable.CallOpts, tokenId) 9810 } 9811 9812 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 9813 // 9814 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 9815 func (_IERC721Enumerable *IERC721EnumerableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 9816 return _IERC721Enumerable.Contract.OwnerOf(&_IERC721Enumerable.CallOpts, tokenId) 9817 } 9818 9819 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 9820 // 9821 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 9822 func (_IERC721Enumerable *IERC721EnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 9823 var out []interface{} 9824 err := _IERC721Enumerable.contract.Call(opts, &out, "supportsInterface", interfaceId) 9825 9826 if err != nil { 9827 return *new(bool), err 9828 } 9829 9830 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 9831 9832 return out0, err 9833 9834 } 9835 9836 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 9837 // 9838 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 9839 func (_IERC721Enumerable *IERC721EnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 9840 return _IERC721Enumerable.Contract.SupportsInterface(&_IERC721Enumerable.CallOpts, interfaceId) 9841 } 9842 9843 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 9844 // 9845 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 9846 func (_IERC721Enumerable *IERC721EnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 9847 return _IERC721Enumerable.Contract.SupportsInterface(&_IERC721Enumerable.CallOpts, interfaceId) 9848 } 9849 9850 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 9851 // 9852 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 9853 func (_IERC721Enumerable *IERC721EnumerableCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 9854 var out []interface{} 9855 err := _IERC721Enumerable.contract.Call(opts, &out, "tokenByIndex", index) 9856 9857 if err != nil { 9858 return *new(*big.Int), err 9859 } 9860 9861 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 9862 9863 return out0, err 9864 9865 } 9866 9867 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 9868 // 9869 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 9870 func (_IERC721Enumerable *IERC721EnumerableSession) TokenByIndex(index *big.Int) (*big.Int, error) { 9871 return _IERC721Enumerable.Contract.TokenByIndex(&_IERC721Enumerable.CallOpts, index) 9872 } 9873 9874 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 9875 // 9876 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 9877 func (_IERC721Enumerable *IERC721EnumerableCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 9878 return _IERC721Enumerable.Contract.TokenByIndex(&_IERC721Enumerable.CallOpts, index) 9879 } 9880 9881 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 9882 // 9883 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256 tokenId) 9884 func (_IERC721Enumerable *IERC721EnumerableCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 9885 var out []interface{} 9886 err := _IERC721Enumerable.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index) 9887 9888 if err != nil { 9889 return *new(*big.Int), err 9890 } 9891 9892 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 9893 9894 return out0, err 9895 9896 } 9897 9898 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 9899 // 9900 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256 tokenId) 9901 func (_IERC721Enumerable *IERC721EnumerableSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 9902 return _IERC721Enumerable.Contract.TokenOfOwnerByIndex(&_IERC721Enumerable.CallOpts, owner, index) 9903 } 9904 9905 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 9906 // 9907 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256 tokenId) 9908 func (_IERC721Enumerable *IERC721EnumerableCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 9909 return _IERC721Enumerable.Contract.TokenOfOwnerByIndex(&_IERC721Enumerable.CallOpts, owner, index) 9910 } 9911 9912 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 9913 // 9914 // Solidity: function totalSupply() view returns(uint256) 9915 func (_IERC721Enumerable *IERC721EnumerableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 9916 var out []interface{} 9917 err := _IERC721Enumerable.contract.Call(opts, &out, "totalSupply") 9918 9919 if err != nil { 9920 return *new(*big.Int), err 9921 } 9922 9923 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 9924 9925 return out0, err 9926 9927 } 9928 9929 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 9930 // 9931 // Solidity: function totalSupply() view returns(uint256) 9932 func (_IERC721Enumerable *IERC721EnumerableSession) TotalSupply() (*big.Int, error) { 9933 return _IERC721Enumerable.Contract.TotalSupply(&_IERC721Enumerable.CallOpts) 9934 } 9935 9936 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 9937 // 9938 // Solidity: function totalSupply() view returns(uint256) 9939 func (_IERC721Enumerable *IERC721EnumerableCallerSession) TotalSupply() (*big.Int, error) { 9940 return _IERC721Enumerable.Contract.TotalSupply(&_IERC721Enumerable.CallOpts) 9941 } 9942 9943 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 9944 // 9945 // Solidity: function approve(address to, uint256 tokenId) returns() 9946 func (_IERC721Enumerable *IERC721EnumerableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 9947 return _IERC721Enumerable.contract.Transact(opts, "approve", to, tokenId) 9948 } 9949 9950 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 9951 // 9952 // Solidity: function approve(address to, uint256 tokenId) returns() 9953 func (_IERC721Enumerable *IERC721EnumerableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 9954 return _IERC721Enumerable.Contract.Approve(&_IERC721Enumerable.TransactOpts, to, tokenId) 9955 } 9956 9957 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 9958 // 9959 // Solidity: function approve(address to, uint256 tokenId) returns() 9960 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 9961 return _IERC721Enumerable.Contract.Approve(&_IERC721Enumerable.TransactOpts, to, tokenId) 9962 } 9963 9964 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 9965 // 9966 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 9967 func (_IERC721Enumerable *IERC721EnumerableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 9968 return _IERC721Enumerable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 9969 } 9970 9971 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 9972 // 9973 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 9974 func (_IERC721Enumerable *IERC721EnumerableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 9975 return _IERC721Enumerable.Contract.SafeTransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) 9976 } 9977 9978 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 9979 // 9980 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 9981 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 9982 return _IERC721Enumerable.Contract.SafeTransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) 9983 } 9984 9985 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 9986 // 9987 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 9988 func (_IERC721Enumerable *IERC721EnumerableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 9989 return _IERC721Enumerable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) 9990 } 9991 9992 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 9993 // 9994 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 9995 func (_IERC721Enumerable *IERC721EnumerableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 9996 return _IERC721Enumerable.Contract.SafeTransferFrom0(&_IERC721Enumerable.TransactOpts, from, to, tokenId, data) 9997 } 9998 9999 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 10000 // 10001 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 10002 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 10003 return _IERC721Enumerable.Contract.SafeTransferFrom0(&_IERC721Enumerable.TransactOpts, from, to, tokenId, data) 10004 } 10005 10006 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 10007 // 10008 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 10009 func (_IERC721Enumerable *IERC721EnumerableTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { 10010 return _IERC721Enumerable.contract.Transact(opts, "setApprovalForAll", operator, _approved) 10011 } 10012 10013 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 10014 // 10015 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 10016 func (_IERC721Enumerable *IERC721EnumerableSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 10017 return _IERC721Enumerable.Contract.SetApprovalForAll(&_IERC721Enumerable.TransactOpts, operator, _approved) 10018 } 10019 10020 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 10021 // 10022 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 10023 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 10024 return _IERC721Enumerable.Contract.SetApprovalForAll(&_IERC721Enumerable.TransactOpts, operator, _approved) 10025 } 10026 10027 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 10028 // 10029 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 10030 func (_IERC721Enumerable *IERC721EnumerableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10031 return _IERC721Enumerable.contract.Transact(opts, "transferFrom", from, to, tokenId) 10032 } 10033 10034 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 10035 // 10036 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 10037 func (_IERC721Enumerable *IERC721EnumerableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10038 return _IERC721Enumerable.Contract.TransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) 10039 } 10040 10041 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 10042 // 10043 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 10044 func (_IERC721Enumerable *IERC721EnumerableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10045 return _IERC721Enumerable.Contract.TransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId) 10046 } 10047 10048 // 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. 10049 type IERC721EnumerableApprovalIterator struct { 10050 Event *IERC721EnumerableApproval // Event containing the contract specifics and raw log 10051 10052 contract *bind.BoundContract // Generic contract to use for unpacking event data 10053 event string // Event name to use for unpacking event data 10054 10055 logs chan types.Log // Log channel receiving the found contract events 10056 sub klaytn.Subscription // Subscription for errors, completion and termination 10057 done bool // Whether the subscription completed delivering logs 10058 fail error // Occurred error to stop iteration 10059 } 10060 10061 // Next advances the iterator to the subsequent event, returning whether there 10062 // are any more events found. In case of a retrieval or parsing error, false is 10063 // returned and Error() can be queried for the exact failure. 10064 func (it *IERC721EnumerableApprovalIterator) Next() bool { 10065 // If the iterator failed, stop iterating 10066 if it.fail != nil { 10067 return false 10068 } 10069 // If the iterator completed, deliver directly whatever's available 10070 if it.done { 10071 select { 10072 case log := <-it.logs: 10073 it.Event = new(IERC721EnumerableApproval) 10074 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10075 it.fail = err 10076 return false 10077 } 10078 it.Event.Raw = log 10079 return true 10080 10081 default: 10082 return false 10083 } 10084 } 10085 // Iterator still in progress, wait for either a data or an error event 10086 select { 10087 case log := <-it.logs: 10088 it.Event = new(IERC721EnumerableApproval) 10089 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10090 it.fail = err 10091 return false 10092 } 10093 it.Event.Raw = log 10094 return true 10095 10096 case err := <-it.sub.Err(): 10097 it.done = true 10098 it.fail = err 10099 return it.Next() 10100 } 10101 } 10102 10103 // Error returns any retrieval or parsing error occurred during filtering. 10104 func (it *IERC721EnumerableApprovalIterator) Error() error { 10105 return it.fail 10106 } 10107 10108 // Close terminates the iteration process, releasing any pending underlying 10109 // resources. 10110 func (it *IERC721EnumerableApprovalIterator) Close() error { 10111 it.sub.Unsubscribe() 10112 return nil 10113 } 10114 10115 // IERC721EnumerableApproval represents a Approval event raised by the IERC721Enumerable contract. 10116 type IERC721EnumerableApproval struct { 10117 Owner common.Address 10118 Approved common.Address 10119 TokenId *big.Int 10120 Raw types.Log // Blockchain specific contextual infos 10121 } 10122 10123 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 10124 // 10125 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 10126 func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721EnumerableApprovalIterator, error) { 10127 10128 var ownerRule []interface{} 10129 for _, ownerItem := range owner { 10130 ownerRule = append(ownerRule, ownerItem) 10131 } 10132 var approvedRule []interface{} 10133 for _, approvedItem := range approved { 10134 approvedRule = append(approvedRule, approvedItem) 10135 } 10136 var tokenIdRule []interface{} 10137 for _, tokenIdItem := range tokenId { 10138 tokenIdRule = append(tokenIdRule, tokenIdItem) 10139 } 10140 10141 logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 10142 if err != nil { 10143 return nil, err 10144 } 10145 return &IERC721EnumerableApprovalIterator{contract: _IERC721Enumerable.contract, event: "Approval", logs: logs, sub: sub}, nil 10146 } 10147 10148 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 10149 // 10150 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 10151 func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 10152 10153 var ownerRule []interface{} 10154 for _, ownerItem := range owner { 10155 ownerRule = append(ownerRule, ownerItem) 10156 } 10157 var approvedRule []interface{} 10158 for _, approvedItem := range approved { 10159 approvedRule = append(approvedRule, approvedItem) 10160 } 10161 var tokenIdRule []interface{} 10162 for _, tokenIdItem := range tokenId { 10163 tokenIdRule = append(tokenIdRule, tokenIdItem) 10164 } 10165 10166 logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 10167 if err != nil { 10168 return nil, err 10169 } 10170 return event.NewSubscription(func(quit <-chan struct{}) error { 10171 defer sub.Unsubscribe() 10172 for { 10173 select { 10174 case log := <-logs: 10175 // New log arrived, parse the event and forward to the user 10176 event := new(IERC721EnumerableApproval) 10177 if err := _IERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { 10178 return err 10179 } 10180 event.Raw = log 10181 10182 select { 10183 case sink <- event: 10184 case err := <-sub.Err(): 10185 return err 10186 case <-quit: 10187 return nil 10188 } 10189 case err := <-sub.Err(): 10190 return err 10191 case <-quit: 10192 return nil 10193 } 10194 } 10195 }), nil 10196 } 10197 10198 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 10199 // 10200 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 10201 func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseApproval(log types.Log) (*IERC721EnumerableApproval, error) { 10202 event := new(IERC721EnumerableApproval) 10203 if err := _IERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { 10204 return nil, err 10205 } 10206 return event, nil 10207 } 10208 10209 // 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. 10210 type IERC721EnumerableApprovalForAllIterator struct { 10211 Event *IERC721EnumerableApprovalForAll // Event containing the contract specifics and raw log 10212 10213 contract *bind.BoundContract // Generic contract to use for unpacking event data 10214 event string // Event name to use for unpacking event data 10215 10216 logs chan types.Log // Log channel receiving the found contract events 10217 sub klaytn.Subscription // Subscription for errors, completion and termination 10218 done bool // Whether the subscription completed delivering logs 10219 fail error // Occurred error to stop iteration 10220 } 10221 10222 // Next advances the iterator to the subsequent event, returning whether there 10223 // are any more events found. In case of a retrieval or parsing error, false is 10224 // returned and Error() can be queried for the exact failure. 10225 func (it *IERC721EnumerableApprovalForAllIterator) Next() bool { 10226 // If the iterator failed, stop iterating 10227 if it.fail != nil { 10228 return false 10229 } 10230 // If the iterator completed, deliver directly whatever's available 10231 if it.done { 10232 select { 10233 case log := <-it.logs: 10234 it.Event = new(IERC721EnumerableApprovalForAll) 10235 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10236 it.fail = err 10237 return false 10238 } 10239 it.Event.Raw = log 10240 return true 10241 10242 default: 10243 return false 10244 } 10245 } 10246 // Iterator still in progress, wait for either a data or an error event 10247 select { 10248 case log := <-it.logs: 10249 it.Event = new(IERC721EnumerableApprovalForAll) 10250 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10251 it.fail = err 10252 return false 10253 } 10254 it.Event.Raw = log 10255 return true 10256 10257 case err := <-it.sub.Err(): 10258 it.done = true 10259 it.fail = err 10260 return it.Next() 10261 } 10262 } 10263 10264 // Error returns any retrieval or parsing error occurred during filtering. 10265 func (it *IERC721EnumerableApprovalForAllIterator) Error() error { 10266 return it.fail 10267 } 10268 10269 // Close terminates the iteration process, releasing any pending underlying 10270 // resources. 10271 func (it *IERC721EnumerableApprovalForAllIterator) Close() error { 10272 it.sub.Unsubscribe() 10273 return nil 10274 } 10275 10276 // IERC721EnumerableApprovalForAll represents a ApprovalForAll event raised by the IERC721Enumerable contract. 10277 type IERC721EnumerableApprovalForAll struct { 10278 Owner common.Address 10279 Operator common.Address 10280 Approved bool 10281 Raw types.Log // Blockchain specific contextual infos 10282 } 10283 10284 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 10285 // 10286 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 10287 func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721EnumerableApprovalForAllIterator, error) { 10288 10289 var ownerRule []interface{} 10290 for _, ownerItem := range owner { 10291 ownerRule = append(ownerRule, ownerItem) 10292 } 10293 var operatorRule []interface{} 10294 for _, operatorItem := range operator { 10295 operatorRule = append(operatorRule, operatorItem) 10296 } 10297 10298 logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 10299 if err != nil { 10300 return nil, err 10301 } 10302 return &IERC721EnumerableApprovalForAllIterator{contract: _IERC721Enumerable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 10303 } 10304 10305 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 10306 // 10307 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 10308 func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 10309 10310 var ownerRule []interface{} 10311 for _, ownerItem := range owner { 10312 ownerRule = append(ownerRule, ownerItem) 10313 } 10314 var operatorRule []interface{} 10315 for _, operatorItem := range operator { 10316 operatorRule = append(operatorRule, operatorItem) 10317 } 10318 10319 logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 10320 if err != nil { 10321 return nil, err 10322 } 10323 return event.NewSubscription(func(quit <-chan struct{}) error { 10324 defer sub.Unsubscribe() 10325 for { 10326 select { 10327 case log := <-logs: 10328 // New log arrived, parse the event and forward to the user 10329 event := new(IERC721EnumerableApprovalForAll) 10330 if err := _IERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 10331 return err 10332 } 10333 event.Raw = log 10334 10335 select { 10336 case sink <- event: 10337 case err := <-sub.Err(): 10338 return err 10339 case <-quit: 10340 return nil 10341 } 10342 case err := <-sub.Err(): 10343 return err 10344 case <-quit: 10345 return nil 10346 } 10347 } 10348 }), nil 10349 } 10350 10351 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 10352 // 10353 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 10354 func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseApprovalForAll(log types.Log) (*IERC721EnumerableApprovalForAll, error) { 10355 event := new(IERC721EnumerableApprovalForAll) 10356 if err := _IERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 10357 return nil, err 10358 } 10359 return event, nil 10360 } 10361 10362 // 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. 10363 type IERC721EnumerableTransferIterator struct { 10364 Event *IERC721EnumerableTransfer // Event containing the contract specifics and raw log 10365 10366 contract *bind.BoundContract // Generic contract to use for unpacking event data 10367 event string // Event name to use for unpacking event data 10368 10369 logs chan types.Log // Log channel receiving the found contract events 10370 sub klaytn.Subscription // Subscription for errors, completion and termination 10371 done bool // Whether the subscription completed delivering logs 10372 fail error // Occurred error to stop iteration 10373 } 10374 10375 // Next advances the iterator to the subsequent event, returning whether there 10376 // are any more events found. In case of a retrieval or parsing error, false is 10377 // returned and Error() can be queried for the exact failure. 10378 func (it *IERC721EnumerableTransferIterator) Next() bool { 10379 // If the iterator failed, stop iterating 10380 if it.fail != nil { 10381 return false 10382 } 10383 // If the iterator completed, deliver directly whatever's available 10384 if it.done { 10385 select { 10386 case log := <-it.logs: 10387 it.Event = new(IERC721EnumerableTransfer) 10388 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10389 it.fail = err 10390 return false 10391 } 10392 it.Event.Raw = log 10393 return true 10394 10395 default: 10396 return false 10397 } 10398 } 10399 // Iterator still in progress, wait for either a data or an error event 10400 select { 10401 case log := <-it.logs: 10402 it.Event = new(IERC721EnumerableTransfer) 10403 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10404 it.fail = err 10405 return false 10406 } 10407 it.Event.Raw = log 10408 return true 10409 10410 case err := <-it.sub.Err(): 10411 it.done = true 10412 it.fail = err 10413 return it.Next() 10414 } 10415 } 10416 10417 // Error returns any retrieval or parsing error occurred during filtering. 10418 func (it *IERC721EnumerableTransferIterator) Error() error { 10419 return it.fail 10420 } 10421 10422 // Close terminates the iteration process, releasing any pending underlying 10423 // resources. 10424 func (it *IERC721EnumerableTransferIterator) Close() error { 10425 it.sub.Unsubscribe() 10426 return nil 10427 } 10428 10429 // IERC721EnumerableTransfer represents a Transfer event raised by the IERC721Enumerable contract. 10430 type IERC721EnumerableTransfer struct { 10431 From common.Address 10432 To common.Address 10433 TokenId *big.Int 10434 Raw types.Log // Blockchain specific contextual infos 10435 } 10436 10437 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 10438 // 10439 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 10440 func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721EnumerableTransferIterator, error) { 10441 10442 var fromRule []interface{} 10443 for _, fromItem := range from { 10444 fromRule = append(fromRule, fromItem) 10445 } 10446 var toRule []interface{} 10447 for _, toItem := range to { 10448 toRule = append(toRule, toItem) 10449 } 10450 var tokenIdRule []interface{} 10451 for _, tokenIdItem := range tokenId { 10452 tokenIdRule = append(tokenIdRule, tokenIdItem) 10453 } 10454 10455 logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 10456 if err != nil { 10457 return nil, err 10458 } 10459 return &IERC721EnumerableTransferIterator{contract: _IERC721Enumerable.contract, event: "Transfer", logs: logs, sub: sub}, nil 10460 } 10461 10462 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 10463 // 10464 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 10465 func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 10466 10467 var fromRule []interface{} 10468 for _, fromItem := range from { 10469 fromRule = append(fromRule, fromItem) 10470 } 10471 var toRule []interface{} 10472 for _, toItem := range to { 10473 toRule = append(toRule, toItem) 10474 } 10475 var tokenIdRule []interface{} 10476 for _, tokenIdItem := range tokenId { 10477 tokenIdRule = append(tokenIdRule, tokenIdItem) 10478 } 10479 10480 logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 10481 if err != nil { 10482 return nil, err 10483 } 10484 return event.NewSubscription(func(quit <-chan struct{}) error { 10485 defer sub.Unsubscribe() 10486 for { 10487 select { 10488 case log := <-logs: 10489 // New log arrived, parse the event and forward to the user 10490 event := new(IERC721EnumerableTransfer) 10491 if err := _IERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { 10492 return err 10493 } 10494 event.Raw = log 10495 10496 select { 10497 case sink <- event: 10498 case err := <-sub.Err(): 10499 return err 10500 case <-quit: 10501 return nil 10502 } 10503 case err := <-sub.Err(): 10504 return err 10505 case <-quit: 10506 return nil 10507 } 10508 } 10509 }), nil 10510 } 10511 10512 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 10513 // 10514 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 10515 func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseTransfer(log types.Log) (*IERC721EnumerableTransfer, error) { 10516 event := new(IERC721EnumerableTransfer) 10517 if err := _IERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { 10518 return nil, err 10519 } 10520 return event, nil 10521 } 10522 10523 // IERC721MetadataMetaData contains all meta data concerning the IERC721Metadata contract. 10524 var IERC721MetadataMetaData = &bind.MetaData{ 10525 ABI: "[{\"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\"}]", 10526 Sigs: map[string]string{ 10527 "095ea7b3": "approve(address,uint256)", 10528 "70a08231": "balanceOf(address)", 10529 "081812fc": "getApproved(uint256)", 10530 "e985e9c5": "isApprovedForAll(address,address)", 10531 "06fdde03": "name()", 10532 "6352211e": "ownerOf(uint256)", 10533 "42842e0e": "safeTransferFrom(address,address,uint256)", 10534 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 10535 "a22cb465": "setApprovalForAll(address,bool)", 10536 "01ffc9a7": "supportsInterface(bytes4)", 10537 "95d89b41": "symbol()", 10538 "c87b56dd": "tokenURI(uint256)", 10539 "23b872dd": "transferFrom(address,address,uint256)", 10540 }, 10541 } 10542 10543 // IERC721MetadataABI is the input ABI used to generate the binding from. 10544 // Deprecated: Use IERC721MetadataMetaData.ABI instead. 10545 var IERC721MetadataABI = IERC721MetadataMetaData.ABI 10546 10547 // IERC721MetadataBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 10548 const IERC721MetadataBinRuntime = `` 10549 10550 // IERC721MetadataFuncSigs maps the 4-byte function signature to its string representation. 10551 // Deprecated: Use IERC721MetadataMetaData.Sigs instead. 10552 var IERC721MetadataFuncSigs = IERC721MetadataMetaData.Sigs 10553 10554 // IERC721Metadata is an auto generated Go binding around a Klaytn contract. 10555 type IERC721Metadata struct { 10556 IERC721MetadataCaller // Read-only binding to the contract 10557 IERC721MetadataTransactor // Write-only binding to the contract 10558 IERC721MetadataFilterer // Log filterer for contract events 10559 } 10560 10561 // IERC721MetadataCaller is an auto generated read-only Go binding around a Klaytn contract. 10562 type IERC721MetadataCaller struct { 10563 contract *bind.BoundContract // Generic contract wrapper for the low level calls 10564 } 10565 10566 // IERC721MetadataTransactor is an auto generated write-only Go binding around a Klaytn contract. 10567 type IERC721MetadataTransactor struct { 10568 contract *bind.BoundContract // Generic contract wrapper for the low level calls 10569 } 10570 10571 // IERC721MetadataFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 10572 type IERC721MetadataFilterer struct { 10573 contract *bind.BoundContract // Generic contract wrapper for the low level calls 10574 } 10575 10576 // IERC721MetadataSession is an auto generated Go binding around a Klaytn contract, 10577 // with pre-set call and transact options. 10578 type IERC721MetadataSession struct { 10579 Contract *IERC721Metadata // Generic contract binding to set the session for 10580 CallOpts bind.CallOpts // Call options to use throughout this session 10581 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 10582 } 10583 10584 // IERC721MetadataCallerSession is an auto generated read-only Go binding around a Klaytn contract, 10585 // with pre-set call options. 10586 type IERC721MetadataCallerSession struct { 10587 Contract *IERC721MetadataCaller // Generic contract caller binding to set the session for 10588 CallOpts bind.CallOpts // Call options to use throughout this session 10589 } 10590 10591 // IERC721MetadataTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 10592 // with pre-set transact options. 10593 type IERC721MetadataTransactorSession struct { 10594 Contract *IERC721MetadataTransactor // Generic contract transactor binding to set the session for 10595 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 10596 } 10597 10598 // IERC721MetadataRaw is an auto generated low-level Go binding around a Klaytn contract. 10599 type IERC721MetadataRaw struct { 10600 Contract *IERC721Metadata // Generic contract binding to access the raw methods on 10601 } 10602 10603 // IERC721MetadataCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 10604 type IERC721MetadataCallerRaw struct { 10605 Contract *IERC721MetadataCaller // Generic read-only contract binding to access the raw methods on 10606 } 10607 10608 // IERC721MetadataTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 10609 type IERC721MetadataTransactorRaw struct { 10610 Contract *IERC721MetadataTransactor // Generic write-only contract binding to access the raw methods on 10611 } 10612 10613 // NewIERC721Metadata creates a new instance of IERC721Metadata, bound to a specific deployed contract. 10614 func NewIERC721Metadata(address common.Address, backend bind.ContractBackend) (*IERC721Metadata, error) { 10615 contract, err := bindIERC721Metadata(address, backend, backend, backend) 10616 if err != nil { 10617 return nil, err 10618 } 10619 return &IERC721Metadata{IERC721MetadataCaller: IERC721MetadataCaller{contract: contract}, IERC721MetadataTransactor: IERC721MetadataTransactor{contract: contract}, IERC721MetadataFilterer: IERC721MetadataFilterer{contract: contract}}, nil 10620 } 10621 10622 // NewIERC721MetadataCaller creates a new read-only instance of IERC721Metadata, bound to a specific deployed contract. 10623 func NewIERC721MetadataCaller(address common.Address, caller bind.ContractCaller) (*IERC721MetadataCaller, error) { 10624 contract, err := bindIERC721Metadata(address, caller, nil, nil) 10625 if err != nil { 10626 return nil, err 10627 } 10628 return &IERC721MetadataCaller{contract: contract}, nil 10629 } 10630 10631 // NewIERC721MetadataTransactor creates a new write-only instance of IERC721Metadata, bound to a specific deployed contract. 10632 func NewIERC721MetadataTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721MetadataTransactor, error) { 10633 contract, err := bindIERC721Metadata(address, nil, transactor, nil) 10634 if err != nil { 10635 return nil, err 10636 } 10637 return &IERC721MetadataTransactor{contract: contract}, nil 10638 } 10639 10640 // NewIERC721MetadataFilterer creates a new log filterer instance of IERC721Metadata, bound to a specific deployed contract. 10641 func NewIERC721MetadataFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721MetadataFilterer, error) { 10642 contract, err := bindIERC721Metadata(address, nil, nil, filterer) 10643 if err != nil { 10644 return nil, err 10645 } 10646 return &IERC721MetadataFilterer{contract: contract}, nil 10647 } 10648 10649 // bindIERC721Metadata binds a generic wrapper to an already deployed contract. 10650 func bindIERC721Metadata(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 10651 parsed, err := IERC721MetadataMetaData.GetAbi() 10652 if err != nil { 10653 return nil, err 10654 } 10655 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 10656 } 10657 10658 // Call invokes the (constant) contract method with params as input values and 10659 // sets the output to result. The result type might be a single field for simple 10660 // returns, a slice of interfaces for anonymous returns and a struct for named 10661 // returns. 10662 func (_IERC721Metadata *IERC721MetadataRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 10663 return _IERC721Metadata.Contract.IERC721MetadataCaller.contract.Call(opts, result, method, params...) 10664 } 10665 10666 // Transfer initiates a plain transaction to move funds to the contract, calling 10667 // its default method if one is available. 10668 func (_IERC721Metadata *IERC721MetadataRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 10669 return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transfer(opts) 10670 } 10671 10672 // Transact invokes the (paid) contract method with params as input values. 10673 func (_IERC721Metadata *IERC721MetadataRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 10674 return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transact(opts, method, params...) 10675 } 10676 10677 // Call invokes the (constant) contract method with params as input values and 10678 // sets the output to result. The result type might be a single field for simple 10679 // returns, a slice of interfaces for anonymous returns and a struct for named 10680 // returns. 10681 func (_IERC721Metadata *IERC721MetadataCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 10682 return _IERC721Metadata.Contract.contract.Call(opts, result, method, params...) 10683 } 10684 10685 // Transfer initiates a plain transaction to move funds to the contract, calling 10686 // its default method if one is available. 10687 func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 10688 return _IERC721Metadata.Contract.contract.Transfer(opts) 10689 } 10690 10691 // Transact invokes the (paid) contract method with params as input values. 10692 func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 10693 return _IERC721Metadata.Contract.contract.Transact(opts, method, params...) 10694 } 10695 10696 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 10697 // 10698 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 10699 func (_IERC721Metadata *IERC721MetadataCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 10700 var out []interface{} 10701 err := _IERC721Metadata.contract.Call(opts, &out, "balanceOf", owner) 10702 10703 if err != nil { 10704 return *new(*big.Int), err 10705 } 10706 10707 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 10708 10709 return out0, err 10710 10711 } 10712 10713 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 10714 // 10715 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 10716 func (_IERC721Metadata *IERC721MetadataSession) BalanceOf(owner common.Address) (*big.Int, error) { 10717 return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, owner) 10718 } 10719 10720 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 10721 // 10722 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 10723 func (_IERC721Metadata *IERC721MetadataCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 10724 return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, owner) 10725 } 10726 10727 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 10728 // 10729 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 10730 func (_IERC721Metadata *IERC721MetadataCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 10731 var out []interface{} 10732 err := _IERC721Metadata.contract.Call(opts, &out, "getApproved", tokenId) 10733 10734 if err != nil { 10735 return *new(common.Address), err 10736 } 10737 10738 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 10739 10740 return out0, err 10741 10742 } 10743 10744 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 10745 // 10746 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 10747 func (_IERC721Metadata *IERC721MetadataSession) GetApproved(tokenId *big.Int) (common.Address, error) { 10748 return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, tokenId) 10749 } 10750 10751 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 10752 // 10753 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 10754 func (_IERC721Metadata *IERC721MetadataCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 10755 return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, tokenId) 10756 } 10757 10758 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 10759 // 10760 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 10761 func (_IERC721Metadata *IERC721MetadataCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 10762 var out []interface{} 10763 err := _IERC721Metadata.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 10764 10765 if err != nil { 10766 return *new(bool), err 10767 } 10768 10769 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 10770 10771 return out0, err 10772 10773 } 10774 10775 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 10776 // 10777 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 10778 func (_IERC721Metadata *IERC721MetadataSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 10779 return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, owner, operator) 10780 } 10781 10782 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 10783 // 10784 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 10785 func (_IERC721Metadata *IERC721MetadataCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 10786 return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, owner, operator) 10787 } 10788 10789 // Name is a free data retrieval call binding the contract method 0x06fdde03. 10790 // 10791 // Solidity: function name() view returns(string) 10792 func (_IERC721Metadata *IERC721MetadataCaller) Name(opts *bind.CallOpts) (string, error) { 10793 var out []interface{} 10794 err := _IERC721Metadata.contract.Call(opts, &out, "name") 10795 10796 if err != nil { 10797 return *new(string), err 10798 } 10799 10800 out0 := *abi.ConvertType(out[0], new(string)).(*string) 10801 10802 return out0, err 10803 10804 } 10805 10806 // Name is a free data retrieval call binding the contract method 0x06fdde03. 10807 // 10808 // Solidity: function name() view returns(string) 10809 func (_IERC721Metadata *IERC721MetadataSession) Name() (string, error) { 10810 return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts) 10811 } 10812 10813 // Name is a free data retrieval call binding the contract method 0x06fdde03. 10814 // 10815 // Solidity: function name() view returns(string) 10816 func (_IERC721Metadata *IERC721MetadataCallerSession) Name() (string, error) { 10817 return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts) 10818 } 10819 10820 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 10821 // 10822 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 10823 func (_IERC721Metadata *IERC721MetadataCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 10824 var out []interface{} 10825 err := _IERC721Metadata.contract.Call(opts, &out, "ownerOf", tokenId) 10826 10827 if err != nil { 10828 return *new(common.Address), err 10829 } 10830 10831 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 10832 10833 return out0, err 10834 10835 } 10836 10837 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 10838 // 10839 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 10840 func (_IERC721Metadata *IERC721MetadataSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 10841 return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, tokenId) 10842 } 10843 10844 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 10845 // 10846 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 10847 func (_IERC721Metadata *IERC721MetadataCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 10848 return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, tokenId) 10849 } 10850 10851 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 10852 // 10853 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 10854 func (_IERC721Metadata *IERC721MetadataCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 10855 var out []interface{} 10856 err := _IERC721Metadata.contract.Call(opts, &out, "supportsInterface", interfaceId) 10857 10858 if err != nil { 10859 return *new(bool), err 10860 } 10861 10862 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 10863 10864 return out0, err 10865 10866 } 10867 10868 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 10869 // 10870 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 10871 func (_IERC721Metadata *IERC721MetadataSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 10872 return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceId) 10873 } 10874 10875 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 10876 // 10877 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 10878 func (_IERC721Metadata *IERC721MetadataCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 10879 return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceId) 10880 } 10881 10882 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 10883 // 10884 // Solidity: function symbol() view returns(string) 10885 func (_IERC721Metadata *IERC721MetadataCaller) Symbol(opts *bind.CallOpts) (string, error) { 10886 var out []interface{} 10887 err := _IERC721Metadata.contract.Call(opts, &out, "symbol") 10888 10889 if err != nil { 10890 return *new(string), err 10891 } 10892 10893 out0 := *abi.ConvertType(out[0], new(string)).(*string) 10894 10895 return out0, err 10896 10897 } 10898 10899 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 10900 // 10901 // Solidity: function symbol() view returns(string) 10902 func (_IERC721Metadata *IERC721MetadataSession) Symbol() (string, error) { 10903 return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts) 10904 } 10905 10906 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 10907 // 10908 // Solidity: function symbol() view returns(string) 10909 func (_IERC721Metadata *IERC721MetadataCallerSession) Symbol() (string, error) { 10910 return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts) 10911 } 10912 10913 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 10914 // 10915 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 10916 func (_IERC721Metadata *IERC721MetadataCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 10917 var out []interface{} 10918 err := _IERC721Metadata.contract.Call(opts, &out, "tokenURI", tokenId) 10919 10920 if err != nil { 10921 return *new(string), err 10922 } 10923 10924 out0 := *abi.ConvertType(out[0], new(string)).(*string) 10925 10926 return out0, err 10927 10928 } 10929 10930 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 10931 // 10932 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 10933 func (_IERC721Metadata *IERC721MetadataSession) TokenURI(tokenId *big.Int) (string, error) { 10934 return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, tokenId) 10935 } 10936 10937 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 10938 // 10939 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 10940 func (_IERC721Metadata *IERC721MetadataCallerSession) TokenURI(tokenId *big.Int) (string, error) { 10941 return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, tokenId) 10942 } 10943 10944 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 10945 // 10946 // Solidity: function approve(address to, uint256 tokenId) returns() 10947 func (_IERC721Metadata *IERC721MetadataTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10948 return _IERC721Metadata.contract.Transact(opts, "approve", to, tokenId) 10949 } 10950 10951 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 10952 // 10953 // Solidity: function approve(address to, uint256 tokenId) returns() 10954 func (_IERC721Metadata *IERC721MetadataSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10955 return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, to, tokenId) 10956 } 10957 10958 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 10959 // 10960 // Solidity: function approve(address to, uint256 tokenId) returns() 10961 func (_IERC721Metadata *IERC721MetadataTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10962 return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, to, tokenId) 10963 } 10964 10965 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 10966 // 10967 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 10968 func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10969 return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 10970 } 10971 10972 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 10973 // 10974 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 10975 func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10976 return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) 10977 } 10978 10979 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 10980 // 10981 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 10982 func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 10983 return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) 10984 } 10985 10986 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 10987 // 10988 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 10989 func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 10990 return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) 10991 } 10992 10993 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 10994 // 10995 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 10996 func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 10997 return _IERC721Metadata.Contract.SafeTransferFrom0(&_IERC721Metadata.TransactOpts, from, to, tokenId, data) 10998 } 10999 11000 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 11001 // 11002 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 11003 func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 11004 return _IERC721Metadata.Contract.SafeTransferFrom0(&_IERC721Metadata.TransactOpts, from, to, tokenId, data) 11005 } 11006 11007 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 11008 // 11009 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 11010 func (_IERC721Metadata *IERC721MetadataTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { 11011 return _IERC721Metadata.contract.Transact(opts, "setApprovalForAll", operator, _approved) 11012 } 11013 11014 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 11015 // 11016 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 11017 func (_IERC721Metadata *IERC721MetadataSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 11018 return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, operator, _approved) 11019 } 11020 11021 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 11022 // 11023 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 11024 func (_IERC721Metadata *IERC721MetadataTransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 11025 return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, operator, _approved) 11026 } 11027 11028 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 11029 // 11030 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 11031 func (_IERC721Metadata *IERC721MetadataTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 11032 return _IERC721Metadata.contract.Transact(opts, "transferFrom", from, to, tokenId) 11033 } 11034 11035 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 11036 // 11037 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 11038 func (_IERC721Metadata *IERC721MetadataSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 11039 return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) 11040 } 11041 11042 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 11043 // 11044 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 11045 func (_IERC721Metadata *IERC721MetadataTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 11046 return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) 11047 } 11048 11049 // 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. 11050 type IERC721MetadataApprovalIterator struct { 11051 Event *IERC721MetadataApproval // Event containing the contract specifics and raw log 11052 11053 contract *bind.BoundContract // Generic contract to use for unpacking event data 11054 event string // Event name to use for unpacking event data 11055 11056 logs chan types.Log // Log channel receiving the found contract events 11057 sub klaytn.Subscription // Subscription for errors, completion and termination 11058 done bool // Whether the subscription completed delivering logs 11059 fail error // Occurred error to stop iteration 11060 } 11061 11062 // Next advances the iterator to the subsequent event, returning whether there 11063 // are any more events found. In case of a retrieval or parsing error, false is 11064 // returned and Error() can be queried for the exact failure. 11065 func (it *IERC721MetadataApprovalIterator) Next() bool { 11066 // If the iterator failed, stop iterating 11067 if it.fail != nil { 11068 return false 11069 } 11070 // If the iterator completed, deliver directly whatever's available 11071 if it.done { 11072 select { 11073 case log := <-it.logs: 11074 it.Event = new(IERC721MetadataApproval) 11075 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11076 it.fail = err 11077 return false 11078 } 11079 it.Event.Raw = log 11080 return true 11081 11082 default: 11083 return false 11084 } 11085 } 11086 // Iterator still in progress, wait for either a data or an error event 11087 select { 11088 case log := <-it.logs: 11089 it.Event = new(IERC721MetadataApproval) 11090 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11091 it.fail = err 11092 return false 11093 } 11094 it.Event.Raw = log 11095 return true 11096 11097 case err := <-it.sub.Err(): 11098 it.done = true 11099 it.fail = err 11100 return it.Next() 11101 } 11102 } 11103 11104 // Error returns any retrieval or parsing error occurred during filtering. 11105 func (it *IERC721MetadataApprovalIterator) Error() error { 11106 return it.fail 11107 } 11108 11109 // Close terminates the iteration process, releasing any pending underlying 11110 // resources. 11111 func (it *IERC721MetadataApprovalIterator) Close() error { 11112 it.sub.Unsubscribe() 11113 return nil 11114 } 11115 11116 // IERC721MetadataApproval represents a Approval event raised by the IERC721Metadata contract. 11117 type IERC721MetadataApproval struct { 11118 Owner common.Address 11119 Approved common.Address 11120 TokenId *big.Int 11121 Raw types.Log // Blockchain specific contextual infos 11122 } 11123 11124 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 11125 // 11126 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 11127 func (_IERC721Metadata *IERC721MetadataFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721MetadataApprovalIterator, error) { 11128 11129 var ownerRule []interface{} 11130 for _, ownerItem := range owner { 11131 ownerRule = append(ownerRule, ownerItem) 11132 } 11133 var approvedRule []interface{} 11134 for _, approvedItem := range approved { 11135 approvedRule = append(approvedRule, approvedItem) 11136 } 11137 var tokenIdRule []interface{} 11138 for _, tokenIdItem := range tokenId { 11139 tokenIdRule = append(tokenIdRule, tokenIdItem) 11140 } 11141 11142 logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 11143 if err != nil { 11144 return nil, err 11145 } 11146 return &IERC721MetadataApprovalIterator{contract: _IERC721Metadata.contract, event: "Approval", logs: logs, sub: sub}, nil 11147 } 11148 11149 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 11150 // 11151 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 11152 func (_IERC721Metadata *IERC721MetadataFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 11153 11154 var ownerRule []interface{} 11155 for _, ownerItem := range owner { 11156 ownerRule = append(ownerRule, ownerItem) 11157 } 11158 var approvedRule []interface{} 11159 for _, approvedItem := range approved { 11160 approvedRule = append(approvedRule, approvedItem) 11161 } 11162 var tokenIdRule []interface{} 11163 for _, tokenIdItem := range tokenId { 11164 tokenIdRule = append(tokenIdRule, tokenIdItem) 11165 } 11166 11167 logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 11168 if err != nil { 11169 return nil, err 11170 } 11171 return event.NewSubscription(func(quit <-chan struct{}) error { 11172 defer sub.Unsubscribe() 11173 for { 11174 select { 11175 case log := <-logs: 11176 // New log arrived, parse the event and forward to the user 11177 event := new(IERC721MetadataApproval) 11178 if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { 11179 return err 11180 } 11181 event.Raw = log 11182 11183 select { 11184 case sink <- event: 11185 case err := <-sub.Err(): 11186 return err 11187 case <-quit: 11188 return nil 11189 } 11190 case err := <-sub.Err(): 11191 return err 11192 case <-quit: 11193 return nil 11194 } 11195 } 11196 }), nil 11197 } 11198 11199 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 11200 // 11201 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 11202 func (_IERC721Metadata *IERC721MetadataFilterer) ParseApproval(log types.Log) (*IERC721MetadataApproval, error) { 11203 event := new(IERC721MetadataApproval) 11204 if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { 11205 return nil, err 11206 } 11207 return event, nil 11208 } 11209 11210 // 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. 11211 type IERC721MetadataApprovalForAllIterator struct { 11212 Event *IERC721MetadataApprovalForAll // Event containing the contract specifics and raw log 11213 11214 contract *bind.BoundContract // Generic contract to use for unpacking event data 11215 event string // Event name to use for unpacking event data 11216 11217 logs chan types.Log // Log channel receiving the found contract events 11218 sub klaytn.Subscription // Subscription for errors, completion and termination 11219 done bool // Whether the subscription completed delivering logs 11220 fail error // Occurred error to stop iteration 11221 } 11222 11223 // Next advances the iterator to the subsequent event, returning whether there 11224 // are any more events found. In case of a retrieval or parsing error, false is 11225 // returned and Error() can be queried for the exact failure. 11226 func (it *IERC721MetadataApprovalForAllIterator) Next() bool { 11227 // If the iterator failed, stop iterating 11228 if it.fail != nil { 11229 return false 11230 } 11231 // If the iterator completed, deliver directly whatever's available 11232 if it.done { 11233 select { 11234 case log := <-it.logs: 11235 it.Event = new(IERC721MetadataApprovalForAll) 11236 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11237 it.fail = err 11238 return false 11239 } 11240 it.Event.Raw = log 11241 return true 11242 11243 default: 11244 return false 11245 } 11246 } 11247 // Iterator still in progress, wait for either a data or an error event 11248 select { 11249 case log := <-it.logs: 11250 it.Event = new(IERC721MetadataApprovalForAll) 11251 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11252 it.fail = err 11253 return false 11254 } 11255 it.Event.Raw = log 11256 return true 11257 11258 case err := <-it.sub.Err(): 11259 it.done = true 11260 it.fail = err 11261 return it.Next() 11262 } 11263 } 11264 11265 // Error returns any retrieval or parsing error occurred during filtering. 11266 func (it *IERC721MetadataApprovalForAllIterator) Error() error { 11267 return it.fail 11268 } 11269 11270 // Close terminates the iteration process, releasing any pending underlying 11271 // resources. 11272 func (it *IERC721MetadataApprovalForAllIterator) Close() error { 11273 it.sub.Unsubscribe() 11274 return nil 11275 } 11276 11277 // IERC721MetadataApprovalForAll represents a ApprovalForAll event raised by the IERC721Metadata contract. 11278 type IERC721MetadataApprovalForAll struct { 11279 Owner common.Address 11280 Operator common.Address 11281 Approved bool 11282 Raw types.Log // Blockchain specific contextual infos 11283 } 11284 11285 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 11286 // 11287 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 11288 func (_IERC721Metadata *IERC721MetadataFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721MetadataApprovalForAllIterator, error) { 11289 11290 var ownerRule []interface{} 11291 for _, ownerItem := range owner { 11292 ownerRule = append(ownerRule, ownerItem) 11293 } 11294 var operatorRule []interface{} 11295 for _, operatorItem := range operator { 11296 operatorRule = append(operatorRule, operatorItem) 11297 } 11298 11299 logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 11300 if err != nil { 11301 return nil, err 11302 } 11303 return &IERC721MetadataApprovalForAllIterator{contract: _IERC721Metadata.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 11304 } 11305 11306 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 11307 // 11308 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 11309 func (_IERC721Metadata *IERC721MetadataFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 11310 11311 var ownerRule []interface{} 11312 for _, ownerItem := range owner { 11313 ownerRule = append(ownerRule, ownerItem) 11314 } 11315 var operatorRule []interface{} 11316 for _, operatorItem := range operator { 11317 operatorRule = append(operatorRule, operatorItem) 11318 } 11319 11320 logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 11321 if err != nil { 11322 return nil, err 11323 } 11324 return event.NewSubscription(func(quit <-chan struct{}) error { 11325 defer sub.Unsubscribe() 11326 for { 11327 select { 11328 case log := <-logs: 11329 // New log arrived, parse the event and forward to the user 11330 event := new(IERC721MetadataApprovalForAll) 11331 if err := _IERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 11332 return err 11333 } 11334 event.Raw = log 11335 11336 select { 11337 case sink <- event: 11338 case err := <-sub.Err(): 11339 return err 11340 case <-quit: 11341 return nil 11342 } 11343 case err := <-sub.Err(): 11344 return err 11345 case <-quit: 11346 return nil 11347 } 11348 } 11349 }), nil 11350 } 11351 11352 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 11353 // 11354 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 11355 func (_IERC721Metadata *IERC721MetadataFilterer) ParseApprovalForAll(log types.Log) (*IERC721MetadataApprovalForAll, error) { 11356 event := new(IERC721MetadataApprovalForAll) 11357 if err := _IERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 11358 return nil, err 11359 } 11360 return event, nil 11361 } 11362 11363 // 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. 11364 type IERC721MetadataTransferIterator struct { 11365 Event *IERC721MetadataTransfer // Event containing the contract specifics and raw log 11366 11367 contract *bind.BoundContract // Generic contract to use for unpacking event data 11368 event string // Event name to use for unpacking event data 11369 11370 logs chan types.Log // Log channel receiving the found contract events 11371 sub klaytn.Subscription // Subscription for errors, completion and termination 11372 done bool // Whether the subscription completed delivering logs 11373 fail error // Occurred error to stop iteration 11374 } 11375 11376 // Next advances the iterator to the subsequent event, returning whether there 11377 // are any more events found. In case of a retrieval or parsing error, false is 11378 // returned and Error() can be queried for the exact failure. 11379 func (it *IERC721MetadataTransferIterator) Next() bool { 11380 // If the iterator failed, stop iterating 11381 if it.fail != nil { 11382 return false 11383 } 11384 // If the iterator completed, deliver directly whatever's available 11385 if it.done { 11386 select { 11387 case log := <-it.logs: 11388 it.Event = new(IERC721MetadataTransfer) 11389 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11390 it.fail = err 11391 return false 11392 } 11393 it.Event.Raw = log 11394 return true 11395 11396 default: 11397 return false 11398 } 11399 } 11400 // Iterator still in progress, wait for either a data or an error event 11401 select { 11402 case log := <-it.logs: 11403 it.Event = new(IERC721MetadataTransfer) 11404 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11405 it.fail = err 11406 return false 11407 } 11408 it.Event.Raw = log 11409 return true 11410 11411 case err := <-it.sub.Err(): 11412 it.done = true 11413 it.fail = err 11414 return it.Next() 11415 } 11416 } 11417 11418 // Error returns any retrieval or parsing error occurred during filtering. 11419 func (it *IERC721MetadataTransferIterator) Error() error { 11420 return it.fail 11421 } 11422 11423 // Close terminates the iteration process, releasing any pending underlying 11424 // resources. 11425 func (it *IERC721MetadataTransferIterator) Close() error { 11426 it.sub.Unsubscribe() 11427 return nil 11428 } 11429 11430 // IERC721MetadataTransfer represents a Transfer event raised by the IERC721Metadata contract. 11431 type IERC721MetadataTransfer struct { 11432 From common.Address 11433 To common.Address 11434 TokenId *big.Int 11435 Raw types.Log // Blockchain specific contextual infos 11436 } 11437 11438 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 11439 // 11440 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 11441 func (_IERC721Metadata *IERC721MetadataFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721MetadataTransferIterator, error) { 11442 11443 var fromRule []interface{} 11444 for _, fromItem := range from { 11445 fromRule = append(fromRule, fromItem) 11446 } 11447 var toRule []interface{} 11448 for _, toItem := range to { 11449 toRule = append(toRule, toItem) 11450 } 11451 var tokenIdRule []interface{} 11452 for _, tokenIdItem := range tokenId { 11453 tokenIdRule = append(tokenIdRule, tokenIdItem) 11454 } 11455 11456 logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 11457 if err != nil { 11458 return nil, err 11459 } 11460 return &IERC721MetadataTransferIterator{contract: _IERC721Metadata.contract, event: "Transfer", logs: logs, sub: sub}, nil 11461 } 11462 11463 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 11464 // 11465 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 11466 func (_IERC721Metadata *IERC721MetadataFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721MetadataTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 11467 11468 var fromRule []interface{} 11469 for _, fromItem := range from { 11470 fromRule = append(fromRule, fromItem) 11471 } 11472 var toRule []interface{} 11473 for _, toItem := range to { 11474 toRule = append(toRule, toItem) 11475 } 11476 var tokenIdRule []interface{} 11477 for _, tokenIdItem := range tokenId { 11478 tokenIdRule = append(tokenIdRule, tokenIdItem) 11479 } 11480 11481 logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 11482 if err != nil { 11483 return nil, err 11484 } 11485 return event.NewSubscription(func(quit <-chan struct{}) error { 11486 defer sub.Unsubscribe() 11487 for { 11488 select { 11489 case log := <-logs: 11490 // New log arrived, parse the event and forward to the user 11491 event := new(IERC721MetadataTransfer) 11492 if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { 11493 return err 11494 } 11495 event.Raw = log 11496 11497 select { 11498 case sink <- event: 11499 case err := <-sub.Err(): 11500 return err 11501 case <-quit: 11502 return nil 11503 } 11504 case err := <-sub.Err(): 11505 return err 11506 case <-quit: 11507 return nil 11508 } 11509 } 11510 }), nil 11511 } 11512 11513 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 11514 // 11515 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 11516 func (_IERC721Metadata *IERC721MetadataFilterer) ParseTransfer(log types.Log) (*IERC721MetadataTransfer, error) { 11517 event := new(IERC721MetadataTransfer) 11518 if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { 11519 return nil, err 11520 } 11521 return event, nil 11522 } 11523 11524 // IERC721ReceiverMetaData contains all meta data concerning the IERC721Receiver contract. 11525 var IERC721ReceiverMetaData = &bind.MetaData{ 11526 ABI: "[{\"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\"}]", 11527 Sigs: map[string]string{ 11528 "150b7a02": "onERC721Received(address,address,uint256,bytes)", 11529 }, 11530 } 11531 11532 // IERC721ReceiverABI is the input ABI used to generate the binding from. 11533 // Deprecated: Use IERC721ReceiverMetaData.ABI instead. 11534 var IERC721ReceiverABI = IERC721ReceiverMetaData.ABI 11535 11536 // IERC721ReceiverBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 11537 const IERC721ReceiverBinRuntime = `` 11538 11539 // IERC721ReceiverFuncSigs maps the 4-byte function signature to its string representation. 11540 // Deprecated: Use IERC721ReceiverMetaData.Sigs instead. 11541 var IERC721ReceiverFuncSigs = IERC721ReceiverMetaData.Sigs 11542 11543 // IERC721Receiver is an auto generated Go binding around a Klaytn contract. 11544 type IERC721Receiver struct { 11545 IERC721ReceiverCaller // Read-only binding to the contract 11546 IERC721ReceiverTransactor // Write-only binding to the contract 11547 IERC721ReceiverFilterer // Log filterer for contract events 11548 } 11549 11550 // IERC721ReceiverCaller is an auto generated read-only Go binding around a Klaytn contract. 11551 type IERC721ReceiverCaller struct { 11552 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11553 } 11554 11555 // IERC721ReceiverTransactor is an auto generated write-only Go binding around a Klaytn contract. 11556 type IERC721ReceiverTransactor struct { 11557 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11558 } 11559 11560 // IERC721ReceiverFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 11561 type IERC721ReceiverFilterer struct { 11562 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11563 } 11564 11565 // IERC721ReceiverSession is an auto generated Go binding around a Klaytn contract, 11566 // with pre-set call and transact options. 11567 type IERC721ReceiverSession struct { 11568 Contract *IERC721Receiver // Generic contract binding to set the session for 11569 CallOpts bind.CallOpts // Call options to use throughout this session 11570 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 11571 } 11572 11573 // IERC721ReceiverCallerSession is an auto generated read-only Go binding around a Klaytn contract, 11574 // with pre-set call options. 11575 type IERC721ReceiverCallerSession struct { 11576 Contract *IERC721ReceiverCaller // Generic contract caller binding to set the session for 11577 CallOpts bind.CallOpts // Call options to use throughout this session 11578 } 11579 11580 // IERC721ReceiverTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 11581 // with pre-set transact options. 11582 type IERC721ReceiverTransactorSession struct { 11583 Contract *IERC721ReceiverTransactor // Generic contract transactor binding to set the session for 11584 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 11585 } 11586 11587 // IERC721ReceiverRaw is an auto generated low-level Go binding around a Klaytn contract. 11588 type IERC721ReceiverRaw struct { 11589 Contract *IERC721Receiver // Generic contract binding to access the raw methods on 11590 } 11591 11592 // IERC721ReceiverCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 11593 type IERC721ReceiverCallerRaw struct { 11594 Contract *IERC721ReceiverCaller // Generic read-only contract binding to access the raw methods on 11595 } 11596 11597 // IERC721ReceiverTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 11598 type IERC721ReceiverTransactorRaw struct { 11599 Contract *IERC721ReceiverTransactor // Generic write-only contract binding to access the raw methods on 11600 } 11601 11602 // NewIERC721Receiver creates a new instance of IERC721Receiver, bound to a specific deployed contract. 11603 func NewIERC721Receiver(address common.Address, backend bind.ContractBackend) (*IERC721Receiver, error) { 11604 contract, err := bindIERC721Receiver(address, backend, backend, backend) 11605 if err != nil { 11606 return nil, err 11607 } 11608 return &IERC721Receiver{IERC721ReceiverCaller: IERC721ReceiverCaller{contract: contract}, IERC721ReceiverTransactor: IERC721ReceiverTransactor{contract: contract}, IERC721ReceiverFilterer: IERC721ReceiverFilterer{contract: contract}}, nil 11609 } 11610 11611 // NewIERC721ReceiverCaller creates a new read-only instance of IERC721Receiver, bound to a specific deployed contract. 11612 func NewIERC721ReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC721ReceiverCaller, error) { 11613 contract, err := bindIERC721Receiver(address, caller, nil, nil) 11614 if err != nil { 11615 return nil, err 11616 } 11617 return &IERC721ReceiverCaller{contract: contract}, nil 11618 } 11619 11620 // NewIERC721ReceiverTransactor creates a new write-only instance of IERC721Receiver, bound to a specific deployed contract. 11621 func NewIERC721ReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721ReceiverTransactor, error) { 11622 contract, err := bindIERC721Receiver(address, nil, transactor, nil) 11623 if err != nil { 11624 return nil, err 11625 } 11626 return &IERC721ReceiverTransactor{contract: contract}, nil 11627 } 11628 11629 // NewIERC721ReceiverFilterer creates a new log filterer instance of IERC721Receiver, bound to a specific deployed contract. 11630 func NewIERC721ReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721ReceiverFilterer, error) { 11631 contract, err := bindIERC721Receiver(address, nil, nil, filterer) 11632 if err != nil { 11633 return nil, err 11634 } 11635 return &IERC721ReceiverFilterer{contract: contract}, nil 11636 } 11637 11638 // bindIERC721Receiver binds a generic wrapper to an already deployed contract. 11639 func bindIERC721Receiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 11640 parsed, err := IERC721ReceiverMetaData.GetAbi() 11641 if err != nil { 11642 return nil, err 11643 } 11644 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 11645 } 11646 11647 // Call invokes the (constant) contract method with params as input values and 11648 // sets the output to result. The result type might be a single field for simple 11649 // returns, a slice of interfaces for anonymous returns and a struct for named 11650 // returns. 11651 func (_IERC721Receiver *IERC721ReceiverRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 11652 return _IERC721Receiver.Contract.IERC721ReceiverCaller.contract.Call(opts, result, method, params...) 11653 } 11654 11655 // Transfer initiates a plain transaction to move funds to the contract, calling 11656 // its default method if one is available. 11657 func (_IERC721Receiver *IERC721ReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 11658 return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transfer(opts) 11659 } 11660 11661 // Transact invokes the (paid) contract method with params as input values. 11662 func (_IERC721Receiver *IERC721ReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 11663 return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transact(opts, method, params...) 11664 } 11665 11666 // Call invokes the (constant) contract method with params as input values and 11667 // sets the output to result. The result type might be a single field for simple 11668 // returns, a slice of interfaces for anonymous returns and a struct for named 11669 // returns. 11670 func (_IERC721Receiver *IERC721ReceiverCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 11671 return _IERC721Receiver.Contract.contract.Call(opts, result, method, params...) 11672 } 11673 11674 // Transfer initiates a plain transaction to move funds to the contract, calling 11675 // its default method if one is available. 11676 func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 11677 return _IERC721Receiver.Contract.contract.Transfer(opts) 11678 } 11679 11680 // Transact invokes the (paid) contract method with params as input values. 11681 func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 11682 return _IERC721Receiver.Contract.contract.Transact(opts, method, params...) 11683 } 11684 11685 // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. 11686 // 11687 // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) 11688 func (_IERC721Receiver *IERC721ReceiverTransactor) OnERC721Received(opts *bind.TransactOpts, operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 11689 return _IERC721Receiver.contract.Transact(opts, "onERC721Received", operator, from, tokenId, data) 11690 } 11691 11692 // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. 11693 // 11694 // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) 11695 func (_IERC721Receiver *IERC721ReceiverSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 11696 return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data) 11697 } 11698 11699 // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. 11700 // 11701 // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) 11702 func (_IERC721Receiver *IERC721ReceiverTransactorSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 11703 return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data) 11704 } 11705 11706 // MinterRoleMetaData contains all meta data concerning the MinterRole contract. 11707 var MinterRoleMetaData = &bind.MetaData{ 11708 ABI: "[{\"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\"}]", 11709 Sigs: map[string]string{ 11710 "983b2d56": "addMinter(address)", 11711 "aa271e1a": "isMinter(address)", 11712 "98650275": "renounceMinter()", 11713 }, 11714 } 11715 11716 // MinterRoleABI is the input ABI used to generate the binding from. 11717 // Deprecated: Use MinterRoleMetaData.ABI instead. 11718 var MinterRoleABI = MinterRoleMetaData.ABI 11719 11720 // MinterRoleBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 11721 const MinterRoleBinRuntime = `` 11722 11723 // MinterRoleFuncSigs maps the 4-byte function signature to its string representation. 11724 // Deprecated: Use MinterRoleMetaData.Sigs instead. 11725 var MinterRoleFuncSigs = MinterRoleMetaData.Sigs 11726 11727 // MinterRole is an auto generated Go binding around a Klaytn contract. 11728 type MinterRole struct { 11729 MinterRoleCaller // Read-only binding to the contract 11730 MinterRoleTransactor // Write-only binding to the contract 11731 MinterRoleFilterer // Log filterer for contract events 11732 } 11733 11734 // MinterRoleCaller is an auto generated read-only Go binding around a Klaytn contract. 11735 type MinterRoleCaller struct { 11736 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11737 } 11738 11739 // MinterRoleTransactor is an auto generated write-only Go binding around a Klaytn contract. 11740 type MinterRoleTransactor struct { 11741 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11742 } 11743 11744 // MinterRoleFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 11745 type MinterRoleFilterer struct { 11746 contract *bind.BoundContract // Generic contract wrapper for the low level calls 11747 } 11748 11749 // MinterRoleSession is an auto generated Go binding around a Klaytn contract, 11750 // with pre-set call and transact options. 11751 type MinterRoleSession struct { 11752 Contract *MinterRole // Generic contract binding to set the session for 11753 CallOpts bind.CallOpts // Call options to use throughout this session 11754 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 11755 } 11756 11757 // MinterRoleCallerSession is an auto generated read-only Go binding around a Klaytn contract, 11758 // with pre-set call options. 11759 type MinterRoleCallerSession struct { 11760 Contract *MinterRoleCaller // Generic contract caller binding to set the session for 11761 CallOpts bind.CallOpts // Call options to use throughout this session 11762 } 11763 11764 // MinterRoleTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 11765 // with pre-set transact options. 11766 type MinterRoleTransactorSession struct { 11767 Contract *MinterRoleTransactor // Generic contract transactor binding to set the session for 11768 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 11769 } 11770 11771 // MinterRoleRaw is an auto generated low-level Go binding around a Klaytn contract. 11772 type MinterRoleRaw struct { 11773 Contract *MinterRole // Generic contract binding to access the raw methods on 11774 } 11775 11776 // MinterRoleCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 11777 type MinterRoleCallerRaw struct { 11778 Contract *MinterRoleCaller // Generic read-only contract binding to access the raw methods on 11779 } 11780 11781 // MinterRoleTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 11782 type MinterRoleTransactorRaw struct { 11783 Contract *MinterRoleTransactor // Generic write-only contract binding to access the raw methods on 11784 } 11785 11786 // NewMinterRole creates a new instance of MinterRole, bound to a specific deployed contract. 11787 func NewMinterRole(address common.Address, backend bind.ContractBackend) (*MinterRole, error) { 11788 contract, err := bindMinterRole(address, backend, backend, backend) 11789 if err != nil { 11790 return nil, err 11791 } 11792 return &MinterRole{MinterRoleCaller: MinterRoleCaller{contract: contract}, MinterRoleTransactor: MinterRoleTransactor{contract: contract}, MinterRoleFilterer: MinterRoleFilterer{contract: contract}}, nil 11793 } 11794 11795 // NewMinterRoleCaller creates a new read-only instance of MinterRole, bound to a specific deployed contract. 11796 func NewMinterRoleCaller(address common.Address, caller bind.ContractCaller) (*MinterRoleCaller, error) { 11797 contract, err := bindMinterRole(address, caller, nil, nil) 11798 if err != nil { 11799 return nil, err 11800 } 11801 return &MinterRoleCaller{contract: contract}, nil 11802 } 11803 11804 // NewMinterRoleTransactor creates a new write-only instance of MinterRole, bound to a specific deployed contract. 11805 func NewMinterRoleTransactor(address common.Address, transactor bind.ContractTransactor) (*MinterRoleTransactor, error) { 11806 contract, err := bindMinterRole(address, nil, transactor, nil) 11807 if err != nil { 11808 return nil, err 11809 } 11810 return &MinterRoleTransactor{contract: contract}, nil 11811 } 11812 11813 // NewMinterRoleFilterer creates a new log filterer instance of MinterRole, bound to a specific deployed contract. 11814 func NewMinterRoleFilterer(address common.Address, filterer bind.ContractFilterer) (*MinterRoleFilterer, error) { 11815 contract, err := bindMinterRole(address, nil, nil, filterer) 11816 if err != nil { 11817 return nil, err 11818 } 11819 return &MinterRoleFilterer{contract: contract}, nil 11820 } 11821 11822 // bindMinterRole binds a generic wrapper to an already deployed contract. 11823 func bindMinterRole(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 11824 parsed, err := MinterRoleMetaData.GetAbi() 11825 if err != nil { 11826 return nil, err 11827 } 11828 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 11829 } 11830 11831 // Call invokes the (constant) contract method with params as input values and 11832 // sets the output to result. The result type might be a single field for simple 11833 // returns, a slice of interfaces for anonymous returns and a struct for named 11834 // returns. 11835 func (_MinterRole *MinterRoleRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 11836 return _MinterRole.Contract.MinterRoleCaller.contract.Call(opts, result, method, params...) 11837 } 11838 11839 // Transfer initiates a plain transaction to move funds to the contract, calling 11840 // its default method if one is available. 11841 func (_MinterRole *MinterRoleRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 11842 return _MinterRole.Contract.MinterRoleTransactor.contract.Transfer(opts) 11843 } 11844 11845 // Transact invokes the (paid) contract method with params as input values. 11846 func (_MinterRole *MinterRoleRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 11847 return _MinterRole.Contract.MinterRoleTransactor.contract.Transact(opts, method, params...) 11848 } 11849 11850 // Call invokes the (constant) contract method with params as input values and 11851 // sets the output to result. The result type might be a single field for simple 11852 // returns, a slice of interfaces for anonymous returns and a struct for named 11853 // returns. 11854 func (_MinterRole *MinterRoleCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 11855 return _MinterRole.Contract.contract.Call(opts, result, method, params...) 11856 } 11857 11858 // Transfer initiates a plain transaction to move funds to the contract, calling 11859 // its default method if one is available. 11860 func (_MinterRole *MinterRoleTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 11861 return _MinterRole.Contract.contract.Transfer(opts) 11862 } 11863 11864 // Transact invokes the (paid) contract method with params as input values. 11865 func (_MinterRole *MinterRoleTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 11866 return _MinterRole.Contract.contract.Transact(opts, method, params...) 11867 } 11868 11869 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 11870 // 11871 // Solidity: function isMinter(address account) view returns(bool) 11872 func (_MinterRole *MinterRoleCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { 11873 var out []interface{} 11874 err := _MinterRole.contract.Call(opts, &out, "isMinter", account) 11875 11876 if err != nil { 11877 return *new(bool), err 11878 } 11879 11880 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 11881 11882 return out0, err 11883 11884 } 11885 11886 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 11887 // 11888 // Solidity: function isMinter(address account) view returns(bool) 11889 func (_MinterRole *MinterRoleSession) IsMinter(account common.Address) (bool, error) { 11890 return _MinterRole.Contract.IsMinter(&_MinterRole.CallOpts, account) 11891 } 11892 11893 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 11894 // 11895 // Solidity: function isMinter(address account) view returns(bool) 11896 func (_MinterRole *MinterRoleCallerSession) IsMinter(account common.Address) (bool, error) { 11897 return _MinterRole.Contract.IsMinter(&_MinterRole.CallOpts, account) 11898 } 11899 11900 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 11901 // 11902 // Solidity: function addMinter(address account) returns() 11903 func (_MinterRole *MinterRoleTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 11904 return _MinterRole.contract.Transact(opts, "addMinter", account) 11905 } 11906 11907 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 11908 // 11909 // Solidity: function addMinter(address account) returns() 11910 func (_MinterRole *MinterRoleSession) AddMinter(account common.Address) (*types.Transaction, error) { 11911 return _MinterRole.Contract.AddMinter(&_MinterRole.TransactOpts, account) 11912 } 11913 11914 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 11915 // 11916 // Solidity: function addMinter(address account) returns() 11917 func (_MinterRole *MinterRoleTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 11918 return _MinterRole.Contract.AddMinter(&_MinterRole.TransactOpts, account) 11919 } 11920 11921 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 11922 // 11923 // Solidity: function renounceMinter() returns() 11924 func (_MinterRole *MinterRoleTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { 11925 return _MinterRole.contract.Transact(opts, "renounceMinter") 11926 } 11927 11928 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 11929 // 11930 // Solidity: function renounceMinter() returns() 11931 func (_MinterRole *MinterRoleSession) RenounceMinter() (*types.Transaction, error) { 11932 return _MinterRole.Contract.RenounceMinter(&_MinterRole.TransactOpts) 11933 } 11934 11935 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 11936 // 11937 // Solidity: function renounceMinter() returns() 11938 func (_MinterRole *MinterRoleTransactorSession) RenounceMinter() (*types.Transaction, error) { 11939 return _MinterRole.Contract.RenounceMinter(&_MinterRole.TransactOpts) 11940 } 11941 11942 // 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. 11943 type MinterRoleMinterAddedIterator struct { 11944 Event *MinterRoleMinterAdded // Event containing the contract specifics and raw log 11945 11946 contract *bind.BoundContract // Generic contract to use for unpacking event data 11947 event string // Event name to use for unpacking event data 11948 11949 logs chan types.Log // Log channel receiving the found contract events 11950 sub klaytn.Subscription // Subscription for errors, completion and termination 11951 done bool // Whether the subscription completed delivering logs 11952 fail error // Occurred error to stop iteration 11953 } 11954 11955 // Next advances the iterator to the subsequent event, returning whether there 11956 // are any more events found. In case of a retrieval or parsing error, false is 11957 // returned and Error() can be queried for the exact failure. 11958 func (it *MinterRoleMinterAddedIterator) Next() bool { 11959 // If the iterator failed, stop iterating 11960 if it.fail != nil { 11961 return false 11962 } 11963 // If the iterator completed, deliver directly whatever's available 11964 if it.done { 11965 select { 11966 case log := <-it.logs: 11967 it.Event = new(MinterRoleMinterAdded) 11968 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11969 it.fail = err 11970 return false 11971 } 11972 it.Event.Raw = log 11973 return true 11974 11975 default: 11976 return false 11977 } 11978 } 11979 // Iterator still in progress, wait for either a data or an error event 11980 select { 11981 case log := <-it.logs: 11982 it.Event = new(MinterRoleMinterAdded) 11983 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11984 it.fail = err 11985 return false 11986 } 11987 it.Event.Raw = log 11988 return true 11989 11990 case err := <-it.sub.Err(): 11991 it.done = true 11992 it.fail = err 11993 return it.Next() 11994 } 11995 } 11996 11997 // Error returns any retrieval or parsing error occurred during filtering. 11998 func (it *MinterRoleMinterAddedIterator) Error() error { 11999 return it.fail 12000 } 12001 12002 // Close terminates the iteration process, releasing any pending underlying 12003 // resources. 12004 func (it *MinterRoleMinterAddedIterator) Close() error { 12005 it.sub.Unsubscribe() 12006 return nil 12007 } 12008 12009 // MinterRoleMinterAdded represents a MinterAdded event raised by the MinterRole contract. 12010 type MinterRoleMinterAdded struct { 12011 Account common.Address 12012 Raw types.Log // Blockchain specific contextual infos 12013 } 12014 12015 // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 12016 // 12017 // Solidity: event MinterAdded(address indexed account) 12018 func (_MinterRole *MinterRoleFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*MinterRoleMinterAddedIterator, error) { 12019 12020 var accountRule []interface{} 12021 for _, accountItem := range account { 12022 accountRule = append(accountRule, accountItem) 12023 } 12024 12025 logs, sub, err := _MinterRole.contract.FilterLogs(opts, "MinterAdded", accountRule) 12026 if err != nil { 12027 return nil, err 12028 } 12029 return &MinterRoleMinterAddedIterator{contract: _MinterRole.contract, event: "MinterAdded", logs: logs, sub: sub}, nil 12030 } 12031 12032 // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 12033 // 12034 // Solidity: event MinterAdded(address indexed account) 12035 func (_MinterRole *MinterRoleFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *MinterRoleMinterAdded, account []common.Address) (event.Subscription, error) { 12036 12037 var accountRule []interface{} 12038 for _, accountItem := range account { 12039 accountRule = append(accountRule, accountItem) 12040 } 12041 12042 logs, sub, err := _MinterRole.contract.WatchLogs(opts, "MinterAdded", accountRule) 12043 if err != nil { 12044 return nil, err 12045 } 12046 return event.NewSubscription(func(quit <-chan struct{}) error { 12047 defer sub.Unsubscribe() 12048 for { 12049 select { 12050 case log := <-logs: 12051 // New log arrived, parse the event and forward to the user 12052 event := new(MinterRoleMinterAdded) 12053 if err := _MinterRole.contract.UnpackLog(event, "MinterAdded", log); err != nil { 12054 return err 12055 } 12056 event.Raw = log 12057 12058 select { 12059 case sink <- event: 12060 case err := <-sub.Err(): 12061 return err 12062 case <-quit: 12063 return nil 12064 } 12065 case err := <-sub.Err(): 12066 return err 12067 case <-quit: 12068 return nil 12069 } 12070 } 12071 }), nil 12072 } 12073 12074 // ParseMinterAdded is a log parse operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 12075 // 12076 // Solidity: event MinterAdded(address indexed account) 12077 func (_MinterRole *MinterRoleFilterer) ParseMinterAdded(log types.Log) (*MinterRoleMinterAdded, error) { 12078 event := new(MinterRoleMinterAdded) 12079 if err := _MinterRole.contract.UnpackLog(event, "MinterAdded", log); err != nil { 12080 return nil, err 12081 } 12082 return event, nil 12083 } 12084 12085 // 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. 12086 type MinterRoleMinterRemovedIterator struct { 12087 Event *MinterRoleMinterRemoved // Event containing the contract specifics and raw log 12088 12089 contract *bind.BoundContract // Generic contract to use for unpacking event data 12090 event string // Event name to use for unpacking event data 12091 12092 logs chan types.Log // Log channel receiving the found contract events 12093 sub klaytn.Subscription // Subscription for errors, completion and termination 12094 done bool // Whether the subscription completed delivering logs 12095 fail error // Occurred error to stop iteration 12096 } 12097 12098 // Next advances the iterator to the subsequent event, returning whether there 12099 // are any more events found. In case of a retrieval or parsing error, false is 12100 // returned and Error() can be queried for the exact failure. 12101 func (it *MinterRoleMinterRemovedIterator) Next() bool { 12102 // If the iterator failed, stop iterating 12103 if it.fail != nil { 12104 return false 12105 } 12106 // If the iterator completed, deliver directly whatever's available 12107 if it.done { 12108 select { 12109 case log := <-it.logs: 12110 it.Event = new(MinterRoleMinterRemoved) 12111 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12112 it.fail = err 12113 return false 12114 } 12115 it.Event.Raw = log 12116 return true 12117 12118 default: 12119 return false 12120 } 12121 } 12122 // Iterator still in progress, wait for either a data or an error event 12123 select { 12124 case log := <-it.logs: 12125 it.Event = new(MinterRoleMinterRemoved) 12126 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12127 it.fail = err 12128 return false 12129 } 12130 it.Event.Raw = log 12131 return true 12132 12133 case err := <-it.sub.Err(): 12134 it.done = true 12135 it.fail = err 12136 return it.Next() 12137 } 12138 } 12139 12140 // Error returns any retrieval or parsing error occurred during filtering. 12141 func (it *MinterRoleMinterRemovedIterator) Error() error { 12142 return it.fail 12143 } 12144 12145 // Close terminates the iteration process, releasing any pending underlying 12146 // resources. 12147 func (it *MinterRoleMinterRemovedIterator) Close() error { 12148 it.sub.Unsubscribe() 12149 return nil 12150 } 12151 12152 // MinterRoleMinterRemoved represents a MinterRemoved event raised by the MinterRole contract. 12153 type MinterRoleMinterRemoved struct { 12154 Account common.Address 12155 Raw types.Log // Blockchain specific contextual infos 12156 } 12157 12158 // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 12159 // 12160 // Solidity: event MinterRemoved(address indexed account) 12161 func (_MinterRole *MinterRoleFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*MinterRoleMinterRemovedIterator, error) { 12162 12163 var accountRule []interface{} 12164 for _, accountItem := range account { 12165 accountRule = append(accountRule, accountItem) 12166 } 12167 12168 logs, sub, err := _MinterRole.contract.FilterLogs(opts, "MinterRemoved", accountRule) 12169 if err != nil { 12170 return nil, err 12171 } 12172 return &MinterRoleMinterRemovedIterator{contract: _MinterRole.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil 12173 } 12174 12175 // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 12176 // 12177 // Solidity: event MinterRemoved(address indexed account) 12178 func (_MinterRole *MinterRoleFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *MinterRoleMinterRemoved, account []common.Address) (event.Subscription, error) { 12179 12180 var accountRule []interface{} 12181 for _, accountItem := range account { 12182 accountRule = append(accountRule, accountItem) 12183 } 12184 12185 logs, sub, err := _MinterRole.contract.WatchLogs(opts, "MinterRemoved", accountRule) 12186 if err != nil { 12187 return nil, err 12188 } 12189 return event.NewSubscription(func(quit <-chan struct{}) error { 12190 defer sub.Unsubscribe() 12191 for { 12192 select { 12193 case log := <-logs: 12194 // New log arrived, parse the event and forward to the user 12195 event := new(MinterRoleMinterRemoved) 12196 if err := _MinterRole.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 12197 return err 12198 } 12199 event.Raw = log 12200 12201 select { 12202 case sink <- event: 12203 case err := <-sub.Err(): 12204 return err 12205 case <-quit: 12206 return nil 12207 } 12208 case err := <-sub.Err(): 12209 return err 12210 case <-quit: 12211 return nil 12212 } 12213 } 12214 }), nil 12215 } 12216 12217 // ParseMinterRemoved is a log parse operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 12218 // 12219 // Solidity: event MinterRemoved(address indexed account) 12220 func (_MinterRole *MinterRoleFilterer) ParseMinterRemoved(log types.Log) (*MinterRoleMinterRemoved, error) { 12221 event := new(MinterRoleMinterRemoved) 12222 if err := _MinterRole.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 12223 return nil, err 12224 } 12225 return event, nil 12226 } 12227 12228 // OwnableMetaData contains all meta data concerning the Ownable contract. 12229 var OwnableMetaData = &bind.MetaData{ 12230 ABI: "[{\"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\"}]", 12231 Sigs: map[string]string{ 12232 "8f32d59b": "isOwner()", 12233 "8da5cb5b": "owner()", 12234 "715018a6": "renounceOwnership()", 12235 "f2fde38b": "transferOwnership(address)", 12236 }, 12237 } 12238 12239 // OwnableABI is the input ABI used to generate the binding from. 12240 // Deprecated: Use OwnableMetaData.ABI instead. 12241 var OwnableABI = OwnableMetaData.ABI 12242 12243 // OwnableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 12244 const OwnableBinRuntime = `` 12245 12246 // OwnableFuncSigs maps the 4-byte function signature to its string representation. 12247 // Deprecated: Use OwnableMetaData.Sigs instead. 12248 var OwnableFuncSigs = OwnableMetaData.Sigs 12249 12250 // Ownable is an auto generated Go binding around a Klaytn contract. 12251 type Ownable struct { 12252 OwnableCaller // Read-only binding to the contract 12253 OwnableTransactor // Write-only binding to the contract 12254 OwnableFilterer // Log filterer for contract events 12255 } 12256 12257 // OwnableCaller is an auto generated read-only Go binding around a Klaytn contract. 12258 type OwnableCaller struct { 12259 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12260 } 12261 12262 // OwnableTransactor is an auto generated write-only Go binding around a Klaytn contract. 12263 type OwnableTransactor struct { 12264 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12265 } 12266 12267 // OwnableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 12268 type OwnableFilterer struct { 12269 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12270 } 12271 12272 // OwnableSession is an auto generated Go binding around a Klaytn contract, 12273 // with pre-set call and transact options. 12274 type OwnableSession struct { 12275 Contract *Ownable // Generic contract binding to set the session for 12276 CallOpts bind.CallOpts // Call options to use throughout this session 12277 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 12278 } 12279 12280 // OwnableCallerSession is an auto generated read-only Go binding around a Klaytn contract, 12281 // with pre-set call options. 12282 type OwnableCallerSession struct { 12283 Contract *OwnableCaller // Generic contract caller binding to set the session for 12284 CallOpts bind.CallOpts // Call options to use throughout this session 12285 } 12286 12287 // OwnableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 12288 // with pre-set transact options. 12289 type OwnableTransactorSession struct { 12290 Contract *OwnableTransactor // Generic contract transactor binding to set the session for 12291 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 12292 } 12293 12294 // OwnableRaw is an auto generated low-level Go binding around a Klaytn contract. 12295 type OwnableRaw struct { 12296 Contract *Ownable // Generic contract binding to access the raw methods on 12297 } 12298 12299 // OwnableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 12300 type OwnableCallerRaw struct { 12301 Contract *OwnableCaller // Generic read-only contract binding to access the raw methods on 12302 } 12303 12304 // OwnableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 12305 type OwnableTransactorRaw struct { 12306 Contract *OwnableTransactor // Generic write-only contract binding to access the raw methods on 12307 } 12308 12309 // NewOwnable creates a new instance of Ownable, bound to a specific deployed contract. 12310 func NewOwnable(address common.Address, backend bind.ContractBackend) (*Ownable, error) { 12311 contract, err := bindOwnable(address, backend, backend, backend) 12312 if err != nil { 12313 return nil, err 12314 } 12315 return &Ownable{OwnableCaller: OwnableCaller{contract: contract}, OwnableTransactor: OwnableTransactor{contract: contract}, OwnableFilterer: OwnableFilterer{contract: contract}}, nil 12316 } 12317 12318 // NewOwnableCaller creates a new read-only instance of Ownable, bound to a specific deployed contract. 12319 func NewOwnableCaller(address common.Address, caller bind.ContractCaller) (*OwnableCaller, error) { 12320 contract, err := bindOwnable(address, caller, nil, nil) 12321 if err != nil { 12322 return nil, err 12323 } 12324 return &OwnableCaller{contract: contract}, nil 12325 } 12326 12327 // NewOwnableTransactor creates a new write-only instance of Ownable, bound to a specific deployed contract. 12328 func NewOwnableTransactor(address common.Address, transactor bind.ContractTransactor) (*OwnableTransactor, error) { 12329 contract, err := bindOwnable(address, nil, transactor, nil) 12330 if err != nil { 12331 return nil, err 12332 } 12333 return &OwnableTransactor{contract: contract}, nil 12334 } 12335 12336 // NewOwnableFilterer creates a new log filterer instance of Ownable, bound to a specific deployed contract. 12337 func NewOwnableFilterer(address common.Address, filterer bind.ContractFilterer) (*OwnableFilterer, error) { 12338 contract, err := bindOwnable(address, nil, nil, filterer) 12339 if err != nil { 12340 return nil, err 12341 } 12342 return &OwnableFilterer{contract: contract}, nil 12343 } 12344 12345 // bindOwnable binds a generic wrapper to an already deployed contract. 12346 func bindOwnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 12347 parsed, err := OwnableMetaData.GetAbi() 12348 if err != nil { 12349 return nil, err 12350 } 12351 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 12352 } 12353 12354 // Call invokes the (constant) contract method with params as input values and 12355 // sets the output to result. The result type might be a single field for simple 12356 // returns, a slice of interfaces for anonymous returns and a struct for named 12357 // returns. 12358 func (_Ownable *OwnableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 12359 return _Ownable.Contract.OwnableCaller.contract.Call(opts, result, method, params...) 12360 } 12361 12362 // Transfer initiates a plain transaction to move funds to the contract, calling 12363 // its default method if one is available. 12364 func (_Ownable *OwnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 12365 return _Ownable.Contract.OwnableTransactor.contract.Transfer(opts) 12366 } 12367 12368 // Transact invokes the (paid) contract method with params as input values. 12369 func (_Ownable *OwnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 12370 return _Ownable.Contract.OwnableTransactor.contract.Transact(opts, method, params...) 12371 } 12372 12373 // Call invokes the (constant) contract method with params as input values and 12374 // sets the output to result. The result type might be a single field for simple 12375 // returns, a slice of interfaces for anonymous returns and a struct for named 12376 // returns. 12377 func (_Ownable *OwnableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 12378 return _Ownable.Contract.contract.Call(opts, result, method, params...) 12379 } 12380 12381 // Transfer initiates a plain transaction to move funds to the contract, calling 12382 // its default method if one is available. 12383 func (_Ownable *OwnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 12384 return _Ownable.Contract.contract.Transfer(opts) 12385 } 12386 12387 // Transact invokes the (paid) contract method with params as input values. 12388 func (_Ownable *OwnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 12389 return _Ownable.Contract.contract.Transact(opts, method, params...) 12390 } 12391 12392 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 12393 // 12394 // Solidity: function isOwner() view returns(bool) 12395 func (_Ownable *OwnableCaller) IsOwner(opts *bind.CallOpts) (bool, error) { 12396 var out []interface{} 12397 err := _Ownable.contract.Call(opts, &out, "isOwner") 12398 12399 if err != nil { 12400 return *new(bool), err 12401 } 12402 12403 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 12404 12405 return out0, err 12406 12407 } 12408 12409 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 12410 // 12411 // Solidity: function isOwner() view returns(bool) 12412 func (_Ownable *OwnableSession) IsOwner() (bool, error) { 12413 return _Ownable.Contract.IsOwner(&_Ownable.CallOpts) 12414 } 12415 12416 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 12417 // 12418 // Solidity: function isOwner() view returns(bool) 12419 func (_Ownable *OwnableCallerSession) IsOwner() (bool, error) { 12420 return _Ownable.Contract.IsOwner(&_Ownable.CallOpts) 12421 } 12422 12423 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 12424 // 12425 // Solidity: function owner() view returns(address) 12426 func (_Ownable *OwnableCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 12427 var out []interface{} 12428 err := _Ownable.contract.Call(opts, &out, "owner") 12429 12430 if err != nil { 12431 return *new(common.Address), err 12432 } 12433 12434 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 12435 12436 return out0, err 12437 12438 } 12439 12440 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 12441 // 12442 // Solidity: function owner() view returns(address) 12443 func (_Ownable *OwnableSession) Owner() (common.Address, error) { 12444 return _Ownable.Contract.Owner(&_Ownable.CallOpts) 12445 } 12446 12447 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 12448 // 12449 // Solidity: function owner() view returns(address) 12450 func (_Ownable *OwnableCallerSession) Owner() (common.Address, error) { 12451 return _Ownable.Contract.Owner(&_Ownable.CallOpts) 12452 } 12453 12454 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 12455 // 12456 // Solidity: function renounceOwnership() returns() 12457 func (_Ownable *OwnableTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 12458 return _Ownable.contract.Transact(opts, "renounceOwnership") 12459 } 12460 12461 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 12462 // 12463 // Solidity: function renounceOwnership() returns() 12464 func (_Ownable *OwnableSession) RenounceOwnership() (*types.Transaction, error) { 12465 return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) 12466 } 12467 12468 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 12469 // 12470 // Solidity: function renounceOwnership() returns() 12471 func (_Ownable *OwnableTransactorSession) RenounceOwnership() (*types.Transaction, error) { 12472 return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) 12473 } 12474 12475 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 12476 // 12477 // Solidity: function transferOwnership(address newOwner) returns() 12478 func (_Ownable *OwnableTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 12479 return _Ownable.contract.Transact(opts, "transferOwnership", newOwner) 12480 } 12481 12482 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 12483 // 12484 // Solidity: function transferOwnership(address newOwner) returns() 12485 func (_Ownable *OwnableSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 12486 return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) 12487 } 12488 12489 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 12490 // 12491 // Solidity: function transferOwnership(address newOwner) returns() 12492 func (_Ownable *OwnableTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 12493 return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) 12494 } 12495 12496 // 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. 12497 type OwnableOwnershipTransferredIterator struct { 12498 Event *OwnableOwnershipTransferred // Event containing the contract specifics and raw log 12499 12500 contract *bind.BoundContract // Generic contract to use for unpacking event data 12501 event string // Event name to use for unpacking event data 12502 12503 logs chan types.Log // Log channel receiving the found contract events 12504 sub klaytn.Subscription // Subscription for errors, completion and termination 12505 done bool // Whether the subscription completed delivering logs 12506 fail error // Occurred error to stop iteration 12507 } 12508 12509 // Next advances the iterator to the subsequent event, returning whether there 12510 // are any more events found. In case of a retrieval or parsing error, false is 12511 // returned and Error() can be queried for the exact failure. 12512 func (it *OwnableOwnershipTransferredIterator) Next() bool { 12513 // If the iterator failed, stop iterating 12514 if it.fail != nil { 12515 return false 12516 } 12517 // If the iterator completed, deliver directly whatever's available 12518 if it.done { 12519 select { 12520 case log := <-it.logs: 12521 it.Event = new(OwnableOwnershipTransferred) 12522 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12523 it.fail = err 12524 return false 12525 } 12526 it.Event.Raw = log 12527 return true 12528 12529 default: 12530 return false 12531 } 12532 } 12533 // Iterator still in progress, wait for either a data or an error event 12534 select { 12535 case log := <-it.logs: 12536 it.Event = new(OwnableOwnershipTransferred) 12537 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12538 it.fail = err 12539 return false 12540 } 12541 it.Event.Raw = log 12542 return true 12543 12544 case err := <-it.sub.Err(): 12545 it.done = true 12546 it.fail = err 12547 return it.Next() 12548 } 12549 } 12550 12551 // Error returns any retrieval or parsing error occurred during filtering. 12552 func (it *OwnableOwnershipTransferredIterator) Error() error { 12553 return it.fail 12554 } 12555 12556 // Close terminates the iteration process, releasing any pending underlying 12557 // resources. 12558 func (it *OwnableOwnershipTransferredIterator) Close() error { 12559 it.sub.Unsubscribe() 12560 return nil 12561 } 12562 12563 // OwnableOwnershipTransferred represents a OwnershipTransferred event raised by the Ownable contract. 12564 type OwnableOwnershipTransferred struct { 12565 PreviousOwner common.Address 12566 NewOwner common.Address 12567 Raw types.Log // Blockchain specific contextual infos 12568 } 12569 12570 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 12571 // 12572 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 12573 func (_Ownable *OwnableFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*OwnableOwnershipTransferredIterator, error) { 12574 12575 var previousOwnerRule []interface{} 12576 for _, previousOwnerItem := range previousOwner { 12577 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 12578 } 12579 var newOwnerRule []interface{} 12580 for _, newOwnerItem := range newOwner { 12581 newOwnerRule = append(newOwnerRule, newOwnerItem) 12582 } 12583 12584 logs, sub, err := _Ownable.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 12585 if err != nil { 12586 return nil, err 12587 } 12588 return &OwnableOwnershipTransferredIterator{contract: _Ownable.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 12589 } 12590 12591 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 12592 // 12593 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 12594 func (_Ownable *OwnableFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *OwnableOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 12595 12596 var previousOwnerRule []interface{} 12597 for _, previousOwnerItem := range previousOwner { 12598 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 12599 } 12600 var newOwnerRule []interface{} 12601 for _, newOwnerItem := range newOwner { 12602 newOwnerRule = append(newOwnerRule, newOwnerItem) 12603 } 12604 12605 logs, sub, err := _Ownable.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 12606 if err != nil { 12607 return nil, err 12608 } 12609 return event.NewSubscription(func(quit <-chan struct{}) error { 12610 defer sub.Unsubscribe() 12611 for { 12612 select { 12613 case log := <-logs: 12614 // New log arrived, parse the event and forward to the user 12615 event := new(OwnableOwnershipTransferred) 12616 if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 12617 return err 12618 } 12619 event.Raw = log 12620 12621 select { 12622 case sink <- event: 12623 case err := <-sub.Err(): 12624 return err 12625 case <-quit: 12626 return nil 12627 } 12628 case err := <-sub.Err(): 12629 return err 12630 case <-quit: 12631 return nil 12632 } 12633 } 12634 }), nil 12635 } 12636 12637 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 12638 // 12639 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 12640 func (_Ownable *OwnableFilterer) ParseOwnershipTransferred(log types.Log) (*OwnableOwnershipTransferred, error) { 12641 event := new(OwnableOwnershipTransferred) 12642 if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 12643 return nil, err 12644 } 12645 return event, nil 12646 } 12647 12648 // RolesMetaData contains all meta data concerning the Roles contract. 12649 var RolesMetaData = &bind.MetaData{ 12650 ABI: "[]", 12651 Bin: "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058206fdeeec4a4b0b444bd488c924c927184696cea63963686d57a13cf42f3830d840029", 12652 } 12653 12654 // RolesABI is the input ABI used to generate the binding from. 12655 // Deprecated: Use RolesMetaData.ABI instead. 12656 var RolesABI = RolesMetaData.ABI 12657 12658 // RolesBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 12659 const RolesBinRuntime = `73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058206fdeeec4a4b0b444bd488c924c927184696cea63963686d57a13cf42f3830d840029` 12660 12661 // RolesBin is the compiled bytecode used for deploying new contracts. 12662 // Deprecated: Use RolesMetaData.Bin instead. 12663 var RolesBin = RolesMetaData.Bin 12664 12665 // DeployRoles deploys a new Klaytn contract, binding an instance of Roles to it. 12666 func DeployRoles(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Roles, error) { 12667 parsed, err := RolesMetaData.GetAbi() 12668 if err != nil { 12669 return common.Address{}, nil, nil, err 12670 } 12671 if parsed == nil { 12672 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 12673 } 12674 12675 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(RolesBin), backend) 12676 if err != nil { 12677 return common.Address{}, nil, nil, err 12678 } 12679 return address, tx, &Roles{RolesCaller: RolesCaller{contract: contract}, RolesTransactor: RolesTransactor{contract: contract}, RolesFilterer: RolesFilterer{contract: contract}}, nil 12680 } 12681 12682 // Roles is an auto generated Go binding around a Klaytn contract. 12683 type Roles struct { 12684 RolesCaller // Read-only binding to the contract 12685 RolesTransactor // Write-only binding to the contract 12686 RolesFilterer // Log filterer for contract events 12687 } 12688 12689 // RolesCaller is an auto generated read-only Go binding around a Klaytn contract. 12690 type RolesCaller struct { 12691 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12692 } 12693 12694 // RolesTransactor is an auto generated write-only Go binding around a Klaytn contract. 12695 type RolesTransactor struct { 12696 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12697 } 12698 12699 // RolesFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 12700 type RolesFilterer struct { 12701 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12702 } 12703 12704 // RolesSession is an auto generated Go binding around a Klaytn contract, 12705 // with pre-set call and transact options. 12706 type RolesSession struct { 12707 Contract *Roles // Generic contract binding to set the session for 12708 CallOpts bind.CallOpts // Call options to use throughout this session 12709 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 12710 } 12711 12712 // RolesCallerSession is an auto generated read-only Go binding around a Klaytn contract, 12713 // with pre-set call options. 12714 type RolesCallerSession struct { 12715 Contract *RolesCaller // Generic contract caller binding to set the session for 12716 CallOpts bind.CallOpts // Call options to use throughout this session 12717 } 12718 12719 // RolesTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 12720 // with pre-set transact options. 12721 type RolesTransactorSession struct { 12722 Contract *RolesTransactor // Generic contract transactor binding to set the session for 12723 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 12724 } 12725 12726 // RolesRaw is an auto generated low-level Go binding around a Klaytn contract. 12727 type RolesRaw struct { 12728 Contract *Roles // Generic contract binding to access the raw methods on 12729 } 12730 12731 // RolesCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 12732 type RolesCallerRaw struct { 12733 Contract *RolesCaller // Generic read-only contract binding to access the raw methods on 12734 } 12735 12736 // RolesTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 12737 type RolesTransactorRaw struct { 12738 Contract *RolesTransactor // Generic write-only contract binding to access the raw methods on 12739 } 12740 12741 // NewRoles creates a new instance of Roles, bound to a specific deployed contract. 12742 func NewRoles(address common.Address, backend bind.ContractBackend) (*Roles, error) { 12743 contract, err := bindRoles(address, backend, backend, backend) 12744 if err != nil { 12745 return nil, err 12746 } 12747 return &Roles{RolesCaller: RolesCaller{contract: contract}, RolesTransactor: RolesTransactor{contract: contract}, RolesFilterer: RolesFilterer{contract: contract}}, nil 12748 } 12749 12750 // NewRolesCaller creates a new read-only instance of Roles, bound to a specific deployed contract. 12751 func NewRolesCaller(address common.Address, caller bind.ContractCaller) (*RolesCaller, error) { 12752 contract, err := bindRoles(address, caller, nil, nil) 12753 if err != nil { 12754 return nil, err 12755 } 12756 return &RolesCaller{contract: contract}, nil 12757 } 12758 12759 // NewRolesTransactor creates a new write-only instance of Roles, bound to a specific deployed contract. 12760 func NewRolesTransactor(address common.Address, transactor bind.ContractTransactor) (*RolesTransactor, error) { 12761 contract, err := bindRoles(address, nil, transactor, nil) 12762 if err != nil { 12763 return nil, err 12764 } 12765 return &RolesTransactor{contract: contract}, nil 12766 } 12767 12768 // NewRolesFilterer creates a new log filterer instance of Roles, bound to a specific deployed contract. 12769 func NewRolesFilterer(address common.Address, filterer bind.ContractFilterer) (*RolesFilterer, error) { 12770 contract, err := bindRoles(address, nil, nil, filterer) 12771 if err != nil { 12772 return nil, err 12773 } 12774 return &RolesFilterer{contract: contract}, nil 12775 } 12776 12777 // bindRoles binds a generic wrapper to an already deployed contract. 12778 func bindRoles(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 12779 parsed, err := RolesMetaData.GetAbi() 12780 if err != nil { 12781 return nil, err 12782 } 12783 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 12784 } 12785 12786 // Call invokes the (constant) contract method with params as input values and 12787 // sets the output to result. The result type might be a single field for simple 12788 // returns, a slice of interfaces for anonymous returns and a struct for named 12789 // returns. 12790 func (_Roles *RolesRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 12791 return _Roles.Contract.RolesCaller.contract.Call(opts, result, method, params...) 12792 } 12793 12794 // Transfer initiates a plain transaction to move funds to the contract, calling 12795 // its default method if one is available. 12796 func (_Roles *RolesRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 12797 return _Roles.Contract.RolesTransactor.contract.Transfer(opts) 12798 } 12799 12800 // Transact invokes the (paid) contract method with params as input values. 12801 func (_Roles *RolesRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 12802 return _Roles.Contract.RolesTransactor.contract.Transact(opts, method, params...) 12803 } 12804 12805 // Call invokes the (constant) contract method with params as input values and 12806 // sets the output to result. The result type might be a single field for simple 12807 // returns, a slice of interfaces for anonymous returns and a struct for named 12808 // returns. 12809 func (_Roles *RolesCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 12810 return _Roles.Contract.contract.Call(opts, result, method, params...) 12811 } 12812 12813 // Transfer initiates a plain transaction to move funds to the contract, calling 12814 // its default method if one is available. 12815 func (_Roles *RolesTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 12816 return _Roles.Contract.contract.Transfer(opts) 12817 } 12818 12819 // Transact invokes the (paid) contract method with params as input values. 12820 func (_Roles *RolesTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 12821 return _Roles.Contract.contract.Transact(opts, method, params...) 12822 } 12823 12824 // SafeMathMetaData contains all meta data concerning the SafeMath contract. 12825 var SafeMathMetaData = &bind.MetaData{ 12826 ABI: "[]", 12827 Bin: "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582052c975835d8618888691b14d52ff822fc00b24a3637e28a17d824cf0361b62b90029", 12828 } 12829 12830 // SafeMathABI is the input ABI used to generate the binding from. 12831 // Deprecated: Use SafeMathMetaData.ABI instead. 12832 var SafeMathABI = SafeMathMetaData.ABI 12833 12834 // SafeMathBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 12835 const SafeMathBinRuntime = `73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582052c975835d8618888691b14d52ff822fc00b24a3637e28a17d824cf0361b62b90029` 12836 12837 // SafeMathBin is the compiled bytecode used for deploying new contracts. 12838 // Deprecated: Use SafeMathMetaData.Bin instead. 12839 var SafeMathBin = SafeMathMetaData.Bin 12840 12841 // DeploySafeMath deploys a new Klaytn contract, binding an instance of SafeMath to it. 12842 func DeploySafeMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeMath, error) { 12843 parsed, err := SafeMathMetaData.GetAbi() 12844 if err != nil { 12845 return common.Address{}, nil, nil, err 12846 } 12847 if parsed == nil { 12848 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 12849 } 12850 12851 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(SafeMathBin), backend) 12852 if err != nil { 12853 return common.Address{}, nil, nil, err 12854 } 12855 return address, tx, &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil 12856 } 12857 12858 // SafeMath is an auto generated Go binding around a Klaytn contract. 12859 type SafeMath struct { 12860 SafeMathCaller // Read-only binding to the contract 12861 SafeMathTransactor // Write-only binding to the contract 12862 SafeMathFilterer // Log filterer for contract events 12863 } 12864 12865 // SafeMathCaller is an auto generated read-only Go binding around a Klaytn contract. 12866 type SafeMathCaller struct { 12867 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12868 } 12869 12870 // SafeMathTransactor is an auto generated write-only Go binding around a Klaytn contract. 12871 type SafeMathTransactor struct { 12872 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12873 } 12874 12875 // SafeMathFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 12876 type SafeMathFilterer struct { 12877 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12878 } 12879 12880 // SafeMathSession is an auto generated Go binding around a Klaytn contract, 12881 // with pre-set call and transact options. 12882 type SafeMathSession struct { 12883 Contract *SafeMath // Generic contract binding to set the session for 12884 CallOpts bind.CallOpts // Call options to use throughout this session 12885 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 12886 } 12887 12888 // SafeMathCallerSession is an auto generated read-only Go binding around a Klaytn contract, 12889 // with pre-set call options. 12890 type SafeMathCallerSession struct { 12891 Contract *SafeMathCaller // Generic contract caller binding to set the session for 12892 CallOpts bind.CallOpts // Call options to use throughout this session 12893 } 12894 12895 // SafeMathTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 12896 // with pre-set transact options. 12897 type SafeMathTransactorSession struct { 12898 Contract *SafeMathTransactor // Generic contract transactor binding to set the session for 12899 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 12900 } 12901 12902 // SafeMathRaw is an auto generated low-level Go binding around a Klaytn contract. 12903 type SafeMathRaw struct { 12904 Contract *SafeMath // Generic contract binding to access the raw methods on 12905 } 12906 12907 // SafeMathCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 12908 type SafeMathCallerRaw struct { 12909 Contract *SafeMathCaller // Generic read-only contract binding to access the raw methods on 12910 } 12911 12912 // SafeMathTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 12913 type SafeMathTransactorRaw struct { 12914 Contract *SafeMathTransactor // Generic write-only contract binding to access the raw methods on 12915 } 12916 12917 // NewSafeMath creates a new instance of SafeMath, bound to a specific deployed contract. 12918 func NewSafeMath(address common.Address, backend bind.ContractBackend) (*SafeMath, error) { 12919 contract, err := bindSafeMath(address, backend, backend, backend) 12920 if err != nil { 12921 return nil, err 12922 } 12923 return &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil 12924 } 12925 12926 // NewSafeMathCaller creates a new read-only instance of SafeMath, bound to a specific deployed contract. 12927 func NewSafeMathCaller(address common.Address, caller bind.ContractCaller) (*SafeMathCaller, error) { 12928 contract, err := bindSafeMath(address, caller, nil, nil) 12929 if err != nil { 12930 return nil, err 12931 } 12932 return &SafeMathCaller{contract: contract}, nil 12933 } 12934 12935 // NewSafeMathTransactor creates a new write-only instance of SafeMath, bound to a specific deployed contract. 12936 func NewSafeMathTransactor(address common.Address, transactor bind.ContractTransactor) (*SafeMathTransactor, error) { 12937 contract, err := bindSafeMath(address, nil, transactor, nil) 12938 if err != nil { 12939 return nil, err 12940 } 12941 return &SafeMathTransactor{contract: contract}, nil 12942 } 12943 12944 // NewSafeMathFilterer creates a new log filterer instance of SafeMath, bound to a specific deployed contract. 12945 func NewSafeMathFilterer(address common.Address, filterer bind.ContractFilterer) (*SafeMathFilterer, error) { 12946 contract, err := bindSafeMath(address, nil, nil, filterer) 12947 if err != nil { 12948 return nil, err 12949 } 12950 return &SafeMathFilterer{contract: contract}, nil 12951 } 12952 12953 // bindSafeMath binds a generic wrapper to an already deployed contract. 12954 func bindSafeMath(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 12955 parsed, err := SafeMathMetaData.GetAbi() 12956 if err != nil { 12957 return nil, err 12958 } 12959 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 12960 } 12961 12962 // Call invokes the (constant) contract method with params as input values and 12963 // sets the output to result. The result type might be a single field for simple 12964 // returns, a slice of interfaces for anonymous returns and a struct for named 12965 // returns. 12966 func (_SafeMath *SafeMathRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 12967 return _SafeMath.Contract.SafeMathCaller.contract.Call(opts, result, method, params...) 12968 } 12969 12970 // Transfer initiates a plain transaction to move funds to the contract, calling 12971 // its default method if one is available. 12972 func (_SafeMath *SafeMathRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 12973 return _SafeMath.Contract.SafeMathTransactor.contract.Transfer(opts) 12974 } 12975 12976 // Transact invokes the (paid) contract method with params as input values. 12977 func (_SafeMath *SafeMathRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 12978 return _SafeMath.Contract.SafeMathTransactor.contract.Transact(opts, method, params...) 12979 } 12980 12981 // Call invokes the (constant) contract method with params as input values and 12982 // sets the output to result. The result type might be a single field for simple 12983 // returns, a slice of interfaces for anonymous returns and a struct for named 12984 // returns. 12985 func (_SafeMath *SafeMathCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 12986 return _SafeMath.Contract.contract.Call(opts, result, method, params...) 12987 } 12988 12989 // Transfer initiates a plain transaction to move funds to the contract, calling 12990 // its default method if one is available. 12991 func (_SafeMath *SafeMathTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 12992 return _SafeMath.Contract.contract.Transfer(opts) 12993 } 12994 12995 // Transact invokes the (paid) contract method with params as input values. 12996 func (_SafeMath *SafeMathTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 12997 return _SafeMath.Contract.contract.Transact(opts, method, params...) 12998 } 12999 13000 // ServiceChainNFTMetaData contains all meta data concerning the ServiceChainNFT contract. 13001 var ServiceChainNFTMetaData = &bind.MetaData{ 13002 ABI: "[{\"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\"}]", 13003 Sigs: map[string]string{ 13004 "983b2d56": "addMinter(address)", 13005 "095ea7b3": "approve(address,uint256)", 13006 "70a08231": "balanceOf(address)", 13007 "e78cea92": "bridge()", 13008 "42966c68": "burn(uint256)", 13009 "081812fc": "getApproved(uint256)", 13010 "e985e9c5": "isApprovedForAll(address,address)", 13011 "aa271e1a": "isMinter(address)", 13012 "8f32d59b": "isOwner()", 13013 "50bb4e7f": "mintWithTokenURI(address,uint256,string)", 13014 "06fdde03": "name()", 13015 "8da5cb5b": "owner()", 13016 "6352211e": "ownerOf(uint256)", 13017 "7a9adac6": "registerBulk(address,uint256,uint256)", 13018 "98650275": "renounceMinter()", 13019 "715018a6": "renounceOwnership()", 13020 "3f4c4e3d": "requestValueTransfer(uint256,address,bytes)", 13021 "42842e0e": "safeTransferFrom(address,address,uint256)", 13022 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 13023 "a22cb465": "setApprovalForAll(address,bool)", 13024 "8dd14802": "setBridge(address)", 13025 "01ffc9a7": "supportsInterface(bytes4)", 13026 "95d89b41": "symbol()", 13027 "4f6ccce7": "tokenByIndex(uint256)", 13028 "2f745c59": "tokenOfOwnerByIndex(address,uint256)", 13029 "c87b56dd": "tokenURI(uint256)", 13030 "18160ddd": "totalSupply()", 13031 "23b872dd": "transferFrom(address,address,uint256)", 13032 "f2fde38b": "transferOwnership(address)", 13033 }, 13034 Bin: "0x60806040523480156200001157600080fd5b50604051602080620029a6833981018060405260208110156200003357600080fd5b5051604080518082018252600f81527f53657276696365436861696e4e465400000000000000000000000000000000006020828101919091528251808401909352600383527f53434e00000000000000000000000000000000000000000000000000000000008382015283929082908290620000d5907f01ffc9a70000000000000000000000000000000000000000000000000000000090620001c3811b901c565b620000ed6380ac58cd60e01b620001c360201b60201c565b6200010563780e9d6360e01b620001c360201b60201c565b81516200011a9060099060208501906200054c565b5080516200013090600a9060208401906200054c565b5062000149635b5e139f60e01b620001c360201b60201c565b505050506200015e336200029260201b60201c565b600d80546001600160a01b0319163317908190556040516001600160a01b0391909116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3620001bb81620002e460201b60201c565b5050620005ee565b7fffffffff0000000000000000000000000000000000000000000000000000000080821614156200025557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b620002ad81600c6200040d60201b62001b9f1790919060201c565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b620002f4620004b160201b60201c565b6200036057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6200037f816001600160a01b0316620004c360201b620014821760201c565b620003eb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f627269646765206973206e6f74206120636f6e74726163740000000000000000604482015290519081900360640190fd5b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6200041f8282620004c960201b60201c565b156200048c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b600d546001600160a01b031633145b90565b3b151590565b60006001600160a01b0382166200052c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180620029846022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200058f57805160ff1916838001178555620005bf565b82800160010185558215620005bf579182015b82811115620005bf578251825591602001919060010190620005a2565b50620005cd929150620005d1565b5090565b620004c091905b80821115620005cd5760008155600101620005d8565b61238680620005fe6000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a61161010457806398650275116100a2578063c87b56dd11610071578063c87b56dd14610722578063e78cea921461073f578063e985e9c514610747578063f2fde38b14610775576101cf565b80639865027514610600578063a22cb46514610608578063aa271e1a14610636578063b88d4fde1461065c576101cf565b80638dd14802116100de5780638dd14802146105a45780638f32d59b146105ca57806395d89b41146105d2578063983b2d56146105da576101cf565b8063715018a6146105625780637a9adac61461056a5780638da5cb5b1461059c576101cf565b80633f4c4e3d116101715780634f6ccce71161014b5780634f6ccce71461044757806350bb4e7f146104645780636352211e1461051f57806370a082311461053c576101cf565b80633f4c4e3d1461036f57806342842e0e146103f457806342966c681461042a576101cf565b8063095ea7b3116101ad578063095ea7b3146102c557806318160ddd146102f357806323b872dd1461030d5780632f745c5914610343576101cf565b806301ffc9a7146101d457806306fdde031461020f578063081812fc1461028c575b600080fd5b6101fb600480360360208110156101ea57600080fd5b50356001600160e01b03191661079b565b604080519115158252519081900360200190f35b6102176107ba565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610251578181015183820152602001610239565b50505050905090810190601f16801561027e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102a9600480360360208110156102a257600080fd5b5035610851565b604080516001600160a01b039092168252519081900360200190f35b6102f1600480360360408110156102db57600080fd5b506001600160a01b0381351690602001356108b6565b005b6102fb6109cd565b60408051918252519081900360200190f35b6102f16004803603606081101561032357600080fd5b506001600160a01b038135811691602081013590911690604001356109d3565b6102fb6004803603604081101561035957600080fd5b506001600160a01b038135169060200135610a2b565b6102f16004803603606081101561038557600080fd5b8135916001600160a01b03602082013516918101906060810160408201356401000000008111156103b557600080fd5b8201836020820111156103c757600080fd5b803590602001918460018302840111640100000000831117156103e957600080fd5b509092509050610aad565b6102f16004803603606081101561040a57600080fd5b506001600160a01b03813581169160208101359091169060400135610b7a565b6102f16004803603602081101561044057600080fd5b5035610b95565b6102fb6004803603602081101561045d57600080fd5b5035610be9565b6101fb6004803603606081101561047a57600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156104aa57600080fd5b8201836020820111156104bc57600080fd5b803590602001918460018302840111640100000000831117156104de57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610c52945050505050565b6102a96004803603602081101561053557600080fd5b5035610cb9565b6102fb6004803603602081101561055257600080fd5b50356001600160a01b0316610d16565b6102f1610d81565b6102f16004803603606081101561058057600080fd5b506001600160a01b038135169060208101359060400135610e15565b6102a9610ea5565b6102f1600480360360208110156105ba57600080fd5b50356001600160a01b0316610eb4565b6101fb610f86565b610217610f97565b6102f1600480360360208110156105f057600080fd5b50356001600160a01b0316610ff8565b6102f1611048565b6102f16004803603604081101561061e57600080fd5b506001600160a01b0381351690602001351515611053565b6101fb6004803603602081101561064c57600080fd5b50356001600160a01b0316611122565b6102f16004803603608081101561067257600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156106ad57600080fd5b8201836020820111156106bf57600080fd5b803590602001918460018302840111640100000000831117156106e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611135945050505050565b6102176004803603602081101561073857600080fd5b503561118a565b6102a9611272565b6101fb6004803603604081101561075d57600080fd5b506001600160a01b0381358116916020013516611281565b6102f16004803603602081101561078b57600080fd5b50356001600160a01b03166112af565b6001600160e01b03191660009081526020819052604090205460ff1690565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108465780601f1061081b57610100808354040283529160200191610846565b820191906000526020600020905b81548152906001019060200180831161082957829003601f168201915b505050505090505b90565b600061085c82611302565b61089a57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180612196602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006108c182610cb9565b9050806001600160a01b0316836001600160a01b0316141561091757604051600160e51b62461bcd0281526004018080602001828103825260218152602001806122886021913960400191505060405180910390fd5b336001600160a01b038216148061093357506109338133611281565b61097157604051600160e51b62461bcd0281526004018080602001828103825260388152602001806120ba6038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60075490565b6109dd338261131f565b610a1b57604051600160e51b62461bcd0281526004018080602001828103825260318152602001806122a96031913960400191505060405180910390fd5b610a268383836113c6565b505050565b6000610a3683610d16565b8210610a7657604051600160e51b62461bcd02815260040180806020018281038252602b815260200180611fe7602b913960400191505060405180910390fd5b6001600160a01b0383166000908152600560205260409020805483908110610a9a57fe5b9060005260206000200154905092915050565b600e54610ac59033906001600160a01b0316866109d3565b600e54604051600160e41b630cf0da290281523360048201818152602483018890526001600160a01b0387811660448501526080606485019081526084850187905294169363cf0da290938992899289928992919060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015610b5c57600080fd5b505af1158015610b70573d6000803e3d6000fd5b5050505050505050565b610a2683838360405180602001604052806000815250611135565b610b9f338261131f565b610bdd57604051600160e51b62461bcd02815260040180806020018281038252603081526020018061232b6030913960400191505060405180910390fd5b610be6816113e5565b50565b6000610bf36109cd565b8210610c3357604051600160e51b62461bcd02815260040180806020018281038252602c8152602001806122da602c913960400191505060405180910390fd5b60078281548110610c4057fe5b90600052602060002001549050919050565b6000610c5d33611122565b610c9b57604051600160e51b62461bcd0281526004018080602001828103825260308152602001806121456030913960400191505060405180910390fd5b610ca584846113f7565b610caf8383611418565b5060019392505050565b6000818152600160205260408120546001600160a01b031680610d1057604051600160e51b62461bcd02815260040180806020018281038252602981526020018061211c6029913960400191505060405180910390fd5b92915050565b60006001600160a01b038216610d6057604051600160e51b62461bcd02815260040180806020018281038252602a8152602001806120f2602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020610d109061147e565b610d89610f86565b610dcb5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206121ee833981519152604482015290519081900360640190fd5b600d546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600d80546001600160a01b0319169055565b610e1d610f86565b610e5f5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206121ee833981519152604482015290519081900360640190fd5b815b81811015610e9f57610e968482604051806040016040528060078152602001600160c81b667465737455524902815250610c52565b50600101610e61565b50505050565b600d546001600160a01b031690565b610ebc610f86565b610efe5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206121ee833981519152604482015290519081900360640190fd5b610f10816001600160a01b0316611482565b610f645760408051600160e51b62461bcd02815260206004820152601860248201527f627269646765206973206e6f74206120636f6e74726163740000000000000000604482015290519081900360640190fd5b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b600d546001600160a01b0316331490565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108465780601f1061081b57610100808354040283529160200191610846565b61100133611122565b61103f57604051600160e51b62461bcd0281526004018080602001828103825260308152602001806121456030913960400191505060405180910390fd5b610be681611488565b611051336114d0565b565b6001600160a01b0382163314156110b45760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6000610d10600c8363ffffffff61151816565b6111408484846109d3565b61114c84848484611582565b610e9f57604051600160e51b62461bcd0281526004018080602001828103825260328152602001806120126032913960400191505060405180910390fd5b606061119582611302565b6111d357604051600160e51b62461bcd02815260040180806020018281038252602f815260200180612259602f913960400191505060405180910390fd5b6000828152600b602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156112665780601f1061123b57610100808354040283529160200191611266565b820191906000526020600020905b81548152906001019060200180831161124957829003601f168201915b50505050509050919050565b600e546001600160a01b031681565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6112b7610f86565b6112f95760408051600160e51b62461bcd02815260206004820181905260248201526000805160206121ee833981519152604482015290519081900360640190fd5b610be6816116bb565b6000908152600160205260409020546001600160a01b0316151590565b600061132a82611302565b61136857604051600160e51b62461bcd02815260040180806020018281038252602c81526020018061208e602c913960400191505060405180910390fd5b600061137383610cb9565b9050806001600160a01b0316846001600160a01b031614806113ae5750836001600160a01b03166113a384610851565b6001600160a01b0316145b806113be57506113be8185611281565b949350505050565b6113d183838361175f565b6113db83826118a9565b610a26828261199e565b610be66113f182610cb9565b826119dc565b6114018282611a24565b61140b828261199e565b61141481611b5b565b5050565b61142182611302565b61145f57604051600160e51b62461bcd02815260040180806020018281038252602c8152602001806121c2602c913960400191505060405180910390fd5b6000828152600b602090815260409091208251610a2692840190611eea565b5490565b3b151590565b611499600c8263ffffffff611b9f16565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6114e1600c8263ffffffff611c2316565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b03821661156257604051600160e51b62461bcd02815260040180806020018281038252602281526020018061220e6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6000611596846001600160a01b0316611482565b6115a2575060016113be565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b8381101561161f578181015183820152602001611607565b50505050905090810190601f16801561164c5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561166e57600080fd5b505af1158015611682573d6000803e3d6000fd5b505050506040513d602081101561169857600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6001600160a01b03811661170357604051600160e51b62461bcd0281526004018080602001828103825260268152602001806120446026913960400191505060405180910390fd5b600d546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600d80546001600160a01b0319166001600160a01b0392909216919091179055565b826001600160a01b031661177282610cb9565b6001600160a01b0316146117ba57604051600160e51b62461bcd0281526004018080602001828103825260298152602001806122306029913960400191505060405180910390fd5b6001600160a01b03821661180257604051600160e51b62461bcd02815260040180806020018281038252602481526020018061206a6024913960400191505060405180910390fd5b61180b81611c8d565b6001600160a01b038316600090815260036020526040902061182c90611cc8565b6001600160a01b038216600090815260036020526040902061184d90611cdf565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b0382166000908152600560205260408120546118d390600163ffffffff611ce816565b60008381526006602052604090205490915080821461196e576001600160a01b038416600090815260056020526040812080548490811061191057fe5b906000526020600020015490508060056000876001600160a01b03166001600160a01b03168152602001908152602001600020838154811061194e57fe5b600091825260208083209091019290925591825260069052604090208190555b6001600160a01b0384166000908152600560205260409020805490611997906000198301611f68565b5050505050565b6001600160a01b0390911660009081526005602081815260408084208054868652600684529185208290559282526001810183559183529091200155565b6119e68282611d48565b6000818152600b60205260409020546002600019610100600184161502019091160415611414576000818152600b6020526040812061141491611f8c565b6001600160a01b038216611a825760408051600160e51b62461bcd02815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b611a8b81611302565b15611ae05760408051600160e51b62461bcd02815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b600081815260016020908152604080832080546001600160a01b0319166001600160a01b038716908117909155835260039091529020611b1f90611cdf565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600780546000838152600860205260408120829055600182018355919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880155565b611ba98282611518565b15611bfe5760408051600160e51b62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b611c2d8282611518565b611c6b57604051600160e51b62461bcd0281526004018080602001828103825260218152602001806121756021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b6000818152600260205260409020546001600160a01b031615610be657600090815260026020526040902080546001600160a01b0319169055565b8054611cdb90600163ffffffff611ce816565b9055565b80546001019055565b600082821115611d425760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b611d528282611d74565b611d5c82826118a9565b60008181526006602052604081205561141481611e4e565b816001600160a01b0316611d8782610cb9565b6001600160a01b031614611dcf57604051600160e51b62461bcd0281526004018080602001828103825260258152602001806123066025913960400191505060405180910390fd5b611dd881611c8d565b6001600160a01b0382166000908152600360205260409020611df990611cc8565b60008181526001602052604080822080546001600160a01b0319169055518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600754600090611e6590600163ffffffff611ce816565b60008381526008602052604081205460078054939450909284908110611e8757fe5b906000526020600020015490508060078381548110611ea257fe5b60009182526020808320909101929092558281526008909152604090208290556007805490611ed5906000198301611f68565b50505060009182525060086020526040812055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611f2b57805160ff1916838001178555611f58565b82800160010185558215611f58579182015b82811115611f58578251825591602001919060010190611f3d565b50611f64929150611fcc565b5090565b815481835581811115610a2657600083815260209020610a26918101908301611fcc565b50805460018160011615610100020316600290046000825580601f10611fb25750610be6565b601f016020900490600052602060002090810190610be691905b61084e91905b80821115611f645760008155600101611fd256fe455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c654552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572526f6c65733a206163636f756e7420697320746865207a65726f20616464726573734552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e64734552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a72305820032306241b3cccba21fdcf87e3b2bf569b6dece599dd576928df55e517c30de90029526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373", 13035 } 13036 13037 // ServiceChainNFTABI is the input ABI used to generate the binding from. 13038 // Deprecated: Use ServiceChainNFTMetaData.ABI instead. 13039 var ServiceChainNFTABI = ServiceChainNFTMetaData.ABI 13040 13041 // ServiceChainNFTBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 13042 const ServiceChainNFTBinRuntime = `608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a61161010457806398650275116100a2578063c87b56dd11610071578063c87b56dd14610722578063e78cea921461073f578063e985e9c514610747578063f2fde38b14610775576101cf565b80639865027514610600578063a22cb46514610608578063aa271e1a14610636578063b88d4fde1461065c576101cf565b80638dd14802116100de5780638dd14802146105a45780638f32d59b146105ca57806395d89b41146105d2578063983b2d56146105da576101cf565b8063715018a6146105625780637a9adac61461056a5780638da5cb5b1461059c576101cf565b80633f4c4e3d116101715780634f6ccce71161014b5780634f6ccce71461044757806350bb4e7f146104645780636352211e1461051f57806370a082311461053c576101cf565b80633f4c4e3d1461036f57806342842e0e146103f457806342966c681461042a576101cf565b8063095ea7b3116101ad578063095ea7b3146102c557806318160ddd146102f357806323b872dd1461030d5780632f745c5914610343576101cf565b806301ffc9a7146101d457806306fdde031461020f578063081812fc1461028c575b600080fd5b6101fb600480360360208110156101ea57600080fd5b50356001600160e01b03191661079b565b604080519115158252519081900360200190f35b6102176107ba565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610251578181015183820152602001610239565b50505050905090810190601f16801561027e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102a9600480360360208110156102a257600080fd5b5035610851565b604080516001600160a01b039092168252519081900360200190f35b6102f1600480360360408110156102db57600080fd5b506001600160a01b0381351690602001356108b6565b005b6102fb6109cd565b60408051918252519081900360200190f35b6102f16004803603606081101561032357600080fd5b506001600160a01b038135811691602081013590911690604001356109d3565b6102fb6004803603604081101561035957600080fd5b506001600160a01b038135169060200135610a2b565b6102f16004803603606081101561038557600080fd5b8135916001600160a01b03602082013516918101906060810160408201356401000000008111156103b557600080fd5b8201836020820111156103c757600080fd5b803590602001918460018302840111640100000000831117156103e957600080fd5b509092509050610aad565b6102f16004803603606081101561040a57600080fd5b506001600160a01b03813581169160208101359091169060400135610b7a565b6102f16004803603602081101561044057600080fd5b5035610b95565b6102fb6004803603602081101561045d57600080fd5b5035610be9565b6101fb6004803603606081101561047a57600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156104aa57600080fd5b8201836020820111156104bc57600080fd5b803590602001918460018302840111640100000000831117156104de57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610c52945050505050565b6102a96004803603602081101561053557600080fd5b5035610cb9565b6102fb6004803603602081101561055257600080fd5b50356001600160a01b0316610d16565b6102f1610d81565b6102f16004803603606081101561058057600080fd5b506001600160a01b038135169060208101359060400135610e15565b6102a9610ea5565b6102f1600480360360208110156105ba57600080fd5b50356001600160a01b0316610eb4565b6101fb610f86565b610217610f97565b6102f1600480360360208110156105f057600080fd5b50356001600160a01b0316610ff8565b6102f1611048565b6102f16004803603604081101561061e57600080fd5b506001600160a01b0381351690602001351515611053565b6101fb6004803603602081101561064c57600080fd5b50356001600160a01b0316611122565b6102f16004803603608081101561067257600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156106ad57600080fd5b8201836020820111156106bf57600080fd5b803590602001918460018302840111640100000000831117156106e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611135945050505050565b6102176004803603602081101561073857600080fd5b503561118a565b6102a9611272565b6101fb6004803603604081101561075d57600080fd5b506001600160a01b0381358116916020013516611281565b6102f16004803603602081101561078b57600080fd5b50356001600160a01b03166112af565b6001600160e01b03191660009081526020819052604090205460ff1690565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108465780601f1061081b57610100808354040283529160200191610846565b820191906000526020600020905b81548152906001019060200180831161082957829003601f168201915b505050505090505b90565b600061085c82611302565b61089a57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180612196602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006108c182610cb9565b9050806001600160a01b0316836001600160a01b0316141561091757604051600160e51b62461bcd0281526004018080602001828103825260218152602001806122886021913960400191505060405180910390fd5b336001600160a01b038216148061093357506109338133611281565b61097157604051600160e51b62461bcd0281526004018080602001828103825260388152602001806120ba6038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60075490565b6109dd338261131f565b610a1b57604051600160e51b62461bcd0281526004018080602001828103825260318152602001806122a96031913960400191505060405180910390fd5b610a268383836113c6565b505050565b6000610a3683610d16565b8210610a7657604051600160e51b62461bcd02815260040180806020018281038252602b815260200180611fe7602b913960400191505060405180910390fd5b6001600160a01b0383166000908152600560205260409020805483908110610a9a57fe5b9060005260206000200154905092915050565b600e54610ac59033906001600160a01b0316866109d3565b600e54604051600160e41b630cf0da290281523360048201818152602483018890526001600160a01b0387811660448501526080606485019081526084850187905294169363cf0da290938992899289928992919060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015610b5c57600080fd5b505af1158015610b70573d6000803e3d6000fd5b5050505050505050565b610a2683838360405180602001604052806000815250611135565b610b9f338261131f565b610bdd57604051600160e51b62461bcd02815260040180806020018281038252603081526020018061232b6030913960400191505060405180910390fd5b610be6816113e5565b50565b6000610bf36109cd565b8210610c3357604051600160e51b62461bcd02815260040180806020018281038252602c8152602001806122da602c913960400191505060405180910390fd5b60078281548110610c4057fe5b90600052602060002001549050919050565b6000610c5d33611122565b610c9b57604051600160e51b62461bcd0281526004018080602001828103825260308152602001806121456030913960400191505060405180910390fd5b610ca584846113f7565b610caf8383611418565b5060019392505050565b6000818152600160205260408120546001600160a01b031680610d1057604051600160e51b62461bcd02815260040180806020018281038252602981526020018061211c6029913960400191505060405180910390fd5b92915050565b60006001600160a01b038216610d6057604051600160e51b62461bcd02815260040180806020018281038252602a8152602001806120f2602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020610d109061147e565b610d89610f86565b610dcb5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206121ee833981519152604482015290519081900360640190fd5b600d546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600d80546001600160a01b0319169055565b610e1d610f86565b610e5f5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206121ee833981519152604482015290519081900360640190fd5b815b81811015610e9f57610e968482604051806040016040528060078152602001600160c81b667465737455524902815250610c52565b50600101610e61565b50505050565b600d546001600160a01b031690565b610ebc610f86565b610efe5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206121ee833981519152604482015290519081900360640190fd5b610f10816001600160a01b0316611482565b610f645760408051600160e51b62461bcd02815260206004820152601860248201527f627269646765206973206e6f74206120636f6e74726163740000000000000000604482015290519081900360640190fd5b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b600d546001600160a01b0316331490565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108465780601f1061081b57610100808354040283529160200191610846565b61100133611122565b61103f57604051600160e51b62461bcd0281526004018080602001828103825260308152602001806121456030913960400191505060405180910390fd5b610be681611488565b611051336114d0565b565b6001600160a01b0382163314156110b45760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6000610d10600c8363ffffffff61151816565b6111408484846109d3565b61114c84848484611582565b610e9f57604051600160e51b62461bcd0281526004018080602001828103825260328152602001806120126032913960400191505060405180910390fd5b606061119582611302565b6111d357604051600160e51b62461bcd02815260040180806020018281038252602f815260200180612259602f913960400191505060405180910390fd5b6000828152600b602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156112665780601f1061123b57610100808354040283529160200191611266565b820191906000526020600020905b81548152906001019060200180831161124957829003601f168201915b50505050509050919050565b600e546001600160a01b031681565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6112b7610f86565b6112f95760408051600160e51b62461bcd02815260206004820181905260248201526000805160206121ee833981519152604482015290519081900360640190fd5b610be6816116bb565b6000908152600160205260409020546001600160a01b0316151590565b600061132a82611302565b61136857604051600160e51b62461bcd02815260040180806020018281038252602c81526020018061208e602c913960400191505060405180910390fd5b600061137383610cb9565b9050806001600160a01b0316846001600160a01b031614806113ae5750836001600160a01b03166113a384610851565b6001600160a01b0316145b806113be57506113be8185611281565b949350505050565b6113d183838361175f565b6113db83826118a9565b610a26828261199e565b610be66113f182610cb9565b826119dc565b6114018282611a24565b61140b828261199e565b61141481611b5b565b5050565b61142182611302565b61145f57604051600160e51b62461bcd02815260040180806020018281038252602c8152602001806121c2602c913960400191505060405180910390fd5b6000828152600b602090815260409091208251610a2692840190611eea565b5490565b3b151590565b611499600c8263ffffffff611b9f16565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6114e1600c8263ffffffff611c2316565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b03821661156257604051600160e51b62461bcd02815260040180806020018281038252602281526020018061220e6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6000611596846001600160a01b0316611482565b6115a2575060016113be565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b8381101561161f578181015183820152602001611607565b50505050905090810190601f16801561164c5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561166e57600080fd5b505af1158015611682573d6000803e3d6000fd5b505050506040513d602081101561169857600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6001600160a01b03811661170357604051600160e51b62461bcd0281526004018080602001828103825260268152602001806120446026913960400191505060405180910390fd5b600d546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600d80546001600160a01b0319166001600160a01b0392909216919091179055565b826001600160a01b031661177282610cb9565b6001600160a01b0316146117ba57604051600160e51b62461bcd0281526004018080602001828103825260298152602001806122306029913960400191505060405180910390fd5b6001600160a01b03821661180257604051600160e51b62461bcd02815260040180806020018281038252602481526020018061206a6024913960400191505060405180910390fd5b61180b81611c8d565b6001600160a01b038316600090815260036020526040902061182c90611cc8565b6001600160a01b038216600090815260036020526040902061184d90611cdf565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b0382166000908152600560205260408120546118d390600163ffffffff611ce816565b60008381526006602052604090205490915080821461196e576001600160a01b038416600090815260056020526040812080548490811061191057fe5b906000526020600020015490508060056000876001600160a01b03166001600160a01b03168152602001908152602001600020838154811061194e57fe5b600091825260208083209091019290925591825260069052604090208190555b6001600160a01b0384166000908152600560205260409020805490611997906000198301611f68565b5050505050565b6001600160a01b0390911660009081526005602081815260408084208054868652600684529185208290559282526001810183559183529091200155565b6119e68282611d48565b6000818152600b60205260409020546002600019610100600184161502019091160415611414576000818152600b6020526040812061141491611f8c565b6001600160a01b038216611a825760408051600160e51b62461bcd02815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b611a8b81611302565b15611ae05760408051600160e51b62461bcd02815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b600081815260016020908152604080832080546001600160a01b0319166001600160a01b038716908117909155835260039091529020611b1f90611cdf565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600780546000838152600860205260408120829055600182018355919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880155565b611ba98282611518565b15611bfe5760408051600160e51b62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b611c2d8282611518565b611c6b57604051600160e51b62461bcd0281526004018080602001828103825260218152602001806121756021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b6000818152600260205260409020546001600160a01b031615610be657600090815260026020526040902080546001600160a01b0319169055565b8054611cdb90600163ffffffff611ce816565b9055565b80546001019055565b600082821115611d425760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b611d528282611d74565b611d5c82826118a9565b60008181526006602052604081205561141481611e4e565b816001600160a01b0316611d8782610cb9565b6001600160a01b031614611dcf57604051600160e51b62461bcd0281526004018080602001828103825260258152602001806123066025913960400191505060405180910390fd5b611dd881611c8d565b6001600160a01b0382166000908152600360205260409020611df990611cc8565b60008181526001602052604080822080546001600160a01b0319169055518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600754600090611e6590600163ffffffff611ce816565b60008381526008602052604081205460078054939450909284908110611e8757fe5b906000526020600020015490508060078381548110611ea257fe5b60009182526020808320909101929092558281526008909152604090208290556007805490611ed5906000198301611f68565b50505060009182525060086020526040812055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611f2b57805160ff1916838001178555611f58565b82800160010185558215611f58579182015b82811115611f58578251825591602001919060010190611f3d565b50611f64929150611fcc565b5090565b815481835581811115610a2657600083815260209020610a26918101908301611fcc565b50805460018160011615610100020316600290046000825580601f10611fb25750610be6565b601f016020900490600052602060002090810190610be691905b61084e91905b80821115611f645760008155600101611fd256fe455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c654552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572526f6c65733a206163636f756e7420697320746865207a65726f20616464726573734552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e64734552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a72305820032306241b3cccba21fdcf87e3b2bf569b6dece599dd576928df55e517c30de90029` 13043 13044 // ServiceChainNFTFuncSigs maps the 4-byte function signature to its string representation. 13045 // Deprecated: Use ServiceChainNFTMetaData.Sigs instead. 13046 var ServiceChainNFTFuncSigs = ServiceChainNFTMetaData.Sigs 13047 13048 // ServiceChainNFTBin is the compiled bytecode used for deploying new contracts. 13049 // Deprecated: Use ServiceChainNFTMetaData.Bin instead. 13050 var ServiceChainNFTBin = ServiceChainNFTMetaData.Bin 13051 13052 // DeployServiceChainNFT deploys a new Klaytn contract, binding an instance of ServiceChainNFT to it. 13053 func DeployServiceChainNFT(auth *bind.TransactOpts, backend bind.ContractBackend, _bridge common.Address) (common.Address, *types.Transaction, *ServiceChainNFT, error) { 13054 parsed, err := ServiceChainNFTMetaData.GetAbi() 13055 if err != nil { 13056 return common.Address{}, nil, nil, err 13057 } 13058 if parsed == nil { 13059 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 13060 } 13061 13062 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ServiceChainNFTBin), backend, _bridge) 13063 if err != nil { 13064 return common.Address{}, nil, nil, err 13065 } 13066 return address, tx, &ServiceChainNFT{ServiceChainNFTCaller: ServiceChainNFTCaller{contract: contract}, ServiceChainNFTTransactor: ServiceChainNFTTransactor{contract: contract}, ServiceChainNFTFilterer: ServiceChainNFTFilterer{contract: contract}}, nil 13067 } 13068 13069 // ServiceChainNFT is an auto generated Go binding around a Klaytn contract. 13070 type ServiceChainNFT struct { 13071 ServiceChainNFTCaller // Read-only binding to the contract 13072 ServiceChainNFTTransactor // Write-only binding to the contract 13073 ServiceChainNFTFilterer // Log filterer for contract events 13074 } 13075 13076 // ServiceChainNFTCaller is an auto generated read-only Go binding around a Klaytn contract. 13077 type ServiceChainNFTCaller struct { 13078 contract *bind.BoundContract // Generic contract wrapper for the low level calls 13079 } 13080 13081 // ServiceChainNFTTransactor is an auto generated write-only Go binding around a Klaytn contract. 13082 type ServiceChainNFTTransactor struct { 13083 contract *bind.BoundContract // Generic contract wrapper for the low level calls 13084 } 13085 13086 // ServiceChainNFTFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 13087 type ServiceChainNFTFilterer struct { 13088 contract *bind.BoundContract // Generic contract wrapper for the low level calls 13089 } 13090 13091 // ServiceChainNFTSession is an auto generated Go binding around a Klaytn contract, 13092 // with pre-set call and transact options. 13093 type ServiceChainNFTSession struct { 13094 Contract *ServiceChainNFT // Generic contract binding to set the session for 13095 CallOpts bind.CallOpts // Call options to use throughout this session 13096 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 13097 } 13098 13099 // ServiceChainNFTCallerSession is an auto generated read-only Go binding around a Klaytn contract, 13100 // with pre-set call options. 13101 type ServiceChainNFTCallerSession struct { 13102 Contract *ServiceChainNFTCaller // Generic contract caller binding to set the session for 13103 CallOpts bind.CallOpts // Call options to use throughout this session 13104 } 13105 13106 // ServiceChainNFTTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 13107 // with pre-set transact options. 13108 type ServiceChainNFTTransactorSession struct { 13109 Contract *ServiceChainNFTTransactor // Generic contract transactor binding to set the session for 13110 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 13111 } 13112 13113 // ServiceChainNFTRaw is an auto generated low-level Go binding around a Klaytn contract. 13114 type ServiceChainNFTRaw struct { 13115 Contract *ServiceChainNFT // Generic contract binding to access the raw methods on 13116 } 13117 13118 // ServiceChainNFTCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 13119 type ServiceChainNFTCallerRaw struct { 13120 Contract *ServiceChainNFTCaller // Generic read-only contract binding to access the raw methods on 13121 } 13122 13123 // ServiceChainNFTTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 13124 type ServiceChainNFTTransactorRaw struct { 13125 Contract *ServiceChainNFTTransactor // Generic write-only contract binding to access the raw methods on 13126 } 13127 13128 // NewServiceChainNFT creates a new instance of ServiceChainNFT, bound to a specific deployed contract. 13129 func NewServiceChainNFT(address common.Address, backend bind.ContractBackend) (*ServiceChainNFT, error) { 13130 contract, err := bindServiceChainNFT(address, backend, backend, backend) 13131 if err != nil { 13132 return nil, err 13133 } 13134 return &ServiceChainNFT{ServiceChainNFTCaller: ServiceChainNFTCaller{contract: contract}, ServiceChainNFTTransactor: ServiceChainNFTTransactor{contract: contract}, ServiceChainNFTFilterer: ServiceChainNFTFilterer{contract: contract}}, nil 13135 } 13136 13137 // NewServiceChainNFTCaller creates a new read-only instance of ServiceChainNFT, bound to a specific deployed contract. 13138 func NewServiceChainNFTCaller(address common.Address, caller bind.ContractCaller) (*ServiceChainNFTCaller, error) { 13139 contract, err := bindServiceChainNFT(address, caller, nil, nil) 13140 if err != nil { 13141 return nil, err 13142 } 13143 return &ServiceChainNFTCaller{contract: contract}, nil 13144 } 13145 13146 // NewServiceChainNFTTransactor creates a new write-only instance of ServiceChainNFT, bound to a specific deployed contract. 13147 func NewServiceChainNFTTransactor(address common.Address, transactor bind.ContractTransactor) (*ServiceChainNFTTransactor, error) { 13148 contract, err := bindServiceChainNFT(address, nil, transactor, nil) 13149 if err != nil { 13150 return nil, err 13151 } 13152 return &ServiceChainNFTTransactor{contract: contract}, nil 13153 } 13154 13155 // NewServiceChainNFTFilterer creates a new log filterer instance of ServiceChainNFT, bound to a specific deployed contract. 13156 func NewServiceChainNFTFilterer(address common.Address, filterer bind.ContractFilterer) (*ServiceChainNFTFilterer, error) { 13157 contract, err := bindServiceChainNFT(address, nil, nil, filterer) 13158 if err != nil { 13159 return nil, err 13160 } 13161 return &ServiceChainNFTFilterer{contract: contract}, nil 13162 } 13163 13164 // bindServiceChainNFT binds a generic wrapper to an already deployed contract. 13165 func bindServiceChainNFT(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 13166 parsed, err := ServiceChainNFTMetaData.GetAbi() 13167 if err != nil { 13168 return nil, err 13169 } 13170 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 13171 } 13172 13173 // Call invokes the (constant) contract method with params as input values and 13174 // sets the output to result. The result type might be a single field for simple 13175 // returns, a slice of interfaces for anonymous returns and a struct for named 13176 // returns. 13177 func (_ServiceChainNFT *ServiceChainNFTRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 13178 return _ServiceChainNFT.Contract.ServiceChainNFTCaller.contract.Call(opts, result, method, params...) 13179 } 13180 13181 // Transfer initiates a plain transaction to move funds to the contract, calling 13182 // its default method if one is available. 13183 func (_ServiceChainNFT *ServiceChainNFTRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 13184 return _ServiceChainNFT.Contract.ServiceChainNFTTransactor.contract.Transfer(opts) 13185 } 13186 13187 // Transact invokes the (paid) contract method with params as input values. 13188 func (_ServiceChainNFT *ServiceChainNFTRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 13189 return _ServiceChainNFT.Contract.ServiceChainNFTTransactor.contract.Transact(opts, method, params...) 13190 } 13191 13192 // Call invokes the (constant) contract method with params as input values and 13193 // sets the output to result. The result type might be a single field for simple 13194 // returns, a slice of interfaces for anonymous returns and a struct for named 13195 // returns. 13196 func (_ServiceChainNFT *ServiceChainNFTCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 13197 return _ServiceChainNFT.Contract.contract.Call(opts, result, method, params...) 13198 } 13199 13200 // Transfer initiates a plain transaction to move funds to the contract, calling 13201 // its default method if one is available. 13202 func (_ServiceChainNFT *ServiceChainNFTTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 13203 return _ServiceChainNFT.Contract.contract.Transfer(opts) 13204 } 13205 13206 // Transact invokes the (paid) contract method with params as input values. 13207 func (_ServiceChainNFT *ServiceChainNFTTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 13208 return _ServiceChainNFT.Contract.contract.Transact(opts, method, params...) 13209 } 13210 13211 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 13212 // 13213 // Solidity: function balanceOf(address owner) view returns(uint256) 13214 func (_ServiceChainNFT *ServiceChainNFTCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 13215 var out []interface{} 13216 err := _ServiceChainNFT.contract.Call(opts, &out, "balanceOf", owner) 13217 13218 if err != nil { 13219 return *new(*big.Int), err 13220 } 13221 13222 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 13223 13224 return out0, err 13225 13226 } 13227 13228 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 13229 // 13230 // Solidity: function balanceOf(address owner) view returns(uint256) 13231 func (_ServiceChainNFT *ServiceChainNFTSession) BalanceOf(owner common.Address) (*big.Int, error) { 13232 return _ServiceChainNFT.Contract.BalanceOf(&_ServiceChainNFT.CallOpts, owner) 13233 } 13234 13235 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 13236 // 13237 // Solidity: function balanceOf(address owner) view returns(uint256) 13238 func (_ServiceChainNFT *ServiceChainNFTCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 13239 return _ServiceChainNFT.Contract.BalanceOf(&_ServiceChainNFT.CallOpts, owner) 13240 } 13241 13242 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 13243 // 13244 // Solidity: function bridge() view returns(address) 13245 func (_ServiceChainNFT *ServiceChainNFTCaller) Bridge(opts *bind.CallOpts) (common.Address, error) { 13246 var out []interface{} 13247 err := _ServiceChainNFT.contract.Call(opts, &out, "bridge") 13248 13249 if err != nil { 13250 return *new(common.Address), err 13251 } 13252 13253 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 13254 13255 return out0, err 13256 13257 } 13258 13259 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 13260 // 13261 // Solidity: function bridge() view returns(address) 13262 func (_ServiceChainNFT *ServiceChainNFTSession) Bridge() (common.Address, error) { 13263 return _ServiceChainNFT.Contract.Bridge(&_ServiceChainNFT.CallOpts) 13264 } 13265 13266 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 13267 // 13268 // Solidity: function bridge() view returns(address) 13269 func (_ServiceChainNFT *ServiceChainNFTCallerSession) Bridge() (common.Address, error) { 13270 return _ServiceChainNFT.Contract.Bridge(&_ServiceChainNFT.CallOpts) 13271 } 13272 13273 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 13274 // 13275 // Solidity: function getApproved(uint256 tokenId) view returns(address) 13276 func (_ServiceChainNFT *ServiceChainNFTCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 13277 var out []interface{} 13278 err := _ServiceChainNFT.contract.Call(opts, &out, "getApproved", tokenId) 13279 13280 if err != nil { 13281 return *new(common.Address), err 13282 } 13283 13284 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 13285 13286 return out0, err 13287 13288 } 13289 13290 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 13291 // 13292 // Solidity: function getApproved(uint256 tokenId) view returns(address) 13293 func (_ServiceChainNFT *ServiceChainNFTSession) GetApproved(tokenId *big.Int) (common.Address, error) { 13294 return _ServiceChainNFT.Contract.GetApproved(&_ServiceChainNFT.CallOpts, tokenId) 13295 } 13296 13297 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 13298 // 13299 // Solidity: function getApproved(uint256 tokenId) view returns(address) 13300 func (_ServiceChainNFT *ServiceChainNFTCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 13301 return _ServiceChainNFT.Contract.GetApproved(&_ServiceChainNFT.CallOpts, tokenId) 13302 } 13303 13304 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 13305 // 13306 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 13307 func (_ServiceChainNFT *ServiceChainNFTCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 13308 var out []interface{} 13309 err := _ServiceChainNFT.contract.Call(opts, &out, "isApprovedForAll", owner, operator) 13310 13311 if err != nil { 13312 return *new(bool), err 13313 } 13314 13315 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 13316 13317 return out0, err 13318 13319 } 13320 13321 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 13322 // 13323 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 13324 func (_ServiceChainNFT *ServiceChainNFTSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 13325 return _ServiceChainNFT.Contract.IsApprovedForAll(&_ServiceChainNFT.CallOpts, owner, operator) 13326 } 13327 13328 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 13329 // 13330 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 13331 func (_ServiceChainNFT *ServiceChainNFTCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 13332 return _ServiceChainNFT.Contract.IsApprovedForAll(&_ServiceChainNFT.CallOpts, owner, operator) 13333 } 13334 13335 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 13336 // 13337 // Solidity: function isMinter(address account) view returns(bool) 13338 func (_ServiceChainNFT *ServiceChainNFTCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { 13339 var out []interface{} 13340 err := _ServiceChainNFT.contract.Call(opts, &out, "isMinter", account) 13341 13342 if err != nil { 13343 return *new(bool), err 13344 } 13345 13346 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 13347 13348 return out0, err 13349 13350 } 13351 13352 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 13353 // 13354 // Solidity: function isMinter(address account) view returns(bool) 13355 func (_ServiceChainNFT *ServiceChainNFTSession) IsMinter(account common.Address) (bool, error) { 13356 return _ServiceChainNFT.Contract.IsMinter(&_ServiceChainNFT.CallOpts, account) 13357 } 13358 13359 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 13360 // 13361 // Solidity: function isMinter(address account) view returns(bool) 13362 func (_ServiceChainNFT *ServiceChainNFTCallerSession) IsMinter(account common.Address) (bool, error) { 13363 return _ServiceChainNFT.Contract.IsMinter(&_ServiceChainNFT.CallOpts, account) 13364 } 13365 13366 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 13367 // 13368 // Solidity: function isOwner() view returns(bool) 13369 func (_ServiceChainNFT *ServiceChainNFTCaller) IsOwner(opts *bind.CallOpts) (bool, error) { 13370 var out []interface{} 13371 err := _ServiceChainNFT.contract.Call(opts, &out, "isOwner") 13372 13373 if err != nil { 13374 return *new(bool), err 13375 } 13376 13377 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 13378 13379 return out0, err 13380 13381 } 13382 13383 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 13384 // 13385 // Solidity: function isOwner() view returns(bool) 13386 func (_ServiceChainNFT *ServiceChainNFTSession) IsOwner() (bool, error) { 13387 return _ServiceChainNFT.Contract.IsOwner(&_ServiceChainNFT.CallOpts) 13388 } 13389 13390 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 13391 // 13392 // Solidity: function isOwner() view returns(bool) 13393 func (_ServiceChainNFT *ServiceChainNFTCallerSession) IsOwner() (bool, error) { 13394 return _ServiceChainNFT.Contract.IsOwner(&_ServiceChainNFT.CallOpts) 13395 } 13396 13397 // Name is a free data retrieval call binding the contract method 0x06fdde03. 13398 // 13399 // Solidity: function name() view returns(string) 13400 func (_ServiceChainNFT *ServiceChainNFTCaller) Name(opts *bind.CallOpts) (string, error) { 13401 var out []interface{} 13402 err := _ServiceChainNFT.contract.Call(opts, &out, "name") 13403 13404 if err != nil { 13405 return *new(string), err 13406 } 13407 13408 out0 := *abi.ConvertType(out[0], new(string)).(*string) 13409 13410 return out0, err 13411 13412 } 13413 13414 // Name is a free data retrieval call binding the contract method 0x06fdde03. 13415 // 13416 // Solidity: function name() view returns(string) 13417 func (_ServiceChainNFT *ServiceChainNFTSession) Name() (string, error) { 13418 return _ServiceChainNFT.Contract.Name(&_ServiceChainNFT.CallOpts) 13419 } 13420 13421 // Name is a free data retrieval call binding the contract method 0x06fdde03. 13422 // 13423 // Solidity: function name() view returns(string) 13424 func (_ServiceChainNFT *ServiceChainNFTCallerSession) Name() (string, error) { 13425 return _ServiceChainNFT.Contract.Name(&_ServiceChainNFT.CallOpts) 13426 } 13427 13428 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 13429 // 13430 // Solidity: function owner() view returns(address) 13431 func (_ServiceChainNFT *ServiceChainNFTCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 13432 var out []interface{} 13433 err := _ServiceChainNFT.contract.Call(opts, &out, "owner") 13434 13435 if err != nil { 13436 return *new(common.Address), err 13437 } 13438 13439 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 13440 13441 return out0, err 13442 13443 } 13444 13445 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 13446 // 13447 // Solidity: function owner() view returns(address) 13448 func (_ServiceChainNFT *ServiceChainNFTSession) Owner() (common.Address, error) { 13449 return _ServiceChainNFT.Contract.Owner(&_ServiceChainNFT.CallOpts) 13450 } 13451 13452 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 13453 // 13454 // Solidity: function owner() view returns(address) 13455 func (_ServiceChainNFT *ServiceChainNFTCallerSession) Owner() (common.Address, error) { 13456 return _ServiceChainNFT.Contract.Owner(&_ServiceChainNFT.CallOpts) 13457 } 13458 13459 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 13460 // 13461 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 13462 func (_ServiceChainNFT *ServiceChainNFTCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 13463 var out []interface{} 13464 err := _ServiceChainNFT.contract.Call(opts, &out, "ownerOf", tokenId) 13465 13466 if err != nil { 13467 return *new(common.Address), err 13468 } 13469 13470 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 13471 13472 return out0, err 13473 13474 } 13475 13476 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 13477 // 13478 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 13479 func (_ServiceChainNFT *ServiceChainNFTSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 13480 return _ServiceChainNFT.Contract.OwnerOf(&_ServiceChainNFT.CallOpts, tokenId) 13481 } 13482 13483 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 13484 // 13485 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 13486 func (_ServiceChainNFT *ServiceChainNFTCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 13487 return _ServiceChainNFT.Contract.OwnerOf(&_ServiceChainNFT.CallOpts, tokenId) 13488 } 13489 13490 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 13491 // 13492 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 13493 func (_ServiceChainNFT *ServiceChainNFTCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 13494 var out []interface{} 13495 err := _ServiceChainNFT.contract.Call(opts, &out, "supportsInterface", interfaceId) 13496 13497 if err != nil { 13498 return *new(bool), err 13499 } 13500 13501 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 13502 13503 return out0, err 13504 13505 } 13506 13507 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 13508 // 13509 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 13510 func (_ServiceChainNFT *ServiceChainNFTSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 13511 return _ServiceChainNFT.Contract.SupportsInterface(&_ServiceChainNFT.CallOpts, interfaceId) 13512 } 13513 13514 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 13515 // 13516 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 13517 func (_ServiceChainNFT *ServiceChainNFTCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 13518 return _ServiceChainNFT.Contract.SupportsInterface(&_ServiceChainNFT.CallOpts, interfaceId) 13519 } 13520 13521 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 13522 // 13523 // Solidity: function symbol() view returns(string) 13524 func (_ServiceChainNFT *ServiceChainNFTCaller) Symbol(opts *bind.CallOpts) (string, error) { 13525 var out []interface{} 13526 err := _ServiceChainNFT.contract.Call(opts, &out, "symbol") 13527 13528 if err != nil { 13529 return *new(string), err 13530 } 13531 13532 out0 := *abi.ConvertType(out[0], new(string)).(*string) 13533 13534 return out0, err 13535 13536 } 13537 13538 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 13539 // 13540 // Solidity: function symbol() view returns(string) 13541 func (_ServiceChainNFT *ServiceChainNFTSession) Symbol() (string, error) { 13542 return _ServiceChainNFT.Contract.Symbol(&_ServiceChainNFT.CallOpts) 13543 } 13544 13545 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 13546 // 13547 // Solidity: function symbol() view returns(string) 13548 func (_ServiceChainNFT *ServiceChainNFTCallerSession) Symbol() (string, error) { 13549 return _ServiceChainNFT.Contract.Symbol(&_ServiceChainNFT.CallOpts) 13550 } 13551 13552 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 13553 // 13554 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 13555 func (_ServiceChainNFT *ServiceChainNFTCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) { 13556 var out []interface{} 13557 err := _ServiceChainNFT.contract.Call(opts, &out, "tokenByIndex", index) 13558 13559 if err != nil { 13560 return *new(*big.Int), err 13561 } 13562 13563 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 13564 13565 return out0, err 13566 13567 } 13568 13569 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 13570 // 13571 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 13572 func (_ServiceChainNFT *ServiceChainNFTSession) TokenByIndex(index *big.Int) (*big.Int, error) { 13573 return _ServiceChainNFT.Contract.TokenByIndex(&_ServiceChainNFT.CallOpts, index) 13574 } 13575 13576 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 13577 // 13578 // Solidity: function tokenByIndex(uint256 index) view returns(uint256) 13579 func (_ServiceChainNFT *ServiceChainNFTCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) { 13580 return _ServiceChainNFT.Contract.TokenByIndex(&_ServiceChainNFT.CallOpts, index) 13581 } 13582 13583 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 13584 // 13585 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 13586 func (_ServiceChainNFT *ServiceChainNFTCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) { 13587 var out []interface{} 13588 err := _ServiceChainNFT.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index) 13589 13590 if err != nil { 13591 return *new(*big.Int), err 13592 } 13593 13594 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 13595 13596 return out0, err 13597 13598 } 13599 13600 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 13601 // 13602 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 13603 func (_ServiceChainNFT *ServiceChainNFTSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 13604 return _ServiceChainNFT.Contract.TokenOfOwnerByIndex(&_ServiceChainNFT.CallOpts, owner, index) 13605 } 13606 13607 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 13608 // 13609 // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256) 13610 func (_ServiceChainNFT *ServiceChainNFTCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) { 13611 return _ServiceChainNFT.Contract.TokenOfOwnerByIndex(&_ServiceChainNFT.CallOpts, owner, index) 13612 } 13613 13614 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 13615 // 13616 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 13617 func (_ServiceChainNFT *ServiceChainNFTCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { 13618 var out []interface{} 13619 err := _ServiceChainNFT.contract.Call(opts, &out, "tokenURI", tokenId) 13620 13621 if err != nil { 13622 return *new(string), err 13623 } 13624 13625 out0 := *abi.ConvertType(out[0], new(string)).(*string) 13626 13627 return out0, err 13628 13629 } 13630 13631 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 13632 // 13633 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 13634 func (_ServiceChainNFT *ServiceChainNFTSession) TokenURI(tokenId *big.Int) (string, error) { 13635 return _ServiceChainNFT.Contract.TokenURI(&_ServiceChainNFT.CallOpts, tokenId) 13636 } 13637 13638 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 13639 // 13640 // Solidity: function tokenURI(uint256 tokenId) view returns(string) 13641 func (_ServiceChainNFT *ServiceChainNFTCallerSession) TokenURI(tokenId *big.Int) (string, error) { 13642 return _ServiceChainNFT.Contract.TokenURI(&_ServiceChainNFT.CallOpts, tokenId) 13643 } 13644 13645 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 13646 // 13647 // Solidity: function totalSupply() view returns(uint256) 13648 func (_ServiceChainNFT *ServiceChainNFTCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 13649 var out []interface{} 13650 err := _ServiceChainNFT.contract.Call(opts, &out, "totalSupply") 13651 13652 if err != nil { 13653 return *new(*big.Int), err 13654 } 13655 13656 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 13657 13658 return out0, err 13659 13660 } 13661 13662 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 13663 // 13664 // Solidity: function totalSupply() view returns(uint256) 13665 func (_ServiceChainNFT *ServiceChainNFTSession) TotalSupply() (*big.Int, error) { 13666 return _ServiceChainNFT.Contract.TotalSupply(&_ServiceChainNFT.CallOpts) 13667 } 13668 13669 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 13670 // 13671 // Solidity: function totalSupply() view returns(uint256) 13672 func (_ServiceChainNFT *ServiceChainNFTCallerSession) TotalSupply() (*big.Int, error) { 13673 return _ServiceChainNFT.Contract.TotalSupply(&_ServiceChainNFT.CallOpts) 13674 } 13675 13676 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 13677 // 13678 // Solidity: function addMinter(address account) returns() 13679 func (_ServiceChainNFT *ServiceChainNFTTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 13680 return _ServiceChainNFT.contract.Transact(opts, "addMinter", account) 13681 } 13682 13683 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 13684 // 13685 // Solidity: function addMinter(address account) returns() 13686 func (_ServiceChainNFT *ServiceChainNFTSession) AddMinter(account common.Address) (*types.Transaction, error) { 13687 return _ServiceChainNFT.Contract.AddMinter(&_ServiceChainNFT.TransactOpts, account) 13688 } 13689 13690 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 13691 // 13692 // Solidity: function addMinter(address account) returns() 13693 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 13694 return _ServiceChainNFT.Contract.AddMinter(&_ServiceChainNFT.TransactOpts, account) 13695 } 13696 13697 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 13698 // 13699 // Solidity: function approve(address to, uint256 tokenId) returns() 13700 func (_ServiceChainNFT *ServiceChainNFTTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13701 return _ServiceChainNFT.contract.Transact(opts, "approve", to, tokenId) 13702 } 13703 13704 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 13705 // 13706 // Solidity: function approve(address to, uint256 tokenId) returns() 13707 func (_ServiceChainNFT *ServiceChainNFTSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13708 return _ServiceChainNFT.Contract.Approve(&_ServiceChainNFT.TransactOpts, to, tokenId) 13709 } 13710 13711 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 13712 // 13713 // Solidity: function approve(address to, uint256 tokenId) returns() 13714 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13715 return _ServiceChainNFT.Contract.Approve(&_ServiceChainNFT.TransactOpts, to, tokenId) 13716 } 13717 13718 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 13719 // 13720 // Solidity: function burn(uint256 tokenId) returns() 13721 func (_ServiceChainNFT *ServiceChainNFTTransactor) Burn(opts *bind.TransactOpts, tokenId *big.Int) (*types.Transaction, error) { 13722 return _ServiceChainNFT.contract.Transact(opts, "burn", tokenId) 13723 } 13724 13725 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 13726 // 13727 // Solidity: function burn(uint256 tokenId) returns() 13728 func (_ServiceChainNFT *ServiceChainNFTSession) Burn(tokenId *big.Int) (*types.Transaction, error) { 13729 return _ServiceChainNFT.Contract.Burn(&_ServiceChainNFT.TransactOpts, tokenId) 13730 } 13731 13732 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 13733 // 13734 // Solidity: function burn(uint256 tokenId) returns() 13735 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) Burn(tokenId *big.Int) (*types.Transaction, error) { 13736 return _ServiceChainNFT.Contract.Burn(&_ServiceChainNFT.TransactOpts, tokenId) 13737 } 13738 13739 // MintWithTokenURI is a paid mutator transaction binding the contract method 0x50bb4e7f. 13740 // 13741 // Solidity: function mintWithTokenURI(address to, uint256 tokenId, string tokenURI) returns(bool) 13742 func (_ServiceChainNFT *ServiceChainNFTTransactor) MintWithTokenURI(opts *bind.TransactOpts, to common.Address, tokenId *big.Int, tokenURI string) (*types.Transaction, error) { 13743 return _ServiceChainNFT.contract.Transact(opts, "mintWithTokenURI", to, tokenId, tokenURI) 13744 } 13745 13746 // MintWithTokenURI is a paid mutator transaction binding the contract method 0x50bb4e7f. 13747 // 13748 // Solidity: function mintWithTokenURI(address to, uint256 tokenId, string tokenURI) returns(bool) 13749 func (_ServiceChainNFT *ServiceChainNFTSession) MintWithTokenURI(to common.Address, tokenId *big.Int, tokenURI string) (*types.Transaction, error) { 13750 return _ServiceChainNFT.Contract.MintWithTokenURI(&_ServiceChainNFT.TransactOpts, to, tokenId, tokenURI) 13751 } 13752 13753 // MintWithTokenURI is a paid mutator transaction binding the contract method 0x50bb4e7f. 13754 // 13755 // Solidity: function mintWithTokenURI(address to, uint256 tokenId, string tokenURI) returns(bool) 13756 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) MintWithTokenURI(to common.Address, tokenId *big.Int, tokenURI string) (*types.Transaction, error) { 13757 return _ServiceChainNFT.Contract.MintWithTokenURI(&_ServiceChainNFT.TransactOpts, to, tokenId, tokenURI) 13758 } 13759 13760 // RegisterBulk is a paid mutator transaction binding the contract method 0x7a9adac6. 13761 // 13762 // Solidity: function registerBulk(address _user, uint256 _startID, uint256 _endID) returns() 13763 func (_ServiceChainNFT *ServiceChainNFTTransactor) RegisterBulk(opts *bind.TransactOpts, _user common.Address, _startID *big.Int, _endID *big.Int) (*types.Transaction, error) { 13764 return _ServiceChainNFT.contract.Transact(opts, "registerBulk", _user, _startID, _endID) 13765 } 13766 13767 // RegisterBulk is a paid mutator transaction binding the contract method 0x7a9adac6. 13768 // 13769 // Solidity: function registerBulk(address _user, uint256 _startID, uint256 _endID) returns() 13770 func (_ServiceChainNFT *ServiceChainNFTSession) RegisterBulk(_user common.Address, _startID *big.Int, _endID *big.Int) (*types.Transaction, error) { 13771 return _ServiceChainNFT.Contract.RegisterBulk(&_ServiceChainNFT.TransactOpts, _user, _startID, _endID) 13772 } 13773 13774 // RegisterBulk is a paid mutator transaction binding the contract method 0x7a9adac6. 13775 // 13776 // Solidity: function registerBulk(address _user, uint256 _startID, uint256 _endID) returns() 13777 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) RegisterBulk(_user common.Address, _startID *big.Int, _endID *big.Int) (*types.Transaction, error) { 13778 return _ServiceChainNFT.Contract.RegisterBulk(&_ServiceChainNFT.TransactOpts, _user, _startID, _endID) 13779 } 13780 13781 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 13782 // 13783 // Solidity: function renounceMinter() returns() 13784 func (_ServiceChainNFT *ServiceChainNFTTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { 13785 return _ServiceChainNFT.contract.Transact(opts, "renounceMinter") 13786 } 13787 13788 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 13789 // 13790 // Solidity: function renounceMinter() returns() 13791 func (_ServiceChainNFT *ServiceChainNFTSession) RenounceMinter() (*types.Transaction, error) { 13792 return _ServiceChainNFT.Contract.RenounceMinter(&_ServiceChainNFT.TransactOpts) 13793 } 13794 13795 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 13796 // 13797 // Solidity: function renounceMinter() returns() 13798 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) RenounceMinter() (*types.Transaction, error) { 13799 return _ServiceChainNFT.Contract.RenounceMinter(&_ServiceChainNFT.TransactOpts) 13800 } 13801 13802 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 13803 // 13804 // Solidity: function renounceOwnership() returns() 13805 func (_ServiceChainNFT *ServiceChainNFTTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 13806 return _ServiceChainNFT.contract.Transact(opts, "renounceOwnership") 13807 } 13808 13809 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 13810 // 13811 // Solidity: function renounceOwnership() returns() 13812 func (_ServiceChainNFT *ServiceChainNFTSession) RenounceOwnership() (*types.Transaction, error) { 13813 return _ServiceChainNFT.Contract.RenounceOwnership(&_ServiceChainNFT.TransactOpts) 13814 } 13815 13816 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 13817 // 13818 // Solidity: function renounceOwnership() returns() 13819 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) RenounceOwnership() (*types.Transaction, error) { 13820 return _ServiceChainNFT.Contract.RenounceOwnership(&_ServiceChainNFT.TransactOpts) 13821 } 13822 13823 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 13824 // 13825 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 13826 func (_ServiceChainNFT *ServiceChainNFTTransactor) RequestValueTransfer(opts *bind.TransactOpts, _uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 13827 return _ServiceChainNFT.contract.Transact(opts, "requestValueTransfer", _uid, _to, _extraData) 13828 } 13829 13830 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 13831 // 13832 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 13833 func (_ServiceChainNFT *ServiceChainNFTSession) RequestValueTransfer(_uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 13834 return _ServiceChainNFT.Contract.RequestValueTransfer(&_ServiceChainNFT.TransactOpts, _uid, _to, _extraData) 13835 } 13836 13837 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 13838 // 13839 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 13840 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) RequestValueTransfer(_uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 13841 return _ServiceChainNFT.Contract.RequestValueTransfer(&_ServiceChainNFT.TransactOpts, _uid, _to, _extraData) 13842 } 13843 13844 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 13845 // 13846 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 13847 func (_ServiceChainNFT *ServiceChainNFTTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13848 return _ServiceChainNFT.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 13849 } 13850 13851 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 13852 // 13853 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 13854 func (_ServiceChainNFT *ServiceChainNFTSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13855 return _ServiceChainNFT.Contract.SafeTransferFrom(&_ServiceChainNFT.TransactOpts, from, to, tokenId) 13856 } 13857 13858 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 13859 // 13860 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 13861 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13862 return _ServiceChainNFT.Contract.SafeTransferFrom(&_ServiceChainNFT.TransactOpts, from, to, tokenId) 13863 } 13864 13865 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 13866 // 13867 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 13868 func (_ServiceChainNFT *ServiceChainNFTTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 13869 return _ServiceChainNFT.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 13870 } 13871 13872 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 13873 // 13874 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 13875 func (_ServiceChainNFT *ServiceChainNFTSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 13876 return _ServiceChainNFT.Contract.SafeTransferFrom0(&_ServiceChainNFT.TransactOpts, from, to, tokenId, _data) 13877 } 13878 13879 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 13880 // 13881 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 13882 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 13883 return _ServiceChainNFT.Contract.SafeTransferFrom0(&_ServiceChainNFT.TransactOpts, from, to, tokenId, _data) 13884 } 13885 13886 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 13887 // 13888 // Solidity: function setApprovalForAll(address to, bool approved) returns() 13889 func (_ServiceChainNFT *ServiceChainNFTTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 13890 return _ServiceChainNFT.contract.Transact(opts, "setApprovalForAll", to, approved) 13891 } 13892 13893 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 13894 // 13895 // Solidity: function setApprovalForAll(address to, bool approved) returns() 13896 func (_ServiceChainNFT *ServiceChainNFTSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 13897 return _ServiceChainNFT.Contract.SetApprovalForAll(&_ServiceChainNFT.TransactOpts, to, approved) 13898 } 13899 13900 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 13901 // 13902 // Solidity: function setApprovalForAll(address to, bool approved) returns() 13903 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 13904 return _ServiceChainNFT.Contract.SetApprovalForAll(&_ServiceChainNFT.TransactOpts, to, approved) 13905 } 13906 13907 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 13908 // 13909 // Solidity: function setBridge(address _bridge) returns() 13910 func (_ServiceChainNFT *ServiceChainNFTTransactor) SetBridge(opts *bind.TransactOpts, _bridge common.Address) (*types.Transaction, error) { 13911 return _ServiceChainNFT.contract.Transact(opts, "setBridge", _bridge) 13912 } 13913 13914 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 13915 // 13916 // Solidity: function setBridge(address _bridge) returns() 13917 func (_ServiceChainNFT *ServiceChainNFTSession) SetBridge(_bridge common.Address) (*types.Transaction, error) { 13918 return _ServiceChainNFT.Contract.SetBridge(&_ServiceChainNFT.TransactOpts, _bridge) 13919 } 13920 13921 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 13922 // 13923 // Solidity: function setBridge(address _bridge) returns() 13924 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) SetBridge(_bridge common.Address) (*types.Transaction, error) { 13925 return _ServiceChainNFT.Contract.SetBridge(&_ServiceChainNFT.TransactOpts, _bridge) 13926 } 13927 13928 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 13929 // 13930 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 13931 func (_ServiceChainNFT *ServiceChainNFTTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13932 return _ServiceChainNFT.contract.Transact(opts, "transferFrom", from, to, tokenId) 13933 } 13934 13935 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 13936 // 13937 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 13938 func (_ServiceChainNFT *ServiceChainNFTSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13939 return _ServiceChainNFT.Contract.TransferFrom(&_ServiceChainNFT.TransactOpts, from, to, tokenId) 13940 } 13941 13942 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 13943 // 13944 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 13945 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 13946 return _ServiceChainNFT.Contract.TransferFrom(&_ServiceChainNFT.TransactOpts, from, to, tokenId) 13947 } 13948 13949 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 13950 // 13951 // Solidity: function transferOwnership(address newOwner) returns() 13952 func (_ServiceChainNFT *ServiceChainNFTTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 13953 return _ServiceChainNFT.contract.Transact(opts, "transferOwnership", newOwner) 13954 } 13955 13956 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 13957 // 13958 // Solidity: function transferOwnership(address newOwner) returns() 13959 func (_ServiceChainNFT *ServiceChainNFTSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 13960 return _ServiceChainNFT.Contract.TransferOwnership(&_ServiceChainNFT.TransactOpts, newOwner) 13961 } 13962 13963 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 13964 // 13965 // Solidity: function transferOwnership(address newOwner) returns() 13966 func (_ServiceChainNFT *ServiceChainNFTTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 13967 return _ServiceChainNFT.Contract.TransferOwnership(&_ServiceChainNFT.TransactOpts, newOwner) 13968 } 13969 13970 // 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. 13971 type ServiceChainNFTApprovalIterator struct { 13972 Event *ServiceChainNFTApproval // Event containing the contract specifics and raw log 13973 13974 contract *bind.BoundContract // Generic contract to use for unpacking event data 13975 event string // Event name to use for unpacking event data 13976 13977 logs chan types.Log // Log channel receiving the found contract events 13978 sub klaytn.Subscription // Subscription for errors, completion and termination 13979 done bool // Whether the subscription completed delivering logs 13980 fail error // Occurred error to stop iteration 13981 } 13982 13983 // Next advances the iterator to the subsequent event, returning whether there 13984 // are any more events found. In case of a retrieval or parsing error, false is 13985 // returned and Error() can be queried for the exact failure. 13986 func (it *ServiceChainNFTApprovalIterator) Next() bool { 13987 // If the iterator failed, stop iterating 13988 if it.fail != nil { 13989 return false 13990 } 13991 // If the iterator completed, deliver directly whatever's available 13992 if it.done { 13993 select { 13994 case log := <-it.logs: 13995 it.Event = new(ServiceChainNFTApproval) 13996 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 13997 it.fail = err 13998 return false 13999 } 14000 it.Event.Raw = log 14001 return true 14002 14003 default: 14004 return false 14005 } 14006 } 14007 // Iterator still in progress, wait for either a data or an error event 14008 select { 14009 case log := <-it.logs: 14010 it.Event = new(ServiceChainNFTApproval) 14011 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14012 it.fail = err 14013 return false 14014 } 14015 it.Event.Raw = log 14016 return true 14017 14018 case err := <-it.sub.Err(): 14019 it.done = true 14020 it.fail = err 14021 return it.Next() 14022 } 14023 } 14024 14025 // Error returns any retrieval or parsing error occurred during filtering. 14026 func (it *ServiceChainNFTApprovalIterator) Error() error { 14027 return it.fail 14028 } 14029 14030 // Close terminates the iteration process, releasing any pending underlying 14031 // resources. 14032 func (it *ServiceChainNFTApprovalIterator) Close() error { 14033 it.sub.Unsubscribe() 14034 return nil 14035 } 14036 14037 // ServiceChainNFTApproval represents a Approval event raised by the ServiceChainNFT contract. 14038 type ServiceChainNFTApproval struct { 14039 Owner common.Address 14040 Approved common.Address 14041 TokenId *big.Int 14042 Raw types.Log // Blockchain specific contextual infos 14043 } 14044 14045 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 14046 // 14047 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 14048 func (_ServiceChainNFT *ServiceChainNFTFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ServiceChainNFTApprovalIterator, error) { 14049 14050 var ownerRule []interface{} 14051 for _, ownerItem := range owner { 14052 ownerRule = append(ownerRule, ownerItem) 14053 } 14054 var approvedRule []interface{} 14055 for _, approvedItem := range approved { 14056 approvedRule = append(approvedRule, approvedItem) 14057 } 14058 var tokenIdRule []interface{} 14059 for _, tokenIdItem := range tokenId { 14060 tokenIdRule = append(tokenIdRule, tokenIdItem) 14061 } 14062 14063 logs, sub, err := _ServiceChainNFT.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 14064 if err != nil { 14065 return nil, err 14066 } 14067 return &ServiceChainNFTApprovalIterator{contract: _ServiceChainNFT.contract, event: "Approval", logs: logs, sub: sub}, nil 14068 } 14069 14070 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 14071 // 14072 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 14073 func (_ServiceChainNFT *ServiceChainNFTFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 14074 14075 var ownerRule []interface{} 14076 for _, ownerItem := range owner { 14077 ownerRule = append(ownerRule, ownerItem) 14078 } 14079 var approvedRule []interface{} 14080 for _, approvedItem := range approved { 14081 approvedRule = append(approvedRule, approvedItem) 14082 } 14083 var tokenIdRule []interface{} 14084 for _, tokenIdItem := range tokenId { 14085 tokenIdRule = append(tokenIdRule, tokenIdItem) 14086 } 14087 14088 logs, sub, err := _ServiceChainNFT.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 14089 if err != nil { 14090 return nil, err 14091 } 14092 return event.NewSubscription(func(quit <-chan struct{}) error { 14093 defer sub.Unsubscribe() 14094 for { 14095 select { 14096 case log := <-logs: 14097 // New log arrived, parse the event and forward to the user 14098 event := new(ServiceChainNFTApproval) 14099 if err := _ServiceChainNFT.contract.UnpackLog(event, "Approval", log); err != nil { 14100 return err 14101 } 14102 event.Raw = log 14103 14104 select { 14105 case sink <- event: 14106 case err := <-sub.Err(): 14107 return err 14108 case <-quit: 14109 return nil 14110 } 14111 case err := <-sub.Err(): 14112 return err 14113 case <-quit: 14114 return nil 14115 } 14116 } 14117 }), nil 14118 } 14119 14120 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 14121 // 14122 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 14123 func (_ServiceChainNFT *ServiceChainNFTFilterer) ParseApproval(log types.Log) (*ServiceChainNFTApproval, error) { 14124 event := new(ServiceChainNFTApproval) 14125 if err := _ServiceChainNFT.contract.UnpackLog(event, "Approval", log); err != nil { 14126 return nil, err 14127 } 14128 return event, nil 14129 } 14130 14131 // 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. 14132 type ServiceChainNFTApprovalForAllIterator struct { 14133 Event *ServiceChainNFTApprovalForAll // Event containing the contract specifics and raw log 14134 14135 contract *bind.BoundContract // Generic contract to use for unpacking event data 14136 event string // Event name to use for unpacking event data 14137 14138 logs chan types.Log // Log channel receiving the found contract events 14139 sub klaytn.Subscription // Subscription for errors, completion and termination 14140 done bool // Whether the subscription completed delivering logs 14141 fail error // Occurred error to stop iteration 14142 } 14143 14144 // Next advances the iterator to the subsequent event, returning whether there 14145 // are any more events found. In case of a retrieval or parsing error, false is 14146 // returned and Error() can be queried for the exact failure. 14147 func (it *ServiceChainNFTApprovalForAllIterator) Next() bool { 14148 // If the iterator failed, stop iterating 14149 if it.fail != nil { 14150 return false 14151 } 14152 // If the iterator completed, deliver directly whatever's available 14153 if it.done { 14154 select { 14155 case log := <-it.logs: 14156 it.Event = new(ServiceChainNFTApprovalForAll) 14157 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14158 it.fail = err 14159 return false 14160 } 14161 it.Event.Raw = log 14162 return true 14163 14164 default: 14165 return false 14166 } 14167 } 14168 // Iterator still in progress, wait for either a data or an error event 14169 select { 14170 case log := <-it.logs: 14171 it.Event = new(ServiceChainNFTApprovalForAll) 14172 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14173 it.fail = err 14174 return false 14175 } 14176 it.Event.Raw = log 14177 return true 14178 14179 case err := <-it.sub.Err(): 14180 it.done = true 14181 it.fail = err 14182 return it.Next() 14183 } 14184 } 14185 14186 // Error returns any retrieval or parsing error occurred during filtering. 14187 func (it *ServiceChainNFTApprovalForAllIterator) Error() error { 14188 return it.fail 14189 } 14190 14191 // Close terminates the iteration process, releasing any pending underlying 14192 // resources. 14193 func (it *ServiceChainNFTApprovalForAllIterator) Close() error { 14194 it.sub.Unsubscribe() 14195 return nil 14196 } 14197 14198 // ServiceChainNFTApprovalForAll represents a ApprovalForAll event raised by the ServiceChainNFT contract. 14199 type ServiceChainNFTApprovalForAll struct { 14200 Owner common.Address 14201 Operator common.Address 14202 Approved bool 14203 Raw types.Log // Blockchain specific contextual infos 14204 } 14205 14206 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 14207 // 14208 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 14209 func (_ServiceChainNFT *ServiceChainNFTFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ServiceChainNFTApprovalForAllIterator, error) { 14210 14211 var ownerRule []interface{} 14212 for _, ownerItem := range owner { 14213 ownerRule = append(ownerRule, ownerItem) 14214 } 14215 var operatorRule []interface{} 14216 for _, operatorItem := range operator { 14217 operatorRule = append(operatorRule, operatorItem) 14218 } 14219 14220 logs, sub, err := _ServiceChainNFT.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 14221 if err != nil { 14222 return nil, err 14223 } 14224 return &ServiceChainNFTApprovalForAllIterator{contract: _ServiceChainNFT.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 14225 } 14226 14227 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 14228 // 14229 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 14230 func (_ServiceChainNFT *ServiceChainNFTFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 14231 14232 var ownerRule []interface{} 14233 for _, ownerItem := range owner { 14234 ownerRule = append(ownerRule, ownerItem) 14235 } 14236 var operatorRule []interface{} 14237 for _, operatorItem := range operator { 14238 operatorRule = append(operatorRule, operatorItem) 14239 } 14240 14241 logs, sub, err := _ServiceChainNFT.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 14242 if err != nil { 14243 return nil, err 14244 } 14245 return event.NewSubscription(func(quit <-chan struct{}) error { 14246 defer sub.Unsubscribe() 14247 for { 14248 select { 14249 case log := <-logs: 14250 // New log arrived, parse the event and forward to the user 14251 event := new(ServiceChainNFTApprovalForAll) 14252 if err := _ServiceChainNFT.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 14253 return err 14254 } 14255 event.Raw = log 14256 14257 select { 14258 case sink <- event: 14259 case err := <-sub.Err(): 14260 return err 14261 case <-quit: 14262 return nil 14263 } 14264 case err := <-sub.Err(): 14265 return err 14266 case <-quit: 14267 return nil 14268 } 14269 } 14270 }), nil 14271 } 14272 14273 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 14274 // 14275 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 14276 func (_ServiceChainNFT *ServiceChainNFTFilterer) ParseApprovalForAll(log types.Log) (*ServiceChainNFTApprovalForAll, error) { 14277 event := new(ServiceChainNFTApprovalForAll) 14278 if err := _ServiceChainNFT.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 14279 return nil, err 14280 } 14281 return event, nil 14282 } 14283 14284 // 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. 14285 type ServiceChainNFTMinterAddedIterator struct { 14286 Event *ServiceChainNFTMinterAdded // Event containing the contract specifics and raw log 14287 14288 contract *bind.BoundContract // Generic contract to use for unpacking event data 14289 event string // Event name to use for unpacking event data 14290 14291 logs chan types.Log // Log channel receiving the found contract events 14292 sub klaytn.Subscription // Subscription for errors, completion and termination 14293 done bool // Whether the subscription completed delivering logs 14294 fail error // Occurred error to stop iteration 14295 } 14296 14297 // Next advances the iterator to the subsequent event, returning whether there 14298 // are any more events found. In case of a retrieval or parsing error, false is 14299 // returned and Error() can be queried for the exact failure. 14300 func (it *ServiceChainNFTMinterAddedIterator) Next() bool { 14301 // If the iterator failed, stop iterating 14302 if it.fail != nil { 14303 return false 14304 } 14305 // If the iterator completed, deliver directly whatever's available 14306 if it.done { 14307 select { 14308 case log := <-it.logs: 14309 it.Event = new(ServiceChainNFTMinterAdded) 14310 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14311 it.fail = err 14312 return false 14313 } 14314 it.Event.Raw = log 14315 return true 14316 14317 default: 14318 return false 14319 } 14320 } 14321 // Iterator still in progress, wait for either a data or an error event 14322 select { 14323 case log := <-it.logs: 14324 it.Event = new(ServiceChainNFTMinterAdded) 14325 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14326 it.fail = err 14327 return false 14328 } 14329 it.Event.Raw = log 14330 return true 14331 14332 case err := <-it.sub.Err(): 14333 it.done = true 14334 it.fail = err 14335 return it.Next() 14336 } 14337 } 14338 14339 // Error returns any retrieval or parsing error occurred during filtering. 14340 func (it *ServiceChainNFTMinterAddedIterator) Error() error { 14341 return it.fail 14342 } 14343 14344 // Close terminates the iteration process, releasing any pending underlying 14345 // resources. 14346 func (it *ServiceChainNFTMinterAddedIterator) Close() error { 14347 it.sub.Unsubscribe() 14348 return nil 14349 } 14350 14351 // ServiceChainNFTMinterAdded represents a MinterAdded event raised by the ServiceChainNFT contract. 14352 type ServiceChainNFTMinterAdded struct { 14353 Account common.Address 14354 Raw types.Log // Blockchain specific contextual infos 14355 } 14356 14357 // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 14358 // 14359 // Solidity: event MinterAdded(address indexed account) 14360 func (_ServiceChainNFT *ServiceChainNFTFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*ServiceChainNFTMinterAddedIterator, error) { 14361 14362 var accountRule []interface{} 14363 for _, accountItem := range account { 14364 accountRule = append(accountRule, accountItem) 14365 } 14366 14367 logs, sub, err := _ServiceChainNFT.contract.FilterLogs(opts, "MinterAdded", accountRule) 14368 if err != nil { 14369 return nil, err 14370 } 14371 return &ServiceChainNFTMinterAddedIterator{contract: _ServiceChainNFT.contract, event: "MinterAdded", logs: logs, sub: sub}, nil 14372 } 14373 14374 // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 14375 // 14376 // Solidity: event MinterAdded(address indexed account) 14377 func (_ServiceChainNFT *ServiceChainNFTFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTMinterAdded, account []common.Address) (event.Subscription, error) { 14378 14379 var accountRule []interface{} 14380 for _, accountItem := range account { 14381 accountRule = append(accountRule, accountItem) 14382 } 14383 14384 logs, sub, err := _ServiceChainNFT.contract.WatchLogs(opts, "MinterAdded", accountRule) 14385 if err != nil { 14386 return nil, err 14387 } 14388 return event.NewSubscription(func(quit <-chan struct{}) error { 14389 defer sub.Unsubscribe() 14390 for { 14391 select { 14392 case log := <-logs: 14393 // New log arrived, parse the event and forward to the user 14394 event := new(ServiceChainNFTMinterAdded) 14395 if err := _ServiceChainNFT.contract.UnpackLog(event, "MinterAdded", log); err != nil { 14396 return err 14397 } 14398 event.Raw = log 14399 14400 select { 14401 case sink <- event: 14402 case err := <-sub.Err(): 14403 return err 14404 case <-quit: 14405 return nil 14406 } 14407 case err := <-sub.Err(): 14408 return err 14409 case <-quit: 14410 return nil 14411 } 14412 } 14413 }), nil 14414 } 14415 14416 // ParseMinterAdded is a log parse operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 14417 // 14418 // Solidity: event MinterAdded(address indexed account) 14419 func (_ServiceChainNFT *ServiceChainNFTFilterer) ParseMinterAdded(log types.Log) (*ServiceChainNFTMinterAdded, error) { 14420 event := new(ServiceChainNFTMinterAdded) 14421 if err := _ServiceChainNFT.contract.UnpackLog(event, "MinterAdded", log); err != nil { 14422 return nil, err 14423 } 14424 return event, nil 14425 } 14426 14427 // 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. 14428 type ServiceChainNFTMinterRemovedIterator struct { 14429 Event *ServiceChainNFTMinterRemoved // Event containing the contract specifics and raw log 14430 14431 contract *bind.BoundContract // Generic contract to use for unpacking event data 14432 event string // Event name to use for unpacking event data 14433 14434 logs chan types.Log // Log channel receiving the found contract events 14435 sub klaytn.Subscription // Subscription for errors, completion and termination 14436 done bool // Whether the subscription completed delivering logs 14437 fail error // Occurred error to stop iteration 14438 } 14439 14440 // Next advances the iterator to the subsequent event, returning whether there 14441 // are any more events found. In case of a retrieval or parsing error, false is 14442 // returned and Error() can be queried for the exact failure. 14443 func (it *ServiceChainNFTMinterRemovedIterator) Next() bool { 14444 // If the iterator failed, stop iterating 14445 if it.fail != nil { 14446 return false 14447 } 14448 // If the iterator completed, deliver directly whatever's available 14449 if it.done { 14450 select { 14451 case log := <-it.logs: 14452 it.Event = new(ServiceChainNFTMinterRemoved) 14453 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14454 it.fail = err 14455 return false 14456 } 14457 it.Event.Raw = log 14458 return true 14459 14460 default: 14461 return false 14462 } 14463 } 14464 // Iterator still in progress, wait for either a data or an error event 14465 select { 14466 case log := <-it.logs: 14467 it.Event = new(ServiceChainNFTMinterRemoved) 14468 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14469 it.fail = err 14470 return false 14471 } 14472 it.Event.Raw = log 14473 return true 14474 14475 case err := <-it.sub.Err(): 14476 it.done = true 14477 it.fail = err 14478 return it.Next() 14479 } 14480 } 14481 14482 // Error returns any retrieval or parsing error occurred during filtering. 14483 func (it *ServiceChainNFTMinterRemovedIterator) Error() error { 14484 return it.fail 14485 } 14486 14487 // Close terminates the iteration process, releasing any pending underlying 14488 // resources. 14489 func (it *ServiceChainNFTMinterRemovedIterator) Close() error { 14490 it.sub.Unsubscribe() 14491 return nil 14492 } 14493 14494 // ServiceChainNFTMinterRemoved represents a MinterRemoved event raised by the ServiceChainNFT contract. 14495 type ServiceChainNFTMinterRemoved struct { 14496 Account common.Address 14497 Raw types.Log // Blockchain specific contextual infos 14498 } 14499 14500 // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 14501 // 14502 // Solidity: event MinterRemoved(address indexed account) 14503 func (_ServiceChainNFT *ServiceChainNFTFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*ServiceChainNFTMinterRemovedIterator, error) { 14504 14505 var accountRule []interface{} 14506 for _, accountItem := range account { 14507 accountRule = append(accountRule, accountItem) 14508 } 14509 14510 logs, sub, err := _ServiceChainNFT.contract.FilterLogs(opts, "MinterRemoved", accountRule) 14511 if err != nil { 14512 return nil, err 14513 } 14514 return &ServiceChainNFTMinterRemovedIterator{contract: _ServiceChainNFT.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil 14515 } 14516 14517 // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 14518 // 14519 // Solidity: event MinterRemoved(address indexed account) 14520 func (_ServiceChainNFT *ServiceChainNFTFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTMinterRemoved, account []common.Address) (event.Subscription, error) { 14521 14522 var accountRule []interface{} 14523 for _, accountItem := range account { 14524 accountRule = append(accountRule, accountItem) 14525 } 14526 14527 logs, sub, err := _ServiceChainNFT.contract.WatchLogs(opts, "MinterRemoved", accountRule) 14528 if err != nil { 14529 return nil, err 14530 } 14531 return event.NewSubscription(func(quit <-chan struct{}) error { 14532 defer sub.Unsubscribe() 14533 for { 14534 select { 14535 case log := <-logs: 14536 // New log arrived, parse the event and forward to the user 14537 event := new(ServiceChainNFTMinterRemoved) 14538 if err := _ServiceChainNFT.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 14539 return err 14540 } 14541 event.Raw = log 14542 14543 select { 14544 case sink <- event: 14545 case err := <-sub.Err(): 14546 return err 14547 case <-quit: 14548 return nil 14549 } 14550 case err := <-sub.Err(): 14551 return err 14552 case <-quit: 14553 return nil 14554 } 14555 } 14556 }), nil 14557 } 14558 14559 // ParseMinterRemoved is a log parse operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 14560 // 14561 // Solidity: event MinterRemoved(address indexed account) 14562 func (_ServiceChainNFT *ServiceChainNFTFilterer) ParseMinterRemoved(log types.Log) (*ServiceChainNFTMinterRemoved, error) { 14563 event := new(ServiceChainNFTMinterRemoved) 14564 if err := _ServiceChainNFT.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 14565 return nil, err 14566 } 14567 return event, nil 14568 } 14569 14570 // 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. 14571 type ServiceChainNFTOwnershipTransferredIterator struct { 14572 Event *ServiceChainNFTOwnershipTransferred // Event containing the contract specifics and raw log 14573 14574 contract *bind.BoundContract // Generic contract to use for unpacking event data 14575 event string // Event name to use for unpacking event data 14576 14577 logs chan types.Log // Log channel receiving the found contract events 14578 sub klaytn.Subscription // Subscription for errors, completion and termination 14579 done bool // Whether the subscription completed delivering logs 14580 fail error // Occurred error to stop iteration 14581 } 14582 14583 // Next advances the iterator to the subsequent event, returning whether there 14584 // are any more events found. In case of a retrieval or parsing error, false is 14585 // returned and Error() can be queried for the exact failure. 14586 func (it *ServiceChainNFTOwnershipTransferredIterator) Next() bool { 14587 // If the iterator failed, stop iterating 14588 if it.fail != nil { 14589 return false 14590 } 14591 // If the iterator completed, deliver directly whatever's available 14592 if it.done { 14593 select { 14594 case log := <-it.logs: 14595 it.Event = new(ServiceChainNFTOwnershipTransferred) 14596 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14597 it.fail = err 14598 return false 14599 } 14600 it.Event.Raw = log 14601 return true 14602 14603 default: 14604 return false 14605 } 14606 } 14607 // Iterator still in progress, wait for either a data or an error event 14608 select { 14609 case log := <-it.logs: 14610 it.Event = new(ServiceChainNFTOwnershipTransferred) 14611 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14612 it.fail = err 14613 return false 14614 } 14615 it.Event.Raw = log 14616 return true 14617 14618 case err := <-it.sub.Err(): 14619 it.done = true 14620 it.fail = err 14621 return it.Next() 14622 } 14623 } 14624 14625 // Error returns any retrieval or parsing error occurred during filtering. 14626 func (it *ServiceChainNFTOwnershipTransferredIterator) Error() error { 14627 return it.fail 14628 } 14629 14630 // Close terminates the iteration process, releasing any pending underlying 14631 // resources. 14632 func (it *ServiceChainNFTOwnershipTransferredIterator) Close() error { 14633 it.sub.Unsubscribe() 14634 return nil 14635 } 14636 14637 // ServiceChainNFTOwnershipTransferred represents a OwnershipTransferred event raised by the ServiceChainNFT contract. 14638 type ServiceChainNFTOwnershipTransferred struct { 14639 PreviousOwner common.Address 14640 NewOwner common.Address 14641 Raw types.Log // Blockchain specific contextual infos 14642 } 14643 14644 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 14645 // 14646 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 14647 func (_ServiceChainNFT *ServiceChainNFTFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ServiceChainNFTOwnershipTransferredIterator, error) { 14648 14649 var previousOwnerRule []interface{} 14650 for _, previousOwnerItem := range previousOwner { 14651 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 14652 } 14653 var newOwnerRule []interface{} 14654 for _, newOwnerItem := range newOwner { 14655 newOwnerRule = append(newOwnerRule, newOwnerItem) 14656 } 14657 14658 logs, sub, err := _ServiceChainNFT.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 14659 if err != nil { 14660 return nil, err 14661 } 14662 return &ServiceChainNFTOwnershipTransferredIterator{contract: _ServiceChainNFT.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 14663 } 14664 14665 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 14666 // 14667 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 14668 func (_ServiceChainNFT *ServiceChainNFTFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 14669 14670 var previousOwnerRule []interface{} 14671 for _, previousOwnerItem := range previousOwner { 14672 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 14673 } 14674 var newOwnerRule []interface{} 14675 for _, newOwnerItem := range newOwner { 14676 newOwnerRule = append(newOwnerRule, newOwnerItem) 14677 } 14678 14679 logs, sub, err := _ServiceChainNFT.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 14680 if err != nil { 14681 return nil, err 14682 } 14683 return event.NewSubscription(func(quit <-chan struct{}) error { 14684 defer sub.Unsubscribe() 14685 for { 14686 select { 14687 case log := <-logs: 14688 // New log arrived, parse the event and forward to the user 14689 event := new(ServiceChainNFTOwnershipTransferred) 14690 if err := _ServiceChainNFT.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 14691 return err 14692 } 14693 event.Raw = log 14694 14695 select { 14696 case sink <- event: 14697 case err := <-sub.Err(): 14698 return err 14699 case <-quit: 14700 return nil 14701 } 14702 case err := <-sub.Err(): 14703 return err 14704 case <-quit: 14705 return nil 14706 } 14707 } 14708 }), nil 14709 } 14710 14711 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 14712 // 14713 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 14714 func (_ServiceChainNFT *ServiceChainNFTFilterer) ParseOwnershipTransferred(log types.Log) (*ServiceChainNFTOwnershipTransferred, error) { 14715 event := new(ServiceChainNFTOwnershipTransferred) 14716 if err := _ServiceChainNFT.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 14717 return nil, err 14718 } 14719 return event, nil 14720 } 14721 14722 // 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. 14723 type ServiceChainNFTTransferIterator struct { 14724 Event *ServiceChainNFTTransfer // Event containing the contract specifics and raw log 14725 14726 contract *bind.BoundContract // Generic contract to use for unpacking event data 14727 event string // Event name to use for unpacking event data 14728 14729 logs chan types.Log // Log channel receiving the found contract events 14730 sub klaytn.Subscription // Subscription for errors, completion and termination 14731 done bool // Whether the subscription completed delivering logs 14732 fail error // Occurred error to stop iteration 14733 } 14734 14735 // Next advances the iterator to the subsequent event, returning whether there 14736 // are any more events found. In case of a retrieval or parsing error, false is 14737 // returned and Error() can be queried for the exact failure. 14738 func (it *ServiceChainNFTTransferIterator) Next() bool { 14739 // If the iterator failed, stop iterating 14740 if it.fail != nil { 14741 return false 14742 } 14743 // If the iterator completed, deliver directly whatever's available 14744 if it.done { 14745 select { 14746 case log := <-it.logs: 14747 it.Event = new(ServiceChainNFTTransfer) 14748 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14749 it.fail = err 14750 return false 14751 } 14752 it.Event.Raw = log 14753 return true 14754 14755 default: 14756 return false 14757 } 14758 } 14759 // Iterator still in progress, wait for either a data or an error event 14760 select { 14761 case log := <-it.logs: 14762 it.Event = new(ServiceChainNFTTransfer) 14763 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14764 it.fail = err 14765 return false 14766 } 14767 it.Event.Raw = log 14768 return true 14769 14770 case err := <-it.sub.Err(): 14771 it.done = true 14772 it.fail = err 14773 return it.Next() 14774 } 14775 } 14776 14777 // Error returns any retrieval or parsing error occurred during filtering. 14778 func (it *ServiceChainNFTTransferIterator) Error() error { 14779 return it.fail 14780 } 14781 14782 // Close terminates the iteration process, releasing any pending underlying 14783 // resources. 14784 func (it *ServiceChainNFTTransferIterator) Close() error { 14785 it.sub.Unsubscribe() 14786 return nil 14787 } 14788 14789 // ServiceChainNFTTransfer represents a Transfer event raised by the ServiceChainNFT contract. 14790 type ServiceChainNFTTransfer struct { 14791 From common.Address 14792 To common.Address 14793 TokenId *big.Int 14794 Raw types.Log // Blockchain specific contextual infos 14795 } 14796 14797 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 14798 // 14799 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 14800 func (_ServiceChainNFT *ServiceChainNFTFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ServiceChainNFTTransferIterator, error) { 14801 14802 var fromRule []interface{} 14803 for _, fromItem := range from { 14804 fromRule = append(fromRule, fromItem) 14805 } 14806 var toRule []interface{} 14807 for _, toItem := range to { 14808 toRule = append(toRule, toItem) 14809 } 14810 var tokenIdRule []interface{} 14811 for _, tokenIdItem := range tokenId { 14812 tokenIdRule = append(tokenIdRule, tokenIdItem) 14813 } 14814 14815 logs, sub, err := _ServiceChainNFT.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 14816 if err != nil { 14817 return nil, err 14818 } 14819 return &ServiceChainNFTTransferIterator{contract: _ServiceChainNFT.contract, event: "Transfer", logs: logs, sub: sub}, nil 14820 } 14821 14822 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 14823 // 14824 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 14825 func (_ServiceChainNFT *ServiceChainNFTFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 14826 14827 var fromRule []interface{} 14828 for _, fromItem := range from { 14829 fromRule = append(fromRule, fromItem) 14830 } 14831 var toRule []interface{} 14832 for _, toItem := range to { 14833 toRule = append(toRule, toItem) 14834 } 14835 var tokenIdRule []interface{} 14836 for _, tokenIdItem := range tokenId { 14837 tokenIdRule = append(tokenIdRule, tokenIdItem) 14838 } 14839 14840 logs, sub, err := _ServiceChainNFT.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 14841 if err != nil { 14842 return nil, err 14843 } 14844 return event.NewSubscription(func(quit <-chan struct{}) error { 14845 defer sub.Unsubscribe() 14846 for { 14847 select { 14848 case log := <-logs: 14849 // New log arrived, parse the event and forward to the user 14850 event := new(ServiceChainNFTTransfer) 14851 if err := _ServiceChainNFT.contract.UnpackLog(event, "Transfer", log); err != nil { 14852 return err 14853 } 14854 event.Raw = log 14855 14856 select { 14857 case sink <- event: 14858 case err := <-sub.Err(): 14859 return err 14860 case <-quit: 14861 return nil 14862 } 14863 case err := <-sub.Err(): 14864 return err 14865 case <-quit: 14866 return nil 14867 } 14868 } 14869 }), nil 14870 } 14871 14872 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 14873 // 14874 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 14875 func (_ServiceChainNFT *ServiceChainNFTFilterer) ParseTransfer(log types.Log) (*ServiceChainNFTTransfer, error) { 14876 event := new(ServiceChainNFTTransfer) 14877 if err := _ServiceChainNFT.contract.UnpackLog(event, "Transfer", log); err != nil { 14878 return nil, err 14879 } 14880 return event, nil 14881 }