2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Code generated - DO NOT EDIT.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// This file is a generated binding and any manual changes will be lost.  
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								package  contract  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"strings" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									ethereum  "github.com/ethereum/go-ethereum" 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									"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" 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									"github.com/ethereum/go-ethereum/event" 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// ENSABI is the input ABI used to generate the binding from.  
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								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\"}]"  
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// ENSBin is the compiled bytecode used for deploying new contracts.  
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								const  ENSBin  =  ` 0x6060604052341561000f57600080fd5b60008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb58054600160a060020a033316600160a060020a0319909116179055610503806100626000396000f3006060604052600436106100825763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630178b8bf811461008757806302571be3146100b957806306ab5923146100cf57806314ab9038146100f657806316a25cbd146101195780631896f70a1461014c5780635b0fc9c31461016e575b600080fd5b341561009257600080fd5b61009d600435610190565b604051600160a060020a03909116815260200160405180910390f35b34156100c457600080fd5b61009d6004356101ae565b34156100da57600080fd5b6100f4600435602435600160a060020a03604435166101c9565b005b341561010157600080fd5b6100f460043567ffffffffffffffff6024351661028b565b341561012457600080fd5b61012f600435610357565b60405167ffffffffffffffff909116815260200160405180910390f35b341561015757600080fd5b6100f4600435600160a060020a036024351661038e565b341561017957600080fd5b6100f4600435600160a060020a0360243516610434565b600090815260208190526040902060010154600160a060020a031690565b600090815260208190526040902054600160a060020a031690565b600083815260208190526040812054849033600160a060020a039081169116146101f257600080fd5b8484604051918252602082015260409081019051908190039020915083857fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8285604051600160a060020a03909116815260200160405180910390a3506000908152602081905260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b600082815260208190526040902054829033600160a060020a039081169116146102b457600080fd5b827f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa688360405167ffffffffffffffff909116815260200160405180910390a250600091825260208290526040909120600101805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b600082815260208190526040902054829033600160a060020a039081169116146103b757600080fd5b827f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051600160a060020a03909116815260200160405180910390a250600091825260208290526040909120600101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600082815260208190526040902054829033600160a060020a0390811691161461045d57600080fd5b827fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26683604051600160a060020a03909116815260200160405180910390a250600091825260208290526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555600a165627a7a72305820f4c798d4c84c9912f389f64631e85e8d16c3e6644f8c2e1579936015c7d5f6660029 `  
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// DeployENS deploys a new Ethereum contract, binding an instance of ENS to it.  
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								func  DeployENS ( auth  * bind . TransactOpts ,  backend  bind . ContractBackend )  ( common . Address ,  * types . Transaction ,  * ENS ,  error )  {  
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									parsed ,  err  :=  abi . JSON ( strings . NewReader ( ENSABI ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  common . Address { } ,  nil ,  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									address ,  tx ,  contract ,  err  :=  bind . DeployContract ( auth ,  parsed ,  common . FromHex ( ENSBin ) ,  backend ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  common . Address { } ,  nil ,  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									return  address ,  tx ,  & ENS { ENSCaller :  ENSCaller { contract :  contract } ,  ENSTransactor :  ENSTransactor { contract :  contract } ,  ENSFilterer :  ENSFilterer { contract :  contract } } ,  nil 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// 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 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									ENSFilterer    // Log filterer for contract events 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// 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 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// 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 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								// 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 )  {  
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									contract ,  err  :=  bindENS ( address ,  backend ,  backend ,  backend ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									return  & ENS { ENSCaller :  ENSCaller { contract :  contract } ,  ENSTransactor :  ENSTransactor { contract :  contract } ,  ENSFilterer :  ENSFilterer { contract :  contract } } ,  nil 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// 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 )  {  
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									contract ,  err  :=  bindENS ( address ,  caller ,  nil ,  nil ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									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 )  {  
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									contract ,  err  :=  bindENS ( address ,  nil ,  transactor ,  nil ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  & ENSTransactor { contract :  contract } ,  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// 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 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								// bindENS binds a generic wrapper to an already deployed contract.  
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								func  bindENS ( address  common . Address ,  caller  bind . ContractCaller ,  transactor  bind . ContractTransactor ,  filterer  bind . ContractFilterer )  ( * bind . BoundContract ,  error )  {  
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									parsed ,  err  :=  abi . JSON ( strings . NewReader ( ENSABI ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									return  bind . NewBoundContract ( address ,  parsed ,  caller ,  transactor ,  filterer ) ,  nil 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// 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 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-04-30 16:05:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// TTL is a free data retrieval call binding the contract method 0x16a25cbd.  
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function ttl(node bytes32) constant returns(uint64)  
						 
					
						
							
								
									
										
										
										
											2018-04-30 16:05:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								func  ( _ENS  * ENSCaller )  TTL ( opts  * bind . CallOpts ,  node  [ 32 ] byte )  ( uint64 ,  error )  {  
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									var  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ret0  =  new ( uint64 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									out  :=  ret0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									err  :=  _ENS . contract . Call ( opts ,  out ,  "ttl" ,  node ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  * ret0 ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-04-30 16:05:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// TTL is a free data retrieval call binding the contract method 0x16a25cbd.  
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function ttl(node bytes32) constant returns(uint64)  
						 
					
						
							
								
									
										
										
										
											2018-04-30 16:05:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								func  ( _ENS  * ENSSession )  TTL ( node  [ 32 ] byte )  ( uint64 ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _ENS . Contract . TTL ( & _ENS . CallOpts ,  node ) 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-04-30 16:05:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// TTL is a free data retrieval call binding the contract method 0x16a25cbd.  
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function ttl(node bytes32) constant returns(uint64)  
						 
					
						
							
								
									
										
										
										
											2018-04-30 16:05:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								func  ( _ENS  * ENSCallerSession )  TTL ( node  [ 32 ] byte )  ( uint64 ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _ENS . Contract . TTL ( & _ENS . CallOpts ,  node ) 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								// 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 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-08-31 17:26:41 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// 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 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// SetTTL is a paid mutator transaction binding the contract method 0x14ab9038.  
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// 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 ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// SetTTL is a paid mutator transaction binding the contract method 0x14ab9038.  
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// 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 ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// SetTTL is a paid mutator transaction binding the contract method 0x14ab9038.  
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// 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 ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-26 13:00:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// 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 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-30 16:05:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									TTL   uint64 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									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 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}