github.com/diadata-org/diadata@v1.4.593/config/nftContracts/erc721/erc721.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 erc721 5 6 import ( 7 "math/big" 8 "strings" 9 10 ethereum "github.com/ethereum/go-ethereum" 11 "github.com/ethereum/go-ethereum/accounts/abi" 12 "github.com/ethereum/go-ethereum/accounts/abi/bind" 13 "github.com/ethereum/go-ethereum/common" 14 "github.com/ethereum/go-ethereum/core/types" 15 "github.com/ethereum/go-ethereum/event" 16 ) 17 18 // Reference imports to suppress errors if they are not otherwise used. 19 var ( 20 _ = big.NewInt 21 _ = strings.NewReader 22 _ = ethereum.NotFound 23 _ = bind.Bind 24 _ = common.Big1 25 _ = types.BloomLookup 26 _ = event.NewSubscription 27 ) 28 29 // ERC721ABI is the input ABI used to generate the binding from. 30 const ERC721ABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_approved\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"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\":\"_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\":true,\"stateMutability\":\"payable\",\"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\"}]" 31 32 // ERC721 is an auto generated Go binding around an Ethereum contract. 33 type ERC721 struct { 34 ERC721Caller // Read-only binding to the contract 35 ERC721Transactor // Write-only binding to the contract 36 ERC721Filterer // Log filterer for contract events 37 } 38 39 // ERC721Caller is an auto generated read-only Go binding around an Ethereum contract. 40 type ERC721Caller struct { 41 contract *bind.BoundContract // Generic contract wrapper for the low level calls 42 } 43 44 // ERC721Transactor is an auto generated write-only Go binding around an Ethereum contract. 45 type ERC721Transactor struct { 46 contract *bind.BoundContract // Generic contract wrapper for the low level calls 47 } 48 49 // ERC721Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 50 type ERC721Filterer struct { 51 contract *bind.BoundContract // Generic contract wrapper for the low level calls 52 } 53 54 // ERC721Session is an auto generated Go binding around an Ethereum contract, 55 // with pre-set call and transact options. 56 type ERC721Session struct { 57 Contract *ERC721 // Generic contract binding to set the session for 58 CallOpts bind.CallOpts // Call options to use throughout this session 59 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 60 } 61 62 // ERC721CallerSession is an auto generated read-only Go binding around an Ethereum contract, 63 // with pre-set call options. 64 type ERC721CallerSession struct { 65 Contract *ERC721Caller // Generic contract caller binding to set the session for 66 CallOpts bind.CallOpts // Call options to use throughout this session 67 } 68 69 // ERC721TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 70 // with pre-set transact options. 71 type ERC721TransactorSession struct { 72 Contract *ERC721Transactor // Generic contract transactor binding to set the session for 73 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 74 } 75 76 // ERC721Raw is an auto generated low-level Go binding around an Ethereum contract. 77 type ERC721Raw struct { 78 Contract *ERC721 // Generic contract binding to access the raw methods on 79 } 80 81 // ERC721CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 82 type ERC721CallerRaw struct { 83 Contract *ERC721Caller // Generic read-only contract binding to access the raw methods on 84 } 85 86 // ERC721TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 87 type ERC721TransactorRaw struct { 88 Contract *ERC721Transactor // Generic write-only contract binding to access the raw methods on 89 } 90 91 // NewERC721 creates a new instance of ERC721, bound to a specific deployed contract. 92 func NewERC721(address common.Address, backend bind.ContractBackend) (*ERC721, error) { 93 contract, err := bindERC721(address, backend, backend, backend) 94 if err != nil { 95 return nil, err 96 } 97 return &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil 98 } 99 100 // NewERC721Caller creates a new read-only instance of ERC721, bound to a specific deployed contract. 101 func NewERC721Caller(address common.Address, caller bind.ContractCaller) (*ERC721Caller, error) { 102 contract, err := bindERC721(address, caller, nil, nil) 103 if err != nil { 104 return nil, err 105 } 106 return &ERC721Caller{contract: contract}, nil 107 } 108 109 // NewERC721Transactor creates a new write-only instance of ERC721, bound to a specific deployed contract. 110 func NewERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC721Transactor, error) { 111 contract, err := bindERC721(address, nil, transactor, nil) 112 if err != nil { 113 return nil, err 114 } 115 return &ERC721Transactor{contract: contract}, nil 116 } 117 118 // NewERC721Filterer creates a new log filterer instance of ERC721, bound to a specific deployed contract. 119 func NewERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC721Filterer, error) { 120 contract, err := bindERC721(address, nil, nil, filterer) 121 if err != nil { 122 return nil, err 123 } 124 return &ERC721Filterer{contract: contract}, nil 125 } 126 127 // bindERC721 binds a generic wrapper to an already deployed contract. 128 func bindERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 129 parsed, err := abi.JSON(strings.NewReader(ERC721ABI)) 130 if err != nil { 131 return nil, err 132 } 133 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 134 } 135 136 // Call invokes the (constant) contract method with params as input values and 137 // sets the output to result. The result type might be a single field for simple 138 // returns, a slice of interfaces for anonymous returns and a struct for named 139 // returns. 140 func (_ERC721 *ERC721Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 141 return _ERC721.Contract.ERC721Caller.contract.Call(opts, result, method, params...) 142 } 143 144 // Transfer initiates a plain transaction to move funds to the contract, calling 145 // its default method if one is available. 146 func (_ERC721 *ERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 147 return _ERC721.Contract.ERC721Transactor.contract.Transfer(opts) 148 } 149 150 // Transact invokes the (paid) contract method with params as input values. 151 func (_ERC721 *ERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 152 return _ERC721.Contract.ERC721Transactor.contract.Transact(opts, method, params...) 153 } 154 155 // Call invokes the (constant) contract method with params as input values and 156 // sets the output to result. The result type might be a single field for simple 157 // returns, a slice of interfaces for anonymous returns and a struct for named 158 // returns. 159 func (_ERC721 *ERC721CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 160 return _ERC721.Contract.contract.Call(opts, result, method, params...) 161 } 162 163 // Transfer initiates a plain transaction to move funds to the contract, calling 164 // its default method if one is available. 165 func (_ERC721 *ERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 166 return _ERC721.Contract.contract.Transfer(opts) 167 } 168 169 // Transact invokes the (paid) contract method with params as input values. 170 func (_ERC721 *ERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 171 return _ERC721.Contract.contract.Transact(opts, method, params...) 172 } 173 174 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 175 // 176 // Solidity: function balanceOf(address _owner) view returns(uint256) 177 func (_ERC721 *ERC721Caller) BalanceOf(opts *bind.CallOpts, _owner common.Address) (*big.Int, error) { 178 var out []interface{} 179 err := _ERC721.contract.Call(opts, &out, "balanceOf", _owner) 180 181 if err != nil { 182 return *new(*big.Int), err 183 } 184 185 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 186 187 return out0, err 188 189 } 190 191 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 192 // 193 // Solidity: function balanceOf(address _owner) view returns(uint256) 194 func (_ERC721 *ERC721Session) BalanceOf(_owner common.Address) (*big.Int, error) { 195 return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, _owner) 196 } 197 198 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 199 // 200 // Solidity: function balanceOf(address _owner) view returns(uint256) 201 func (_ERC721 *ERC721CallerSession) BalanceOf(_owner common.Address) (*big.Int, error) { 202 return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, _owner) 203 } 204 205 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 206 // 207 // Solidity: function getApproved(uint256 _tokenId) view returns(address) 208 func (_ERC721 *ERC721Caller) GetApproved(opts *bind.CallOpts, _tokenId *big.Int) (common.Address, error) { 209 var out []interface{} 210 err := _ERC721.contract.Call(opts, &out, "getApproved", _tokenId) 211 212 if err != nil { 213 return *new(common.Address), err 214 } 215 216 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 217 218 return out0, err 219 220 } 221 222 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 223 // 224 // Solidity: function getApproved(uint256 _tokenId) view returns(address) 225 func (_ERC721 *ERC721Session) GetApproved(_tokenId *big.Int) (common.Address, error) { 226 return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, _tokenId) 227 } 228 229 // GetApproved is a free data retrieval call binding the contract method 0x081812fc. 230 // 231 // Solidity: function getApproved(uint256 _tokenId) view returns(address) 232 func (_ERC721 *ERC721CallerSession) GetApproved(_tokenId *big.Int) (common.Address, error) { 233 return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, _tokenId) 234 } 235 236 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 237 // 238 // Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool) 239 func (_ERC721 *ERC721Caller) IsApprovedForAll(opts *bind.CallOpts, _owner common.Address, _operator common.Address) (bool, error) { 240 var out []interface{} 241 err := _ERC721.contract.Call(opts, &out, "isApprovedForAll", _owner, _operator) 242 243 if err != nil { 244 return *new(bool), err 245 } 246 247 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 248 249 return out0, err 250 251 } 252 253 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 254 // 255 // Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool) 256 func (_ERC721 *ERC721Session) IsApprovedForAll(_owner common.Address, _operator common.Address) (bool, error) { 257 return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, _owner, _operator) 258 } 259 260 // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. 261 // 262 // Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool) 263 func (_ERC721 *ERC721CallerSession) IsApprovedForAll(_owner common.Address, _operator common.Address) (bool, error) { 264 return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, _owner, _operator) 265 } 266 267 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 268 // 269 // Solidity: function ownerOf(uint256 _tokenId) view returns(address) 270 func (_ERC721 *ERC721Caller) OwnerOf(opts *bind.CallOpts, _tokenId *big.Int) (common.Address, error) { 271 var out []interface{} 272 err := _ERC721.contract.Call(opts, &out, "ownerOf", _tokenId) 273 274 if err != nil { 275 return *new(common.Address), err 276 } 277 278 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 279 280 return out0, err 281 282 } 283 284 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 285 // 286 // Solidity: function ownerOf(uint256 _tokenId) view returns(address) 287 func (_ERC721 *ERC721Session) OwnerOf(_tokenId *big.Int) (common.Address, error) { 288 return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, _tokenId) 289 } 290 291 // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. 292 // 293 // Solidity: function ownerOf(uint256 _tokenId) view returns(address) 294 func (_ERC721 *ERC721CallerSession) OwnerOf(_tokenId *big.Int) (common.Address, error) { 295 return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, _tokenId) 296 } 297 298 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 299 // 300 // Solidity: function approve(address _approved, uint256 _tokenId) payable returns() 301 func (_ERC721 *ERC721Transactor) Approve(opts *bind.TransactOpts, _approved common.Address, _tokenId *big.Int) (*types.Transaction, error) { 302 return _ERC721.contract.Transact(opts, "approve", _approved, _tokenId) 303 } 304 305 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 306 // 307 // Solidity: function approve(address _approved, uint256 _tokenId) payable returns() 308 func (_ERC721 *ERC721Session) Approve(_approved common.Address, _tokenId *big.Int) (*types.Transaction, error) { 309 return _ERC721.Contract.Approve(&_ERC721.TransactOpts, _approved, _tokenId) 310 } 311 312 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 313 // 314 // Solidity: function approve(address _approved, uint256 _tokenId) payable returns() 315 func (_ERC721 *ERC721TransactorSession) Approve(_approved common.Address, _tokenId *big.Int) (*types.Transaction, error) { 316 return _ERC721.Contract.Approve(&_ERC721.TransactOpts, _approved, _tokenId) 317 } 318 319 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 320 // 321 // Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId) payable returns() 322 func (_ERC721 *ERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, _from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { 323 return _ERC721.contract.Transact(opts, "safeTransferFrom", _from, _to, _tokenId) 324 } 325 326 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 327 // 328 // Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId) payable returns() 329 func (_ERC721 *ERC721Session) SafeTransferFrom(_from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { 330 return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, _from, _to, _tokenId) 331 } 332 333 // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. 334 // 335 // Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId) payable returns() 336 func (_ERC721 *ERC721TransactorSession) SafeTransferFrom(_from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { 337 return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, _from, _to, _tokenId) 338 } 339 340 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 341 // 342 // Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) payable returns() 343 func (_ERC721 *ERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, _from common.Address, _to common.Address, _tokenId *big.Int, data []byte) (*types.Transaction, error) { 344 return _ERC721.contract.Transact(opts, "safeTransferFrom0", _from, _to, _tokenId, data) 345 } 346 347 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 348 // 349 // Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) payable returns() 350 func (_ERC721 *ERC721Session) SafeTransferFrom0(_from common.Address, _to common.Address, _tokenId *big.Int, data []byte) (*types.Transaction, error) { 351 return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, _from, _to, _tokenId, data) 352 } 353 354 // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. 355 // 356 // Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) payable returns() 357 func (_ERC721 *ERC721TransactorSession) SafeTransferFrom0(_from common.Address, _to common.Address, _tokenId *big.Int, data []byte) (*types.Transaction, error) { 358 return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, _from, _to, _tokenId, data) 359 } 360 361 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 362 // 363 // Solidity: function setApprovalForAll(address _operator, bool _approved) returns() 364 func (_ERC721 *ERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, _operator common.Address, _approved bool) (*types.Transaction, error) { 365 return _ERC721.contract.Transact(opts, "setApprovalForAll", _operator, _approved) 366 } 367 368 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 369 // 370 // Solidity: function setApprovalForAll(address _operator, bool _approved) returns() 371 func (_ERC721 *ERC721Session) SetApprovalForAll(_operator common.Address, _approved bool) (*types.Transaction, error) { 372 return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, _operator, _approved) 373 } 374 375 // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. 376 // 377 // Solidity: function setApprovalForAll(address _operator, bool _approved) returns() 378 func (_ERC721 *ERC721TransactorSession) SetApprovalForAll(_operator common.Address, _approved bool) (*types.Transaction, error) { 379 return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, _operator, _approved) 380 } 381 382 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 383 // 384 // Solidity: function transferFrom(address _from, address _to, uint256 _tokenId) payable returns() 385 func (_ERC721 *ERC721Transactor) TransferFrom(opts *bind.TransactOpts, _from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { 386 return _ERC721.contract.Transact(opts, "transferFrom", _from, _to, _tokenId) 387 } 388 389 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 390 // 391 // Solidity: function transferFrom(address _from, address _to, uint256 _tokenId) payable returns() 392 func (_ERC721 *ERC721Session) TransferFrom(_from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { 393 return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, _from, _to, _tokenId) 394 } 395 396 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 397 // 398 // Solidity: function transferFrom(address _from, address _to, uint256 _tokenId) payable returns() 399 func (_ERC721 *ERC721TransactorSession) TransferFrom(_from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { 400 return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, _from, _to, _tokenId) 401 } 402 403 // 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. 404 type ERC721ApprovalIterator struct { 405 Event *ERC721Approval // Event containing the contract specifics and raw log 406 407 contract *bind.BoundContract // Generic contract to use for unpacking event data 408 event string // Event name to use for unpacking event data 409 410 logs chan types.Log // Log channel receiving the found contract events 411 sub ethereum.Subscription // Subscription for errors, completion and termination 412 done bool // Whether the subscription completed delivering logs 413 fail error // Occurred error to stop iteration 414 } 415 416 // Next advances the iterator to the subsequent event, returning whether there 417 // are any more events found. In case of a retrieval or parsing error, false is 418 // returned and Error() can be queried for the exact failure. 419 func (it *ERC721ApprovalIterator) Next() bool { 420 // If the iterator failed, stop iterating 421 if it.fail != nil { 422 return false 423 } 424 // If the iterator completed, deliver directly whatever's available 425 if it.done { 426 select { 427 case log := <-it.logs: 428 it.Event = new(ERC721Approval) 429 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 430 it.fail = err 431 return false 432 } 433 it.Event.Raw = log 434 return true 435 436 default: 437 return false 438 } 439 } 440 // Iterator still in progress, wait for either a data or an error event 441 select { 442 case log := <-it.logs: 443 it.Event = new(ERC721Approval) 444 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 445 it.fail = err 446 return false 447 } 448 it.Event.Raw = log 449 return true 450 451 case err := <-it.sub.Err(): 452 it.done = true 453 it.fail = err 454 return it.Next() 455 } 456 } 457 458 // Error returns any retrieval or parsing error occurred during filtering. 459 func (it *ERC721ApprovalIterator) Error() error { 460 return it.fail 461 } 462 463 // Close terminates the iteration process, releasing any pending underlying 464 // resources. 465 func (it *ERC721ApprovalIterator) Close() error { 466 it.sub.Unsubscribe() 467 return nil 468 } 469 470 // ERC721Approval represents a Approval event raised by the ERC721 contract. 471 type ERC721Approval struct { 472 Owner common.Address 473 Approved common.Address 474 TokenId *big.Int 475 Raw types.Log // Blockchain specific contextual infos 476 } 477 478 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 479 // 480 // Solidity: event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId) 481 func (_ERC721 *ERC721Filterer) FilterApproval(opts *bind.FilterOpts, _owner []common.Address, _approved []common.Address, _tokenId []*big.Int) (*ERC721ApprovalIterator, error) { 482 483 var _ownerRule []interface{} 484 for _, _ownerItem := range _owner { 485 _ownerRule = append(_ownerRule, _ownerItem) 486 } 487 var _approvedRule []interface{} 488 for _, _approvedItem := range _approved { 489 _approvedRule = append(_approvedRule, _approvedItem) 490 } 491 var _tokenIdRule []interface{} 492 for _, _tokenIdItem := range _tokenId { 493 _tokenIdRule = append(_tokenIdRule, _tokenIdItem) 494 } 495 496 logs, sub, err := _ERC721.contract.FilterLogs(opts, "Approval", _ownerRule, _approvedRule, _tokenIdRule) 497 if err != nil { 498 return nil, err 499 } 500 return &ERC721ApprovalIterator{contract: _ERC721.contract, event: "Approval", logs: logs, sub: sub}, nil 501 } 502 503 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 504 // 505 // Solidity: event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId) 506 func (_ERC721 *ERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721Approval, _owner []common.Address, _approved []common.Address, _tokenId []*big.Int) (event.Subscription, error) { 507 508 var _ownerRule []interface{} 509 for _, _ownerItem := range _owner { 510 _ownerRule = append(_ownerRule, _ownerItem) 511 } 512 var _approvedRule []interface{} 513 for _, _approvedItem := range _approved { 514 _approvedRule = append(_approvedRule, _approvedItem) 515 } 516 var _tokenIdRule []interface{} 517 for _, _tokenIdItem := range _tokenId { 518 _tokenIdRule = append(_tokenIdRule, _tokenIdItem) 519 } 520 521 logs, sub, err := _ERC721.contract.WatchLogs(opts, "Approval", _ownerRule, _approvedRule, _tokenIdRule) 522 if err != nil { 523 return nil, err 524 } 525 return event.NewSubscription(func(quit <-chan struct{}) error { 526 defer sub.Unsubscribe() 527 for { 528 select { 529 case log := <-logs: 530 // New log arrived, parse the event and forward to the user 531 event := new(ERC721Approval) 532 if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil { 533 return err 534 } 535 event.Raw = log 536 537 select { 538 case sink <- event: 539 case err := <-sub.Err(): 540 return err 541 case <-quit: 542 return nil 543 } 544 case err := <-sub.Err(): 545 return err 546 case <-quit: 547 return nil 548 } 549 } 550 }), nil 551 } 552 553 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 554 // 555 // Solidity: event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId) 556 func (_ERC721 *ERC721Filterer) ParseApproval(log types.Log) (*ERC721Approval, error) { 557 event := new(ERC721Approval) 558 if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil { 559 return nil, err 560 } 561 event.Raw = log 562 return event, nil 563 } 564 565 // 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. 566 type ERC721ApprovalForAllIterator struct { 567 Event *ERC721ApprovalForAll // Event containing the contract specifics and raw log 568 569 contract *bind.BoundContract // Generic contract to use for unpacking event data 570 event string // Event name to use for unpacking event data 571 572 logs chan types.Log // Log channel receiving the found contract events 573 sub ethereum.Subscription // Subscription for errors, completion and termination 574 done bool // Whether the subscription completed delivering logs 575 fail error // Occurred error to stop iteration 576 } 577 578 // Next advances the iterator to the subsequent event, returning whether there 579 // are any more events found. In case of a retrieval or parsing error, false is 580 // returned and Error() can be queried for the exact failure. 581 func (it *ERC721ApprovalForAllIterator) Next() bool { 582 // If the iterator failed, stop iterating 583 if it.fail != nil { 584 return false 585 } 586 // If the iterator completed, deliver directly whatever's available 587 if it.done { 588 select { 589 case log := <-it.logs: 590 it.Event = new(ERC721ApprovalForAll) 591 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 592 it.fail = err 593 return false 594 } 595 it.Event.Raw = log 596 return true 597 598 default: 599 return false 600 } 601 } 602 // Iterator still in progress, wait for either a data or an error event 603 select { 604 case log := <-it.logs: 605 it.Event = new(ERC721ApprovalForAll) 606 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 607 it.fail = err 608 return false 609 } 610 it.Event.Raw = log 611 return true 612 613 case err := <-it.sub.Err(): 614 it.done = true 615 it.fail = err 616 return it.Next() 617 } 618 } 619 620 // Error returns any retrieval or parsing error occurred during filtering. 621 func (it *ERC721ApprovalForAllIterator) Error() error { 622 return it.fail 623 } 624 625 // Close terminates the iteration process, releasing any pending underlying 626 // resources. 627 func (it *ERC721ApprovalForAllIterator) Close() error { 628 it.sub.Unsubscribe() 629 return nil 630 } 631 632 // ERC721ApprovalForAll represents a ApprovalForAll event raised by the ERC721 contract. 633 type ERC721ApprovalForAll struct { 634 Owner common.Address 635 Operator common.Address 636 Approved bool 637 Raw types.Log // Blockchain specific contextual infos 638 } 639 640 // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 641 // 642 // Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) 643 func (_ERC721 *ERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, _owner []common.Address, _operator []common.Address) (*ERC721ApprovalForAllIterator, error) { 644 645 var _ownerRule []interface{} 646 for _, _ownerItem := range _owner { 647 _ownerRule = append(_ownerRule, _ownerItem) 648 } 649 var _operatorRule []interface{} 650 for _, _operatorItem := range _operator { 651 _operatorRule = append(_operatorRule, _operatorItem) 652 } 653 654 logs, sub, err := _ERC721.contract.FilterLogs(opts, "ApprovalForAll", _ownerRule, _operatorRule) 655 if err != nil { 656 return nil, err 657 } 658 return &ERC721ApprovalForAllIterator{contract: _ERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil 659 } 660 661 // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 662 // 663 // Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) 664 func (_ERC721 *ERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721ApprovalForAll, _owner []common.Address, _operator []common.Address) (event.Subscription, error) { 665 666 var _ownerRule []interface{} 667 for _, _ownerItem := range _owner { 668 _ownerRule = append(_ownerRule, _ownerItem) 669 } 670 var _operatorRule []interface{} 671 for _, _operatorItem := range _operator { 672 _operatorRule = append(_operatorRule, _operatorItem) 673 } 674 675 logs, sub, err := _ERC721.contract.WatchLogs(opts, "ApprovalForAll", _ownerRule, _operatorRule) 676 if err != nil { 677 return nil, err 678 } 679 return event.NewSubscription(func(quit <-chan struct{}) error { 680 defer sub.Unsubscribe() 681 for { 682 select { 683 case log := <-logs: 684 // New log arrived, parse the event and forward to the user 685 event := new(ERC721ApprovalForAll) 686 if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 687 return err 688 } 689 event.Raw = log 690 691 select { 692 case sink <- event: 693 case err := <-sub.Err(): 694 return err 695 case <-quit: 696 return nil 697 } 698 case err := <-sub.Err(): 699 return err 700 case <-quit: 701 return nil 702 } 703 } 704 }), nil 705 } 706 707 // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. 708 // 709 // Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) 710 func (_ERC721 *ERC721Filterer) ParseApprovalForAll(log types.Log) (*ERC721ApprovalForAll, error) { 711 event := new(ERC721ApprovalForAll) 712 if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { 713 return nil, err 714 } 715 event.Raw = log 716 return event, nil 717 } 718 719 // 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. 720 type ERC721TransferIterator struct { 721 Event *ERC721Transfer // Event containing the contract specifics and raw log 722 723 contract *bind.BoundContract // Generic contract to use for unpacking event data 724 event string // Event name to use for unpacking event data 725 726 logs chan types.Log // Log channel receiving the found contract events 727 sub ethereum.Subscription // Subscription for errors, completion and termination 728 done bool // Whether the subscription completed delivering logs 729 fail error // Occurred error to stop iteration 730 } 731 732 // Next advances the iterator to the subsequent event, returning whether there 733 // are any more events found. In case of a retrieval or parsing error, false is 734 // returned and Error() can be queried for the exact failure. 735 func (it *ERC721TransferIterator) Next() bool { 736 // If the iterator failed, stop iterating 737 if it.fail != nil { 738 return false 739 } 740 // If the iterator completed, deliver directly whatever's available 741 if it.done { 742 select { 743 case log := <-it.logs: 744 it.Event = new(ERC721Transfer) 745 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 746 it.fail = err 747 return false 748 } 749 it.Event.Raw = log 750 return true 751 752 default: 753 return false 754 } 755 } 756 // Iterator still in progress, wait for either a data or an error event 757 select { 758 case log := <-it.logs: 759 it.Event = new(ERC721Transfer) 760 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 761 it.fail = err 762 return false 763 } 764 it.Event.Raw = log 765 return true 766 767 case err := <-it.sub.Err(): 768 it.done = true 769 it.fail = err 770 return it.Next() 771 } 772 } 773 774 // Error returns any retrieval or parsing error occurred during filtering. 775 func (it *ERC721TransferIterator) Error() error { 776 return it.fail 777 } 778 779 // Close terminates the iteration process, releasing any pending underlying 780 // resources. 781 func (it *ERC721TransferIterator) Close() error { 782 it.sub.Unsubscribe() 783 return nil 784 } 785 786 // ERC721Transfer represents a Transfer event raised by the ERC721 contract. 787 type ERC721Transfer struct { 788 From common.Address 789 To common.Address 790 TokenId *big.Int 791 Raw types.Log // Blockchain specific contextual infos 792 } 793 794 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 795 // 796 // Solidity: event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId) 797 func (_ERC721 *ERC721Filterer) FilterTransfer(opts *bind.FilterOpts, _from []common.Address, _to []common.Address, _tokenId []*big.Int) (*ERC721TransferIterator, error) { 798 799 var _fromRule []interface{} 800 for _, _fromItem := range _from { 801 _fromRule = append(_fromRule, _fromItem) 802 } 803 var _toRule []interface{} 804 for _, _toItem := range _to { 805 _toRule = append(_toRule, _toItem) 806 } 807 var _tokenIdRule []interface{} 808 for _, _tokenIdItem := range _tokenId { 809 _tokenIdRule = append(_tokenIdRule, _tokenIdItem) 810 } 811 812 logs, sub, err := _ERC721.contract.FilterLogs(opts, "Transfer", _fromRule, _toRule, _tokenIdRule) 813 if err != nil { 814 return nil, err 815 } 816 return &ERC721TransferIterator{contract: _ERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil 817 } 818 819 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 820 // 821 // Solidity: event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId) 822 func (_ERC721 *ERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721Transfer, _from []common.Address, _to []common.Address, _tokenId []*big.Int) (event.Subscription, error) { 823 824 var _fromRule []interface{} 825 for _, _fromItem := range _from { 826 _fromRule = append(_fromRule, _fromItem) 827 } 828 var _toRule []interface{} 829 for _, _toItem := range _to { 830 _toRule = append(_toRule, _toItem) 831 } 832 var _tokenIdRule []interface{} 833 for _, _tokenIdItem := range _tokenId { 834 _tokenIdRule = append(_tokenIdRule, _tokenIdItem) 835 } 836 837 logs, sub, err := _ERC721.contract.WatchLogs(opts, "Transfer", _fromRule, _toRule, _tokenIdRule) 838 if err != nil { 839 return nil, err 840 } 841 return event.NewSubscription(func(quit <-chan struct{}) error { 842 defer sub.Unsubscribe() 843 for { 844 select { 845 case log := <-logs: 846 // New log arrived, parse the event and forward to the user 847 event := new(ERC721Transfer) 848 if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 849 return err 850 } 851 event.Raw = log 852 853 select { 854 case sink <- event: 855 case err := <-sub.Err(): 856 return err 857 case <-quit: 858 return nil 859 } 860 case err := <-sub.Err(): 861 return err 862 case <-quit: 863 return nil 864 } 865 } 866 }), nil 867 } 868 869 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 870 // 871 // Solidity: event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId) 872 func (_ERC721 *ERC721Filterer) ParseTransfer(log types.Log) (*ERC721Transfer, error) { 873 event := new(ERC721Transfer) 874 if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil { 875 return nil, err 876 } 877 event.Raw = log 878 return event, nil 879 } 880 881 // ERC721CompatABI is the input ABI used to generate the binding from. 882 const ERC721CompatABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]" 883 884 // ERC721Compat is an auto generated Go binding around an Ethereum contract. 885 type ERC721Compat struct { 886 ERC721CompatCaller // Read-only binding to the contract 887 ERC721CompatTransactor // Write-only binding to the contract 888 ERC721CompatFilterer // Log filterer for contract events 889 } 890 891 // ERC721CompatCaller is an auto generated read-only Go binding around an Ethereum contract. 892 type ERC721CompatCaller struct { 893 contract *bind.BoundContract // Generic contract wrapper for the low level calls 894 } 895 896 // ERC721CompatTransactor is an auto generated write-only Go binding around an Ethereum contract. 897 type ERC721CompatTransactor struct { 898 contract *bind.BoundContract // Generic contract wrapper for the low level calls 899 } 900 901 // ERC721CompatFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 902 type ERC721CompatFilterer struct { 903 contract *bind.BoundContract // Generic contract wrapper for the low level calls 904 } 905 906 // ERC721CompatSession is an auto generated Go binding around an Ethereum contract, 907 // with pre-set call and transact options. 908 type ERC721CompatSession struct { 909 Contract *ERC721Compat // Generic contract binding to set the session for 910 CallOpts bind.CallOpts // Call options to use throughout this session 911 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 912 } 913 914 // ERC721CompatCallerSession is an auto generated read-only Go binding around an Ethereum contract, 915 // with pre-set call options. 916 type ERC721CompatCallerSession struct { 917 Contract *ERC721CompatCaller // Generic contract caller binding to set the session for 918 CallOpts bind.CallOpts // Call options to use throughout this session 919 } 920 921 // ERC721CompatTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 922 // with pre-set transact options. 923 type ERC721CompatTransactorSession struct { 924 Contract *ERC721CompatTransactor // Generic contract transactor binding to set the session for 925 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 926 } 927 928 // ERC721CompatRaw is an auto generated low-level Go binding around an Ethereum contract. 929 type ERC721CompatRaw struct { 930 Contract *ERC721Compat // Generic contract binding to access the raw methods on 931 } 932 933 // ERC721CompatCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 934 type ERC721CompatCallerRaw struct { 935 Contract *ERC721CompatCaller // Generic read-only contract binding to access the raw methods on 936 } 937 938 // ERC721CompatTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 939 type ERC721CompatTransactorRaw struct { 940 Contract *ERC721CompatTransactor // Generic write-only contract binding to access the raw methods on 941 } 942 943 // NewERC721Compat creates a new instance of ERC721Compat, bound to a specific deployed contract. 944 func NewERC721Compat(address common.Address, backend bind.ContractBackend) (*ERC721Compat, error) { 945 contract, err := bindERC721Compat(address, backend, backend, backend) 946 if err != nil { 947 return nil, err 948 } 949 return &ERC721Compat{ERC721CompatCaller: ERC721CompatCaller{contract: contract}, ERC721CompatTransactor: ERC721CompatTransactor{contract: contract}, ERC721CompatFilterer: ERC721CompatFilterer{contract: contract}}, nil 950 } 951 952 // NewERC721CompatCaller creates a new read-only instance of ERC721Compat, bound to a specific deployed contract. 953 func NewERC721CompatCaller(address common.Address, caller bind.ContractCaller) (*ERC721CompatCaller, error) { 954 contract, err := bindERC721Compat(address, caller, nil, nil) 955 if err != nil { 956 return nil, err 957 } 958 return &ERC721CompatCaller{contract: contract}, nil 959 } 960 961 // NewERC721CompatTransactor creates a new write-only instance of ERC721Compat, bound to a specific deployed contract. 962 func NewERC721CompatTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721CompatTransactor, error) { 963 contract, err := bindERC721Compat(address, nil, transactor, nil) 964 if err != nil { 965 return nil, err 966 } 967 return &ERC721CompatTransactor{contract: contract}, nil 968 } 969 970 // NewERC721CompatFilterer creates a new log filterer instance of ERC721Compat, bound to a specific deployed contract. 971 func NewERC721CompatFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721CompatFilterer, error) { 972 contract, err := bindERC721Compat(address, nil, nil, filterer) 973 if err != nil { 974 return nil, err 975 } 976 return &ERC721CompatFilterer{contract: contract}, nil 977 } 978 979 // bindERC721Compat binds a generic wrapper to an already deployed contract. 980 func bindERC721Compat(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 981 parsed, err := abi.JSON(strings.NewReader(ERC721CompatABI)) 982 if err != nil { 983 return nil, err 984 } 985 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 986 } 987 988 // Call invokes the (constant) contract method with params as input values and 989 // sets the output to result. The result type might be a single field for simple 990 // returns, a slice of interfaces for anonymous returns and a struct for named 991 // returns. 992 func (_ERC721Compat *ERC721CompatRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 993 return _ERC721Compat.Contract.ERC721CompatCaller.contract.Call(opts, result, method, params...) 994 } 995 996 // Transfer initiates a plain transaction to move funds to the contract, calling 997 // its default method if one is available. 998 func (_ERC721Compat *ERC721CompatRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 999 return _ERC721Compat.Contract.ERC721CompatTransactor.contract.Transfer(opts) 1000 } 1001 1002 // Transact invokes the (paid) contract method with params as input values. 1003 func (_ERC721Compat *ERC721CompatRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1004 return _ERC721Compat.Contract.ERC721CompatTransactor.contract.Transact(opts, method, params...) 1005 } 1006 1007 // Call invokes the (constant) contract method with params as input values and 1008 // sets the output to result. The result type might be a single field for simple 1009 // returns, a slice of interfaces for anonymous returns and a struct for named 1010 // returns. 1011 func (_ERC721Compat *ERC721CompatCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1012 return _ERC721Compat.Contract.contract.Call(opts, result, method, params...) 1013 } 1014 1015 // Transfer initiates a plain transaction to move funds to the contract, calling 1016 // its default method if one is available. 1017 func (_ERC721Compat *ERC721CompatTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1018 return _ERC721Compat.Contract.contract.Transfer(opts) 1019 } 1020 1021 // Transact invokes the (paid) contract method with params as input values. 1022 func (_ERC721Compat *ERC721CompatTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1023 return _ERC721Compat.Contract.contract.Transact(opts, method, params...) 1024 } 1025 1026 // ERC721CompatTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721Compat contract. 1027 type ERC721CompatTransferIterator struct { 1028 Event *ERC721CompatTransfer // Event containing the contract specifics and raw log 1029 1030 contract *bind.BoundContract // Generic contract to use for unpacking event data 1031 event string // Event name to use for unpacking event data 1032 1033 logs chan types.Log // Log channel receiving the found contract events 1034 sub ethereum.Subscription // Subscription for errors, completion and termination 1035 done bool // Whether the subscription completed delivering logs 1036 fail error // Occurred error to stop iteration 1037 } 1038 1039 // Next advances the iterator to the subsequent event, returning whether there 1040 // are any more events found. In case of a retrieval or parsing error, false is 1041 // returned and Error() can be queried for the exact failure. 1042 func (it *ERC721CompatTransferIterator) Next() bool { 1043 // If the iterator failed, stop iterating 1044 if it.fail != nil { 1045 return false 1046 } 1047 // If the iterator completed, deliver directly whatever's available 1048 if it.done { 1049 select { 1050 case log := <-it.logs: 1051 it.Event = new(ERC721CompatTransfer) 1052 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1053 it.fail = err 1054 return false 1055 } 1056 it.Event.Raw = log 1057 return true 1058 1059 default: 1060 return false 1061 } 1062 } 1063 // Iterator still in progress, wait for either a data or an error event 1064 select { 1065 case log := <-it.logs: 1066 it.Event = new(ERC721CompatTransfer) 1067 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1068 it.fail = err 1069 return false 1070 } 1071 it.Event.Raw = log 1072 return true 1073 1074 case err := <-it.sub.Err(): 1075 it.done = true 1076 it.fail = err 1077 return it.Next() 1078 } 1079 } 1080 1081 // Error returns any retrieval or parsing error occurred during filtering. 1082 func (it *ERC721CompatTransferIterator) Error() error { 1083 return it.fail 1084 } 1085 1086 // Close terminates the iteration process, releasing any pending underlying 1087 // resources. 1088 func (it *ERC721CompatTransferIterator) Close() error { 1089 it.sub.Unsubscribe() 1090 return nil 1091 } 1092 1093 // ERC721CompatTransfer represents a Transfer event raised by the ERC721Compat contract. 1094 type ERC721CompatTransfer struct { 1095 From common.Address 1096 To common.Address 1097 TokenId *big.Int 1098 Raw types.Log // Blockchain specific contextual infos 1099 } 1100 1101 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1102 // 1103 // Solidity: event Transfer(address indexed _from, address indexed _to, uint256 _tokenId) 1104 func (_ERC721Compat *ERC721CompatFilterer) FilterTransfer(opts *bind.FilterOpts, _from []common.Address, _to []common.Address) (*ERC721CompatTransferIterator, error) { 1105 1106 var _fromRule []interface{} 1107 for _, _fromItem := range _from { 1108 _fromRule = append(_fromRule, _fromItem) 1109 } 1110 var _toRule []interface{} 1111 for _, _toItem := range _to { 1112 _toRule = append(_toRule, _toItem) 1113 } 1114 1115 logs, sub, err := _ERC721Compat.contract.FilterLogs(opts, "Transfer", _fromRule, _toRule) 1116 if err != nil { 1117 return nil, err 1118 } 1119 return &ERC721CompatTransferIterator{contract: _ERC721Compat.contract, event: "Transfer", logs: logs, sub: sub}, nil 1120 } 1121 1122 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1123 // 1124 // Solidity: event Transfer(address indexed _from, address indexed _to, uint256 _tokenId) 1125 func (_ERC721Compat *ERC721CompatFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721CompatTransfer, _from []common.Address, _to []common.Address) (event.Subscription, error) { 1126 1127 var _fromRule []interface{} 1128 for _, _fromItem := range _from { 1129 _fromRule = append(_fromRule, _fromItem) 1130 } 1131 var _toRule []interface{} 1132 for _, _toItem := range _to { 1133 _toRule = append(_toRule, _toItem) 1134 } 1135 1136 logs, sub, err := _ERC721Compat.contract.WatchLogs(opts, "Transfer", _fromRule, _toRule) 1137 if err != nil { 1138 return nil, err 1139 } 1140 return event.NewSubscription(func(quit <-chan struct{}) error { 1141 defer sub.Unsubscribe() 1142 for { 1143 select { 1144 case log := <-logs: 1145 // New log arrived, parse the event and forward to the user 1146 event := new(ERC721CompatTransfer) 1147 if err := _ERC721Compat.contract.UnpackLog(event, "Transfer", log); err != nil { 1148 return err 1149 } 1150 event.Raw = log 1151 1152 select { 1153 case sink <- event: 1154 case err := <-sub.Err(): 1155 return err 1156 case <-quit: 1157 return nil 1158 } 1159 case err := <-sub.Err(): 1160 return err 1161 case <-quit: 1162 return nil 1163 } 1164 } 1165 }), nil 1166 } 1167 1168 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1169 // 1170 // Solidity: event Transfer(address indexed _from, address indexed _to, uint256 _tokenId) 1171 func (_ERC721Compat *ERC721CompatFilterer) ParseTransfer(log types.Log) (*ERC721CompatTransfer, error) { 1172 event := new(ERC721CompatTransfer) 1173 if err := _ERC721Compat.contract.UnpackLog(event, "Transfer", log); err != nil { 1174 return nil, err 1175 } 1176 event.Raw = log 1177 return event, nil 1178 } 1179 1180 // ERC721EnumerableABI is the input ABI used to generate the binding from. 1181 const ERC721EnumerableABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" 1182 1183 // ERC721Enumerable is an auto generated Go binding around an Ethereum contract. 1184 type ERC721Enumerable struct { 1185 ERC721EnumerableCaller // Read-only binding to the contract 1186 ERC721EnumerableTransactor // Write-only binding to the contract 1187 ERC721EnumerableFilterer // Log filterer for contract events 1188 } 1189 1190 // ERC721EnumerableCaller is an auto generated read-only Go binding around an Ethereum contract. 1191 type ERC721EnumerableCaller struct { 1192 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1193 } 1194 1195 // ERC721EnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract. 1196 type ERC721EnumerableTransactor struct { 1197 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1198 } 1199 1200 // ERC721EnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 1201 type ERC721EnumerableFilterer struct { 1202 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1203 } 1204 1205 // ERC721EnumerableSession is an auto generated Go binding around an Ethereum contract, 1206 // with pre-set call and transact options. 1207 type ERC721EnumerableSession struct { 1208 Contract *ERC721Enumerable // Generic contract binding to set the session for 1209 CallOpts bind.CallOpts // Call options to use throughout this session 1210 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1211 } 1212 1213 // ERC721EnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract, 1214 // with pre-set call options. 1215 type ERC721EnumerableCallerSession struct { 1216 Contract *ERC721EnumerableCaller // Generic contract caller binding to set the session for 1217 CallOpts bind.CallOpts // Call options to use throughout this session 1218 } 1219 1220 // ERC721EnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 1221 // with pre-set transact options. 1222 type ERC721EnumerableTransactorSession struct { 1223 Contract *ERC721EnumerableTransactor // Generic contract transactor binding to set the session for 1224 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1225 } 1226 1227 // ERC721EnumerableRaw is an auto generated low-level Go binding around an Ethereum contract. 1228 type ERC721EnumerableRaw struct { 1229 Contract *ERC721Enumerable // Generic contract binding to access the raw methods on 1230 } 1231 1232 // ERC721EnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 1233 type ERC721EnumerableCallerRaw struct { 1234 Contract *ERC721EnumerableCaller // Generic read-only contract binding to access the raw methods on 1235 } 1236 1237 // ERC721EnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 1238 type ERC721EnumerableTransactorRaw struct { 1239 Contract *ERC721EnumerableTransactor // Generic write-only contract binding to access the raw methods on 1240 } 1241 1242 // NewERC721Enumerable creates a new instance of ERC721Enumerable, bound to a specific deployed contract. 1243 func NewERC721Enumerable(address common.Address, backend bind.ContractBackend) (*ERC721Enumerable, error) { 1244 contract, err := bindERC721Enumerable(address, backend, backend, backend) 1245 if err != nil { 1246 return nil, err 1247 } 1248 return &ERC721Enumerable{ERC721EnumerableCaller: ERC721EnumerableCaller{contract: contract}, ERC721EnumerableTransactor: ERC721EnumerableTransactor{contract: contract}, ERC721EnumerableFilterer: ERC721EnumerableFilterer{contract: contract}}, nil 1249 } 1250 1251 // NewERC721EnumerableCaller creates a new read-only instance of ERC721Enumerable, bound to a specific deployed contract. 1252 func NewERC721EnumerableCaller(address common.Address, caller bind.ContractCaller) (*ERC721EnumerableCaller, error) { 1253 contract, err := bindERC721Enumerable(address, caller, nil, nil) 1254 if err != nil { 1255 return nil, err 1256 } 1257 return &ERC721EnumerableCaller{contract: contract}, nil 1258 } 1259 1260 // NewERC721EnumerableTransactor creates a new write-only instance of ERC721Enumerable, bound to a specific deployed contract. 1261 func NewERC721EnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721EnumerableTransactor, error) { 1262 contract, err := bindERC721Enumerable(address, nil, transactor, nil) 1263 if err != nil { 1264 return nil, err 1265 } 1266 return &ERC721EnumerableTransactor{contract: contract}, nil 1267 } 1268 1269 // NewERC721EnumerableFilterer creates a new log filterer instance of ERC721Enumerable, bound to a specific deployed contract. 1270 func NewERC721EnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721EnumerableFilterer, error) { 1271 contract, err := bindERC721Enumerable(address, nil, nil, filterer) 1272 if err != nil { 1273 return nil, err 1274 } 1275 return &ERC721EnumerableFilterer{contract: contract}, nil 1276 } 1277 1278 // bindERC721Enumerable binds a generic wrapper to an already deployed contract. 1279 func bindERC721Enumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1280 parsed, err := abi.JSON(strings.NewReader(ERC721EnumerableABI)) 1281 if err != nil { 1282 return nil, err 1283 } 1284 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 1285 } 1286 1287 // Call invokes the (constant) contract method with params as input values and 1288 // sets the output to result. The result type might be a single field for simple 1289 // returns, a slice of interfaces for anonymous returns and a struct for named 1290 // returns. 1291 func (_ERC721Enumerable *ERC721EnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1292 return _ERC721Enumerable.Contract.ERC721EnumerableCaller.contract.Call(opts, result, method, params...) 1293 } 1294 1295 // Transfer initiates a plain transaction to move funds to the contract, calling 1296 // its default method if one is available. 1297 func (_ERC721Enumerable *ERC721EnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1298 return _ERC721Enumerable.Contract.ERC721EnumerableTransactor.contract.Transfer(opts) 1299 } 1300 1301 // Transact invokes the (paid) contract method with params as input values. 1302 func (_ERC721Enumerable *ERC721EnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1303 return _ERC721Enumerable.Contract.ERC721EnumerableTransactor.contract.Transact(opts, method, params...) 1304 } 1305 1306 // Call invokes the (constant) contract method with params as input values and 1307 // sets the output to result. The result type might be a single field for simple 1308 // returns, a slice of interfaces for anonymous returns and a struct for named 1309 // returns. 1310 func (_ERC721Enumerable *ERC721EnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1311 return _ERC721Enumerable.Contract.contract.Call(opts, result, method, params...) 1312 } 1313 1314 // Transfer initiates a plain transaction to move funds to the contract, calling 1315 // its default method if one is available. 1316 func (_ERC721Enumerable *ERC721EnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1317 return _ERC721Enumerable.Contract.contract.Transfer(opts) 1318 } 1319 1320 // Transact invokes the (paid) contract method with params as input values. 1321 func (_ERC721Enumerable *ERC721EnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1322 return _ERC721Enumerable.Contract.contract.Transact(opts, method, params...) 1323 } 1324 1325 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 1326 // 1327 // Solidity: function tokenByIndex(uint256 _index) view returns(uint256) 1328 func (_ERC721Enumerable *ERC721EnumerableCaller) TokenByIndex(opts *bind.CallOpts, _index *big.Int) (*big.Int, error) { 1329 var out []interface{} 1330 err := _ERC721Enumerable.contract.Call(opts, &out, "tokenByIndex", _index) 1331 1332 if err != nil { 1333 return *new(*big.Int), err 1334 } 1335 1336 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1337 1338 return out0, err 1339 1340 } 1341 1342 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 1343 // 1344 // Solidity: function tokenByIndex(uint256 _index) view returns(uint256) 1345 func (_ERC721Enumerable *ERC721EnumerableSession) TokenByIndex(_index *big.Int) (*big.Int, error) { 1346 return _ERC721Enumerable.Contract.TokenByIndex(&_ERC721Enumerable.CallOpts, _index) 1347 } 1348 1349 // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. 1350 // 1351 // Solidity: function tokenByIndex(uint256 _index) view returns(uint256) 1352 func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenByIndex(_index *big.Int) (*big.Int, error) { 1353 return _ERC721Enumerable.Contract.TokenByIndex(&_ERC721Enumerable.CallOpts, _index) 1354 } 1355 1356 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 1357 // 1358 // Solidity: function tokenOfOwnerByIndex(address _owner, uint256 _index) view returns(uint256) 1359 func (_ERC721Enumerable *ERC721EnumerableCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, _owner common.Address, _index *big.Int) (*big.Int, error) { 1360 var out []interface{} 1361 err := _ERC721Enumerable.contract.Call(opts, &out, "tokenOfOwnerByIndex", _owner, _index) 1362 1363 if err != nil { 1364 return *new(*big.Int), err 1365 } 1366 1367 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1368 1369 return out0, err 1370 1371 } 1372 1373 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 1374 // 1375 // Solidity: function tokenOfOwnerByIndex(address _owner, uint256 _index) view returns(uint256) 1376 func (_ERC721Enumerable *ERC721EnumerableSession) TokenOfOwnerByIndex(_owner common.Address, _index *big.Int) (*big.Int, error) { 1377 return _ERC721Enumerable.Contract.TokenOfOwnerByIndex(&_ERC721Enumerable.CallOpts, _owner, _index) 1378 } 1379 1380 // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. 1381 // 1382 // Solidity: function tokenOfOwnerByIndex(address _owner, uint256 _index) view returns(uint256) 1383 func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenOfOwnerByIndex(_owner common.Address, _index *big.Int) (*big.Int, error) { 1384 return _ERC721Enumerable.Contract.TokenOfOwnerByIndex(&_ERC721Enumerable.CallOpts, _owner, _index) 1385 } 1386 1387 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1388 // 1389 // Solidity: function totalSupply() view returns(uint256) 1390 func (_ERC721Enumerable *ERC721EnumerableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 1391 var out []interface{} 1392 err := _ERC721Enumerable.contract.Call(opts, &out, "totalSupply") 1393 1394 if err != nil { 1395 return *new(*big.Int), err 1396 } 1397 1398 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1399 1400 return out0, err 1401 1402 } 1403 1404 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1405 // 1406 // Solidity: function totalSupply() view returns(uint256) 1407 func (_ERC721Enumerable *ERC721EnumerableSession) TotalSupply() (*big.Int, error) { 1408 return _ERC721Enumerable.Contract.TotalSupply(&_ERC721Enumerable.CallOpts) 1409 } 1410 1411 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1412 // 1413 // Solidity: function totalSupply() view returns(uint256) 1414 func (_ERC721Enumerable *ERC721EnumerableCallerSession) TotalSupply() (*big.Int, error) { 1415 return _ERC721Enumerable.Contract.TotalSupply(&_ERC721Enumerable.CallOpts) 1416 } 1417 1418 // ERC721MetadataABI is the input ABI used to generate the binding from. 1419 const ERC721MetadataABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"_symbol\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" 1420 1421 // ERC721Metadata is an auto generated Go binding around an Ethereum contract. 1422 type ERC721Metadata struct { 1423 ERC721MetadataCaller // Read-only binding to the contract 1424 ERC721MetadataTransactor // Write-only binding to the contract 1425 ERC721MetadataFilterer // Log filterer for contract events 1426 } 1427 1428 // ERC721MetadataCaller is an auto generated read-only Go binding around an Ethereum contract. 1429 type ERC721MetadataCaller struct { 1430 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1431 } 1432 1433 // ERC721MetadataTransactor is an auto generated write-only Go binding around an Ethereum contract. 1434 type ERC721MetadataTransactor struct { 1435 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1436 } 1437 1438 // ERC721MetadataFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 1439 type ERC721MetadataFilterer struct { 1440 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1441 } 1442 1443 // ERC721MetadataSession is an auto generated Go binding around an Ethereum contract, 1444 // with pre-set call and transact options. 1445 type ERC721MetadataSession struct { 1446 Contract *ERC721Metadata // Generic contract binding to set the session for 1447 CallOpts bind.CallOpts // Call options to use throughout this session 1448 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1449 } 1450 1451 // ERC721MetadataCallerSession is an auto generated read-only Go binding around an Ethereum contract, 1452 // with pre-set call options. 1453 type ERC721MetadataCallerSession struct { 1454 Contract *ERC721MetadataCaller // Generic contract caller binding to set the session for 1455 CallOpts bind.CallOpts // Call options to use throughout this session 1456 } 1457 1458 // ERC721MetadataTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 1459 // with pre-set transact options. 1460 type ERC721MetadataTransactorSession struct { 1461 Contract *ERC721MetadataTransactor // Generic contract transactor binding to set the session for 1462 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1463 } 1464 1465 // ERC721MetadataRaw is an auto generated low-level Go binding around an Ethereum contract. 1466 type ERC721MetadataRaw struct { 1467 Contract *ERC721Metadata // Generic contract binding to access the raw methods on 1468 } 1469 1470 // ERC721MetadataCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 1471 type ERC721MetadataCallerRaw struct { 1472 Contract *ERC721MetadataCaller // Generic read-only contract binding to access the raw methods on 1473 } 1474 1475 // ERC721MetadataTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 1476 type ERC721MetadataTransactorRaw struct { 1477 Contract *ERC721MetadataTransactor // Generic write-only contract binding to access the raw methods on 1478 } 1479 1480 // NewERC721Metadata creates a new instance of ERC721Metadata, bound to a specific deployed contract. 1481 func NewERC721Metadata(address common.Address, backend bind.ContractBackend) (*ERC721Metadata, error) { 1482 contract, err := bindERC721Metadata(address, backend, backend, backend) 1483 if err != nil { 1484 return nil, err 1485 } 1486 return &ERC721Metadata{ERC721MetadataCaller: ERC721MetadataCaller{contract: contract}, ERC721MetadataTransactor: ERC721MetadataTransactor{contract: contract}, ERC721MetadataFilterer: ERC721MetadataFilterer{contract: contract}}, nil 1487 } 1488 1489 // NewERC721MetadataCaller creates a new read-only instance of ERC721Metadata, bound to a specific deployed contract. 1490 func NewERC721MetadataCaller(address common.Address, caller bind.ContractCaller) (*ERC721MetadataCaller, error) { 1491 contract, err := bindERC721Metadata(address, caller, nil, nil) 1492 if err != nil { 1493 return nil, err 1494 } 1495 return &ERC721MetadataCaller{contract: contract}, nil 1496 } 1497 1498 // NewERC721MetadataTransactor creates a new write-only instance of ERC721Metadata, bound to a specific deployed contract. 1499 func NewERC721MetadataTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721MetadataTransactor, error) { 1500 contract, err := bindERC721Metadata(address, nil, transactor, nil) 1501 if err != nil { 1502 return nil, err 1503 } 1504 return &ERC721MetadataTransactor{contract: contract}, nil 1505 } 1506 1507 // NewERC721MetadataFilterer creates a new log filterer instance of ERC721Metadata, bound to a specific deployed contract. 1508 func NewERC721MetadataFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721MetadataFilterer, error) { 1509 contract, err := bindERC721Metadata(address, nil, nil, filterer) 1510 if err != nil { 1511 return nil, err 1512 } 1513 return &ERC721MetadataFilterer{contract: contract}, nil 1514 } 1515 1516 // bindERC721Metadata binds a generic wrapper to an already deployed contract. 1517 func bindERC721Metadata(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1518 parsed, err := abi.JSON(strings.NewReader(ERC721MetadataABI)) 1519 if err != nil { 1520 return nil, err 1521 } 1522 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 1523 } 1524 1525 // Call invokes the (constant) contract method with params as input values and 1526 // sets the output to result. The result type might be a single field for simple 1527 // returns, a slice of interfaces for anonymous returns and a struct for named 1528 // returns. 1529 func (_ERC721Metadata *ERC721MetadataRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1530 return _ERC721Metadata.Contract.ERC721MetadataCaller.contract.Call(opts, result, method, params...) 1531 } 1532 1533 // Transfer initiates a plain transaction to move funds to the contract, calling 1534 // its default method if one is available. 1535 func (_ERC721Metadata *ERC721MetadataRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1536 return _ERC721Metadata.Contract.ERC721MetadataTransactor.contract.Transfer(opts) 1537 } 1538 1539 // Transact invokes the (paid) contract method with params as input values. 1540 func (_ERC721Metadata *ERC721MetadataRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1541 return _ERC721Metadata.Contract.ERC721MetadataTransactor.contract.Transact(opts, method, params...) 1542 } 1543 1544 // Call invokes the (constant) contract method with params as input values and 1545 // sets the output to result. The result type might be a single field for simple 1546 // returns, a slice of interfaces for anonymous returns and a struct for named 1547 // returns. 1548 func (_ERC721Metadata *ERC721MetadataCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1549 return _ERC721Metadata.Contract.contract.Call(opts, result, method, params...) 1550 } 1551 1552 // Transfer initiates a plain transaction to move funds to the contract, calling 1553 // its default method if one is available. 1554 func (_ERC721Metadata *ERC721MetadataTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1555 return _ERC721Metadata.Contract.contract.Transfer(opts) 1556 } 1557 1558 // Transact invokes the (paid) contract method with params as input values. 1559 func (_ERC721Metadata *ERC721MetadataTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1560 return _ERC721Metadata.Contract.contract.Transact(opts, method, params...) 1561 } 1562 1563 // Name is a free data retrieval call binding the contract method 0x06fdde03. 1564 // 1565 // Solidity: function name() view returns(string _name) 1566 func (_ERC721Metadata *ERC721MetadataCaller) Name(opts *bind.CallOpts) (string, error) { 1567 var out []interface{} 1568 err := _ERC721Metadata.contract.Call(opts, &out, "name") 1569 1570 if err != nil { 1571 return *new(string), err 1572 } 1573 1574 out0 := *abi.ConvertType(out[0], new(string)).(*string) 1575 1576 return out0, err 1577 1578 } 1579 1580 // Name is a free data retrieval call binding the contract method 0x06fdde03. 1581 // 1582 // Solidity: function name() view returns(string _name) 1583 func (_ERC721Metadata *ERC721MetadataSession) Name() (string, error) { 1584 return _ERC721Metadata.Contract.Name(&_ERC721Metadata.CallOpts) 1585 } 1586 1587 // Name is a free data retrieval call binding the contract method 0x06fdde03. 1588 // 1589 // Solidity: function name() view returns(string _name) 1590 func (_ERC721Metadata *ERC721MetadataCallerSession) Name() (string, error) { 1591 return _ERC721Metadata.Contract.Name(&_ERC721Metadata.CallOpts) 1592 } 1593 1594 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 1595 // 1596 // Solidity: function symbol() view returns(string _symbol) 1597 func (_ERC721Metadata *ERC721MetadataCaller) Symbol(opts *bind.CallOpts) (string, error) { 1598 var out []interface{} 1599 err := _ERC721Metadata.contract.Call(opts, &out, "symbol") 1600 1601 if err != nil { 1602 return *new(string), err 1603 } 1604 1605 out0 := *abi.ConvertType(out[0], new(string)).(*string) 1606 1607 return out0, err 1608 1609 } 1610 1611 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 1612 // 1613 // Solidity: function symbol() view returns(string _symbol) 1614 func (_ERC721Metadata *ERC721MetadataSession) Symbol() (string, error) { 1615 return _ERC721Metadata.Contract.Symbol(&_ERC721Metadata.CallOpts) 1616 } 1617 1618 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 1619 // 1620 // Solidity: function symbol() view returns(string _symbol) 1621 func (_ERC721Metadata *ERC721MetadataCallerSession) Symbol() (string, error) { 1622 return _ERC721Metadata.Contract.Symbol(&_ERC721Metadata.CallOpts) 1623 } 1624 1625 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 1626 // 1627 // Solidity: function tokenURI(uint256 _tokenId) view returns(string) 1628 func (_ERC721Metadata *ERC721MetadataCaller) TokenURI(opts *bind.CallOpts, _tokenId *big.Int) (string, error) { 1629 var out []interface{} 1630 err := _ERC721Metadata.contract.Call(opts, &out, "tokenURI", _tokenId) 1631 1632 if err != nil { 1633 return *new(string), err 1634 } 1635 1636 out0 := *abi.ConvertType(out[0], new(string)).(*string) 1637 1638 return out0, err 1639 1640 } 1641 1642 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 1643 // 1644 // Solidity: function tokenURI(uint256 _tokenId) view returns(string) 1645 func (_ERC721Metadata *ERC721MetadataSession) TokenURI(_tokenId *big.Int) (string, error) { 1646 return _ERC721Metadata.Contract.TokenURI(&_ERC721Metadata.CallOpts, _tokenId) 1647 } 1648 1649 // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. 1650 // 1651 // Solidity: function tokenURI(uint256 _tokenId) view returns(string) 1652 func (_ERC721Metadata *ERC721MetadataCallerSession) TokenURI(_tokenId *big.Int) (string, error) { 1653 return _ERC721Metadata.Contract.TokenURI(&_ERC721Metadata.CallOpts, _tokenId) 1654 }