github.com/klaytn/klaytn@v1.10.2/contracts/sc_erc721_no_uri/sc_nft_no_uri.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_no_uri 5 6 import ( 7 "math/big" 8 "strings" 9 10 "github.com/klaytn/klaytn" 11 "github.com/klaytn/klaytn/accounts/abi" 12 "github.com/klaytn/klaytn/accounts/abi/bind" 13 "github.com/klaytn/klaytn/blockchain/types" 14 "github.com/klaytn/klaytn/common" 15 "github.com/klaytn/klaytn/event" 16 ) 17 18 // Reference imports to suppress errors if they are not otherwise used. 19 var ( 20 _ = big.NewInt 21 _ = strings.NewReader 22 _ = klaytn.NotFound 23 _ = bind.Bind 24 _ = common.Big1 25 _ = types.BloomLookup 26 _ = event.NewSubscription 27 ) 28 29 // AddressABI is the input ABI used to generate the binding from. 30 const AddressABI = "[]" 31 32 // AddressBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 33 const AddressBinRuntime = `73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820b7534b8b203852d9ead56352219b5abb5424533d9bb1b9cf84c0b1d15d11fee50029` 34 35 // AddressBin is the compiled bytecode used for deploying new contracts. 36 var AddressBin = "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820b7534b8b203852d9ead56352219b5abb5424533d9bb1b9cf84c0b1d15d11fee50029" 37 38 // DeployAddress deploys a new Klaytn contract, binding an instance of Address to it. 39 func DeployAddress(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Address, error) { 40 parsed, err := abi.JSON(strings.NewReader(AddressABI)) 41 if err != nil { 42 return common.Address{}, nil, nil, err 43 } 44 45 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(AddressBin), backend) 46 if err != nil { 47 return common.Address{}, nil, nil, err 48 } 49 return address, tx, &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil 50 } 51 52 // Address is an auto generated Go binding around a Klaytn contract. 53 type Address struct { 54 AddressCaller // Read-only binding to the contract 55 AddressTransactor // Write-only binding to the contract 56 AddressFilterer // Log filterer for contract events 57 } 58 59 // AddressCaller is an auto generated read-only Go binding around a Klaytn contract. 60 type AddressCaller struct { 61 contract *bind.BoundContract // Generic contract wrapper for the low level calls 62 } 63 64 // AddressTransactor is an auto generated write-only Go binding around a Klaytn contract. 65 type AddressTransactor struct { 66 contract *bind.BoundContract // Generic contract wrapper for the low level calls 67 } 68 69 // AddressFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 70 type AddressFilterer struct { 71 contract *bind.BoundContract // Generic contract wrapper for the low level calls 72 } 73 74 // AddressSession is an auto generated Go binding around a Klaytn contract, 75 // with pre-set call and transact options. 76 type AddressSession struct { 77 Contract *Address // Generic contract binding to set the session for 78 CallOpts bind.CallOpts // Call options to use throughout this session 79 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 80 } 81 82 // AddressCallerSession is an auto generated read-only Go binding around a Klaytn contract, 83 // with pre-set call options. 84 type AddressCallerSession struct { 85 Contract *AddressCaller // Generic contract caller binding to set the session for 86 CallOpts bind.CallOpts // Call options to use throughout this session 87 } 88 89 // AddressTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 90 // with pre-set transact options. 91 type AddressTransactorSession struct { 92 Contract *AddressTransactor // Generic contract transactor binding to set the session for 93 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 94 } 95 96 // AddressRaw is an auto generated low-level Go binding around a Klaytn contract. 97 type AddressRaw struct { 98 Contract *Address // Generic contract binding to access the raw methods on 99 } 100 101 // AddressCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 102 type AddressCallerRaw struct { 103 Contract *AddressCaller // Generic read-only contract binding to access the raw methods on 104 } 105 106 // AddressTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 107 type AddressTransactorRaw struct { 108 Contract *AddressTransactor // Generic write-only contract binding to access the raw methods on 109 } 110 111 // NewAddress creates a new instance of Address, bound to a specific deployed contract. 112 func NewAddress(address common.Address, backend bind.ContractBackend) (*Address, error) { 113 contract, err := bindAddress(address, backend, backend, backend) 114 if err != nil { 115 return nil, err 116 } 117 return &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil 118 } 119 120 // NewAddressCaller creates a new read-only instance of Address, bound to a specific deployed contract. 121 func NewAddressCaller(address common.Address, caller bind.ContractCaller) (*AddressCaller, error) { 122 contract, err := bindAddress(address, caller, nil, nil) 123 if err != nil { 124 return nil, err 125 } 126 return &AddressCaller{contract: contract}, nil 127 } 128 129 // NewAddressTransactor creates a new write-only instance of Address, bound to a specific deployed contract. 130 func NewAddressTransactor(address common.Address, transactor bind.ContractTransactor) (*AddressTransactor, error) { 131 contract, err := bindAddress(address, nil, transactor, nil) 132 if err != nil { 133 return nil, err 134 } 135 return &AddressTransactor{contract: contract}, nil 136 } 137 138 // NewAddressFilterer creates a new log filterer instance of Address, bound to a specific deployed contract. 139 func NewAddressFilterer(address common.Address, filterer bind.ContractFilterer) (*AddressFilterer, error) { 140 contract, err := bindAddress(address, nil, nil, filterer) 141 if err != nil { 142 return nil, err 143 } 144 return &AddressFilterer{contract: contract}, nil 145 } 146 147 // bindAddress binds a generic wrapper to an already deployed contract. 148 func bindAddress(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 149 parsed, err := abi.JSON(strings.NewReader(AddressABI)) 150 if err != nil { 151 return nil, err 152 } 153 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 154 } 155 156 // Call invokes the (constant) contract method with params as input values and 157 // sets the output to result. The result type might be a single field for simple 158 // returns, a slice of interfaces for anonymous returns and a struct for named 159 // returns. 160 func (_Address *AddressRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 161 return _Address.Contract.AddressCaller.contract.Call(opts, result, method, params...) 162 } 163 164 // Transfer initiates a plain transaction to move funds to the contract, calling 165 // its default method if one is available. 166 func (_Address *AddressRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 167 return _Address.Contract.AddressTransactor.contract.Transfer(opts) 168 } 169 170 // Transact invokes the (paid) contract method with params as input values. 171 func (_Address *AddressRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 172 return _Address.Contract.AddressTransactor.contract.Transact(opts, method, params...) 173 } 174 175 // Call invokes the (constant) contract method with params as input values and 176 // sets the output to result. The result type might be a single field for simple 177 // returns, a slice of interfaces for anonymous returns and a struct for named 178 // returns. 179 func (_Address *AddressCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 180 return _Address.Contract.contract.Call(opts, result, method, params...) 181 } 182 183 // Transfer initiates a plain transaction to move funds to the contract, calling 184 // its default method if one is available. 185 func (_Address *AddressTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 186 return _Address.Contract.contract.Transfer(opts) 187 } 188 189 // Transact invokes the (paid) contract method with params as input values. 190 func (_Address *AddressTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 191 return _Address.Contract.contract.Transact(opts, method, params...) 192 } 193 194 // CountersABI is the input ABI used to generate the binding from. 195 const CountersABI = "[]" 196 197 // CountersBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 198 const CountersBinRuntime = `73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058207329cab25de591c35947480820e66bd7e2d232979872616f21ac6e5783a017700029` 199 200 // CountersBin is the compiled bytecode used for deploying new contracts. 201 var CountersBin = "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058207329cab25de591c35947480820e66bd7e2d232979872616f21ac6e5783a017700029" 202 203 // DeployCounters deploys a new Klaytn contract, binding an instance of Counters to it. 204 func DeployCounters(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Counters, error) { 205 parsed, err := abi.JSON(strings.NewReader(CountersABI)) 206 if err != nil { 207 return common.Address{}, nil, nil, err 208 } 209 210 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(CountersBin), backend) 211 if err != nil { 212 return common.Address{}, nil, nil, err 213 } 214 return address, tx, &Counters{CountersCaller: CountersCaller{contract: contract}, CountersTransactor: CountersTransactor{contract: contract}, CountersFilterer: CountersFilterer{contract: contract}}, nil 215 } 216 217 // Counters is an auto generated Go binding around a Klaytn contract. 218 type Counters struct { 219 CountersCaller // Read-only binding to the contract 220 CountersTransactor // Write-only binding to the contract 221 CountersFilterer // Log filterer for contract events 222 } 223 224 // CountersCaller is an auto generated read-only Go binding around a Klaytn contract. 225 type CountersCaller struct { 226 contract *bind.BoundContract // Generic contract wrapper for the low level calls 227 } 228 229 // CountersTransactor is an auto generated write-only Go binding around a Klaytn contract. 230 type CountersTransactor struct { 231 contract *bind.BoundContract // Generic contract wrapper for the low level calls 232 } 233 234 // CountersFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 235 type CountersFilterer struct { 236 contract *bind.BoundContract // Generic contract wrapper for the low level calls 237 } 238 239 // CountersSession is an auto generated Go binding around a Klaytn contract, 240 // with pre-set call and transact options. 241 type CountersSession struct { 242 Contract *Counters // Generic contract binding to set the session for 243 CallOpts bind.CallOpts // Call options to use throughout this session 244 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 245 } 246 247 // CountersCallerSession is an auto generated read-only Go binding around a Klaytn contract, 248 // with pre-set call options. 249 type CountersCallerSession struct { 250 Contract *CountersCaller // Generic contract caller binding to set the session for 251 CallOpts bind.CallOpts // Call options to use throughout this session 252 } 253 254 // CountersTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 255 // with pre-set transact options. 256 type CountersTransactorSession struct { 257 Contract *CountersTransactor // Generic contract transactor binding to set the session for 258 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 259 } 260 261 // CountersRaw is an auto generated low-level Go binding around a Klaytn contract. 262 type CountersRaw struct { 263 Contract *Counters // Generic contract binding to access the raw methods on 264 } 265 266 // CountersCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 267 type CountersCallerRaw struct { 268 Contract *CountersCaller // Generic read-only contract binding to access the raw methods on 269 } 270 271 // CountersTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 272 type CountersTransactorRaw struct { 273 Contract *CountersTransactor // Generic write-only contract binding to access the raw methods on 274 } 275 276 // NewCounters creates a new instance of Counters, bound to a specific deployed contract. 277 func NewCounters(address common.Address, backend bind.ContractBackend) (*Counters, error) { 278 contract, err := bindCounters(address, backend, backend, backend) 279 if err != nil { 280 return nil, err 281 } 282 return &Counters{CountersCaller: CountersCaller{contract: contract}, CountersTransactor: CountersTransactor{contract: contract}, CountersFilterer: CountersFilterer{contract: contract}}, nil 283 } 284 285 // NewCountersCaller creates a new read-only instance of Counters, bound to a specific deployed contract. 286 func NewCountersCaller(address common.Address, caller bind.ContractCaller) (*CountersCaller, error) { 287 contract, err := bindCounters(address, caller, nil, nil) 288 if err != nil { 289 return nil, err 290 } 291 return &CountersCaller{contract: contract}, nil 292 } 293 294 // NewCountersTransactor creates a new write-only instance of Counters, bound to a specific deployed contract. 295 func NewCountersTransactor(address common.Address, transactor bind.ContractTransactor) (*CountersTransactor, error) { 296 contract, err := bindCounters(address, nil, transactor, nil) 297 if err != nil { 298 return nil, err 299 } 300 return &CountersTransactor{contract: contract}, nil 301 } 302 303 // NewCountersFilterer creates a new log filterer instance of Counters, bound to a specific deployed contract. 304 func NewCountersFilterer(address common.Address, filterer bind.ContractFilterer) (*CountersFilterer, error) { 305 contract, err := bindCounters(address, nil, nil, filterer) 306 if err != nil { 307 return nil, err 308 } 309 return &CountersFilterer{contract: contract}, nil 310 } 311 312 // bindCounters binds a generic wrapper to an already deployed contract. 313 func bindCounters(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 314 parsed, err := abi.JSON(strings.NewReader(CountersABI)) 315 if err != nil { 316 return nil, err 317 } 318 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 319 } 320 321 // Call invokes the (constant) contract method with params as input values and 322 // sets the output to result. The result type might be a single field for simple 323 // returns, a slice of interfaces for anonymous returns and a struct for named 324 // returns. 325 func (_Counters *CountersRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 326 return _Counters.Contract.CountersCaller.contract.Call(opts, result, method, params...) 327 } 328 329 // Transfer initiates a plain transaction to move funds to the contract, calling 330 // its default method if one is available. 331 func (_Counters *CountersRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 332 return _Counters.Contract.CountersTransactor.contract.Transfer(opts) 333 } 334 335 // Transact invokes the (paid) contract method with params as input values. 336 func (_Counters *CountersRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 337 return _Counters.Contract.CountersTransactor.contract.Transact(opts, method, params...) 338 } 339 340 // Call invokes the (constant) contract method with params as input values and 341 // sets the output to result. The result type might be a single field for simple 342 // returns, a slice of interfaces for anonymous returns and a struct for named 343 // returns. 344 func (_Counters *CountersCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 345 return _Counters.Contract.contract.Call(opts, result, method, params...) 346 } 347 348 // Transfer initiates a plain transaction to move funds to the contract, calling 349 // its default method if one is available. 350 func (_Counters *CountersTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 351 return _Counters.Contract.contract.Transfer(opts) 352 } 353 354 // Transact invokes the (paid) contract method with params as input values. 355 func (_Counters *CountersTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 356 return _Counters.Contract.contract.Transact(opts, method, params...) 357 } 358 359 // ERC165ABI is the input ABI used to generate the binding from. 360 const ERC165ABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}]" 361 362 // ERC165BinRuntime is the compiled bytecode used for adding genesis block without deploying code. 363 const ERC165BinRuntime = `` 364 365 // ERC165FuncSigs maps the 4-byte function signature to its string representation. 366 var ERC165FuncSigs = map[string]string{ 367 "01ffc9a7": "supportsInterface(bytes4)", 368 } 369 370 // ERC165 is an auto generated Go binding around a Klaytn contract. 371 type ERC165 struct { 372 ERC165Caller // Read-only binding to the contract 373 ERC165Transactor // Write-only binding to the contract 374 ERC165Filterer // Log filterer for contract events 375 } 376 377 // ERC165Caller is an auto generated read-only Go binding around a Klaytn contract. 378 type ERC165Caller struct { 379 contract *bind.BoundContract // Generic contract wrapper for the low level calls 380 } 381 382 // ERC165Transactor is an auto generated write-only Go binding around a Klaytn contract. 383 type ERC165Transactor struct { 384 contract *bind.BoundContract // Generic contract wrapper for the low level calls 385 } 386 387 // ERC165Filterer is an auto generated log filtering Go binding around a Klaytn contract events. 388 type ERC165Filterer struct { 389 contract *bind.BoundContract // Generic contract wrapper for the low level calls 390 } 391 392 // ERC165Session is an auto generated Go binding around a Klaytn contract, 393 // with pre-set call and transact options. 394 type ERC165Session struct { 395 Contract *ERC165 // Generic contract binding to set the session for 396 CallOpts bind.CallOpts // Call options to use throughout this session 397 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 398 } 399 400 // ERC165CallerSession is an auto generated read-only Go binding around a Klaytn contract, 401 // with pre-set call options. 402 type ERC165CallerSession struct { 403 Contract *ERC165Caller // Generic contract caller binding to set the session for 404 CallOpts bind.CallOpts // Call options to use throughout this session 405 } 406 407 // ERC165TransactorSession is an auto generated write-only Go binding around a Klaytn contract, 408 // with pre-set transact options. 409 type ERC165TransactorSession struct { 410 Contract *ERC165Transactor // Generic contract transactor binding to set the session for 411 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 412 } 413 414 // ERC165Raw is an auto generated low-level Go binding around a Klaytn contract. 415 type ERC165Raw struct { 416 Contract *ERC165 // Generic contract binding to access the raw methods on 417 } 418 419 // ERC165CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 420 type ERC165CallerRaw struct { 421 Contract *ERC165Caller // Generic read-only contract binding to access the raw methods on 422 } 423 424 // ERC165TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 425 type ERC165TransactorRaw struct { 426 Contract *ERC165Transactor // Generic write-only contract binding to access the raw methods on 427 } 428 429 // NewERC165 creates a new instance of ERC165, bound to a specific deployed contract. 430 func NewERC165(address common.Address, backend bind.ContractBackend) (*ERC165, error) { 431 contract, err := bindERC165(address, backend, backend, backend) 432 if err != nil { 433 return nil, err 434 } 435 return &ERC165{ERC165Caller: ERC165Caller{contract: contract}, ERC165Transactor: ERC165Transactor{contract: contract}, ERC165Filterer: ERC165Filterer{contract: contract}}, nil 436 } 437 438 // NewERC165Caller creates a new read-only instance of ERC165, bound to a specific deployed contract. 439 func NewERC165Caller(address common.Address, caller bind.ContractCaller) (*ERC165Caller, error) { 440 contract, err := bindERC165(address, caller, nil, nil) 441 if err != nil { 442 return nil, err 443 } 444 return &ERC165Caller{contract: contract}, nil 445 } 446 447 // NewERC165Transactor creates a new write-only instance of ERC165, bound to a specific deployed contract. 448 func NewERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC165Transactor, error) { 449 contract, err := bindERC165(address, nil, transactor, nil) 450 if err != nil { 451 return nil, err 452 } 453 return &ERC165Transactor{contract: contract}, nil 454 } 455 456 // NewERC165Filterer creates a new log filterer instance of ERC165, bound to a specific deployed contract. 457 func NewERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC165Filterer, error) { 458 contract, err := bindERC165(address, nil, nil, filterer) 459 if err != nil { 460 return nil, err 461 } 462 return &ERC165Filterer{contract: contract}, nil 463 } 464 465 // bindERC165 binds a generic wrapper to an already deployed contract. 466 func bindERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 467 parsed, err := abi.JSON(strings.NewReader(ERC165ABI)) 468 if err != nil { 469 return nil, err 470 } 471 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 472 } 473 474 // Call invokes the (constant) contract method with params as input values and 475 // sets the output to result. The result type might be a single field for simple 476 // returns, a slice of interfaces for anonymous returns and a struct for named 477 // returns. 478 func (_ERC165 *ERC165Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 479 return _ERC165.Contract.ERC165Caller.contract.Call(opts, result, method, params...) 480 } 481 482 // Transfer initiates a plain transaction to move funds to the contract, calling 483 // its default method if one is available. 484 func (_ERC165 *ERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 485 return _ERC165.Contract.ERC165Transactor.contract.Transfer(opts) 486 } 487 488 // Transact invokes the (paid) contract method with params as input values. 489 func (_ERC165 *ERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 490 return _ERC165.Contract.ERC165Transactor.contract.Transact(opts, method, params...) 491 } 492 493 // Call invokes the (constant) contract method with params as input values and 494 // sets the output to result. The result type might be a single field for simple 495 // returns, a slice of interfaces for anonymous returns and a struct for named 496 // returns. 497 func (_ERC165 *ERC165CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 498 return _ERC165.Contract.contract.Call(opts, result, method, params...) 499 } 500 501 // Transfer initiates a plain transaction to move funds to the contract, calling 502 // its default method if one is available. 503 func (_ERC165 *ERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 504 return _ERC165.Contract.contract.Transfer(opts) 505 } 506 507 // Transact invokes the (paid) contract method with params as input values. 508 func (_ERC165 *ERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 509 return _ERC165.Contract.contract.Transact(opts, method, params...) 510 } 511 512 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 513 // 514 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 515 func (_ERC165 *ERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 516 var ( 517 ret0 = new(bool) 518 ) 519 out := ret0 520 err := _ERC165.contract.Call(opts, out, "supportsInterface", interfaceId) 521 return *ret0, err 522 } 523 524 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 525 // 526 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 527 func (_ERC165 *ERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 528 return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) 529 } 530 531 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 532 // 533 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 534 func (_ERC165 *ERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 535 return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) 536 } 537 538 // ERC721ABI is the input ABI used to generate the binding from. 539 const ERC721ABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" 540 541 // ERC721BinRuntime is the compiled bytecode used for adding genesis block without deploying code. 542 const ERC721BinRuntime = `608060405234801561001057600080fd5b506004361061009e5760003560e01c80636352211e116100665780636352211e146101b157806370a08231146101ce578063a22cb46514610206578063b88d4fde14610234578063e985e9c5146102fa5761009e565b806301ffc9a7146100a3578063081812fc146100de578063095ea7b31461011757806323b872dd1461014557806342842e0e1461017b575b600080fd5b6100ca600480360360208110156100b957600080fd5b50356001600160e01b031916610328565b604080519115158252519081900360200190f35b6100fb600480360360208110156100f457600080fd5b5035610347565b604080516001600160a01b039092168252519081900360200190f35b6101436004803603604081101561012d57600080fd5b506001600160a01b0381351690602001356103ac565b005b6101436004803603606081101561015b57600080fd5b506001600160a01b038135811691602081013590911690604001356104c3565b6101436004803603606081101561019157600080fd5b506001600160a01b0381358116916020810135909116906040013561051b565b6100fb600480360360208110156101c757600080fd5b5035610536565b6101f4600480360360208110156101e457600080fd5b50356001600160a01b0316610593565b60408051918252519081900360200190f35b6101436004803603604081101561021c57600080fd5b506001600160a01b03813516906020013515156105fe565b6101436004803603608081101561024a57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561028557600080fd5b82018360208201111561029757600080fd5b803590602001918460018302840111640100000000831117156102b957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106cd945050505050565b6100ca6004803603604081101561031057600080fd5b506001600160a01b0381358116916020013516610728565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061035282610756565b61039057604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610c72602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006103b782610536565b9050806001600160a01b0316836001600160a01b0316141561040d57604051600160e51b62461bcd028152600401808060200182810382526021815260200180610cc76021913960400191505060405180910390fd5b336001600160a01b038216148061042957506104298133610728565b61046757604051600160e51b62461bcd028152600401808060200182810382526038815260200180610be76038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6104cd3382610773565b61050b57604051600160e51b62461bcd028152600401808060200182810382526031815260200180610ce86031913960400191505060405180910390fd5b61051683838361081a565b505050565b610516838383604051806020016040528060008152506106cd565b6000818152600160205260408120546001600160a01b03168061058d57604051600160e51b62461bcd028152600401808060200182810382526029815260200180610c496029913960400191505060405180910390fd5b92915050565b60006001600160a01b0382166105dd57604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610c1f602a913960400191505060405180910390fd5b6001600160a01b038216600090815260036020526040902061058d90610964565b6001600160a01b03821633141561065f5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6106d88484846104c3565b6106e484848484610968565b61072257604051600160e51b62461bcd028152600401808060200182810382526032815260200180610b656032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b600061077e82610756565b6107bc57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610bbb602c913960400191505060405180910390fd5b60006107c783610536565b9050806001600160a01b0316846001600160a01b031614806108025750836001600160a01b03166107f784610347565b6001600160a01b0316145b8061081257506108128185610728565b949350505050565b826001600160a01b031661082d82610536565b6001600160a01b03161461087557604051600160e51b62461bcd028152600401808060200182810382526029815260200180610c9e6029913960400191505060405180910390fd5b6001600160a01b0382166108bd57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610b976024913960400191505060405180910390fd5b6108c681610aa1565b6001600160a01b03831660009081526003602052604090206108e790610ade565b6001600160a01b038216600090815260036020526040902061090890610af5565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5490565b600061097c846001600160a01b0316610afe565b61098857506001610812565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a055781810151838201526020016109ed565b50505050905090810190601f168015610a325780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610a5457600080fd5b505af1158015610a68573d6000803e3d6000fd5b505050506040513d6020811015610a7e57600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b031615610adb57600081815260026020526040902080546001600160a01b03191690555b50565b8054610af190600163ffffffff610b0416565b9055565b80546001019055565b3b151590565b600082821115610b5e5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a72305820729ef652fa5b3de930aa2053816415426d90b8ede7f21175faa42825db4887780029` 543 544 // ERC721FuncSigs maps the 4-byte function signature to its string representation. 545 var ERC721FuncSigs = map[string]string{ 546 "095ea7b3": "approve(address,uint256)", 547 "70a08231": "balanceOf(address)", 548 "081812fc": "getApproved(uint256)", 549 "e985e9c5": "isApprovedForAll(address,address)", 550 "6352211e": "ownerOf(uint256)", 551 "42842e0e": "safeTransferFrom(address,address,uint256)", 552 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 553 "a22cb465": "setApprovalForAll(address,bool)", 554 "01ffc9a7": "supportsInterface(bytes4)", 555 "23b872dd": "transferFrom(address,address,uint256)", 556 } 557 558 // ERC721Bin is the compiled bytecode used for deploying new contracts. 559 var ERC721Bin = "0x608060405234801561001057600080fd5b506100276301ffc9a760e01b61004260201b60201c565b61003d6380ac58cd60e01b61004260201b60201c565b610110565b7fffffffff0000000000000000000000000000000000000000000000000000000080821614156100d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b610d448061011f6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80636352211e116100665780636352211e146101b157806370a08231146101ce578063a22cb46514610206578063b88d4fde14610234578063e985e9c5146102fa5761009e565b806301ffc9a7146100a3578063081812fc146100de578063095ea7b31461011757806323b872dd1461014557806342842e0e1461017b575b600080fd5b6100ca600480360360208110156100b957600080fd5b50356001600160e01b031916610328565b604080519115158252519081900360200190f35b6100fb600480360360208110156100f457600080fd5b5035610347565b604080516001600160a01b039092168252519081900360200190f35b6101436004803603604081101561012d57600080fd5b506001600160a01b0381351690602001356103ac565b005b6101436004803603606081101561015b57600080fd5b506001600160a01b038135811691602081013590911690604001356104c3565b6101436004803603606081101561019157600080fd5b506001600160a01b0381358116916020810135909116906040013561051b565b6100fb600480360360208110156101c757600080fd5b5035610536565b6101f4600480360360208110156101e457600080fd5b50356001600160a01b0316610593565b60408051918252519081900360200190f35b6101436004803603604081101561021c57600080fd5b506001600160a01b03813516906020013515156105fe565b6101436004803603608081101561024a57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561028557600080fd5b82018360208201111561029757600080fd5b803590602001918460018302840111640100000000831117156102b957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106cd945050505050565b6100ca6004803603604081101561031057600080fd5b506001600160a01b0381358116916020013516610728565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061035282610756565b61039057604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610c72602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006103b782610536565b9050806001600160a01b0316836001600160a01b0316141561040d57604051600160e51b62461bcd028152600401808060200182810382526021815260200180610cc76021913960400191505060405180910390fd5b336001600160a01b038216148061042957506104298133610728565b61046757604051600160e51b62461bcd028152600401808060200182810382526038815260200180610be76038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6104cd3382610773565b61050b57604051600160e51b62461bcd028152600401808060200182810382526031815260200180610ce86031913960400191505060405180910390fd5b61051683838361081a565b505050565b610516838383604051806020016040528060008152506106cd565b6000818152600160205260408120546001600160a01b03168061058d57604051600160e51b62461bcd028152600401808060200182810382526029815260200180610c496029913960400191505060405180910390fd5b92915050565b60006001600160a01b0382166105dd57604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610c1f602a913960400191505060405180910390fd5b6001600160a01b038216600090815260036020526040902061058d90610964565b6001600160a01b03821633141561065f5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6106d88484846104c3565b6106e484848484610968565b61072257604051600160e51b62461bcd028152600401808060200182810382526032815260200180610b656032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b600061077e82610756565b6107bc57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610bbb602c913960400191505060405180910390fd5b60006107c783610536565b9050806001600160a01b0316846001600160a01b031614806108025750836001600160a01b03166107f784610347565b6001600160a01b0316145b8061081257506108128185610728565b949350505050565b826001600160a01b031661082d82610536565b6001600160a01b03161461087557604051600160e51b62461bcd028152600401808060200182810382526029815260200180610c9e6029913960400191505060405180910390fd5b6001600160a01b0382166108bd57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610b976024913960400191505060405180910390fd5b6108c681610aa1565b6001600160a01b03831660009081526003602052604090206108e790610ade565b6001600160a01b038216600090815260036020526040902061090890610af5565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5490565b600061097c846001600160a01b0316610afe565b61098857506001610812565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a055781810151838201526020016109ed565b50505050905090810190601f168015610a325780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610a5457600080fd5b505af1158015610a68573d6000803e3d6000fd5b505050506040513d6020811015610a7e57600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b031615610adb57600081815260026020526040902080546001600160a01b03191690555b50565b8054610af190600163ffffffff610b0416565b9055565b80546001019055565b3b151590565b600082821115610b5e5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a72305820729ef652fa5b3de930aa2053816415426d90b8ede7f21175faa42825db4887780029" 560 561 // DeployERC721 deploys a new Klaytn contract, binding an instance of ERC721 to it. 562 func DeployERC721(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC721, error) { 563 parsed, err := abi.JSON(strings.NewReader(ERC721ABI)) 564 if err != nil { 565 return common.Address{}, nil, nil, err 566 } 567 568 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC721Bin), backend) 569 if err != nil { 570 return common.Address{}, nil, nil, err 571 } 572 return address, tx, &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil 573 } 574 575 // ERC721 is an auto generated Go binding around a Klaytn contract. 576 type ERC721 struct { 577 ERC721Caller // Read-only binding to the contract 578 ERC721Transactor // Write-only binding to the contract 579 ERC721Filterer // Log filterer for contract events 580 } 581 582 // ERC721Caller is an auto generated read-only Go binding around a Klaytn contract. 583 type ERC721Caller struct { 584 contract *bind.BoundContract // Generic contract wrapper for the low level calls 585 } 586 587 // ERC721Transactor is an auto generated write-only Go binding around a Klaytn contract. 588 type ERC721Transactor struct { 589 contract *bind.BoundContract // Generic contract wrapper for the low level calls 590 } 591 592 // ERC721Filterer is an auto generated log filtering Go binding around a Klaytn contract events. 593 type ERC721Filterer struct { 594 contract *bind.BoundContract // Generic contract wrapper for the low level calls 595 } 596 597 // ERC721Session is an auto generated Go binding around a Klaytn contract, 598 // with pre-set call and transact options. 599 type ERC721Session struct { 600 Contract *ERC721 // Generic contract binding to set the session for 601 CallOpts bind.CallOpts // Call options to use throughout this session 602 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 603 } 604 605 // ERC721CallerSession is an auto generated read-only Go binding around a Klaytn contract, 606 // with pre-set call options. 607 type ERC721CallerSession struct { 608 Contract *ERC721Caller // Generic contract caller binding to set the session for 609 CallOpts bind.CallOpts // Call options to use throughout this session 610 } 611 612 // ERC721TransactorSession is an auto generated write-only Go binding around a Klaytn contract, 613 // with pre-set transact options. 614 type ERC721TransactorSession struct { 615 Contract *ERC721Transactor // Generic contract transactor binding to set the session for 616 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 617 } 618 619 // ERC721Raw is an auto generated low-level Go binding around a Klaytn contract. 620 type ERC721Raw struct { 621 Contract *ERC721 // Generic contract binding to access the raw methods on 622 } 623 624 // ERC721CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 625 type ERC721CallerRaw struct { 626 Contract *ERC721Caller // Generic read-only contract binding to access the raw methods on 627 } 628 629 // ERC721TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 630 type ERC721TransactorRaw struct { 631 Contract *ERC721Transactor // Generic write-only contract binding to access the raw methods on 632 } 633 634 // NewERC721 creates a new instance of ERC721, bound to a specific deployed contract. 635 func NewERC721(address common.Address, backend bind.ContractBackend) (*ERC721, error) { 636 contract, err := bindERC721(address, backend, backend, backend) 637 if err != nil { 638 return nil, err 639 } 640 return &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil 641 } 642 643 // NewERC721Caller creates a new read-only instance of ERC721, bound to a specific deployed contract. 644 func NewERC721Caller(address common.Address, caller bind.ContractCaller) (*ERC721Caller, error) { 645 contract, err := bindERC721(address, caller, nil, nil) 646 if err != nil { 647 return nil, err 648 } 649 return &ERC721Caller{contract: contract}, nil 650 } 651 652 // NewERC721Transactor creates a new write-only instance of ERC721, bound to a specific deployed contract. 653 func NewERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC721Transactor, error) { 654 contract, err := bindERC721(address, nil, transactor, nil) 655 if err != nil { 656 return nil, err 657 } 658 return &ERC721Transactor{contract: contract}, nil 659 } 660 661 // NewERC721Filterer creates a new log filterer instance of ERC721, bound to a specific deployed contract. 662 func NewERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC721Filterer, error) { 663 contract, err := bindERC721(address, nil, nil, filterer) 664 if err != nil { 665 return nil, err 666 } 667 return &ERC721Filterer{contract: contract}, nil 668 } 669 670 // bindERC721 binds a generic wrapper to an already deployed contract. 671 func bindERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 672 parsed, err := abi.JSON(strings.NewReader(ERC721ABI)) 673 if err != nil { 674 return nil, err 675 } 676 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 677 } 678 679 // Call invokes the (constant) contract method with params as input values and 680 // sets the output to result. The result type might be a single field for simple 681 // returns, a slice of interfaces for anonymous returns and a struct for named 682 // returns. 683 func (_ERC721 *ERC721Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 684 return _ERC721.Contract.ERC721Caller.contract.Call(opts, result, method, params...) 685 } 686 687 // Transfer initiates a plain transaction to move funds to the contract, calling 688 // its default method if one is available. 689 func (_ERC721 *ERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 690 return _ERC721.Contract.ERC721Transactor.contract.Transfer(opts) 691 } 692 693 // Transact invokes the (paid) contract method with params as input values. 694 func (_ERC721 *ERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 695 return _ERC721.Contract.ERC721Transactor.contract.Transact(opts, method, params...) 696 } 697 698 // Call invokes the (constant) contract method with params as input values and 699 // sets the output to result. The result type might be a single field for simple 700 // returns, a slice of interfaces for anonymous returns and a struct for named 701 // returns. 702 func (_ERC721 *ERC721CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 703 return _ERC721.Contract.contract.Call(opts, result, method, params...) 704 } 705 706 // Transfer initiates a plain transaction to move funds to the contract, calling 707 // its default method if one is available. 708 func (_ERC721 *ERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 709 return _ERC721.Contract.contract.Transfer(opts) 710 } 711 712 // Transact invokes the (paid) contract method with params as input values. 713 func (_ERC721 *ERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 714 return _ERC721.Contract.contract.Transact(opts, method, params...) 715 } 716 717 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 718 // 719 // Solidity: function balanceOf(address owner) view returns(uint256) 720 func (_ERC721 *ERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 721 var ( 722 ret0 = new(*big.Int) 723 ) 724 out := ret0 725 err := _ERC721.contract.Call(opts, out, "balanceOf", owner) 726 return *ret0, err 727 } 728 729 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 730 // 731 // Solidity: function balanceOf(address owner) view returns(uint256) 732 func (_ERC721 *ERC721Session) BalanceOf(owner common.Address) (*big.Int, error) { 733 return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner) 734 } 735 736 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 737 // 738 // Solidity: function balanceOf(address owner) view returns(uint256) 739 func (_ERC721 *ERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 740 return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner) 741 } 742 743 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 744 // 745 // Solidity: function getApproved(uint256 tokenId) view returns(address) 746 func (_ERC721 *ERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 747 var ( 748 ret0 = new(common.Address) 749 ) 750 out := ret0 751 err := _ERC721.contract.Call(opts, out, "getApproved", tokenId) 752 return *ret0, err 753 } 754 755 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 756 // 757 // Solidity: function getApproved(uint256 tokenId) view returns(address) 758 func (_ERC721 *ERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) { 759 return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId) 760 } 761 762 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 763 // 764 // Solidity: function getApproved(uint256 tokenId) view returns(address) 765 func (_ERC721 *ERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 766 return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId) 767 } 768 769 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 770 // 771 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 772 func (_ERC721 *ERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 773 var ( 774 ret0 = new(bool) 775 ) 776 out := ret0 777 err := _ERC721.contract.Call(opts, out, "isApprovedForAll", owner, operator) 778 return *ret0, err 779 } 780 781 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 782 // 783 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 784 func (_ERC721 *ERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 785 return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator) 786 } 787 788 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 789 // 790 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 791 func (_ERC721 *ERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 792 return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator) 793 } 794 795 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 796 // 797 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 798 func (_ERC721 *ERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 799 var ( 800 ret0 = new(common.Address) 801 ) 802 out := ret0 803 err := _ERC721.contract.Call(opts, out, "ownerOf", tokenId) 804 return *ret0, err 805 } 806 807 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 808 // 809 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 810 func (_ERC721 *ERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) { 811 return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId) 812 } 813 814 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 815 // 816 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 817 func (_ERC721 *ERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 818 return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId) 819 } 820 821 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 822 // 823 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 824 func (_ERC721 *ERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 825 var ( 826 ret0 = new(bool) 827 ) 828 out := ret0 829 err := _ERC721.contract.Call(opts, out, "supportsInterface", interfaceId) 830 return *ret0, err 831 } 832 833 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 834 // 835 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 836 func (_ERC721 *ERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 837 return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId) 838 } 839 840 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 841 // 842 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 843 func (_ERC721 *ERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 844 return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId) 845 } 846 847 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 848 // 849 // Solidity: function approve(address to, uint256 tokenId) returns() 850 func (_ERC721 *ERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 851 return _ERC721.contract.Transact(opts, "approve", to, tokenId) 852 } 853 854 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 855 // 856 // Solidity: function approve(address to, uint256 tokenId) returns() 857 func (_ERC721 *ERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 858 return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId) 859 } 860 861 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 862 // 863 // Solidity: function approve(address to, uint256 tokenId) returns() 864 func (_ERC721 *ERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 865 return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId) 866 } 867 868 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 869 // 870 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 871 func (_ERC721 *ERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 872 return _ERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 873 } 874 875 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 876 // 877 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 878 func (_ERC721 *ERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 879 return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 880 } 881 882 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 883 // 884 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 885 func (_ERC721 *ERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 886 return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 887 } 888 889 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 890 // 891 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 892 func (_ERC721 *ERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 893 return _ERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 894 } 895 896 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 897 // 898 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 899 func (_ERC721 *ERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 900 return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, _data) 901 } 902 903 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 904 // 905 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 906 func (_ERC721 *ERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 907 return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, _data) 908 } 909 910 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 911 // 912 // Solidity: function setApprovalForAll(address to, bool approved) returns() 913 func (_ERC721 *ERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 914 return _ERC721.contract.Transact(opts, "setApprovalForAll", to, approved) 915 } 916 917 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 918 // 919 // Solidity: function setApprovalForAll(address to, bool approved) returns() 920 func (_ERC721 *ERC721Session) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 921 return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, to, approved) 922 } 923 924 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 925 // 926 // Solidity: function setApprovalForAll(address to, bool approved) returns() 927 func (_ERC721 *ERC721TransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 928 return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, to, approved) 929 } 930 931 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 932 // 933 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 934 func (_ERC721 *ERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 935 return _ERC721.contract.Transact(opts, "transferFrom", from, to, tokenId) 936 } 937 938 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 939 // 940 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 941 func (_ERC721 *ERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 942 return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 943 } 944 945 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 946 // 947 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 948 func (_ERC721 *ERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 949 return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId) 950 } 951 952 // ERC721ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721 contract. 953 type ERC721ApprovalIterator struct { 954 Event *ERC721Approval // Event containing the contract specifics and raw log 955 956 contract *bind.BoundContract // Generic contract to use for unpacking event data 957 event string // Event name to use for unpacking event data 958 959 logs chan types.Log // Log channel receiving the found contract events 960 sub klaytn.Subscription // Subscription for errors, completion and termination 961 done bool // Whether the subscription completed delivering logs 962 fail error // Occurred error to stop iteration 963 } 964 965 // Next advances the iterator to the subsequent event, returning whether there 966 // are any more events found. In case of a retrieval or parsing error, false is 967 // returned and Error() can be queried for the exact failure. 968 func (it *ERC721ApprovalIterator) Next() bool { 969 // If the iterator failed, stop iterating 970 if it.fail != nil { 971 return false 972 } 973 // If the iterator completed, deliver directly whatever's available 974 if it.done { 975 select { 976 case log := <-it.logs: 977 it.Event = new(ERC721Approval) 978 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 979 it.fail = err 980 return false 981 } 982 it.Event.Raw = log 983 return true 984 985 default: 986 return false 987 } 988 } 989 // Iterator still in progress, wait for either a data or an error event 990 select { 991 case log := <-it.logs: 992 it.Event = new(ERC721Approval) 993 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 994 it.fail = err 995 return false 996 } 997 it.Event.Raw = log 998 return true 999 1000 case err := <-it.sub.Err(): 1001 it.done = true 1002 it.fail = err 1003 return it.Next() 1004 } 1005 } 1006 1007 // Error returns any retrieval or parsing error occurred during filtering. 1008 func (it *ERC721ApprovalIterator) Error() error { 1009 return it.fail 1010 } 1011 1012 // Close terminates the iteration process, releasing any pending underlying 1013 // resources. 1014 func (it *ERC721ApprovalIterator) Close() error { 1015 it.sub.Unsubscribe() 1016 return nil 1017 } 1018 1019 // ERC721Approval represents a Approval event raised by the ERC721 contract. 1020 type ERC721Approval struct { 1021 Owner common.Address 1022 Approved common.Address 1023 TokenId *big.Int 1024 Raw types.Log // Blockchain specific contextual infos 1025 } 1026 1027 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1028 // 1029 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1030 func (_ERC721 *ERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721ApprovalIterator, error) { 1031 1032 var ownerRule []interface{} 1033 for _, ownerItem := range owner { 1034 ownerRule = append(ownerRule, ownerItem) 1035 } 1036 var approvedRule []interface{} 1037 for _, approvedItem := range approved { 1038 approvedRule = append(approvedRule, approvedItem) 1039 } 1040 var tokenIdRule []interface{} 1041 for _, tokenIdItem := range tokenId { 1042 tokenIdRule = append(tokenIdRule, tokenIdItem) 1043 } 1044 1045 logs, sub, err := _ERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 1046 if err != nil { 1047 return nil, err 1048 } 1049 return &ERC721ApprovalIterator{contract: _ERC721.contract, event: "Approval", logs: logs, sub: sub}, nil 1050 } 1051 1052 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1053 // 1054 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1055 func (_ERC721 *ERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 1056 1057 var ownerRule []interface{} 1058 for _, ownerItem := range owner { 1059 ownerRule = append(ownerRule, ownerItem) 1060 } 1061 var approvedRule []interface{} 1062 for _, approvedItem := range approved { 1063 approvedRule = append(approvedRule, approvedItem) 1064 } 1065 var tokenIdRule []interface{} 1066 for _, tokenIdItem := range tokenId { 1067 tokenIdRule = append(tokenIdRule, tokenIdItem) 1068 } 1069 1070 logs, sub, err := _ERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 1071 if err != nil { 1072 return nil, err 1073 } 1074 return event.NewSubscription(func(quit <-chan struct{}) error { 1075 defer sub.Unsubscribe() 1076 for { 1077 select { 1078 case log := <-logs: 1079 // New log arrived, parse the event and forward to the user 1080 event := new(ERC721Approval) 1081 if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil { 1082 return err 1083 } 1084 event.Raw = log 1085 1086 select { 1087 case sink <- event: 1088 case err := <-sub.Err(): 1089 return err 1090 case <-quit: 1091 return nil 1092 } 1093 case err := <-sub.Err(): 1094 return err 1095 case <-quit: 1096 return nil 1097 } 1098 } 1099 }), nil 1100 } 1101 1102 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1103 // 1104 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1105 func (_ERC721 *ERC721Filterer) ParseApproval(log types.Log) (*ERC721Approval, error) { 1106 event := new(ERC721Approval) 1107 if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil { 1108 return nil, err 1109 } 1110 return event, nil 1111 } 1112 1113 // ERC721ApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721 contract. 1114 type ERC721ApprovalForAllIterator struct { 1115 Event *ERC721ApprovalForAll // Event containing the contract specifics and raw log 1116 1117 contract *bind.BoundContract // Generic contract to use for unpacking event data 1118 event string // Event name to use for unpacking event data 1119 1120 logs chan types.Log // Log channel receiving the found contract events 1121 sub klaytn.Subscription // Subscription for errors, completion and termination 1122 done bool // Whether the subscription completed delivering logs 1123 fail error // Occurred error to stop iteration 1124 } 1125 1126 // Next advances the iterator to the subsequent event, returning whether there 1127 // are any more events found. In case of a retrieval or parsing error, false is 1128 // returned and Error() can be queried for the exact failure. 1129 func (it *ERC721ApprovalForAllIterator) Next() bool { 1130 // If the iterator failed, stop iterating 1131 if it.fail != nil { 1132 return false 1133 } 1134 // If the iterator completed, deliver directly whatever's available 1135 if it.done { 1136 select { 1137 case log := <-it.logs: 1138 it.Event = new(ERC721ApprovalForAll) 1139 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1140 it.fail = err 1141 return false 1142 } 1143 it.Event.Raw = log 1144 return true 1145 1146 default: 1147 return false 1148 } 1149 } 1150 // Iterator still in progress, wait for either a data or an error event 1151 select { 1152 case log := <-it.logs: 1153 it.Event = new(ERC721ApprovalForAll) 1154 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1155 it.fail = err 1156 return false 1157 } 1158 it.Event.Raw = log 1159 return true 1160 1161 case err := <-it.sub.Err(): 1162 it.done = true 1163 it.fail = err 1164 return it.Next() 1165 } 1166 } 1167 1168 // Error returns any retrieval or parsing error occurred during filtering. 1169 func (it *ERC721ApprovalForAllIterator) Error() error { 1170 return it.fail 1171 } 1172 1173 // Close terminates the iteration process, releasing any pending underlying 1174 // resources. 1175 func (it *ERC721ApprovalForAllIterator) Close() error { 1176 it.sub.Unsubscribe() 1177 return nil 1178 } 1179 1180 // ERC721ApprovalForAll represents a ApprovalForAll event raised by the ERC721 contract. 1181 type ERC721ApprovalForAll struct { 1182 Owner common.Address 1183 Operator common.Address 1184 Approved bool 1185 Raw types.Log // Blockchain specific contextual infos 1186 } 1187 1188 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 1189 // 1190 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 1191 func (_ERC721 *ERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721ApprovalForAllIterator, error) { 1192 1193 var ownerRule []interface{} 1194 for _, ownerItem := range owner { 1195 ownerRule = append(ownerRule, ownerItem) 1196 } 1197 var operatorRule []interface{} 1198 for _, operatorItem := range operator { 1199 operatorRule = append(operatorRule, operatorItem) 1200 } 1201 1202 logs, sub, err := _ERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 1203 if err != nil { 1204 return nil, err 1205 } 1206 return &ERC721ApprovalForAllIterator{contract: _ERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 1207 } 1208 1209 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 1210 // 1211 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 1212 func (_ERC721 *ERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 1213 1214 var ownerRule []interface{} 1215 for _, ownerItem := range owner { 1216 ownerRule = append(ownerRule, ownerItem) 1217 } 1218 var operatorRule []interface{} 1219 for _, operatorItem := range operator { 1220 operatorRule = append(operatorRule, operatorItem) 1221 } 1222 1223 logs, sub, err := _ERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 1224 if err != nil { 1225 return nil, err 1226 } 1227 return event.NewSubscription(func(quit <-chan struct{}) error { 1228 defer sub.Unsubscribe() 1229 for { 1230 select { 1231 case log := <-logs: 1232 // New log arrived, parse the event and forward to the user 1233 event := new(ERC721ApprovalForAll) 1234 if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 1235 return err 1236 } 1237 event.Raw = log 1238 1239 select { 1240 case sink <- event: 1241 case err := <-sub.Err(): 1242 return err 1243 case <-quit: 1244 return nil 1245 } 1246 case err := <-sub.Err(): 1247 return err 1248 case <-quit: 1249 return nil 1250 } 1251 } 1252 }), nil 1253 } 1254 1255 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 1256 // 1257 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 1258 func (_ERC721 *ERC721Filterer) ParseApprovalForAll(log types.Log) (*ERC721ApprovalForAll, error) { 1259 event := new(ERC721ApprovalForAll) 1260 if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 1261 return nil, err 1262 } 1263 return event, nil 1264 } 1265 1266 // ERC721TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721 contract. 1267 type ERC721TransferIterator struct { 1268 Event *ERC721Transfer // Event containing the contract specifics and raw log 1269 1270 contract *bind.BoundContract // Generic contract to use for unpacking event data 1271 event string // Event name to use for unpacking event data 1272 1273 logs chan types.Log // Log channel receiving the found contract events 1274 sub klaytn.Subscription // Subscription for errors, completion and termination 1275 done bool // Whether the subscription completed delivering logs 1276 fail error // Occurred error to stop iteration 1277 } 1278 1279 // Next advances the iterator to the subsequent event, returning whether there 1280 // are any more events found. In case of a retrieval or parsing error, false is 1281 // returned and Error() can be queried for the exact failure. 1282 func (it *ERC721TransferIterator) Next() bool { 1283 // If the iterator failed, stop iterating 1284 if it.fail != nil { 1285 return false 1286 } 1287 // If the iterator completed, deliver directly whatever's available 1288 if it.done { 1289 select { 1290 case log := <-it.logs: 1291 it.Event = new(ERC721Transfer) 1292 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1293 it.fail = err 1294 return false 1295 } 1296 it.Event.Raw = log 1297 return true 1298 1299 default: 1300 return false 1301 } 1302 } 1303 // Iterator still in progress, wait for either a data or an error event 1304 select { 1305 case log := <-it.logs: 1306 it.Event = new(ERC721Transfer) 1307 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1308 it.fail = err 1309 return false 1310 } 1311 it.Event.Raw = log 1312 return true 1313 1314 case err := <-it.sub.Err(): 1315 it.done = true 1316 it.fail = err 1317 return it.Next() 1318 } 1319 } 1320 1321 // Error returns any retrieval or parsing error occurred during filtering. 1322 func (it *ERC721TransferIterator) Error() error { 1323 return it.fail 1324 } 1325 1326 // Close terminates the iteration process, releasing any pending underlying 1327 // resources. 1328 func (it *ERC721TransferIterator) Close() error { 1329 it.sub.Unsubscribe() 1330 return nil 1331 } 1332 1333 // ERC721Transfer represents a Transfer event raised by the ERC721 contract. 1334 type ERC721Transfer struct { 1335 From common.Address 1336 To common.Address 1337 TokenId *big.Int 1338 Raw types.Log // Blockchain specific contextual infos 1339 } 1340 1341 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1342 // 1343 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 1344 func (_ERC721 *ERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721TransferIterator, error) { 1345 1346 var fromRule []interface{} 1347 for _, fromItem := range from { 1348 fromRule = append(fromRule, fromItem) 1349 } 1350 var toRule []interface{} 1351 for _, toItem := range to { 1352 toRule = append(toRule, toItem) 1353 } 1354 var tokenIdRule []interface{} 1355 for _, tokenIdItem := range tokenId { 1356 tokenIdRule = append(tokenIdRule, tokenIdItem) 1357 } 1358 1359 logs, sub, err := _ERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 1360 if err != nil { 1361 return nil, err 1362 } 1363 return &ERC721TransferIterator{contract: _ERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil 1364 } 1365 1366 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1367 // 1368 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 1369 func (_ERC721 *ERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 1370 1371 var fromRule []interface{} 1372 for _, fromItem := range from { 1373 fromRule = append(fromRule, fromItem) 1374 } 1375 var toRule []interface{} 1376 for _, toItem := range to { 1377 toRule = append(toRule, toItem) 1378 } 1379 var tokenIdRule []interface{} 1380 for _, tokenIdItem := range tokenId { 1381 tokenIdRule = append(tokenIdRule, tokenIdItem) 1382 } 1383 1384 logs, sub, err := _ERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 1385 if err != nil { 1386 return nil, err 1387 } 1388 return event.NewSubscription(func(quit <-chan struct{}) error { 1389 defer sub.Unsubscribe() 1390 for { 1391 select { 1392 case log := <-logs: 1393 // New log arrived, parse the event and forward to the user 1394 event := new(ERC721Transfer) 1395 if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 1396 return err 1397 } 1398 event.Raw = log 1399 1400 select { 1401 case sink <- event: 1402 case err := <-sub.Err(): 1403 return err 1404 case <-quit: 1405 return nil 1406 } 1407 case err := <-sub.Err(): 1408 return err 1409 case <-quit: 1410 return nil 1411 } 1412 } 1413 }), nil 1414 } 1415 1416 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1417 // 1418 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 1419 func (_ERC721 *ERC721Filterer) ParseTransfer(log types.Log) (*ERC721Transfer, error) { 1420 event := new(ERC721Transfer) 1421 if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 1422 return nil, err 1423 } 1424 return event, nil 1425 } 1426 1427 // ERC721BurnableABI is the input ABI used to generate the binding from. 1428 const ERC721BurnableABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" 1429 1430 // ERC721BurnableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 1431 const ERC721BurnableBinRuntime = `608060405234801561001057600080fd5b50600436106100a95760003560e01c806342966c681161007157806342966c68146101bc5780636352211e146101d957806370a08231146101f6578063a22cb4651461022e578063b88d4fde1461025c578063e985e9c514610322576100a9565b806301ffc9a7146100ae578063081812fc146100e9578063095ea7b31461012257806323b872dd1461015057806342842e0e14610186575b600080fd5b6100d5600480360360208110156100c457600080fd5b50356001600160e01b031916610350565b604080519115158252519081900360200190f35b610106600480360360208110156100ff57600080fd5b503561036f565b604080516001600160a01b039092168252519081900360200190f35b61014e6004803603604081101561013857600080fd5b506001600160a01b0381351690602001356103d4565b005b61014e6004803603606081101561016657600080fd5b506001600160a01b038135811691602081013590911690604001356104eb565b61014e6004803603606081101561019c57600080fd5b506001600160a01b03813581169160208101359091169060400135610543565b61014e600480360360208110156101d257600080fd5b503561055e565b610106600480360360208110156101ef57600080fd5b50356105b2565b61021c6004803603602081101561020c57600080fd5b50356001600160a01b031661060f565b60408051918252519081900360200190f35b61014e6004803603604081101561024457600080fd5b506001600160a01b038135169060200135151561067a565b61014e6004803603608081101561027257600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156102ad57600080fd5b8201836020820111156102bf57600080fd5b803590602001918460018302840111640100000000831117156102e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610749945050505050565b6100d56004803603604081101561033857600080fd5b506001600160a01b03813581169160200135166107a4565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061037a826107d2565b6103b857604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610dd8602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006103df826105b2565b9050806001600160a01b0316836001600160a01b0316141561043557604051600160e51b62461bcd028152600401808060200182810382526021815260200180610e2d6021913960400191505060405180910390fd5b336001600160a01b0382161480610451575061045181336107a4565b61048f57604051600160e51b62461bcd028152600401808060200182810382526038815260200180610d4d6038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6104f533826107ef565b61053357604051600160e51b62461bcd028152600401808060200182810382526031815260200180610e4e6031913960400191505060405180910390fd5b61053e838383610896565b505050565b61053e83838360405180602001604052806000815250610749565b61056833826107ef565b6105a657604051600160e51b62461bcd028152600401808060200182810382526030815260200180610ea46030913960400191505060405180910390fd5b6105af816109e0565b50565b6000818152600160205260408120546001600160a01b03168061060957604051600160e51b62461bcd028152600401808060200182810382526029815260200180610daf6029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661065957604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610d85602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020610609906109f2565b6001600160a01b0382163314156106db5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6107548484846104eb565b610760848484846109f6565b61079e57604051600160e51b62461bcd028152600401808060200182810382526032815260200180610ccb6032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b60006107fa826107d2565b61083857604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610d21602c913960400191505060405180910390fd5b6000610843836105b2565b9050806001600160a01b0316846001600160a01b0316148061087e5750836001600160a01b03166108738461036f565b6001600160a01b0316145b8061088e575061088e81856107a4565b949350505050565b826001600160a01b03166108a9826105b2565b6001600160a01b0316146108f157604051600160e51b62461bcd028152600401808060200182810382526029815260200180610e046029913960400191505060405180910390fd5b6001600160a01b03821661093957604051600160e51b62461bcd028152600401808060200182810382526024815260200180610cfd6024913960400191505060405180910390fd5b61094281610b2f565b6001600160a01b038316600090815260036020526040902061096390610b6a565b6001600160a01b038216600090815260036020526040902061098490610b81565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6105af6109ec826105b2565b82610b8a565b5490565b6000610a0a846001600160a01b0316610c64565b610a165750600161088e565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a93578181015183820152602001610a7b565b50505050905090810190601f168015610ac05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610ae257600080fd5b505af1158015610af6573d6000803e3d6000fd5b505050506040513d6020811015610b0c57600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b0316156105af57600090815260026020526040902080546001600160a01b0319169055565b8054610b7d90600163ffffffff610c6a16565b9055565b80546001019055565b816001600160a01b0316610b9d826105b2565b6001600160a01b031614610be557604051600160e51b62461bcd028152600401808060200182810382526025815260200180610e7f6025913960400191505060405180910390fd5b610bee81610b2f565b6001600160a01b0382166000908152600360205260409020610c0f90610b6a565b60008181526001602052604080822080546001600160a01b0319169055518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b3b151590565b600082821115610cc45760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a7230582035986e074f001b98f3d4f8e669063ef8d5efcf5cb63f5103e5e5296048223c1d0029` 1432 1433 // ERC721BurnableFuncSigs maps the 4-byte function signature to its string representation. 1434 var ERC721BurnableFuncSigs = map[string]string{ 1435 "095ea7b3": "approve(address,uint256)", 1436 "70a08231": "balanceOf(address)", 1437 "42966c68": "burn(uint256)", 1438 "081812fc": "getApproved(uint256)", 1439 "e985e9c5": "isApprovedForAll(address,address)", 1440 "6352211e": "ownerOf(uint256)", 1441 "42842e0e": "safeTransferFrom(address,address,uint256)", 1442 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 1443 "a22cb465": "setApprovalForAll(address,bool)", 1444 "01ffc9a7": "supportsInterface(bytes4)", 1445 "23b872dd": "transferFrom(address,address,uint256)", 1446 } 1447 1448 // ERC721BurnableBin is the compiled bytecode used for deploying new contracts. 1449 var ERC721BurnableBin = "0x608060405261001a6301ffc9a760e01b61003560201b60201c565b6100306380ac58cd60e01b61003560201b60201c565b610103565b7fffffffff0000000000000000000000000000000000000000000000000000000080821614156100c657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b610eff806101126000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806342966c681161007157806342966c68146101bc5780636352211e146101d957806370a08231146101f6578063a22cb4651461022e578063b88d4fde1461025c578063e985e9c514610322576100a9565b806301ffc9a7146100ae578063081812fc146100e9578063095ea7b31461012257806323b872dd1461015057806342842e0e14610186575b600080fd5b6100d5600480360360208110156100c457600080fd5b50356001600160e01b031916610350565b604080519115158252519081900360200190f35b610106600480360360208110156100ff57600080fd5b503561036f565b604080516001600160a01b039092168252519081900360200190f35b61014e6004803603604081101561013857600080fd5b506001600160a01b0381351690602001356103d4565b005b61014e6004803603606081101561016657600080fd5b506001600160a01b038135811691602081013590911690604001356104eb565b61014e6004803603606081101561019c57600080fd5b506001600160a01b03813581169160208101359091169060400135610543565b61014e600480360360208110156101d257600080fd5b503561055e565b610106600480360360208110156101ef57600080fd5b50356105b2565b61021c6004803603602081101561020c57600080fd5b50356001600160a01b031661060f565b60408051918252519081900360200190f35b61014e6004803603604081101561024457600080fd5b506001600160a01b038135169060200135151561067a565b61014e6004803603608081101561027257600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156102ad57600080fd5b8201836020820111156102bf57600080fd5b803590602001918460018302840111640100000000831117156102e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610749945050505050565b6100d56004803603604081101561033857600080fd5b506001600160a01b03813581169160200135166107a4565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061037a826107d2565b6103b857604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610dd8602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006103df826105b2565b9050806001600160a01b0316836001600160a01b0316141561043557604051600160e51b62461bcd028152600401808060200182810382526021815260200180610e2d6021913960400191505060405180910390fd5b336001600160a01b0382161480610451575061045181336107a4565b61048f57604051600160e51b62461bcd028152600401808060200182810382526038815260200180610d4d6038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6104f533826107ef565b61053357604051600160e51b62461bcd028152600401808060200182810382526031815260200180610e4e6031913960400191505060405180910390fd5b61053e838383610896565b505050565b61053e83838360405180602001604052806000815250610749565b61056833826107ef565b6105a657604051600160e51b62461bcd028152600401808060200182810382526030815260200180610ea46030913960400191505060405180910390fd5b6105af816109e0565b50565b6000818152600160205260408120546001600160a01b03168061060957604051600160e51b62461bcd028152600401808060200182810382526029815260200180610daf6029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661065957604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610d85602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020610609906109f2565b6001600160a01b0382163314156106db5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6107548484846104eb565b610760848484846109f6565b61079e57604051600160e51b62461bcd028152600401808060200182810382526032815260200180610ccb6032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b60006107fa826107d2565b61083857604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610d21602c913960400191505060405180910390fd5b6000610843836105b2565b9050806001600160a01b0316846001600160a01b0316148061087e5750836001600160a01b03166108738461036f565b6001600160a01b0316145b8061088e575061088e81856107a4565b949350505050565b826001600160a01b03166108a9826105b2565b6001600160a01b0316146108f157604051600160e51b62461bcd028152600401808060200182810382526029815260200180610e046029913960400191505060405180910390fd5b6001600160a01b03821661093957604051600160e51b62461bcd028152600401808060200182810382526024815260200180610cfd6024913960400191505060405180910390fd5b61094281610b2f565b6001600160a01b038316600090815260036020526040902061096390610b6a565b6001600160a01b038216600090815260036020526040902061098490610b81565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6105af6109ec826105b2565b82610b8a565b5490565b6000610a0a846001600160a01b0316610c64565b610a165750600161088e565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a93578181015183820152602001610a7b565b50505050905090810190601f168015610ac05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610ae257600080fd5b505af1158015610af6573d6000803e3d6000fd5b505050506040513d6020811015610b0c57600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b0316156105af57600090815260026020526040902080546001600160a01b0319169055565b8054610b7d90600163ffffffff610c6a16565b9055565b80546001019055565b816001600160a01b0316610b9d826105b2565b6001600160a01b031614610be557604051600160e51b62461bcd028152600401808060200182810382526025815260200180610e7f6025913960400191505060405180910390fd5b610bee81610b2f565b6001600160a01b0382166000908152600360205260409020610c0f90610b6a565b60008181526001602052604080822080546001600160a01b0319169055518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b3b151590565b600082821115610cc45760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a7230582035986e074f001b98f3d4f8e669063ef8d5efcf5cb63f5103e5e5296048223c1d0029" 1450 1451 // DeployERC721Burnable deploys a new Klaytn contract, binding an instance of ERC721Burnable to it. 1452 func DeployERC721Burnable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC721Burnable, error) { 1453 parsed, err := abi.JSON(strings.NewReader(ERC721BurnableABI)) 1454 if err != nil { 1455 return common.Address{}, nil, nil, err 1456 } 1457 1458 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC721BurnableBin), backend) 1459 if err != nil { 1460 return common.Address{}, nil, nil, err 1461 } 1462 return address, tx, &ERC721Burnable{ERC721BurnableCaller: ERC721BurnableCaller{contract: contract}, ERC721BurnableTransactor: ERC721BurnableTransactor{contract: contract}, ERC721BurnableFilterer: ERC721BurnableFilterer{contract: contract}}, nil 1463 } 1464 1465 // ERC721Burnable is an auto generated Go binding around a Klaytn contract. 1466 type ERC721Burnable struct { 1467 ERC721BurnableCaller // Read-only binding to the contract 1468 ERC721BurnableTransactor // Write-only binding to the contract 1469 ERC721BurnableFilterer // Log filterer for contract events 1470 } 1471 1472 // ERC721BurnableCaller is an auto generated read-only Go binding around a Klaytn contract. 1473 type ERC721BurnableCaller struct { 1474 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1475 } 1476 1477 // ERC721BurnableTransactor is an auto generated write-only Go binding around a Klaytn contract. 1478 type ERC721BurnableTransactor struct { 1479 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1480 } 1481 1482 // ERC721BurnableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 1483 type ERC721BurnableFilterer struct { 1484 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1485 } 1486 1487 // ERC721BurnableSession is an auto generated Go binding around a Klaytn contract, 1488 // with pre-set call and transact options. 1489 type ERC721BurnableSession struct { 1490 Contract *ERC721Burnable // Generic contract binding to set the session for 1491 CallOpts bind.CallOpts // Call options to use throughout this session 1492 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1493 } 1494 1495 // ERC721BurnableCallerSession is an auto generated read-only Go binding around a Klaytn contract, 1496 // with pre-set call options. 1497 type ERC721BurnableCallerSession struct { 1498 Contract *ERC721BurnableCaller // Generic contract caller binding to set the session for 1499 CallOpts bind.CallOpts // Call options to use throughout this session 1500 } 1501 1502 // ERC721BurnableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 1503 // with pre-set transact options. 1504 type ERC721BurnableTransactorSession struct { 1505 Contract *ERC721BurnableTransactor // Generic contract transactor binding to set the session for 1506 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1507 } 1508 1509 // ERC721BurnableRaw is an auto generated low-level Go binding around a Klaytn contract. 1510 type ERC721BurnableRaw struct { 1511 Contract *ERC721Burnable // Generic contract binding to access the raw methods on 1512 } 1513 1514 // ERC721BurnableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 1515 type ERC721BurnableCallerRaw struct { 1516 Contract *ERC721BurnableCaller // Generic read-only contract binding to access the raw methods on 1517 } 1518 1519 // ERC721BurnableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 1520 type ERC721BurnableTransactorRaw struct { 1521 Contract *ERC721BurnableTransactor // Generic write-only contract binding to access the raw methods on 1522 } 1523 1524 // NewERC721Burnable creates a new instance of ERC721Burnable, bound to a specific deployed contract. 1525 func NewERC721Burnable(address common.Address, backend bind.ContractBackend) (*ERC721Burnable, error) { 1526 contract, err := bindERC721Burnable(address, backend, backend, backend) 1527 if err != nil { 1528 return nil, err 1529 } 1530 return &ERC721Burnable{ERC721BurnableCaller: ERC721BurnableCaller{contract: contract}, ERC721BurnableTransactor: ERC721BurnableTransactor{contract: contract}, ERC721BurnableFilterer: ERC721BurnableFilterer{contract: contract}}, nil 1531 } 1532 1533 // NewERC721BurnableCaller creates a new read-only instance of ERC721Burnable, bound to a specific deployed contract. 1534 func NewERC721BurnableCaller(address common.Address, caller bind.ContractCaller) (*ERC721BurnableCaller, error) { 1535 contract, err := bindERC721Burnable(address, caller, nil, nil) 1536 if err != nil { 1537 return nil, err 1538 } 1539 return &ERC721BurnableCaller{contract: contract}, nil 1540 } 1541 1542 // NewERC721BurnableTransactor creates a new write-only instance of ERC721Burnable, bound to a specific deployed contract. 1543 func NewERC721BurnableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721BurnableTransactor, error) { 1544 contract, err := bindERC721Burnable(address, nil, transactor, nil) 1545 if err != nil { 1546 return nil, err 1547 } 1548 return &ERC721BurnableTransactor{contract: contract}, nil 1549 } 1550 1551 // NewERC721BurnableFilterer creates a new log filterer instance of ERC721Burnable, bound to a specific deployed contract. 1552 func NewERC721BurnableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721BurnableFilterer, error) { 1553 contract, err := bindERC721Burnable(address, nil, nil, filterer) 1554 if err != nil { 1555 return nil, err 1556 } 1557 return &ERC721BurnableFilterer{contract: contract}, nil 1558 } 1559 1560 // bindERC721Burnable binds a generic wrapper to an already deployed contract. 1561 func bindERC721Burnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1562 parsed, err := abi.JSON(strings.NewReader(ERC721BurnableABI)) 1563 if err != nil { 1564 return nil, err 1565 } 1566 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 1567 } 1568 1569 // Call invokes the (constant) contract method with params as input values and 1570 // sets the output to result. The result type might be a single field for simple 1571 // returns, a slice of interfaces for anonymous returns and a struct for named 1572 // returns. 1573 func (_ERC721Burnable *ERC721BurnableRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1574 return _ERC721Burnable.Contract.ERC721BurnableCaller.contract.Call(opts, result, method, params...) 1575 } 1576 1577 // Transfer initiates a plain transaction to move funds to the contract, calling 1578 // its default method if one is available. 1579 func (_ERC721Burnable *ERC721BurnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1580 return _ERC721Burnable.Contract.ERC721BurnableTransactor.contract.Transfer(opts) 1581 } 1582 1583 // Transact invokes the (paid) contract method with params as input values. 1584 func (_ERC721Burnable *ERC721BurnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1585 return _ERC721Burnable.Contract.ERC721BurnableTransactor.contract.Transact(opts, method, params...) 1586 } 1587 1588 // Call invokes the (constant) contract method with params as input values and 1589 // sets the output to result. The result type might be a single field for simple 1590 // returns, a slice of interfaces for anonymous returns and a struct for named 1591 // returns. 1592 func (_ERC721Burnable *ERC721BurnableCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1593 return _ERC721Burnable.Contract.contract.Call(opts, result, method, params...) 1594 } 1595 1596 // Transfer initiates a plain transaction to move funds to the contract, calling 1597 // its default method if one is available. 1598 func (_ERC721Burnable *ERC721BurnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1599 return _ERC721Burnable.Contract.contract.Transfer(opts) 1600 } 1601 1602 // Transact invokes the (paid) contract method with params as input values. 1603 func (_ERC721Burnable *ERC721BurnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1604 return _ERC721Burnable.Contract.contract.Transact(opts, method, params...) 1605 } 1606 1607 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1608 // 1609 // Solidity: function balanceOf(address owner) view returns(uint256) 1610 func (_ERC721Burnable *ERC721BurnableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 1611 var ( 1612 ret0 = new(*big.Int) 1613 ) 1614 out := ret0 1615 err := _ERC721Burnable.contract.Call(opts, out, "balanceOf", owner) 1616 return *ret0, err 1617 } 1618 1619 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1620 // 1621 // Solidity: function balanceOf(address owner) view returns(uint256) 1622 func (_ERC721Burnable *ERC721BurnableSession) BalanceOf(owner common.Address) (*big.Int, error) { 1623 return _ERC721Burnable.Contract.BalanceOf(&_ERC721Burnable.CallOpts, owner) 1624 } 1625 1626 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1627 // 1628 // Solidity: function balanceOf(address owner) view returns(uint256) 1629 func (_ERC721Burnable *ERC721BurnableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 1630 return _ERC721Burnable.Contract.BalanceOf(&_ERC721Burnable.CallOpts, owner) 1631 } 1632 1633 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 1634 // 1635 // Solidity: function getApproved(uint256 tokenId) view returns(address) 1636 func (_ERC721Burnable *ERC721BurnableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 1637 var ( 1638 ret0 = new(common.Address) 1639 ) 1640 out := ret0 1641 err := _ERC721Burnable.contract.Call(opts, out, "getApproved", tokenId) 1642 return *ret0, err 1643 } 1644 1645 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 1646 // 1647 // Solidity: function getApproved(uint256 tokenId) view returns(address) 1648 func (_ERC721Burnable *ERC721BurnableSession) GetApproved(tokenId *big.Int) (common.Address, error) { 1649 return _ERC721Burnable.Contract.GetApproved(&_ERC721Burnable.CallOpts, tokenId) 1650 } 1651 1652 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 1653 // 1654 // Solidity: function getApproved(uint256 tokenId) view returns(address) 1655 func (_ERC721Burnable *ERC721BurnableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 1656 return _ERC721Burnable.Contract.GetApproved(&_ERC721Burnable.CallOpts, tokenId) 1657 } 1658 1659 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 1660 // 1661 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 1662 func (_ERC721Burnable *ERC721BurnableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 1663 var ( 1664 ret0 = new(bool) 1665 ) 1666 out := ret0 1667 err := _ERC721Burnable.contract.Call(opts, out, "isApprovedForAll", owner, operator) 1668 return *ret0, err 1669 } 1670 1671 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 1672 // 1673 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 1674 func (_ERC721Burnable *ERC721BurnableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 1675 return _ERC721Burnable.Contract.IsApprovedForAll(&_ERC721Burnable.CallOpts, owner, operator) 1676 } 1677 1678 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 1679 // 1680 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 1681 func (_ERC721Burnable *ERC721BurnableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 1682 return _ERC721Burnable.Contract.IsApprovedForAll(&_ERC721Burnable.CallOpts, owner, operator) 1683 } 1684 1685 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 1686 // 1687 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 1688 func (_ERC721Burnable *ERC721BurnableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 1689 var ( 1690 ret0 = new(common.Address) 1691 ) 1692 out := ret0 1693 err := _ERC721Burnable.contract.Call(opts, out, "ownerOf", tokenId) 1694 return *ret0, err 1695 } 1696 1697 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 1698 // 1699 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 1700 func (_ERC721Burnable *ERC721BurnableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 1701 return _ERC721Burnable.Contract.OwnerOf(&_ERC721Burnable.CallOpts, tokenId) 1702 } 1703 1704 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 1705 // 1706 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 1707 func (_ERC721Burnable *ERC721BurnableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 1708 return _ERC721Burnable.Contract.OwnerOf(&_ERC721Burnable.CallOpts, tokenId) 1709 } 1710 1711 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1712 // 1713 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1714 func (_ERC721Burnable *ERC721BurnableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 1715 var ( 1716 ret0 = new(bool) 1717 ) 1718 out := ret0 1719 err := _ERC721Burnable.contract.Call(opts, out, "supportsInterface", interfaceId) 1720 return *ret0, err 1721 } 1722 1723 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1724 // 1725 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1726 func (_ERC721Burnable *ERC721BurnableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 1727 return _ERC721Burnable.Contract.SupportsInterface(&_ERC721Burnable.CallOpts, interfaceId) 1728 } 1729 1730 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1731 // 1732 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 1733 func (_ERC721Burnable *ERC721BurnableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 1734 return _ERC721Burnable.Contract.SupportsInterface(&_ERC721Burnable.CallOpts, interfaceId) 1735 } 1736 1737 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1738 // 1739 // Solidity: function approve(address to, uint256 tokenId) returns() 1740 func (_ERC721Burnable *ERC721BurnableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1741 return _ERC721Burnable.contract.Transact(opts, "approve", to, tokenId) 1742 } 1743 1744 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1745 // 1746 // Solidity: function approve(address to, uint256 tokenId) returns() 1747 func (_ERC721Burnable *ERC721BurnableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1748 return _ERC721Burnable.Contract.Approve(&_ERC721Burnable.TransactOpts, to, tokenId) 1749 } 1750 1751 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1752 // 1753 // Solidity: function approve(address to, uint256 tokenId) returns() 1754 func (_ERC721Burnable *ERC721BurnableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1755 return _ERC721Burnable.Contract.Approve(&_ERC721Burnable.TransactOpts, to, tokenId) 1756 } 1757 1758 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 1759 // 1760 // Solidity: function burn(uint256 tokenId) returns() 1761 func (_ERC721Burnable *ERC721BurnableTransactor) Burn(opts *bind.TransactOpts, tokenId *big.Int) (*types.Transaction, error) { 1762 return _ERC721Burnable.contract.Transact(opts, "burn", tokenId) 1763 } 1764 1765 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 1766 // 1767 // Solidity: function burn(uint256 tokenId) returns() 1768 func (_ERC721Burnable *ERC721BurnableSession) Burn(tokenId *big.Int) (*types.Transaction, error) { 1769 return _ERC721Burnable.Contract.Burn(&_ERC721Burnable.TransactOpts, tokenId) 1770 } 1771 1772 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 1773 // 1774 // Solidity: function burn(uint256 tokenId) returns() 1775 func (_ERC721Burnable *ERC721BurnableTransactorSession) Burn(tokenId *big.Int) (*types.Transaction, error) { 1776 return _ERC721Burnable.Contract.Burn(&_ERC721Burnable.TransactOpts, tokenId) 1777 } 1778 1779 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 1780 // 1781 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 1782 func (_ERC721Burnable *ERC721BurnableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1783 return _ERC721Burnable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 1784 } 1785 1786 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 1787 // 1788 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 1789 func (_ERC721Burnable *ERC721BurnableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1790 return _ERC721Burnable.Contract.SafeTransferFrom(&_ERC721Burnable.TransactOpts, from, to, tokenId) 1791 } 1792 1793 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 1794 // 1795 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 1796 func (_ERC721Burnable *ERC721BurnableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1797 return _ERC721Burnable.Contract.SafeTransferFrom(&_ERC721Burnable.TransactOpts, from, to, tokenId) 1798 } 1799 1800 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 1801 // 1802 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 1803 func (_ERC721Burnable *ERC721BurnableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 1804 return _ERC721Burnable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 1805 } 1806 1807 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 1808 // 1809 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 1810 func (_ERC721Burnable *ERC721BurnableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 1811 return _ERC721Burnable.Contract.SafeTransferFrom0(&_ERC721Burnable.TransactOpts, from, to, tokenId, _data) 1812 } 1813 1814 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 1815 // 1816 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 1817 func (_ERC721Burnable *ERC721BurnableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 1818 return _ERC721Burnable.Contract.SafeTransferFrom0(&_ERC721Burnable.TransactOpts, from, to, tokenId, _data) 1819 } 1820 1821 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 1822 // 1823 // Solidity: function setApprovalForAll(address to, bool approved) returns() 1824 func (_ERC721Burnable *ERC721BurnableTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 1825 return _ERC721Burnable.contract.Transact(opts, "setApprovalForAll", to, approved) 1826 } 1827 1828 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 1829 // 1830 // Solidity: function setApprovalForAll(address to, bool approved) returns() 1831 func (_ERC721Burnable *ERC721BurnableSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 1832 return _ERC721Burnable.Contract.SetApprovalForAll(&_ERC721Burnable.TransactOpts, to, approved) 1833 } 1834 1835 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 1836 // 1837 // Solidity: function setApprovalForAll(address to, bool approved) returns() 1838 func (_ERC721Burnable *ERC721BurnableTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 1839 return _ERC721Burnable.Contract.SetApprovalForAll(&_ERC721Burnable.TransactOpts, to, approved) 1840 } 1841 1842 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1843 // 1844 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1845 func (_ERC721Burnable *ERC721BurnableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1846 return _ERC721Burnable.contract.Transact(opts, "transferFrom", from, to, tokenId) 1847 } 1848 1849 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1850 // 1851 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1852 func (_ERC721Burnable *ERC721BurnableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1853 return _ERC721Burnable.Contract.TransferFrom(&_ERC721Burnable.TransactOpts, from, to, tokenId) 1854 } 1855 1856 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1857 // 1858 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 1859 func (_ERC721Burnable *ERC721BurnableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 1860 return _ERC721Burnable.Contract.TransferFrom(&_ERC721Burnable.TransactOpts, from, to, tokenId) 1861 } 1862 1863 // ERC721BurnableApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721Burnable contract. 1864 type ERC721BurnableApprovalIterator struct { 1865 Event *ERC721BurnableApproval // Event containing the contract specifics and raw log 1866 1867 contract *bind.BoundContract // Generic contract to use for unpacking event data 1868 event string // Event name to use for unpacking event data 1869 1870 logs chan types.Log // Log channel receiving the found contract events 1871 sub klaytn.Subscription // Subscription for errors, completion and termination 1872 done bool // Whether the subscription completed delivering logs 1873 fail error // Occurred error to stop iteration 1874 } 1875 1876 // Next advances the iterator to the subsequent event, returning whether there 1877 // are any more events found. In case of a retrieval or parsing error, false is 1878 // returned and Error() can be queried for the exact failure. 1879 func (it *ERC721BurnableApprovalIterator) Next() bool { 1880 // If the iterator failed, stop iterating 1881 if it.fail != nil { 1882 return false 1883 } 1884 // If the iterator completed, deliver directly whatever's available 1885 if it.done { 1886 select { 1887 case log := <-it.logs: 1888 it.Event = new(ERC721BurnableApproval) 1889 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1890 it.fail = err 1891 return false 1892 } 1893 it.Event.Raw = log 1894 return true 1895 1896 default: 1897 return false 1898 } 1899 } 1900 // Iterator still in progress, wait for either a data or an error event 1901 select { 1902 case log := <-it.logs: 1903 it.Event = new(ERC721BurnableApproval) 1904 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1905 it.fail = err 1906 return false 1907 } 1908 it.Event.Raw = log 1909 return true 1910 1911 case err := <-it.sub.Err(): 1912 it.done = true 1913 it.fail = err 1914 return it.Next() 1915 } 1916 } 1917 1918 // Error returns any retrieval or parsing error occurred during filtering. 1919 func (it *ERC721BurnableApprovalIterator) Error() error { 1920 return it.fail 1921 } 1922 1923 // Close terminates the iteration process, releasing any pending underlying 1924 // resources. 1925 func (it *ERC721BurnableApprovalIterator) Close() error { 1926 it.sub.Unsubscribe() 1927 return nil 1928 } 1929 1930 // ERC721BurnableApproval represents a Approval event raised by the ERC721Burnable contract. 1931 type ERC721BurnableApproval struct { 1932 Owner common.Address 1933 Approved common.Address 1934 TokenId *big.Int 1935 Raw types.Log // Blockchain specific contextual infos 1936 } 1937 1938 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1939 // 1940 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1941 func (_ERC721Burnable *ERC721BurnableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721BurnableApprovalIterator, error) { 1942 1943 var ownerRule []interface{} 1944 for _, ownerItem := range owner { 1945 ownerRule = append(ownerRule, ownerItem) 1946 } 1947 var approvedRule []interface{} 1948 for _, approvedItem := range approved { 1949 approvedRule = append(approvedRule, approvedItem) 1950 } 1951 var tokenIdRule []interface{} 1952 for _, tokenIdItem := range tokenId { 1953 tokenIdRule = append(tokenIdRule, tokenIdItem) 1954 } 1955 1956 logs, sub, err := _ERC721Burnable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 1957 if err != nil { 1958 return nil, err 1959 } 1960 return &ERC721BurnableApprovalIterator{contract: _ERC721Burnable.contract, event: "Approval", logs: logs, sub: sub}, nil 1961 } 1962 1963 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1964 // 1965 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 1966 func (_ERC721Burnable *ERC721BurnableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721BurnableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 1967 1968 var ownerRule []interface{} 1969 for _, ownerItem := range owner { 1970 ownerRule = append(ownerRule, ownerItem) 1971 } 1972 var approvedRule []interface{} 1973 for _, approvedItem := range approved { 1974 approvedRule = append(approvedRule, approvedItem) 1975 } 1976 var tokenIdRule []interface{} 1977 for _, tokenIdItem := range tokenId { 1978 tokenIdRule = append(tokenIdRule, tokenIdItem) 1979 } 1980 1981 logs, sub, err := _ERC721Burnable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 1982 if err != nil { 1983 return nil, err 1984 } 1985 return event.NewSubscription(func(quit <-chan struct{}) error { 1986 defer sub.Unsubscribe() 1987 for { 1988 select { 1989 case log := <-logs: 1990 // New log arrived, parse the event and forward to the user 1991 event := new(ERC721BurnableApproval) 1992 if err := _ERC721Burnable.contract.UnpackLog(event, "Approval", log); err != nil { 1993 return err 1994 } 1995 event.Raw = log 1996 1997 select { 1998 case sink <- event: 1999 case err := <-sub.Err(): 2000 return err 2001 case <-quit: 2002 return nil 2003 } 2004 case err := <-sub.Err(): 2005 return err 2006 case <-quit: 2007 return nil 2008 } 2009 } 2010 }), nil 2011 } 2012 2013 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2014 // 2015 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 2016 func (_ERC721Burnable *ERC721BurnableFilterer) ParseApproval(log types.Log) (*ERC721BurnableApproval, error) { 2017 event := new(ERC721BurnableApproval) 2018 if err := _ERC721Burnable.contract.UnpackLog(event, "Approval", log); err != nil { 2019 return nil, err 2020 } 2021 return event, nil 2022 } 2023 2024 // ERC721BurnableApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721Burnable contract. 2025 type ERC721BurnableApprovalForAllIterator struct { 2026 Event *ERC721BurnableApprovalForAll // Event containing the contract specifics and raw log 2027 2028 contract *bind.BoundContract // Generic contract to use for unpacking event data 2029 event string // Event name to use for unpacking event data 2030 2031 logs chan types.Log // Log channel receiving the found contract events 2032 sub klaytn.Subscription // Subscription for errors, completion and termination 2033 done bool // Whether the subscription completed delivering logs 2034 fail error // Occurred error to stop iteration 2035 } 2036 2037 // Next advances the iterator to the subsequent event, returning whether there 2038 // are any more events found. In case of a retrieval or parsing error, false is 2039 // returned and Error() can be queried for the exact failure. 2040 func (it *ERC721BurnableApprovalForAllIterator) Next() bool { 2041 // If the iterator failed, stop iterating 2042 if it.fail != nil { 2043 return false 2044 } 2045 // If the iterator completed, deliver directly whatever's available 2046 if it.done { 2047 select { 2048 case log := <-it.logs: 2049 it.Event = new(ERC721BurnableApprovalForAll) 2050 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2051 it.fail = err 2052 return false 2053 } 2054 it.Event.Raw = log 2055 return true 2056 2057 default: 2058 return false 2059 } 2060 } 2061 // Iterator still in progress, wait for either a data or an error event 2062 select { 2063 case log := <-it.logs: 2064 it.Event = new(ERC721BurnableApprovalForAll) 2065 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2066 it.fail = err 2067 return false 2068 } 2069 it.Event.Raw = log 2070 return true 2071 2072 case err := <-it.sub.Err(): 2073 it.done = true 2074 it.fail = err 2075 return it.Next() 2076 } 2077 } 2078 2079 // Error returns any retrieval or parsing error occurred during filtering. 2080 func (it *ERC721BurnableApprovalForAllIterator) Error() error { 2081 return it.fail 2082 } 2083 2084 // Close terminates the iteration process, releasing any pending underlying 2085 // resources. 2086 func (it *ERC721BurnableApprovalForAllIterator) Close() error { 2087 it.sub.Unsubscribe() 2088 return nil 2089 } 2090 2091 // ERC721BurnableApprovalForAll represents a ApprovalForAll event raised by the ERC721Burnable contract. 2092 type ERC721BurnableApprovalForAll struct { 2093 Owner common.Address 2094 Operator common.Address 2095 Approved bool 2096 Raw types.Log // Blockchain specific contextual infos 2097 } 2098 2099 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 2100 // 2101 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 2102 func (_ERC721Burnable *ERC721BurnableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721BurnableApprovalForAllIterator, error) { 2103 2104 var ownerRule []interface{} 2105 for _, ownerItem := range owner { 2106 ownerRule = append(ownerRule, ownerItem) 2107 } 2108 var operatorRule []interface{} 2109 for _, operatorItem := range operator { 2110 operatorRule = append(operatorRule, operatorItem) 2111 } 2112 2113 logs, sub, err := _ERC721Burnable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 2114 if err != nil { 2115 return nil, err 2116 } 2117 return &ERC721BurnableApprovalForAllIterator{contract: _ERC721Burnable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 2118 } 2119 2120 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 2121 // 2122 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 2123 func (_ERC721Burnable *ERC721BurnableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721BurnableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 2124 2125 var ownerRule []interface{} 2126 for _, ownerItem := range owner { 2127 ownerRule = append(ownerRule, ownerItem) 2128 } 2129 var operatorRule []interface{} 2130 for _, operatorItem := range operator { 2131 operatorRule = append(operatorRule, operatorItem) 2132 } 2133 2134 logs, sub, err := _ERC721Burnable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 2135 if err != nil { 2136 return nil, err 2137 } 2138 return event.NewSubscription(func(quit <-chan struct{}) error { 2139 defer sub.Unsubscribe() 2140 for { 2141 select { 2142 case log := <-logs: 2143 // New log arrived, parse the event and forward to the user 2144 event := new(ERC721BurnableApprovalForAll) 2145 if err := _ERC721Burnable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 2146 return err 2147 } 2148 event.Raw = log 2149 2150 select { 2151 case sink <- event: 2152 case err := <-sub.Err(): 2153 return err 2154 case <-quit: 2155 return nil 2156 } 2157 case err := <-sub.Err(): 2158 return err 2159 case <-quit: 2160 return nil 2161 } 2162 } 2163 }), nil 2164 } 2165 2166 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 2167 // 2168 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 2169 func (_ERC721Burnable *ERC721BurnableFilterer) ParseApprovalForAll(log types.Log) (*ERC721BurnableApprovalForAll, error) { 2170 event := new(ERC721BurnableApprovalForAll) 2171 if err := _ERC721Burnable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 2172 return nil, err 2173 } 2174 return event, nil 2175 } 2176 2177 // ERC721BurnableTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721Burnable contract. 2178 type ERC721BurnableTransferIterator struct { 2179 Event *ERC721BurnableTransfer // Event containing the contract specifics and raw log 2180 2181 contract *bind.BoundContract // Generic contract to use for unpacking event data 2182 event string // Event name to use for unpacking event data 2183 2184 logs chan types.Log // Log channel receiving the found contract events 2185 sub klaytn.Subscription // Subscription for errors, completion and termination 2186 done bool // Whether the subscription completed delivering logs 2187 fail error // Occurred error to stop iteration 2188 } 2189 2190 // Next advances the iterator to the subsequent event, returning whether there 2191 // are any more events found. In case of a retrieval or parsing error, false is 2192 // returned and Error() can be queried for the exact failure. 2193 func (it *ERC721BurnableTransferIterator) Next() bool { 2194 // If the iterator failed, stop iterating 2195 if it.fail != nil { 2196 return false 2197 } 2198 // If the iterator completed, deliver directly whatever's available 2199 if it.done { 2200 select { 2201 case log := <-it.logs: 2202 it.Event = new(ERC721BurnableTransfer) 2203 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2204 it.fail = err 2205 return false 2206 } 2207 it.Event.Raw = log 2208 return true 2209 2210 default: 2211 return false 2212 } 2213 } 2214 // Iterator still in progress, wait for either a data or an error event 2215 select { 2216 case log := <-it.logs: 2217 it.Event = new(ERC721BurnableTransfer) 2218 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2219 it.fail = err 2220 return false 2221 } 2222 it.Event.Raw = log 2223 return true 2224 2225 case err := <-it.sub.Err(): 2226 it.done = true 2227 it.fail = err 2228 return it.Next() 2229 } 2230 } 2231 2232 // Error returns any retrieval or parsing error occurred during filtering. 2233 func (it *ERC721BurnableTransferIterator) Error() error { 2234 return it.fail 2235 } 2236 2237 // Close terminates the iteration process, releasing any pending underlying 2238 // resources. 2239 func (it *ERC721BurnableTransferIterator) Close() error { 2240 it.sub.Unsubscribe() 2241 return nil 2242 } 2243 2244 // ERC721BurnableTransfer represents a Transfer event raised by the ERC721Burnable contract. 2245 type ERC721BurnableTransfer struct { 2246 From common.Address 2247 To common.Address 2248 TokenId *big.Int 2249 Raw types.Log // Blockchain specific contextual infos 2250 } 2251 2252 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2253 // 2254 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 2255 func (_ERC721Burnable *ERC721BurnableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721BurnableTransferIterator, error) { 2256 2257 var fromRule []interface{} 2258 for _, fromItem := range from { 2259 fromRule = append(fromRule, fromItem) 2260 } 2261 var toRule []interface{} 2262 for _, toItem := range to { 2263 toRule = append(toRule, toItem) 2264 } 2265 var tokenIdRule []interface{} 2266 for _, tokenIdItem := range tokenId { 2267 tokenIdRule = append(tokenIdRule, tokenIdItem) 2268 } 2269 2270 logs, sub, err := _ERC721Burnable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 2271 if err != nil { 2272 return nil, err 2273 } 2274 return &ERC721BurnableTransferIterator{contract: _ERC721Burnable.contract, event: "Transfer", logs: logs, sub: sub}, nil 2275 } 2276 2277 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2278 // 2279 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 2280 func (_ERC721Burnable *ERC721BurnableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721BurnableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 2281 2282 var fromRule []interface{} 2283 for _, fromItem := range from { 2284 fromRule = append(fromRule, fromItem) 2285 } 2286 var toRule []interface{} 2287 for _, toItem := range to { 2288 toRule = append(toRule, toItem) 2289 } 2290 var tokenIdRule []interface{} 2291 for _, tokenIdItem := range tokenId { 2292 tokenIdRule = append(tokenIdRule, tokenIdItem) 2293 } 2294 2295 logs, sub, err := _ERC721Burnable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 2296 if err != nil { 2297 return nil, err 2298 } 2299 return event.NewSubscription(func(quit <-chan struct{}) error { 2300 defer sub.Unsubscribe() 2301 for { 2302 select { 2303 case log := <-logs: 2304 // New log arrived, parse the event and forward to the user 2305 event := new(ERC721BurnableTransfer) 2306 if err := _ERC721Burnable.contract.UnpackLog(event, "Transfer", log); err != nil { 2307 return err 2308 } 2309 event.Raw = log 2310 2311 select { 2312 case sink <- event: 2313 case err := <-sub.Err(): 2314 return err 2315 case <-quit: 2316 return nil 2317 } 2318 case err := <-sub.Err(): 2319 return err 2320 case <-quit: 2321 return nil 2322 } 2323 } 2324 }), nil 2325 } 2326 2327 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2328 // 2329 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 2330 func (_ERC721Burnable *ERC721BurnableFilterer) ParseTransfer(log types.Log) (*ERC721BurnableTransfer, error) { 2331 event := new(ERC721BurnableTransfer) 2332 if err := _ERC721Burnable.contract.UnpackLog(event, "Transfer", log); err != nil { 2333 return nil, err 2334 } 2335 return event, nil 2336 } 2337 2338 // ERC721MintableABI is the input ABI used to generate the binding from. 2339 const ERC721MintableABI = "[{\"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\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"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\":\"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\":\"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\"}]" 2340 2341 // ERC721MintableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 2342 const ERC721MintableBinRuntime = `608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063a22cb46511610066578063a22cb465146102ac578063aa271e1a146102da578063b88d4fde14610300578063e985e9c5146103c6576100ea565b806370a0823114610246578063983b2d561461027e57806398650275146102a4576100ea565b806323b872dd116100c857806323b872dd1461019157806340c10f19146101c757806342842e0e146101f35780636352211e14610229576100ea565b806301ffc9a7146100ef578063081812fc1461012a578063095ea7b314610163575b600080fd5b6101166004803603602081101561010557600080fd5b50356001600160e01b0319166103f4565b604080519115158252519081900360200190f35b6101476004803603602081101561014057600080fd5b5035610413565b604080516001600160a01b039092168252519081900360200190f35b61018f6004803603604081101561017957600080fd5b506001600160a01b038135169060200135610478565b005b61018f600480360360608110156101a757600080fd5b506001600160a01b0381358116916020810135909116906040013561058f565b610116600480360360408110156101dd57600080fd5b506001600160a01b0381351690602001356105e7565b61018f6004803603606081101561020957600080fd5b506001600160a01b03813581169160208101359091169060400135610643565b6101476004803603602081101561023f57600080fd5b503561065e565b61026c6004803603602081101561025c57600080fd5b50356001600160a01b03166106bb565b60408051918252519081900360200190f35b61018f6004803603602081101561029457600080fd5b50356001600160a01b0316610726565b61018f610779565b61018f600480360360408110156102c257600080fd5b506001600160a01b0381351690602001351515610784565b610116600480360360208110156102f057600080fd5b50356001600160a01b0316610853565b61018f6004803603608081101561031657600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561035157600080fd5b82018360208201111561036357600080fd5b8035906020019184600183028401116401000000008311171561038557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610866945050505050565b610116600480360360408110156103dc57600080fd5b506001600160a01b03813581169160200135166108c1565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061041e826108ef565b61045c57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611179602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006104838261065e565b9050806001600160a01b0316836001600160a01b031614156104d957604051600160e51b62461bcd0281526004018080602001828103825260218152602001806111f06021913960400191505060405180910390fd5b336001600160a01b03821614806104f557506104f581336108c1565b61053357604051600160e51b62461bcd02815260040180806020018281038252603881526020018061109d6038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b610599338261090c565b6105d757604051600160e51b62461bcd0281526004018080602001828103825260318152602001806112116031913960400191505060405180910390fd5b6105e28383836109b3565b505050565b60006105f233610853565b61063057604051600160e51b62461bcd0281526004018080602001828103825260308152602001806111286030913960400191505060405180910390fd5b61063a8383610afd565b50600192915050565b6105e283838360405180602001604052806000815250610866565b6000818152600160205260408120546001600160a01b0316806106b557604051600160e51b62461bcd0281526004018080602001828103825260298152602001806110ff6029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661070557604051600160e51b62461bcd02815260040180806020018281038252602a8152602001806110d5602a913960400191505060405180910390fd5b6001600160a01b03821660009081526003602052604090206106b590610c34565b61072f33610853565b61076d57604051600160e51b62461bcd0281526004018080602001828103825260308152602001806111286030913960400191505060405180910390fd5b61077681610c38565b50565b61078233610c80565b565b6001600160a01b0382163314156107e55760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b60006106b560058363ffffffff610cc816565b61087184848461058f565b61087d84848484610d32565b6108bb57604051600160e51b62461bcd02815260040180806020018281038252603281526020018061101b6032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b6000610917826108ef565b61095557604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611071602c913960400191505060405180910390fd5b60006109608361065e565b9050806001600160a01b0316846001600160a01b0316148061099b5750836001600160a01b031661099084610413565b6001600160a01b0316145b806109ab57506109ab81856108c1565b949350505050565b826001600160a01b03166109c68261065e565b6001600160a01b031614610a0e57604051600160e51b62461bcd0281526004018080602001828103825260298152602001806111c76029913960400191505060405180910390fd5b6001600160a01b038216610a5657604051600160e51b62461bcd02815260040180806020018281038252602481526020018061104d6024913960400191505060405180910390fd5b610a5f81610e6b565b6001600160a01b0383166000908152600360205260409020610a8090610ea6565b6001600160a01b0382166000908152600360205260409020610aa190610ebd565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216610b5b5760408051600160e51b62461bcd02815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b610b64816108ef565b15610bb95760408051600160e51b62461bcd02815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b600081815260016020908152604080832080546001600160a01b0319166001600160a01b038716908117909155835260039091529020610bf890610ebd565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b5490565b610c4960058263ffffffff610ec616565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b610c9160058263ffffffff610f4a16565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b038216610d1257604051600160e51b62461bcd0281526004018080602001828103825260228152602001806111a56022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6000610d46846001600160a01b0316610fb4565b610d52575060016109ab565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610dcf578181015183820152602001610db7565b50505050905090810190601f168015610dfc5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610e1e57600080fd5b505af1158015610e32573d6000803e3d6000fd5b505050506040513d6020811015610e4857600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b03161561077657600090815260026020526040902080546001600160a01b0319169055565b8054610eb990600163ffffffff610fba16565b9055565b80546001019055565b610ed08282610cc8565b15610f255760408051600160e51b62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b610f548282610cc8565b610f9257604051600160e51b62461bcd0281526004018080602001828103825260218152602001806111586021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b3b151590565b6000828211156110145760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c654552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e526f6c65733a206163636f756e7420697320746865207a65726f20616464726573734552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a72305820615522abbf018be3fc06c552bdc2a00a1abcf4fd411e92871c9cf0a7bfe052280029` 2343 2344 // ERC721MintableFuncSigs maps the 4-byte function signature to its string representation. 2345 var ERC721MintableFuncSigs = map[string]string{ 2346 "983b2d56": "addMinter(address)", 2347 "095ea7b3": "approve(address,uint256)", 2348 "70a08231": "balanceOf(address)", 2349 "081812fc": "getApproved(uint256)", 2350 "e985e9c5": "isApprovedForAll(address,address)", 2351 "aa271e1a": "isMinter(address)", 2352 "40c10f19": "mint(address,uint256)", 2353 "6352211e": "ownerOf(uint256)", 2354 "98650275": "renounceMinter()", 2355 "42842e0e": "safeTransferFrom(address,address,uint256)", 2356 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 2357 "a22cb465": "setApprovalForAll(address,bool)", 2358 "01ffc9a7": "supportsInterface(bytes4)", 2359 "23b872dd": "transferFrom(address,address,uint256)", 2360 } 2361 2362 // ERC721MintableBin is the compiled bytecode used for deploying new contracts. 2363 var ERC721MintableBin = "0x60806040526200001c6301ffc9a760e01b6200004b60201b60201c565b620000346380ac58cd60e01b6200004b60201b60201c565b62000045336200011a60201b60201c565b62000293565b7fffffffff000000000000000000000000000000000000000000000000000000008082161415620000dd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b620001358160056200016c60201b62000ec61790919060201c565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6200017e82826200021060201b60201c565b15620001eb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b03821662000273576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180620015106022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b61126d80620002a36000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063a22cb46511610066578063a22cb465146102ac578063aa271e1a146102da578063b88d4fde14610300578063e985e9c5146103c6576100ea565b806370a0823114610246578063983b2d561461027e57806398650275146102a4576100ea565b806323b872dd116100c857806323b872dd1461019157806340c10f19146101c757806342842e0e146101f35780636352211e14610229576100ea565b806301ffc9a7146100ef578063081812fc1461012a578063095ea7b314610163575b600080fd5b6101166004803603602081101561010557600080fd5b50356001600160e01b0319166103f4565b604080519115158252519081900360200190f35b6101476004803603602081101561014057600080fd5b5035610413565b604080516001600160a01b039092168252519081900360200190f35b61018f6004803603604081101561017957600080fd5b506001600160a01b038135169060200135610478565b005b61018f600480360360608110156101a757600080fd5b506001600160a01b0381358116916020810135909116906040013561058f565b610116600480360360408110156101dd57600080fd5b506001600160a01b0381351690602001356105e7565b61018f6004803603606081101561020957600080fd5b506001600160a01b03813581169160208101359091169060400135610643565b6101476004803603602081101561023f57600080fd5b503561065e565b61026c6004803603602081101561025c57600080fd5b50356001600160a01b03166106bb565b60408051918252519081900360200190f35b61018f6004803603602081101561029457600080fd5b50356001600160a01b0316610726565b61018f610779565b61018f600480360360408110156102c257600080fd5b506001600160a01b0381351690602001351515610784565b610116600480360360208110156102f057600080fd5b50356001600160a01b0316610853565b61018f6004803603608081101561031657600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561035157600080fd5b82018360208201111561036357600080fd5b8035906020019184600183028401116401000000008311171561038557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610866945050505050565b610116600480360360408110156103dc57600080fd5b506001600160a01b03813581169160200135166108c1565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061041e826108ef565b61045c57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611179602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006104838261065e565b9050806001600160a01b0316836001600160a01b031614156104d957604051600160e51b62461bcd0281526004018080602001828103825260218152602001806111f06021913960400191505060405180910390fd5b336001600160a01b03821614806104f557506104f581336108c1565b61053357604051600160e51b62461bcd02815260040180806020018281038252603881526020018061109d6038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b610599338261090c565b6105d757604051600160e51b62461bcd0281526004018080602001828103825260318152602001806112116031913960400191505060405180910390fd5b6105e28383836109b3565b505050565b60006105f233610853565b61063057604051600160e51b62461bcd0281526004018080602001828103825260308152602001806111286030913960400191505060405180910390fd5b61063a8383610afd565b50600192915050565b6105e283838360405180602001604052806000815250610866565b6000818152600160205260408120546001600160a01b0316806106b557604051600160e51b62461bcd0281526004018080602001828103825260298152602001806110ff6029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661070557604051600160e51b62461bcd02815260040180806020018281038252602a8152602001806110d5602a913960400191505060405180910390fd5b6001600160a01b03821660009081526003602052604090206106b590610c34565b61072f33610853565b61076d57604051600160e51b62461bcd0281526004018080602001828103825260308152602001806111286030913960400191505060405180910390fd5b61077681610c38565b50565b61078233610c80565b565b6001600160a01b0382163314156107e55760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b60006106b560058363ffffffff610cc816565b61087184848461058f565b61087d84848484610d32565b6108bb57604051600160e51b62461bcd02815260040180806020018281038252603281526020018061101b6032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b6000610917826108ef565b61095557604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611071602c913960400191505060405180910390fd5b60006109608361065e565b9050806001600160a01b0316846001600160a01b0316148061099b5750836001600160a01b031661099084610413565b6001600160a01b0316145b806109ab57506109ab81856108c1565b949350505050565b826001600160a01b03166109c68261065e565b6001600160a01b031614610a0e57604051600160e51b62461bcd0281526004018080602001828103825260298152602001806111c76029913960400191505060405180910390fd5b6001600160a01b038216610a5657604051600160e51b62461bcd02815260040180806020018281038252602481526020018061104d6024913960400191505060405180910390fd5b610a5f81610e6b565b6001600160a01b0383166000908152600360205260409020610a8090610ea6565b6001600160a01b0382166000908152600360205260409020610aa190610ebd565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216610b5b5760408051600160e51b62461bcd02815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b610b64816108ef565b15610bb95760408051600160e51b62461bcd02815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b600081815260016020908152604080832080546001600160a01b0319166001600160a01b038716908117909155835260039091529020610bf890610ebd565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b5490565b610c4960058263ffffffff610ec616565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b610c9160058263ffffffff610f4a16565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b038216610d1257604051600160e51b62461bcd0281526004018080602001828103825260228152602001806111a56022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6000610d46846001600160a01b0316610fb4565b610d52575060016109ab565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610dcf578181015183820152602001610db7565b50505050905090810190601f168015610dfc5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610e1e57600080fd5b505af1158015610e32573d6000803e3d6000fd5b505050506040513d6020811015610e4857600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b03161561077657600090815260026020526040902080546001600160a01b0319169055565b8054610eb990600163ffffffff610fba16565b9055565b80546001019055565b610ed08282610cc8565b15610f255760408051600160e51b62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b610f548282610cc8565b610f9257604051600160e51b62461bcd0281526004018080602001828103825260218152602001806111586021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b3b151590565b6000828211156110145760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c654552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e526f6c65733a206163636f756e7420697320746865207a65726f20616464726573734552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a72305820615522abbf018be3fc06c552bdc2a00a1abcf4fd411e92871c9cf0a7bfe052280029526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373" 2364 2365 // DeployERC721Mintable deploys a new Klaytn contract, binding an instance of ERC721Mintable to it. 2366 func DeployERC721Mintable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC721Mintable, error) { 2367 parsed, err := abi.JSON(strings.NewReader(ERC721MintableABI)) 2368 if err != nil { 2369 return common.Address{}, nil, nil, err 2370 } 2371 2372 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC721MintableBin), backend) 2373 if err != nil { 2374 return common.Address{}, nil, nil, err 2375 } 2376 return address, tx, &ERC721Mintable{ERC721MintableCaller: ERC721MintableCaller{contract: contract}, ERC721MintableTransactor: ERC721MintableTransactor{contract: contract}, ERC721MintableFilterer: ERC721MintableFilterer{contract: contract}}, nil 2377 } 2378 2379 // ERC721Mintable is an auto generated Go binding around a Klaytn contract. 2380 type ERC721Mintable struct { 2381 ERC721MintableCaller // Read-only binding to the contract 2382 ERC721MintableTransactor // Write-only binding to the contract 2383 ERC721MintableFilterer // Log filterer for contract events 2384 } 2385 2386 // ERC721MintableCaller is an auto generated read-only Go binding around a Klaytn contract. 2387 type ERC721MintableCaller struct { 2388 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2389 } 2390 2391 // ERC721MintableTransactor is an auto generated write-only Go binding around a Klaytn contract. 2392 type ERC721MintableTransactor struct { 2393 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2394 } 2395 2396 // ERC721MintableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 2397 type ERC721MintableFilterer struct { 2398 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2399 } 2400 2401 // ERC721MintableSession is an auto generated Go binding around a Klaytn contract, 2402 // with pre-set call and transact options. 2403 type ERC721MintableSession struct { 2404 Contract *ERC721Mintable // Generic contract binding to set the session for 2405 CallOpts bind.CallOpts // Call options to use throughout this session 2406 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2407 } 2408 2409 // ERC721MintableCallerSession is an auto generated read-only Go binding around a Klaytn contract, 2410 // with pre-set call options. 2411 type ERC721MintableCallerSession struct { 2412 Contract *ERC721MintableCaller // Generic contract caller binding to set the session for 2413 CallOpts bind.CallOpts // Call options to use throughout this session 2414 } 2415 2416 // ERC721MintableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 2417 // with pre-set transact options. 2418 type ERC721MintableTransactorSession struct { 2419 Contract *ERC721MintableTransactor // Generic contract transactor binding to set the session for 2420 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2421 } 2422 2423 // ERC721MintableRaw is an auto generated low-level Go binding around a Klaytn contract. 2424 type ERC721MintableRaw struct { 2425 Contract *ERC721Mintable // Generic contract binding to access the raw methods on 2426 } 2427 2428 // ERC721MintableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 2429 type ERC721MintableCallerRaw struct { 2430 Contract *ERC721MintableCaller // Generic read-only contract binding to access the raw methods on 2431 } 2432 2433 // ERC721MintableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 2434 type ERC721MintableTransactorRaw struct { 2435 Contract *ERC721MintableTransactor // Generic write-only contract binding to access the raw methods on 2436 } 2437 2438 // NewERC721Mintable creates a new instance of ERC721Mintable, bound to a specific deployed contract. 2439 func NewERC721Mintable(address common.Address, backend bind.ContractBackend) (*ERC721Mintable, error) { 2440 contract, err := bindERC721Mintable(address, backend, backend, backend) 2441 if err != nil { 2442 return nil, err 2443 } 2444 return &ERC721Mintable{ERC721MintableCaller: ERC721MintableCaller{contract: contract}, ERC721MintableTransactor: ERC721MintableTransactor{contract: contract}, ERC721MintableFilterer: ERC721MintableFilterer{contract: contract}}, nil 2445 } 2446 2447 // NewERC721MintableCaller creates a new read-only instance of ERC721Mintable, bound to a specific deployed contract. 2448 func NewERC721MintableCaller(address common.Address, caller bind.ContractCaller) (*ERC721MintableCaller, error) { 2449 contract, err := bindERC721Mintable(address, caller, nil, nil) 2450 if err != nil { 2451 return nil, err 2452 } 2453 return &ERC721MintableCaller{contract: contract}, nil 2454 } 2455 2456 // NewERC721MintableTransactor creates a new write-only instance of ERC721Mintable, bound to a specific deployed contract. 2457 func NewERC721MintableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721MintableTransactor, error) { 2458 contract, err := bindERC721Mintable(address, nil, transactor, nil) 2459 if err != nil { 2460 return nil, err 2461 } 2462 return &ERC721MintableTransactor{contract: contract}, nil 2463 } 2464 2465 // NewERC721MintableFilterer creates a new log filterer instance of ERC721Mintable, bound to a specific deployed contract. 2466 func NewERC721MintableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721MintableFilterer, error) { 2467 contract, err := bindERC721Mintable(address, nil, nil, filterer) 2468 if err != nil { 2469 return nil, err 2470 } 2471 return &ERC721MintableFilterer{contract: contract}, nil 2472 } 2473 2474 // bindERC721Mintable binds a generic wrapper to an already deployed contract. 2475 func bindERC721Mintable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 2476 parsed, err := abi.JSON(strings.NewReader(ERC721MintableABI)) 2477 if err != nil { 2478 return nil, err 2479 } 2480 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 2481 } 2482 2483 // Call invokes the (constant) contract method with params as input values and 2484 // sets the output to result. The result type might be a single field for simple 2485 // returns, a slice of interfaces for anonymous returns and a struct for named 2486 // returns. 2487 func (_ERC721Mintable *ERC721MintableRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 2488 return _ERC721Mintable.Contract.ERC721MintableCaller.contract.Call(opts, result, method, params...) 2489 } 2490 2491 // Transfer initiates a plain transaction to move funds to the contract, calling 2492 // its default method if one is available. 2493 func (_ERC721Mintable *ERC721MintableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2494 return _ERC721Mintable.Contract.ERC721MintableTransactor.contract.Transfer(opts) 2495 } 2496 2497 // Transact invokes the (paid) contract method with params as input values. 2498 func (_ERC721Mintable *ERC721MintableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2499 return _ERC721Mintable.Contract.ERC721MintableTransactor.contract.Transact(opts, method, params...) 2500 } 2501 2502 // Call invokes the (constant) contract method with params as input values and 2503 // sets the output to result. The result type might be a single field for simple 2504 // returns, a slice of interfaces for anonymous returns and a struct for named 2505 // returns. 2506 func (_ERC721Mintable *ERC721MintableCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 2507 return _ERC721Mintable.Contract.contract.Call(opts, result, method, params...) 2508 } 2509 2510 // Transfer initiates a plain transaction to move funds to the contract, calling 2511 // its default method if one is available. 2512 func (_ERC721Mintable *ERC721MintableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2513 return _ERC721Mintable.Contract.contract.Transfer(opts) 2514 } 2515 2516 // Transact invokes the (paid) contract method with params as input values. 2517 func (_ERC721Mintable *ERC721MintableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2518 return _ERC721Mintable.Contract.contract.Transact(opts, method, params...) 2519 } 2520 2521 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2522 // 2523 // Solidity: function balanceOf(address owner) view returns(uint256) 2524 func (_ERC721Mintable *ERC721MintableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 2525 var ( 2526 ret0 = new(*big.Int) 2527 ) 2528 out := ret0 2529 err := _ERC721Mintable.contract.Call(opts, out, "balanceOf", owner) 2530 return *ret0, err 2531 } 2532 2533 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2534 // 2535 // Solidity: function balanceOf(address owner) view returns(uint256) 2536 func (_ERC721Mintable *ERC721MintableSession) BalanceOf(owner common.Address) (*big.Int, error) { 2537 return _ERC721Mintable.Contract.BalanceOf(&_ERC721Mintable.CallOpts, owner) 2538 } 2539 2540 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2541 // 2542 // Solidity: function balanceOf(address owner) view returns(uint256) 2543 func (_ERC721Mintable *ERC721MintableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 2544 return _ERC721Mintable.Contract.BalanceOf(&_ERC721Mintable.CallOpts, owner) 2545 } 2546 2547 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 2548 // 2549 // Solidity: function getApproved(uint256 tokenId) view returns(address) 2550 func (_ERC721Mintable *ERC721MintableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 2551 var ( 2552 ret0 = new(common.Address) 2553 ) 2554 out := ret0 2555 err := _ERC721Mintable.contract.Call(opts, out, "getApproved", tokenId) 2556 return *ret0, err 2557 } 2558 2559 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 2560 // 2561 // Solidity: function getApproved(uint256 tokenId) view returns(address) 2562 func (_ERC721Mintable *ERC721MintableSession) GetApproved(tokenId *big.Int) (common.Address, error) { 2563 return _ERC721Mintable.Contract.GetApproved(&_ERC721Mintable.CallOpts, tokenId) 2564 } 2565 2566 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 2567 // 2568 // Solidity: function getApproved(uint256 tokenId) view returns(address) 2569 func (_ERC721Mintable *ERC721MintableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 2570 return _ERC721Mintable.Contract.GetApproved(&_ERC721Mintable.CallOpts, tokenId) 2571 } 2572 2573 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 2574 // 2575 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 2576 func (_ERC721Mintable *ERC721MintableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 2577 var ( 2578 ret0 = new(bool) 2579 ) 2580 out := ret0 2581 err := _ERC721Mintable.contract.Call(opts, out, "isApprovedForAll", owner, operator) 2582 return *ret0, err 2583 } 2584 2585 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 2586 // 2587 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 2588 func (_ERC721Mintable *ERC721MintableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 2589 return _ERC721Mintable.Contract.IsApprovedForAll(&_ERC721Mintable.CallOpts, owner, operator) 2590 } 2591 2592 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 2593 // 2594 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 2595 func (_ERC721Mintable *ERC721MintableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 2596 return _ERC721Mintable.Contract.IsApprovedForAll(&_ERC721Mintable.CallOpts, owner, operator) 2597 } 2598 2599 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 2600 // 2601 // Solidity: function isMinter(address account) view returns(bool) 2602 func (_ERC721Mintable *ERC721MintableCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { 2603 var ( 2604 ret0 = new(bool) 2605 ) 2606 out := ret0 2607 err := _ERC721Mintable.contract.Call(opts, out, "isMinter", account) 2608 return *ret0, err 2609 } 2610 2611 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 2612 // 2613 // Solidity: function isMinter(address account) view returns(bool) 2614 func (_ERC721Mintable *ERC721MintableSession) IsMinter(account common.Address) (bool, error) { 2615 return _ERC721Mintable.Contract.IsMinter(&_ERC721Mintable.CallOpts, account) 2616 } 2617 2618 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 2619 // 2620 // Solidity: function isMinter(address account) view returns(bool) 2621 func (_ERC721Mintable *ERC721MintableCallerSession) IsMinter(account common.Address) (bool, error) { 2622 return _ERC721Mintable.Contract.IsMinter(&_ERC721Mintable.CallOpts, account) 2623 } 2624 2625 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 2626 // 2627 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 2628 func (_ERC721Mintable *ERC721MintableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 2629 var ( 2630 ret0 = new(common.Address) 2631 ) 2632 out := ret0 2633 err := _ERC721Mintable.contract.Call(opts, out, "ownerOf", tokenId) 2634 return *ret0, err 2635 } 2636 2637 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 2638 // 2639 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 2640 func (_ERC721Mintable *ERC721MintableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 2641 return _ERC721Mintable.Contract.OwnerOf(&_ERC721Mintable.CallOpts, tokenId) 2642 } 2643 2644 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 2645 // 2646 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 2647 func (_ERC721Mintable *ERC721MintableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 2648 return _ERC721Mintable.Contract.OwnerOf(&_ERC721Mintable.CallOpts, tokenId) 2649 } 2650 2651 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 2652 // 2653 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 2654 func (_ERC721Mintable *ERC721MintableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 2655 var ( 2656 ret0 = new(bool) 2657 ) 2658 out := ret0 2659 err := _ERC721Mintable.contract.Call(opts, out, "supportsInterface", interfaceId) 2660 return *ret0, err 2661 } 2662 2663 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 2664 // 2665 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 2666 func (_ERC721Mintable *ERC721MintableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 2667 return _ERC721Mintable.Contract.SupportsInterface(&_ERC721Mintable.CallOpts, interfaceId) 2668 } 2669 2670 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 2671 // 2672 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 2673 func (_ERC721Mintable *ERC721MintableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 2674 return _ERC721Mintable.Contract.SupportsInterface(&_ERC721Mintable.CallOpts, interfaceId) 2675 } 2676 2677 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 2678 // 2679 // Solidity: function addMinter(address account) returns() 2680 func (_ERC721Mintable *ERC721MintableTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 2681 return _ERC721Mintable.contract.Transact(opts, "addMinter", account) 2682 } 2683 2684 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 2685 // 2686 // Solidity: function addMinter(address account) returns() 2687 func (_ERC721Mintable *ERC721MintableSession) AddMinter(account common.Address) (*types.Transaction, error) { 2688 return _ERC721Mintable.Contract.AddMinter(&_ERC721Mintable.TransactOpts, account) 2689 } 2690 2691 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 2692 // 2693 // Solidity: function addMinter(address account) returns() 2694 func (_ERC721Mintable *ERC721MintableTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 2695 return _ERC721Mintable.Contract.AddMinter(&_ERC721Mintable.TransactOpts, account) 2696 } 2697 2698 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 2699 // 2700 // Solidity: function approve(address to, uint256 tokenId) returns() 2701 func (_ERC721Mintable *ERC721MintableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2702 return _ERC721Mintable.contract.Transact(opts, "approve", to, tokenId) 2703 } 2704 2705 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 2706 // 2707 // Solidity: function approve(address to, uint256 tokenId) returns() 2708 func (_ERC721Mintable *ERC721MintableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2709 return _ERC721Mintable.Contract.Approve(&_ERC721Mintable.TransactOpts, to, tokenId) 2710 } 2711 2712 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 2713 // 2714 // Solidity: function approve(address to, uint256 tokenId) returns() 2715 func (_ERC721Mintable *ERC721MintableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2716 return _ERC721Mintable.Contract.Approve(&_ERC721Mintable.TransactOpts, to, tokenId) 2717 } 2718 2719 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 2720 // 2721 // Solidity: function mint(address to, uint256 tokenId) returns(bool) 2722 func (_ERC721Mintable *ERC721MintableTransactor) Mint(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2723 return _ERC721Mintable.contract.Transact(opts, "mint", to, tokenId) 2724 } 2725 2726 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 2727 // 2728 // Solidity: function mint(address to, uint256 tokenId) returns(bool) 2729 func (_ERC721Mintable *ERC721MintableSession) Mint(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2730 return _ERC721Mintable.Contract.Mint(&_ERC721Mintable.TransactOpts, to, tokenId) 2731 } 2732 2733 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 2734 // 2735 // Solidity: function mint(address to, uint256 tokenId) returns(bool) 2736 func (_ERC721Mintable *ERC721MintableTransactorSession) Mint(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2737 return _ERC721Mintable.Contract.Mint(&_ERC721Mintable.TransactOpts, to, tokenId) 2738 } 2739 2740 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 2741 // 2742 // Solidity: function renounceMinter() returns() 2743 func (_ERC721Mintable *ERC721MintableTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { 2744 return _ERC721Mintable.contract.Transact(opts, "renounceMinter") 2745 } 2746 2747 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 2748 // 2749 // Solidity: function renounceMinter() returns() 2750 func (_ERC721Mintable *ERC721MintableSession) RenounceMinter() (*types.Transaction, error) { 2751 return _ERC721Mintable.Contract.RenounceMinter(&_ERC721Mintable.TransactOpts) 2752 } 2753 2754 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 2755 // 2756 // Solidity: function renounceMinter() returns() 2757 func (_ERC721Mintable *ERC721MintableTransactorSession) RenounceMinter() (*types.Transaction, error) { 2758 return _ERC721Mintable.Contract.RenounceMinter(&_ERC721Mintable.TransactOpts) 2759 } 2760 2761 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 2762 // 2763 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 2764 func (_ERC721Mintable *ERC721MintableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2765 return _ERC721Mintable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 2766 } 2767 2768 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 2769 // 2770 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 2771 func (_ERC721Mintable *ERC721MintableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2772 return _ERC721Mintable.Contract.SafeTransferFrom(&_ERC721Mintable.TransactOpts, from, to, tokenId) 2773 } 2774 2775 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 2776 // 2777 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 2778 func (_ERC721Mintable *ERC721MintableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2779 return _ERC721Mintable.Contract.SafeTransferFrom(&_ERC721Mintable.TransactOpts, from, to, tokenId) 2780 } 2781 2782 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 2783 // 2784 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 2785 func (_ERC721Mintable *ERC721MintableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 2786 return _ERC721Mintable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 2787 } 2788 2789 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 2790 // 2791 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 2792 func (_ERC721Mintable *ERC721MintableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 2793 return _ERC721Mintable.Contract.SafeTransferFrom0(&_ERC721Mintable.TransactOpts, from, to, tokenId, _data) 2794 } 2795 2796 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 2797 // 2798 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 2799 func (_ERC721Mintable *ERC721MintableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 2800 return _ERC721Mintable.Contract.SafeTransferFrom0(&_ERC721Mintable.TransactOpts, from, to, tokenId, _data) 2801 } 2802 2803 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 2804 // 2805 // Solidity: function setApprovalForAll(address to, bool approved) returns() 2806 func (_ERC721Mintable *ERC721MintableTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 2807 return _ERC721Mintable.contract.Transact(opts, "setApprovalForAll", to, approved) 2808 } 2809 2810 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 2811 // 2812 // Solidity: function setApprovalForAll(address to, bool approved) returns() 2813 func (_ERC721Mintable *ERC721MintableSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 2814 return _ERC721Mintable.Contract.SetApprovalForAll(&_ERC721Mintable.TransactOpts, to, approved) 2815 } 2816 2817 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 2818 // 2819 // Solidity: function setApprovalForAll(address to, bool approved) returns() 2820 func (_ERC721Mintable *ERC721MintableTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 2821 return _ERC721Mintable.Contract.SetApprovalForAll(&_ERC721Mintable.TransactOpts, to, approved) 2822 } 2823 2824 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2825 // 2826 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 2827 func (_ERC721Mintable *ERC721MintableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2828 return _ERC721Mintable.contract.Transact(opts, "transferFrom", from, to, tokenId) 2829 } 2830 2831 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2832 // 2833 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 2834 func (_ERC721Mintable *ERC721MintableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2835 return _ERC721Mintable.Contract.TransferFrom(&_ERC721Mintable.TransactOpts, from, to, tokenId) 2836 } 2837 2838 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2839 // 2840 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 2841 func (_ERC721Mintable *ERC721MintableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 2842 return _ERC721Mintable.Contract.TransferFrom(&_ERC721Mintable.TransactOpts, from, to, tokenId) 2843 } 2844 2845 // ERC721MintableApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721Mintable contract. 2846 type ERC721MintableApprovalIterator struct { 2847 Event *ERC721MintableApproval // Event containing the contract specifics and raw log 2848 2849 contract *bind.BoundContract // Generic contract to use for unpacking event data 2850 event string // Event name to use for unpacking event data 2851 2852 logs chan types.Log // Log channel receiving the found contract events 2853 sub klaytn.Subscription // Subscription for errors, completion and termination 2854 done bool // Whether the subscription completed delivering logs 2855 fail error // Occurred error to stop iteration 2856 } 2857 2858 // Next advances the iterator to the subsequent event, returning whether there 2859 // are any more events found. In case of a retrieval or parsing error, false is 2860 // returned and Error() can be queried for the exact failure. 2861 func (it *ERC721MintableApprovalIterator) Next() bool { 2862 // If the iterator failed, stop iterating 2863 if it.fail != nil { 2864 return false 2865 } 2866 // If the iterator completed, deliver directly whatever's available 2867 if it.done { 2868 select { 2869 case log := <-it.logs: 2870 it.Event = new(ERC721MintableApproval) 2871 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2872 it.fail = err 2873 return false 2874 } 2875 it.Event.Raw = log 2876 return true 2877 2878 default: 2879 return false 2880 } 2881 } 2882 // Iterator still in progress, wait for either a data or an error event 2883 select { 2884 case log := <-it.logs: 2885 it.Event = new(ERC721MintableApproval) 2886 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2887 it.fail = err 2888 return false 2889 } 2890 it.Event.Raw = log 2891 return true 2892 2893 case err := <-it.sub.Err(): 2894 it.done = true 2895 it.fail = err 2896 return it.Next() 2897 } 2898 } 2899 2900 // Error returns any retrieval or parsing error occurred during filtering. 2901 func (it *ERC721MintableApprovalIterator) Error() error { 2902 return it.fail 2903 } 2904 2905 // Close terminates the iteration process, releasing any pending underlying 2906 // resources. 2907 func (it *ERC721MintableApprovalIterator) Close() error { 2908 it.sub.Unsubscribe() 2909 return nil 2910 } 2911 2912 // ERC721MintableApproval represents a Approval event raised by the ERC721Mintable contract. 2913 type ERC721MintableApproval struct { 2914 Owner common.Address 2915 Approved common.Address 2916 TokenId *big.Int 2917 Raw types.Log // Blockchain specific contextual infos 2918 } 2919 2920 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2921 // 2922 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 2923 func (_ERC721Mintable *ERC721MintableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721MintableApprovalIterator, error) { 2924 2925 var ownerRule []interface{} 2926 for _, ownerItem := range owner { 2927 ownerRule = append(ownerRule, ownerItem) 2928 } 2929 var approvedRule []interface{} 2930 for _, approvedItem := range approved { 2931 approvedRule = append(approvedRule, approvedItem) 2932 } 2933 var tokenIdRule []interface{} 2934 for _, tokenIdItem := range tokenId { 2935 tokenIdRule = append(tokenIdRule, tokenIdItem) 2936 } 2937 2938 logs, sub, err := _ERC721Mintable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 2939 if err != nil { 2940 return nil, err 2941 } 2942 return &ERC721MintableApprovalIterator{contract: _ERC721Mintable.contract, event: "Approval", logs: logs, sub: sub}, nil 2943 } 2944 2945 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2946 // 2947 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 2948 func (_ERC721Mintable *ERC721MintableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721MintableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 2949 2950 var ownerRule []interface{} 2951 for _, ownerItem := range owner { 2952 ownerRule = append(ownerRule, ownerItem) 2953 } 2954 var approvedRule []interface{} 2955 for _, approvedItem := range approved { 2956 approvedRule = append(approvedRule, approvedItem) 2957 } 2958 var tokenIdRule []interface{} 2959 for _, tokenIdItem := range tokenId { 2960 tokenIdRule = append(tokenIdRule, tokenIdItem) 2961 } 2962 2963 logs, sub, err := _ERC721Mintable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 2964 if err != nil { 2965 return nil, err 2966 } 2967 return event.NewSubscription(func(quit <-chan struct{}) error { 2968 defer sub.Unsubscribe() 2969 for { 2970 select { 2971 case log := <-logs: 2972 // New log arrived, parse the event and forward to the user 2973 event := new(ERC721MintableApproval) 2974 if err := _ERC721Mintable.contract.UnpackLog(event, "Approval", log); err != nil { 2975 return err 2976 } 2977 event.Raw = log 2978 2979 select { 2980 case sink <- event: 2981 case err := <-sub.Err(): 2982 return err 2983 case <-quit: 2984 return nil 2985 } 2986 case err := <-sub.Err(): 2987 return err 2988 case <-quit: 2989 return nil 2990 } 2991 } 2992 }), nil 2993 } 2994 2995 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2996 // 2997 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 2998 func (_ERC721Mintable *ERC721MintableFilterer) ParseApproval(log types.Log) (*ERC721MintableApproval, error) { 2999 event := new(ERC721MintableApproval) 3000 if err := _ERC721Mintable.contract.UnpackLog(event, "Approval", log); err != nil { 3001 return nil, err 3002 } 3003 return event, nil 3004 } 3005 3006 // ERC721MintableApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721Mintable contract. 3007 type ERC721MintableApprovalForAllIterator struct { 3008 Event *ERC721MintableApprovalForAll // Event containing the contract specifics and raw log 3009 3010 contract *bind.BoundContract // Generic contract to use for unpacking event data 3011 event string // Event name to use for unpacking event data 3012 3013 logs chan types.Log // Log channel receiving the found contract events 3014 sub klaytn.Subscription // Subscription for errors, completion and termination 3015 done bool // Whether the subscription completed delivering logs 3016 fail error // Occurred error to stop iteration 3017 } 3018 3019 // Next advances the iterator to the subsequent event, returning whether there 3020 // are any more events found. In case of a retrieval or parsing error, false is 3021 // returned and Error() can be queried for the exact failure. 3022 func (it *ERC721MintableApprovalForAllIterator) Next() bool { 3023 // If the iterator failed, stop iterating 3024 if it.fail != nil { 3025 return false 3026 } 3027 // If the iterator completed, deliver directly whatever's available 3028 if it.done { 3029 select { 3030 case log := <-it.logs: 3031 it.Event = new(ERC721MintableApprovalForAll) 3032 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3033 it.fail = err 3034 return false 3035 } 3036 it.Event.Raw = log 3037 return true 3038 3039 default: 3040 return false 3041 } 3042 } 3043 // Iterator still in progress, wait for either a data or an error event 3044 select { 3045 case log := <-it.logs: 3046 it.Event = new(ERC721MintableApprovalForAll) 3047 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3048 it.fail = err 3049 return false 3050 } 3051 it.Event.Raw = log 3052 return true 3053 3054 case err := <-it.sub.Err(): 3055 it.done = true 3056 it.fail = err 3057 return it.Next() 3058 } 3059 } 3060 3061 // Error returns any retrieval or parsing error occurred during filtering. 3062 func (it *ERC721MintableApprovalForAllIterator) Error() error { 3063 return it.fail 3064 } 3065 3066 // Close terminates the iteration process, releasing any pending underlying 3067 // resources. 3068 func (it *ERC721MintableApprovalForAllIterator) Close() error { 3069 it.sub.Unsubscribe() 3070 return nil 3071 } 3072 3073 // ERC721MintableApprovalForAll represents a ApprovalForAll event raised by the ERC721Mintable contract. 3074 type ERC721MintableApprovalForAll struct { 3075 Owner common.Address 3076 Operator common.Address 3077 Approved bool 3078 Raw types.Log // Blockchain specific contextual infos 3079 } 3080 3081 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 3082 // 3083 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 3084 func (_ERC721Mintable *ERC721MintableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721MintableApprovalForAllIterator, error) { 3085 3086 var ownerRule []interface{} 3087 for _, ownerItem := range owner { 3088 ownerRule = append(ownerRule, ownerItem) 3089 } 3090 var operatorRule []interface{} 3091 for _, operatorItem := range operator { 3092 operatorRule = append(operatorRule, operatorItem) 3093 } 3094 3095 logs, sub, err := _ERC721Mintable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 3096 if err != nil { 3097 return nil, err 3098 } 3099 return &ERC721MintableApprovalForAllIterator{contract: _ERC721Mintable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 3100 } 3101 3102 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 3103 // 3104 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 3105 func (_ERC721Mintable *ERC721MintableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721MintableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 3106 3107 var ownerRule []interface{} 3108 for _, ownerItem := range owner { 3109 ownerRule = append(ownerRule, ownerItem) 3110 } 3111 var operatorRule []interface{} 3112 for _, operatorItem := range operator { 3113 operatorRule = append(operatorRule, operatorItem) 3114 } 3115 3116 logs, sub, err := _ERC721Mintable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 3117 if err != nil { 3118 return nil, err 3119 } 3120 return event.NewSubscription(func(quit <-chan struct{}) error { 3121 defer sub.Unsubscribe() 3122 for { 3123 select { 3124 case log := <-logs: 3125 // New log arrived, parse the event and forward to the user 3126 event := new(ERC721MintableApprovalForAll) 3127 if err := _ERC721Mintable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 3128 return err 3129 } 3130 event.Raw = log 3131 3132 select { 3133 case sink <- event: 3134 case err := <-sub.Err(): 3135 return err 3136 case <-quit: 3137 return nil 3138 } 3139 case err := <-sub.Err(): 3140 return err 3141 case <-quit: 3142 return nil 3143 } 3144 } 3145 }), nil 3146 } 3147 3148 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 3149 // 3150 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 3151 func (_ERC721Mintable *ERC721MintableFilterer) ParseApprovalForAll(log types.Log) (*ERC721MintableApprovalForAll, error) { 3152 event := new(ERC721MintableApprovalForAll) 3153 if err := _ERC721Mintable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 3154 return nil, err 3155 } 3156 return event, nil 3157 } 3158 3159 // ERC721MintableMinterAddedIterator is returned from FilterMinterAdded and is used to iterate over the raw logs and unpacked data for MinterAdded events raised by the ERC721Mintable contract. 3160 type ERC721MintableMinterAddedIterator struct { 3161 Event *ERC721MintableMinterAdded // Event containing the contract specifics and raw log 3162 3163 contract *bind.BoundContract // Generic contract to use for unpacking event data 3164 event string // Event name to use for unpacking event data 3165 3166 logs chan types.Log // Log channel receiving the found contract events 3167 sub klaytn.Subscription // Subscription for errors, completion and termination 3168 done bool // Whether the subscription completed delivering logs 3169 fail error // Occurred error to stop iteration 3170 } 3171 3172 // Next advances the iterator to the subsequent event, returning whether there 3173 // are any more events found. In case of a retrieval or parsing error, false is 3174 // returned and Error() can be queried for the exact failure. 3175 func (it *ERC721MintableMinterAddedIterator) Next() bool { 3176 // If the iterator failed, stop iterating 3177 if it.fail != nil { 3178 return false 3179 } 3180 // If the iterator completed, deliver directly whatever's available 3181 if it.done { 3182 select { 3183 case log := <-it.logs: 3184 it.Event = new(ERC721MintableMinterAdded) 3185 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3186 it.fail = err 3187 return false 3188 } 3189 it.Event.Raw = log 3190 return true 3191 3192 default: 3193 return false 3194 } 3195 } 3196 // Iterator still in progress, wait for either a data or an error event 3197 select { 3198 case log := <-it.logs: 3199 it.Event = new(ERC721MintableMinterAdded) 3200 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3201 it.fail = err 3202 return false 3203 } 3204 it.Event.Raw = log 3205 return true 3206 3207 case err := <-it.sub.Err(): 3208 it.done = true 3209 it.fail = err 3210 return it.Next() 3211 } 3212 } 3213 3214 // Error returns any retrieval or parsing error occurred during filtering. 3215 func (it *ERC721MintableMinterAddedIterator) Error() error { 3216 return it.fail 3217 } 3218 3219 // Close terminates the iteration process, releasing any pending underlying 3220 // resources. 3221 func (it *ERC721MintableMinterAddedIterator) Close() error { 3222 it.sub.Unsubscribe() 3223 return nil 3224 } 3225 3226 // ERC721MintableMinterAdded represents a MinterAdded event raised by the ERC721Mintable contract. 3227 type ERC721MintableMinterAdded struct { 3228 Account common.Address 3229 Raw types.Log // Blockchain specific contextual infos 3230 } 3231 3232 // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 3233 // 3234 // Solidity: event MinterAdded(address indexed account) 3235 func (_ERC721Mintable *ERC721MintableFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*ERC721MintableMinterAddedIterator, error) { 3236 3237 var accountRule []interface{} 3238 for _, accountItem := range account { 3239 accountRule = append(accountRule, accountItem) 3240 } 3241 3242 logs, sub, err := _ERC721Mintable.contract.FilterLogs(opts, "MinterAdded", accountRule) 3243 if err != nil { 3244 return nil, err 3245 } 3246 return &ERC721MintableMinterAddedIterator{contract: _ERC721Mintable.contract, event: "MinterAdded", logs: logs, sub: sub}, nil 3247 } 3248 3249 // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 3250 // 3251 // Solidity: event MinterAdded(address indexed account) 3252 func (_ERC721Mintable *ERC721MintableFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *ERC721MintableMinterAdded, account []common.Address) (event.Subscription, error) { 3253 3254 var accountRule []interface{} 3255 for _, accountItem := range account { 3256 accountRule = append(accountRule, accountItem) 3257 } 3258 3259 logs, sub, err := _ERC721Mintable.contract.WatchLogs(opts, "MinterAdded", accountRule) 3260 if err != nil { 3261 return nil, err 3262 } 3263 return event.NewSubscription(func(quit <-chan struct{}) error { 3264 defer sub.Unsubscribe() 3265 for { 3266 select { 3267 case log := <-logs: 3268 // New log arrived, parse the event and forward to the user 3269 event := new(ERC721MintableMinterAdded) 3270 if err := _ERC721Mintable.contract.UnpackLog(event, "MinterAdded", log); err != nil { 3271 return err 3272 } 3273 event.Raw = log 3274 3275 select { 3276 case sink <- event: 3277 case err := <-sub.Err(): 3278 return err 3279 case <-quit: 3280 return nil 3281 } 3282 case err := <-sub.Err(): 3283 return err 3284 case <-quit: 3285 return nil 3286 } 3287 } 3288 }), nil 3289 } 3290 3291 // ParseMinterAdded is a log parse operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 3292 // 3293 // Solidity: event MinterAdded(address indexed account) 3294 func (_ERC721Mintable *ERC721MintableFilterer) ParseMinterAdded(log types.Log) (*ERC721MintableMinterAdded, error) { 3295 event := new(ERC721MintableMinterAdded) 3296 if err := _ERC721Mintable.contract.UnpackLog(event, "MinterAdded", log); err != nil { 3297 return nil, err 3298 } 3299 return event, nil 3300 } 3301 3302 // ERC721MintableMinterRemovedIterator is returned from FilterMinterRemoved and is used to iterate over the raw logs and unpacked data for MinterRemoved events raised by the ERC721Mintable contract. 3303 type ERC721MintableMinterRemovedIterator struct { 3304 Event *ERC721MintableMinterRemoved // Event containing the contract specifics and raw log 3305 3306 contract *bind.BoundContract // Generic contract to use for unpacking event data 3307 event string // Event name to use for unpacking event data 3308 3309 logs chan types.Log // Log channel receiving the found contract events 3310 sub klaytn.Subscription // Subscription for errors, completion and termination 3311 done bool // Whether the subscription completed delivering logs 3312 fail error // Occurred error to stop iteration 3313 } 3314 3315 // Next advances the iterator to the subsequent event, returning whether there 3316 // are any more events found. In case of a retrieval or parsing error, false is 3317 // returned and Error() can be queried for the exact failure. 3318 func (it *ERC721MintableMinterRemovedIterator) Next() bool { 3319 // If the iterator failed, stop iterating 3320 if it.fail != nil { 3321 return false 3322 } 3323 // If the iterator completed, deliver directly whatever's available 3324 if it.done { 3325 select { 3326 case log := <-it.logs: 3327 it.Event = new(ERC721MintableMinterRemoved) 3328 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3329 it.fail = err 3330 return false 3331 } 3332 it.Event.Raw = log 3333 return true 3334 3335 default: 3336 return false 3337 } 3338 } 3339 // Iterator still in progress, wait for either a data or an error event 3340 select { 3341 case log := <-it.logs: 3342 it.Event = new(ERC721MintableMinterRemoved) 3343 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3344 it.fail = err 3345 return false 3346 } 3347 it.Event.Raw = log 3348 return true 3349 3350 case err := <-it.sub.Err(): 3351 it.done = true 3352 it.fail = err 3353 return it.Next() 3354 } 3355 } 3356 3357 // Error returns any retrieval or parsing error occurred during filtering. 3358 func (it *ERC721MintableMinterRemovedIterator) Error() error { 3359 return it.fail 3360 } 3361 3362 // Close terminates the iteration process, releasing any pending underlying 3363 // resources. 3364 func (it *ERC721MintableMinterRemovedIterator) Close() error { 3365 it.sub.Unsubscribe() 3366 return nil 3367 } 3368 3369 // ERC721MintableMinterRemoved represents a MinterRemoved event raised by the ERC721Mintable contract. 3370 type ERC721MintableMinterRemoved struct { 3371 Account common.Address 3372 Raw types.Log // Blockchain specific contextual infos 3373 } 3374 3375 // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 3376 // 3377 // Solidity: event MinterRemoved(address indexed account) 3378 func (_ERC721Mintable *ERC721MintableFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*ERC721MintableMinterRemovedIterator, error) { 3379 3380 var accountRule []interface{} 3381 for _, accountItem := range account { 3382 accountRule = append(accountRule, accountItem) 3383 } 3384 3385 logs, sub, err := _ERC721Mintable.contract.FilterLogs(opts, "MinterRemoved", accountRule) 3386 if err != nil { 3387 return nil, err 3388 } 3389 return &ERC721MintableMinterRemovedIterator{contract: _ERC721Mintable.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil 3390 } 3391 3392 // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 3393 // 3394 // Solidity: event MinterRemoved(address indexed account) 3395 func (_ERC721Mintable *ERC721MintableFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *ERC721MintableMinterRemoved, account []common.Address) (event.Subscription, error) { 3396 3397 var accountRule []interface{} 3398 for _, accountItem := range account { 3399 accountRule = append(accountRule, accountItem) 3400 } 3401 3402 logs, sub, err := _ERC721Mintable.contract.WatchLogs(opts, "MinterRemoved", accountRule) 3403 if err != nil { 3404 return nil, err 3405 } 3406 return event.NewSubscription(func(quit <-chan struct{}) error { 3407 defer sub.Unsubscribe() 3408 for { 3409 select { 3410 case log := <-logs: 3411 // New log arrived, parse the event and forward to the user 3412 event := new(ERC721MintableMinterRemoved) 3413 if err := _ERC721Mintable.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 3414 return err 3415 } 3416 event.Raw = log 3417 3418 select { 3419 case sink <- event: 3420 case err := <-sub.Err(): 3421 return err 3422 case <-quit: 3423 return nil 3424 } 3425 case err := <-sub.Err(): 3426 return err 3427 case <-quit: 3428 return nil 3429 } 3430 } 3431 }), nil 3432 } 3433 3434 // ParseMinterRemoved is a log parse operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 3435 // 3436 // Solidity: event MinterRemoved(address indexed account) 3437 func (_ERC721Mintable *ERC721MintableFilterer) ParseMinterRemoved(log types.Log) (*ERC721MintableMinterRemoved, error) { 3438 event := new(ERC721MintableMinterRemoved) 3439 if err := _ERC721Mintable.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 3440 return nil, err 3441 } 3442 return event, nil 3443 } 3444 3445 // ERC721MintableTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721Mintable contract. 3446 type ERC721MintableTransferIterator struct { 3447 Event *ERC721MintableTransfer // Event containing the contract specifics and raw log 3448 3449 contract *bind.BoundContract // Generic contract to use for unpacking event data 3450 event string // Event name to use for unpacking event data 3451 3452 logs chan types.Log // Log channel receiving the found contract events 3453 sub klaytn.Subscription // Subscription for errors, completion and termination 3454 done bool // Whether the subscription completed delivering logs 3455 fail error // Occurred error to stop iteration 3456 } 3457 3458 // Next advances the iterator to the subsequent event, returning whether there 3459 // are any more events found. In case of a retrieval or parsing error, false is 3460 // returned and Error() can be queried for the exact failure. 3461 func (it *ERC721MintableTransferIterator) Next() bool { 3462 // If the iterator failed, stop iterating 3463 if it.fail != nil { 3464 return false 3465 } 3466 // If the iterator completed, deliver directly whatever's available 3467 if it.done { 3468 select { 3469 case log := <-it.logs: 3470 it.Event = new(ERC721MintableTransfer) 3471 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3472 it.fail = err 3473 return false 3474 } 3475 it.Event.Raw = log 3476 return true 3477 3478 default: 3479 return false 3480 } 3481 } 3482 // Iterator still in progress, wait for either a data or an error event 3483 select { 3484 case log := <-it.logs: 3485 it.Event = new(ERC721MintableTransfer) 3486 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3487 it.fail = err 3488 return false 3489 } 3490 it.Event.Raw = log 3491 return true 3492 3493 case err := <-it.sub.Err(): 3494 it.done = true 3495 it.fail = err 3496 return it.Next() 3497 } 3498 } 3499 3500 // Error returns any retrieval or parsing error occurred during filtering. 3501 func (it *ERC721MintableTransferIterator) Error() error { 3502 return it.fail 3503 } 3504 3505 // Close terminates the iteration process, releasing any pending underlying 3506 // resources. 3507 func (it *ERC721MintableTransferIterator) Close() error { 3508 it.sub.Unsubscribe() 3509 return nil 3510 } 3511 3512 // ERC721MintableTransfer represents a Transfer event raised by the ERC721Mintable contract. 3513 type ERC721MintableTransfer struct { 3514 From common.Address 3515 To common.Address 3516 TokenId *big.Int 3517 Raw types.Log // Blockchain specific contextual infos 3518 } 3519 3520 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3521 // 3522 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 3523 func (_ERC721Mintable *ERC721MintableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721MintableTransferIterator, error) { 3524 3525 var fromRule []interface{} 3526 for _, fromItem := range from { 3527 fromRule = append(fromRule, fromItem) 3528 } 3529 var toRule []interface{} 3530 for _, toItem := range to { 3531 toRule = append(toRule, toItem) 3532 } 3533 var tokenIdRule []interface{} 3534 for _, tokenIdItem := range tokenId { 3535 tokenIdRule = append(tokenIdRule, tokenIdItem) 3536 } 3537 3538 logs, sub, err := _ERC721Mintable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 3539 if err != nil { 3540 return nil, err 3541 } 3542 return &ERC721MintableTransferIterator{contract: _ERC721Mintable.contract, event: "Transfer", logs: logs, sub: sub}, nil 3543 } 3544 3545 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3546 // 3547 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 3548 func (_ERC721Mintable *ERC721MintableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721MintableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 3549 3550 var fromRule []interface{} 3551 for _, fromItem := range from { 3552 fromRule = append(fromRule, fromItem) 3553 } 3554 var toRule []interface{} 3555 for _, toItem := range to { 3556 toRule = append(toRule, toItem) 3557 } 3558 var tokenIdRule []interface{} 3559 for _, tokenIdItem := range tokenId { 3560 tokenIdRule = append(tokenIdRule, tokenIdItem) 3561 } 3562 3563 logs, sub, err := _ERC721Mintable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 3564 if err != nil { 3565 return nil, err 3566 } 3567 return event.NewSubscription(func(quit <-chan struct{}) error { 3568 defer sub.Unsubscribe() 3569 for { 3570 select { 3571 case log := <-logs: 3572 // New log arrived, parse the event and forward to the user 3573 event := new(ERC721MintableTransfer) 3574 if err := _ERC721Mintable.contract.UnpackLog(event, "Transfer", log); err != nil { 3575 return err 3576 } 3577 event.Raw = log 3578 3579 select { 3580 case sink <- event: 3581 case err := <-sub.Err(): 3582 return err 3583 case <-quit: 3584 return nil 3585 } 3586 case err := <-sub.Err(): 3587 return err 3588 case <-quit: 3589 return nil 3590 } 3591 } 3592 }), nil 3593 } 3594 3595 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3596 // 3597 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 3598 func (_ERC721Mintable *ERC721MintableFilterer) ParseTransfer(log types.Log) (*ERC721MintableTransfer, error) { 3599 event := new(ERC721MintableTransfer) 3600 if err := _ERC721Mintable.contract.UnpackLog(event, "Transfer", log); err != nil { 3601 return nil, err 3602 } 3603 return event, nil 3604 } 3605 3606 // ERC721ServiceChainABI is the input ABI used to generate the binding from. 3607 const ERC721ServiceChainABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_uid\",\"type\":\"uint256\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"requestValueTransfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_bridge\",\"type\":\"address\"}],\"name\":\"setBridge\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"bridge\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_bridge\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" 3608 3609 // ERC721ServiceChainBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 3610 const ERC721ServiceChainBinRuntime = `` 3611 3612 // ERC721ServiceChainFuncSigs maps the 4-byte function signature to its string representation. 3613 var ERC721ServiceChainFuncSigs = map[string]string{ 3614 "095ea7b3": "approve(address,uint256)", 3615 "70a08231": "balanceOf(address)", 3616 "e78cea92": "bridge()", 3617 "081812fc": "getApproved(uint256)", 3618 "e985e9c5": "isApprovedForAll(address,address)", 3619 "8f32d59b": "isOwner()", 3620 "8da5cb5b": "owner()", 3621 "6352211e": "ownerOf(uint256)", 3622 "715018a6": "renounceOwnership()", 3623 "3f4c4e3d": "requestValueTransfer(uint256,address,bytes)", 3624 "42842e0e": "safeTransferFrom(address,address,uint256)", 3625 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 3626 "a22cb465": "setApprovalForAll(address,bool)", 3627 "8dd14802": "setBridge(address)", 3628 "01ffc9a7": "supportsInterface(bytes4)", 3629 "23b872dd": "transferFrom(address,address,uint256)", 3630 "f2fde38b": "transferOwnership(address)", 3631 } 3632 3633 // ERC721ServiceChain is an auto generated Go binding around a Klaytn contract. 3634 type ERC721ServiceChain struct { 3635 ERC721ServiceChainCaller // Read-only binding to the contract 3636 ERC721ServiceChainTransactor // Write-only binding to the contract 3637 ERC721ServiceChainFilterer // Log filterer for contract events 3638 } 3639 3640 // ERC721ServiceChainCaller is an auto generated read-only Go binding around a Klaytn contract. 3641 type ERC721ServiceChainCaller struct { 3642 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3643 } 3644 3645 // ERC721ServiceChainTransactor is an auto generated write-only Go binding around a Klaytn contract. 3646 type ERC721ServiceChainTransactor struct { 3647 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3648 } 3649 3650 // ERC721ServiceChainFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 3651 type ERC721ServiceChainFilterer struct { 3652 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3653 } 3654 3655 // ERC721ServiceChainSession is an auto generated Go binding around a Klaytn contract, 3656 // with pre-set call and transact options. 3657 type ERC721ServiceChainSession struct { 3658 Contract *ERC721ServiceChain // Generic contract binding to set the session for 3659 CallOpts bind.CallOpts // Call options to use throughout this session 3660 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 3661 } 3662 3663 // ERC721ServiceChainCallerSession is an auto generated read-only Go binding around a Klaytn contract, 3664 // with pre-set call options. 3665 type ERC721ServiceChainCallerSession struct { 3666 Contract *ERC721ServiceChainCaller // Generic contract caller binding to set the session for 3667 CallOpts bind.CallOpts // Call options to use throughout this session 3668 } 3669 3670 // ERC721ServiceChainTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 3671 // with pre-set transact options. 3672 type ERC721ServiceChainTransactorSession struct { 3673 Contract *ERC721ServiceChainTransactor // Generic contract transactor binding to set the session for 3674 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 3675 } 3676 3677 // ERC721ServiceChainRaw is an auto generated low-level Go binding around a Klaytn contract. 3678 type ERC721ServiceChainRaw struct { 3679 Contract *ERC721ServiceChain // Generic contract binding to access the raw methods on 3680 } 3681 3682 // ERC721ServiceChainCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 3683 type ERC721ServiceChainCallerRaw struct { 3684 Contract *ERC721ServiceChainCaller // Generic read-only contract binding to access the raw methods on 3685 } 3686 3687 // ERC721ServiceChainTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 3688 type ERC721ServiceChainTransactorRaw struct { 3689 Contract *ERC721ServiceChainTransactor // Generic write-only contract binding to access the raw methods on 3690 } 3691 3692 // NewERC721ServiceChain creates a new instance of ERC721ServiceChain, bound to a specific deployed contract. 3693 func NewERC721ServiceChain(address common.Address, backend bind.ContractBackend) (*ERC721ServiceChain, error) { 3694 contract, err := bindERC721ServiceChain(address, backend, backend, backend) 3695 if err != nil { 3696 return nil, err 3697 } 3698 return &ERC721ServiceChain{ERC721ServiceChainCaller: ERC721ServiceChainCaller{contract: contract}, ERC721ServiceChainTransactor: ERC721ServiceChainTransactor{contract: contract}, ERC721ServiceChainFilterer: ERC721ServiceChainFilterer{contract: contract}}, nil 3699 } 3700 3701 // NewERC721ServiceChainCaller creates a new read-only instance of ERC721ServiceChain, bound to a specific deployed contract. 3702 func NewERC721ServiceChainCaller(address common.Address, caller bind.ContractCaller) (*ERC721ServiceChainCaller, error) { 3703 contract, err := bindERC721ServiceChain(address, caller, nil, nil) 3704 if err != nil { 3705 return nil, err 3706 } 3707 return &ERC721ServiceChainCaller{contract: contract}, nil 3708 } 3709 3710 // NewERC721ServiceChainTransactor creates a new write-only instance of ERC721ServiceChain, bound to a specific deployed contract. 3711 func NewERC721ServiceChainTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721ServiceChainTransactor, error) { 3712 contract, err := bindERC721ServiceChain(address, nil, transactor, nil) 3713 if err != nil { 3714 return nil, err 3715 } 3716 return &ERC721ServiceChainTransactor{contract: contract}, nil 3717 } 3718 3719 // NewERC721ServiceChainFilterer creates a new log filterer instance of ERC721ServiceChain, bound to a specific deployed contract. 3720 func NewERC721ServiceChainFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721ServiceChainFilterer, error) { 3721 contract, err := bindERC721ServiceChain(address, nil, nil, filterer) 3722 if err != nil { 3723 return nil, err 3724 } 3725 return &ERC721ServiceChainFilterer{contract: contract}, nil 3726 } 3727 3728 // bindERC721ServiceChain binds a generic wrapper to an already deployed contract. 3729 func bindERC721ServiceChain(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 3730 parsed, err := abi.JSON(strings.NewReader(ERC721ServiceChainABI)) 3731 if err != nil { 3732 return nil, err 3733 } 3734 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 3735 } 3736 3737 // Call invokes the (constant) contract method with params as input values and 3738 // sets the output to result. The result type might be a single field for simple 3739 // returns, a slice of interfaces for anonymous returns and a struct for named 3740 // returns. 3741 func (_ERC721ServiceChain *ERC721ServiceChainRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 3742 return _ERC721ServiceChain.Contract.ERC721ServiceChainCaller.contract.Call(opts, result, method, params...) 3743 } 3744 3745 // Transfer initiates a plain transaction to move funds to the contract, calling 3746 // its default method if one is available. 3747 func (_ERC721ServiceChain *ERC721ServiceChainRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 3748 return _ERC721ServiceChain.Contract.ERC721ServiceChainTransactor.contract.Transfer(opts) 3749 } 3750 3751 // Transact invokes the (paid) contract method with params as input values. 3752 func (_ERC721ServiceChain *ERC721ServiceChainRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 3753 return _ERC721ServiceChain.Contract.ERC721ServiceChainTransactor.contract.Transact(opts, method, params...) 3754 } 3755 3756 // Call invokes the (constant) contract method with params as input values and 3757 // sets the output to result. The result type might be a single field for simple 3758 // returns, a slice of interfaces for anonymous returns and a struct for named 3759 // returns. 3760 func (_ERC721ServiceChain *ERC721ServiceChainCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 3761 return _ERC721ServiceChain.Contract.contract.Call(opts, result, method, params...) 3762 } 3763 3764 // Transfer initiates a plain transaction to move funds to the contract, calling 3765 // its default method if one is available. 3766 func (_ERC721ServiceChain *ERC721ServiceChainTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 3767 return _ERC721ServiceChain.Contract.contract.Transfer(opts) 3768 } 3769 3770 // Transact invokes the (paid) contract method with params as input values. 3771 func (_ERC721ServiceChain *ERC721ServiceChainTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 3772 return _ERC721ServiceChain.Contract.contract.Transact(opts, method, params...) 3773 } 3774 3775 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3776 // 3777 // Solidity: function balanceOf(address owner) view returns(uint256) 3778 func (_ERC721ServiceChain *ERC721ServiceChainCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 3779 var ( 3780 ret0 = new(*big.Int) 3781 ) 3782 out := ret0 3783 err := _ERC721ServiceChain.contract.Call(opts, out, "balanceOf", owner) 3784 return *ret0, err 3785 } 3786 3787 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3788 // 3789 // Solidity: function balanceOf(address owner) view returns(uint256) 3790 func (_ERC721ServiceChain *ERC721ServiceChainSession) BalanceOf(owner common.Address) (*big.Int, error) { 3791 return _ERC721ServiceChain.Contract.BalanceOf(&_ERC721ServiceChain.CallOpts, owner) 3792 } 3793 3794 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3795 // 3796 // Solidity: function balanceOf(address owner) view returns(uint256) 3797 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 3798 return _ERC721ServiceChain.Contract.BalanceOf(&_ERC721ServiceChain.CallOpts, owner) 3799 } 3800 3801 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 3802 // 3803 // Solidity: function bridge() view returns(address) 3804 func (_ERC721ServiceChain *ERC721ServiceChainCaller) Bridge(opts *bind.CallOpts) (common.Address, error) { 3805 var ( 3806 ret0 = new(common.Address) 3807 ) 3808 out := ret0 3809 err := _ERC721ServiceChain.contract.Call(opts, out, "bridge") 3810 return *ret0, err 3811 } 3812 3813 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 3814 // 3815 // Solidity: function bridge() view returns(address) 3816 func (_ERC721ServiceChain *ERC721ServiceChainSession) Bridge() (common.Address, error) { 3817 return _ERC721ServiceChain.Contract.Bridge(&_ERC721ServiceChain.CallOpts) 3818 } 3819 3820 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 3821 // 3822 // Solidity: function bridge() view returns(address) 3823 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) Bridge() (common.Address, error) { 3824 return _ERC721ServiceChain.Contract.Bridge(&_ERC721ServiceChain.CallOpts) 3825 } 3826 3827 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3828 // 3829 // Solidity: function getApproved(uint256 tokenId) view returns(address) 3830 func (_ERC721ServiceChain *ERC721ServiceChainCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 3831 var ( 3832 ret0 = new(common.Address) 3833 ) 3834 out := ret0 3835 err := _ERC721ServiceChain.contract.Call(opts, out, "getApproved", tokenId) 3836 return *ret0, err 3837 } 3838 3839 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3840 // 3841 // Solidity: function getApproved(uint256 tokenId) view returns(address) 3842 func (_ERC721ServiceChain *ERC721ServiceChainSession) GetApproved(tokenId *big.Int) (common.Address, error) { 3843 return _ERC721ServiceChain.Contract.GetApproved(&_ERC721ServiceChain.CallOpts, tokenId) 3844 } 3845 3846 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 3847 // 3848 // Solidity: function getApproved(uint256 tokenId) view returns(address) 3849 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 3850 return _ERC721ServiceChain.Contract.GetApproved(&_ERC721ServiceChain.CallOpts, tokenId) 3851 } 3852 3853 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3854 // 3855 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 3856 func (_ERC721ServiceChain *ERC721ServiceChainCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 3857 var ( 3858 ret0 = new(bool) 3859 ) 3860 out := ret0 3861 err := _ERC721ServiceChain.contract.Call(opts, out, "isApprovedForAll", owner, operator) 3862 return *ret0, err 3863 } 3864 3865 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3866 // 3867 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 3868 func (_ERC721ServiceChain *ERC721ServiceChainSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 3869 return _ERC721ServiceChain.Contract.IsApprovedForAll(&_ERC721ServiceChain.CallOpts, owner, operator) 3870 } 3871 3872 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 3873 // 3874 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 3875 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 3876 return _ERC721ServiceChain.Contract.IsApprovedForAll(&_ERC721ServiceChain.CallOpts, owner, operator) 3877 } 3878 3879 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 3880 // 3881 // Solidity: function isOwner() view returns(bool) 3882 func (_ERC721ServiceChain *ERC721ServiceChainCaller) IsOwner(opts *bind.CallOpts) (bool, error) { 3883 var ( 3884 ret0 = new(bool) 3885 ) 3886 out := ret0 3887 err := _ERC721ServiceChain.contract.Call(opts, out, "isOwner") 3888 return *ret0, err 3889 } 3890 3891 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 3892 // 3893 // Solidity: function isOwner() view returns(bool) 3894 func (_ERC721ServiceChain *ERC721ServiceChainSession) IsOwner() (bool, error) { 3895 return _ERC721ServiceChain.Contract.IsOwner(&_ERC721ServiceChain.CallOpts) 3896 } 3897 3898 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 3899 // 3900 // Solidity: function isOwner() view returns(bool) 3901 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) IsOwner() (bool, error) { 3902 return _ERC721ServiceChain.Contract.IsOwner(&_ERC721ServiceChain.CallOpts) 3903 } 3904 3905 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 3906 // 3907 // Solidity: function owner() view returns(address) 3908 func (_ERC721ServiceChain *ERC721ServiceChainCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 3909 var ( 3910 ret0 = new(common.Address) 3911 ) 3912 out := ret0 3913 err := _ERC721ServiceChain.contract.Call(opts, out, "owner") 3914 return *ret0, err 3915 } 3916 3917 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 3918 // 3919 // Solidity: function owner() view returns(address) 3920 func (_ERC721ServiceChain *ERC721ServiceChainSession) Owner() (common.Address, error) { 3921 return _ERC721ServiceChain.Contract.Owner(&_ERC721ServiceChain.CallOpts) 3922 } 3923 3924 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 3925 // 3926 // Solidity: function owner() view returns(address) 3927 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) Owner() (common.Address, error) { 3928 return _ERC721ServiceChain.Contract.Owner(&_ERC721ServiceChain.CallOpts) 3929 } 3930 3931 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 3932 // 3933 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 3934 func (_ERC721ServiceChain *ERC721ServiceChainCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 3935 var ( 3936 ret0 = new(common.Address) 3937 ) 3938 out := ret0 3939 err := _ERC721ServiceChain.contract.Call(opts, out, "ownerOf", tokenId) 3940 return *ret0, err 3941 } 3942 3943 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 3944 // 3945 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 3946 func (_ERC721ServiceChain *ERC721ServiceChainSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 3947 return _ERC721ServiceChain.Contract.OwnerOf(&_ERC721ServiceChain.CallOpts, tokenId) 3948 } 3949 3950 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 3951 // 3952 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 3953 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 3954 return _ERC721ServiceChain.Contract.OwnerOf(&_ERC721ServiceChain.CallOpts, tokenId) 3955 } 3956 3957 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 3958 // 3959 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 3960 func (_ERC721ServiceChain *ERC721ServiceChainCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 3961 var ( 3962 ret0 = new(bool) 3963 ) 3964 out := ret0 3965 err := _ERC721ServiceChain.contract.Call(opts, out, "supportsInterface", interfaceId) 3966 return *ret0, err 3967 } 3968 3969 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 3970 // 3971 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 3972 func (_ERC721ServiceChain *ERC721ServiceChainSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 3973 return _ERC721ServiceChain.Contract.SupportsInterface(&_ERC721ServiceChain.CallOpts, interfaceId) 3974 } 3975 3976 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 3977 // 3978 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 3979 func (_ERC721ServiceChain *ERC721ServiceChainCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 3980 return _ERC721ServiceChain.Contract.SupportsInterface(&_ERC721ServiceChain.CallOpts, interfaceId) 3981 } 3982 3983 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3984 // 3985 // Solidity: function approve(address to, uint256 tokenId) returns() 3986 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3987 return _ERC721ServiceChain.contract.Transact(opts, "approve", to, tokenId) 3988 } 3989 3990 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3991 // 3992 // Solidity: function approve(address to, uint256 tokenId) returns() 3993 func (_ERC721ServiceChain *ERC721ServiceChainSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 3994 return _ERC721ServiceChain.Contract.Approve(&_ERC721ServiceChain.TransactOpts, to, tokenId) 3995 } 3996 3997 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3998 // 3999 // Solidity: function approve(address to, uint256 tokenId) returns() 4000 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4001 return _ERC721ServiceChain.Contract.Approve(&_ERC721ServiceChain.TransactOpts, to, tokenId) 4002 } 4003 4004 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 4005 // 4006 // Solidity: function renounceOwnership() returns() 4007 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 4008 return _ERC721ServiceChain.contract.Transact(opts, "renounceOwnership") 4009 } 4010 4011 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 4012 // 4013 // Solidity: function renounceOwnership() returns() 4014 func (_ERC721ServiceChain *ERC721ServiceChainSession) RenounceOwnership() (*types.Transaction, error) { 4015 return _ERC721ServiceChain.Contract.RenounceOwnership(&_ERC721ServiceChain.TransactOpts) 4016 } 4017 4018 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 4019 // 4020 // Solidity: function renounceOwnership() returns() 4021 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) RenounceOwnership() (*types.Transaction, error) { 4022 return _ERC721ServiceChain.Contract.RenounceOwnership(&_ERC721ServiceChain.TransactOpts) 4023 } 4024 4025 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 4026 // 4027 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 4028 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) RequestValueTransfer(opts *bind.TransactOpts, _uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 4029 return _ERC721ServiceChain.contract.Transact(opts, "requestValueTransfer", _uid, _to, _extraData) 4030 } 4031 4032 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 4033 // 4034 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 4035 func (_ERC721ServiceChain *ERC721ServiceChainSession) RequestValueTransfer(_uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 4036 return _ERC721ServiceChain.Contract.RequestValueTransfer(&_ERC721ServiceChain.TransactOpts, _uid, _to, _extraData) 4037 } 4038 4039 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 4040 // 4041 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 4042 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) RequestValueTransfer(_uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 4043 return _ERC721ServiceChain.Contract.RequestValueTransfer(&_ERC721ServiceChain.TransactOpts, _uid, _to, _extraData) 4044 } 4045 4046 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 4047 // 4048 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 4049 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4050 return _ERC721ServiceChain.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 4051 } 4052 4053 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 4054 // 4055 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 4056 func (_ERC721ServiceChain *ERC721ServiceChainSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4057 return _ERC721ServiceChain.Contract.SafeTransferFrom(&_ERC721ServiceChain.TransactOpts, from, to, tokenId) 4058 } 4059 4060 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 4061 // 4062 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 4063 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4064 return _ERC721ServiceChain.Contract.SafeTransferFrom(&_ERC721ServiceChain.TransactOpts, from, to, tokenId) 4065 } 4066 4067 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 4068 // 4069 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 4070 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 4071 return _ERC721ServiceChain.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 4072 } 4073 4074 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 4075 // 4076 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 4077 func (_ERC721ServiceChain *ERC721ServiceChainSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 4078 return _ERC721ServiceChain.Contract.SafeTransferFrom0(&_ERC721ServiceChain.TransactOpts, from, to, tokenId, _data) 4079 } 4080 4081 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 4082 // 4083 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 4084 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 4085 return _ERC721ServiceChain.Contract.SafeTransferFrom0(&_ERC721ServiceChain.TransactOpts, from, to, tokenId, _data) 4086 } 4087 4088 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 4089 // 4090 // Solidity: function setApprovalForAll(address to, bool approved) returns() 4091 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 4092 return _ERC721ServiceChain.contract.Transact(opts, "setApprovalForAll", to, approved) 4093 } 4094 4095 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 4096 // 4097 // Solidity: function setApprovalForAll(address to, bool approved) returns() 4098 func (_ERC721ServiceChain *ERC721ServiceChainSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 4099 return _ERC721ServiceChain.Contract.SetApprovalForAll(&_ERC721ServiceChain.TransactOpts, to, approved) 4100 } 4101 4102 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 4103 // 4104 // Solidity: function setApprovalForAll(address to, bool approved) returns() 4105 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 4106 return _ERC721ServiceChain.Contract.SetApprovalForAll(&_ERC721ServiceChain.TransactOpts, to, approved) 4107 } 4108 4109 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 4110 // 4111 // Solidity: function setBridge(address _bridge) returns() 4112 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) SetBridge(opts *bind.TransactOpts, _bridge common.Address) (*types.Transaction, error) { 4113 return _ERC721ServiceChain.contract.Transact(opts, "setBridge", _bridge) 4114 } 4115 4116 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 4117 // 4118 // Solidity: function setBridge(address _bridge) returns() 4119 func (_ERC721ServiceChain *ERC721ServiceChainSession) SetBridge(_bridge common.Address) (*types.Transaction, error) { 4120 return _ERC721ServiceChain.Contract.SetBridge(&_ERC721ServiceChain.TransactOpts, _bridge) 4121 } 4122 4123 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 4124 // 4125 // Solidity: function setBridge(address _bridge) returns() 4126 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) SetBridge(_bridge common.Address) (*types.Transaction, error) { 4127 return _ERC721ServiceChain.Contract.SetBridge(&_ERC721ServiceChain.TransactOpts, _bridge) 4128 } 4129 4130 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4131 // 4132 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 4133 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4134 return _ERC721ServiceChain.contract.Transact(opts, "transferFrom", from, to, tokenId) 4135 } 4136 4137 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4138 // 4139 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 4140 func (_ERC721ServiceChain *ERC721ServiceChainSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4141 return _ERC721ServiceChain.Contract.TransferFrom(&_ERC721ServiceChain.TransactOpts, from, to, tokenId) 4142 } 4143 4144 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4145 // 4146 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 4147 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 4148 return _ERC721ServiceChain.Contract.TransferFrom(&_ERC721ServiceChain.TransactOpts, from, to, tokenId) 4149 } 4150 4151 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 4152 // 4153 // Solidity: function transferOwnership(address newOwner) returns() 4154 func (_ERC721ServiceChain *ERC721ServiceChainTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 4155 return _ERC721ServiceChain.contract.Transact(opts, "transferOwnership", newOwner) 4156 } 4157 4158 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 4159 // 4160 // Solidity: function transferOwnership(address newOwner) returns() 4161 func (_ERC721ServiceChain *ERC721ServiceChainSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 4162 return _ERC721ServiceChain.Contract.TransferOwnership(&_ERC721ServiceChain.TransactOpts, newOwner) 4163 } 4164 4165 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 4166 // 4167 // Solidity: function transferOwnership(address newOwner) returns() 4168 func (_ERC721ServiceChain *ERC721ServiceChainTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 4169 return _ERC721ServiceChain.Contract.TransferOwnership(&_ERC721ServiceChain.TransactOpts, newOwner) 4170 } 4171 4172 // 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. 4173 type ERC721ServiceChainApprovalIterator struct { 4174 Event *ERC721ServiceChainApproval // Event containing the contract specifics and raw log 4175 4176 contract *bind.BoundContract // Generic contract to use for unpacking event data 4177 event string // Event name to use for unpacking event data 4178 4179 logs chan types.Log // Log channel receiving the found contract events 4180 sub klaytn.Subscription // Subscription for errors, completion and termination 4181 done bool // Whether the subscription completed delivering logs 4182 fail error // Occurred error to stop iteration 4183 } 4184 4185 // Next advances the iterator to the subsequent event, returning whether there 4186 // are any more events found. In case of a retrieval or parsing error, false is 4187 // returned and Error() can be queried for the exact failure. 4188 func (it *ERC721ServiceChainApprovalIterator) Next() bool { 4189 // If the iterator failed, stop iterating 4190 if it.fail != nil { 4191 return false 4192 } 4193 // If the iterator completed, deliver directly whatever's available 4194 if it.done { 4195 select { 4196 case log := <-it.logs: 4197 it.Event = new(ERC721ServiceChainApproval) 4198 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4199 it.fail = err 4200 return false 4201 } 4202 it.Event.Raw = log 4203 return true 4204 4205 default: 4206 return false 4207 } 4208 } 4209 // Iterator still in progress, wait for either a data or an error event 4210 select { 4211 case log := <-it.logs: 4212 it.Event = new(ERC721ServiceChainApproval) 4213 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4214 it.fail = err 4215 return false 4216 } 4217 it.Event.Raw = log 4218 return true 4219 4220 case err := <-it.sub.Err(): 4221 it.done = true 4222 it.fail = err 4223 return it.Next() 4224 } 4225 } 4226 4227 // Error returns any retrieval or parsing error occurred during filtering. 4228 func (it *ERC721ServiceChainApprovalIterator) Error() error { 4229 return it.fail 4230 } 4231 4232 // Close terminates the iteration process, releasing any pending underlying 4233 // resources. 4234 func (it *ERC721ServiceChainApprovalIterator) Close() error { 4235 it.sub.Unsubscribe() 4236 return nil 4237 } 4238 4239 // ERC721ServiceChainApproval represents a Approval event raised by the ERC721ServiceChain contract. 4240 type ERC721ServiceChainApproval struct { 4241 Owner common.Address 4242 Approved common.Address 4243 TokenId *big.Int 4244 Raw types.Log // Blockchain specific contextual infos 4245 } 4246 4247 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4248 // 4249 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 4250 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721ServiceChainApprovalIterator, error) { 4251 4252 var ownerRule []interface{} 4253 for _, ownerItem := range owner { 4254 ownerRule = append(ownerRule, ownerItem) 4255 } 4256 var approvedRule []interface{} 4257 for _, approvedItem := range approved { 4258 approvedRule = append(approvedRule, approvedItem) 4259 } 4260 var tokenIdRule []interface{} 4261 for _, tokenIdItem := range tokenId { 4262 tokenIdRule = append(tokenIdRule, tokenIdItem) 4263 } 4264 4265 logs, sub, err := _ERC721ServiceChain.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 4266 if err != nil { 4267 return nil, err 4268 } 4269 return &ERC721ServiceChainApprovalIterator{contract: _ERC721ServiceChain.contract, event: "Approval", logs: logs, sub: sub}, nil 4270 } 4271 4272 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4273 // 4274 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 4275 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721ServiceChainApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 4276 4277 var ownerRule []interface{} 4278 for _, ownerItem := range owner { 4279 ownerRule = append(ownerRule, ownerItem) 4280 } 4281 var approvedRule []interface{} 4282 for _, approvedItem := range approved { 4283 approvedRule = append(approvedRule, approvedItem) 4284 } 4285 var tokenIdRule []interface{} 4286 for _, tokenIdItem := range tokenId { 4287 tokenIdRule = append(tokenIdRule, tokenIdItem) 4288 } 4289 4290 logs, sub, err := _ERC721ServiceChain.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 4291 if err != nil { 4292 return nil, err 4293 } 4294 return event.NewSubscription(func(quit <-chan struct{}) error { 4295 defer sub.Unsubscribe() 4296 for { 4297 select { 4298 case log := <-logs: 4299 // New log arrived, parse the event and forward to the user 4300 event := new(ERC721ServiceChainApproval) 4301 if err := _ERC721ServiceChain.contract.UnpackLog(event, "Approval", log); err != nil { 4302 return err 4303 } 4304 event.Raw = log 4305 4306 select { 4307 case sink <- event: 4308 case err := <-sub.Err(): 4309 return err 4310 case <-quit: 4311 return nil 4312 } 4313 case err := <-sub.Err(): 4314 return err 4315 case <-quit: 4316 return nil 4317 } 4318 } 4319 }), nil 4320 } 4321 4322 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4323 // 4324 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 4325 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) ParseApproval(log types.Log) (*ERC721ServiceChainApproval, error) { 4326 event := new(ERC721ServiceChainApproval) 4327 if err := _ERC721ServiceChain.contract.UnpackLog(event, "Approval", log); err != nil { 4328 return nil, err 4329 } 4330 return event, nil 4331 } 4332 4333 // 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. 4334 type ERC721ServiceChainApprovalForAllIterator struct { 4335 Event *ERC721ServiceChainApprovalForAll // Event containing the contract specifics and raw log 4336 4337 contract *bind.BoundContract // Generic contract to use for unpacking event data 4338 event string // Event name to use for unpacking event data 4339 4340 logs chan types.Log // Log channel receiving the found contract events 4341 sub klaytn.Subscription // Subscription for errors, completion and termination 4342 done bool // Whether the subscription completed delivering logs 4343 fail error // Occurred error to stop iteration 4344 } 4345 4346 // Next advances the iterator to the subsequent event, returning whether there 4347 // are any more events found. In case of a retrieval or parsing error, false is 4348 // returned and Error() can be queried for the exact failure. 4349 func (it *ERC721ServiceChainApprovalForAllIterator) Next() bool { 4350 // If the iterator failed, stop iterating 4351 if it.fail != nil { 4352 return false 4353 } 4354 // If the iterator completed, deliver directly whatever's available 4355 if it.done { 4356 select { 4357 case log := <-it.logs: 4358 it.Event = new(ERC721ServiceChainApprovalForAll) 4359 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4360 it.fail = err 4361 return false 4362 } 4363 it.Event.Raw = log 4364 return true 4365 4366 default: 4367 return false 4368 } 4369 } 4370 // Iterator still in progress, wait for either a data or an error event 4371 select { 4372 case log := <-it.logs: 4373 it.Event = new(ERC721ServiceChainApprovalForAll) 4374 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4375 it.fail = err 4376 return false 4377 } 4378 it.Event.Raw = log 4379 return true 4380 4381 case err := <-it.sub.Err(): 4382 it.done = true 4383 it.fail = err 4384 return it.Next() 4385 } 4386 } 4387 4388 // Error returns any retrieval or parsing error occurred during filtering. 4389 func (it *ERC721ServiceChainApprovalForAllIterator) Error() error { 4390 return it.fail 4391 } 4392 4393 // Close terminates the iteration process, releasing any pending underlying 4394 // resources. 4395 func (it *ERC721ServiceChainApprovalForAllIterator) Close() error { 4396 it.sub.Unsubscribe() 4397 return nil 4398 } 4399 4400 // ERC721ServiceChainApprovalForAll represents a ApprovalForAll event raised by the ERC721ServiceChain contract. 4401 type ERC721ServiceChainApprovalForAll struct { 4402 Owner common.Address 4403 Operator common.Address 4404 Approved bool 4405 Raw types.Log // Blockchain specific contextual infos 4406 } 4407 4408 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 4409 // 4410 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 4411 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721ServiceChainApprovalForAllIterator, error) { 4412 4413 var ownerRule []interface{} 4414 for _, ownerItem := range owner { 4415 ownerRule = append(ownerRule, ownerItem) 4416 } 4417 var operatorRule []interface{} 4418 for _, operatorItem := range operator { 4419 operatorRule = append(operatorRule, operatorItem) 4420 } 4421 4422 logs, sub, err := _ERC721ServiceChain.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 4423 if err != nil { 4424 return nil, err 4425 } 4426 return &ERC721ServiceChainApprovalForAllIterator{contract: _ERC721ServiceChain.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 4427 } 4428 4429 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 4430 // 4431 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 4432 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721ServiceChainApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 4433 4434 var ownerRule []interface{} 4435 for _, ownerItem := range owner { 4436 ownerRule = append(ownerRule, ownerItem) 4437 } 4438 var operatorRule []interface{} 4439 for _, operatorItem := range operator { 4440 operatorRule = append(operatorRule, operatorItem) 4441 } 4442 4443 logs, sub, err := _ERC721ServiceChain.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 4444 if err != nil { 4445 return nil, err 4446 } 4447 return event.NewSubscription(func(quit <-chan struct{}) error { 4448 defer sub.Unsubscribe() 4449 for { 4450 select { 4451 case log := <-logs: 4452 // New log arrived, parse the event and forward to the user 4453 event := new(ERC721ServiceChainApprovalForAll) 4454 if err := _ERC721ServiceChain.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 4455 return err 4456 } 4457 event.Raw = log 4458 4459 select { 4460 case sink <- event: 4461 case err := <-sub.Err(): 4462 return err 4463 case <-quit: 4464 return nil 4465 } 4466 case err := <-sub.Err(): 4467 return err 4468 case <-quit: 4469 return nil 4470 } 4471 } 4472 }), nil 4473 } 4474 4475 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 4476 // 4477 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 4478 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) ParseApprovalForAll(log types.Log) (*ERC721ServiceChainApprovalForAll, error) { 4479 event := new(ERC721ServiceChainApprovalForAll) 4480 if err := _ERC721ServiceChain.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 4481 return nil, err 4482 } 4483 return event, nil 4484 } 4485 4486 // 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. 4487 type ERC721ServiceChainOwnershipTransferredIterator struct { 4488 Event *ERC721ServiceChainOwnershipTransferred // Event containing the contract specifics and raw log 4489 4490 contract *bind.BoundContract // Generic contract to use for unpacking event data 4491 event string // Event name to use for unpacking event data 4492 4493 logs chan types.Log // Log channel receiving the found contract events 4494 sub klaytn.Subscription // Subscription for errors, completion and termination 4495 done bool // Whether the subscription completed delivering logs 4496 fail error // Occurred error to stop iteration 4497 } 4498 4499 // Next advances the iterator to the subsequent event, returning whether there 4500 // are any more events found. In case of a retrieval or parsing error, false is 4501 // returned and Error() can be queried for the exact failure. 4502 func (it *ERC721ServiceChainOwnershipTransferredIterator) Next() bool { 4503 // If the iterator failed, stop iterating 4504 if it.fail != nil { 4505 return false 4506 } 4507 // If the iterator completed, deliver directly whatever's available 4508 if it.done { 4509 select { 4510 case log := <-it.logs: 4511 it.Event = new(ERC721ServiceChainOwnershipTransferred) 4512 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4513 it.fail = err 4514 return false 4515 } 4516 it.Event.Raw = log 4517 return true 4518 4519 default: 4520 return false 4521 } 4522 } 4523 // Iterator still in progress, wait for either a data or an error event 4524 select { 4525 case log := <-it.logs: 4526 it.Event = new(ERC721ServiceChainOwnershipTransferred) 4527 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4528 it.fail = err 4529 return false 4530 } 4531 it.Event.Raw = log 4532 return true 4533 4534 case err := <-it.sub.Err(): 4535 it.done = true 4536 it.fail = err 4537 return it.Next() 4538 } 4539 } 4540 4541 // Error returns any retrieval or parsing error occurred during filtering. 4542 func (it *ERC721ServiceChainOwnershipTransferredIterator) Error() error { 4543 return it.fail 4544 } 4545 4546 // Close terminates the iteration process, releasing any pending underlying 4547 // resources. 4548 func (it *ERC721ServiceChainOwnershipTransferredIterator) Close() error { 4549 it.sub.Unsubscribe() 4550 return nil 4551 } 4552 4553 // ERC721ServiceChainOwnershipTransferred represents a OwnershipTransferred event raised by the ERC721ServiceChain contract. 4554 type ERC721ServiceChainOwnershipTransferred struct { 4555 PreviousOwner common.Address 4556 NewOwner common.Address 4557 Raw types.Log // Blockchain specific contextual infos 4558 } 4559 4560 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 4561 // 4562 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 4563 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ERC721ServiceChainOwnershipTransferredIterator, error) { 4564 4565 var previousOwnerRule []interface{} 4566 for _, previousOwnerItem := range previousOwner { 4567 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 4568 } 4569 var newOwnerRule []interface{} 4570 for _, newOwnerItem := range newOwner { 4571 newOwnerRule = append(newOwnerRule, newOwnerItem) 4572 } 4573 4574 logs, sub, err := _ERC721ServiceChain.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 4575 if err != nil { 4576 return nil, err 4577 } 4578 return &ERC721ServiceChainOwnershipTransferredIterator{contract: _ERC721ServiceChain.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 4579 } 4580 4581 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 4582 // 4583 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 4584 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *ERC721ServiceChainOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 4585 4586 var previousOwnerRule []interface{} 4587 for _, previousOwnerItem := range previousOwner { 4588 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 4589 } 4590 var newOwnerRule []interface{} 4591 for _, newOwnerItem := range newOwner { 4592 newOwnerRule = append(newOwnerRule, newOwnerItem) 4593 } 4594 4595 logs, sub, err := _ERC721ServiceChain.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 4596 if err != nil { 4597 return nil, err 4598 } 4599 return event.NewSubscription(func(quit <-chan struct{}) error { 4600 defer sub.Unsubscribe() 4601 for { 4602 select { 4603 case log := <-logs: 4604 // New log arrived, parse the event and forward to the user 4605 event := new(ERC721ServiceChainOwnershipTransferred) 4606 if err := _ERC721ServiceChain.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 4607 return err 4608 } 4609 event.Raw = log 4610 4611 select { 4612 case sink <- event: 4613 case err := <-sub.Err(): 4614 return err 4615 case <-quit: 4616 return nil 4617 } 4618 case err := <-sub.Err(): 4619 return err 4620 case <-quit: 4621 return nil 4622 } 4623 } 4624 }), nil 4625 } 4626 4627 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 4628 // 4629 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 4630 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) ParseOwnershipTransferred(log types.Log) (*ERC721ServiceChainOwnershipTransferred, error) { 4631 event := new(ERC721ServiceChainOwnershipTransferred) 4632 if err := _ERC721ServiceChain.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 4633 return nil, err 4634 } 4635 return event, nil 4636 } 4637 4638 // 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. 4639 type ERC721ServiceChainTransferIterator struct { 4640 Event *ERC721ServiceChainTransfer // Event containing the contract specifics and raw log 4641 4642 contract *bind.BoundContract // Generic contract to use for unpacking event data 4643 event string // Event name to use for unpacking event data 4644 4645 logs chan types.Log // Log channel receiving the found contract events 4646 sub klaytn.Subscription // Subscription for errors, completion and termination 4647 done bool // Whether the subscription completed delivering logs 4648 fail error // Occurred error to stop iteration 4649 } 4650 4651 // Next advances the iterator to the subsequent event, returning whether there 4652 // are any more events found. In case of a retrieval or parsing error, false is 4653 // returned and Error() can be queried for the exact failure. 4654 func (it *ERC721ServiceChainTransferIterator) Next() bool { 4655 // If the iterator failed, stop iterating 4656 if it.fail != nil { 4657 return false 4658 } 4659 // If the iterator completed, deliver directly whatever's available 4660 if it.done { 4661 select { 4662 case log := <-it.logs: 4663 it.Event = new(ERC721ServiceChainTransfer) 4664 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4665 it.fail = err 4666 return false 4667 } 4668 it.Event.Raw = log 4669 return true 4670 4671 default: 4672 return false 4673 } 4674 } 4675 // Iterator still in progress, wait for either a data or an error event 4676 select { 4677 case log := <-it.logs: 4678 it.Event = new(ERC721ServiceChainTransfer) 4679 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4680 it.fail = err 4681 return false 4682 } 4683 it.Event.Raw = log 4684 return true 4685 4686 case err := <-it.sub.Err(): 4687 it.done = true 4688 it.fail = err 4689 return it.Next() 4690 } 4691 } 4692 4693 // Error returns any retrieval or parsing error occurred during filtering. 4694 func (it *ERC721ServiceChainTransferIterator) Error() error { 4695 return it.fail 4696 } 4697 4698 // Close terminates the iteration process, releasing any pending underlying 4699 // resources. 4700 func (it *ERC721ServiceChainTransferIterator) Close() error { 4701 it.sub.Unsubscribe() 4702 return nil 4703 } 4704 4705 // ERC721ServiceChainTransfer represents a Transfer event raised by the ERC721ServiceChain contract. 4706 type ERC721ServiceChainTransfer struct { 4707 From common.Address 4708 To common.Address 4709 TokenId *big.Int 4710 Raw types.Log // Blockchain specific contextual infos 4711 } 4712 4713 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4714 // 4715 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 4716 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721ServiceChainTransferIterator, error) { 4717 4718 var fromRule []interface{} 4719 for _, fromItem := range from { 4720 fromRule = append(fromRule, fromItem) 4721 } 4722 var toRule []interface{} 4723 for _, toItem := range to { 4724 toRule = append(toRule, toItem) 4725 } 4726 var tokenIdRule []interface{} 4727 for _, tokenIdItem := range tokenId { 4728 tokenIdRule = append(tokenIdRule, tokenIdItem) 4729 } 4730 4731 logs, sub, err := _ERC721ServiceChain.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 4732 if err != nil { 4733 return nil, err 4734 } 4735 return &ERC721ServiceChainTransferIterator{contract: _ERC721ServiceChain.contract, event: "Transfer", logs: logs, sub: sub}, nil 4736 } 4737 4738 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4739 // 4740 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 4741 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721ServiceChainTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 4742 4743 var fromRule []interface{} 4744 for _, fromItem := range from { 4745 fromRule = append(fromRule, fromItem) 4746 } 4747 var toRule []interface{} 4748 for _, toItem := range to { 4749 toRule = append(toRule, toItem) 4750 } 4751 var tokenIdRule []interface{} 4752 for _, tokenIdItem := range tokenId { 4753 tokenIdRule = append(tokenIdRule, tokenIdItem) 4754 } 4755 4756 logs, sub, err := _ERC721ServiceChain.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 4757 if err != nil { 4758 return nil, err 4759 } 4760 return event.NewSubscription(func(quit <-chan struct{}) error { 4761 defer sub.Unsubscribe() 4762 for { 4763 select { 4764 case log := <-logs: 4765 // New log arrived, parse the event and forward to the user 4766 event := new(ERC721ServiceChainTransfer) 4767 if err := _ERC721ServiceChain.contract.UnpackLog(event, "Transfer", log); err != nil { 4768 return err 4769 } 4770 event.Raw = log 4771 4772 select { 4773 case sink <- event: 4774 case err := <-sub.Err(): 4775 return err 4776 case <-quit: 4777 return nil 4778 } 4779 case err := <-sub.Err(): 4780 return err 4781 case <-quit: 4782 return nil 4783 } 4784 } 4785 }), nil 4786 } 4787 4788 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4789 // 4790 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 4791 func (_ERC721ServiceChain *ERC721ServiceChainFilterer) ParseTransfer(log types.Log) (*ERC721ServiceChainTransfer, error) { 4792 event := new(ERC721ServiceChainTransfer) 4793 if err := _ERC721ServiceChain.contract.UnpackLog(event, "Transfer", log); err != nil { 4794 return nil, err 4795 } 4796 return event, nil 4797 } 4798 4799 // IERC165ABI is the input ABI used to generate the binding from. 4800 const IERC165ABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" 4801 4802 // IERC165BinRuntime is the compiled bytecode used for adding genesis block without deploying code. 4803 const IERC165BinRuntime = `` 4804 4805 // IERC165FuncSigs maps the 4-byte function signature to its string representation. 4806 var IERC165FuncSigs = map[string]string{ 4807 "01ffc9a7": "supportsInterface(bytes4)", 4808 } 4809 4810 // IERC165 is an auto generated Go binding around a Klaytn contract. 4811 type IERC165 struct { 4812 IERC165Caller // Read-only binding to the contract 4813 IERC165Transactor // Write-only binding to the contract 4814 IERC165Filterer // Log filterer for contract events 4815 } 4816 4817 // IERC165Caller is an auto generated read-only Go binding around a Klaytn contract. 4818 type IERC165Caller struct { 4819 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4820 } 4821 4822 // IERC165Transactor is an auto generated write-only Go binding around a Klaytn contract. 4823 type IERC165Transactor struct { 4824 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4825 } 4826 4827 // IERC165Filterer is an auto generated log filtering Go binding around a Klaytn contract events. 4828 type IERC165Filterer struct { 4829 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4830 } 4831 4832 // IERC165Session is an auto generated Go binding around a Klaytn contract, 4833 // with pre-set call and transact options. 4834 type IERC165Session struct { 4835 Contract *IERC165 // Generic contract binding to set the session for 4836 CallOpts bind.CallOpts // Call options to use throughout this session 4837 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4838 } 4839 4840 // IERC165CallerSession is an auto generated read-only Go binding around a Klaytn contract, 4841 // with pre-set call options. 4842 type IERC165CallerSession struct { 4843 Contract *IERC165Caller // Generic contract caller binding to set the session for 4844 CallOpts bind.CallOpts // Call options to use throughout this session 4845 } 4846 4847 // IERC165TransactorSession is an auto generated write-only Go binding around a Klaytn contract, 4848 // with pre-set transact options. 4849 type IERC165TransactorSession struct { 4850 Contract *IERC165Transactor // Generic contract transactor binding to set the session for 4851 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4852 } 4853 4854 // IERC165Raw is an auto generated low-level Go binding around a Klaytn contract. 4855 type IERC165Raw struct { 4856 Contract *IERC165 // Generic contract binding to access the raw methods on 4857 } 4858 4859 // IERC165CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 4860 type IERC165CallerRaw struct { 4861 Contract *IERC165Caller // Generic read-only contract binding to access the raw methods on 4862 } 4863 4864 // IERC165TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 4865 type IERC165TransactorRaw struct { 4866 Contract *IERC165Transactor // Generic write-only contract binding to access the raw methods on 4867 } 4868 4869 // NewIERC165 creates a new instance of IERC165, bound to a specific deployed contract. 4870 func NewIERC165(address common.Address, backend bind.ContractBackend) (*IERC165, error) { 4871 contract, err := bindIERC165(address, backend, backend, backend) 4872 if err != nil { 4873 return nil, err 4874 } 4875 return &IERC165{IERC165Caller: IERC165Caller{contract: contract}, IERC165Transactor: IERC165Transactor{contract: contract}, IERC165Filterer: IERC165Filterer{contract: contract}}, nil 4876 } 4877 4878 // NewIERC165Caller creates a new read-only instance of IERC165, bound to a specific deployed contract. 4879 func NewIERC165Caller(address common.Address, caller bind.ContractCaller) (*IERC165Caller, error) { 4880 contract, err := bindIERC165(address, caller, nil, nil) 4881 if err != nil { 4882 return nil, err 4883 } 4884 return &IERC165Caller{contract: contract}, nil 4885 } 4886 4887 // NewIERC165Transactor creates a new write-only instance of IERC165, bound to a specific deployed contract. 4888 func NewIERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC165Transactor, error) { 4889 contract, err := bindIERC165(address, nil, transactor, nil) 4890 if err != nil { 4891 return nil, err 4892 } 4893 return &IERC165Transactor{contract: contract}, nil 4894 } 4895 4896 // NewIERC165Filterer creates a new log filterer instance of IERC165, bound to a specific deployed contract. 4897 func NewIERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC165Filterer, error) { 4898 contract, err := bindIERC165(address, nil, nil, filterer) 4899 if err != nil { 4900 return nil, err 4901 } 4902 return &IERC165Filterer{contract: contract}, nil 4903 } 4904 4905 // bindIERC165 binds a generic wrapper to an already deployed contract. 4906 func bindIERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 4907 parsed, err := abi.JSON(strings.NewReader(IERC165ABI)) 4908 if err != nil { 4909 return nil, err 4910 } 4911 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 4912 } 4913 4914 // Call invokes the (constant) contract method with params as input values and 4915 // sets the output to result. The result type might be a single field for simple 4916 // returns, a slice of interfaces for anonymous returns and a struct for named 4917 // returns. 4918 func (_IERC165 *IERC165Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 4919 return _IERC165.Contract.IERC165Caller.contract.Call(opts, result, method, params...) 4920 } 4921 4922 // Transfer initiates a plain transaction to move funds to the contract, calling 4923 // its default method if one is available. 4924 func (_IERC165 *IERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4925 return _IERC165.Contract.IERC165Transactor.contract.Transfer(opts) 4926 } 4927 4928 // Transact invokes the (paid) contract method with params as input values. 4929 func (_IERC165 *IERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4930 return _IERC165.Contract.IERC165Transactor.contract.Transact(opts, method, params...) 4931 } 4932 4933 // Call invokes the (constant) contract method with params as input values and 4934 // sets the output to result. The result type might be a single field for simple 4935 // returns, a slice of interfaces for anonymous returns and a struct for named 4936 // returns. 4937 func (_IERC165 *IERC165CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 4938 return _IERC165.Contract.contract.Call(opts, result, method, params...) 4939 } 4940 4941 // Transfer initiates a plain transaction to move funds to the contract, calling 4942 // its default method if one is available. 4943 func (_IERC165 *IERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4944 return _IERC165.Contract.contract.Transfer(opts) 4945 } 4946 4947 // Transact invokes the (paid) contract method with params as input values. 4948 func (_IERC165 *IERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4949 return _IERC165.Contract.contract.Transact(opts, method, params...) 4950 } 4951 4952 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4953 // 4954 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4955 func (_IERC165 *IERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 4956 var ( 4957 ret0 = new(bool) 4958 ) 4959 out := ret0 4960 err := _IERC165.contract.Call(opts, out, "supportsInterface", interfaceId) 4961 return *ret0, err 4962 } 4963 4964 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4965 // 4966 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4967 func (_IERC165 *IERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 4968 return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) 4969 } 4970 4971 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 4972 // 4973 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 4974 func (_IERC165 *IERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 4975 return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) 4976 } 4977 4978 // IERC721ABI is the input ABI used to generate the binding from. 4979 const IERC721ABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"operator\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" 4980 4981 // IERC721BinRuntime is the compiled bytecode used for adding genesis block without deploying code. 4982 const IERC721BinRuntime = `` 4983 4984 // IERC721FuncSigs maps the 4-byte function signature to its string representation. 4985 var IERC721FuncSigs = map[string]string{ 4986 "095ea7b3": "approve(address,uint256)", 4987 "70a08231": "balanceOf(address)", 4988 "081812fc": "getApproved(uint256)", 4989 "e985e9c5": "isApprovedForAll(address,address)", 4990 "6352211e": "ownerOf(uint256)", 4991 "42842e0e": "safeTransferFrom(address,address,uint256)", 4992 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 4993 "a22cb465": "setApprovalForAll(address,bool)", 4994 "01ffc9a7": "supportsInterface(bytes4)", 4995 "23b872dd": "transferFrom(address,address,uint256)", 4996 } 4997 4998 // IERC721 is an auto generated Go binding around a Klaytn contract. 4999 type IERC721 struct { 5000 IERC721Caller // Read-only binding to the contract 5001 IERC721Transactor // Write-only binding to the contract 5002 IERC721Filterer // Log filterer for contract events 5003 } 5004 5005 // IERC721Caller is an auto generated read-only Go binding around a Klaytn contract. 5006 type IERC721Caller struct { 5007 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5008 } 5009 5010 // IERC721Transactor is an auto generated write-only Go binding around a Klaytn contract. 5011 type IERC721Transactor struct { 5012 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5013 } 5014 5015 // IERC721Filterer is an auto generated log filtering Go binding around a Klaytn contract events. 5016 type IERC721Filterer struct { 5017 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5018 } 5019 5020 // IERC721Session is an auto generated Go binding around a Klaytn contract, 5021 // with pre-set call and transact options. 5022 type IERC721Session struct { 5023 Contract *IERC721 // Generic contract binding to set the session for 5024 CallOpts bind.CallOpts // Call options to use throughout this session 5025 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5026 } 5027 5028 // IERC721CallerSession is an auto generated read-only Go binding around a Klaytn contract, 5029 // with pre-set call options. 5030 type IERC721CallerSession struct { 5031 Contract *IERC721Caller // Generic contract caller binding to set the session for 5032 CallOpts bind.CallOpts // Call options to use throughout this session 5033 } 5034 5035 // IERC721TransactorSession is an auto generated write-only Go binding around a Klaytn contract, 5036 // with pre-set transact options. 5037 type IERC721TransactorSession struct { 5038 Contract *IERC721Transactor // Generic contract transactor binding to set the session for 5039 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5040 } 5041 5042 // IERC721Raw is an auto generated low-level Go binding around a Klaytn contract. 5043 type IERC721Raw struct { 5044 Contract *IERC721 // Generic contract binding to access the raw methods on 5045 } 5046 5047 // IERC721CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 5048 type IERC721CallerRaw struct { 5049 Contract *IERC721Caller // Generic read-only contract binding to access the raw methods on 5050 } 5051 5052 // IERC721TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 5053 type IERC721TransactorRaw struct { 5054 Contract *IERC721Transactor // Generic write-only contract binding to access the raw methods on 5055 } 5056 5057 // NewIERC721 creates a new instance of IERC721, bound to a specific deployed contract. 5058 func NewIERC721(address common.Address, backend bind.ContractBackend) (*IERC721, error) { 5059 contract, err := bindIERC721(address, backend, backend, backend) 5060 if err != nil { 5061 return nil, err 5062 } 5063 return &IERC721{IERC721Caller: IERC721Caller{contract: contract}, IERC721Transactor: IERC721Transactor{contract: contract}, IERC721Filterer: IERC721Filterer{contract: contract}}, nil 5064 } 5065 5066 // NewIERC721Caller creates a new read-only instance of IERC721, bound to a specific deployed contract. 5067 func NewIERC721Caller(address common.Address, caller bind.ContractCaller) (*IERC721Caller, error) { 5068 contract, err := bindIERC721(address, caller, nil, nil) 5069 if err != nil { 5070 return nil, err 5071 } 5072 return &IERC721Caller{contract: contract}, nil 5073 } 5074 5075 // NewIERC721Transactor creates a new write-only instance of IERC721, bound to a specific deployed contract. 5076 func NewIERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC721Transactor, error) { 5077 contract, err := bindIERC721(address, nil, transactor, nil) 5078 if err != nil { 5079 return nil, err 5080 } 5081 return &IERC721Transactor{contract: contract}, nil 5082 } 5083 5084 // NewIERC721Filterer creates a new log filterer instance of IERC721, bound to a specific deployed contract. 5085 func NewIERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC721Filterer, error) { 5086 contract, err := bindIERC721(address, nil, nil, filterer) 5087 if err != nil { 5088 return nil, err 5089 } 5090 return &IERC721Filterer{contract: contract}, nil 5091 } 5092 5093 // bindIERC721 binds a generic wrapper to an already deployed contract. 5094 func bindIERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 5095 parsed, err := abi.JSON(strings.NewReader(IERC721ABI)) 5096 if err != nil { 5097 return nil, err 5098 } 5099 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 5100 } 5101 5102 // Call invokes the (constant) contract method with params as input values and 5103 // sets the output to result. The result type might be a single field for simple 5104 // returns, a slice of interfaces for anonymous returns and a struct for named 5105 // returns. 5106 func (_IERC721 *IERC721Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 5107 return _IERC721.Contract.IERC721Caller.contract.Call(opts, result, method, params...) 5108 } 5109 5110 // Transfer initiates a plain transaction to move funds to the contract, calling 5111 // its default method if one is available. 5112 func (_IERC721 *IERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5113 return _IERC721.Contract.IERC721Transactor.contract.Transfer(opts) 5114 } 5115 5116 // Transact invokes the (paid) contract method with params as input values. 5117 func (_IERC721 *IERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5118 return _IERC721.Contract.IERC721Transactor.contract.Transact(opts, method, params...) 5119 } 5120 5121 // Call invokes the (constant) contract method with params as input values and 5122 // sets the output to result. The result type might be a single field for simple 5123 // returns, a slice of interfaces for anonymous returns and a struct for named 5124 // returns. 5125 func (_IERC721 *IERC721CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 5126 return _IERC721.Contract.contract.Call(opts, result, method, params...) 5127 } 5128 5129 // Transfer initiates a plain transaction to move funds to the contract, calling 5130 // its default method if one is available. 5131 func (_IERC721 *IERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5132 return _IERC721.Contract.contract.Transfer(opts) 5133 } 5134 5135 // Transact invokes the (paid) contract method with params as input values. 5136 func (_IERC721 *IERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5137 return _IERC721.Contract.contract.Transact(opts, method, params...) 5138 } 5139 5140 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5141 // 5142 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 5143 func (_IERC721 *IERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 5144 var ( 5145 ret0 = new(*big.Int) 5146 ) 5147 out := ret0 5148 err := _IERC721.contract.Call(opts, out, "balanceOf", owner) 5149 return *ret0, err 5150 } 5151 5152 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5153 // 5154 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 5155 func (_IERC721 *IERC721Session) BalanceOf(owner common.Address) (*big.Int, error) { 5156 return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner) 5157 } 5158 5159 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5160 // 5161 // Solidity: function balanceOf(address owner) view returns(uint256 balance) 5162 func (_IERC721 *IERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 5163 return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner) 5164 } 5165 5166 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 5167 // 5168 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 5169 func (_IERC721 *IERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 5170 var ( 5171 ret0 = new(common.Address) 5172 ) 5173 out := ret0 5174 err := _IERC721.contract.Call(opts, out, "getApproved", tokenId) 5175 return *ret0, err 5176 } 5177 5178 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 5179 // 5180 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 5181 func (_IERC721 *IERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) { 5182 return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId) 5183 } 5184 5185 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 5186 // 5187 // Solidity: function getApproved(uint256 tokenId) view returns(address operator) 5188 func (_IERC721 *IERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 5189 return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId) 5190 } 5191 5192 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 5193 // 5194 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 5195 func (_IERC721 *IERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 5196 var ( 5197 ret0 = new(bool) 5198 ) 5199 out := ret0 5200 err := _IERC721.contract.Call(opts, out, "isApprovedForAll", owner, operator) 5201 return *ret0, err 5202 } 5203 5204 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 5205 // 5206 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 5207 func (_IERC721 *IERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 5208 return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator) 5209 } 5210 5211 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 5212 // 5213 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 5214 func (_IERC721 *IERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 5215 return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator) 5216 } 5217 5218 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 5219 // 5220 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 5221 func (_IERC721 *IERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 5222 var ( 5223 ret0 = new(common.Address) 5224 ) 5225 out := ret0 5226 err := _IERC721.contract.Call(opts, out, "ownerOf", tokenId) 5227 return *ret0, err 5228 } 5229 5230 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 5231 // 5232 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 5233 func (_IERC721 *IERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) { 5234 return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId) 5235 } 5236 5237 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 5238 // 5239 // Solidity: function ownerOf(uint256 tokenId) view returns(address owner) 5240 func (_IERC721 *IERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 5241 return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId) 5242 } 5243 5244 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5245 // 5246 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 5247 func (_IERC721 *IERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 5248 var ( 5249 ret0 = new(bool) 5250 ) 5251 out := ret0 5252 err := _IERC721.contract.Call(opts, out, "supportsInterface", interfaceId) 5253 return *ret0, err 5254 } 5255 5256 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5257 // 5258 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 5259 func (_IERC721 *IERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 5260 return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId) 5261 } 5262 5263 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5264 // 5265 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 5266 func (_IERC721 *IERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 5267 return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId) 5268 } 5269 5270 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5271 // 5272 // Solidity: function approve(address to, uint256 tokenId) returns() 5273 func (_IERC721 *IERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5274 return _IERC721.contract.Transact(opts, "approve", to, tokenId) 5275 } 5276 5277 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5278 // 5279 // Solidity: function approve(address to, uint256 tokenId) returns() 5280 func (_IERC721 *IERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5281 return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId) 5282 } 5283 5284 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5285 // 5286 // Solidity: function approve(address to, uint256 tokenId) returns() 5287 func (_IERC721 *IERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5288 return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId) 5289 } 5290 5291 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 5292 // 5293 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 5294 func (_IERC721 *IERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5295 return _IERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 5296 } 5297 5298 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 5299 // 5300 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 5301 func (_IERC721 *IERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5302 return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 5303 } 5304 5305 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 5306 // 5307 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 5308 func (_IERC721 *IERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5309 return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 5310 } 5311 5312 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 5313 // 5314 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 5315 func (_IERC721 *IERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 5316 return _IERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) 5317 } 5318 5319 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 5320 // 5321 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 5322 func (_IERC721 *IERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 5323 return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, from, to, tokenId, data) 5324 } 5325 5326 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 5327 // 5328 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() 5329 func (_IERC721 *IERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 5330 return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, from, to, tokenId, data) 5331 } 5332 5333 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 5334 // 5335 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 5336 func (_IERC721 *IERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { 5337 return _IERC721.contract.Transact(opts, "setApprovalForAll", operator, _approved) 5338 } 5339 5340 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 5341 // 5342 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 5343 func (_IERC721 *IERC721Session) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 5344 return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved) 5345 } 5346 5347 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 5348 // 5349 // Solidity: function setApprovalForAll(address operator, bool _approved) returns() 5350 func (_IERC721 *IERC721TransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { 5351 return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved) 5352 } 5353 5354 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5355 // 5356 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 5357 func (_IERC721 *IERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5358 return _IERC721.contract.Transact(opts, "transferFrom", from, to, tokenId) 5359 } 5360 5361 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5362 // 5363 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 5364 func (_IERC721 *IERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5365 return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 5366 } 5367 5368 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5369 // 5370 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 5371 func (_IERC721 *IERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 5372 return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId) 5373 } 5374 5375 // 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. 5376 type IERC721ApprovalIterator struct { 5377 Event *IERC721Approval // Event containing the contract specifics and raw log 5378 5379 contract *bind.BoundContract // Generic contract to use for unpacking event data 5380 event string // Event name to use for unpacking event data 5381 5382 logs chan types.Log // Log channel receiving the found contract events 5383 sub klaytn.Subscription // Subscription for errors, completion and termination 5384 done bool // Whether the subscription completed delivering logs 5385 fail error // Occurred error to stop iteration 5386 } 5387 5388 // Next advances the iterator to the subsequent event, returning whether there 5389 // are any more events found. In case of a retrieval or parsing error, false is 5390 // returned and Error() can be queried for the exact failure. 5391 func (it *IERC721ApprovalIterator) Next() bool { 5392 // If the iterator failed, stop iterating 5393 if it.fail != nil { 5394 return false 5395 } 5396 // If the iterator completed, deliver directly whatever's available 5397 if it.done { 5398 select { 5399 case log := <-it.logs: 5400 it.Event = new(IERC721Approval) 5401 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5402 it.fail = err 5403 return false 5404 } 5405 it.Event.Raw = log 5406 return true 5407 5408 default: 5409 return false 5410 } 5411 } 5412 // Iterator still in progress, wait for either a data or an error event 5413 select { 5414 case log := <-it.logs: 5415 it.Event = new(IERC721Approval) 5416 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5417 it.fail = err 5418 return false 5419 } 5420 it.Event.Raw = log 5421 return true 5422 5423 case err := <-it.sub.Err(): 5424 it.done = true 5425 it.fail = err 5426 return it.Next() 5427 } 5428 } 5429 5430 // Error returns any retrieval or parsing error occurred during filtering. 5431 func (it *IERC721ApprovalIterator) Error() error { 5432 return it.fail 5433 } 5434 5435 // Close terminates the iteration process, releasing any pending underlying 5436 // resources. 5437 func (it *IERC721ApprovalIterator) Close() error { 5438 it.sub.Unsubscribe() 5439 return nil 5440 } 5441 5442 // IERC721Approval represents a Approval event raised by the IERC721 contract. 5443 type IERC721Approval struct { 5444 Owner common.Address 5445 Approved common.Address 5446 TokenId *big.Int 5447 Raw types.Log // Blockchain specific contextual infos 5448 } 5449 5450 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5451 // 5452 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 5453 func (_IERC721 *IERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721ApprovalIterator, error) { 5454 5455 var ownerRule []interface{} 5456 for _, ownerItem := range owner { 5457 ownerRule = append(ownerRule, ownerItem) 5458 } 5459 var approvedRule []interface{} 5460 for _, approvedItem := range approved { 5461 approvedRule = append(approvedRule, approvedItem) 5462 } 5463 var tokenIdRule []interface{} 5464 for _, tokenIdItem := range tokenId { 5465 tokenIdRule = append(tokenIdRule, tokenIdItem) 5466 } 5467 5468 logs, sub, err := _IERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 5469 if err != nil { 5470 return nil, err 5471 } 5472 return &IERC721ApprovalIterator{contract: _IERC721.contract, event: "Approval", logs: logs, sub: sub}, nil 5473 } 5474 5475 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5476 // 5477 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 5478 func (_IERC721 *IERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 5479 5480 var ownerRule []interface{} 5481 for _, ownerItem := range owner { 5482 ownerRule = append(ownerRule, ownerItem) 5483 } 5484 var approvedRule []interface{} 5485 for _, approvedItem := range approved { 5486 approvedRule = append(approvedRule, approvedItem) 5487 } 5488 var tokenIdRule []interface{} 5489 for _, tokenIdItem := range tokenId { 5490 tokenIdRule = append(tokenIdRule, tokenIdItem) 5491 } 5492 5493 logs, sub, err := _IERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 5494 if err != nil { 5495 return nil, err 5496 } 5497 return event.NewSubscription(func(quit <-chan struct{}) error { 5498 defer sub.Unsubscribe() 5499 for { 5500 select { 5501 case log := <-logs: 5502 // New log arrived, parse the event and forward to the user 5503 event := new(IERC721Approval) 5504 if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil { 5505 return err 5506 } 5507 event.Raw = log 5508 5509 select { 5510 case sink <- event: 5511 case err := <-sub.Err(): 5512 return err 5513 case <-quit: 5514 return nil 5515 } 5516 case err := <-sub.Err(): 5517 return err 5518 case <-quit: 5519 return nil 5520 } 5521 } 5522 }), nil 5523 } 5524 5525 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5526 // 5527 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 5528 func (_IERC721 *IERC721Filterer) ParseApproval(log types.Log) (*IERC721Approval, error) { 5529 event := new(IERC721Approval) 5530 if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil { 5531 return nil, err 5532 } 5533 return event, nil 5534 } 5535 5536 // 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. 5537 type IERC721ApprovalForAllIterator struct { 5538 Event *IERC721ApprovalForAll // Event containing the contract specifics and raw log 5539 5540 contract *bind.BoundContract // Generic contract to use for unpacking event data 5541 event string // Event name to use for unpacking event data 5542 5543 logs chan types.Log // Log channel receiving the found contract events 5544 sub klaytn.Subscription // Subscription for errors, completion and termination 5545 done bool // Whether the subscription completed delivering logs 5546 fail error // Occurred error to stop iteration 5547 } 5548 5549 // Next advances the iterator to the subsequent event, returning whether there 5550 // are any more events found. In case of a retrieval or parsing error, false is 5551 // returned and Error() can be queried for the exact failure. 5552 func (it *IERC721ApprovalForAllIterator) Next() bool { 5553 // If the iterator failed, stop iterating 5554 if it.fail != nil { 5555 return false 5556 } 5557 // If the iterator completed, deliver directly whatever's available 5558 if it.done { 5559 select { 5560 case log := <-it.logs: 5561 it.Event = new(IERC721ApprovalForAll) 5562 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5563 it.fail = err 5564 return false 5565 } 5566 it.Event.Raw = log 5567 return true 5568 5569 default: 5570 return false 5571 } 5572 } 5573 // Iterator still in progress, wait for either a data or an error event 5574 select { 5575 case log := <-it.logs: 5576 it.Event = new(IERC721ApprovalForAll) 5577 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5578 it.fail = err 5579 return false 5580 } 5581 it.Event.Raw = log 5582 return true 5583 5584 case err := <-it.sub.Err(): 5585 it.done = true 5586 it.fail = err 5587 return it.Next() 5588 } 5589 } 5590 5591 // Error returns any retrieval or parsing error occurred during filtering. 5592 func (it *IERC721ApprovalForAllIterator) Error() error { 5593 return it.fail 5594 } 5595 5596 // Close terminates the iteration process, releasing any pending underlying 5597 // resources. 5598 func (it *IERC721ApprovalForAllIterator) Close() error { 5599 it.sub.Unsubscribe() 5600 return nil 5601 } 5602 5603 // IERC721ApprovalForAll represents a ApprovalForAll event raised by the IERC721 contract. 5604 type IERC721ApprovalForAll struct { 5605 Owner common.Address 5606 Operator common.Address 5607 Approved bool 5608 Raw types.Log // Blockchain specific contextual infos 5609 } 5610 5611 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 5612 // 5613 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 5614 func (_IERC721 *IERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721ApprovalForAllIterator, error) { 5615 5616 var ownerRule []interface{} 5617 for _, ownerItem := range owner { 5618 ownerRule = append(ownerRule, ownerItem) 5619 } 5620 var operatorRule []interface{} 5621 for _, operatorItem := range operator { 5622 operatorRule = append(operatorRule, operatorItem) 5623 } 5624 5625 logs, sub, err := _IERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 5626 if err != nil { 5627 return nil, err 5628 } 5629 return &IERC721ApprovalForAllIterator{contract: _IERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 5630 } 5631 5632 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 5633 // 5634 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 5635 func (_IERC721 *IERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 5636 5637 var ownerRule []interface{} 5638 for _, ownerItem := range owner { 5639 ownerRule = append(ownerRule, ownerItem) 5640 } 5641 var operatorRule []interface{} 5642 for _, operatorItem := range operator { 5643 operatorRule = append(operatorRule, operatorItem) 5644 } 5645 5646 logs, sub, err := _IERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 5647 if err != nil { 5648 return nil, err 5649 } 5650 return event.NewSubscription(func(quit <-chan struct{}) error { 5651 defer sub.Unsubscribe() 5652 for { 5653 select { 5654 case log := <-logs: 5655 // New log arrived, parse the event and forward to the user 5656 event := new(IERC721ApprovalForAll) 5657 if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 5658 return err 5659 } 5660 event.Raw = log 5661 5662 select { 5663 case sink <- event: 5664 case err := <-sub.Err(): 5665 return err 5666 case <-quit: 5667 return nil 5668 } 5669 case err := <-sub.Err(): 5670 return err 5671 case <-quit: 5672 return nil 5673 } 5674 } 5675 }), nil 5676 } 5677 5678 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 5679 // 5680 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 5681 func (_IERC721 *IERC721Filterer) ParseApprovalForAll(log types.Log) (*IERC721ApprovalForAll, error) { 5682 event := new(IERC721ApprovalForAll) 5683 if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 5684 return nil, err 5685 } 5686 return event, nil 5687 } 5688 5689 // 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. 5690 type IERC721TransferIterator struct { 5691 Event *IERC721Transfer // Event containing the contract specifics and raw log 5692 5693 contract *bind.BoundContract // Generic contract to use for unpacking event data 5694 event string // Event name to use for unpacking event data 5695 5696 logs chan types.Log // Log channel receiving the found contract events 5697 sub klaytn.Subscription // Subscription for errors, completion and termination 5698 done bool // Whether the subscription completed delivering logs 5699 fail error // Occurred error to stop iteration 5700 } 5701 5702 // Next advances the iterator to the subsequent event, returning whether there 5703 // are any more events found. In case of a retrieval or parsing error, false is 5704 // returned and Error() can be queried for the exact failure. 5705 func (it *IERC721TransferIterator) Next() bool { 5706 // If the iterator failed, stop iterating 5707 if it.fail != nil { 5708 return false 5709 } 5710 // If the iterator completed, deliver directly whatever's available 5711 if it.done { 5712 select { 5713 case log := <-it.logs: 5714 it.Event = new(IERC721Transfer) 5715 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5716 it.fail = err 5717 return false 5718 } 5719 it.Event.Raw = log 5720 return true 5721 5722 default: 5723 return false 5724 } 5725 } 5726 // Iterator still in progress, wait for either a data or an error event 5727 select { 5728 case log := <-it.logs: 5729 it.Event = new(IERC721Transfer) 5730 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5731 it.fail = err 5732 return false 5733 } 5734 it.Event.Raw = log 5735 return true 5736 5737 case err := <-it.sub.Err(): 5738 it.done = true 5739 it.fail = err 5740 return it.Next() 5741 } 5742 } 5743 5744 // Error returns any retrieval or parsing error occurred during filtering. 5745 func (it *IERC721TransferIterator) Error() error { 5746 return it.fail 5747 } 5748 5749 // Close terminates the iteration process, releasing any pending underlying 5750 // resources. 5751 func (it *IERC721TransferIterator) Close() error { 5752 it.sub.Unsubscribe() 5753 return nil 5754 } 5755 5756 // IERC721Transfer represents a Transfer event raised by the IERC721 contract. 5757 type IERC721Transfer struct { 5758 From common.Address 5759 To common.Address 5760 TokenId *big.Int 5761 Raw types.Log // Blockchain specific contextual infos 5762 } 5763 5764 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5765 // 5766 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 5767 func (_IERC721 *IERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721TransferIterator, error) { 5768 5769 var fromRule []interface{} 5770 for _, fromItem := range from { 5771 fromRule = append(fromRule, fromItem) 5772 } 5773 var toRule []interface{} 5774 for _, toItem := range to { 5775 toRule = append(toRule, toItem) 5776 } 5777 var tokenIdRule []interface{} 5778 for _, tokenIdItem := range tokenId { 5779 tokenIdRule = append(tokenIdRule, tokenIdItem) 5780 } 5781 5782 logs, sub, err := _IERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 5783 if err != nil { 5784 return nil, err 5785 } 5786 return &IERC721TransferIterator{contract: _IERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil 5787 } 5788 5789 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5790 // 5791 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 5792 func (_IERC721 *IERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 5793 5794 var fromRule []interface{} 5795 for _, fromItem := range from { 5796 fromRule = append(fromRule, fromItem) 5797 } 5798 var toRule []interface{} 5799 for _, toItem := range to { 5800 toRule = append(toRule, toItem) 5801 } 5802 var tokenIdRule []interface{} 5803 for _, tokenIdItem := range tokenId { 5804 tokenIdRule = append(tokenIdRule, tokenIdItem) 5805 } 5806 5807 logs, sub, err := _IERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 5808 if err != nil { 5809 return nil, err 5810 } 5811 return event.NewSubscription(func(quit <-chan struct{}) error { 5812 defer sub.Unsubscribe() 5813 for { 5814 select { 5815 case log := <-logs: 5816 // New log arrived, parse the event and forward to the user 5817 event := new(IERC721Transfer) 5818 if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 5819 return err 5820 } 5821 event.Raw = log 5822 5823 select { 5824 case sink <- event: 5825 case err := <-sub.Err(): 5826 return err 5827 case <-quit: 5828 return nil 5829 } 5830 case err := <-sub.Err(): 5831 return err 5832 case <-quit: 5833 return nil 5834 } 5835 } 5836 }), nil 5837 } 5838 5839 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5840 // 5841 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 5842 func (_IERC721 *IERC721Filterer) ParseTransfer(log types.Log) (*IERC721Transfer, error) { 5843 event := new(IERC721Transfer) 5844 if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 5845 return nil, err 5846 } 5847 return event, nil 5848 } 5849 5850 // IERC721BridgeReceiverABI is the input ABI used to generate the binding from. 5851 const IERC721BridgeReceiverABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 5852 5853 // IERC721BridgeReceiverBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 5854 const IERC721BridgeReceiverBinRuntime = `` 5855 5856 // IERC721BridgeReceiverFuncSigs maps the 4-byte function signature to its string representation. 5857 var IERC721BridgeReceiverFuncSigs = map[string]string{ 5858 "cf0da290": "onERC721Received(address,uint256,address,bytes)", 5859 } 5860 5861 // IERC721BridgeReceiver is an auto generated Go binding around a Klaytn contract. 5862 type IERC721BridgeReceiver struct { 5863 IERC721BridgeReceiverCaller // Read-only binding to the contract 5864 IERC721BridgeReceiverTransactor // Write-only binding to the contract 5865 IERC721BridgeReceiverFilterer // Log filterer for contract events 5866 } 5867 5868 // IERC721BridgeReceiverCaller is an auto generated read-only Go binding around a Klaytn contract. 5869 type IERC721BridgeReceiverCaller struct { 5870 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5871 } 5872 5873 // IERC721BridgeReceiverTransactor is an auto generated write-only Go binding around a Klaytn contract. 5874 type IERC721BridgeReceiverTransactor struct { 5875 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5876 } 5877 5878 // IERC721BridgeReceiverFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 5879 type IERC721BridgeReceiverFilterer struct { 5880 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5881 } 5882 5883 // IERC721BridgeReceiverSession is an auto generated Go binding around a Klaytn contract, 5884 // with pre-set call and transact options. 5885 type IERC721BridgeReceiverSession struct { 5886 Contract *IERC721BridgeReceiver // Generic contract binding to set the session for 5887 CallOpts bind.CallOpts // Call options to use throughout this session 5888 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5889 } 5890 5891 // IERC721BridgeReceiverCallerSession is an auto generated read-only Go binding around a Klaytn contract, 5892 // with pre-set call options. 5893 type IERC721BridgeReceiverCallerSession struct { 5894 Contract *IERC721BridgeReceiverCaller // Generic contract caller binding to set the session for 5895 CallOpts bind.CallOpts // Call options to use throughout this session 5896 } 5897 5898 // IERC721BridgeReceiverTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 5899 // with pre-set transact options. 5900 type IERC721BridgeReceiverTransactorSession struct { 5901 Contract *IERC721BridgeReceiverTransactor // Generic contract transactor binding to set the session for 5902 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5903 } 5904 5905 // IERC721BridgeReceiverRaw is an auto generated low-level Go binding around a Klaytn contract. 5906 type IERC721BridgeReceiverRaw struct { 5907 Contract *IERC721BridgeReceiver // Generic contract binding to access the raw methods on 5908 } 5909 5910 // IERC721BridgeReceiverCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 5911 type IERC721BridgeReceiverCallerRaw struct { 5912 Contract *IERC721BridgeReceiverCaller // Generic read-only contract binding to access the raw methods on 5913 } 5914 5915 // IERC721BridgeReceiverTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 5916 type IERC721BridgeReceiverTransactorRaw struct { 5917 Contract *IERC721BridgeReceiverTransactor // Generic write-only contract binding to access the raw methods on 5918 } 5919 5920 // NewIERC721BridgeReceiver creates a new instance of IERC721BridgeReceiver, bound to a specific deployed contract. 5921 func NewIERC721BridgeReceiver(address common.Address, backend bind.ContractBackend) (*IERC721BridgeReceiver, error) { 5922 contract, err := bindIERC721BridgeReceiver(address, backend, backend, backend) 5923 if err != nil { 5924 return nil, err 5925 } 5926 return &IERC721BridgeReceiver{IERC721BridgeReceiverCaller: IERC721BridgeReceiverCaller{contract: contract}, IERC721BridgeReceiverTransactor: IERC721BridgeReceiverTransactor{contract: contract}, IERC721BridgeReceiverFilterer: IERC721BridgeReceiverFilterer{contract: contract}}, nil 5927 } 5928 5929 // NewIERC721BridgeReceiverCaller creates a new read-only instance of IERC721BridgeReceiver, bound to a specific deployed contract. 5930 func NewIERC721BridgeReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC721BridgeReceiverCaller, error) { 5931 contract, err := bindIERC721BridgeReceiver(address, caller, nil, nil) 5932 if err != nil { 5933 return nil, err 5934 } 5935 return &IERC721BridgeReceiverCaller{contract: contract}, nil 5936 } 5937 5938 // NewIERC721BridgeReceiverTransactor creates a new write-only instance of IERC721BridgeReceiver, bound to a specific deployed contract. 5939 func NewIERC721BridgeReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721BridgeReceiverTransactor, error) { 5940 contract, err := bindIERC721BridgeReceiver(address, nil, transactor, nil) 5941 if err != nil { 5942 return nil, err 5943 } 5944 return &IERC721BridgeReceiverTransactor{contract: contract}, nil 5945 } 5946 5947 // NewIERC721BridgeReceiverFilterer creates a new log filterer instance of IERC721BridgeReceiver, bound to a specific deployed contract. 5948 func NewIERC721BridgeReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721BridgeReceiverFilterer, error) { 5949 contract, err := bindIERC721BridgeReceiver(address, nil, nil, filterer) 5950 if err != nil { 5951 return nil, err 5952 } 5953 return &IERC721BridgeReceiverFilterer{contract: contract}, nil 5954 } 5955 5956 // bindIERC721BridgeReceiver binds a generic wrapper to an already deployed contract. 5957 func bindIERC721BridgeReceiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 5958 parsed, err := abi.JSON(strings.NewReader(IERC721BridgeReceiverABI)) 5959 if err != nil { 5960 return nil, err 5961 } 5962 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 5963 } 5964 5965 // Call invokes the (constant) contract method with params as input values and 5966 // sets the output to result. The result type might be a single field for simple 5967 // returns, a slice of interfaces for anonymous returns and a struct for named 5968 // returns. 5969 func (_IERC721BridgeReceiver *IERC721BridgeReceiverRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 5970 return _IERC721BridgeReceiver.Contract.IERC721BridgeReceiverCaller.contract.Call(opts, result, method, params...) 5971 } 5972 5973 // Transfer initiates a plain transaction to move funds to the contract, calling 5974 // its default method if one is available. 5975 func (_IERC721BridgeReceiver *IERC721BridgeReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5976 return _IERC721BridgeReceiver.Contract.IERC721BridgeReceiverTransactor.contract.Transfer(opts) 5977 } 5978 5979 // Transact invokes the (paid) contract method with params as input values. 5980 func (_IERC721BridgeReceiver *IERC721BridgeReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5981 return _IERC721BridgeReceiver.Contract.IERC721BridgeReceiverTransactor.contract.Transact(opts, method, params...) 5982 } 5983 5984 // Call invokes the (constant) contract method with params as input values and 5985 // sets the output to result. The result type might be a single field for simple 5986 // returns, a slice of interfaces for anonymous returns and a struct for named 5987 // returns. 5988 func (_IERC721BridgeReceiver *IERC721BridgeReceiverCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 5989 return _IERC721BridgeReceiver.Contract.contract.Call(opts, result, method, params...) 5990 } 5991 5992 // Transfer initiates a plain transaction to move funds to the contract, calling 5993 // its default method if one is available. 5994 func (_IERC721BridgeReceiver *IERC721BridgeReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5995 return _IERC721BridgeReceiver.Contract.contract.Transfer(opts) 5996 } 5997 5998 // Transact invokes the (paid) contract method with params as input values. 5999 func (_IERC721BridgeReceiver *IERC721BridgeReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6000 return _IERC721BridgeReceiver.Contract.contract.Transact(opts, method, params...) 6001 } 6002 6003 // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. 6004 // 6005 // Solidity: function onERC721Received(address _from, uint256 _tokenId, address _to, bytes _extraData) returns() 6006 func (_IERC721BridgeReceiver *IERC721BridgeReceiverTransactor) OnERC721Received(opts *bind.TransactOpts, _from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 6007 return _IERC721BridgeReceiver.contract.Transact(opts, "onERC721Received", _from, _tokenId, _to, _extraData) 6008 } 6009 6010 // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. 6011 // 6012 // Solidity: function onERC721Received(address _from, uint256 _tokenId, address _to, bytes _extraData) returns() 6013 func (_IERC721BridgeReceiver *IERC721BridgeReceiverSession) OnERC721Received(_from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 6014 return _IERC721BridgeReceiver.Contract.OnERC721Received(&_IERC721BridgeReceiver.TransactOpts, _from, _tokenId, _to, _extraData) 6015 } 6016 6017 // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. 6018 // 6019 // Solidity: function onERC721Received(address _from, uint256 _tokenId, address _to, bytes _extraData) returns() 6020 func (_IERC721BridgeReceiver *IERC721BridgeReceiverTransactorSession) OnERC721Received(_from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 6021 return _IERC721BridgeReceiver.Contract.OnERC721Received(&_IERC721BridgeReceiver.TransactOpts, _from, _tokenId, _to, _extraData) 6022 } 6023 6024 // IERC721ReceiverABI is the input ABI used to generate the binding from. 6025 const IERC721ReceiverABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 6026 6027 // IERC721ReceiverBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 6028 const IERC721ReceiverBinRuntime = `` 6029 6030 // IERC721ReceiverFuncSigs maps the 4-byte function signature to its string representation. 6031 var IERC721ReceiverFuncSigs = map[string]string{ 6032 "150b7a02": "onERC721Received(address,address,uint256,bytes)", 6033 } 6034 6035 // IERC721Receiver is an auto generated Go binding around a Klaytn contract. 6036 type IERC721Receiver struct { 6037 IERC721ReceiverCaller // Read-only binding to the contract 6038 IERC721ReceiverTransactor // Write-only binding to the contract 6039 IERC721ReceiverFilterer // Log filterer for contract events 6040 } 6041 6042 // IERC721ReceiverCaller is an auto generated read-only Go binding around a Klaytn contract. 6043 type IERC721ReceiverCaller struct { 6044 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6045 } 6046 6047 // IERC721ReceiverTransactor is an auto generated write-only Go binding around a Klaytn contract. 6048 type IERC721ReceiverTransactor struct { 6049 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6050 } 6051 6052 // IERC721ReceiverFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 6053 type IERC721ReceiverFilterer struct { 6054 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6055 } 6056 6057 // IERC721ReceiverSession is an auto generated Go binding around a Klaytn contract, 6058 // with pre-set call and transact options. 6059 type IERC721ReceiverSession struct { 6060 Contract *IERC721Receiver // Generic contract binding to set the session for 6061 CallOpts bind.CallOpts // Call options to use throughout this session 6062 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6063 } 6064 6065 // IERC721ReceiverCallerSession is an auto generated read-only Go binding around a Klaytn contract, 6066 // with pre-set call options. 6067 type IERC721ReceiverCallerSession struct { 6068 Contract *IERC721ReceiverCaller // Generic contract caller binding to set the session for 6069 CallOpts bind.CallOpts // Call options to use throughout this session 6070 } 6071 6072 // IERC721ReceiverTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 6073 // with pre-set transact options. 6074 type IERC721ReceiverTransactorSession struct { 6075 Contract *IERC721ReceiverTransactor // Generic contract transactor binding to set the session for 6076 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6077 } 6078 6079 // IERC721ReceiverRaw is an auto generated low-level Go binding around a Klaytn contract. 6080 type IERC721ReceiverRaw struct { 6081 Contract *IERC721Receiver // Generic contract binding to access the raw methods on 6082 } 6083 6084 // IERC721ReceiverCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 6085 type IERC721ReceiverCallerRaw struct { 6086 Contract *IERC721ReceiverCaller // Generic read-only contract binding to access the raw methods on 6087 } 6088 6089 // IERC721ReceiverTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 6090 type IERC721ReceiverTransactorRaw struct { 6091 Contract *IERC721ReceiverTransactor // Generic write-only contract binding to access the raw methods on 6092 } 6093 6094 // NewIERC721Receiver creates a new instance of IERC721Receiver, bound to a specific deployed contract. 6095 func NewIERC721Receiver(address common.Address, backend bind.ContractBackend) (*IERC721Receiver, error) { 6096 contract, err := bindIERC721Receiver(address, backend, backend, backend) 6097 if err != nil { 6098 return nil, err 6099 } 6100 return &IERC721Receiver{IERC721ReceiverCaller: IERC721ReceiverCaller{contract: contract}, IERC721ReceiverTransactor: IERC721ReceiverTransactor{contract: contract}, IERC721ReceiverFilterer: IERC721ReceiverFilterer{contract: contract}}, nil 6101 } 6102 6103 // NewIERC721ReceiverCaller creates a new read-only instance of IERC721Receiver, bound to a specific deployed contract. 6104 func NewIERC721ReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC721ReceiverCaller, error) { 6105 contract, err := bindIERC721Receiver(address, caller, nil, nil) 6106 if err != nil { 6107 return nil, err 6108 } 6109 return &IERC721ReceiverCaller{contract: contract}, nil 6110 } 6111 6112 // NewIERC721ReceiverTransactor creates a new write-only instance of IERC721Receiver, bound to a specific deployed contract. 6113 func NewIERC721ReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721ReceiverTransactor, error) { 6114 contract, err := bindIERC721Receiver(address, nil, transactor, nil) 6115 if err != nil { 6116 return nil, err 6117 } 6118 return &IERC721ReceiverTransactor{contract: contract}, nil 6119 } 6120 6121 // NewIERC721ReceiverFilterer creates a new log filterer instance of IERC721Receiver, bound to a specific deployed contract. 6122 func NewIERC721ReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721ReceiverFilterer, error) { 6123 contract, err := bindIERC721Receiver(address, nil, nil, filterer) 6124 if err != nil { 6125 return nil, err 6126 } 6127 return &IERC721ReceiverFilterer{contract: contract}, nil 6128 } 6129 6130 // bindIERC721Receiver binds a generic wrapper to an already deployed contract. 6131 func bindIERC721Receiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 6132 parsed, err := abi.JSON(strings.NewReader(IERC721ReceiverABI)) 6133 if err != nil { 6134 return nil, err 6135 } 6136 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 6137 } 6138 6139 // Call invokes the (constant) contract method with params as input values and 6140 // sets the output to result. The result type might be a single field for simple 6141 // returns, a slice of interfaces for anonymous returns and a struct for named 6142 // returns. 6143 func (_IERC721Receiver *IERC721ReceiverRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 6144 return _IERC721Receiver.Contract.IERC721ReceiverCaller.contract.Call(opts, result, method, params...) 6145 } 6146 6147 // Transfer initiates a plain transaction to move funds to the contract, calling 6148 // its default method if one is available. 6149 func (_IERC721Receiver *IERC721ReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6150 return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transfer(opts) 6151 } 6152 6153 // Transact invokes the (paid) contract method with params as input values. 6154 func (_IERC721Receiver *IERC721ReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6155 return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transact(opts, method, params...) 6156 } 6157 6158 // Call invokes the (constant) contract method with params as input values and 6159 // sets the output to result. The result type might be a single field for simple 6160 // returns, a slice of interfaces for anonymous returns and a struct for named 6161 // returns. 6162 func (_IERC721Receiver *IERC721ReceiverCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 6163 return _IERC721Receiver.Contract.contract.Call(opts, result, method, params...) 6164 } 6165 6166 // Transfer initiates a plain transaction to move funds to the contract, calling 6167 // its default method if one is available. 6168 func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6169 return _IERC721Receiver.Contract.contract.Transfer(opts) 6170 } 6171 6172 // Transact invokes the (paid) contract method with params as input values. 6173 func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6174 return _IERC721Receiver.Contract.contract.Transact(opts, method, params...) 6175 } 6176 6177 // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. 6178 // 6179 // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) 6180 func (_IERC721Receiver *IERC721ReceiverTransactor) OnERC721Received(opts *bind.TransactOpts, operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 6181 return _IERC721Receiver.contract.Transact(opts, "onERC721Received", operator, from, tokenId, data) 6182 } 6183 6184 // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. 6185 // 6186 // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) 6187 func (_IERC721Receiver *IERC721ReceiverSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 6188 return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data) 6189 } 6190 6191 // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. 6192 // 6193 // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4) 6194 func (_IERC721Receiver *IERC721ReceiverTransactorSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { 6195 return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data) 6196 } 6197 6198 // MinterRoleABI is the input ABI used to generate the binding from. 6199 const MinterRoleABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"}]" 6200 6201 // MinterRoleBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 6202 const MinterRoleBinRuntime = `` 6203 6204 // MinterRoleFuncSigs maps the 4-byte function signature to its string representation. 6205 var MinterRoleFuncSigs = map[string]string{ 6206 "983b2d56": "addMinter(address)", 6207 "aa271e1a": "isMinter(address)", 6208 "98650275": "renounceMinter()", 6209 } 6210 6211 // MinterRole is an auto generated Go binding around a Klaytn contract. 6212 type MinterRole struct { 6213 MinterRoleCaller // Read-only binding to the contract 6214 MinterRoleTransactor // Write-only binding to the contract 6215 MinterRoleFilterer // Log filterer for contract events 6216 } 6217 6218 // MinterRoleCaller is an auto generated read-only Go binding around a Klaytn contract. 6219 type MinterRoleCaller struct { 6220 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6221 } 6222 6223 // MinterRoleTransactor is an auto generated write-only Go binding around a Klaytn contract. 6224 type MinterRoleTransactor struct { 6225 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6226 } 6227 6228 // MinterRoleFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 6229 type MinterRoleFilterer struct { 6230 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6231 } 6232 6233 // MinterRoleSession is an auto generated Go binding around a Klaytn contract, 6234 // with pre-set call and transact options. 6235 type MinterRoleSession struct { 6236 Contract *MinterRole // Generic contract binding to set the session for 6237 CallOpts bind.CallOpts // Call options to use throughout this session 6238 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6239 } 6240 6241 // MinterRoleCallerSession is an auto generated read-only Go binding around a Klaytn contract, 6242 // with pre-set call options. 6243 type MinterRoleCallerSession struct { 6244 Contract *MinterRoleCaller // Generic contract caller binding to set the session for 6245 CallOpts bind.CallOpts // Call options to use throughout this session 6246 } 6247 6248 // MinterRoleTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 6249 // with pre-set transact options. 6250 type MinterRoleTransactorSession struct { 6251 Contract *MinterRoleTransactor // Generic contract transactor binding to set the session for 6252 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6253 } 6254 6255 // MinterRoleRaw is an auto generated low-level Go binding around a Klaytn contract. 6256 type MinterRoleRaw struct { 6257 Contract *MinterRole // Generic contract binding to access the raw methods on 6258 } 6259 6260 // MinterRoleCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 6261 type MinterRoleCallerRaw struct { 6262 Contract *MinterRoleCaller // Generic read-only contract binding to access the raw methods on 6263 } 6264 6265 // MinterRoleTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 6266 type MinterRoleTransactorRaw struct { 6267 Contract *MinterRoleTransactor // Generic write-only contract binding to access the raw methods on 6268 } 6269 6270 // NewMinterRole creates a new instance of MinterRole, bound to a specific deployed contract. 6271 func NewMinterRole(address common.Address, backend bind.ContractBackend) (*MinterRole, error) { 6272 contract, err := bindMinterRole(address, backend, backend, backend) 6273 if err != nil { 6274 return nil, err 6275 } 6276 return &MinterRole{MinterRoleCaller: MinterRoleCaller{contract: contract}, MinterRoleTransactor: MinterRoleTransactor{contract: contract}, MinterRoleFilterer: MinterRoleFilterer{contract: contract}}, nil 6277 } 6278 6279 // NewMinterRoleCaller creates a new read-only instance of MinterRole, bound to a specific deployed contract. 6280 func NewMinterRoleCaller(address common.Address, caller bind.ContractCaller) (*MinterRoleCaller, error) { 6281 contract, err := bindMinterRole(address, caller, nil, nil) 6282 if err != nil { 6283 return nil, err 6284 } 6285 return &MinterRoleCaller{contract: contract}, nil 6286 } 6287 6288 // NewMinterRoleTransactor creates a new write-only instance of MinterRole, bound to a specific deployed contract. 6289 func NewMinterRoleTransactor(address common.Address, transactor bind.ContractTransactor) (*MinterRoleTransactor, error) { 6290 contract, err := bindMinterRole(address, nil, transactor, nil) 6291 if err != nil { 6292 return nil, err 6293 } 6294 return &MinterRoleTransactor{contract: contract}, nil 6295 } 6296 6297 // NewMinterRoleFilterer creates a new log filterer instance of MinterRole, bound to a specific deployed contract. 6298 func NewMinterRoleFilterer(address common.Address, filterer bind.ContractFilterer) (*MinterRoleFilterer, error) { 6299 contract, err := bindMinterRole(address, nil, nil, filterer) 6300 if err != nil { 6301 return nil, err 6302 } 6303 return &MinterRoleFilterer{contract: contract}, nil 6304 } 6305 6306 // bindMinterRole binds a generic wrapper to an already deployed contract. 6307 func bindMinterRole(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 6308 parsed, err := abi.JSON(strings.NewReader(MinterRoleABI)) 6309 if err != nil { 6310 return nil, err 6311 } 6312 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 6313 } 6314 6315 // Call invokes the (constant) contract method with params as input values and 6316 // sets the output to result. The result type might be a single field for simple 6317 // returns, a slice of interfaces for anonymous returns and a struct for named 6318 // returns. 6319 func (_MinterRole *MinterRoleRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 6320 return _MinterRole.Contract.MinterRoleCaller.contract.Call(opts, result, method, params...) 6321 } 6322 6323 // Transfer initiates a plain transaction to move funds to the contract, calling 6324 // its default method if one is available. 6325 func (_MinterRole *MinterRoleRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6326 return _MinterRole.Contract.MinterRoleTransactor.contract.Transfer(opts) 6327 } 6328 6329 // Transact invokes the (paid) contract method with params as input values. 6330 func (_MinterRole *MinterRoleRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6331 return _MinterRole.Contract.MinterRoleTransactor.contract.Transact(opts, method, params...) 6332 } 6333 6334 // Call invokes the (constant) contract method with params as input values and 6335 // sets the output to result. The result type might be a single field for simple 6336 // returns, a slice of interfaces for anonymous returns and a struct for named 6337 // returns. 6338 func (_MinterRole *MinterRoleCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 6339 return _MinterRole.Contract.contract.Call(opts, result, method, params...) 6340 } 6341 6342 // Transfer initiates a plain transaction to move funds to the contract, calling 6343 // its default method if one is available. 6344 func (_MinterRole *MinterRoleTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6345 return _MinterRole.Contract.contract.Transfer(opts) 6346 } 6347 6348 // Transact invokes the (paid) contract method with params as input values. 6349 func (_MinterRole *MinterRoleTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6350 return _MinterRole.Contract.contract.Transact(opts, method, params...) 6351 } 6352 6353 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 6354 // 6355 // Solidity: function isMinter(address account) view returns(bool) 6356 func (_MinterRole *MinterRoleCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { 6357 var ( 6358 ret0 = new(bool) 6359 ) 6360 out := ret0 6361 err := _MinterRole.contract.Call(opts, out, "isMinter", account) 6362 return *ret0, err 6363 } 6364 6365 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 6366 // 6367 // Solidity: function isMinter(address account) view returns(bool) 6368 func (_MinterRole *MinterRoleSession) IsMinter(account common.Address) (bool, error) { 6369 return _MinterRole.Contract.IsMinter(&_MinterRole.CallOpts, account) 6370 } 6371 6372 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 6373 // 6374 // Solidity: function isMinter(address account) view returns(bool) 6375 func (_MinterRole *MinterRoleCallerSession) IsMinter(account common.Address) (bool, error) { 6376 return _MinterRole.Contract.IsMinter(&_MinterRole.CallOpts, account) 6377 } 6378 6379 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 6380 // 6381 // Solidity: function addMinter(address account) returns() 6382 func (_MinterRole *MinterRoleTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 6383 return _MinterRole.contract.Transact(opts, "addMinter", account) 6384 } 6385 6386 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 6387 // 6388 // Solidity: function addMinter(address account) returns() 6389 func (_MinterRole *MinterRoleSession) AddMinter(account common.Address) (*types.Transaction, error) { 6390 return _MinterRole.Contract.AddMinter(&_MinterRole.TransactOpts, account) 6391 } 6392 6393 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 6394 // 6395 // Solidity: function addMinter(address account) returns() 6396 func (_MinterRole *MinterRoleTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 6397 return _MinterRole.Contract.AddMinter(&_MinterRole.TransactOpts, account) 6398 } 6399 6400 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 6401 // 6402 // Solidity: function renounceMinter() returns() 6403 func (_MinterRole *MinterRoleTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { 6404 return _MinterRole.contract.Transact(opts, "renounceMinter") 6405 } 6406 6407 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 6408 // 6409 // Solidity: function renounceMinter() returns() 6410 func (_MinterRole *MinterRoleSession) RenounceMinter() (*types.Transaction, error) { 6411 return _MinterRole.Contract.RenounceMinter(&_MinterRole.TransactOpts) 6412 } 6413 6414 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 6415 // 6416 // Solidity: function renounceMinter() returns() 6417 func (_MinterRole *MinterRoleTransactorSession) RenounceMinter() (*types.Transaction, error) { 6418 return _MinterRole.Contract.RenounceMinter(&_MinterRole.TransactOpts) 6419 } 6420 6421 // 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. 6422 type MinterRoleMinterAddedIterator struct { 6423 Event *MinterRoleMinterAdded // Event containing the contract specifics and raw log 6424 6425 contract *bind.BoundContract // Generic contract to use for unpacking event data 6426 event string // Event name to use for unpacking event data 6427 6428 logs chan types.Log // Log channel receiving the found contract events 6429 sub klaytn.Subscription // Subscription for errors, completion and termination 6430 done bool // Whether the subscription completed delivering logs 6431 fail error // Occurred error to stop iteration 6432 } 6433 6434 // Next advances the iterator to the subsequent event, returning whether there 6435 // are any more events found. In case of a retrieval or parsing error, false is 6436 // returned and Error() can be queried for the exact failure. 6437 func (it *MinterRoleMinterAddedIterator) Next() bool { 6438 // If the iterator failed, stop iterating 6439 if it.fail != nil { 6440 return false 6441 } 6442 // If the iterator completed, deliver directly whatever's available 6443 if it.done { 6444 select { 6445 case log := <-it.logs: 6446 it.Event = new(MinterRoleMinterAdded) 6447 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6448 it.fail = err 6449 return false 6450 } 6451 it.Event.Raw = log 6452 return true 6453 6454 default: 6455 return false 6456 } 6457 } 6458 // Iterator still in progress, wait for either a data or an error event 6459 select { 6460 case log := <-it.logs: 6461 it.Event = new(MinterRoleMinterAdded) 6462 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6463 it.fail = err 6464 return false 6465 } 6466 it.Event.Raw = log 6467 return true 6468 6469 case err := <-it.sub.Err(): 6470 it.done = true 6471 it.fail = err 6472 return it.Next() 6473 } 6474 } 6475 6476 // Error returns any retrieval or parsing error occurred during filtering. 6477 func (it *MinterRoleMinterAddedIterator) Error() error { 6478 return it.fail 6479 } 6480 6481 // Close terminates the iteration process, releasing any pending underlying 6482 // resources. 6483 func (it *MinterRoleMinterAddedIterator) Close() error { 6484 it.sub.Unsubscribe() 6485 return nil 6486 } 6487 6488 // MinterRoleMinterAdded represents a MinterAdded event raised by the MinterRole contract. 6489 type MinterRoleMinterAdded struct { 6490 Account common.Address 6491 Raw types.Log // Blockchain specific contextual infos 6492 } 6493 6494 // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 6495 // 6496 // Solidity: event MinterAdded(address indexed account) 6497 func (_MinterRole *MinterRoleFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*MinterRoleMinterAddedIterator, error) { 6498 6499 var accountRule []interface{} 6500 for _, accountItem := range account { 6501 accountRule = append(accountRule, accountItem) 6502 } 6503 6504 logs, sub, err := _MinterRole.contract.FilterLogs(opts, "MinterAdded", accountRule) 6505 if err != nil { 6506 return nil, err 6507 } 6508 return &MinterRoleMinterAddedIterator{contract: _MinterRole.contract, event: "MinterAdded", logs: logs, sub: sub}, nil 6509 } 6510 6511 // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 6512 // 6513 // Solidity: event MinterAdded(address indexed account) 6514 func (_MinterRole *MinterRoleFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *MinterRoleMinterAdded, account []common.Address) (event.Subscription, error) { 6515 6516 var accountRule []interface{} 6517 for _, accountItem := range account { 6518 accountRule = append(accountRule, accountItem) 6519 } 6520 6521 logs, sub, err := _MinterRole.contract.WatchLogs(opts, "MinterAdded", accountRule) 6522 if err != nil { 6523 return nil, err 6524 } 6525 return event.NewSubscription(func(quit <-chan struct{}) error { 6526 defer sub.Unsubscribe() 6527 for { 6528 select { 6529 case log := <-logs: 6530 // New log arrived, parse the event and forward to the user 6531 event := new(MinterRoleMinterAdded) 6532 if err := _MinterRole.contract.UnpackLog(event, "MinterAdded", log); err != nil { 6533 return err 6534 } 6535 event.Raw = log 6536 6537 select { 6538 case sink <- event: 6539 case err := <-sub.Err(): 6540 return err 6541 case <-quit: 6542 return nil 6543 } 6544 case err := <-sub.Err(): 6545 return err 6546 case <-quit: 6547 return nil 6548 } 6549 } 6550 }), nil 6551 } 6552 6553 // ParseMinterAdded is a log parse operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 6554 // 6555 // Solidity: event MinterAdded(address indexed account) 6556 func (_MinterRole *MinterRoleFilterer) ParseMinterAdded(log types.Log) (*MinterRoleMinterAdded, error) { 6557 event := new(MinterRoleMinterAdded) 6558 if err := _MinterRole.contract.UnpackLog(event, "MinterAdded", log); err != nil { 6559 return nil, err 6560 } 6561 return event, nil 6562 } 6563 6564 // 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. 6565 type MinterRoleMinterRemovedIterator struct { 6566 Event *MinterRoleMinterRemoved // Event containing the contract specifics and raw log 6567 6568 contract *bind.BoundContract // Generic contract to use for unpacking event data 6569 event string // Event name to use for unpacking event data 6570 6571 logs chan types.Log // Log channel receiving the found contract events 6572 sub klaytn.Subscription // Subscription for errors, completion and termination 6573 done bool // Whether the subscription completed delivering logs 6574 fail error // Occurred error to stop iteration 6575 } 6576 6577 // Next advances the iterator to the subsequent event, returning whether there 6578 // are any more events found. In case of a retrieval or parsing error, false is 6579 // returned and Error() can be queried for the exact failure. 6580 func (it *MinterRoleMinterRemovedIterator) Next() bool { 6581 // If the iterator failed, stop iterating 6582 if it.fail != nil { 6583 return false 6584 } 6585 // If the iterator completed, deliver directly whatever's available 6586 if it.done { 6587 select { 6588 case log := <-it.logs: 6589 it.Event = new(MinterRoleMinterRemoved) 6590 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6591 it.fail = err 6592 return false 6593 } 6594 it.Event.Raw = log 6595 return true 6596 6597 default: 6598 return false 6599 } 6600 } 6601 // Iterator still in progress, wait for either a data or an error event 6602 select { 6603 case log := <-it.logs: 6604 it.Event = new(MinterRoleMinterRemoved) 6605 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6606 it.fail = err 6607 return false 6608 } 6609 it.Event.Raw = log 6610 return true 6611 6612 case err := <-it.sub.Err(): 6613 it.done = true 6614 it.fail = err 6615 return it.Next() 6616 } 6617 } 6618 6619 // Error returns any retrieval or parsing error occurred during filtering. 6620 func (it *MinterRoleMinterRemovedIterator) Error() error { 6621 return it.fail 6622 } 6623 6624 // Close terminates the iteration process, releasing any pending underlying 6625 // resources. 6626 func (it *MinterRoleMinterRemovedIterator) Close() error { 6627 it.sub.Unsubscribe() 6628 return nil 6629 } 6630 6631 // MinterRoleMinterRemoved represents a MinterRemoved event raised by the MinterRole contract. 6632 type MinterRoleMinterRemoved struct { 6633 Account common.Address 6634 Raw types.Log // Blockchain specific contextual infos 6635 } 6636 6637 // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 6638 // 6639 // Solidity: event MinterRemoved(address indexed account) 6640 func (_MinterRole *MinterRoleFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*MinterRoleMinterRemovedIterator, error) { 6641 6642 var accountRule []interface{} 6643 for _, accountItem := range account { 6644 accountRule = append(accountRule, accountItem) 6645 } 6646 6647 logs, sub, err := _MinterRole.contract.FilterLogs(opts, "MinterRemoved", accountRule) 6648 if err != nil { 6649 return nil, err 6650 } 6651 return &MinterRoleMinterRemovedIterator{contract: _MinterRole.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil 6652 } 6653 6654 // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 6655 // 6656 // Solidity: event MinterRemoved(address indexed account) 6657 func (_MinterRole *MinterRoleFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *MinterRoleMinterRemoved, account []common.Address) (event.Subscription, error) { 6658 6659 var accountRule []interface{} 6660 for _, accountItem := range account { 6661 accountRule = append(accountRule, accountItem) 6662 } 6663 6664 logs, sub, err := _MinterRole.contract.WatchLogs(opts, "MinterRemoved", accountRule) 6665 if err != nil { 6666 return nil, err 6667 } 6668 return event.NewSubscription(func(quit <-chan struct{}) error { 6669 defer sub.Unsubscribe() 6670 for { 6671 select { 6672 case log := <-logs: 6673 // New log arrived, parse the event and forward to the user 6674 event := new(MinterRoleMinterRemoved) 6675 if err := _MinterRole.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 6676 return err 6677 } 6678 event.Raw = log 6679 6680 select { 6681 case sink <- event: 6682 case err := <-sub.Err(): 6683 return err 6684 case <-quit: 6685 return nil 6686 } 6687 case err := <-sub.Err(): 6688 return err 6689 case <-quit: 6690 return nil 6691 } 6692 } 6693 }), nil 6694 } 6695 6696 // ParseMinterRemoved is a log parse operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 6697 // 6698 // Solidity: event MinterRemoved(address indexed account) 6699 func (_MinterRole *MinterRoleFilterer) ParseMinterRemoved(log types.Log) (*MinterRoleMinterRemoved, error) { 6700 event := new(MinterRoleMinterRemoved) 6701 if err := _MinterRole.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 6702 return nil, err 6703 } 6704 return event, nil 6705 } 6706 6707 // OwnableABI is the input ABI used to generate the binding from. 6708 const OwnableABI = "[{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]" 6709 6710 // OwnableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 6711 const OwnableBinRuntime = `` 6712 6713 // OwnableFuncSigs maps the 4-byte function signature to its string representation. 6714 var OwnableFuncSigs = map[string]string{ 6715 "8f32d59b": "isOwner()", 6716 "8da5cb5b": "owner()", 6717 "715018a6": "renounceOwnership()", 6718 "f2fde38b": "transferOwnership(address)", 6719 } 6720 6721 // Ownable is an auto generated Go binding around a Klaytn contract. 6722 type Ownable struct { 6723 OwnableCaller // Read-only binding to the contract 6724 OwnableTransactor // Write-only binding to the contract 6725 OwnableFilterer // Log filterer for contract events 6726 } 6727 6728 // OwnableCaller is an auto generated read-only Go binding around a Klaytn contract. 6729 type OwnableCaller struct { 6730 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6731 } 6732 6733 // OwnableTransactor is an auto generated write-only Go binding around a Klaytn contract. 6734 type OwnableTransactor struct { 6735 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6736 } 6737 6738 // OwnableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 6739 type OwnableFilterer struct { 6740 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6741 } 6742 6743 // OwnableSession is an auto generated Go binding around a Klaytn contract, 6744 // with pre-set call and transact options. 6745 type OwnableSession struct { 6746 Contract *Ownable // Generic contract binding to set the session for 6747 CallOpts bind.CallOpts // Call options to use throughout this session 6748 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6749 } 6750 6751 // OwnableCallerSession is an auto generated read-only Go binding around a Klaytn contract, 6752 // with pre-set call options. 6753 type OwnableCallerSession struct { 6754 Contract *OwnableCaller // Generic contract caller binding to set the session for 6755 CallOpts bind.CallOpts // Call options to use throughout this session 6756 } 6757 6758 // OwnableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 6759 // with pre-set transact options. 6760 type OwnableTransactorSession struct { 6761 Contract *OwnableTransactor // Generic contract transactor binding to set the session for 6762 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6763 } 6764 6765 // OwnableRaw is an auto generated low-level Go binding around a Klaytn contract. 6766 type OwnableRaw struct { 6767 Contract *Ownable // Generic contract binding to access the raw methods on 6768 } 6769 6770 // OwnableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 6771 type OwnableCallerRaw struct { 6772 Contract *OwnableCaller // Generic read-only contract binding to access the raw methods on 6773 } 6774 6775 // OwnableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 6776 type OwnableTransactorRaw struct { 6777 Contract *OwnableTransactor // Generic write-only contract binding to access the raw methods on 6778 } 6779 6780 // NewOwnable creates a new instance of Ownable, bound to a specific deployed contract. 6781 func NewOwnable(address common.Address, backend bind.ContractBackend) (*Ownable, error) { 6782 contract, err := bindOwnable(address, backend, backend, backend) 6783 if err != nil { 6784 return nil, err 6785 } 6786 return &Ownable{OwnableCaller: OwnableCaller{contract: contract}, OwnableTransactor: OwnableTransactor{contract: contract}, OwnableFilterer: OwnableFilterer{contract: contract}}, nil 6787 } 6788 6789 // NewOwnableCaller creates a new read-only instance of Ownable, bound to a specific deployed contract. 6790 func NewOwnableCaller(address common.Address, caller bind.ContractCaller) (*OwnableCaller, error) { 6791 contract, err := bindOwnable(address, caller, nil, nil) 6792 if err != nil { 6793 return nil, err 6794 } 6795 return &OwnableCaller{contract: contract}, nil 6796 } 6797 6798 // NewOwnableTransactor creates a new write-only instance of Ownable, bound to a specific deployed contract. 6799 func NewOwnableTransactor(address common.Address, transactor bind.ContractTransactor) (*OwnableTransactor, error) { 6800 contract, err := bindOwnable(address, nil, transactor, nil) 6801 if err != nil { 6802 return nil, err 6803 } 6804 return &OwnableTransactor{contract: contract}, nil 6805 } 6806 6807 // NewOwnableFilterer creates a new log filterer instance of Ownable, bound to a specific deployed contract. 6808 func NewOwnableFilterer(address common.Address, filterer bind.ContractFilterer) (*OwnableFilterer, error) { 6809 contract, err := bindOwnable(address, nil, nil, filterer) 6810 if err != nil { 6811 return nil, err 6812 } 6813 return &OwnableFilterer{contract: contract}, nil 6814 } 6815 6816 // bindOwnable binds a generic wrapper to an already deployed contract. 6817 func bindOwnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 6818 parsed, err := abi.JSON(strings.NewReader(OwnableABI)) 6819 if err != nil { 6820 return nil, err 6821 } 6822 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 6823 } 6824 6825 // Call invokes the (constant) contract method with params as input values and 6826 // sets the output to result. The result type might be a single field for simple 6827 // returns, a slice of interfaces for anonymous returns and a struct for named 6828 // returns. 6829 func (_Ownable *OwnableRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 6830 return _Ownable.Contract.OwnableCaller.contract.Call(opts, result, method, params...) 6831 } 6832 6833 // Transfer initiates a plain transaction to move funds to the contract, calling 6834 // its default method if one is available. 6835 func (_Ownable *OwnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6836 return _Ownable.Contract.OwnableTransactor.contract.Transfer(opts) 6837 } 6838 6839 // Transact invokes the (paid) contract method with params as input values. 6840 func (_Ownable *OwnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6841 return _Ownable.Contract.OwnableTransactor.contract.Transact(opts, method, params...) 6842 } 6843 6844 // Call invokes the (constant) contract method with params as input values and 6845 // sets the output to result. The result type might be a single field for simple 6846 // returns, a slice of interfaces for anonymous returns and a struct for named 6847 // returns. 6848 func (_Ownable *OwnableCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 6849 return _Ownable.Contract.contract.Call(opts, result, method, params...) 6850 } 6851 6852 // Transfer initiates a plain transaction to move funds to the contract, calling 6853 // its default method if one is available. 6854 func (_Ownable *OwnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6855 return _Ownable.Contract.contract.Transfer(opts) 6856 } 6857 6858 // Transact invokes the (paid) contract method with params as input values. 6859 func (_Ownable *OwnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6860 return _Ownable.Contract.contract.Transact(opts, method, params...) 6861 } 6862 6863 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 6864 // 6865 // Solidity: function isOwner() view returns(bool) 6866 func (_Ownable *OwnableCaller) IsOwner(opts *bind.CallOpts) (bool, error) { 6867 var ( 6868 ret0 = new(bool) 6869 ) 6870 out := ret0 6871 err := _Ownable.contract.Call(opts, out, "isOwner") 6872 return *ret0, err 6873 } 6874 6875 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 6876 // 6877 // Solidity: function isOwner() view returns(bool) 6878 func (_Ownable *OwnableSession) IsOwner() (bool, error) { 6879 return _Ownable.Contract.IsOwner(&_Ownable.CallOpts) 6880 } 6881 6882 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 6883 // 6884 // Solidity: function isOwner() view returns(bool) 6885 func (_Ownable *OwnableCallerSession) IsOwner() (bool, error) { 6886 return _Ownable.Contract.IsOwner(&_Ownable.CallOpts) 6887 } 6888 6889 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 6890 // 6891 // Solidity: function owner() view returns(address) 6892 func (_Ownable *OwnableCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 6893 var ( 6894 ret0 = new(common.Address) 6895 ) 6896 out := ret0 6897 err := _Ownable.contract.Call(opts, out, "owner") 6898 return *ret0, err 6899 } 6900 6901 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 6902 // 6903 // Solidity: function owner() view returns(address) 6904 func (_Ownable *OwnableSession) Owner() (common.Address, error) { 6905 return _Ownable.Contract.Owner(&_Ownable.CallOpts) 6906 } 6907 6908 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 6909 // 6910 // Solidity: function owner() view returns(address) 6911 func (_Ownable *OwnableCallerSession) Owner() (common.Address, error) { 6912 return _Ownable.Contract.Owner(&_Ownable.CallOpts) 6913 } 6914 6915 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 6916 // 6917 // Solidity: function renounceOwnership() returns() 6918 func (_Ownable *OwnableTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 6919 return _Ownable.contract.Transact(opts, "renounceOwnership") 6920 } 6921 6922 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 6923 // 6924 // Solidity: function renounceOwnership() returns() 6925 func (_Ownable *OwnableSession) RenounceOwnership() (*types.Transaction, error) { 6926 return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) 6927 } 6928 6929 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 6930 // 6931 // Solidity: function renounceOwnership() returns() 6932 func (_Ownable *OwnableTransactorSession) RenounceOwnership() (*types.Transaction, error) { 6933 return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) 6934 } 6935 6936 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 6937 // 6938 // Solidity: function transferOwnership(address newOwner) returns() 6939 func (_Ownable *OwnableTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 6940 return _Ownable.contract.Transact(opts, "transferOwnership", newOwner) 6941 } 6942 6943 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 6944 // 6945 // Solidity: function transferOwnership(address newOwner) returns() 6946 func (_Ownable *OwnableSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 6947 return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) 6948 } 6949 6950 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 6951 // 6952 // Solidity: function transferOwnership(address newOwner) returns() 6953 func (_Ownable *OwnableTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 6954 return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) 6955 } 6956 6957 // 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. 6958 type OwnableOwnershipTransferredIterator struct { 6959 Event *OwnableOwnershipTransferred // Event containing the contract specifics and raw log 6960 6961 contract *bind.BoundContract // Generic contract to use for unpacking event data 6962 event string // Event name to use for unpacking event data 6963 6964 logs chan types.Log // Log channel receiving the found contract events 6965 sub klaytn.Subscription // Subscription for errors, completion and termination 6966 done bool // Whether the subscription completed delivering logs 6967 fail error // Occurred error to stop iteration 6968 } 6969 6970 // Next advances the iterator to the subsequent event, returning whether there 6971 // are any more events found. In case of a retrieval or parsing error, false is 6972 // returned and Error() can be queried for the exact failure. 6973 func (it *OwnableOwnershipTransferredIterator) Next() bool { 6974 // If the iterator failed, stop iterating 6975 if it.fail != nil { 6976 return false 6977 } 6978 // If the iterator completed, deliver directly whatever's available 6979 if it.done { 6980 select { 6981 case log := <-it.logs: 6982 it.Event = new(OwnableOwnershipTransferred) 6983 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6984 it.fail = err 6985 return false 6986 } 6987 it.Event.Raw = log 6988 return true 6989 6990 default: 6991 return false 6992 } 6993 } 6994 // Iterator still in progress, wait for either a data or an error event 6995 select { 6996 case log := <-it.logs: 6997 it.Event = new(OwnableOwnershipTransferred) 6998 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6999 it.fail = err 7000 return false 7001 } 7002 it.Event.Raw = log 7003 return true 7004 7005 case err := <-it.sub.Err(): 7006 it.done = true 7007 it.fail = err 7008 return it.Next() 7009 } 7010 } 7011 7012 // Error returns any retrieval or parsing error occurred during filtering. 7013 func (it *OwnableOwnershipTransferredIterator) Error() error { 7014 return it.fail 7015 } 7016 7017 // Close terminates the iteration process, releasing any pending underlying 7018 // resources. 7019 func (it *OwnableOwnershipTransferredIterator) Close() error { 7020 it.sub.Unsubscribe() 7021 return nil 7022 } 7023 7024 // OwnableOwnershipTransferred represents a OwnershipTransferred event raised by the Ownable contract. 7025 type OwnableOwnershipTransferred struct { 7026 PreviousOwner common.Address 7027 NewOwner common.Address 7028 Raw types.Log // Blockchain specific contextual infos 7029 } 7030 7031 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 7032 // 7033 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 7034 func (_Ownable *OwnableFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*OwnableOwnershipTransferredIterator, error) { 7035 7036 var previousOwnerRule []interface{} 7037 for _, previousOwnerItem := range previousOwner { 7038 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 7039 } 7040 var newOwnerRule []interface{} 7041 for _, newOwnerItem := range newOwner { 7042 newOwnerRule = append(newOwnerRule, newOwnerItem) 7043 } 7044 7045 logs, sub, err := _Ownable.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 7046 if err != nil { 7047 return nil, err 7048 } 7049 return &OwnableOwnershipTransferredIterator{contract: _Ownable.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 7050 } 7051 7052 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 7053 // 7054 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 7055 func (_Ownable *OwnableFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *OwnableOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 7056 7057 var previousOwnerRule []interface{} 7058 for _, previousOwnerItem := range previousOwner { 7059 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 7060 } 7061 var newOwnerRule []interface{} 7062 for _, newOwnerItem := range newOwner { 7063 newOwnerRule = append(newOwnerRule, newOwnerItem) 7064 } 7065 7066 logs, sub, err := _Ownable.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 7067 if err != nil { 7068 return nil, err 7069 } 7070 return event.NewSubscription(func(quit <-chan struct{}) error { 7071 defer sub.Unsubscribe() 7072 for { 7073 select { 7074 case log := <-logs: 7075 // New log arrived, parse the event and forward to the user 7076 event := new(OwnableOwnershipTransferred) 7077 if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 7078 return err 7079 } 7080 event.Raw = log 7081 7082 select { 7083 case sink <- event: 7084 case err := <-sub.Err(): 7085 return err 7086 case <-quit: 7087 return nil 7088 } 7089 case err := <-sub.Err(): 7090 return err 7091 case <-quit: 7092 return nil 7093 } 7094 } 7095 }), nil 7096 } 7097 7098 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 7099 // 7100 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 7101 func (_Ownable *OwnableFilterer) ParseOwnershipTransferred(log types.Log) (*OwnableOwnershipTransferred, error) { 7102 event := new(OwnableOwnershipTransferred) 7103 if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 7104 return nil, err 7105 } 7106 return event, nil 7107 } 7108 7109 // RolesABI is the input ABI used to generate the binding from. 7110 const RolesABI = "[]" 7111 7112 // RolesBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 7113 const RolesBinRuntime = `73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582026429ed555f83236ac076363d644804ff5b0baa4e098f1d4ef783a49049f7df70029` 7114 7115 // RolesBin is the compiled bytecode used for deploying new contracts. 7116 var RolesBin = "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582026429ed555f83236ac076363d644804ff5b0baa4e098f1d4ef783a49049f7df70029" 7117 7118 // DeployRoles deploys a new Klaytn contract, binding an instance of Roles to it. 7119 func DeployRoles(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Roles, error) { 7120 parsed, err := abi.JSON(strings.NewReader(RolesABI)) 7121 if err != nil { 7122 return common.Address{}, nil, nil, err 7123 } 7124 7125 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(RolesBin), backend) 7126 if err != nil { 7127 return common.Address{}, nil, nil, err 7128 } 7129 return address, tx, &Roles{RolesCaller: RolesCaller{contract: contract}, RolesTransactor: RolesTransactor{contract: contract}, RolesFilterer: RolesFilterer{contract: contract}}, nil 7130 } 7131 7132 // Roles is an auto generated Go binding around a Klaytn contract. 7133 type Roles struct { 7134 RolesCaller // Read-only binding to the contract 7135 RolesTransactor // Write-only binding to the contract 7136 RolesFilterer // Log filterer for contract events 7137 } 7138 7139 // RolesCaller is an auto generated read-only Go binding around a Klaytn contract. 7140 type RolesCaller struct { 7141 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7142 } 7143 7144 // RolesTransactor is an auto generated write-only Go binding around a Klaytn contract. 7145 type RolesTransactor struct { 7146 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7147 } 7148 7149 // RolesFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 7150 type RolesFilterer struct { 7151 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7152 } 7153 7154 // RolesSession is an auto generated Go binding around a Klaytn contract, 7155 // with pre-set call and transact options. 7156 type RolesSession struct { 7157 Contract *Roles // Generic contract binding to set the session for 7158 CallOpts bind.CallOpts // Call options to use throughout this session 7159 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7160 } 7161 7162 // RolesCallerSession is an auto generated read-only Go binding around a Klaytn contract, 7163 // with pre-set call options. 7164 type RolesCallerSession struct { 7165 Contract *RolesCaller // Generic contract caller binding to set the session for 7166 CallOpts bind.CallOpts // Call options to use throughout this session 7167 } 7168 7169 // RolesTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 7170 // with pre-set transact options. 7171 type RolesTransactorSession struct { 7172 Contract *RolesTransactor // Generic contract transactor binding to set the session for 7173 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7174 } 7175 7176 // RolesRaw is an auto generated low-level Go binding around a Klaytn contract. 7177 type RolesRaw struct { 7178 Contract *Roles // Generic contract binding to access the raw methods on 7179 } 7180 7181 // RolesCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 7182 type RolesCallerRaw struct { 7183 Contract *RolesCaller // Generic read-only contract binding to access the raw methods on 7184 } 7185 7186 // RolesTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 7187 type RolesTransactorRaw struct { 7188 Contract *RolesTransactor // Generic write-only contract binding to access the raw methods on 7189 } 7190 7191 // NewRoles creates a new instance of Roles, bound to a specific deployed contract. 7192 func NewRoles(address common.Address, backend bind.ContractBackend) (*Roles, error) { 7193 contract, err := bindRoles(address, backend, backend, backend) 7194 if err != nil { 7195 return nil, err 7196 } 7197 return &Roles{RolesCaller: RolesCaller{contract: contract}, RolesTransactor: RolesTransactor{contract: contract}, RolesFilterer: RolesFilterer{contract: contract}}, nil 7198 } 7199 7200 // NewRolesCaller creates a new read-only instance of Roles, bound to a specific deployed contract. 7201 func NewRolesCaller(address common.Address, caller bind.ContractCaller) (*RolesCaller, error) { 7202 contract, err := bindRoles(address, caller, nil, nil) 7203 if err != nil { 7204 return nil, err 7205 } 7206 return &RolesCaller{contract: contract}, nil 7207 } 7208 7209 // NewRolesTransactor creates a new write-only instance of Roles, bound to a specific deployed contract. 7210 func NewRolesTransactor(address common.Address, transactor bind.ContractTransactor) (*RolesTransactor, error) { 7211 contract, err := bindRoles(address, nil, transactor, nil) 7212 if err != nil { 7213 return nil, err 7214 } 7215 return &RolesTransactor{contract: contract}, nil 7216 } 7217 7218 // NewRolesFilterer creates a new log filterer instance of Roles, bound to a specific deployed contract. 7219 func NewRolesFilterer(address common.Address, filterer bind.ContractFilterer) (*RolesFilterer, error) { 7220 contract, err := bindRoles(address, nil, nil, filterer) 7221 if err != nil { 7222 return nil, err 7223 } 7224 return &RolesFilterer{contract: contract}, nil 7225 } 7226 7227 // bindRoles binds a generic wrapper to an already deployed contract. 7228 func bindRoles(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 7229 parsed, err := abi.JSON(strings.NewReader(RolesABI)) 7230 if err != nil { 7231 return nil, err 7232 } 7233 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 7234 } 7235 7236 // Call invokes the (constant) contract method with params as input values and 7237 // sets the output to result. The result type might be a single field for simple 7238 // returns, a slice of interfaces for anonymous returns and a struct for named 7239 // returns. 7240 func (_Roles *RolesRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7241 return _Roles.Contract.RolesCaller.contract.Call(opts, result, method, params...) 7242 } 7243 7244 // Transfer initiates a plain transaction to move funds to the contract, calling 7245 // its default method if one is available. 7246 func (_Roles *RolesRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7247 return _Roles.Contract.RolesTransactor.contract.Transfer(opts) 7248 } 7249 7250 // Transact invokes the (paid) contract method with params as input values. 7251 func (_Roles *RolesRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7252 return _Roles.Contract.RolesTransactor.contract.Transact(opts, method, params...) 7253 } 7254 7255 // Call invokes the (constant) contract method with params as input values and 7256 // sets the output to result. The result type might be a single field for simple 7257 // returns, a slice of interfaces for anonymous returns and a struct for named 7258 // returns. 7259 func (_Roles *RolesCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7260 return _Roles.Contract.contract.Call(opts, result, method, params...) 7261 } 7262 7263 // Transfer initiates a plain transaction to move funds to the contract, calling 7264 // its default method if one is available. 7265 func (_Roles *RolesTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7266 return _Roles.Contract.contract.Transfer(opts) 7267 } 7268 7269 // Transact invokes the (paid) contract method with params as input values. 7270 func (_Roles *RolesTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7271 return _Roles.Contract.contract.Transact(opts, method, params...) 7272 } 7273 7274 // SafeMathABI is the input ABI used to generate the binding from. 7275 const SafeMathABI = "[]" 7276 7277 // SafeMathBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 7278 const SafeMathBinRuntime = `73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058201aa360e6241ae1bc829140fb38ae5ca1672181b2a5c529c4ca3a045ed2896feb0029` 7279 7280 // SafeMathBin is the compiled bytecode used for deploying new contracts. 7281 var SafeMathBin = "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058201aa360e6241ae1bc829140fb38ae5ca1672181b2a5c529c4ca3a045ed2896feb0029" 7282 7283 // DeploySafeMath deploys a new Klaytn contract, binding an instance of SafeMath to it. 7284 func DeploySafeMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeMath, error) { 7285 parsed, err := abi.JSON(strings.NewReader(SafeMathABI)) 7286 if err != nil { 7287 return common.Address{}, nil, nil, err 7288 } 7289 7290 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(SafeMathBin), backend) 7291 if err != nil { 7292 return common.Address{}, nil, nil, err 7293 } 7294 return address, tx, &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil 7295 } 7296 7297 // SafeMath is an auto generated Go binding around a Klaytn contract. 7298 type SafeMath struct { 7299 SafeMathCaller // Read-only binding to the contract 7300 SafeMathTransactor // Write-only binding to the contract 7301 SafeMathFilterer // Log filterer for contract events 7302 } 7303 7304 // SafeMathCaller is an auto generated read-only Go binding around a Klaytn contract. 7305 type SafeMathCaller struct { 7306 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7307 } 7308 7309 // SafeMathTransactor is an auto generated write-only Go binding around a Klaytn contract. 7310 type SafeMathTransactor struct { 7311 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7312 } 7313 7314 // SafeMathFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 7315 type SafeMathFilterer struct { 7316 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7317 } 7318 7319 // SafeMathSession is an auto generated Go binding around a Klaytn contract, 7320 // with pre-set call and transact options. 7321 type SafeMathSession struct { 7322 Contract *SafeMath // Generic contract binding to set the session for 7323 CallOpts bind.CallOpts // Call options to use throughout this session 7324 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7325 } 7326 7327 // SafeMathCallerSession is an auto generated read-only Go binding around a Klaytn contract, 7328 // with pre-set call options. 7329 type SafeMathCallerSession struct { 7330 Contract *SafeMathCaller // Generic contract caller binding to set the session for 7331 CallOpts bind.CallOpts // Call options to use throughout this session 7332 } 7333 7334 // SafeMathTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 7335 // with pre-set transact options. 7336 type SafeMathTransactorSession struct { 7337 Contract *SafeMathTransactor // Generic contract transactor binding to set the session for 7338 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7339 } 7340 7341 // SafeMathRaw is an auto generated low-level Go binding around a Klaytn contract. 7342 type SafeMathRaw struct { 7343 Contract *SafeMath // Generic contract binding to access the raw methods on 7344 } 7345 7346 // SafeMathCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 7347 type SafeMathCallerRaw struct { 7348 Contract *SafeMathCaller // Generic read-only contract binding to access the raw methods on 7349 } 7350 7351 // SafeMathTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 7352 type SafeMathTransactorRaw struct { 7353 Contract *SafeMathTransactor // Generic write-only contract binding to access the raw methods on 7354 } 7355 7356 // NewSafeMath creates a new instance of SafeMath, bound to a specific deployed contract. 7357 func NewSafeMath(address common.Address, backend bind.ContractBackend) (*SafeMath, error) { 7358 contract, err := bindSafeMath(address, backend, backend, backend) 7359 if err != nil { 7360 return nil, err 7361 } 7362 return &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil 7363 } 7364 7365 // NewSafeMathCaller creates a new read-only instance of SafeMath, bound to a specific deployed contract. 7366 func NewSafeMathCaller(address common.Address, caller bind.ContractCaller) (*SafeMathCaller, error) { 7367 contract, err := bindSafeMath(address, caller, nil, nil) 7368 if err != nil { 7369 return nil, err 7370 } 7371 return &SafeMathCaller{contract: contract}, nil 7372 } 7373 7374 // NewSafeMathTransactor creates a new write-only instance of SafeMath, bound to a specific deployed contract. 7375 func NewSafeMathTransactor(address common.Address, transactor bind.ContractTransactor) (*SafeMathTransactor, error) { 7376 contract, err := bindSafeMath(address, nil, transactor, nil) 7377 if err != nil { 7378 return nil, err 7379 } 7380 return &SafeMathTransactor{contract: contract}, nil 7381 } 7382 7383 // NewSafeMathFilterer creates a new log filterer instance of SafeMath, bound to a specific deployed contract. 7384 func NewSafeMathFilterer(address common.Address, filterer bind.ContractFilterer) (*SafeMathFilterer, error) { 7385 contract, err := bindSafeMath(address, nil, nil, filterer) 7386 if err != nil { 7387 return nil, err 7388 } 7389 return &SafeMathFilterer{contract: contract}, nil 7390 } 7391 7392 // bindSafeMath binds a generic wrapper to an already deployed contract. 7393 func bindSafeMath(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 7394 parsed, err := abi.JSON(strings.NewReader(SafeMathABI)) 7395 if err != nil { 7396 return nil, err 7397 } 7398 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 7399 } 7400 7401 // Call invokes the (constant) contract method with params as input values and 7402 // sets the output to result. The result type might be a single field for simple 7403 // returns, a slice of interfaces for anonymous returns and a struct for named 7404 // returns. 7405 func (_SafeMath *SafeMathRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7406 return _SafeMath.Contract.SafeMathCaller.contract.Call(opts, result, method, params...) 7407 } 7408 7409 // Transfer initiates a plain transaction to move funds to the contract, calling 7410 // its default method if one is available. 7411 func (_SafeMath *SafeMathRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7412 return _SafeMath.Contract.SafeMathTransactor.contract.Transfer(opts) 7413 } 7414 7415 // Transact invokes the (paid) contract method with params as input values. 7416 func (_SafeMath *SafeMathRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7417 return _SafeMath.Contract.SafeMathTransactor.contract.Transact(opts, method, params...) 7418 } 7419 7420 // Call invokes the (constant) contract method with params as input values and 7421 // sets the output to result. The result type might be a single field for simple 7422 // returns, a slice of interfaces for anonymous returns and a struct for named 7423 // returns. 7424 func (_SafeMath *SafeMathCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7425 return _SafeMath.Contract.contract.Call(opts, result, method, params...) 7426 } 7427 7428 // Transfer initiates a plain transaction to move funds to the contract, calling 7429 // its default method if one is available. 7430 func (_SafeMath *SafeMathTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7431 return _SafeMath.Contract.contract.Transfer(opts) 7432 } 7433 7434 // Transact invokes the (paid) contract method with params as input values. 7435 func (_SafeMath *SafeMathTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7436 return _SafeMath.Contract.contract.Transact(opts, method, params...) 7437 } 7438 7439 // ServiceChainNFTNoURIABI is the input ABI used to generate the binding from. 7440 const ServiceChainNFTNoURIABI = "[{\"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\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"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\":\"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\":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\":\"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\"}]" 7441 7442 // ServiceChainNFTNoURIBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 7443 const ServiceChainNFTNoURIBinRuntime = `608060405234801561001057600080fd5b506004361061014d5760003560e01c80637a9adac6116100c3578063a22cb4651161007c578063a22cb46514610421578063aa271e1a1461044f578063b88d4fde14610475578063e78cea921461053b578063e985e9c514610543578063f2fde38b146105715761014d565b80637a9adac61461038b5780638da5cb5b146103bd5780638dd14802146103c55780638f32d59b146103eb578063983b2d56146103f357806398650275146104195761014d565b806340c10f191161011557806340c10f19146102af57806342842e0e146102db57806342966c68146103115780636352211e1461032e57806370a082311461034b578063715018a6146103835761014d565b806301ffc9a714610152578063081812fc1461018d578063095ea7b3146101c657806323b872dd146101f45780633f4c4e3d1461022a575b600080fd5b6101796004803603602081101561016857600080fd5b50356001600160e01b031916610597565b604080519115158252519081900360200190f35b6101aa600480360360208110156101a357600080fd5b50356105b6565b604080516001600160a01b039092168252519081900360200190f35b6101f2600480360360408110156101dc57600080fd5b506001600160a01b03813516906020013561061b565b005b6101f26004803603606081101561020a57600080fd5b506001600160a01b03813581169160208101359091169060400135610732565b6101f26004803603606081101561024057600080fd5b8135916001600160a01b036020820135169181019060608101604082013564010000000081111561027057600080fd5b82018360208201111561028257600080fd5b803590602001918460018302840111640100000000831117156102a457600080fd5b50909250905061078a565b610179600480360360408110156102c557600080fd5b506001600160a01b038135169060200135610857565b6101f2600480360360608110156102f157600080fd5b506001600160a01b038135811691602081013590911690604001356108b3565b6101f26004803603602081101561032757600080fd5b50356108ce565b6101aa6004803603602081101561034457600080fd5b5035610922565b6103716004803603602081101561036157600080fd5b50356001600160a01b031661097f565b60408051918252519081900360200190f35b6101f26109ea565b6101f2600480360360608110156103a157600080fd5b506001600160a01b038135169060208101359060400135610a7e565b6101aa610aeb565b6101f2600480360360208110156103db57600080fd5b50356001600160a01b0316610afa565b610179610bcc565b6101f26004803603602081101561040957600080fd5b50356001600160a01b0316610bdd565b6101f2610c2d565b6101f26004803603604081101561043757600080fd5b506001600160a01b0381351690602001351515610c38565b6101796004803603602081101561046557600080fd5b50356001600160a01b0316610d07565b6101f26004803603608081101561048b57600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156104c657600080fd5b8201836020820111156104d857600080fd5b803590602001918460018302840111640100000000831117156104fa57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610d1a945050505050565b6101aa610d6f565b6101796004803603604081101561055957600080fd5b506001600160a01b0381358116916020013516610d7e565b6101f26004803603602081101561058757600080fd5b50356001600160a01b0316610dac565b6001600160e01b03191660009081526020819052604090205460ff1690565b60006105c182610dff565b6105ff57604051600160e51b62461bcd02815260040180806020018281038252602c81526020018061183f602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b600061062682610922565b9050806001600160a01b0316836001600160a01b0316141561067c57604051600160e51b62461bcd0281526004018080602001828103825260218152602001806118d66021913960400191505060405180910390fd5b336001600160a01b038216148061069857506106988133610d7e565b6106d657604051600160e51b62461bcd0281526004018080602001828103825260388152602001806117636038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b61073c3382610e1c565b61077a57604051600160e51b62461bcd0281526004018080602001828103825260318152602001806118f76031913960400191505060405180910390fd5b610785838383610ec3565b505050565b6007546107a29033906001600160a01b031686610732565b600754604051600160e41b630cf0da290281523360048201818152602483018890526001600160a01b0387811660448501526080606485019081526084850187905294169363cf0da290938992899289928992919060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561083957600080fd5b505af115801561084d573d6000803e3d6000fd5b5050505050505050565b600061086233610d07565b6108a057604051600160e51b62461bcd0281526004018080602001828103825260308152602001806117ee6030913960400191505060405180910390fd5b6108aa838361100d565b50600192915050565b61078583838360405180602001604052806000815250610d1a565b6108d83382610e1c565b61091657604051600160e51b62461bcd02815260040180806020018281038252603081526020018061194d6030913960400191505060405180910390fd5b61091f81611144565b50565b6000818152600160205260408120546001600160a01b03168061097957604051600160e51b62461bcd0281526004018080602001828103825260298152602001806117c56029913960400191505060405180910390fd5b92915050565b60006001600160a01b0382166109c957604051600160e51b62461bcd02815260040180806020018281038252602a81526020018061179b602a913960400191505060405180910390fd5b6001600160a01b038216600090815260036020526040902061097990611156565b6109f2610bcc565b610a345760408051600160e51b62461bcd028152602060048201819052602482015260008051602061186b833981519152604482015290519081900360640190fd5b6006546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600680546001600160a01b0319169055565b610a86610bcc565b610ac85760408051600160e51b62461bcd028152602060048201819052602482015260008051602061186b833981519152604482015290519081900360640190fd5b815b81811015610ae557610adc8482610857565b50600101610aca565b50505050565b6006546001600160a01b031690565b610b02610bcc565b610b445760408051600160e51b62461bcd028152602060048201819052602482015260008051602061186b833981519152604482015290519081900360640190fd5b610b56816001600160a01b031661115a565b610baa5760408051600160e51b62461bcd02815260206004820152601860248201527f627269646765206973206e6f74206120636f6e74726163740000000000000000604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6006546001600160a01b0316331490565b610be633610d07565b610c2457604051600160e51b62461bcd0281526004018080602001828103825260308152602001806117ee6030913960400191505060405180910390fd5b61091f81611160565b610c36336111a8565b565b6001600160a01b038216331415610c995760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b600061097960058363ffffffff6111f016565b610d25848484610732565b610d318484848461125a565b610ae557604051600160e51b62461bcd0281526004018080602001828103825260328152602001806116bb6032913960400191505060405180910390fd5b6007546001600160a01b031681565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b610db4610bcc565b610df65760408051600160e51b62461bcd028152602060048201819052602482015260008051602061186b833981519152604482015290519081900360640190fd5b61091f81611393565b6000908152600160205260409020546001600160a01b0316151590565b6000610e2782610dff565b610e6557604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611737602c913960400191505060405180910390fd5b6000610e7083610922565b9050806001600160a01b0316846001600160a01b03161480610eab5750836001600160a01b0316610ea0846105b6565b6001600160a01b0316145b80610ebb5750610ebb8185610d7e565b949350505050565b826001600160a01b0316610ed682610922565b6001600160a01b031614610f1e57604051600160e51b62461bcd0281526004018080602001828103825260298152602001806118ad6029913960400191505060405180910390fd5b6001600160a01b038216610f6657604051600160e51b62461bcd0281526004018080602001828103825260248152602001806117136024913960400191505060405180910390fd5b610f6f81611437565b6001600160a01b0383166000908152600360205260409020610f9090611472565b6001600160a01b0382166000908152600360205260409020610fb190611489565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b03821661106b5760408051600160e51b62461bcd02815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61107481610dff565b156110c95760408051600160e51b62461bcd02815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b600081815260016020908152604080832080546001600160a01b0319166001600160a01b03871690811790915583526003909152902061110890611489565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b61091f61115082610922565b82611492565b5490565b3b151590565b61117160058263ffffffff61156c16565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6111b960058263ffffffff6115f016565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b03821661123a57604051600160e51b62461bcd02815260040180806020018281038252602281526020018061188b6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b600061126e846001600160a01b031661115a565b61127a57506001610ebb565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b838110156112f75781810151838201526020016112df565b50505050905090810190601f1680156113245780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561134657600080fd5b505af115801561135a573d6000803e3d6000fd5b505050506040513d602081101561137057600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6001600160a01b0381166113db57604051600160e51b62461bcd0281526004018080602001828103825260268152602001806116ed6026913960400191505060405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152600260205260409020546001600160a01b03161561091f57600090815260026020526040902080546001600160a01b0319169055565b805461148590600163ffffffff61165a16565b9055565b80546001019055565b816001600160a01b03166114a582610922565b6001600160a01b0316146114ed57604051600160e51b62461bcd0281526004018080602001828103825260258152602001806119286025913960400191505060405180910390fd5b6114f681611437565b6001600160a01b038216600090815260036020526040902061151790611472565b60008181526001602052604080822080546001600160a01b0319169055518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b61157682826111f0565b156115cb5760408051600160e51b62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b6115fa82826111f0565b61163857604051600160e51b62461bcd02815260040180806020018281038252602181526020018061181e6021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b6000828211156116b45760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c654552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572526f6c65733a206163636f756e7420697320746865207a65726f20616464726573734552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a72305820a5f3ec0ec1c34b54821789aed004f766f6f7c6990f063cda51c4cf499bff03b60029` 7444 7445 // ServiceChainNFTNoURIFuncSigs maps the 4-byte function signature to its string representation. 7446 var ServiceChainNFTNoURIFuncSigs = map[string]string{ 7447 "983b2d56": "addMinter(address)", 7448 "095ea7b3": "approve(address,uint256)", 7449 "70a08231": "balanceOf(address)", 7450 "e78cea92": "bridge()", 7451 "42966c68": "burn(uint256)", 7452 "081812fc": "getApproved(uint256)", 7453 "e985e9c5": "isApprovedForAll(address,address)", 7454 "aa271e1a": "isMinter(address)", 7455 "8f32d59b": "isOwner()", 7456 "40c10f19": "mint(address,uint256)", 7457 "8da5cb5b": "owner()", 7458 "6352211e": "ownerOf(uint256)", 7459 "7a9adac6": "registerBulk(address,uint256,uint256)", 7460 "98650275": "renounceMinter()", 7461 "715018a6": "renounceOwnership()", 7462 "3f4c4e3d": "requestValueTransfer(uint256,address,bytes)", 7463 "42842e0e": "safeTransferFrom(address,address,uint256)", 7464 "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)", 7465 "a22cb465": "setApprovalForAll(address,bool)", 7466 "8dd14802": "setBridge(address)", 7467 "01ffc9a7": "supportsInterface(bytes4)", 7468 "23b872dd": "transferFrom(address,address,uint256)", 7469 "f2fde38b": "transferOwnership(address)", 7470 } 7471 7472 // ServiceChainNFTNoURIBin is the compiled bytecode used for deploying new contracts. 7473 var ServiceChainNFTNoURIBin = "0x60806040523480156200001157600080fd5b5060405160208062001e58833981018060405260208110156200003357600080fd5b505180620000687f01ffc9a700000000000000000000000000000000000000000000000000000000620000f6602090811b901c565b620000806380ac58cd60e01b620000f660201b60201c565b6200009133620001c560201b60201c565b600680546001600160a01b0319163317908190556040516001600160a01b0391909116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3620000ee816200021760201b60201c565b50506200047e565b7fffffffff0000000000000000000000000000000000000000000000000000000080821614156200018857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b620001e08160056200034060201b6200156c1790919060201c565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b62000227620003e460201b60201c565b6200029357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b620002b2816001600160a01b0316620003f560201b6200115a1760201c565b6200031e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f627269646765206973206e6f74206120636f6e74726163740000000000000000604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b620003528282620003fb60201b60201c565b15620003bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b6006546001600160a01b0316331490565b3b151590565b60006001600160a01b0382166200045e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018062001e366022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6119a8806200048e6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80637a9adac6116100c3578063a22cb4651161007c578063a22cb46514610421578063aa271e1a1461044f578063b88d4fde14610475578063e78cea921461053b578063e985e9c514610543578063f2fde38b146105715761014d565b80637a9adac61461038b5780638da5cb5b146103bd5780638dd14802146103c55780638f32d59b146103eb578063983b2d56146103f357806398650275146104195761014d565b806340c10f191161011557806340c10f19146102af57806342842e0e146102db57806342966c68146103115780636352211e1461032e57806370a082311461034b578063715018a6146103835761014d565b806301ffc9a714610152578063081812fc1461018d578063095ea7b3146101c657806323b872dd146101f45780633f4c4e3d1461022a575b600080fd5b6101796004803603602081101561016857600080fd5b50356001600160e01b031916610597565b604080519115158252519081900360200190f35b6101aa600480360360208110156101a357600080fd5b50356105b6565b604080516001600160a01b039092168252519081900360200190f35b6101f2600480360360408110156101dc57600080fd5b506001600160a01b03813516906020013561061b565b005b6101f26004803603606081101561020a57600080fd5b506001600160a01b03813581169160208101359091169060400135610732565b6101f26004803603606081101561024057600080fd5b8135916001600160a01b036020820135169181019060608101604082013564010000000081111561027057600080fd5b82018360208201111561028257600080fd5b803590602001918460018302840111640100000000831117156102a457600080fd5b50909250905061078a565b610179600480360360408110156102c557600080fd5b506001600160a01b038135169060200135610857565b6101f2600480360360608110156102f157600080fd5b506001600160a01b038135811691602081013590911690604001356108b3565b6101f26004803603602081101561032757600080fd5b50356108ce565b6101aa6004803603602081101561034457600080fd5b5035610922565b6103716004803603602081101561036157600080fd5b50356001600160a01b031661097f565b60408051918252519081900360200190f35b6101f26109ea565b6101f2600480360360608110156103a157600080fd5b506001600160a01b038135169060208101359060400135610a7e565b6101aa610aeb565b6101f2600480360360208110156103db57600080fd5b50356001600160a01b0316610afa565b610179610bcc565b6101f26004803603602081101561040957600080fd5b50356001600160a01b0316610bdd565b6101f2610c2d565b6101f26004803603604081101561043757600080fd5b506001600160a01b0381351690602001351515610c38565b6101796004803603602081101561046557600080fd5b50356001600160a01b0316610d07565b6101f26004803603608081101561048b57600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156104c657600080fd5b8201836020820111156104d857600080fd5b803590602001918460018302840111640100000000831117156104fa57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610d1a945050505050565b6101aa610d6f565b6101796004803603604081101561055957600080fd5b506001600160a01b0381358116916020013516610d7e565b6101f26004803603602081101561058757600080fd5b50356001600160a01b0316610dac565b6001600160e01b03191660009081526020819052604090205460ff1690565b60006105c182610dff565b6105ff57604051600160e51b62461bcd02815260040180806020018281038252602c81526020018061183f602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b600061062682610922565b9050806001600160a01b0316836001600160a01b0316141561067c57604051600160e51b62461bcd0281526004018080602001828103825260218152602001806118d66021913960400191505060405180910390fd5b336001600160a01b038216148061069857506106988133610d7e565b6106d657604051600160e51b62461bcd0281526004018080602001828103825260388152602001806117636038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b61073c3382610e1c565b61077a57604051600160e51b62461bcd0281526004018080602001828103825260318152602001806118f76031913960400191505060405180910390fd5b610785838383610ec3565b505050565b6007546107a29033906001600160a01b031686610732565b600754604051600160e41b630cf0da290281523360048201818152602483018890526001600160a01b0387811660448501526080606485019081526084850187905294169363cf0da290938992899289928992919060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561083957600080fd5b505af115801561084d573d6000803e3d6000fd5b5050505050505050565b600061086233610d07565b6108a057604051600160e51b62461bcd0281526004018080602001828103825260308152602001806117ee6030913960400191505060405180910390fd5b6108aa838361100d565b50600192915050565b61078583838360405180602001604052806000815250610d1a565b6108d83382610e1c565b61091657604051600160e51b62461bcd02815260040180806020018281038252603081526020018061194d6030913960400191505060405180910390fd5b61091f81611144565b50565b6000818152600160205260408120546001600160a01b03168061097957604051600160e51b62461bcd0281526004018080602001828103825260298152602001806117c56029913960400191505060405180910390fd5b92915050565b60006001600160a01b0382166109c957604051600160e51b62461bcd02815260040180806020018281038252602a81526020018061179b602a913960400191505060405180910390fd5b6001600160a01b038216600090815260036020526040902061097990611156565b6109f2610bcc565b610a345760408051600160e51b62461bcd028152602060048201819052602482015260008051602061186b833981519152604482015290519081900360640190fd5b6006546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600680546001600160a01b0319169055565b610a86610bcc565b610ac85760408051600160e51b62461bcd028152602060048201819052602482015260008051602061186b833981519152604482015290519081900360640190fd5b815b81811015610ae557610adc8482610857565b50600101610aca565b50505050565b6006546001600160a01b031690565b610b02610bcc565b610b445760408051600160e51b62461bcd028152602060048201819052602482015260008051602061186b833981519152604482015290519081900360640190fd5b610b56816001600160a01b031661115a565b610baa5760408051600160e51b62461bcd02815260206004820152601860248201527f627269646765206973206e6f74206120636f6e74726163740000000000000000604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6006546001600160a01b0316331490565b610be633610d07565b610c2457604051600160e51b62461bcd0281526004018080602001828103825260308152602001806117ee6030913960400191505060405180910390fd5b61091f81611160565b610c36336111a8565b565b6001600160a01b038216331415610c995760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b600061097960058363ffffffff6111f016565b610d25848484610732565b610d318484848461125a565b610ae557604051600160e51b62461bcd0281526004018080602001828103825260328152602001806116bb6032913960400191505060405180910390fd5b6007546001600160a01b031681565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b610db4610bcc565b610df65760408051600160e51b62461bcd028152602060048201819052602482015260008051602061186b833981519152604482015290519081900360640190fd5b61091f81611393565b6000908152600160205260409020546001600160a01b0316151590565b6000610e2782610dff565b610e6557604051600160e51b62461bcd02815260040180806020018281038252602c815260200180611737602c913960400191505060405180910390fd5b6000610e7083610922565b9050806001600160a01b0316846001600160a01b03161480610eab5750836001600160a01b0316610ea0846105b6565b6001600160a01b0316145b80610ebb5750610ebb8185610d7e565b949350505050565b826001600160a01b0316610ed682610922565b6001600160a01b031614610f1e57604051600160e51b62461bcd0281526004018080602001828103825260298152602001806118ad6029913960400191505060405180910390fd5b6001600160a01b038216610f6657604051600160e51b62461bcd0281526004018080602001828103825260248152602001806117136024913960400191505060405180910390fd5b610f6f81611437565b6001600160a01b0383166000908152600360205260409020610f9090611472565b6001600160a01b0382166000908152600360205260409020610fb190611489565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b03821661106b5760408051600160e51b62461bcd02815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61107481610dff565b156110c95760408051600160e51b62461bcd02815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b600081815260016020908152604080832080546001600160a01b0319166001600160a01b03871690811790915583526003909152902061110890611489565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b61091f61115082610922565b82611492565b5490565b3b151590565b61117160058263ffffffff61156c16565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6111b960058263ffffffff6115f016565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b03821661123a57604051600160e51b62461bcd02815260040180806020018281038252602281526020018061188b6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b600061126e846001600160a01b031661115a565b61127a57506001610ebb565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b838110156112f75781810151838201526020016112df565b50505050905090810190601f1680156113245780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561134657600080fd5b505af115801561135a573d6000803e3d6000fd5b505050506040513d602081101561137057600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6001600160a01b0381166113db57604051600160e51b62461bcd0281526004018080602001828103825260268152602001806116ed6026913960400191505060405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152600260205260409020546001600160a01b03161561091f57600090815260026020526040902080546001600160a01b0319169055565b805461148590600163ffffffff61165a16565b9055565b80546001019055565b816001600160a01b03166114a582610922565b6001600160a01b0316146114ed57604051600160e51b62461bcd0281526004018080602001828103825260258152602001806119286025913960400191505060405180910390fd5b6114f681611437565b6001600160a01b038216600090815260036020526040902061151790611472565b60008181526001602052604080822080546001600160a01b0319169055518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b61157682826111f0565b156115cb5760408051600160e51b62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b6115fa82826111f0565b61163857604051600160e51b62461bcd02815260040180806020018281038252602181526020018061181e6021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b6000828211156116b45760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c654552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572526f6c65733a206163636f756e7420697320746865207a65726f20616464726573734552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a72305820a5f3ec0ec1c34b54821789aed004f766f6f7c6990f063cda51c4cf499bff03b60029526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373" 7474 7475 // DeployServiceChainNFTNoURI deploys a new Klaytn contract, binding an instance of ServiceChainNFTNoURI to it. 7476 func DeployServiceChainNFTNoURI(auth *bind.TransactOpts, backend bind.ContractBackend, _bridge common.Address) (common.Address, *types.Transaction, *ServiceChainNFTNoURI, error) { 7477 parsed, err := abi.JSON(strings.NewReader(ServiceChainNFTNoURIABI)) 7478 if err != nil { 7479 return common.Address{}, nil, nil, err 7480 } 7481 7482 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ServiceChainNFTNoURIBin), backend, _bridge) 7483 if err != nil { 7484 return common.Address{}, nil, nil, err 7485 } 7486 return address, tx, &ServiceChainNFTNoURI{ServiceChainNFTNoURICaller: ServiceChainNFTNoURICaller{contract: contract}, ServiceChainNFTNoURITransactor: ServiceChainNFTNoURITransactor{contract: contract}, ServiceChainNFTNoURIFilterer: ServiceChainNFTNoURIFilterer{contract: contract}}, nil 7487 } 7488 7489 // ServiceChainNFTNoURI is an auto generated Go binding around a Klaytn contract. 7490 type ServiceChainNFTNoURI struct { 7491 ServiceChainNFTNoURICaller // Read-only binding to the contract 7492 ServiceChainNFTNoURITransactor // Write-only binding to the contract 7493 ServiceChainNFTNoURIFilterer // Log filterer for contract events 7494 } 7495 7496 // ServiceChainNFTNoURICaller is an auto generated read-only Go binding around a Klaytn contract. 7497 type ServiceChainNFTNoURICaller struct { 7498 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7499 } 7500 7501 // ServiceChainNFTNoURITransactor is an auto generated write-only Go binding around a Klaytn contract. 7502 type ServiceChainNFTNoURITransactor struct { 7503 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7504 } 7505 7506 // ServiceChainNFTNoURIFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 7507 type ServiceChainNFTNoURIFilterer struct { 7508 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7509 } 7510 7511 // ServiceChainNFTNoURISession is an auto generated Go binding around a Klaytn contract, 7512 // with pre-set call and transact options. 7513 type ServiceChainNFTNoURISession struct { 7514 Contract *ServiceChainNFTNoURI // Generic contract binding to set the session for 7515 CallOpts bind.CallOpts // Call options to use throughout this session 7516 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7517 } 7518 7519 // ServiceChainNFTNoURICallerSession is an auto generated read-only Go binding around a Klaytn contract, 7520 // with pre-set call options. 7521 type ServiceChainNFTNoURICallerSession struct { 7522 Contract *ServiceChainNFTNoURICaller // Generic contract caller binding to set the session for 7523 CallOpts bind.CallOpts // Call options to use throughout this session 7524 } 7525 7526 // ServiceChainNFTNoURITransactorSession is an auto generated write-only Go binding around a Klaytn contract, 7527 // with pre-set transact options. 7528 type ServiceChainNFTNoURITransactorSession struct { 7529 Contract *ServiceChainNFTNoURITransactor // Generic contract transactor binding to set the session for 7530 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7531 } 7532 7533 // ServiceChainNFTNoURIRaw is an auto generated low-level Go binding around a Klaytn contract. 7534 type ServiceChainNFTNoURIRaw struct { 7535 Contract *ServiceChainNFTNoURI // Generic contract binding to access the raw methods on 7536 } 7537 7538 // ServiceChainNFTNoURICallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 7539 type ServiceChainNFTNoURICallerRaw struct { 7540 Contract *ServiceChainNFTNoURICaller // Generic read-only contract binding to access the raw methods on 7541 } 7542 7543 // ServiceChainNFTNoURITransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 7544 type ServiceChainNFTNoURITransactorRaw struct { 7545 Contract *ServiceChainNFTNoURITransactor // Generic write-only contract binding to access the raw methods on 7546 } 7547 7548 // NewServiceChainNFTNoURI creates a new instance of ServiceChainNFTNoURI, bound to a specific deployed contract. 7549 func NewServiceChainNFTNoURI(address common.Address, backend bind.ContractBackend) (*ServiceChainNFTNoURI, error) { 7550 contract, err := bindServiceChainNFTNoURI(address, backend, backend, backend) 7551 if err != nil { 7552 return nil, err 7553 } 7554 return &ServiceChainNFTNoURI{ServiceChainNFTNoURICaller: ServiceChainNFTNoURICaller{contract: contract}, ServiceChainNFTNoURITransactor: ServiceChainNFTNoURITransactor{contract: contract}, ServiceChainNFTNoURIFilterer: ServiceChainNFTNoURIFilterer{contract: contract}}, nil 7555 } 7556 7557 // NewServiceChainNFTNoURICaller creates a new read-only instance of ServiceChainNFTNoURI, bound to a specific deployed contract. 7558 func NewServiceChainNFTNoURICaller(address common.Address, caller bind.ContractCaller) (*ServiceChainNFTNoURICaller, error) { 7559 contract, err := bindServiceChainNFTNoURI(address, caller, nil, nil) 7560 if err != nil { 7561 return nil, err 7562 } 7563 return &ServiceChainNFTNoURICaller{contract: contract}, nil 7564 } 7565 7566 // NewServiceChainNFTNoURITransactor creates a new write-only instance of ServiceChainNFTNoURI, bound to a specific deployed contract. 7567 func NewServiceChainNFTNoURITransactor(address common.Address, transactor bind.ContractTransactor) (*ServiceChainNFTNoURITransactor, error) { 7568 contract, err := bindServiceChainNFTNoURI(address, nil, transactor, nil) 7569 if err != nil { 7570 return nil, err 7571 } 7572 return &ServiceChainNFTNoURITransactor{contract: contract}, nil 7573 } 7574 7575 // NewServiceChainNFTNoURIFilterer creates a new log filterer instance of ServiceChainNFTNoURI, bound to a specific deployed contract. 7576 func NewServiceChainNFTNoURIFilterer(address common.Address, filterer bind.ContractFilterer) (*ServiceChainNFTNoURIFilterer, error) { 7577 contract, err := bindServiceChainNFTNoURI(address, nil, nil, filterer) 7578 if err != nil { 7579 return nil, err 7580 } 7581 return &ServiceChainNFTNoURIFilterer{contract: contract}, nil 7582 } 7583 7584 // bindServiceChainNFTNoURI binds a generic wrapper to an already deployed contract. 7585 func bindServiceChainNFTNoURI(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 7586 parsed, err := abi.JSON(strings.NewReader(ServiceChainNFTNoURIABI)) 7587 if err != nil { 7588 return nil, err 7589 } 7590 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 7591 } 7592 7593 // Call invokes the (constant) contract method with params as input values and 7594 // sets the output to result. The result type might be a single field for simple 7595 // returns, a slice of interfaces for anonymous returns and a struct for named 7596 // returns. 7597 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7598 return _ServiceChainNFTNoURI.Contract.ServiceChainNFTNoURICaller.contract.Call(opts, result, method, params...) 7599 } 7600 7601 // Transfer initiates a plain transaction to move funds to the contract, calling 7602 // its default method if one is available. 7603 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7604 return _ServiceChainNFTNoURI.Contract.ServiceChainNFTNoURITransactor.contract.Transfer(opts) 7605 } 7606 7607 // Transact invokes the (paid) contract method with params as input values. 7608 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7609 return _ServiceChainNFTNoURI.Contract.ServiceChainNFTNoURITransactor.contract.Transact(opts, method, params...) 7610 } 7611 7612 // Call invokes the (constant) contract method with params as input values and 7613 // sets the output to result. The result type might be a single field for simple 7614 // returns, a slice of interfaces for anonymous returns and a struct for named 7615 // returns. 7616 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7617 return _ServiceChainNFTNoURI.Contract.contract.Call(opts, result, method, params...) 7618 } 7619 7620 // Transfer initiates a plain transaction to move funds to the contract, calling 7621 // its default method if one is available. 7622 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7623 return _ServiceChainNFTNoURI.Contract.contract.Transfer(opts) 7624 } 7625 7626 // Transact invokes the (paid) contract method with params as input values. 7627 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7628 return _ServiceChainNFTNoURI.Contract.contract.Transact(opts, method, params...) 7629 } 7630 7631 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 7632 // 7633 // Solidity: function balanceOf(address owner) view returns(uint256) 7634 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 7635 var ( 7636 ret0 = new(*big.Int) 7637 ) 7638 out := ret0 7639 err := _ServiceChainNFTNoURI.contract.Call(opts, out, "balanceOf", owner) 7640 return *ret0, err 7641 } 7642 7643 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 7644 // 7645 // Solidity: function balanceOf(address owner) view returns(uint256) 7646 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) BalanceOf(owner common.Address) (*big.Int, error) { 7647 return _ServiceChainNFTNoURI.Contract.BalanceOf(&_ServiceChainNFTNoURI.CallOpts, owner) 7648 } 7649 7650 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 7651 // 7652 // Solidity: function balanceOf(address owner) view returns(uint256) 7653 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 7654 return _ServiceChainNFTNoURI.Contract.BalanceOf(&_ServiceChainNFTNoURI.CallOpts, owner) 7655 } 7656 7657 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 7658 // 7659 // Solidity: function bridge() view returns(address) 7660 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICaller) Bridge(opts *bind.CallOpts) (common.Address, error) { 7661 var ( 7662 ret0 = new(common.Address) 7663 ) 7664 out := ret0 7665 err := _ServiceChainNFTNoURI.contract.Call(opts, out, "bridge") 7666 return *ret0, err 7667 } 7668 7669 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 7670 // 7671 // Solidity: function bridge() view returns(address) 7672 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) Bridge() (common.Address, error) { 7673 return _ServiceChainNFTNoURI.Contract.Bridge(&_ServiceChainNFTNoURI.CallOpts) 7674 } 7675 7676 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 7677 // 7678 // Solidity: function bridge() view returns(address) 7679 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICallerSession) Bridge() (common.Address, error) { 7680 return _ServiceChainNFTNoURI.Contract.Bridge(&_ServiceChainNFTNoURI.CallOpts) 7681 } 7682 7683 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 7684 // 7685 // Solidity: function getApproved(uint256 tokenId) view returns(address) 7686 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 7687 var ( 7688 ret0 = new(common.Address) 7689 ) 7690 out := ret0 7691 err := _ServiceChainNFTNoURI.contract.Call(opts, out, "getApproved", tokenId) 7692 return *ret0, err 7693 } 7694 7695 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 7696 // 7697 // Solidity: function getApproved(uint256 tokenId) view returns(address) 7698 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) GetApproved(tokenId *big.Int) (common.Address, error) { 7699 return _ServiceChainNFTNoURI.Contract.GetApproved(&_ServiceChainNFTNoURI.CallOpts, tokenId) 7700 } 7701 7702 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 7703 // 7704 // Solidity: function getApproved(uint256 tokenId) view returns(address) 7705 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { 7706 return _ServiceChainNFTNoURI.Contract.GetApproved(&_ServiceChainNFTNoURI.CallOpts, tokenId) 7707 } 7708 7709 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 7710 // 7711 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 7712 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { 7713 var ( 7714 ret0 = new(bool) 7715 ) 7716 out := ret0 7717 err := _ServiceChainNFTNoURI.contract.Call(opts, out, "isApprovedForAll", owner, operator) 7718 return *ret0, err 7719 } 7720 7721 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 7722 // 7723 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 7724 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 7725 return _ServiceChainNFTNoURI.Contract.IsApprovedForAll(&_ServiceChainNFTNoURI.CallOpts, owner, operator) 7726 } 7727 7728 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 7729 // 7730 // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) 7731 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { 7732 return _ServiceChainNFTNoURI.Contract.IsApprovedForAll(&_ServiceChainNFTNoURI.CallOpts, owner, operator) 7733 } 7734 7735 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 7736 // 7737 // Solidity: function isMinter(address account) view returns(bool) 7738 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { 7739 var ( 7740 ret0 = new(bool) 7741 ) 7742 out := ret0 7743 err := _ServiceChainNFTNoURI.contract.Call(opts, out, "isMinter", account) 7744 return *ret0, err 7745 } 7746 7747 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 7748 // 7749 // Solidity: function isMinter(address account) view returns(bool) 7750 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) IsMinter(account common.Address) (bool, error) { 7751 return _ServiceChainNFTNoURI.Contract.IsMinter(&_ServiceChainNFTNoURI.CallOpts, account) 7752 } 7753 7754 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 7755 // 7756 // Solidity: function isMinter(address account) view returns(bool) 7757 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICallerSession) IsMinter(account common.Address) (bool, error) { 7758 return _ServiceChainNFTNoURI.Contract.IsMinter(&_ServiceChainNFTNoURI.CallOpts, account) 7759 } 7760 7761 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 7762 // 7763 // Solidity: function isOwner() view returns(bool) 7764 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICaller) IsOwner(opts *bind.CallOpts) (bool, error) { 7765 var ( 7766 ret0 = new(bool) 7767 ) 7768 out := ret0 7769 err := _ServiceChainNFTNoURI.contract.Call(opts, out, "isOwner") 7770 return *ret0, err 7771 } 7772 7773 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 7774 // 7775 // Solidity: function isOwner() view returns(bool) 7776 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) IsOwner() (bool, error) { 7777 return _ServiceChainNFTNoURI.Contract.IsOwner(&_ServiceChainNFTNoURI.CallOpts) 7778 } 7779 7780 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 7781 // 7782 // Solidity: function isOwner() view returns(bool) 7783 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICallerSession) IsOwner() (bool, error) { 7784 return _ServiceChainNFTNoURI.Contract.IsOwner(&_ServiceChainNFTNoURI.CallOpts) 7785 } 7786 7787 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 7788 // 7789 // Solidity: function owner() view returns(address) 7790 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICaller) Owner(opts *bind.CallOpts) (common.Address, error) { 7791 var ( 7792 ret0 = new(common.Address) 7793 ) 7794 out := ret0 7795 err := _ServiceChainNFTNoURI.contract.Call(opts, out, "owner") 7796 return *ret0, err 7797 } 7798 7799 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 7800 // 7801 // Solidity: function owner() view returns(address) 7802 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) Owner() (common.Address, error) { 7803 return _ServiceChainNFTNoURI.Contract.Owner(&_ServiceChainNFTNoURI.CallOpts) 7804 } 7805 7806 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 7807 // 7808 // Solidity: function owner() view returns(address) 7809 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICallerSession) Owner() (common.Address, error) { 7810 return _ServiceChainNFTNoURI.Contract.Owner(&_ServiceChainNFTNoURI.CallOpts) 7811 } 7812 7813 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 7814 // 7815 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 7816 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { 7817 var ( 7818 ret0 = new(common.Address) 7819 ) 7820 out := ret0 7821 err := _ServiceChainNFTNoURI.contract.Call(opts, out, "ownerOf", tokenId) 7822 return *ret0, err 7823 } 7824 7825 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 7826 // 7827 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 7828 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) OwnerOf(tokenId *big.Int) (common.Address, error) { 7829 return _ServiceChainNFTNoURI.Contract.OwnerOf(&_ServiceChainNFTNoURI.CallOpts, tokenId) 7830 } 7831 7832 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 7833 // 7834 // Solidity: function ownerOf(uint256 tokenId) view returns(address) 7835 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { 7836 return _ServiceChainNFTNoURI.Contract.OwnerOf(&_ServiceChainNFTNoURI.CallOpts, tokenId) 7837 } 7838 7839 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 7840 // 7841 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 7842 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 7843 var ( 7844 ret0 = new(bool) 7845 ) 7846 out := ret0 7847 err := _ServiceChainNFTNoURI.contract.Call(opts, out, "supportsInterface", interfaceId) 7848 return *ret0, err 7849 } 7850 7851 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 7852 // 7853 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 7854 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) SupportsInterface(interfaceId [4]byte) (bool, error) { 7855 return _ServiceChainNFTNoURI.Contract.SupportsInterface(&_ServiceChainNFTNoURI.CallOpts, interfaceId) 7856 } 7857 7858 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 7859 // 7860 // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) 7861 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURICallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 7862 return _ServiceChainNFTNoURI.Contract.SupportsInterface(&_ServiceChainNFTNoURI.CallOpts, interfaceId) 7863 } 7864 7865 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 7866 // 7867 // Solidity: function addMinter(address account) returns() 7868 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 7869 return _ServiceChainNFTNoURI.contract.Transact(opts, "addMinter", account) 7870 } 7871 7872 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 7873 // 7874 // Solidity: function addMinter(address account) returns() 7875 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) AddMinter(account common.Address) (*types.Transaction, error) { 7876 return _ServiceChainNFTNoURI.Contract.AddMinter(&_ServiceChainNFTNoURI.TransactOpts, account) 7877 } 7878 7879 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 7880 // 7881 // Solidity: function addMinter(address account) returns() 7882 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 7883 return _ServiceChainNFTNoURI.Contract.AddMinter(&_ServiceChainNFTNoURI.TransactOpts, account) 7884 } 7885 7886 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 7887 // 7888 // Solidity: function approve(address to, uint256 tokenId) returns() 7889 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7890 return _ServiceChainNFTNoURI.contract.Transact(opts, "approve", to, tokenId) 7891 } 7892 7893 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 7894 // 7895 // Solidity: function approve(address to, uint256 tokenId) returns() 7896 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7897 return _ServiceChainNFTNoURI.Contract.Approve(&_ServiceChainNFTNoURI.TransactOpts, to, tokenId) 7898 } 7899 7900 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 7901 // 7902 // Solidity: function approve(address to, uint256 tokenId) returns() 7903 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7904 return _ServiceChainNFTNoURI.Contract.Approve(&_ServiceChainNFTNoURI.TransactOpts, to, tokenId) 7905 } 7906 7907 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 7908 // 7909 // Solidity: function burn(uint256 tokenId) returns() 7910 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactor) Burn(opts *bind.TransactOpts, tokenId *big.Int) (*types.Transaction, error) { 7911 return _ServiceChainNFTNoURI.contract.Transact(opts, "burn", tokenId) 7912 } 7913 7914 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 7915 // 7916 // Solidity: function burn(uint256 tokenId) returns() 7917 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) Burn(tokenId *big.Int) (*types.Transaction, error) { 7918 return _ServiceChainNFTNoURI.Contract.Burn(&_ServiceChainNFTNoURI.TransactOpts, tokenId) 7919 } 7920 7921 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 7922 // 7923 // Solidity: function burn(uint256 tokenId) returns() 7924 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactorSession) Burn(tokenId *big.Int) (*types.Transaction, error) { 7925 return _ServiceChainNFTNoURI.Contract.Burn(&_ServiceChainNFTNoURI.TransactOpts, tokenId) 7926 } 7927 7928 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 7929 // 7930 // Solidity: function mint(address to, uint256 tokenId) returns(bool) 7931 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactor) Mint(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7932 return _ServiceChainNFTNoURI.contract.Transact(opts, "mint", to, tokenId) 7933 } 7934 7935 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 7936 // 7937 // Solidity: function mint(address to, uint256 tokenId) returns(bool) 7938 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) Mint(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7939 return _ServiceChainNFTNoURI.Contract.Mint(&_ServiceChainNFTNoURI.TransactOpts, to, tokenId) 7940 } 7941 7942 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 7943 // 7944 // Solidity: function mint(address to, uint256 tokenId) returns(bool) 7945 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactorSession) Mint(to common.Address, tokenId *big.Int) (*types.Transaction, error) { 7946 return _ServiceChainNFTNoURI.Contract.Mint(&_ServiceChainNFTNoURI.TransactOpts, to, tokenId) 7947 } 7948 7949 // RegisterBulk is a paid mutator transaction binding the contract method 0x7a9adac6. 7950 // 7951 // Solidity: function registerBulk(address _user, uint256 _startID, uint256 _endID) returns() 7952 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactor) RegisterBulk(opts *bind.TransactOpts, _user common.Address, _startID *big.Int, _endID *big.Int) (*types.Transaction, error) { 7953 return _ServiceChainNFTNoURI.contract.Transact(opts, "registerBulk", _user, _startID, _endID) 7954 } 7955 7956 // RegisterBulk is a paid mutator transaction binding the contract method 0x7a9adac6. 7957 // 7958 // Solidity: function registerBulk(address _user, uint256 _startID, uint256 _endID) returns() 7959 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) RegisterBulk(_user common.Address, _startID *big.Int, _endID *big.Int) (*types.Transaction, error) { 7960 return _ServiceChainNFTNoURI.Contract.RegisterBulk(&_ServiceChainNFTNoURI.TransactOpts, _user, _startID, _endID) 7961 } 7962 7963 // RegisterBulk is a paid mutator transaction binding the contract method 0x7a9adac6. 7964 // 7965 // Solidity: function registerBulk(address _user, uint256 _startID, uint256 _endID) returns() 7966 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactorSession) RegisterBulk(_user common.Address, _startID *big.Int, _endID *big.Int) (*types.Transaction, error) { 7967 return _ServiceChainNFTNoURI.Contract.RegisterBulk(&_ServiceChainNFTNoURI.TransactOpts, _user, _startID, _endID) 7968 } 7969 7970 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 7971 // 7972 // Solidity: function renounceMinter() returns() 7973 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { 7974 return _ServiceChainNFTNoURI.contract.Transact(opts, "renounceMinter") 7975 } 7976 7977 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 7978 // 7979 // Solidity: function renounceMinter() returns() 7980 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) RenounceMinter() (*types.Transaction, error) { 7981 return _ServiceChainNFTNoURI.Contract.RenounceMinter(&_ServiceChainNFTNoURI.TransactOpts) 7982 } 7983 7984 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 7985 // 7986 // Solidity: function renounceMinter() returns() 7987 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactorSession) RenounceMinter() (*types.Transaction, error) { 7988 return _ServiceChainNFTNoURI.Contract.RenounceMinter(&_ServiceChainNFTNoURI.TransactOpts) 7989 } 7990 7991 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7992 // 7993 // Solidity: function renounceOwnership() returns() 7994 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 7995 return _ServiceChainNFTNoURI.contract.Transact(opts, "renounceOwnership") 7996 } 7997 7998 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7999 // 8000 // Solidity: function renounceOwnership() returns() 8001 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) RenounceOwnership() (*types.Transaction, error) { 8002 return _ServiceChainNFTNoURI.Contract.RenounceOwnership(&_ServiceChainNFTNoURI.TransactOpts) 8003 } 8004 8005 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 8006 // 8007 // Solidity: function renounceOwnership() returns() 8008 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactorSession) RenounceOwnership() (*types.Transaction, error) { 8009 return _ServiceChainNFTNoURI.Contract.RenounceOwnership(&_ServiceChainNFTNoURI.TransactOpts) 8010 } 8011 8012 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 8013 // 8014 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 8015 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactor) RequestValueTransfer(opts *bind.TransactOpts, _uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 8016 return _ServiceChainNFTNoURI.contract.Transact(opts, "requestValueTransfer", _uid, _to, _extraData) 8017 } 8018 8019 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 8020 // 8021 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 8022 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) RequestValueTransfer(_uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 8023 return _ServiceChainNFTNoURI.Contract.RequestValueTransfer(&_ServiceChainNFTNoURI.TransactOpts, _uid, _to, _extraData) 8024 } 8025 8026 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3f4c4e3d. 8027 // 8028 // Solidity: function requestValueTransfer(uint256 _uid, address _to, bytes _extraData) returns() 8029 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactorSession) RequestValueTransfer(_uid *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { 8030 return _ServiceChainNFTNoURI.Contract.RequestValueTransfer(&_ServiceChainNFTNoURI.TransactOpts, _uid, _to, _extraData) 8031 } 8032 8033 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 8034 // 8035 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 8036 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8037 return _ServiceChainNFTNoURI.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) 8038 } 8039 8040 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 8041 // 8042 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 8043 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8044 return _ServiceChainNFTNoURI.Contract.SafeTransferFrom(&_ServiceChainNFTNoURI.TransactOpts, from, to, tokenId) 8045 } 8046 8047 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 8048 // 8049 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() 8050 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8051 return _ServiceChainNFTNoURI.Contract.SafeTransferFrom(&_ServiceChainNFTNoURI.TransactOpts, from, to, tokenId) 8052 } 8053 8054 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 8055 // 8056 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 8057 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 8058 return _ServiceChainNFTNoURI.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data) 8059 } 8060 8061 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 8062 // 8063 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 8064 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 8065 return _ServiceChainNFTNoURI.Contract.SafeTransferFrom0(&_ServiceChainNFTNoURI.TransactOpts, from, to, tokenId, _data) 8066 } 8067 8068 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 8069 // 8070 // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns() 8071 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { 8072 return _ServiceChainNFTNoURI.Contract.SafeTransferFrom0(&_ServiceChainNFTNoURI.TransactOpts, from, to, tokenId, _data) 8073 } 8074 8075 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 8076 // 8077 // Solidity: function setApprovalForAll(address to, bool approved) returns() 8078 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { 8079 return _ServiceChainNFTNoURI.contract.Transact(opts, "setApprovalForAll", to, approved) 8080 } 8081 8082 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 8083 // 8084 // Solidity: function setApprovalForAll(address to, bool approved) returns() 8085 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 8086 return _ServiceChainNFTNoURI.Contract.SetApprovalForAll(&_ServiceChainNFTNoURI.TransactOpts, to, approved) 8087 } 8088 8089 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 8090 // 8091 // Solidity: function setApprovalForAll(address to, bool approved) returns() 8092 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { 8093 return _ServiceChainNFTNoURI.Contract.SetApprovalForAll(&_ServiceChainNFTNoURI.TransactOpts, to, approved) 8094 } 8095 8096 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 8097 // 8098 // Solidity: function setBridge(address _bridge) returns() 8099 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactor) SetBridge(opts *bind.TransactOpts, _bridge common.Address) (*types.Transaction, error) { 8100 return _ServiceChainNFTNoURI.contract.Transact(opts, "setBridge", _bridge) 8101 } 8102 8103 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 8104 // 8105 // Solidity: function setBridge(address _bridge) returns() 8106 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) SetBridge(_bridge common.Address) (*types.Transaction, error) { 8107 return _ServiceChainNFTNoURI.Contract.SetBridge(&_ServiceChainNFTNoURI.TransactOpts, _bridge) 8108 } 8109 8110 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 8111 // 8112 // Solidity: function setBridge(address _bridge) returns() 8113 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactorSession) SetBridge(_bridge common.Address) (*types.Transaction, error) { 8114 return _ServiceChainNFTNoURI.Contract.SetBridge(&_ServiceChainNFTNoURI.TransactOpts, _bridge) 8115 } 8116 8117 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 8118 // 8119 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 8120 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8121 return _ServiceChainNFTNoURI.contract.Transact(opts, "transferFrom", from, to, tokenId) 8122 } 8123 8124 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 8125 // 8126 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 8127 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8128 return _ServiceChainNFTNoURI.Contract.TransferFrom(&_ServiceChainNFTNoURI.TransactOpts, from, to, tokenId) 8129 } 8130 8131 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 8132 // 8133 // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() 8134 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { 8135 return _ServiceChainNFTNoURI.Contract.TransferFrom(&_ServiceChainNFTNoURI.TransactOpts, from, to, tokenId) 8136 } 8137 8138 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 8139 // 8140 // Solidity: function transferOwnership(address newOwner) returns() 8141 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 8142 return _ServiceChainNFTNoURI.contract.Transact(opts, "transferOwnership", newOwner) 8143 } 8144 8145 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 8146 // 8147 // Solidity: function transferOwnership(address newOwner) returns() 8148 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURISession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 8149 return _ServiceChainNFTNoURI.Contract.TransferOwnership(&_ServiceChainNFTNoURI.TransactOpts, newOwner) 8150 } 8151 8152 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 8153 // 8154 // Solidity: function transferOwnership(address newOwner) returns() 8155 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURITransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 8156 return _ServiceChainNFTNoURI.Contract.TransferOwnership(&_ServiceChainNFTNoURI.TransactOpts, newOwner) 8157 } 8158 8159 // ServiceChainNFTNoURIApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ServiceChainNFTNoURI contract. 8160 type ServiceChainNFTNoURIApprovalIterator struct { 8161 Event *ServiceChainNFTNoURIApproval // Event containing the contract specifics and raw log 8162 8163 contract *bind.BoundContract // Generic contract to use for unpacking event data 8164 event string // Event name to use for unpacking event data 8165 8166 logs chan types.Log // Log channel receiving the found contract events 8167 sub klaytn.Subscription // Subscription for errors, completion and termination 8168 done bool // Whether the subscription completed delivering logs 8169 fail error // Occurred error to stop iteration 8170 } 8171 8172 // Next advances the iterator to the subsequent event, returning whether there 8173 // are any more events found. In case of a retrieval or parsing error, false is 8174 // returned and Error() can be queried for the exact failure. 8175 func (it *ServiceChainNFTNoURIApprovalIterator) Next() bool { 8176 // If the iterator failed, stop iterating 8177 if it.fail != nil { 8178 return false 8179 } 8180 // If the iterator completed, deliver directly whatever's available 8181 if it.done { 8182 select { 8183 case log := <-it.logs: 8184 it.Event = new(ServiceChainNFTNoURIApproval) 8185 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8186 it.fail = err 8187 return false 8188 } 8189 it.Event.Raw = log 8190 return true 8191 8192 default: 8193 return false 8194 } 8195 } 8196 // Iterator still in progress, wait for either a data or an error event 8197 select { 8198 case log := <-it.logs: 8199 it.Event = new(ServiceChainNFTNoURIApproval) 8200 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8201 it.fail = err 8202 return false 8203 } 8204 it.Event.Raw = log 8205 return true 8206 8207 case err := <-it.sub.Err(): 8208 it.done = true 8209 it.fail = err 8210 return it.Next() 8211 } 8212 } 8213 8214 // Error returns any retrieval or parsing error occurred during filtering. 8215 func (it *ServiceChainNFTNoURIApprovalIterator) Error() error { 8216 return it.fail 8217 } 8218 8219 // Close terminates the iteration process, releasing any pending underlying 8220 // resources. 8221 func (it *ServiceChainNFTNoURIApprovalIterator) Close() error { 8222 it.sub.Unsubscribe() 8223 return nil 8224 } 8225 8226 // ServiceChainNFTNoURIApproval represents a Approval event raised by the ServiceChainNFTNoURI contract. 8227 type ServiceChainNFTNoURIApproval struct { 8228 Owner common.Address 8229 Approved common.Address 8230 TokenId *big.Int 8231 Raw types.Log // Blockchain specific contextual infos 8232 } 8233 8234 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 8235 // 8236 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 8237 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ServiceChainNFTNoURIApprovalIterator, error) { 8238 8239 var ownerRule []interface{} 8240 for _, ownerItem := range owner { 8241 ownerRule = append(ownerRule, ownerItem) 8242 } 8243 var approvedRule []interface{} 8244 for _, approvedItem := range approved { 8245 approvedRule = append(approvedRule, approvedItem) 8246 } 8247 var tokenIdRule []interface{} 8248 for _, tokenIdItem := range tokenId { 8249 tokenIdRule = append(tokenIdRule, tokenIdItem) 8250 } 8251 8252 logs, sub, err := _ServiceChainNFTNoURI.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 8253 if err != nil { 8254 return nil, err 8255 } 8256 return &ServiceChainNFTNoURIApprovalIterator{contract: _ServiceChainNFTNoURI.contract, event: "Approval", logs: logs, sub: sub}, nil 8257 } 8258 8259 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 8260 // 8261 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 8262 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTNoURIApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { 8263 8264 var ownerRule []interface{} 8265 for _, ownerItem := range owner { 8266 ownerRule = append(ownerRule, ownerItem) 8267 } 8268 var approvedRule []interface{} 8269 for _, approvedItem := range approved { 8270 approvedRule = append(approvedRule, approvedItem) 8271 } 8272 var tokenIdRule []interface{} 8273 for _, tokenIdItem := range tokenId { 8274 tokenIdRule = append(tokenIdRule, tokenIdItem) 8275 } 8276 8277 logs, sub, err := _ServiceChainNFTNoURI.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) 8278 if err != nil { 8279 return nil, err 8280 } 8281 return event.NewSubscription(func(quit <-chan struct{}) error { 8282 defer sub.Unsubscribe() 8283 for { 8284 select { 8285 case log := <-logs: 8286 // New log arrived, parse the event and forward to the user 8287 event := new(ServiceChainNFTNoURIApproval) 8288 if err := _ServiceChainNFTNoURI.contract.UnpackLog(event, "Approval", log); err != nil { 8289 return err 8290 } 8291 event.Raw = log 8292 8293 select { 8294 case sink <- event: 8295 case err := <-sub.Err(): 8296 return err 8297 case <-quit: 8298 return nil 8299 } 8300 case err := <-sub.Err(): 8301 return err 8302 case <-quit: 8303 return nil 8304 } 8305 } 8306 }), nil 8307 } 8308 8309 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 8310 // 8311 // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) 8312 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) ParseApproval(log types.Log) (*ServiceChainNFTNoURIApproval, error) { 8313 event := new(ServiceChainNFTNoURIApproval) 8314 if err := _ServiceChainNFTNoURI.contract.UnpackLog(event, "Approval", log); err != nil { 8315 return nil, err 8316 } 8317 return event, nil 8318 } 8319 8320 // ServiceChainNFTNoURIApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ServiceChainNFTNoURI contract. 8321 type ServiceChainNFTNoURIApprovalForAllIterator struct { 8322 Event *ServiceChainNFTNoURIApprovalForAll // Event containing the contract specifics and raw log 8323 8324 contract *bind.BoundContract // Generic contract to use for unpacking event data 8325 event string // Event name to use for unpacking event data 8326 8327 logs chan types.Log // Log channel receiving the found contract events 8328 sub klaytn.Subscription // Subscription for errors, completion and termination 8329 done bool // Whether the subscription completed delivering logs 8330 fail error // Occurred error to stop iteration 8331 } 8332 8333 // Next advances the iterator to the subsequent event, returning whether there 8334 // are any more events found. In case of a retrieval or parsing error, false is 8335 // returned and Error() can be queried for the exact failure. 8336 func (it *ServiceChainNFTNoURIApprovalForAllIterator) Next() bool { 8337 // If the iterator failed, stop iterating 8338 if it.fail != nil { 8339 return false 8340 } 8341 // If the iterator completed, deliver directly whatever's available 8342 if it.done { 8343 select { 8344 case log := <-it.logs: 8345 it.Event = new(ServiceChainNFTNoURIApprovalForAll) 8346 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8347 it.fail = err 8348 return false 8349 } 8350 it.Event.Raw = log 8351 return true 8352 8353 default: 8354 return false 8355 } 8356 } 8357 // Iterator still in progress, wait for either a data or an error event 8358 select { 8359 case log := <-it.logs: 8360 it.Event = new(ServiceChainNFTNoURIApprovalForAll) 8361 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8362 it.fail = err 8363 return false 8364 } 8365 it.Event.Raw = log 8366 return true 8367 8368 case err := <-it.sub.Err(): 8369 it.done = true 8370 it.fail = err 8371 return it.Next() 8372 } 8373 } 8374 8375 // Error returns any retrieval or parsing error occurred during filtering. 8376 func (it *ServiceChainNFTNoURIApprovalForAllIterator) Error() error { 8377 return it.fail 8378 } 8379 8380 // Close terminates the iteration process, releasing any pending underlying 8381 // resources. 8382 func (it *ServiceChainNFTNoURIApprovalForAllIterator) Close() error { 8383 it.sub.Unsubscribe() 8384 return nil 8385 } 8386 8387 // ServiceChainNFTNoURIApprovalForAll represents a ApprovalForAll event raised by the ServiceChainNFTNoURI contract. 8388 type ServiceChainNFTNoURIApprovalForAll struct { 8389 Owner common.Address 8390 Operator common.Address 8391 Approved bool 8392 Raw types.Log // Blockchain specific contextual infos 8393 } 8394 8395 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 8396 // 8397 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 8398 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ServiceChainNFTNoURIApprovalForAllIterator, error) { 8399 8400 var ownerRule []interface{} 8401 for _, ownerItem := range owner { 8402 ownerRule = append(ownerRule, ownerItem) 8403 } 8404 var operatorRule []interface{} 8405 for _, operatorItem := range operator { 8406 operatorRule = append(operatorRule, operatorItem) 8407 } 8408 8409 logs, sub, err := _ServiceChainNFTNoURI.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 8410 if err != nil { 8411 return nil, err 8412 } 8413 return &ServiceChainNFTNoURIApprovalForAllIterator{contract: _ServiceChainNFTNoURI.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 8414 } 8415 8416 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 8417 // 8418 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 8419 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTNoURIApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { 8420 8421 var ownerRule []interface{} 8422 for _, ownerItem := range owner { 8423 ownerRule = append(ownerRule, ownerItem) 8424 } 8425 var operatorRule []interface{} 8426 for _, operatorItem := range operator { 8427 operatorRule = append(operatorRule, operatorItem) 8428 } 8429 8430 logs, sub, err := _ServiceChainNFTNoURI.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) 8431 if err != nil { 8432 return nil, err 8433 } 8434 return event.NewSubscription(func(quit <-chan struct{}) error { 8435 defer sub.Unsubscribe() 8436 for { 8437 select { 8438 case log := <-logs: 8439 // New log arrived, parse the event and forward to the user 8440 event := new(ServiceChainNFTNoURIApprovalForAll) 8441 if err := _ServiceChainNFTNoURI.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 8442 return err 8443 } 8444 event.Raw = log 8445 8446 select { 8447 case sink <- event: 8448 case err := <-sub.Err(): 8449 return err 8450 case <-quit: 8451 return nil 8452 } 8453 case err := <-sub.Err(): 8454 return err 8455 case <-quit: 8456 return nil 8457 } 8458 } 8459 }), nil 8460 } 8461 8462 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 8463 // 8464 // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) 8465 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) ParseApprovalForAll(log types.Log) (*ServiceChainNFTNoURIApprovalForAll, error) { 8466 event := new(ServiceChainNFTNoURIApprovalForAll) 8467 if err := _ServiceChainNFTNoURI.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 8468 return nil, err 8469 } 8470 return event, nil 8471 } 8472 8473 // ServiceChainNFTNoURIMinterAddedIterator is returned from FilterMinterAdded and is used to iterate over the raw logs and unpacked data for MinterAdded events raised by the ServiceChainNFTNoURI contract. 8474 type ServiceChainNFTNoURIMinterAddedIterator struct { 8475 Event *ServiceChainNFTNoURIMinterAdded // Event containing the contract specifics and raw log 8476 8477 contract *bind.BoundContract // Generic contract to use for unpacking event data 8478 event string // Event name to use for unpacking event data 8479 8480 logs chan types.Log // Log channel receiving the found contract events 8481 sub klaytn.Subscription // Subscription for errors, completion and termination 8482 done bool // Whether the subscription completed delivering logs 8483 fail error // Occurred error to stop iteration 8484 } 8485 8486 // Next advances the iterator to the subsequent event, returning whether there 8487 // are any more events found. In case of a retrieval or parsing error, false is 8488 // returned and Error() can be queried for the exact failure. 8489 func (it *ServiceChainNFTNoURIMinterAddedIterator) Next() bool { 8490 // If the iterator failed, stop iterating 8491 if it.fail != nil { 8492 return false 8493 } 8494 // If the iterator completed, deliver directly whatever's available 8495 if it.done { 8496 select { 8497 case log := <-it.logs: 8498 it.Event = new(ServiceChainNFTNoURIMinterAdded) 8499 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8500 it.fail = err 8501 return false 8502 } 8503 it.Event.Raw = log 8504 return true 8505 8506 default: 8507 return false 8508 } 8509 } 8510 // Iterator still in progress, wait for either a data or an error event 8511 select { 8512 case log := <-it.logs: 8513 it.Event = new(ServiceChainNFTNoURIMinterAdded) 8514 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8515 it.fail = err 8516 return false 8517 } 8518 it.Event.Raw = log 8519 return true 8520 8521 case err := <-it.sub.Err(): 8522 it.done = true 8523 it.fail = err 8524 return it.Next() 8525 } 8526 } 8527 8528 // Error returns any retrieval or parsing error occurred during filtering. 8529 func (it *ServiceChainNFTNoURIMinterAddedIterator) Error() error { 8530 return it.fail 8531 } 8532 8533 // Close terminates the iteration process, releasing any pending underlying 8534 // resources. 8535 func (it *ServiceChainNFTNoURIMinterAddedIterator) Close() error { 8536 it.sub.Unsubscribe() 8537 return nil 8538 } 8539 8540 // ServiceChainNFTNoURIMinterAdded represents a MinterAdded event raised by the ServiceChainNFTNoURI contract. 8541 type ServiceChainNFTNoURIMinterAdded struct { 8542 Account common.Address 8543 Raw types.Log // Blockchain specific contextual infos 8544 } 8545 8546 // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 8547 // 8548 // Solidity: event MinterAdded(address indexed account) 8549 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*ServiceChainNFTNoURIMinterAddedIterator, error) { 8550 8551 var accountRule []interface{} 8552 for _, accountItem := range account { 8553 accountRule = append(accountRule, accountItem) 8554 } 8555 8556 logs, sub, err := _ServiceChainNFTNoURI.contract.FilterLogs(opts, "MinterAdded", accountRule) 8557 if err != nil { 8558 return nil, err 8559 } 8560 return &ServiceChainNFTNoURIMinterAddedIterator{contract: _ServiceChainNFTNoURI.contract, event: "MinterAdded", logs: logs, sub: sub}, nil 8561 } 8562 8563 // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 8564 // 8565 // Solidity: event MinterAdded(address indexed account) 8566 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTNoURIMinterAdded, account []common.Address) (event.Subscription, error) { 8567 8568 var accountRule []interface{} 8569 for _, accountItem := range account { 8570 accountRule = append(accountRule, accountItem) 8571 } 8572 8573 logs, sub, err := _ServiceChainNFTNoURI.contract.WatchLogs(opts, "MinterAdded", accountRule) 8574 if err != nil { 8575 return nil, err 8576 } 8577 return event.NewSubscription(func(quit <-chan struct{}) error { 8578 defer sub.Unsubscribe() 8579 for { 8580 select { 8581 case log := <-logs: 8582 // New log arrived, parse the event and forward to the user 8583 event := new(ServiceChainNFTNoURIMinterAdded) 8584 if err := _ServiceChainNFTNoURI.contract.UnpackLog(event, "MinterAdded", log); err != nil { 8585 return err 8586 } 8587 event.Raw = log 8588 8589 select { 8590 case sink <- event: 8591 case err := <-sub.Err(): 8592 return err 8593 case <-quit: 8594 return nil 8595 } 8596 case err := <-sub.Err(): 8597 return err 8598 case <-quit: 8599 return nil 8600 } 8601 } 8602 }), nil 8603 } 8604 8605 // ParseMinterAdded is a log parse operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 8606 // 8607 // Solidity: event MinterAdded(address indexed account) 8608 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) ParseMinterAdded(log types.Log) (*ServiceChainNFTNoURIMinterAdded, error) { 8609 event := new(ServiceChainNFTNoURIMinterAdded) 8610 if err := _ServiceChainNFTNoURI.contract.UnpackLog(event, "MinterAdded", log); err != nil { 8611 return nil, err 8612 } 8613 return event, nil 8614 } 8615 8616 // ServiceChainNFTNoURIMinterRemovedIterator is returned from FilterMinterRemoved and is used to iterate over the raw logs and unpacked data for MinterRemoved events raised by the ServiceChainNFTNoURI contract. 8617 type ServiceChainNFTNoURIMinterRemovedIterator struct { 8618 Event *ServiceChainNFTNoURIMinterRemoved // Event containing the contract specifics and raw log 8619 8620 contract *bind.BoundContract // Generic contract to use for unpacking event data 8621 event string // Event name to use for unpacking event data 8622 8623 logs chan types.Log // Log channel receiving the found contract events 8624 sub klaytn.Subscription // Subscription for errors, completion and termination 8625 done bool // Whether the subscription completed delivering logs 8626 fail error // Occurred error to stop iteration 8627 } 8628 8629 // Next advances the iterator to the subsequent event, returning whether there 8630 // are any more events found. In case of a retrieval or parsing error, false is 8631 // returned and Error() can be queried for the exact failure. 8632 func (it *ServiceChainNFTNoURIMinterRemovedIterator) Next() bool { 8633 // If the iterator failed, stop iterating 8634 if it.fail != nil { 8635 return false 8636 } 8637 // If the iterator completed, deliver directly whatever's available 8638 if it.done { 8639 select { 8640 case log := <-it.logs: 8641 it.Event = new(ServiceChainNFTNoURIMinterRemoved) 8642 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8643 it.fail = err 8644 return false 8645 } 8646 it.Event.Raw = log 8647 return true 8648 8649 default: 8650 return false 8651 } 8652 } 8653 // Iterator still in progress, wait for either a data or an error event 8654 select { 8655 case log := <-it.logs: 8656 it.Event = new(ServiceChainNFTNoURIMinterRemoved) 8657 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8658 it.fail = err 8659 return false 8660 } 8661 it.Event.Raw = log 8662 return true 8663 8664 case err := <-it.sub.Err(): 8665 it.done = true 8666 it.fail = err 8667 return it.Next() 8668 } 8669 } 8670 8671 // Error returns any retrieval or parsing error occurred during filtering. 8672 func (it *ServiceChainNFTNoURIMinterRemovedIterator) Error() error { 8673 return it.fail 8674 } 8675 8676 // Close terminates the iteration process, releasing any pending underlying 8677 // resources. 8678 func (it *ServiceChainNFTNoURIMinterRemovedIterator) Close() error { 8679 it.sub.Unsubscribe() 8680 return nil 8681 } 8682 8683 // ServiceChainNFTNoURIMinterRemoved represents a MinterRemoved event raised by the ServiceChainNFTNoURI contract. 8684 type ServiceChainNFTNoURIMinterRemoved struct { 8685 Account common.Address 8686 Raw types.Log // Blockchain specific contextual infos 8687 } 8688 8689 // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 8690 // 8691 // Solidity: event MinterRemoved(address indexed account) 8692 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*ServiceChainNFTNoURIMinterRemovedIterator, error) { 8693 8694 var accountRule []interface{} 8695 for _, accountItem := range account { 8696 accountRule = append(accountRule, accountItem) 8697 } 8698 8699 logs, sub, err := _ServiceChainNFTNoURI.contract.FilterLogs(opts, "MinterRemoved", accountRule) 8700 if err != nil { 8701 return nil, err 8702 } 8703 return &ServiceChainNFTNoURIMinterRemovedIterator{contract: _ServiceChainNFTNoURI.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil 8704 } 8705 8706 // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 8707 // 8708 // Solidity: event MinterRemoved(address indexed account) 8709 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTNoURIMinterRemoved, account []common.Address) (event.Subscription, error) { 8710 8711 var accountRule []interface{} 8712 for _, accountItem := range account { 8713 accountRule = append(accountRule, accountItem) 8714 } 8715 8716 logs, sub, err := _ServiceChainNFTNoURI.contract.WatchLogs(opts, "MinterRemoved", accountRule) 8717 if err != nil { 8718 return nil, err 8719 } 8720 return event.NewSubscription(func(quit <-chan struct{}) error { 8721 defer sub.Unsubscribe() 8722 for { 8723 select { 8724 case log := <-logs: 8725 // New log arrived, parse the event and forward to the user 8726 event := new(ServiceChainNFTNoURIMinterRemoved) 8727 if err := _ServiceChainNFTNoURI.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 8728 return err 8729 } 8730 event.Raw = log 8731 8732 select { 8733 case sink <- event: 8734 case err := <-sub.Err(): 8735 return err 8736 case <-quit: 8737 return nil 8738 } 8739 case err := <-sub.Err(): 8740 return err 8741 case <-quit: 8742 return nil 8743 } 8744 } 8745 }), nil 8746 } 8747 8748 // ParseMinterRemoved is a log parse operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 8749 // 8750 // Solidity: event MinterRemoved(address indexed account) 8751 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) ParseMinterRemoved(log types.Log) (*ServiceChainNFTNoURIMinterRemoved, error) { 8752 event := new(ServiceChainNFTNoURIMinterRemoved) 8753 if err := _ServiceChainNFTNoURI.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 8754 return nil, err 8755 } 8756 return event, nil 8757 } 8758 8759 // ServiceChainNFTNoURIOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the ServiceChainNFTNoURI contract. 8760 type ServiceChainNFTNoURIOwnershipTransferredIterator struct { 8761 Event *ServiceChainNFTNoURIOwnershipTransferred // Event containing the contract specifics and raw log 8762 8763 contract *bind.BoundContract // Generic contract to use for unpacking event data 8764 event string // Event name to use for unpacking event data 8765 8766 logs chan types.Log // Log channel receiving the found contract events 8767 sub klaytn.Subscription // Subscription for errors, completion and termination 8768 done bool // Whether the subscription completed delivering logs 8769 fail error // Occurred error to stop iteration 8770 } 8771 8772 // Next advances the iterator to the subsequent event, returning whether there 8773 // are any more events found. In case of a retrieval or parsing error, false is 8774 // returned and Error() can be queried for the exact failure. 8775 func (it *ServiceChainNFTNoURIOwnershipTransferredIterator) Next() bool { 8776 // If the iterator failed, stop iterating 8777 if it.fail != nil { 8778 return false 8779 } 8780 // If the iterator completed, deliver directly whatever's available 8781 if it.done { 8782 select { 8783 case log := <-it.logs: 8784 it.Event = new(ServiceChainNFTNoURIOwnershipTransferred) 8785 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8786 it.fail = err 8787 return false 8788 } 8789 it.Event.Raw = log 8790 return true 8791 8792 default: 8793 return false 8794 } 8795 } 8796 // Iterator still in progress, wait for either a data or an error event 8797 select { 8798 case log := <-it.logs: 8799 it.Event = new(ServiceChainNFTNoURIOwnershipTransferred) 8800 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8801 it.fail = err 8802 return false 8803 } 8804 it.Event.Raw = log 8805 return true 8806 8807 case err := <-it.sub.Err(): 8808 it.done = true 8809 it.fail = err 8810 return it.Next() 8811 } 8812 } 8813 8814 // Error returns any retrieval or parsing error occurred during filtering. 8815 func (it *ServiceChainNFTNoURIOwnershipTransferredIterator) Error() error { 8816 return it.fail 8817 } 8818 8819 // Close terminates the iteration process, releasing any pending underlying 8820 // resources. 8821 func (it *ServiceChainNFTNoURIOwnershipTransferredIterator) Close() error { 8822 it.sub.Unsubscribe() 8823 return nil 8824 } 8825 8826 // ServiceChainNFTNoURIOwnershipTransferred represents a OwnershipTransferred event raised by the ServiceChainNFTNoURI contract. 8827 type ServiceChainNFTNoURIOwnershipTransferred struct { 8828 PreviousOwner common.Address 8829 NewOwner common.Address 8830 Raw types.Log // Blockchain specific contextual infos 8831 } 8832 8833 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 8834 // 8835 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 8836 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ServiceChainNFTNoURIOwnershipTransferredIterator, error) { 8837 8838 var previousOwnerRule []interface{} 8839 for _, previousOwnerItem := range previousOwner { 8840 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 8841 } 8842 var newOwnerRule []interface{} 8843 for _, newOwnerItem := range newOwner { 8844 newOwnerRule = append(newOwnerRule, newOwnerItem) 8845 } 8846 8847 logs, sub, err := _ServiceChainNFTNoURI.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 8848 if err != nil { 8849 return nil, err 8850 } 8851 return &ServiceChainNFTNoURIOwnershipTransferredIterator{contract: _ServiceChainNFTNoURI.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 8852 } 8853 8854 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 8855 // 8856 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 8857 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTNoURIOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 8858 8859 var previousOwnerRule []interface{} 8860 for _, previousOwnerItem := range previousOwner { 8861 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 8862 } 8863 var newOwnerRule []interface{} 8864 for _, newOwnerItem := range newOwner { 8865 newOwnerRule = append(newOwnerRule, newOwnerItem) 8866 } 8867 8868 logs, sub, err := _ServiceChainNFTNoURI.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 8869 if err != nil { 8870 return nil, err 8871 } 8872 return event.NewSubscription(func(quit <-chan struct{}) error { 8873 defer sub.Unsubscribe() 8874 for { 8875 select { 8876 case log := <-logs: 8877 // New log arrived, parse the event and forward to the user 8878 event := new(ServiceChainNFTNoURIOwnershipTransferred) 8879 if err := _ServiceChainNFTNoURI.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 8880 return err 8881 } 8882 event.Raw = log 8883 8884 select { 8885 case sink <- event: 8886 case err := <-sub.Err(): 8887 return err 8888 case <-quit: 8889 return nil 8890 } 8891 case err := <-sub.Err(): 8892 return err 8893 case <-quit: 8894 return nil 8895 } 8896 } 8897 }), nil 8898 } 8899 8900 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 8901 // 8902 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 8903 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) ParseOwnershipTransferred(log types.Log) (*ServiceChainNFTNoURIOwnershipTransferred, error) { 8904 event := new(ServiceChainNFTNoURIOwnershipTransferred) 8905 if err := _ServiceChainNFTNoURI.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 8906 return nil, err 8907 } 8908 return event, nil 8909 } 8910 8911 // ServiceChainNFTNoURITransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ServiceChainNFTNoURI contract. 8912 type ServiceChainNFTNoURITransferIterator struct { 8913 Event *ServiceChainNFTNoURITransfer // Event containing the contract specifics and raw log 8914 8915 contract *bind.BoundContract // Generic contract to use for unpacking event data 8916 event string // Event name to use for unpacking event data 8917 8918 logs chan types.Log // Log channel receiving the found contract events 8919 sub klaytn.Subscription // Subscription for errors, completion and termination 8920 done bool // Whether the subscription completed delivering logs 8921 fail error // Occurred error to stop iteration 8922 } 8923 8924 // Next advances the iterator to the subsequent event, returning whether there 8925 // are any more events found. In case of a retrieval or parsing error, false is 8926 // returned and Error() can be queried for the exact failure. 8927 func (it *ServiceChainNFTNoURITransferIterator) Next() bool { 8928 // If the iterator failed, stop iterating 8929 if it.fail != nil { 8930 return false 8931 } 8932 // If the iterator completed, deliver directly whatever's available 8933 if it.done { 8934 select { 8935 case log := <-it.logs: 8936 it.Event = new(ServiceChainNFTNoURITransfer) 8937 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8938 it.fail = err 8939 return false 8940 } 8941 it.Event.Raw = log 8942 return true 8943 8944 default: 8945 return false 8946 } 8947 } 8948 // Iterator still in progress, wait for either a data or an error event 8949 select { 8950 case log := <-it.logs: 8951 it.Event = new(ServiceChainNFTNoURITransfer) 8952 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8953 it.fail = err 8954 return false 8955 } 8956 it.Event.Raw = log 8957 return true 8958 8959 case err := <-it.sub.Err(): 8960 it.done = true 8961 it.fail = err 8962 return it.Next() 8963 } 8964 } 8965 8966 // Error returns any retrieval or parsing error occurred during filtering. 8967 func (it *ServiceChainNFTNoURITransferIterator) Error() error { 8968 return it.fail 8969 } 8970 8971 // Close terminates the iteration process, releasing any pending underlying 8972 // resources. 8973 func (it *ServiceChainNFTNoURITransferIterator) Close() error { 8974 it.sub.Unsubscribe() 8975 return nil 8976 } 8977 8978 // ServiceChainNFTNoURITransfer represents a Transfer event raised by the ServiceChainNFTNoURI contract. 8979 type ServiceChainNFTNoURITransfer struct { 8980 From common.Address 8981 To common.Address 8982 TokenId *big.Int 8983 Raw types.Log // Blockchain specific contextual infos 8984 } 8985 8986 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 8987 // 8988 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 8989 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ServiceChainNFTNoURITransferIterator, error) { 8990 8991 var fromRule []interface{} 8992 for _, fromItem := range from { 8993 fromRule = append(fromRule, fromItem) 8994 } 8995 var toRule []interface{} 8996 for _, toItem := range to { 8997 toRule = append(toRule, toItem) 8998 } 8999 var tokenIdRule []interface{} 9000 for _, tokenIdItem := range tokenId { 9001 tokenIdRule = append(tokenIdRule, tokenIdItem) 9002 } 9003 9004 logs, sub, err := _ServiceChainNFTNoURI.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 9005 if err != nil { 9006 return nil, err 9007 } 9008 return &ServiceChainNFTNoURITransferIterator{contract: _ServiceChainNFTNoURI.contract, event: "Transfer", logs: logs, sub: sub}, nil 9009 } 9010 9011 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 9012 // 9013 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 9014 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ServiceChainNFTNoURITransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { 9015 9016 var fromRule []interface{} 9017 for _, fromItem := range from { 9018 fromRule = append(fromRule, fromItem) 9019 } 9020 var toRule []interface{} 9021 for _, toItem := range to { 9022 toRule = append(toRule, toItem) 9023 } 9024 var tokenIdRule []interface{} 9025 for _, tokenIdItem := range tokenId { 9026 tokenIdRule = append(tokenIdRule, tokenIdItem) 9027 } 9028 9029 logs, sub, err := _ServiceChainNFTNoURI.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) 9030 if err != nil { 9031 return nil, err 9032 } 9033 return event.NewSubscription(func(quit <-chan struct{}) error { 9034 defer sub.Unsubscribe() 9035 for { 9036 select { 9037 case log := <-logs: 9038 // New log arrived, parse the event and forward to the user 9039 event := new(ServiceChainNFTNoURITransfer) 9040 if err := _ServiceChainNFTNoURI.contract.UnpackLog(event, "Transfer", log); err != nil { 9041 return err 9042 } 9043 event.Raw = log 9044 9045 select { 9046 case sink <- event: 9047 case err := <-sub.Err(): 9048 return err 9049 case <-quit: 9050 return nil 9051 } 9052 case err := <-sub.Err(): 9053 return err 9054 case <-quit: 9055 return nil 9056 } 9057 } 9058 }), nil 9059 } 9060 9061 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 9062 // 9063 // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) 9064 func (_ServiceChainNFTNoURI *ServiceChainNFTNoURIFilterer) ParseTransfer(log types.Log) (*ServiceChainNFTNoURITransfer, error) { 9065 event := new(ServiceChainNFTNoURITransfer) 9066 if err := _ServiceChainNFTNoURI.contract.UnpackLog(event, "Transfer", log); err != nil { 9067 return nil, err 9068 } 9069 return event, nil 9070 }