123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880 |
- // Code generated - DO NOT EDIT.
- // This file is a generated binding and any manual changes will be lost.
- package contract
- import (
- "strings"
- ethereum "github.com/ethereum/go-ethereum"
- "github.com/ethereum/go-ethereum/accounts/abi"
- "github.com/ethereum/go-ethereum/accounts/abi/bind"
- "github.com/ethereum/go-ethereum/common"
- "github.com/ethereum/go-ethereum/core/types"
- "github.com/ethereum/go-ethereum/event"
- )
- // ENSABI is the input ABI used to generate the binding from.
- const ENSABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"resolver\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"label\",\"type\":\"bytes32\"},{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setSubnodeOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setTTL\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"ttl\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NewOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"NewResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"NewTTL\",\"type\":\"event\"}]"
- // ENSBin is the compiled bytecode used for deploying new contracts.
- const ENSBin = `0x6060604052341561000f57600080fd5b60008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb58054600160a060020a033316600160a060020a0319909116179055610503806100626000396000f3006060604052600436106100825763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630178b8bf811461008757806302571be3146100b957806306ab5923146100cf57806314ab9038146100f657806316a25cbd146101195780631896f70a1461014c5780635b0fc9c31461016e575b600080fd5b341561009257600080fd5b61009d600435610190565b604051600160a060020a03909116815260200160405180910390f35b34156100c457600080fd5b61009d6004356101ae565b34156100da57600080fd5b6100f4600435602435600160a060020a03604435166101c9565b005b341561010157600080fd5b6100f460043567ffffffffffffffff6024351661028b565b341561012457600080fd5b61012f600435610357565b60405167ffffffffffffffff909116815260200160405180910390f35b341561015757600080fd5b6100f4600435600160a060020a036024351661038e565b341561017957600080fd5b6100f4600435600160a060020a0360243516610434565b600090815260208190526040902060010154600160a060020a031690565b600090815260208190526040902054600160a060020a031690565b600083815260208190526040812054849033600160a060020a039081169116146101f257600080fd5b8484604051918252602082015260409081019051908190039020915083857fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8285604051600160a060020a03909116815260200160405180910390a3506000908152602081905260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b600082815260208190526040902054829033600160a060020a039081169116146102b457600080fd5b827f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa688360405167ffffffffffffffff909116815260200160405180910390a250600091825260208290526040909120600101805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b600082815260208190526040902054829033600160a060020a039081169116146103b757600080fd5b827f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051600160a060020a03909116815260200160405180910390a250600091825260208290526040909120600101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600082815260208190526040902054829033600160a060020a0390811691161461045d57600080fd5b827fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26683604051600160a060020a03909116815260200160405180910390a250600091825260208290526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555600a165627a7a72305820f4c798d4c84c9912f389f64631e85e8d16c3e6644f8c2e1579936015c7d5f6660029`
- // DeployENS deploys a new Ethereum contract, binding an instance of ENS to it.
- func DeployENS(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ENS, error) {
- parsed, err := abi.JSON(strings.NewReader(ENSABI))
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ENSBin), backend)
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- return address, tx, &ENS{ENSCaller: ENSCaller{contract: contract}, ENSTransactor: ENSTransactor{contract: contract}, ENSFilterer: ENSFilterer{contract: contract}}, nil
- }
- // ENS is an auto generated Go binding around an Ethereum contract.
- type ENS struct {
- ENSCaller // Read-only binding to the contract
- ENSTransactor // Write-only binding to the contract
- ENSFilterer // Log filterer for contract events
- }
- // ENSCaller is an auto generated read-only Go binding around an Ethereum contract.
- type ENSCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ENSTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type ENSTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ENSFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type ENSFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ENSSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type ENSSession struct {
- Contract *ENS // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // ENSCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type ENSCallerSession struct {
- Contract *ENSCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // ENSTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type ENSTransactorSession struct {
- Contract *ENSTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // ENSRaw is an auto generated low-level Go binding around an Ethereum contract.
- type ENSRaw struct {
- Contract *ENS // Generic contract binding to access the raw methods on
- }
- // ENSCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type ENSCallerRaw struct {
- Contract *ENSCaller // Generic read-only contract binding to access the raw methods on
- }
- // ENSTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type ENSTransactorRaw struct {
- Contract *ENSTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewENS creates a new instance of ENS, bound to a specific deployed contract.
- func NewENS(address common.Address, backend bind.ContractBackend) (*ENS, error) {
- contract, err := bindENS(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &ENS{ENSCaller: ENSCaller{contract: contract}, ENSTransactor: ENSTransactor{contract: contract}, ENSFilterer: ENSFilterer{contract: contract}}, nil
- }
- // NewENSCaller creates a new read-only instance of ENS, bound to a specific deployed contract.
- func NewENSCaller(address common.Address, caller bind.ContractCaller) (*ENSCaller, error) {
- contract, err := bindENS(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &ENSCaller{contract: contract}, nil
- }
- // NewENSTransactor creates a new write-only instance of ENS, bound to a specific deployed contract.
- func NewENSTransactor(address common.Address, transactor bind.ContractTransactor) (*ENSTransactor, error) {
- contract, err := bindENS(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &ENSTransactor{contract: contract}, nil
- }
- // NewENSFilterer creates a new log filterer instance of ENS, bound to a specific deployed contract.
- func NewENSFilterer(address common.Address, filterer bind.ContractFilterer) (*ENSFilterer, error) {
- contract, err := bindENS(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &ENSFilterer{contract: contract}, nil
- }
- // bindENS binds a generic wrapper to an already deployed contract.
- func bindENS(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(ENSABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_ENS *ENSRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
- return _ENS.Contract.ENSCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_ENS *ENSRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _ENS.Contract.ENSTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_ENS *ENSRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _ENS.Contract.ENSTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_ENS *ENSCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
- return _ENS.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_ENS *ENSTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _ENS.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_ENS *ENSTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _ENS.Contract.contract.Transact(opts, method, params...)
- }
- // Owner is a free data retrieval call binding the contract method 0x02571be3.
- //
- // Solidity: function owner(node bytes32) constant returns(address)
- func (_ENS *ENSCaller) Owner(opts *bind.CallOpts, node [32]byte) (common.Address, error) {
- var (
- ret0 = new(common.Address)
- )
- out := ret0
- err := _ENS.contract.Call(opts, out, "owner", node)
- return *ret0, err
- }
- // Owner is a free data retrieval call binding the contract method 0x02571be3.
- //
- // Solidity: function owner(node bytes32) constant returns(address)
- func (_ENS *ENSSession) Owner(node [32]byte) (common.Address, error) {
- return _ENS.Contract.Owner(&_ENS.CallOpts, node)
- }
- // Owner is a free data retrieval call binding the contract method 0x02571be3.
- //
- // Solidity: function owner(node bytes32) constant returns(address)
- func (_ENS *ENSCallerSession) Owner(node [32]byte) (common.Address, error) {
- return _ENS.Contract.Owner(&_ENS.CallOpts, node)
- }
- // Resolver is a free data retrieval call binding the contract method 0x0178b8bf.
- //
- // Solidity: function resolver(node bytes32) constant returns(address)
- func (_ENS *ENSCaller) Resolver(opts *bind.CallOpts, node [32]byte) (common.Address, error) {
- var (
- ret0 = new(common.Address)
- )
- out := ret0
- err := _ENS.contract.Call(opts, out, "resolver", node)
- return *ret0, err
- }
- // Resolver is a free data retrieval call binding the contract method 0x0178b8bf.
- //
- // Solidity: function resolver(node bytes32) constant returns(address)
- func (_ENS *ENSSession) Resolver(node [32]byte) (common.Address, error) {
- return _ENS.Contract.Resolver(&_ENS.CallOpts, node)
- }
- // Resolver is a free data retrieval call binding the contract method 0x0178b8bf.
- //
- // Solidity: function resolver(node bytes32) constant returns(address)
- func (_ENS *ENSCallerSession) Resolver(node [32]byte) (common.Address, error) {
- return _ENS.Contract.Resolver(&_ENS.CallOpts, node)
- }
- // Ttl is a free data retrieval call binding the contract method 0x16a25cbd.
- //
- // Solidity: function ttl(node bytes32) constant returns(uint64)
- func (_ENS *ENSCaller) Ttl(opts *bind.CallOpts, node [32]byte) (uint64, error) {
- var (
- ret0 = new(uint64)
- )
- out := ret0
- err := _ENS.contract.Call(opts, out, "ttl", node)
- return *ret0, err
- }
- // Ttl is a free data retrieval call binding the contract method 0x16a25cbd.
- //
- // Solidity: function ttl(node bytes32) constant returns(uint64)
- func (_ENS *ENSSession) Ttl(node [32]byte) (uint64, error) {
- return _ENS.Contract.Ttl(&_ENS.CallOpts, node)
- }
- // Ttl is a free data retrieval call binding the contract method 0x16a25cbd.
- //
- // Solidity: function ttl(node bytes32) constant returns(uint64)
- func (_ENS *ENSCallerSession) Ttl(node [32]byte) (uint64, error) {
- return _ENS.Contract.Ttl(&_ENS.CallOpts, node)
- }
- // SetOwner is a paid mutator transaction binding the contract method 0x5b0fc9c3.
- //
- // Solidity: function setOwner(node bytes32, owner address) returns()
- func (_ENS *ENSTransactor) SetOwner(opts *bind.TransactOpts, node [32]byte, owner common.Address) (*types.Transaction, error) {
- return _ENS.contract.Transact(opts, "setOwner", node, owner)
- }
- // SetOwner is a paid mutator transaction binding the contract method 0x5b0fc9c3.
- //
- // Solidity: function setOwner(node bytes32, owner address) returns()
- func (_ENS *ENSSession) SetOwner(node [32]byte, owner common.Address) (*types.Transaction, error) {
- return _ENS.Contract.SetOwner(&_ENS.TransactOpts, node, owner)
- }
- // SetOwner is a paid mutator transaction binding the contract method 0x5b0fc9c3.
- //
- // Solidity: function setOwner(node bytes32, owner address) returns()
- func (_ENS *ENSTransactorSession) SetOwner(node [32]byte, owner common.Address) (*types.Transaction, error) {
- return _ENS.Contract.SetOwner(&_ENS.TransactOpts, node, owner)
- }
- // SetResolver is a paid mutator transaction binding the contract method 0x1896f70a.
- //
- // Solidity: function setResolver(node bytes32, resolver address) returns()
- func (_ENS *ENSTransactor) SetResolver(opts *bind.TransactOpts, node [32]byte, resolver common.Address) (*types.Transaction, error) {
- return _ENS.contract.Transact(opts, "setResolver", node, resolver)
- }
- // SetResolver is a paid mutator transaction binding the contract method 0x1896f70a.
- //
- // Solidity: function setResolver(node bytes32, resolver address) returns()
- func (_ENS *ENSSession) SetResolver(node [32]byte, resolver common.Address) (*types.Transaction, error) {
- return _ENS.Contract.SetResolver(&_ENS.TransactOpts, node, resolver)
- }
- // SetResolver is a paid mutator transaction binding the contract method 0x1896f70a.
- //
- // Solidity: function setResolver(node bytes32, resolver address) returns()
- func (_ENS *ENSTransactorSession) SetResolver(node [32]byte, resolver common.Address) (*types.Transaction, error) {
- return _ENS.Contract.SetResolver(&_ENS.TransactOpts, node, resolver)
- }
- // SetSubnodeOwner is a paid mutator transaction binding the contract method 0x06ab5923.
- //
- // Solidity: function setSubnodeOwner(node bytes32, label bytes32, owner address) returns()
- func (_ENS *ENSTransactor) SetSubnodeOwner(opts *bind.TransactOpts, node [32]byte, label [32]byte, owner common.Address) (*types.Transaction, error) {
- return _ENS.contract.Transact(opts, "setSubnodeOwner", node, label, owner)
- }
- // SetSubnodeOwner is a paid mutator transaction binding the contract method 0x06ab5923.
- //
- // Solidity: function setSubnodeOwner(node bytes32, label bytes32, owner address) returns()
- func (_ENS *ENSSession) SetSubnodeOwner(node [32]byte, label [32]byte, owner common.Address) (*types.Transaction, error) {
- return _ENS.Contract.SetSubnodeOwner(&_ENS.TransactOpts, node, label, owner)
- }
- // SetSubnodeOwner is a paid mutator transaction binding the contract method 0x06ab5923.
- //
- // Solidity: function setSubnodeOwner(node bytes32, label bytes32, owner address) returns()
- func (_ENS *ENSTransactorSession) SetSubnodeOwner(node [32]byte, label [32]byte, owner common.Address) (*types.Transaction, error) {
- return _ENS.Contract.SetSubnodeOwner(&_ENS.TransactOpts, node, label, owner)
- }
- // SetTTL is a paid mutator transaction binding the contract method 0x14ab9038.
- //
- // Solidity: function setTTL(node bytes32, ttl uint64) returns()
- func (_ENS *ENSTransactor) SetTTL(opts *bind.TransactOpts, node [32]byte, ttl uint64) (*types.Transaction, error) {
- return _ENS.contract.Transact(opts, "setTTL", node, ttl)
- }
- // SetTTL is a paid mutator transaction binding the contract method 0x14ab9038.
- //
- // Solidity: function setTTL(node bytes32, ttl uint64) returns()
- func (_ENS *ENSSession) SetTTL(node [32]byte, ttl uint64) (*types.Transaction, error) {
- return _ENS.Contract.SetTTL(&_ENS.TransactOpts, node, ttl)
- }
- // SetTTL is a paid mutator transaction binding the contract method 0x14ab9038.
- //
- // Solidity: function setTTL(node bytes32, ttl uint64) returns()
- func (_ENS *ENSTransactorSession) SetTTL(node [32]byte, ttl uint64) (*types.Transaction, error) {
- return _ENS.Contract.SetTTL(&_ENS.TransactOpts, node, ttl)
- }
- // ENSNewOwnerIterator is returned from FilterNewOwner and is used to iterate over the raw logs and unpacked data for NewOwner events raised by the ENS contract.
- type ENSNewOwnerIterator struct {
- Event *ENSNewOwner // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ENSNewOwnerIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ENSNewOwner)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ENSNewOwner)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error retruned any retrieval or parsing error occurred during filtering.
- func (it *ENSNewOwnerIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ENSNewOwnerIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ENSNewOwner represents a NewOwner event raised by the ENS contract.
- type ENSNewOwner struct {
- Node [32]byte
- Label [32]byte
- Owner common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterNewOwner is a free log retrieval operation binding the contract event 0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82.
- //
- // Solidity: event NewOwner(node indexed bytes32, label indexed bytes32, owner address)
- func (_ENS *ENSFilterer) FilterNewOwner(opts *bind.FilterOpts, node [][32]byte, label [][32]byte) (*ENSNewOwnerIterator, error) {
- var nodeRule []interface{}
- for _, nodeItem := range node {
- nodeRule = append(nodeRule, nodeItem)
- }
- var labelRule []interface{}
- for _, labelItem := range label {
- labelRule = append(labelRule, labelItem)
- }
- logs, sub, err := _ENS.contract.FilterLogs(opts, "NewOwner", nodeRule, labelRule)
- if err != nil {
- return nil, err
- }
- return &ENSNewOwnerIterator{contract: _ENS.contract, event: "NewOwner", logs: logs, sub: sub}, nil
- }
- // WatchNewOwner is a free log subscription operation binding the contract event 0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82.
- //
- // Solidity: event NewOwner(node indexed bytes32, label indexed bytes32, owner address)
- func (_ENS *ENSFilterer) WatchNewOwner(opts *bind.WatchOpts, sink chan<- *ENSNewOwner, node [][32]byte, label [][32]byte) (event.Subscription, error) {
- var nodeRule []interface{}
- for _, nodeItem := range node {
- nodeRule = append(nodeRule, nodeItem)
- }
- var labelRule []interface{}
- for _, labelItem := range label {
- labelRule = append(labelRule, labelItem)
- }
- logs, sub, err := _ENS.contract.WatchLogs(opts, "NewOwner", nodeRule, labelRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ENSNewOwner)
- if err := _ENS.contract.UnpackLog(event, "NewOwner", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ENSNewResolverIterator is returned from FilterNewResolver and is used to iterate over the raw logs and unpacked data for NewResolver events raised by the ENS contract.
- type ENSNewResolverIterator struct {
- Event *ENSNewResolver // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ENSNewResolverIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ENSNewResolver)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ENSNewResolver)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error retruned any retrieval or parsing error occurred during filtering.
- func (it *ENSNewResolverIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ENSNewResolverIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ENSNewResolver represents a NewResolver event raised by the ENS contract.
- type ENSNewResolver struct {
- Node [32]byte
- Resolver common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterNewResolver is a free log retrieval operation binding the contract event 0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0.
- //
- // Solidity: event NewResolver(node indexed bytes32, resolver address)
- func (_ENS *ENSFilterer) FilterNewResolver(opts *bind.FilterOpts, node [][32]byte) (*ENSNewResolverIterator, error) {
- var nodeRule []interface{}
- for _, nodeItem := range node {
- nodeRule = append(nodeRule, nodeItem)
- }
- logs, sub, err := _ENS.contract.FilterLogs(opts, "NewResolver", nodeRule)
- if err != nil {
- return nil, err
- }
- return &ENSNewResolverIterator{contract: _ENS.contract, event: "NewResolver", logs: logs, sub: sub}, nil
- }
- // WatchNewResolver is a free log subscription operation binding the contract event 0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0.
- //
- // Solidity: event NewResolver(node indexed bytes32, resolver address)
- func (_ENS *ENSFilterer) WatchNewResolver(opts *bind.WatchOpts, sink chan<- *ENSNewResolver, node [][32]byte) (event.Subscription, error) {
- var nodeRule []interface{}
- for _, nodeItem := range node {
- nodeRule = append(nodeRule, nodeItem)
- }
- logs, sub, err := _ENS.contract.WatchLogs(opts, "NewResolver", nodeRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ENSNewResolver)
- if err := _ENS.contract.UnpackLog(event, "NewResolver", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ENSNewTTLIterator is returned from FilterNewTTL and is used to iterate over the raw logs and unpacked data for NewTTL events raised by the ENS contract.
- type ENSNewTTLIterator struct {
- Event *ENSNewTTL // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ENSNewTTLIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ENSNewTTL)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ENSNewTTL)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error retruned any retrieval or parsing error occurred during filtering.
- func (it *ENSNewTTLIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ENSNewTTLIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ENSNewTTL represents a NewTTL event raised by the ENS contract.
- type ENSNewTTL struct {
- Node [32]byte
- Ttl uint64
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterNewTTL is a free log retrieval operation binding the contract event 0x1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68.
- //
- // Solidity: event NewTTL(node indexed bytes32, ttl uint64)
- func (_ENS *ENSFilterer) FilterNewTTL(opts *bind.FilterOpts, node [][32]byte) (*ENSNewTTLIterator, error) {
- var nodeRule []interface{}
- for _, nodeItem := range node {
- nodeRule = append(nodeRule, nodeItem)
- }
- logs, sub, err := _ENS.contract.FilterLogs(opts, "NewTTL", nodeRule)
- if err != nil {
- return nil, err
- }
- return &ENSNewTTLIterator{contract: _ENS.contract, event: "NewTTL", logs: logs, sub: sub}, nil
- }
- // WatchNewTTL is a free log subscription operation binding the contract event 0x1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68.
- //
- // Solidity: event NewTTL(node indexed bytes32, ttl uint64)
- func (_ENS *ENSFilterer) WatchNewTTL(opts *bind.WatchOpts, sink chan<- *ENSNewTTL, node [][32]byte) (event.Subscription, error) {
- var nodeRule []interface{}
- for _, nodeItem := range node {
- nodeRule = append(nodeRule, nodeItem)
- }
- logs, sub, err := _ENS.contract.WatchLogs(opts, "NewTTL", nodeRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ENSNewTTL)
- if err := _ENS.contract.UnpackLog(event, "NewTTL", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ENSTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ENS contract.
- type ENSTransferIterator struct {
- Event *ENSTransfer // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ENSTransferIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ENSTransfer)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ENSTransfer)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error retruned any retrieval or parsing error occurred during filtering.
- func (it *ENSTransferIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ENSTransferIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ENSTransfer represents a Transfer event raised by the ENS contract.
- type ENSTransfer struct {
- Node [32]byte
- Owner common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterTransfer is a free log retrieval operation binding the contract event 0xd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266.
- //
- // Solidity: event Transfer(node indexed bytes32, owner address)
- func (_ENS *ENSFilterer) FilterTransfer(opts *bind.FilterOpts, node [][32]byte) (*ENSTransferIterator, error) {
- var nodeRule []interface{}
- for _, nodeItem := range node {
- nodeRule = append(nodeRule, nodeItem)
- }
- logs, sub, err := _ENS.contract.FilterLogs(opts, "Transfer", nodeRule)
- if err != nil {
- return nil, err
- }
- return &ENSTransferIterator{contract: _ENS.contract, event: "Transfer", logs: logs, sub: sub}, nil
- }
- // WatchTransfer is a free log subscription operation binding the contract event 0xd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266.
- //
- // Solidity: event Transfer(node indexed bytes32, owner address)
- func (_ENS *ENSFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ENSTransfer, node [][32]byte) (event.Subscription, error) {
- var nodeRule []interface{}
- for _, nodeItem := range node {
- nodeRule = append(nodeRule, nodeItem)
- }
- logs, sub, err := _ENS.contract.WatchLogs(opts, "Transfer", nodeRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ENSTransfer)
- if err := _ENS.contract.UnpackLog(event, "Transfer", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
|