publicresolver.go 64 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319
  1. // Code generated - DO NOT EDIT.
  2. // This file is a generated binding and any manual changes will be lost.
  3. package contract
  4. import (
  5. "math/big"
  6. "strings"
  7. ethereum "github.com/ethereum/go-ethereum"
  8. "github.com/ethereum/go-ethereum/accounts/abi"
  9. "github.com/ethereum/go-ethereum/accounts/abi/bind"
  10. "github.com/ethereum/go-ethereum/common"
  11. "github.com/ethereum/go-ethereum/core/types"
  12. "github.com/ethereum/go-ethereum/event"
  13. )
  14. // Reference imports to suppress errors if they are not otherwise used.
  15. var (
  16. _ = big.NewInt
  17. _ = strings.NewReader
  18. _ = ethereum.NotFound
  19. _ = abi.U256
  20. _ = bind.Bind
  21. _ = common.Big1
  22. _ = types.BloomLookup
  23. _ = event.NewSubscription
  24. )
  25. // PublicResolverABI is the input ABI used to generate the binding from.
  26. const PublicResolverABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"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\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"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\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"hash\",\"type\":\"bytes\"}],\"name\":\"setContenthash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"addr\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"key\",\"type\":\"string\"}],\"name\":\"text\",\"outputs\":[{\"name\":\"\",\"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\":\"\",\"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\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"contenthash\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"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\":\"name\",\"type\":\"string\"}],\"name\":\"NameChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"contentType\",\"type\":\"uint256\"}],\"name\":\"ABIChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"x\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"y\",\"type\":\"bytes32\"}],\"name\":\"PubkeyChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"indexedKey\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"key\",\"type\":\"string\"}],\"name\":\"TextChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"hash\",\"type\":\"bytes\"}],\"name\":\"ContenthashChanged\",\"type\":\"event\"}]"
  27. // PublicResolverBin is the compiled bytecode used for deploying new contracts.
  28. const PublicResolverBin = `0x608060405234801561001057600080fd5b506040516020806112ce8339810180604052602081101561003057600080fd5b505160008054600160a060020a03909216600160a060020a031990921691909117905561126c806100626000396000f3fe6080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146100c957806310f13a8c146101115780632203ab56146101e957806329cd62ea14610298578063304e6ade146102ce5780633b3b57de1461035257806359d1d43c14610398578063623195b014610491578063691f34311461051a5780637737221314610544578063bc1c58d1146105c8578063c8690233146105f2578063d5fa2b0014610635575b600080fd5b3480156100d557600080fd5b506100fd600480360360208110156100ec57600080fd5b5035600160e060020a03191661066e565b604080519115158252519081900360200190f35b34801561011d57600080fd5b506101e76004803603606081101561013457600080fd5b8135919081019060408101602082013564010000000081111561015657600080fd5b82018360208201111561016857600080fd5b8035906020019184600183028401116401000000008311171561018a57600080fd5b9193909290916020810190356401000000008111156101a857600080fd5b8201836020820111156101ba57600080fd5b803590602001918460018302840111640100000000831117156101dc57600080fd5b5090925090506107db565b005b3480156101f557600080fd5b506102196004803603604081101561020c57600080fd5b508035906020013561094d565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561025c578181015183820152602001610244565b50505050905090810190601f1680156102895780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156102a457600080fd5b506101e7600480360360608110156102bb57600080fd5b5080359060208101359060400135610a65565b3480156102da57600080fd5b506101e7600480360360408110156102f157600080fd5b8135919081019060408101602082013564010000000081111561031357600080fd5b82018360208201111561032557600080fd5b8035906020019184600183028401116401000000008311171561034757600080fd5b509092509050610b65565b34801561035e57600080fd5b5061037c6004803603602081101561037557600080fd5b5035610c7b565b60408051600160a060020a039092168252519081900360200190f35b3480156103a457600080fd5b5061041c600480360360408110156103bb57600080fd5b813591908101906040810160208201356401000000008111156103dd57600080fd5b8201836020820111156103ef57600080fd5b8035906020019184600183028401116401000000008311171561041157600080fd5b509092509050610c96565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561045657818101518382015260200161043e565b50505050905090810190601f1680156104835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561049d57600080fd5b506101e7600480360360608110156104b457600080fd5b8135916020810135918101906060810160408201356401000000008111156104db57600080fd5b8201836020820111156104ed57600080fd5b8035906020019184600183028401116401000000008311171561050f57600080fd5b509092509050610d60565b34801561052657600080fd5b5061041c6004803603602081101561053d57600080fd5b5035610e5f565b34801561055057600080fd5b506101e76004803603604081101561056757600080fd5b8135919081019060408101602082013564010000000081111561058957600080fd5b82018360208201111561059b57600080fd5b803590602001918460018302840111640100000000831117156105bd57600080fd5b509092509050610f01565b3480156105d457600080fd5b5061041c600480360360208110156105eb57600080fd5b5035611018565b3480156105fe57600080fd5b5061061c6004803603602081101561061557600080fd5b5035611084565b6040805192835260208301919091528051918290030190f35b34801561064157600080fd5b506101e76004803603604081101561065857600080fd5b5080359060200135600160a060020a03166110a1565b6000600160e060020a031982167f3b3b57de0000000000000000000000000000000000000000000000000000000014806106d15750600160e060020a031982167f691f343100000000000000000000000000000000000000000000000000000000145b806107055750600160e060020a031982167f2203ab5600000000000000000000000000000000000000000000000000000000145b806107395750600160e060020a031982167fc869023300000000000000000000000000000000000000000000000000000000145b8061076d5750600160e060020a031982167f59d1d43c00000000000000000000000000000000000000000000000000000000145b806107a15750600160e060020a031982167fbc1c58d100000000000000000000000000000000000000000000000000000000145b806107d55750600160e060020a031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6000546040805160e060020a6302571be302815260048101889052905187923392600160a060020a03909116916302571be391602480820192602092909190829003018186803b15801561082e57600080fd5b505afa158015610842573d6000803e3d6000fd5b505050506040513d602081101561085857600080fd5b5051600160a060020a03161461086d57600080fd5b8282600160008981526020019081526020016000206004018787604051808383808284378083019250505092505050908152602001604051809103902091906108b79291906111a5565b50857fd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550868688886040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a2505050505050565b600082815260016020819052604082206060915b848111610a53578085161580159061099a5750600081815260058301602052604081205460026000196101006001841615020190911604115b15610a4b57600081815260058301602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845284939192839190830182828015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b50505050509050935093505050610a5e565b600202610961565b506000925060609150505b9250929050565b6000546040805160e060020a6302571be302815260048101869052905185923392600160a060020a03909116916302571be391602480820192602092909190829003018186803b158015610ab857600080fd5b505afa158015610acc573d6000803e3d6000fd5b505050506040513d6020811015610ae257600080fd5b5051600160a060020a031614610af757600080fd5b604080518082018252848152602080820185815260008881526001835284902092516002840155516003909201919091558151858152908101849052815186927f1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e46928290030190a250505050565b6000546040805160e060020a6302571be302815260048101869052905185923392600160a060020a03909116916302571be391602480820192602092909190829003018186803b158015610bb857600080fd5b505afa158015610bcc573d6000803e3d6000fd5b505050506040513d6020811015610be257600080fd5b5051600160a060020a031614610bf757600080fd5b6000848152600160205260409020610c139060060184846111a5565b50837fe379c1624ed7e714cc0937528a32359d69d5281337765313dba4e081b72d7578848460405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a250505050565b600090815260016020526040902054600160a060020a031690565b6060600160008581526020019081526020016000206004018383604051808383808284379190910194855250506040805160209481900385018120805460026001821615610100026000190190911604601f81018790048702830187019093528282529094909350909150830182828015610d525780601f10610d2757610100808354040283529160200191610d52565b820191906000526020600020905b815481529060010190602001808311610d3557829003601f168201915b505050505090509392505050565b6000546040805160e060020a6302571be302815260048101879052905186923392600160a060020a03909116916302571be391602480820192602092909190829003018186803b158015610db357600080fd5b505afa158015610dc7573d6000803e3d6000fd5b505050506040513d6020811015610ddd57600080fd5b5051600160a060020a031614610df257600080fd5b6000198401841615610e0357600080fd5b60008581526001602090815260408083208784526005019091529020610e2a9084846111a5565b50604051849086907faa121bbeef5f32f5961a2a28966e769023910fc9479059ee3495d4c1a696efe390600090a35050505050565b600081815260016020818152604092839020820180548451600294821615610100026000190190911693909304601f81018390048302840183019094528383526060939091830182828015610ef55780601f10610eca57610100808354040283529160200191610ef5565b820191906000526020600020905b815481529060010190602001808311610ed857829003601f168201915b50505050509050919050565b6000546040805160e060020a6302571be302815260048101869052905185923392600160a060020a03909116916302571be391602480820192602092909190829003018186803b158015610f5457600080fd5b505afa158015610f68573d6000803e3d6000fd5b505050506040513d6020811015610f7e57600080fd5b5051600160a060020a031614610f9357600080fd5b6000848152600160208190526040909120610fb0910184846111a5565b50837fb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7848460405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a250505050565b60008181526001602081815260409283902060060180548451600294821615610100026000190190911693909304601f81018390048302840183019094528383526060939091830182828015610ef55780601f10610eca57610100808354040283529160200191610ef5565b600090815260016020526040902060028101546003909101549091565b6000546040805160e060020a6302571be302815260048101859052905184923392600160a060020a03909116916302571be391602480820192602092909190829003018186803b1580156110f457600080fd5b505afa158015611108573d6000803e3d6000fd5b505050506040513d602081101561111e57600080fd5b5051600160a060020a03161461113357600080fd5b600083815260016020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0386169081179091558251908152915185927f52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd292908290030190a2505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111e65782800160ff19823516178555611213565b82800160010185558215611213579182015b828111156112135782358255916020019190600101906111f8565b5061121f929150611223565b5090565b61123d91905b8082111561121f5760008155600101611229565b9056fea165627a7a7230582047f310fc746ab2e282cf63ba794d20abb361f9284c6c5f2a2e26151e5b7fab600029`
  29. // DeployPublicResolver deploys a new Ethereum contract, binding an instance of PublicResolver to it.
  30. func DeployPublicResolver(auth *bind.TransactOpts, backend bind.ContractBackend, ensAddr common.Address) (common.Address, *types.Transaction, *PublicResolver, error) {
  31. parsed, err := abi.JSON(strings.NewReader(PublicResolverABI))
  32. if err != nil {
  33. return common.Address{}, nil, nil, err
  34. }
  35. address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(PublicResolverBin), backend, ensAddr)
  36. if err != nil {
  37. return common.Address{}, nil, nil, err
  38. }
  39. return address, tx, &PublicResolver{PublicResolverCaller: PublicResolverCaller{contract: contract}, PublicResolverTransactor: PublicResolverTransactor{contract: contract}, PublicResolverFilterer: PublicResolverFilterer{contract: contract}}, nil
  40. }
  41. // PublicResolver is an auto generated Go binding around an Ethereum contract.
  42. type PublicResolver struct {
  43. PublicResolverCaller // Read-only binding to the contract
  44. PublicResolverTransactor // Write-only binding to the contract
  45. PublicResolverFilterer // Log filterer for contract events
  46. }
  47. // PublicResolverCaller is an auto generated read-only Go binding around an Ethereum contract.
  48. type PublicResolverCaller struct {
  49. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  50. }
  51. // PublicResolverTransactor is an auto generated write-only Go binding around an Ethereum contract.
  52. type PublicResolverTransactor struct {
  53. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  54. }
  55. // PublicResolverFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  56. type PublicResolverFilterer struct {
  57. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  58. }
  59. // PublicResolverSession is an auto generated Go binding around an Ethereum contract,
  60. // with pre-set call and transact options.
  61. type PublicResolverSession struct {
  62. Contract *PublicResolver // Generic contract binding to set the session for
  63. CallOpts bind.CallOpts // Call options to use throughout this session
  64. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  65. }
  66. // PublicResolverCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  67. // with pre-set call options.
  68. type PublicResolverCallerSession struct {
  69. Contract *PublicResolverCaller // Generic contract caller binding to set the session for
  70. CallOpts bind.CallOpts // Call options to use throughout this session
  71. }
  72. // PublicResolverTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  73. // with pre-set transact options.
  74. type PublicResolverTransactorSession struct {
  75. Contract *PublicResolverTransactor // Generic contract transactor binding to set the session for
  76. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  77. }
  78. // PublicResolverRaw is an auto generated low-level Go binding around an Ethereum contract.
  79. type PublicResolverRaw struct {
  80. Contract *PublicResolver // Generic contract binding to access the raw methods on
  81. }
  82. // PublicResolverCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  83. type PublicResolverCallerRaw struct {
  84. Contract *PublicResolverCaller // Generic read-only contract binding to access the raw methods on
  85. }
  86. // PublicResolverTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  87. type PublicResolverTransactorRaw struct {
  88. Contract *PublicResolverTransactor // Generic write-only contract binding to access the raw methods on
  89. }
  90. // NewPublicResolver creates a new instance of PublicResolver, bound to a specific deployed contract.
  91. func NewPublicResolver(address common.Address, backend bind.ContractBackend) (*PublicResolver, error) {
  92. contract, err := bindPublicResolver(address, backend, backend, backend)
  93. if err != nil {
  94. return nil, err
  95. }
  96. return &PublicResolver{PublicResolverCaller: PublicResolverCaller{contract: contract}, PublicResolverTransactor: PublicResolverTransactor{contract: contract}, PublicResolverFilterer: PublicResolverFilterer{contract: contract}}, nil
  97. }
  98. // NewPublicResolverCaller creates a new read-only instance of PublicResolver, bound to a specific deployed contract.
  99. func NewPublicResolverCaller(address common.Address, caller bind.ContractCaller) (*PublicResolverCaller, error) {
  100. contract, err := bindPublicResolver(address, caller, nil, nil)
  101. if err != nil {
  102. return nil, err
  103. }
  104. return &PublicResolverCaller{contract: contract}, nil
  105. }
  106. // NewPublicResolverTransactor creates a new write-only instance of PublicResolver, bound to a specific deployed contract.
  107. func NewPublicResolverTransactor(address common.Address, transactor bind.ContractTransactor) (*PublicResolverTransactor, error) {
  108. contract, err := bindPublicResolver(address, nil, transactor, nil)
  109. if err != nil {
  110. return nil, err
  111. }
  112. return &PublicResolverTransactor{contract: contract}, nil
  113. }
  114. // NewPublicResolverFilterer creates a new log filterer instance of PublicResolver, bound to a specific deployed contract.
  115. func NewPublicResolverFilterer(address common.Address, filterer bind.ContractFilterer) (*PublicResolverFilterer, error) {
  116. contract, err := bindPublicResolver(address, nil, nil, filterer)
  117. if err != nil {
  118. return nil, err
  119. }
  120. return &PublicResolverFilterer{contract: contract}, nil
  121. }
  122. // bindPublicResolver binds a generic wrapper to an already deployed contract.
  123. func bindPublicResolver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  124. parsed, err := abi.JSON(strings.NewReader(PublicResolverABI))
  125. if err != nil {
  126. return nil, err
  127. }
  128. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  129. }
  130. // Call invokes the (constant) contract method with params as input values and
  131. // sets the output to result. The result type might be a single field for simple
  132. // returns, a slice of interfaces for anonymous returns and a struct for named
  133. // returns.
  134. func (_PublicResolver *PublicResolverRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
  135. return _PublicResolver.Contract.PublicResolverCaller.contract.Call(opts, result, method, params...)
  136. }
  137. // Transfer initiates a plain transaction to move funds to the contract, calling
  138. // its default method if one is available.
  139. func (_PublicResolver *PublicResolverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  140. return _PublicResolver.Contract.PublicResolverTransactor.contract.Transfer(opts)
  141. }
  142. // Transact invokes the (paid) contract method with params as input values.
  143. func (_PublicResolver *PublicResolverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  144. return _PublicResolver.Contract.PublicResolverTransactor.contract.Transact(opts, method, params...)
  145. }
  146. // Call invokes the (constant) contract method with params as input values and
  147. // sets the output to result. The result type might be a single field for simple
  148. // returns, a slice of interfaces for anonymous returns and a struct for named
  149. // returns.
  150. func (_PublicResolver *PublicResolverCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
  151. return _PublicResolver.Contract.contract.Call(opts, result, method, params...)
  152. }
  153. // Transfer initiates a plain transaction to move funds to the contract, calling
  154. // its default method if one is available.
  155. func (_PublicResolver *PublicResolverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  156. return _PublicResolver.Contract.contract.Transfer(opts)
  157. }
  158. // Transact invokes the (paid) contract method with params as input values.
  159. func (_PublicResolver *PublicResolverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  160. return _PublicResolver.Contract.contract.Transact(opts, method, params...)
  161. }
  162. // ABI is a free data retrieval call binding the contract method 0x2203ab56.
  163. //
  164. // Solidity: function ABI(bytes32 node, uint256 contentTypes) constant returns(uint256, bytes)
  165. func (_PublicResolver *PublicResolverCaller) ABI(opts *bind.CallOpts, node [32]byte, contentTypes *big.Int) (*big.Int, []byte, error) {
  166. var (
  167. ret0 = new(*big.Int)
  168. ret1 = new([]byte)
  169. )
  170. out := &[]interface{}{
  171. ret0,
  172. ret1,
  173. }
  174. err := _PublicResolver.contract.Call(opts, out, "ABI", node, contentTypes)
  175. return *ret0, *ret1, err
  176. }
  177. // ABI is a free data retrieval call binding the contract method 0x2203ab56.
  178. //
  179. // Solidity: function ABI(bytes32 node, uint256 contentTypes) constant returns(uint256, bytes)
  180. func (_PublicResolver *PublicResolverSession) ABI(node [32]byte, contentTypes *big.Int) (*big.Int, []byte, error) {
  181. return _PublicResolver.Contract.ABI(&_PublicResolver.CallOpts, node, contentTypes)
  182. }
  183. // ABI is a free data retrieval call binding the contract method 0x2203ab56.
  184. //
  185. // Solidity: function ABI(bytes32 node, uint256 contentTypes) constant returns(uint256, bytes)
  186. func (_PublicResolver *PublicResolverCallerSession) ABI(node [32]byte, contentTypes *big.Int) (*big.Int, []byte, error) {
  187. return _PublicResolver.Contract.ABI(&_PublicResolver.CallOpts, node, contentTypes)
  188. }
  189. // Addr is a free data retrieval call binding the contract method 0x3b3b57de.
  190. //
  191. // Solidity: function addr(bytes32 node) constant returns(address)
  192. func (_PublicResolver *PublicResolverCaller) Addr(opts *bind.CallOpts, node [32]byte) (common.Address, error) {
  193. var (
  194. ret0 = new(common.Address)
  195. )
  196. out := ret0
  197. err := _PublicResolver.contract.Call(opts, out, "addr", node)
  198. return *ret0, err
  199. }
  200. // Addr is a free data retrieval call binding the contract method 0x3b3b57de.
  201. //
  202. // Solidity: function addr(bytes32 node) constant returns(address)
  203. func (_PublicResolver *PublicResolverSession) Addr(node [32]byte) (common.Address, error) {
  204. return _PublicResolver.Contract.Addr(&_PublicResolver.CallOpts, node)
  205. }
  206. // Addr is a free data retrieval call binding the contract method 0x3b3b57de.
  207. //
  208. // Solidity: function addr(bytes32 node) constant returns(address)
  209. func (_PublicResolver *PublicResolverCallerSession) Addr(node [32]byte) (common.Address, error) {
  210. return _PublicResolver.Contract.Addr(&_PublicResolver.CallOpts, node)
  211. }
  212. // Contenthash is a free data retrieval call binding the contract method 0xbc1c58d1.
  213. //
  214. // Solidity: function contenthash(bytes32 node) constant returns(bytes)
  215. func (_PublicResolver *PublicResolverCaller) Contenthash(opts *bind.CallOpts, node [32]byte) ([]byte, error) {
  216. var (
  217. ret0 = new([]byte)
  218. )
  219. out := ret0
  220. err := _PublicResolver.contract.Call(opts, out, "contenthash", node)
  221. return *ret0, err
  222. }
  223. // Contenthash is a free data retrieval call binding the contract method 0xbc1c58d1.
  224. //
  225. // Solidity: function contenthash(bytes32 node) constant returns(bytes)
  226. func (_PublicResolver *PublicResolverSession) Contenthash(node [32]byte) ([]byte, error) {
  227. return _PublicResolver.Contract.Contenthash(&_PublicResolver.CallOpts, node)
  228. }
  229. // Contenthash is a free data retrieval call binding the contract method 0xbc1c58d1.
  230. //
  231. // Solidity: function contenthash(bytes32 node) constant returns(bytes)
  232. func (_PublicResolver *PublicResolverCallerSession) Contenthash(node [32]byte) ([]byte, error) {
  233. return _PublicResolver.Contract.Contenthash(&_PublicResolver.CallOpts, node)
  234. }
  235. // Name is a free data retrieval call binding the contract method 0x691f3431.
  236. //
  237. // Solidity: function name(bytes32 node) constant returns(string)
  238. func (_PublicResolver *PublicResolverCaller) Name(opts *bind.CallOpts, node [32]byte) (string, error) {
  239. var (
  240. ret0 = new(string)
  241. )
  242. out := ret0
  243. err := _PublicResolver.contract.Call(opts, out, "name", node)
  244. return *ret0, err
  245. }
  246. // Name is a free data retrieval call binding the contract method 0x691f3431.
  247. //
  248. // Solidity: function name(bytes32 node) constant returns(string)
  249. func (_PublicResolver *PublicResolverSession) Name(node [32]byte) (string, error) {
  250. return _PublicResolver.Contract.Name(&_PublicResolver.CallOpts, node)
  251. }
  252. // Name is a free data retrieval call binding the contract method 0x691f3431.
  253. //
  254. // Solidity: function name(bytes32 node) constant returns(string)
  255. func (_PublicResolver *PublicResolverCallerSession) Name(node [32]byte) (string, error) {
  256. return _PublicResolver.Contract.Name(&_PublicResolver.CallOpts, node)
  257. }
  258. // Pubkey is a free data retrieval call binding the contract method 0xc8690233.
  259. //
  260. // Solidity: function pubkey(bytes32 node) constant returns(bytes32 x, bytes32 y)
  261. func (_PublicResolver *PublicResolverCaller) Pubkey(opts *bind.CallOpts, node [32]byte) (struct {
  262. X [32]byte
  263. Y [32]byte
  264. }, error) {
  265. ret := new(struct {
  266. X [32]byte
  267. Y [32]byte
  268. })
  269. out := ret
  270. err := _PublicResolver.contract.Call(opts, out, "pubkey", node)
  271. return *ret, err
  272. }
  273. // Pubkey is a free data retrieval call binding the contract method 0xc8690233.
  274. //
  275. // Solidity: function pubkey(bytes32 node) constant returns(bytes32 x, bytes32 y)
  276. func (_PublicResolver *PublicResolverSession) Pubkey(node [32]byte) (struct {
  277. X [32]byte
  278. Y [32]byte
  279. }, error) {
  280. return _PublicResolver.Contract.Pubkey(&_PublicResolver.CallOpts, node)
  281. }
  282. // Pubkey is a free data retrieval call binding the contract method 0xc8690233.
  283. //
  284. // Solidity: function pubkey(bytes32 node) constant returns(bytes32 x, bytes32 y)
  285. func (_PublicResolver *PublicResolverCallerSession) Pubkey(node [32]byte) (struct {
  286. X [32]byte
  287. Y [32]byte
  288. }, error) {
  289. return _PublicResolver.Contract.Pubkey(&_PublicResolver.CallOpts, node)
  290. }
  291. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  292. //
  293. // Solidity: function supportsInterface(bytes4 interfaceID) constant returns(bool)
  294. func (_PublicResolver *PublicResolverCaller) SupportsInterface(opts *bind.CallOpts, interfaceID [4]byte) (bool, error) {
  295. var (
  296. ret0 = new(bool)
  297. )
  298. out := ret0
  299. err := _PublicResolver.contract.Call(opts, out, "supportsInterface", interfaceID)
  300. return *ret0, err
  301. }
  302. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  303. //
  304. // Solidity: function supportsInterface(bytes4 interfaceID) constant returns(bool)
  305. func (_PublicResolver *PublicResolverSession) SupportsInterface(interfaceID [4]byte) (bool, error) {
  306. return _PublicResolver.Contract.SupportsInterface(&_PublicResolver.CallOpts, interfaceID)
  307. }
  308. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  309. //
  310. // Solidity: function supportsInterface(bytes4 interfaceID) constant returns(bool)
  311. func (_PublicResolver *PublicResolverCallerSession) SupportsInterface(interfaceID [4]byte) (bool, error) {
  312. return _PublicResolver.Contract.SupportsInterface(&_PublicResolver.CallOpts, interfaceID)
  313. }
  314. // Text is a free data retrieval call binding the contract method 0x59d1d43c.
  315. //
  316. // Solidity: function text(bytes32 node, string key) constant returns(string)
  317. func (_PublicResolver *PublicResolverCaller) Text(opts *bind.CallOpts, node [32]byte, key string) (string, error) {
  318. var (
  319. ret0 = new(string)
  320. )
  321. out := ret0
  322. err := _PublicResolver.contract.Call(opts, out, "text", node, key)
  323. return *ret0, err
  324. }
  325. // Text is a free data retrieval call binding the contract method 0x59d1d43c.
  326. //
  327. // Solidity: function text(bytes32 node, string key) constant returns(string)
  328. func (_PublicResolver *PublicResolverSession) Text(node [32]byte, key string) (string, error) {
  329. return _PublicResolver.Contract.Text(&_PublicResolver.CallOpts, node, key)
  330. }
  331. // Text is a free data retrieval call binding the contract method 0x59d1d43c.
  332. //
  333. // Solidity: function text(bytes32 node, string key) constant returns(string)
  334. func (_PublicResolver *PublicResolverCallerSession) Text(node [32]byte, key string) (string, error) {
  335. return _PublicResolver.Contract.Text(&_PublicResolver.CallOpts, node, key)
  336. }
  337. // SetABI is a paid mutator transaction binding the contract method 0x623195b0.
  338. //
  339. // Solidity: function setABI(bytes32 node, uint256 contentType, bytes data) returns()
  340. func (_PublicResolver *PublicResolverTransactor) SetABI(opts *bind.TransactOpts, node [32]byte, contentType *big.Int, data []byte) (*types.Transaction, error) {
  341. return _PublicResolver.contract.Transact(opts, "setABI", node, contentType, data)
  342. }
  343. // SetABI is a paid mutator transaction binding the contract method 0x623195b0.
  344. //
  345. // Solidity: function setABI(bytes32 node, uint256 contentType, bytes data) returns()
  346. func (_PublicResolver *PublicResolverSession) SetABI(node [32]byte, contentType *big.Int, data []byte) (*types.Transaction, error) {
  347. return _PublicResolver.Contract.SetABI(&_PublicResolver.TransactOpts, node, contentType, data)
  348. }
  349. // SetABI is a paid mutator transaction binding the contract method 0x623195b0.
  350. //
  351. // Solidity: function setABI(bytes32 node, uint256 contentType, bytes data) returns()
  352. func (_PublicResolver *PublicResolverTransactorSession) SetABI(node [32]byte, contentType *big.Int, data []byte) (*types.Transaction, error) {
  353. return _PublicResolver.Contract.SetABI(&_PublicResolver.TransactOpts, node, contentType, data)
  354. }
  355. // SetAddr is a paid mutator transaction binding the contract method 0xd5fa2b00.
  356. //
  357. // Solidity: function setAddr(bytes32 node, address addr) returns()
  358. func (_PublicResolver *PublicResolverTransactor) SetAddr(opts *bind.TransactOpts, node [32]byte, addr common.Address) (*types.Transaction, error) {
  359. return _PublicResolver.contract.Transact(opts, "setAddr", node, addr)
  360. }
  361. // SetAddr is a paid mutator transaction binding the contract method 0xd5fa2b00.
  362. //
  363. // Solidity: function setAddr(bytes32 node, address addr) returns()
  364. func (_PublicResolver *PublicResolverSession) SetAddr(node [32]byte, addr common.Address) (*types.Transaction, error) {
  365. return _PublicResolver.Contract.SetAddr(&_PublicResolver.TransactOpts, node, addr)
  366. }
  367. // SetAddr is a paid mutator transaction binding the contract method 0xd5fa2b00.
  368. //
  369. // Solidity: function setAddr(bytes32 node, address addr) returns()
  370. func (_PublicResolver *PublicResolverTransactorSession) SetAddr(node [32]byte, addr common.Address) (*types.Transaction, error) {
  371. return _PublicResolver.Contract.SetAddr(&_PublicResolver.TransactOpts, node, addr)
  372. }
  373. // SetContenthash is a paid mutator transaction binding the contract method 0x304e6ade.
  374. //
  375. // Solidity: function setContenthash(bytes32 node, bytes hash) returns()
  376. func (_PublicResolver *PublicResolverTransactor) SetContenthash(opts *bind.TransactOpts, node [32]byte, hash []byte) (*types.Transaction, error) {
  377. return _PublicResolver.contract.Transact(opts, "setContenthash", node, hash)
  378. }
  379. // SetContenthash is a paid mutator transaction binding the contract method 0x304e6ade.
  380. //
  381. // Solidity: function setContenthash(bytes32 node, bytes hash) returns()
  382. func (_PublicResolver *PublicResolverSession) SetContenthash(node [32]byte, hash []byte) (*types.Transaction, error) {
  383. return _PublicResolver.Contract.SetContenthash(&_PublicResolver.TransactOpts, node, hash)
  384. }
  385. // SetContenthash is a paid mutator transaction binding the contract method 0x304e6ade.
  386. //
  387. // Solidity: function setContenthash(bytes32 node, bytes hash) returns()
  388. func (_PublicResolver *PublicResolverTransactorSession) SetContenthash(node [32]byte, hash []byte) (*types.Transaction, error) {
  389. return _PublicResolver.Contract.SetContenthash(&_PublicResolver.TransactOpts, node, hash)
  390. }
  391. // SetName is a paid mutator transaction binding the contract method 0x77372213.
  392. //
  393. // Solidity: function setName(bytes32 node, string name) returns()
  394. func (_PublicResolver *PublicResolverTransactor) SetName(opts *bind.TransactOpts, node [32]byte, name string) (*types.Transaction, error) {
  395. return _PublicResolver.contract.Transact(opts, "setName", node, name)
  396. }
  397. // SetName is a paid mutator transaction binding the contract method 0x77372213.
  398. //
  399. // Solidity: function setName(bytes32 node, string name) returns()
  400. func (_PublicResolver *PublicResolverSession) SetName(node [32]byte, name string) (*types.Transaction, error) {
  401. return _PublicResolver.Contract.SetName(&_PublicResolver.TransactOpts, node, name)
  402. }
  403. // SetName is a paid mutator transaction binding the contract method 0x77372213.
  404. //
  405. // Solidity: function setName(bytes32 node, string name) returns()
  406. func (_PublicResolver *PublicResolverTransactorSession) SetName(node [32]byte, name string) (*types.Transaction, error) {
  407. return _PublicResolver.Contract.SetName(&_PublicResolver.TransactOpts, node, name)
  408. }
  409. // SetPubkey is a paid mutator transaction binding the contract method 0x29cd62ea.
  410. //
  411. // Solidity: function setPubkey(bytes32 node, bytes32 x, bytes32 y) returns()
  412. func (_PublicResolver *PublicResolverTransactor) SetPubkey(opts *bind.TransactOpts, node [32]byte, x [32]byte, y [32]byte) (*types.Transaction, error) {
  413. return _PublicResolver.contract.Transact(opts, "setPubkey", node, x, y)
  414. }
  415. // SetPubkey is a paid mutator transaction binding the contract method 0x29cd62ea.
  416. //
  417. // Solidity: function setPubkey(bytes32 node, bytes32 x, bytes32 y) returns()
  418. func (_PublicResolver *PublicResolverSession) SetPubkey(node [32]byte, x [32]byte, y [32]byte) (*types.Transaction, error) {
  419. return _PublicResolver.Contract.SetPubkey(&_PublicResolver.TransactOpts, node, x, y)
  420. }
  421. // SetPubkey is a paid mutator transaction binding the contract method 0x29cd62ea.
  422. //
  423. // Solidity: function setPubkey(bytes32 node, bytes32 x, bytes32 y) returns()
  424. func (_PublicResolver *PublicResolverTransactorSession) SetPubkey(node [32]byte, x [32]byte, y [32]byte) (*types.Transaction, error) {
  425. return _PublicResolver.Contract.SetPubkey(&_PublicResolver.TransactOpts, node, x, y)
  426. }
  427. // SetText is a paid mutator transaction binding the contract method 0x10f13a8c.
  428. //
  429. // Solidity: function setText(bytes32 node, string key, string value) returns()
  430. func (_PublicResolver *PublicResolverTransactor) SetText(opts *bind.TransactOpts, node [32]byte, key string, value string) (*types.Transaction, error) {
  431. return _PublicResolver.contract.Transact(opts, "setText", node, key, value)
  432. }
  433. // SetText is a paid mutator transaction binding the contract method 0x10f13a8c.
  434. //
  435. // Solidity: function setText(bytes32 node, string key, string value) returns()
  436. func (_PublicResolver *PublicResolverSession) SetText(node [32]byte, key string, value string) (*types.Transaction, error) {
  437. return _PublicResolver.Contract.SetText(&_PublicResolver.TransactOpts, node, key, value)
  438. }
  439. // SetText is a paid mutator transaction binding the contract method 0x10f13a8c.
  440. //
  441. // Solidity: function setText(bytes32 node, string key, string value) returns()
  442. func (_PublicResolver *PublicResolverTransactorSession) SetText(node [32]byte, key string, value string) (*types.Transaction, error) {
  443. return _PublicResolver.Contract.SetText(&_PublicResolver.TransactOpts, node, key, value)
  444. }
  445. // 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.
  446. type PublicResolverABIChangedIterator struct {
  447. Event *PublicResolverABIChanged // Event containing the contract specifics and raw log
  448. contract *bind.BoundContract // Generic contract to use for unpacking event data
  449. event string // Event name to use for unpacking event data
  450. logs chan types.Log // Log channel receiving the found contract events
  451. sub ethereum.Subscription // Subscription for errors, completion and termination
  452. done bool // Whether the subscription completed delivering logs
  453. fail error // Occurred error to stop iteration
  454. }
  455. // Next advances the iterator to the subsequent event, returning whether there
  456. // are any more events found. In case of a retrieval or parsing error, false is
  457. // returned and Error() can be queried for the exact failure.
  458. func (it *PublicResolverABIChangedIterator) Next() bool {
  459. // If the iterator failed, stop iterating
  460. if it.fail != nil {
  461. return false
  462. }
  463. // If the iterator completed, deliver directly whatever's available
  464. if it.done {
  465. select {
  466. case log := <-it.logs:
  467. it.Event = new(PublicResolverABIChanged)
  468. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  469. it.fail = err
  470. return false
  471. }
  472. it.Event.Raw = log
  473. return true
  474. default:
  475. return false
  476. }
  477. }
  478. // Iterator still in progress, wait for either a data or an error event
  479. select {
  480. case log := <-it.logs:
  481. it.Event = new(PublicResolverABIChanged)
  482. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  483. it.fail = err
  484. return false
  485. }
  486. it.Event.Raw = log
  487. return true
  488. case err := <-it.sub.Err():
  489. it.done = true
  490. it.fail = err
  491. return it.Next()
  492. }
  493. }
  494. // Error returns any retrieval or parsing error occurred during filtering.
  495. func (it *PublicResolverABIChangedIterator) Error() error {
  496. return it.fail
  497. }
  498. // Close terminates the iteration process, releasing any pending underlying
  499. // resources.
  500. func (it *PublicResolverABIChangedIterator) Close() error {
  501. it.sub.Unsubscribe()
  502. return nil
  503. }
  504. // PublicResolverABIChanged represents a ABIChanged event raised by the PublicResolver contract.
  505. type PublicResolverABIChanged struct {
  506. Node [32]byte
  507. ContentType *big.Int
  508. Raw types.Log // Blockchain specific contextual infos
  509. }
  510. // FilterABIChanged is a free log retrieval operation binding the contract event 0xaa121bbeef5f32f5961a2a28966e769023910fc9479059ee3495d4c1a696efe3.
  511. //
  512. // Solidity: event ABIChanged(bytes32 indexed node, uint256 indexed contentType)
  513. func (_PublicResolver *PublicResolverFilterer) FilterABIChanged(opts *bind.FilterOpts, node [][32]byte, contentType []*big.Int) (*PublicResolverABIChangedIterator, error) {
  514. var nodeRule []interface{}
  515. for _, nodeItem := range node {
  516. nodeRule = append(nodeRule, nodeItem)
  517. }
  518. var contentTypeRule []interface{}
  519. for _, contentTypeItem := range contentType {
  520. contentTypeRule = append(contentTypeRule, contentTypeItem)
  521. }
  522. logs, sub, err := _PublicResolver.contract.FilterLogs(opts, "ABIChanged", nodeRule, contentTypeRule)
  523. if err != nil {
  524. return nil, err
  525. }
  526. return &PublicResolverABIChangedIterator{contract: _PublicResolver.contract, event: "ABIChanged", logs: logs, sub: sub}, nil
  527. }
  528. // WatchABIChanged is a free log subscription operation binding the contract event 0xaa121bbeef5f32f5961a2a28966e769023910fc9479059ee3495d4c1a696efe3.
  529. //
  530. // Solidity: event ABIChanged(bytes32 indexed node, uint256 indexed contentType)
  531. func (_PublicResolver *PublicResolverFilterer) WatchABIChanged(opts *bind.WatchOpts, sink chan<- *PublicResolverABIChanged, node [][32]byte, contentType []*big.Int) (event.Subscription, error) {
  532. var nodeRule []interface{}
  533. for _, nodeItem := range node {
  534. nodeRule = append(nodeRule, nodeItem)
  535. }
  536. var contentTypeRule []interface{}
  537. for _, contentTypeItem := range contentType {
  538. contentTypeRule = append(contentTypeRule, contentTypeItem)
  539. }
  540. logs, sub, err := _PublicResolver.contract.WatchLogs(opts, "ABIChanged", nodeRule, contentTypeRule)
  541. if err != nil {
  542. return nil, err
  543. }
  544. return event.NewSubscription(func(quit <-chan struct{}) error {
  545. defer sub.Unsubscribe()
  546. for {
  547. select {
  548. case log := <-logs:
  549. // New log arrived, parse the event and forward to the user
  550. event := new(PublicResolverABIChanged)
  551. if err := _PublicResolver.contract.UnpackLog(event, "ABIChanged", log); err != nil {
  552. return err
  553. }
  554. event.Raw = log
  555. select {
  556. case sink <- event:
  557. case err := <-sub.Err():
  558. return err
  559. case <-quit:
  560. return nil
  561. }
  562. case err := <-sub.Err():
  563. return err
  564. case <-quit:
  565. return nil
  566. }
  567. }
  568. }), nil
  569. }
  570. // 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.
  571. type PublicResolverAddrChangedIterator struct {
  572. Event *PublicResolverAddrChanged // Event containing the contract specifics and raw log
  573. contract *bind.BoundContract // Generic contract to use for unpacking event data
  574. event string // Event name to use for unpacking event data
  575. logs chan types.Log // Log channel receiving the found contract events
  576. sub ethereum.Subscription // Subscription for errors, completion and termination
  577. done bool // Whether the subscription completed delivering logs
  578. fail error // Occurred error to stop iteration
  579. }
  580. // Next advances the iterator to the subsequent event, returning whether there
  581. // are any more events found. In case of a retrieval or parsing error, false is
  582. // returned and Error() can be queried for the exact failure.
  583. func (it *PublicResolverAddrChangedIterator) Next() bool {
  584. // If the iterator failed, stop iterating
  585. if it.fail != nil {
  586. return false
  587. }
  588. // If the iterator completed, deliver directly whatever's available
  589. if it.done {
  590. select {
  591. case log := <-it.logs:
  592. it.Event = new(PublicResolverAddrChanged)
  593. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  594. it.fail = err
  595. return false
  596. }
  597. it.Event.Raw = log
  598. return true
  599. default:
  600. return false
  601. }
  602. }
  603. // Iterator still in progress, wait for either a data or an error event
  604. select {
  605. case log := <-it.logs:
  606. it.Event = new(PublicResolverAddrChanged)
  607. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  608. it.fail = err
  609. return false
  610. }
  611. it.Event.Raw = log
  612. return true
  613. case err := <-it.sub.Err():
  614. it.done = true
  615. it.fail = err
  616. return it.Next()
  617. }
  618. }
  619. // Error returns any retrieval or parsing error occurred during filtering.
  620. func (it *PublicResolverAddrChangedIterator) Error() error {
  621. return it.fail
  622. }
  623. // Close terminates the iteration process, releasing any pending underlying
  624. // resources.
  625. func (it *PublicResolverAddrChangedIterator) Close() error {
  626. it.sub.Unsubscribe()
  627. return nil
  628. }
  629. // PublicResolverAddrChanged represents a AddrChanged event raised by the PublicResolver contract.
  630. type PublicResolverAddrChanged struct {
  631. Node [32]byte
  632. A common.Address
  633. Raw types.Log // Blockchain specific contextual infos
  634. }
  635. // FilterAddrChanged is a free log retrieval operation binding the contract event 0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2.
  636. //
  637. // Solidity: event AddrChanged(bytes32 indexed node, address a)
  638. func (_PublicResolver *PublicResolverFilterer) FilterAddrChanged(opts *bind.FilterOpts, node [][32]byte) (*PublicResolverAddrChangedIterator, error) {
  639. var nodeRule []interface{}
  640. for _, nodeItem := range node {
  641. nodeRule = append(nodeRule, nodeItem)
  642. }
  643. logs, sub, err := _PublicResolver.contract.FilterLogs(opts, "AddrChanged", nodeRule)
  644. if err != nil {
  645. return nil, err
  646. }
  647. return &PublicResolverAddrChangedIterator{contract: _PublicResolver.contract, event: "AddrChanged", logs: logs, sub: sub}, nil
  648. }
  649. // WatchAddrChanged is a free log subscription operation binding the contract event 0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2.
  650. //
  651. // Solidity: event AddrChanged(bytes32 indexed node, address a)
  652. func (_PublicResolver *PublicResolverFilterer) WatchAddrChanged(opts *bind.WatchOpts, sink chan<- *PublicResolverAddrChanged, node [][32]byte) (event.Subscription, error) {
  653. var nodeRule []interface{}
  654. for _, nodeItem := range node {
  655. nodeRule = append(nodeRule, nodeItem)
  656. }
  657. logs, sub, err := _PublicResolver.contract.WatchLogs(opts, "AddrChanged", nodeRule)
  658. if err != nil {
  659. return nil, err
  660. }
  661. return event.NewSubscription(func(quit <-chan struct{}) error {
  662. defer sub.Unsubscribe()
  663. for {
  664. select {
  665. case log := <-logs:
  666. // New log arrived, parse the event and forward to the user
  667. event := new(PublicResolverAddrChanged)
  668. if err := _PublicResolver.contract.UnpackLog(event, "AddrChanged", log); err != nil {
  669. return err
  670. }
  671. event.Raw = log
  672. select {
  673. case sink <- event:
  674. case err := <-sub.Err():
  675. return err
  676. case <-quit:
  677. return nil
  678. }
  679. case err := <-sub.Err():
  680. return err
  681. case <-quit:
  682. return nil
  683. }
  684. }
  685. }), nil
  686. }
  687. // PublicResolverContenthashChangedIterator is returned from FilterContenthashChanged and is used to iterate over the raw logs and unpacked data for ContenthashChanged events raised by the PublicResolver contract.
  688. type PublicResolverContenthashChangedIterator struct {
  689. Event *PublicResolverContenthashChanged // Event containing the contract specifics and raw log
  690. contract *bind.BoundContract // Generic contract to use for unpacking event data
  691. event string // Event name to use for unpacking event data
  692. logs chan types.Log // Log channel receiving the found contract events
  693. sub ethereum.Subscription // Subscription for errors, completion and termination
  694. done bool // Whether the subscription completed delivering logs
  695. fail error // Occurred error to stop iteration
  696. }
  697. // Next advances the iterator to the subsequent event, returning whether there
  698. // are any more events found. In case of a retrieval or parsing error, false is
  699. // returned and Error() can be queried for the exact failure.
  700. func (it *PublicResolverContenthashChangedIterator) Next() bool {
  701. // If the iterator failed, stop iterating
  702. if it.fail != nil {
  703. return false
  704. }
  705. // If the iterator completed, deliver directly whatever's available
  706. if it.done {
  707. select {
  708. case log := <-it.logs:
  709. it.Event = new(PublicResolverContenthashChanged)
  710. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  711. it.fail = err
  712. return false
  713. }
  714. it.Event.Raw = log
  715. return true
  716. default:
  717. return false
  718. }
  719. }
  720. // Iterator still in progress, wait for either a data or an error event
  721. select {
  722. case log := <-it.logs:
  723. it.Event = new(PublicResolverContenthashChanged)
  724. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  725. it.fail = err
  726. return false
  727. }
  728. it.Event.Raw = log
  729. return true
  730. case err := <-it.sub.Err():
  731. it.done = true
  732. it.fail = err
  733. return it.Next()
  734. }
  735. }
  736. // Error returns any retrieval or parsing error occurred during filtering.
  737. func (it *PublicResolverContenthashChangedIterator) Error() error {
  738. return it.fail
  739. }
  740. // Close terminates the iteration process, releasing any pending underlying
  741. // resources.
  742. func (it *PublicResolverContenthashChangedIterator) Close() error {
  743. it.sub.Unsubscribe()
  744. return nil
  745. }
  746. // PublicResolverContenthashChanged represents a ContenthashChanged event raised by the PublicResolver contract.
  747. type PublicResolverContenthashChanged struct {
  748. Node [32]byte
  749. Hash []byte
  750. Raw types.Log // Blockchain specific contextual infos
  751. }
  752. // FilterContenthashChanged is a free log retrieval operation binding the contract event 0xe379c1624ed7e714cc0937528a32359d69d5281337765313dba4e081b72d7578.
  753. //
  754. // Solidity: event ContenthashChanged(bytes32 indexed node, bytes hash)
  755. func (_PublicResolver *PublicResolverFilterer) FilterContenthashChanged(opts *bind.FilterOpts, node [][32]byte) (*PublicResolverContenthashChangedIterator, error) {
  756. var nodeRule []interface{}
  757. for _, nodeItem := range node {
  758. nodeRule = append(nodeRule, nodeItem)
  759. }
  760. logs, sub, err := _PublicResolver.contract.FilterLogs(opts, "ContenthashChanged", nodeRule)
  761. if err != nil {
  762. return nil, err
  763. }
  764. return &PublicResolverContenthashChangedIterator{contract: _PublicResolver.contract, event: "ContenthashChanged", logs: logs, sub: sub}, nil
  765. }
  766. // WatchContenthashChanged is a free log subscription operation binding the contract event 0xe379c1624ed7e714cc0937528a32359d69d5281337765313dba4e081b72d7578.
  767. //
  768. // Solidity: event ContenthashChanged(bytes32 indexed node, bytes hash)
  769. func (_PublicResolver *PublicResolverFilterer) WatchContenthashChanged(opts *bind.WatchOpts, sink chan<- *PublicResolverContenthashChanged, node [][32]byte) (event.Subscription, error) {
  770. var nodeRule []interface{}
  771. for _, nodeItem := range node {
  772. nodeRule = append(nodeRule, nodeItem)
  773. }
  774. logs, sub, err := _PublicResolver.contract.WatchLogs(opts, "ContenthashChanged", nodeRule)
  775. if err != nil {
  776. return nil, err
  777. }
  778. return event.NewSubscription(func(quit <-chan struct{}) error {
  779. defer sub.Unsubscribe()
  780. for {
  781. select {
  782. case log := <-logs:
  783. // New log arrived, parse the event and forward to the user
  784. event := new(PublicResolverContenthashChanged)
  785. if err := _PublicResolver.contract.UnpackLog(event, "ContenthashChanged", log); err != nil {
  786. return err
  787. }
  788. event.Raw = log
  789. select {
  790. case sink <- event:
  791. case err := <-sub.Err():
  792. return err
  793. case <-quit:
  794. return nil
  795. }
  796. case err := <-sub.Err():
  797. return err
  798. case <-quit:
  799. return nil
  800. }
  801. }
  802. }), nil
  803. }
  804. // 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.
  805. type PublicResolverNameChangedIterator struct {
  806. Event *PublicResolverNameChanged // Event containing the contract specifics and raw log
  807. contract *bind.BoundContract // Generic contract to use for unpacking event data
  808. event string // Event name to use for unpacking event data
  809. logs chan types.Log // Log channel receiving the found contract events
  810. sub ethereum.Subscription // Subscription for errors, completion and termination
  811. done bool // Whether the subscription completed delivering logs
  812. fail error // Occurred error to stop iteration
  813. }
  814. // Next advances the iterator to the subsequent event, returning whether there
  815. // are any more events found. In case of a retrieval or parsing error, false is
  816. // returned and Error() can be queried for the exact failure.
  817. func (it *PublicResolverNameChangedIterator) Next() bool {
  818. // If the iterator failed, stop iterating
  819. if it.fail != nil {
  820. return false
  821. }
  822. // If the iterator completed, deliver directly whatever's available
  823. if it.done {
  824. select {
  825. case log := <-it.logs:
  826. it.Event = new(PublicResolverNameChanged)
  827. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  828. it.fail = err
  829. return false
  830. }
  831. it.Event.Raw = log
  832. return true
  833. default:
  834. return false
  835. }
  836. }
  837. // Iterator still in progress, wait for either a data or an error event
  838. select {
  839. case log := <-it.logs:
  840. it.Event = new(PublicResolverNameChanged)
  841. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  842. it.fail = err
  843. return false
  844. }
  845. it.Event.Raw = log
  846. return true
  847. case err := <-it.sub.Err():
  848. it.done = true
  849. it.fail = err
  850. return it.Next()
  851. }
  852. }
  853. // Error returns any retrieval or parsing error occurred during filtering.
  854. func (it *PublicResolverNameChangedIterator) Error() error {
  855. return it.fail
  856. }
  857. // Close terminates the iteration process, releasing any pending underlying
  858. // resources.
  859. func (it *PublicResolverNameChangedIterator) Close() error {
  860. it.sub.Unsubscribe()
  861. return nil
  862. }
  863. // PublicResolverNameChanged represents a NameChanged event raised by the PublicResolver contract.
  864. type PublicResolverNameChanged struct {
  865. Node [32]byte
  866. Name string
  867. Raw types.Log // Blockchain specific contextual infos
  868. }
  869. // FilterNameChanged is a free log retrieval operation binding the contract event 0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7.
  870. //
  871. // Solidity: event NameChanged(bytes32 indexed node, string name)
  872. func (_PublicResolver *PublicResolverFilterer) FilterNameChanged(opts *bind.FilterOpts, node [][32]byte) (*PublicResolverNameChangedIterator, error) {
  873. var nodeRule []interface{}
  874. for _, nodeItem := range node {
  875. nodeRule = append(nodeRule, nodeItem)
  876. }
  877. logs, sub, err := _PublicResolver.contract.FilterLogs(opts, "NameChanged", nodeRule)
  878. if err != nil {
  879. return nil, err
  880. }
  881. return &PublicResolverNameChangedIterator{contract: _PublicResolver.contract, event: "NameChanged", logs: logs, sub: sub}, nil
  882. }
  883. // WatchNameChanged is a free log subscription operation binding the contract event 0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7.
  884. //
  885. // Solidity: event NameChanged(bytes32 indexed node, string name)
  886. func (_PublicResolver *PublicResolverFilterer) WatchNameChanged(opts *bind.WatchOpts, sink chan<- *PublicResolverNameChanged, node [][32]byte) (event.Subscription, error) {
  887. var nodeRule []interface{}
  888. for _, nodeItem := range node {
  889. nodeRule = append(nodeRule, nodeItem)
  890. }
  891. logs, sub, err := _PublicResolver.contract.WatchLogs(opts, "NameChanged", nodeRule)
  892. if err != nil {
  893. return nil, err
  894. }
  895. return event.NewSubscription(func(quit <-chan struct{}) error {
  896. defer sub.Unsubscribe()
  897. for {
  898. select {
  899. case log := <-logs:
  900. // New log arrived, parse the event and forward to the user
  901. event := new(PublicResolverNameChanged)
  902. if err := _PublicResolver.contract.UnpackLog(event, "NameChanged", log); err != nil {
  903. return err
  904. }
  905. event.Raw = log
  906. select {
  907. case sink <- event:
  908. case err := <-sub.Err():
  909. return err
  910. case <-quit:
  911. return nil
  912. }
  913. case err := <-sub.Err():
  914. return err
  915. case <-quit:
  916. return nil
  917. }
  918. }
  919. }), nil
  920. }
  921. // 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.
  922. type PublicResolverPubkeyChangedIterator struct {
  923. Event *PublicResolverPubkeyChanged // Event containing the contract specifics and raw log
  924. contract *bind.BoundContract // Generic contract to use for unpacking event data
  925. event string // Event name to use for unpacking event data
  926. logs chan types.Log // Log channel receiving the found contract events
  927. sub ethereum.Subscription // Subscription for errors, completion and termination
  928. done bool // Whether the subscription completed delivering logs
  929. fail error // Occurred error to stop iteration
  930. }
  931. // Next advances the iterator to the subsequent event, returning whether there
  932. // are any more events found. In case of a retrieval or parsing error, false is
  933. // returned and Error() can be queried for the exact failure.
  934. func (it *PublicResolverPubkeyChangedIterator) Next() bool {
  935. // If the iterator failed, stop iterating
  936. if it.fail != nil {
  937. return false
  938. }
  939. // If the iterator completed, deliver directly whatever's available
  940. if it.done {
  941. select {
  942. case log := <-it.logs:
  943. it.Event = new(PublicResolverPubkeyChanged)
  944. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  945. it.fail = err
  946. return false
  947. }
  948. it.Event.Raw = log
  949. return true
  950. default:
  951. return false
  952. }
  953. }
  954. // Iterator still in progress, wait for either a data or an error event
  955. select {
  956. case log := <-it.logs:
  957. it.Event = new(PublicResolverPubkeyChanged)
  958. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  959. it.fail = err
  960. return false
  961. }
  962. it.Event.Raw = log
  963. return true
  964. case err := <-it.sub.Err():
  965. it.done = true
  966. it.fail = err
  967. return it.Next()
  968. }
  969. }
  970. // Error returns any retrieval or parsing error occurred during filtering.
  971. func (it *PublicResolverPubkeyChangedIterator) Error() error {
  972. return it.fail
  973. }
  974. // Close terminates the iteration process, releasing any pending underlying
  975. // resources.
  976. func (it *PublicResolverPubkeyChangedIterator) Close() error {
  977. it.sub.Unsubscribe()
  978. return nil
  979. }
  980. // PublicResolverPubkeyChanged represents a PubkeyChanged event raised by the PublicResolver contract.
  981. type PublicResolverPubkeyChanged struct {
  982. Node [32]byte
  983. X [32]byte
  984. Y [32]byte
  985. Raw types.Log // Blockchain specific contextual infos
  986. }
  987. // FilterPubkeyChanged is a free log retrieval operation binding the contract event 0x1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e46.
  988. //
  989. // Solidity: event PubkeyChanged(bytes32 indexed node, bytes32 x, bytes32 y)
  990. func (_PublicResolver *PublicResolverFilterer) FilterPubkeyChanged(opts *bind.FilterOpts, node [][32]byte) (*PublicResolverPubkeyChangedIterator, error) {
  991. var nodeRule []interface{}
  992. for _, nodeItem := range node {
  993. nodeRule = append(nodeRule, nodeItem)
  994. }
  995. logs, sub, err := _PublicResolver.contract.FilterLogs(opts, "PubkeyChanged", nodeRule)
  996. if err != nil {
  997. return nil, err
  998. }
  999. return &PublicResolverPubkeyChangedIterator{contract: _PublicResolver.contract, event: "PubkeyChanged", logs: logs, sub: sub}, nil
  1000. }
  1001. // WatchPubkeyChanged is a free log subscription operation binding the contract event 0x1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e46.
  1002. //
  1003. // Solidity: event PubkeyChanged(bytes32 indexed node, bytes32 x, bytes32 y)
  1004. func (_PublicResolver *PublicResolverFilterer) WatchPubkeyChanged(opts *bind.WatchOpts, sink chan<- *PublicResolverPubkeyChanged, node [][32]byte) (event.Subscription, error) {
  1005. var nodeRule []interface{}
  1006. for _, nodeItem := range node {
  1007. nodeRule = append(nodeRule, nodeItem)
  1008. }
  1009. logs, sub, err := _PublicResolver.contract.WatchLogs(opts, "PubkeyChanged", nodeRule)
  1010. if err != nil {
  1011. return nil, err
  1012. }
  1013. return event.NewSubscription(func(quit <-chan struct{}) error {
  1014. defer sub.Unsubscribe()
  1015. for {
  1016. select {
  1017. case log := <-logs:
  1018. // New log arrived, parse the event and forward to the user
  1019. event := new(PublicResolverPubkeyChanged)
  1020. if err := _PublicResolver.contract.UnpackLog(event, "PubkeyChanged", log); err != nil {
  1021. return err
  1022. }
  1023. event.Raw = log
  1024. select {
  1025. case sink <- event:
  1026. case err := <-sub.Err():
  1027. return err
  1028. case <-quit:
  1029. return nil
  1030. }
  1031. case err := <-sub.Err():
  1032. return err
  1033. case <-quit:
  1034. return nil
  1035. }
  1036. }
  1037. }), nil
  1038. }
  1039. // 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.
  1040. type PublicResolverTextChangedIterator struct {
  1041. Event *PublicResolverTextChanged // Event containing the contract specifics and raw log
  1042. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1043. event string // Event name to use for unpacking event data
  1044. logs chan types.Log // Log channel receiving the found contract events
  1045. sub ethereum.Subscription // Subscription for errors, completion and termination
  1046. done bool // Whether the subscription completed delivering logs
  1047. fail error // Occurred error to stop iteration
  1048. }
  1049. // Next advances the iterator to the subsequent event, returning whether there
  1050. // are any more events found. In case of a retrieval or parsing error, false is
  1051. // returned and Error() can be queried for the exact failure.
  1052. func (it *PublicResolverTextChangedIterator) Next() bool {
  1053. // If the iterator failed, stop iterating
  1054. if it.fail != nil {
  1055. return false
  1056. }
  1057. // If the iterator completed, deliver directly whatever's available
  1058. if it.done {
  1059. select {
  1060. case log := <-it.logs:
  1061. it.Event = new(PublicResolverTextChanged)
  1062. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1063. it.fail = err
  1064. return false
  1065. }
  1066. it.Event.Raw = log
  1067. return true
  1068. default:
  1069. return false
  1070. }
  1071. }
  1072. // Iterator still in progress, wait for either a data or an error event
  1073. select {
  1074. case log := <-it.logs:
  1075. it.Event = new(PublicResolverTextChanged)
  1076. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1077. it.fail = err
  1078. return false
  1079. }
  1080. it.Event.Raw = log
  1081. return true
  1082. case err := <-it.sub.Err():
  1083. it.done = true
  1084. it.fail = err
  1085. return it.Next()
  1086. }
  1087. }
  1088. // Error returns any retrieval or parsing error occurred during filtering.
  1089. func (it *PublicResolverTextChangedIterator) Error() error {
  1090. return it.fail
  1091. }
  1092. // Close terminates the iteration process, releasing any pending underlying
  1093. // resources.
  1094. func (it *PublicResolverTextChangedIterator) Close() error {
  1095. it.sub.Unsubscribe()
  1096. return nil
  1097. }
  1098. // PublicResolverTextChanged represents a TextChanged event raised by the PublicResolver contract.
  1099. type PublicResolverTextChanged struct {
  1100. Node [32]byte
  1101. IndexedKey string
  1102. Key string
  1103. Raw types.Log // Blockchain specific contextual infos
  1104. }
  1105. // FilterTextChanged is a free log retrieval operation binding the contract event 0xd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550.
  1106. //
  1107. // Solidity: event TextChanged(bytes32 indexed node, string indexedKey, string key)
  1108. func (_PublicResolver *PublicResolverFilterer) FilterTextChanged(opts *bind.FilterOpts, node [][32]byte) (*PublicResolverTextChangedIterator, error) {
  1109. var nodeRule []interface{}
  1110. for _, nodeItem := range node {
  1111. nodeRule = append(nodeRule, nodeItem)
  1112. }
  1113. logs, sub, err := _PublicResolver.contract.FilterLogs(opts, "TextChanged", nodeRule)
  1114. if err != nil {
  1115. return nil, err
  1116. }
  1117. return &PublicResolverTextChangedIterator{contract: _PublicResolver.contract, event: "TextChanged", logs: logs, sub: sub}, nil
  1118. }
  1119. // WatchTextChanged is a free log subscription operation binding the contract event 0xd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550.
  1120. //
  1121. // Solidity: event TextChanged(bytes32 indexed node, string indexedKey, string key)
  1122. func (_PublicResolver *PublicResolverFilterer) WatchTextChanged(opts *bind.WatchOpts, sink chan<- *PublicResolverTextChanged, node [][32]byte) (event.Subscription, error) {
  1123. var nodeRule []interface{}
  1124. for _, nodeItem := range node {
  1125. nodeRule = append(nodeRule, nodeItem)
  1126. }
  1127. logs, sub, err := _PublicResolver.contract.WatchLogs(opts, "TextChanged", nodeRule)
  1128. if err != nil {
  1129. return nil, err
  1130. }
  1131. return event.NewSubscription(func(quit <-chan struct{}) error {
  1132. defer sub.Unsubscribe()
  1133. for {
  1134. select {
  1135. case log := <-logs:
  1136. // New log arrived, parse the event and forward to the user
  1137. event := new(PublicResolverTextChanged)
  1138. if err := _PublicResolver.contract.UnpackLog(event, "TextChanged", log); err != nil {
  1139. return err
  1140. }
  1141. event.Raw = log
  1142. select {
  1143. case sink <- event:
  1144. case err := <-sub.Err():
  1145. return err
  1146. case <-quit:
  1147. return nil
  1148. }
  1149. case err := <-sub.Err():
  1150. return err
  1151. case <-quit:
  1152. return nil
  1153. }
  1154. }
  1155. }), nil
  1156. }