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.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								package  contract  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"math/big" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"strings" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									ethereum  "github.com/ethereum/go-ethereum" 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +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" 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverABI is the input ABI used to generate the binding from.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								const  PublicResolverABI  =  "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"key\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setText\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"contentTypes\",\"type\":\"uint256\"}],\"name\":\"ABI\",\"outputs\":[{\"name\":\"contentType\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"x\",\"type\":\"bytes32\"},{\"name\":\"y\",\"type\":\"bytes32\"}],\"name\":\"setPubkey\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"content\",\"outputs\":[{\"name\":\"ret\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"addr\",\"outputs\":[{\"name\":\"ret\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"key\",\"type\":\"string\"}],\"name\":\"text\",\"outputs\":[{\"name\":\"ret\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"contentType\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setABI\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"name\",\"outputs\":[{\"name\":\"ret\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"name\",\"type\":\"string\"}],\"name\":\"setName\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"setContent\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"pubkey\",\"outputs\":[{\"name\":\"x\",\"type\":\"bytes32\"},{\"name\":\"y\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"setAddr\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"ensAddr\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"a\",\"type\":\"address\"}],\"name\":\"AddrChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"ContentChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"name\",\"type\":\"string\"}],\"name\":\"NameChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"contentType\",\"type\":\"uint256\"}],\"name\" : \ 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverBin is the compiled bytecode used for deploying new contracts.  
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								const  PublicResolverBin  =  ` 0x6060604052341561000f57600080fd5b6040516020806111b28339810160405280805160008054600160a060020a03909216600160a060020a0319909216919091179055505061115e806100546000396000f3006060604052600436106100ab5763ffffffff60e060020a60003504166301ffc9a781146100b057806310f13a8c146100e45780632203ab561461017e57806329cd62ea146102155780632dff6941146102315780633b3b57de1461025957806359d1d43c1461028b578063623195b014610358578063691f3431146103b457806377372213146103ca578063c3d014d614610420578063c869023314610439578063d5fa2b0014610467575b600080fd5b34156100bb57600080fd5b6100d0600160e060020a031960043516610489565b604051901515815260200160405180910390f35b34156100ef57600080fd5b61017c600480359060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506105f695505050505050565b005b341561018957600080fd5b610197600435602435610807565b60405182815260406020820181815290820183818151815260200191508051906020019080838360005b838110156101d95780820151838201526020016101c1565b50505050905090810190601f1680156102065780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b341561022057600080fd5b61017c600435602435604435610931565b341561023c57600080fd5b610247600435610a30565b60405190815260200160405180910390f35b341561026457600080fd5b61026f600435610a46565b604051600160a060020a03909116815260200160405180910390f35b341561029657600080fd5b6102e1600480359060446024803590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610a6195505050505050565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561031d578082015183820152602001610305565b50505050905090810190601f16801561034a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561036357600080fd5b61017c600480359060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610b8095505050505050565b34156103bf57600080fd5b6102e1600435610c7c565b34156103d557600080fd5b61017c600480359060446024803590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610d4295505050505050565b341561042b57600080fd5b61017c600435602435610e8c565b341561044457600080fd5b61044f600435610f65565b60405191825260208201526040908101905180910390f35b341561047257600080fd5b61017c600435600160a060020a0360243516610f82565b6000600160e060020a031982167f3b3b57de0000000000000000000000000000000000000000000000000000000014806104ec5750600160e060020a031982167fd8389dc500000000000000000000000000000000000000000000000000000000145b806105205750600160e060020a031982167f691f343100000000000000000000000000000000000000000000000000000000145b806105545750600160e060020a031982167f2203ab5600000000000000000000000000000000000000000000000000000000145b806105885750600160e060020a031982167fc869023300000000000000000000000000000000000000000000000000000000145b806105bc5750600160e060020a031982167f59d1d43c00000000000000000000000000000000000000000000000000000000145b806105f05750600160e060020a031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600080548491600160a060020a033381169216906302571be39084906040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561064f57600080fd5b6102c65a03f1151561066057600080fd5b50505060405180519050600160a060020a031614151561067f57600080fd5b6000848152600160205260409081902083916005909101908590518082805190602001908083835b602083106106c65780518252601f1990920191602091820191016106a7565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902090805161070a929160200190611085565b50826040518082805190602001908083835b6020831061073b5780518252601f19909201916020918201910161071c565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051908190039020847fd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550856040516020808252819081018381815181  
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// DeployPublicResolver deploys a new Ethereum contract, binding an instance of PublicResolver to it.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  DeployPublicResolver ( auth  * bind . TransactOpts ,  backend  bind . ContractBackend ,  ensAddr  common . Address )  ( common . Address ,  * types . Transaction ,  * PublicResolver ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									parsed ,  err  :=  abi . JSON ( strings . NewReader ( PublicResolverABI ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  common . Address { } ,  nil ,  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									address ,  tx ,  contract ,  err  :=  bind . DeployContract ( auth ,  parsed ,  common . FromHex ( PublicResolverBin ) ,  backend ,  ensAddr ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  common . Address { } ,  nil ,  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									return  address ,  tx ,  & PublicResolver { PublicResolverCaller :  PublicResolverCaller { contract :  contract } ,  PublicResolverTransactor :  PublicResolverTransactor { contract :  contract } ,  PublicResolverFilterer :  PublicResolverFilterer { contract :  contract } } ,  nil 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolver is an auto generated Go binding around an Ethereum contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolver  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									PublicResolverCaller      // Read-only binding to the contract 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									PublicResolverTransactor  // Write-only binding to the contract 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									PublicResolverFilterer    // Log filterer for contract events 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverCaller is an auto generated read-only Go binding around an Ethereum contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverCaller  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									contract  * bind . BoundContract  // Generic contract wrapper for the low level calls 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverTransactor is an auto generated write-only Go binding around an Ethereum contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverTransactor  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									contract  * bind . BoundContract  // Generic contract wrapper for the low level calls 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// PublicResolverFilterer is an auto generated log filtering Go binding around an Ethereum contract events.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverFilterer  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									contract  * bind . BoundContract  // Generic contract wrapper for the low level calls 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								// PublicResolverSession is an auto generated Go binding around an Ethereum contract,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// with pre-set call and transact options.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverSession  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Contract      * PublicResolver    // 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 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverCallerSession is an auto generated read-only Go binding around an Ethereum contract,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// with pre-set call options.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverCallerSession  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Contract  * PublicResolverCaller  // Generic contract caller binding to set the session for 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									CallOpts  bind . CallOpts          // Call options to use throughout this session 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverTransactorSession is an auto generated write-only Go binding around an Ethereum contract,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// with pre-set transact options.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverTransactorSession  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Contract      * PublicResolverTransactor  // Generic contract transactor binding to set the session for 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TransactOpts  bind . TransactOpts          // Transaction auth options to use throughout this session 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverRaw is an auto generated low-level Go binding around an Ethereum contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverRaw  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Contract  * PublicResolver  // Generic contract binding to access the raw methods on 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverCallerRaw  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Contract  * PublicResolverCaller  // Generic read-only contract binding to access the raw methods on 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverTransactorRaw  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Contract  * PublicResolverTransactor  // Generic write-only contract binding to access the raw methods on 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// NewPublicResolver creates a new instance of PublicResolver, bound to a specific deployed contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  NewPublicResolver ( address  common . Address ,  backend  bind . ContractBackend )  ( * PublicResolver ,  error )  {  
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									contract ,  err  :=  bindPublicResolver ( address ,  backend ,  backend ,  backend ) 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									return  & PublicResolver { PublicResolverCaller :  PublicResolverCaller { contract :  contract } ,  PublicResolverTransactor :  PublicResolverTransactor { contract :  contract } ,  PublicResolverFilterer :  PublicResolverFilterer { contract :  contract } } ,  nil 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// NewPublicResolverCaller creates a new read-only instance of PublicResolver, bound to a specific deployed contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  NewPublicResolverCaller ( address  common . Address ,  caller  bind . ContractCaller )  ( * PublicResolverCaller ,  error )  {  
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									contract ,  err  :=  bindPublicResolver ( address ,  caller ,  nil ,  nil ) 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  & PublicResolverCaller { contract :  contract } ,  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// NewPublicResolverTransactor creates a new write-only instance of PublicResolver, bound to a specific deployed contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  NewPublicResolverTransactor ( address  common . Address ,  transactor  bind . ContractTransactor )  ( * PublicResolverTransactor ,  error )  {  
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									contract ,  err  :=  bindPublicResolver ( address ,  nil ,  transactor ,  nil ) 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  & PublicResolverTransactor { contract :  contract } ,  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// NewPublicResolverFilterer creates a new log filterer instance of PublicResolver, bound to a specific deployed contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  NewPublicResolverFilterer ( address  common . Address ,  filterer  bind . ContractFilterer )  ( * PublicResolverFilterer ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									contract ,  err  :=  bindPublicResolver ( address ,  nil ,  nil ,  filterer ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  & PublicResolverFilterer { contract :  contract } ,  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								// bindPublicResolver binds a generic wrapper to an already deployed contract.  
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								func  bindPublicResolver ( address  common . Address ,  caller  bind . ContractCaller ,  transactor  bind . ContractTransactor ,  filterer  bind . ContractFilterer )  ( * bind . BoundContract ,  error )  {  
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									parsed ,  err  :=  abi . JSON ( strings . NewReader ( PublicResolverABI ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									return  bind . NewBoundContract ( address ,  parsed ,  caller ,  transactor ,  filterer ) ,  nil 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-08 13:15:57 +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  ( _PublicResolver  * PublicResolverRaw )  Call ( opts  * bind . CallOpts ,  result  interface { } ,  method  string ,  params  ... interface { } )  error  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . PublicResolverCaller . 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  ( _PublicResolver  * PublicResolverRaw )  Transfer ( opts  * bind . TransactOpts )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . PublicResolverTransactor . contract . Transfer ( opts ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Transact invokes the (paid) contract method with params as input values.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverRaw )  Transact ( opts  * bind . TransactOpts ,  method  string ,  params  ... interface { } )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . PublicResolverTransactor . 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  ( _PublicResolver  * PublicResolverCallerRaw )  Call ( opts  * bind . CallOpts ,  result  interface { } ,  method  string ,  params  ... interface { } )  error  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . 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  ( _PublicResolver  * PublicResolverTransactorRaw )  Transfer ( opts  * bind . TransactOpts )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . contract . Transfer ( opts ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Transact invokes the (paid) contract method with params as input values.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverTransactorRaw )  Transact ( opts  * bind . TransactOpts ,  method  string ,  params  ... interface { } )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . contract . Transact ( opts ,  method ,  params ... ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// ABI is a free data retrieval call binding the contract method 0x2203ab56.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function ABI(node bytes32, contentTypes uint256) constant returns(contentType uint256, data bytes)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverCaller )  ABI ( opts  * bind . CallOpts ,  node  [ 32 ] byte ,  contentTypes  * big . Int )  ( struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ContentType  * big . Int 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Data         [ ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ret  :=  new ( struct  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ContentType  * big . Int 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										Data         [ ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									out  :=  ret 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									err  :=  _PublicResolver . contract . Call ( opts ,  out ,  "ABI" ,  node ,  contentTypes ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  * ret ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// ABI is a free data retrieval call binding the contract method 0x2203ab56.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function ABI(node bytes32, contentTypes uint256) constant returns(contentType uint256, data bytes)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverSession )  ABI ( node  [ 32 ] byte ,  contentTypes  * big . Int )  ( struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ContentType  * big . Int 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Data         [ ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . ABI ( & _PublicResolver . CallOpts ,  node ,  contentTypes ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// ABI is a free data retrieval call binding the contract method 0x2203ab56.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function ABI(node bytes32, contentTypes uint256) constant returns(contentType uint256, data bytes)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverCallerSession )  ABI ( node  [ 32 ] byte ,  contentTypes  * big . Int )  ( struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ContentType  * big . Int 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Data         [ ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . ABI ( & _PublicResolver . CallOpts ,  node ,  contentTypes ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Addr is a free data retrieval call binding the contract method 0x3b3b57de.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function addr(node bytes32) constant returns(ret address)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverCaller )  Addr ( opts  * bind . CallOpts ,  node  [ 32 ] byte )  ( common . Address ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ret0  =  new ( common . Address ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									out  :=  ret0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									err  :=  _PublicResolver . contract . Call ( opts ,  out ,  "addr" ,  node ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  * ret0 ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Addr is a free data retrieval call binding the contract method 0x3b3b57de.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function addr(node bytes32) constant returns(ret address)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverSession )  Addr ( node  [ 32 ] byte )  ( common . Address ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . Addr ( & _PublicResolver . CallOpts ,  node ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Addr is a free data retrieval call binding the contract method 0x3b3b57de.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function addr(node bytes32) constant returns(ret address)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverCallerSession )  Addr ( node  [ 32 ] byte )  ( common . Address ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . Addr ( & _PublicResolver . CallOpts ,  node ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Content is a free data retrieval call binding the contract method 0x2dff6941.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function content(node bytes32) constant returns(ret bytes32)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverCaller )  Content ( opts  * bind . CallOpts ,  node  [ 32 ] byte )  ( [ 32 ] byte ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ret0  =  new ( [ 32 ] byte ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									out  :=  ret0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									err  :=  _PublicResolver . contract . Call ( opts ,  out ,  "content" ,  node ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  * ret0 ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Content is a free data retrieval call binding the contract method 0x2dff6941.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function content(node bytes32) constant returns(ret bytes32)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverSession )  Content ( node  [ 32 ] byte )  ( [ 32 ] byte ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . Content ( & _PublicResolver . CallOpts ,  node ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Content is a free data retrieval call binding the contract method 0x2dff6941.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function content(node bytes32) constant returns(ret bytes32)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverCallerSession )  Content ( node  [ 32 ] byte )  ( [ 32 ] byte ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . Content ( & _PublicResolver . CallOpts ,  node ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Name is a free data retrieval call binding the contract method 0x691f3431.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function name(node bytes32) constant returns(ret string)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverCaller )  Name ( opts  * bind . CallOpts ,  node  [ 32 ] byte )  ( string ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ret0  =  new ( string ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									out  :=  ret0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									err  :=  _PublicResolver . contract . Call ( opts ,  out ,  "name" ,  node ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  * ret0 ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Name is a free data retrieval call binding the contract method 0x691f3431.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function name(node bytes32) constant returns(ret string)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverSession )  Name ( node  [ 32 ] byte )  ( string ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . Name ( & _PublicResolver . CallOpts ,  node ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Name is a free data retrieval call binding the contract method 0x691f3431.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function name(node bytes32) constant returns(ret string)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverCallerSession )  Name ( node  [ 32 ] byte )  ( string ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . Name ( & _PublicResolver . CallOpts ,  node ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Pubkey is a free data retrieval call binding the contract method 0xc8690233.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function pubkey(node bytes32) constant returns(x bytes32, y bytes32)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverCaller )  Pubkey ( opts  * bind . CallOpts ,  node  [ 32 ] byte )  ( struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									X  [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Y  [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ret  :=  new ( struct  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										X  [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										Y  [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									out  :=  ret 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									err  :=  _PublicResolver . contract . Call ( opts ,  out ,  "pubkey" ,  node ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  * ret ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Pubkey is a free data retrieval call binding the contract method 0xc8690233.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function pubkey(node bytes32) constant returns(x bytes32, y bytes32)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverSession )  Pubkey ( node  [ 32 ] byte )  ( struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									X  [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Y  [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . Pubkey ( & _PublicResolver . CallOpts ,  node ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Pubkey is a free data retrieval call binding the contract method 0xc8690233.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function pubkey(node bytes32) constant returns(x bytes32, y bytes32)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverCallerSession )  Pubkey ( node  [ 32 ] byte )  ( struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									X  [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Y  [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . Pubkey ( & _PublicResolver . CallOpts ,  node ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function supportsInterface(interfaceID bytes4) constant returns(bool)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverCaller )  SupportsInterface ( opts  * bind . CallOpts ,  interfaceID  [ 4 ] byte )  ( bool ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ret0  =  new ( bool ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									out  :=  ret0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									err  :=  _PublicResolver . contract . Call ( opts ,  out ,  "supportsInterface" ,  interfaceID ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  * ret0 ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function supportsInterface(interfaceID bytes4) constant returns(bool)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverSession )  SupportsInterface ( interfaceID  [ 4 ] byte )  ( bool ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . SupportsInterface ( & _PublicResolver . CallOpts ,  interfaceID ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function supportsInterface(interfaceID bytes4) constant returns(bool)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverCallerSession )  SupportsInterface ( interfaceID  [ 4 ] byte )  ( bool ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . SupportsInterface ( & _PublicResolver . CallOpts ,  interfaceID ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Text is a free data retrieval call binding the contract method 0x59d1d43c.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function text(node bytes32, key string) constant returns(ret string)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverCaller )  Text ( opts  * bind . CallOpts ,  node  [ 32 ] byte ,  key  string )  ( string ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ret0  =  new ( string ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									out  :=  ret0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									err  :=  _PublicResolver . contract . Call ( opts ,  out ,  "text" ,  node ,  key ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  * ret0 ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Text is a free data retrieval call binding the contract method 0x59d1d43c.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function text(node bytes32, key string) constant returns(ret string)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverSession )  Text ( node  [ 32 ] byte ,  key  string )  ( string ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . Text ( & _PublicResolver . CallOpts ,  node ,  key ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Text is a free data retrieval call binding the contract method 0x59d1d43c.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function text(node bytes32, key string) constant returns(ret string)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverCallerSession )  Text ( node  [ 32 ] byte ,  key  string )  ( string ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . Text ( & _PublicResolver . CallOpts ,  node ,  key ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetABI is a paid mutator transaction binding the contract method 0x623195b0.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setABI(node bytes32, contentType uint256, data bytes) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverTransactor )  SetABI ( opts  * bind . TransactOpts ,  node  [ 32 ] byte ,  contentType  * big . Int ,  data  [ ] byte )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . contract . Transact ( opts ,  "setABI" ,  node ,  contentType ,  data ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetABI is a paid mutator transaction binding the contract method 0x623195b0.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setABI(node bytes32, contentType uint256, data bytes) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverSession )  SetABI ( node  [ 32 ] byte ,  contentType  * big . Int ,  data  [ ] byte )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . SetABI ( & _PublicResolver . TransactOpts ,  node ,  contentType ,  data ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetABI is a paid mutator transaction binding the contract method 0x623195b0.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setABI(node bytes32, contentType uint256, data bytes) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverTransactorSession )  SetABI ( node  [ 32 ] byte ,  contentType  * big . Int ,  data  [ ] byte )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . SetABI ( & _PublicResolver . TransactOpts ,  node ,  contentType ,  data ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetAddr is a paid mutator transaction binding the contract method 0xd5fa2b00.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setAddr(node bytes32, addr address) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverTransactor )  SetAddr ( opts  * bind . TransactOpts ,  node  [ 32 ] byte ,  addr  common . Address )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . contract . Transact ( opts ,  "setAddr" ,  node ,  addr ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetAddr is a paid mutator transaction binding the contract method 0xd5fa2b00.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setAddr(node bytes32, addr address) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverSession )  SetAddr ( node  [ 32 ] byte ,  addr  common . Address )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . SetAddr ( & _PublicResolver . TransactOpts ,  node ,  addr ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetAddr is a paid mutator transaction binding the contract method 0xd5fa2b00.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setAddr(node bytes32, addr address) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverTransactorSession )  SetAddr ( node  [ 32 ] byte ,  addr  common . Address )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . SetAddr ( & _PublicResolver . TransactOpts ,  node ,  addr ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetContent is a paid mutator transaction binding the contract method 0xc3d014d6.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setContent(node bytes32, hash bytes32) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverTransactor )  SetContent ( opts  * bind . TransactOpts ,  node  [ 32 ] byte ,  hash  [ 32 ] byte )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . contract . Transact ( opts ,  "setContent" ,  node ,  hash ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetContent is a paid mutator transaction binding the contract method 0xc3d014d6.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setContent(node bytes32, hash bytes32) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverSession )  SetContent ( node  [ 32 ] byte ,  hash  [ 32 ] byte )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . SetContent ( & _PublicResolver . TransactOpts ,  node ,  hash ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetContent is a paid mutator transaction binding the contract method 0xc3d014d6.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setContent(node bytes32, hash bytes32) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverTransactorSession )  SetContent ( node  [ 32 ] byte ,  hash  [ 32 ] byte )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . SetContent ( & _PublicResolver . TransactOpts ,  node ,  hash ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetName is a paid mutator transaction binding the contract method 0x77372213.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setName(node bytes32, name string) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverTransactor )  SetName ( opts  * bind . TransactOpts ,  node  [ 32 ] byte ,  name  string )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . contract . Transact ( opts ,  "setName" ,  node ,  name ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetName is a paid mutator transaction binding the contract method 0x77372213.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setName(node bytes32, name string) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverSession )  SetName ( node  [ 32 ] byte ,  name  string )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . SetName ( & _PublicResolver . TransactOpts ,  node ,  name ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetName is a paid mutator transaction binding the contract method 0x77372213.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setName(node bytes32, name string) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverTransactorSession )  SetName ( node  [ 32 ] byte ,  name  string )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . SetName ( & _PublicResolver . TransactOpts ,  node ,  name ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetPubkey is a paid mutator transaction binding the contract method 0x29cd62ea.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setPubkey(node bytes32, x bytes32, y bytes32) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverTransactor )  SetPubkey ( opts  * bind . TransactOpts ,  node  [ 32 ] byte ,  x  [ 32 ] byte ,  y  [ 32 ] byte )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . contract . Transact ( opts ,  "setPubkey" ,  node ,  x ,  y ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetPubkey is a paid mutator transaction binding the contract method 0x29cd62ea.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setPubkey(node bytes32, x bytes32, y bytes32) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverSession )  SetPubkey ( node  [ 32 ] byte ,  x  [ 32 ] byte ,  y  [ 32 ] byte )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . SetPubkey ( & _PublicResolver . TransactOpts ,  node ,  x ,  y ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetPubkey is a paid mutator transaction binding the contract method 0x29cd62ea.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setPubkey(node bytes32, x bytes32, y bytes32) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverTransactorSession )  SetPubkey ( node  [ 32 ] byte ,  x  [ 32 ] byte ,  y  [ 32 ] byte )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . SetPubkey ( & _PublicResolver . TransactOpts ,  node ,  x ,  y ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetText is a paid mutator transaction binding the contract method 0x10f13a8c.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setText(node bytes32, key string, value string) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverTransactor )  SetText ( opts  * bind . TransactOpts ,  node  [ 32 ] byte ,  key  string ,  value  string )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . contract . Transact ( opts ,  "setText" ,  node ,  key ,  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetText is a paid mutator transaction binding the contract method 0x10f13a8c.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setText(node bytes32, key string, value string) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverSession )  SetText ( node  [ 32 ] byte ,  key  string ,  value  string )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . SetText ( & _PublicResolver . TransactOpts ,  node ,  key ,  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// SetText is a paid mutator transaction binding the contract method 0x10f13a8c.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: function setText(node bytes32, key string, value string) returns()  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverTransactorSession )  SetText ( node  [ 32 ] byte ,  key  string ,  value  string )  ( * types . Transaction ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  _PublicResolver . Contract . SetText ( & _PublicResolver . TransactOpts ,  node ,  key ,  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2018-01-05 12:39:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverABIChangedIterator is returned from FilterABIChanged and is used to iterate over the raw logs and unpacked data for ABIChanged events raised by the PublicResolver contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverABIChangedIterator  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Event  * PublicResolverABIChanged  // 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  * PublicResolverABIChangedIterator )  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 ( PublicResolverABIChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											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 ( PublicResolverABIChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										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  * PublicResolverABIChangedIterator )  Error ( )  error  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  it . fail 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Close terminates the iteration process, releasing any pending underlying  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// resources.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( it  * PublicResolverABIChangedIterator )  Close ( )  error  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it . sub . Unsubscribe ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverABIChanged represents a ABIChanged event raised by the PublicResolver contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverABIChanged  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Node         [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ContentType  * big . Int 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Raw          types . Log  // Blockchain specific contextual infos 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// FilterABIChanged is a free log retrieval operation binding the contract event 0xaa121bbeef5f32f5961a2a28966e769023910fc9479059ee3495d4c1a696efe3.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: event ABIChanged(node indexed bytes32, contentType indexed uint256)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverFilterer )  FilterABIChanged ( opts  * bind . FilterOpts ,  node  [ ] [ 32 ] byte ,  contentType  [ ] * big . Int )  ( * PublicResolverABIChangedIterator ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  nodeRule  [ ] interface { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  nodeItem  :=  range  node  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										nodeRule  =  append ( nodeRule ,  nodeItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  contentTypeRule  [ ] interface { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  contentTypeItem  :=  range  contentType  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										contentTypeRule  =  append ( contentTypeRule ,  contentTypeItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									logs ,  sub ,  err  :=  _PublicResolver . contract . FilterLogs ( opts ,  "ABIChanged" ,  nodeRule ,  contentTypeRule ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  & PublicResolverABIChangedIterator { contract :  _PublicResolver . contract ,  event :  "ABIChanged" ,  logs :  logs ,  sub :  sub } ,  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// WatchABIChanged is a free log subscription operation binding the contract event 0xaa121bbeef5f32f5961a2a28966e769023910fc9479059ee3495d4c1a696efe3.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: event ABIChanged(node indexed bytes32, contentType indexed uint256)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverFilterer )  WatchABIChanged ( opts  * bind . WatchOpts ,  sink  chan <-  * PublicResolverABIChanged ,  node  [ ] [ 32 ] byte ,  contentType  [ ] * big . Int )  ( event . Subscription ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  nodeRule  [ ] interface { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  nodeItem  :=  range  node  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										nodeRule  =  append ( nodeRule ,  nodeItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  contentTypeRule  [ ] interface { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  contentTypeItem  :=  range  contentType  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										contentTypeRule  =  append ( contentTypeRule ,  contentTypeItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									logs ,  sub ,  err  :=  _PublicResolver . contract . WatchLogs ( opts ,  "ABIChanged" ,  nodeRule ,  contentTypeRule ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									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 ( PublicResolverABIChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if  err  :=  _PublicResolver . contract . UnpackLog ( event ,  "ABIChanged" ,  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 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverAddrChangedIterator is returned from FilterAddrChanged and is used to iterate over the raw logs and unpacked data for AddrChanged events raised by the PublicResolver contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverAddrChangedIterator  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Event  * PublicResolverAddrChanged  // 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  * PublicResolverAddrChangedIterator )  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 ( PublicResolverAddrChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											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 ( PublicResolverAddrChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										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  * PublicResolverAddrChangedIterator )  Error ( )  error  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  it . fail 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Close terminates the iteration process, releasing any pending underlying  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// resources.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( it  * PublicResolverAddrChangedIterator )  Close ( )  error  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it . sub . Unsubscribe ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverAddrChanged represents a AddrChanged event raised by the PublicResolver contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverAddrChanged  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Node  [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									A     common . Address 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Raw   types . Log  // Blockchain specific contextual infos 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// FilterAddrChanged is a free log retrieval operation binding the contract event 0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: event AddrChanged(node indexed bytes32, a address)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverFilterer )  FilterAddrChanged ( opts  * bind . FilterOpts ,  node  [ ] [ 32 ] byte )  ( * PublicResolverAddrChangedIterator ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  nodeRule  [ ] interface { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  nodeItem  :=  range  node  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										nodeRule  =  append ( nodeRule ,  nodeItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									logs ,  sub ,  err  :=  _PublicResolver . contract . FilterLogs ( opts ,  "AddrChanged" ,  nodeRule ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  & PublicResolverAddrChangedIterator { contract :  _PublicResolver . contract ,  event :  "AddrChanged" ,  logs :  logs ,  sub :  sub } ,  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// WatchAddrChanged is a free log subscription operation binding the contract event 0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: event AddrChanged(node indexed bytes32, a address)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverFilterer )  WatchAddrChanged ( opts  * bind . WatchOpts ,  sink  chan <-  * PublicResolverAddrChanged ,  node  [ ] [ 32 ] byte )  ( event . Subscription ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  nodeRule  [ ] interface { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  nodeItem  :=  range  node  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										nodeRule  =  append ( nodeRule ,  nodeItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									logs ,  sub ,  err  :=  _PublicResolver . contract . WatchLogs ( opts ,  "AddrChanged" ,  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 ( PublicResolverAddrChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if  err  :=  _PublicResolver . contract . UnpackLog ( event ,  "AddrChanged" ,  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 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverContentChangedIterator is returned from FilterContentChanged and is used to iterate over the raw logs and unpacked data for ContentChanged events raised by the PublicResolver contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverContentChangedIterator  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Event  * PublicResolverContentChanged  // 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  * PublicResolverContentChangedIterator )  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 ( PublicResolverContentChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											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 ( PublicResolverContentChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										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  * PublicResolverContentChangedIterator )  Error ( )  error  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  it . fail 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Close terminates the iteration process, releasing any pending underlying  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// resources.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( it  * PublicResolverContentChangedIterator )  Close ( )  error  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it . sub . Unsubscribe ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverContentChanged represents a ContentChanged event raised by the PublicResolver contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverContentChanged  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Node  [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Hash  [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Raw   types . Log  // Blockchain specific contextual infos 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// FilterContentChanged is a free log retrieval operation binding the contract event 0x0424b6fe0d9c3bdbece0e7879dc241bb0c22e900be8b6c168b4ee08bd9bf83bc.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: event ContentChanged(node indexed bytes32, hash bytes32)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverFilterer )  FilterContentChanged ( opts  * bind . FilterOpts ,  node  [ ] [ 32 ] byte )  ( * PublicResolverContentChangedIterator ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  nodeRule  [ ] interface { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  nodeItem  :=  range  node  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										nodeRule  =  append ( nodeRule ,  nodeItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									logs ,  sub ,  err  :=  _PublicResolver . contract . FilterLogs ( opts ,  "ContentChanged" ,  nodeRule ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  & PublicResolverContentChangedIterator { contract :  _PublicResolver . contract ,  event :  "ContentChanged" ,  logs :  logs ,  sub :  sub } ,  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// WatchContentChanged is a free log subscription operation binding the contract event 0x0424b6fe0d9c3bdbece0e7879dc241bb0c22e900be8b6c168b4ee08bd9bf83bc.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: event ContentChanged(node indexed bytes32, hash bytes32)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverFilterer )  WatchContentChanged ( opts  * bind . WatchOpts ,  sink  chan <-  * PublicResolverContentChanged ,  node  [ ] [ 32 ] byte )  ( event . Subscription ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  nodeRule  [ ] interface { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  nodeItem  :=  range  node  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										nodeRule  =  append ( nodeRule ,  nodeItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									logs ,  sub ,  err  :=  _PublicResolver . contract . WatchLogs ( opts ,  "ContentChanged" ,  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 ( PublicResolverContentChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if  err  :=  _PublicResolver . contract . UnpackLog ( event ,  "ContentChanged" ,  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 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverNameChangedIterator is returned from FilterNameChanged and is used to iterate over the raw logs and unpacked data for NameChanged events raised by the PublicResolver contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverNameChangedIterator  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Event  * PublicResolverNameChanged  // 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  * PublicResolverNameChangedIterator )  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 ( PublicResolverNameChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											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 ( PublicResolverNameChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										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  * PublicResolverNameChangedIterator )  Error ( )  error  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  it . fail 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Close terminates the iteration process, releasing any pending underlying  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// resources.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( it  * PublicResolverNameChangedIterator )  Close ( )  error  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it . sub . Unsubscribe ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverNameChanged represents a NameChanged event raised by the PublicResolver contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverNameChanged  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Node  [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Name  string 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Raw   types . Log  // Blockchain specific contextual infos 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// FilterNameChanged is a free log retrieval operation binding the contract event 0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: event NameChanged(node indexed bytes32, name string)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverFilterer )  FilterNameChanged ( opts  * bind . FilterOpts ,  node  [ ] [ 32 ] byte )  ( * PublicResolverNameChangedIterator ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  nodeRule  [ ] interface { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  nodeItem  :=  range  node  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										nodeRule  =  append ( nodeRule ,  nodeItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									logs ,  sub ,  err  :=  _PublicResolver . contract . FilterLogs ( opts ,  "NameChanged" ,  nodeRule ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  & PublicResolverNameChangedIterator { contract :  _PublicResolver . contract ,  event :  "NameChanged" ,  logs :  logs ,  sub :  sub } ,  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// WatchNameChanged is a free log subscription operation binding the contract event 0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: event NameChanged(node indexed bytes32, name string)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverFilterer )  WatchNameChanged ( opts  * bind . WatchOpts ,  sink  chan <-  * PublicResolverNameChanged ,  node  [ ] [ 32 ] byte )  ( event . Subscription ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  nodeRule  [ ] interface { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  nodeItem  :=  range  node  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										nodeRule  =  append ( nodeRule ,  nodeItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									logs ,  sub ,  err  :=  _PublicResolver . contract . WatchLogs ( opts ,  "NameChanged" ,  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 ( PublicResolverNameChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if  err  :=  _PublicResolver . contract . UnpackLog ( event ,  "NameChanged" ,  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 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverPubkeyChangedIterator is returned from FilterPubkeyChanged and is used to iterate over the raw logs and unpacked data for PubkeyChanged events raised by the PublicResolver contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverPubkeyChangedIterator  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Event  * PublicResolverPubkeyChanged  // 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  * PublicResolverPubkeyChangedIterator )  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 ( PublicResolverPubkeyChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											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 ( PublicResolverPubkeyChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										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  * PublicResolverPubkeyChangedIterator )  Error ( )  error  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  it . fail 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Close terminates the iteration process, releasing any pending underlying  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// resources.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( it  * PublicResolverPubkeyChangedIterator )  Close ( )  error  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it . sub . Unsubscribe ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverPubkeyChanged represents a PubkeyChanged event raised by the PublicResolver contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverPubkeyChanged  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Node  [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									X     [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Y     [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Raw   types . Log  // Blockchain specific contextual infos 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// FilterPubkeyChanged is a free log retrieval operation binding the contract event 0x1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e46.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: event PubkeyChanged(node indexed bytes32, x bytes32, y bytes32)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverFilterer )  FilterPubkeyChanged ( opts  * bind . FilterOpts ,  node  [ ] [ 32 ] byte )  ( * PublicResolverPubkeyChangedIterator ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  nodeRule  [ ] interface { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  nodeItem  :=  range  node  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										nodeRule  =  append ( nodeRule ,  nodeItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									logs ,  sub ,  err  :=  _PublicResolver . contract . FilterLogs ( opts ,  "PubkeyChanged" ,  nodeRule ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  & PublicResolverPubkeyChangedIterator { contract :  _PublicResolver . contract ,  event :  "PubkeyChanged" ,  logs :  logs ,  sub :  sub } ,  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// WatchPubkeyChanged is a free log subscription operation binding the contract event 0x1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e46.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: event PubkeyChanged(node indexed bytes32, x bytes32, y bytes32)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverFilterer )  WatchPubkeyChanged ( opts  * bind . WatchOpts ,  sink  chan <-  * PublicResolverPubkeyChanged ,  node  [ ] [ 32 ] byte )  ( event . Subscription ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  nodeRule  [ ] interface { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  nodeItem  :=  range  node  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										nodeRule  =  append ( nodeRule ,  nodeItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									logs ,  sub ,  err  :=  _PublicResolver . contract . WatchLogs ( opts ,  "PubkeyChanged" ,  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 ( PublicResolverPubkeyChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if  err  :=  _PublicResolver . contract . UnpackLog ( event ,  "PubkeyChanged" ,  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 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverTextChangedIterator is returned from FilterTextChanged and is used to iterate over the raw logs and unpacked data for TextChanged events raised by the PublicResolver contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverTextChangedIterator  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Event  * PublicResolverTextChanged  // 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  * PublicResolverTextChangedIterator )  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 ( PublicResolverTextChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											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 ( PublicResolverTextChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										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  * PublicResolverTextChangedIterator )  Error ( )  error  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  it . fail 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Close terminates the iteration process, releasing any pending underlying  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// resources.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( it  * PublicResolverTextChangedIterator )  Close ( )  error  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it . sub . Unsubscribe ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// PublicResolverTextChanged represents a TextChanged event raised by the PublicResolver contract.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  PublicResolverTextChanged  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Node        [ 32 ] byte 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									IndexedKey  common . Hash 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Key         string 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Raw         types . Log  // Blockchain specific contextual infos 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// FilterTextChanged is a free log retrieval operation binding the contract event 0xd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: event TextChanged(node indexed bytes32, indexedKey indexed string, key string)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverFilterer )  FilterTextChanged ( opts  * bind . FilterOpts ,  node  [ ] [ 32 ] byte ,  indexedKey  [ ] string )  ( * PublicResolverTextChangedIterator ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  nodeRule  [ ] interface { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  nodeItem  :=  range  node  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										nodeRule  =  append ( nodeRule ,  nodeItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  indexedKeyRule  [ ] interface { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  indexedKeyItem  :=  range  indexedKey  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										indexedKeyRule  =  append ( indexedKeyRule ,  indexedKeyItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									logs ,  sub ,  err  :=  _PublicResolver . contract . FilterLogs ( opts ,  "TextChanged" ,  nodeRule ,  indexedKeyRule ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  nil ,  err 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  & PublicResolverTextChangedIterator { contract :  _PublicResolver . contract ,  event :  "TextChanged" ,  logs :  logs ,  sub :  sub } ,  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// WatchTextChanged is a free log subscription operation binding the contract event 0xd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Solidity: event TextChanged(node indexed bytes32, indexedKey indexed string, key string)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  ( _PublicResolver  * PublicResolverFilterer )  WatchTextChanged ( opts  * bind . WatchOpts ,  sink  chan <-  * PublicResolverTextChanged ,  node  [ ] [ 32 ] byte ,  indexedKey  [ ] string )  ( event . Subscription ,  error )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  nodeRule  [ ] interface { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  nodeItem  :=  range  node  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										nodeRule  =  append ( nodeRule ,  nodeItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  indexedKeyRule  [ ] interface { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  indexedKeyItem  :=  range  indexedKey  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										indexedKeyRule  =  append ( indexedKeyRule ,  indexedKeyItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									logs ,  sub ,  err  :=  _PublicResolver . contract . WatchLogs ( opts ,  "TextChanged" ,  nodeRule ,  indexedKeyRule ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									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 ( PublicResolverTextChanged ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if  err  :=  _PublicResolver . contract . UnpackLog ( event ,  "TextChanged" ,  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 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}