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