github.com/linapex/ethereum-dpos-chinese@v0.0.0-20190316121959-b78b3a4a1ece/contracts/ens/contract/publicresolver.go (about) 1 2 //<developer> 3 // <name>linapex 曹一峰</name> 4 // <email>linapex@163.com</email> 5 // <wx>superexc</wx> 6 // <qqgroup>128148617</qqgroup> 7 // <url>https://jsq.ink</url> 8 // <role>pku engineer</role> 9 // <date>2019-03-16 12:09:33</date> 10 //</624342613754908672> 11 12 //代码生成-不要编辑。 13 //此文件是生成的绑定,任何手动更改都将丢失。 14 15 package contract 16 17 import ( 18 "math/big" 19 "strings" 20 21 ethereum "github.com/ethereum/go-ethereum" 22 "github.com/ethereum/go-ethereum/accounts/abi" 23 "github.com/ethereum/go-ethereum/accounts/abi/bind" 24 "github.com/ethereum/go-ethereum/common" 25 "github.com/ethereum/go-ethereum/core/types" 26 "github.com/ethereum/go-ethereum/event" 27 ) 28 29 //publicResolverabi是用于从中生成绑定的输入abi。 30 const PublicResolverABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"key\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setText\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"contentTypes\",\"type\":\"uint256\"}],\"name\":\"ABI\",\"outputs\":[{\"name\":\"contentType\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"x\",\"type\":\"bytes32\"},{\"name\":\"y\",\"type\":\"bytes32\"}],\"name\":\"setPubkey\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"content\",\"outputs\":[{\"name\":\"ret\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"addr\",\"outputs\":[{\"name\":\"ret\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"key\",\"type\":\"string\"}],\"name\":\"text\",\"outputs\":[{\"name\":\"ret\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"contentType\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setABI\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"name\",\"outputs\":[{\"name\":\"ret\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"name\",\"type\":\"string\"}],\"name\":\"setName\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"setContent\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"pubkey\",\"outputs\":[{\"name\":\"x\",\"type\":\"bytes32\"},{\"name\":\"y\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"node\",\"type\":\"bytes32\"},{\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"setAddr\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"ensAddr\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"a\",\"type\":\"address\"}],\"name\":\"AddrChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"ContentChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"name\",\"type\":\"string\"}],\"name\":\"NameChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"contentType\",\"type\":\"uint256\"}],\"name\":\"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\":true,\"name\":\"indexedKey\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"key\",\"type\":\"string\"}],\"name\":\"TextChanged\",\"type\":\"event\"}]" 31 32 //publicResolverbin是用于部署新合同的编译字节码。 33 const PublicResolverBin = `0x6060604052341561000f57600080fd5b6040516020806111b28339810160405280805160008054600160a060020a03909216600160a060020a0319909216919091179055505061115e806100546000396000f3006060604052600436106100ab5763ffffffff60e060020a60003504166301ffc9a781146100b057806310f13a8c146100e45780632203ab561461017e57806329cd62ea146102155780632dff6941146102315780633b3b57de1461025957806359d1d43c1461028b578063623195b014610358578063691f3431146103b457806377372213146103ca578063c3d014d614610420578063c869023314610439578063d5fa2b0014610467575b600080fd5b34156100bb57600080fd5b6100d0600160e060020a031960043516610489565b604051901515815260200160405180910390f35b34156100ef57600080fd5b61017c600480359060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506105f695505050505050565b005b341561018957600080fd5b610197600435602435610807565b60405182815260406020820181815290820183818151815260200191508051906020019080838360005b838110156101d95780820151838201526020016101c1565b50505050905090810190601f1680156102065780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b341561022057600080fd5b61017c600435602435604435610931565b341561023c57600080fd5b610247600435610a30565b60405190815260200160405180910390f35b341561026457600080fd5b61026f600435610a46565b604051600160a060020a03909116815260200160405180910390f35b341561029657600080fd5b6102e1600480359060446024803590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610a6195505050505050565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561031d578082015183820152602001610305565b50505050905090810190601f16801561034a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561036357600080fd5b61017c600480359060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610b8095505050505050565b34156103bf57600080fd5b6102e1600435610c7c565b34156103d557600080fd5b61017c600480359060446024803590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610d4295505050505050565b341561042b57600080fd5b61017c600435602435610e8c565b341561044457600080fd5b61044f600435610f65565b60405191825260208201526040908101905180910390f35b341561047257600080fd5b61017c600435600160a060020a0360243516610f82565b6000600160e060020a031982167f3b3b57de0000000000000000000000000000000000000000000000000000000014806104ec5750600160e060020a031982167fd8389dc500000000000000000000000000000000000000000000000000000000145b806105205750600160e060020a031982167f691f343100000000000000000000000000000000000000000000000000000000145b806105545750600160e060020a031982167f2203ab5600000000000000000000000000000000000000000000000000000000145b806105885750600160e060020a031982167fc869023300000000000000000000000000000000000000000000000000000000145b806105bc5750600160e060020a031982167f59d1d43c00000000000000000000000000000000000000000000000000000000145b806105f05750600160e060020a031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600080548491600160a060020a033381169216906302571be39084906040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561064f57600080fd5b6102c65a03f1151561066057600080fd5b50505060405180519050600160a060020a031614151561067f57600080fd5b6000848152600160205260409081902083916005909101908590518082805190602001908083835b602083106106c65780518252601f1990920191602091820191016106a7565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902090805161070a929160200190611085565b50826040518082805190602001908083835b6020831061073b5780518252601f19909201916020918201910161071c565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051908190039020847fd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a75508560405160208082528190810183818151815260200191508051906020019080838360005b838110156107c75780820151838201526020016107af565b50505050905090810190601f1680156107f45780820380516001836020036101000a031916815260200191505b509250505060405180910390a350505050565b6000610811611103565b60008481526001602081905260409091209092505b838311610924578284161580159061085f5750600083815260068201602052604081205460026000196101006001841615020190911604115b15610919578060060160008481526020019081526020016000208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561090d5780601f106108e25761010080835404028352916020019161090d565b820191906000526020600020905b8154815290600101906020018083116108f057829003601f168201915b50505050509150610929565b600290920291610826565b600092505b509250929050565b600080548491600160a060020a033381169216906302571be39084906040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561098a57600080fd5b6102c65a03f1151561099b57600080fd5b50505060405180519050600160a060020a03161415156109ba57600080fd5b6040805190810160409081528482526020808301859052600087815260019091522060030181518155602082015160019091015550837f1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e46848460405191825260208201526040908101905180910390a250505050565b6000908152600160208190526040909120015490565b600090815260016020526040902054600160a060020a031690565b610a69611103565b60008381526001602052604090819020600501908390518082805190602001908083835b60208310610aac5780518252601f199092019160209182019101610a8d565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b735780601f10610b4857610100808354040283529160200191610b73565b820191906000526020600020905b815481529060010190602001808311610b5657829003601f168201915b5050505050905092915050565b600080548491600160a060020a033381169216906302571be39084906040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610bd957600080fd5b6102c65a03f11515610bea57600080fd5b50505060405180519050600160a060020a0316141515610c0957600080fd5b6000198301831615610c1a57600080fd5b60008481526001602090815260408083208684526006019091529020828051610c47929160200190611085565b5082847faa121bbeef5f32f5961a2a28966e769023910fc9479059ee3495d4c1a696efe360405160405180910390a350505050565b610c84611103565b6001600083600019166000191681526020019081526020016000206002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d365780601f10610d0b57610100808354040283529160200191610d36565b820191906000526020600020905b815481529060010190602001808311610d1957829003601f168201915b50505050509050919050565b600080548391600160a060020a033381169216906302571be39084906040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610d9b57600080fd5b6102c65a03f11515610dac57600080fd5b50505060405180519050600160a060020a0316141515610dcb57600080fd5b6000838152600160205260409020600201828051610ded929160200190611085565b50827fb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f78360405160208082528190810183818151815260200191508051906020019080838360005b83811015610e4d578082015183820152602001610e35565b50505050905090810190601f168015610e7a5780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505050565b600080548391600160a060020a033381169216906302571be39084906040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610ee557600080fd5b6102c65a03f11515610ef657600080fd5b50505060405180519050600160a060020a0316141515610f1557600080fd5b6000838152600160208190526040918290200183905583907f0424b6fe0d9c3bdbece0e7879dc241bb0c22e900be8b6c168b4ee08bd9bf83bc9084905190815260200160405180910390a2505050565b600090815260016020526040902060038101546004909101549091565b600080548391600160a060020a033381169216906302571be39084906040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610fdb57600080fd5b6102c65a03f11515610fec57600080fd5b50505060405180519050600160a060020a031614151561100b57600080fd5b60008381526001602052604090819020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03851617905583907f52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd290849051600160a060020a03909116815260200160405180910390a2505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110c657805160ff19168380011785556110f3565b828001600101855582156110f3579182015b828111156110f35782518255916020019190600101906110d8565b506110ff929150611115565b5090565b60206040519081016040526000815290565b61112f91905b808211156110ff576000815560010161111b565b905600a165627a7a723058201ecacbc445b9fbcd91b0ab164389f69d7283b856883bc7437eeed1008345a4920029` 34 35 //部署公共解析器部署一个新的EUTHUM合同,将公共解析器的实例绑定到它。 36 func DeployPublicResolver(auth *bind.TransactOpts, backend bind.ContractBackend, ensAddr common.Address) (common.Address, *types.Transaction, *PublicResolver, error) { 37 parsed, err := abi.JSON(strings.NewReader(PublicResolverABI)) 38 if err != nil { 39 return common.Address{}, nil, nil, err 40 } 41 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(PublicResolverBin), backend, ensAddr) 42 if err != nil { 43 return common.Address{}, nil, nil, err 44 } 45 return address, tx, &PublicResolver{PublicResolverCaller: PublicResolverCaller{contract: contract}, PublicResolverTransactor: PublicResolverTransactor{contract: contract}, PublicResolverFilterer: PublicResolverFilterer{contract: contract}}, nil 46 } 47 48 //PublicResolver是围绕以太坊契约自动生成的Go绑定。 49 type PublicResolver struct { 50 PublicResolverCaller //对合同具有只读约束力 51 PublicResolverTransactor //只写对合同有约束力 52 PublicResolverFilterer //合同事件的日志筛选程序 53 } 54 55 //PublicResolverCaller is an auto generated read-only Go binding around an Ethereum contract. 56 type PublicResolverCaller struct { 57 contract *bind.BoundContract //用于低级调用的通用协定包装器 58 } 59 60 //PublicResolverTransactior是围绕以太坊契约自动生成的只写Go绑定。 61 type PublicResolverTransactor struct { 62 contract *bind.BoundContract //用于低级调用的通用协定包装器 63 } 64 65 //PublicResolverFilter是围绕以太坊契约事件自动生成的日志筛选Go绑定。 66 type PublicResolverFilterer struct { 67 contract *bind.BoundContract //用于低级调用的通用协定包装器 68 } 69 70 //PublicResolverSession是围绕以太坊合同自动生成的Go绑定, 71 //具有预设的调用和事务处理选项。 72 type PublicResolverSession struct { 73 Contract *PublicResolver //为其设置会话的通用约定绑定 74 CallOpts bind.CallOpts //在整个会话中使用的调用选项 75 TransactOpts bind.TransactOpts //要在此会话中使用的事务验证选项 76 } 77 78 //PublicResolverCallersession是围绕以太坊合约自动生成的只读Go绑定, 79 //带预设通话选项。 80 type PublicResolverCallerSession struct { 81 Contract *PublicResolverCaller //用于设置会话的通用协定调用方绑定 82 CallOpts bind.CallOpts //在整个会话中使用的调用选项 83 } 84 85 //PublicResolverTransactiorSession是围绕以太坊合同自动生成的只写Go绑定, 86 //具有预设的Transact选项。 87 type PublicResolverTransactorSession struct { 88 Contract *PublicResolverTransactor //用于设置会话的通用合同事务处理程序绑定 89 TransactOpts bind.TransactOpts //要在此会话中使用的事务验证选项 90 } 91 92 //PublicResolverRaw是围绕以太坊合同自动生成的低级Go绑定。 93 type PublicResolverRaw struct { 94 Contract *PublicResolver //用于访问上的原始方法的通用合同绑定 95 } 96 97 //PublicResolverCallerraw是围绕以太坊契约自动生成的低级别只读Go绑定。 98 type PublicResolverCallerRaw struct { 99 Contract *PublicResolverCaller //用于访问上的原始方法的通用只读协定绑定 100 } 101 102 // 103 type PublicResolverTransactorRaw struct { 104 Contract *PublicResolverTransactor //用于访问上的原始方法的通用只写协定绑定 105 } 106 107 //NewPublicResolver创建绑定到特定部署协定的PublicResolver的新实例。 108 func NewPublicResolver(address common.Address, backend bind.ContractBackend) (*PublicResolver, error) { 109 contract, err := bindPublicResolver(address, backend, backend, backend) 110 if err != nil { 111 return nil, err 112 } 113 return &PublicResolver{PublicResolverCaller: PublicResolverCaller{contract: contract}, PublicResolverTransactor: PublicResolverTransactor{contract: contract}, PublicResolverFilterer: PublicResolverFilterer{contract: contract}}, nil 114 } 115 116 //NewPublicResolver调用程序创建绑定到特定部署协定的PublicResolver的新只读实例。 117 func NewPublicResolverCaller(address common.Address, caller bind.ContractCaller) (*PublicResolverCaller, error) { 118 contract, err := bindPublicResolver(address, caller, nil, nil) 119 if err != nil { 120 return nil, err 121 } 122 return &PublicResolverCaller{contract: contract}, nil 123 } 124 125 //NewPublicResolverTransactior创建绑定到特定部署协定的PublicResolver的新的只写实例。 126 func NewPublicResolverTransactor(address common.Address, transactor bind.ContractTransactor) (*PublicResolverTransactor, error) { 127 contract, err := bindPublicResolver(address, nil, transactor, nil) 128 if err != nil { 129 return nil, err 130 } 131 return &PublicResolverTransactor{contract: contract}, nil 132 } 133 134 //NewPublicResolverFilter创建PublicResolver的新日志筛选器实例,该实例绑定到特定的已部署协定。 135 func NewPublicResolverFilterer(address common.Address, filterer bind.ContractFilterer) (*PublicResolverFilterer, error) { 136 contract, err := bindPublicResolver(address, nil, nil, filterer) 137 if err != nil { 138 return nil, err 139 } 140 return &PublicResolverFilterer{contract: contract}, nil 141 } 142 143 //BindPublicResolver将通用包装绑定到已部署的协定。 144 func bindPublicResolver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 145 parsed, err := abi.JSON(strings.NewReader(PublicResolverABI)) 146 if err != nil { 147 return nil, err 148 } 149 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 150 } 151 152 //调用调用(常量)contract方法,参数作为输入值,并且 153 //将输出设置为结果。结果类型可能是用于 154 //返回、匿名返回的接口切片和命名的结构 155 //返回。 156 func (_PublicResolver *PublicResolverRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 157 return _PublicResolver.Contract.PublicResolverCaller.contract.Call(opts, result, method, params...) 158 } 159 160 //转账启动普通交易以将资金转移到合同,调用 161 //它的默认方法(如果有)。 162 func (_PublicResolver *PublicResolverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 163 return _PublicResolver.Contract.PublicResolverTransactor.contract.Transfer(opts) 164 } 165 166 //Transact使用参数作为输入值调用(付费)Contract方法。 167 func (_PublicResolver *PublicResolverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 168 return _PublicResolver.Contract.PublicResolverTransactor.contract.Transact(opts, method, params...) 169 } 170 171 //调用调用(常量)contract方法,参数作为输入值,并且 172 //将输出设置为结果。结果类型可能是用于 173 //返回、匿名返回的接口切片和命名的结构 174 // 175 func (_PublicResolver *PublicResolverCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 176 return _PublicResolver.Contract.contract.Call(opts, result, method, params...) 177 } 178 179 //转账启动普通交易以将资金转移到合同,调用 180 //它的默认方法(如果有)。 181 func (_PublicResolver *PublicResolverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 182 return _PublicResolver.Contract.contract.Transfer(opts) 183 } 184 185 //Transact使用参数作为输入值调用(付费)Contract方法。 186 func (_PublicResolver *PublicResolverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 187 return _PublicResolver.Contract.contract.Transact(opts, method, params...) 188 } 189 190 //ABI是一个绑定契约方法0x2203ab56的免费数据检索调用。 191 // 192 //solidity:函数abi(node bytes32,contenttype uint256)常量返回(contenttype uint256,data bytes) 193 func (_PublicResolver *PublicResolverCaller) ABI(opts *bind.CallOpts, node [32]byte, contentTypes *big.Int) (struct { 194 ContentType *big.Int 195 Data []byte 196 }, error) { 197 ret := new(struct { 198 ContentType *big.Int 199 Data []byte 200 }) 201 out := ret 202 err := _PublicResolver.contract.Call(opts, out, "ABI", node, contentTypes) 203 return *ret, err 204 } 205 206 //ABI是一个绑定契约方法0x2203ab56的免费数据检索调用。 207 // 208 //solidity:函数abi(node bytes32,contenttype uint256)常量返回(contenttype uint256,data bytes) 209 func (_PublicResolver *PublicResolverSession) ABI(node [32]byte, contentTypes *big.Int) (struct { 210 ContentType *big.Int 211 Data []byte 212 }, error) { 213 return _PublicResolver.Contract.ABI(&_PublicResolver.CallOpts, node, contentTypes) 214 } 215 216 //ABI是一个绑定契约方法0x2203ab56的免费数据检索调用。 217 // 218 //solidity:函数abi(node bytes32,contenttype uint256)常量返回(contenttype uint256,data bytes) 219 func (_PublicResolver *PublicResolverCallerSession) ABI(node [32]byte, contentTypes *big.Int) (struct { 220 ContentType *big.Int 221 Data []byte 222 }, error) { 223 return _PublicResolver.Contract.ABI(&_PublicResolver.CallOpts, node, contentTypes) 224 } 225 226 //addr是绑定contract方法0x3b3b57de的自由数据检索调用。 227 // 228 //solidity:函数addr(node bytes32)常量返回(ret address) 229 func (_PublicResolver *PublicResolverCaller) Addr(opts *bind.CallOpts, node [32]byte) (common.Address, error) { 230 var ( 231 ret0 = new(common.Address) 232 ) 233 out := ret0 234 err := _PublicResolver.contract.Call(opts, out, "addr", node) 235 return *ret0, err 236 } 237 238 //addr是绑定contract方法0x3b3b57de的自由数据检索调用。 239 // 240 //solidity:函数addr(node bytes32)常量返回(ret address) 241 func (_PublicResolver *PublicResolverSession) Addr(node [32]byte) (common.Address, error) { 242 return _PublicResolver.Contract.Addr(&_PublicResolver.CallOpts, node) 243 } 244 245 //addr是绑定contract方法0x3b3b57de的自由数据检索调用。 246 // 247 //solidity:函数addr(node bytes32)常量返回(ret address) 248 func (_PublicResolver *PublicResolverCallerSession) Addr(node [32]byte) (common.Address, error) { 249 return _PublicResolver.Contract.Addr(&_PublicResolver.CallOpts, node) 250 } 251 252 //content是一个绑定contract方法0x2dff6941的免费数据检索调用。 253 // 254 //solidity:函数内容(节点字节32)常量返回(ret字节32) 255 func (_PublicResolver *PublicResolverCaller) Content(opts *bind.CallOpts, node [32]byte) ([32]byte, error) { 256 var ( 257 ret0 = new([32]byte) 258 ) 259 out := ret0 260 err := _PublicResolver.contract.Call(opts, out, "content", node) 261 return *ret0, err 262 } 263 264 //content是一个绑定contract方法0x2dff6941的免费数据检索调用。 265 // 266 //solidity:函数内容(节点字节32)常量返回(ret字节32) 267 func (_PublicResolver *PublicResolverSession) Content(node [32]byte) ([32]byte, error) { 268 return _PublicResolver.Contract.Content(&_PublicResolver.CallOpts, node) 269 } 270 271 //content是一个绑定contract方法0x2dff6941的免费数据检索调用。 272 // 273 //solidity:函数内容(节点字节32)常量返回(ret字节32) 274 func (_PublicResolver *PublicResolverCallerSession) Content(node [32]byte) ([32]byte, error) { 275 return _PublicResolver.Contract.Content(&_PublicResolver.CallOpts, node) 276 } 277 278 //name是绑定协定方法0x691F3431的免费数据检索调用。 279 // 280 //solidity:函数名(node bytes32)常量返回(ret string) 281 func (_PublicResolver *PublicResolverCaller) Name(opts *bind.CallOpts, node [32]byte) (string, error) { 282 var ( 283 ret0 = new(string) 284 ) 285 out := ret0 286 err := _PublicResolver.contract.Call(opts, out, "name", node) 287 return *ret0, err 288 } 289 290 //name是绑定协定方法0x691F3431的免费数据检索调用。 291 // 292 //solidity:函数名(node bytes32)常量返回(ret string) 293 func (_PublicResolver *PublicResolverSession) Name(node [32]byte) (string, error) { 294 return _PublicResolver.Contract.Name(&_PublicResolver.CallOpts, node) 295 } 296 297 //name是绑定协定方法0x691F3431的免费数据检索调用。 298 // 299 //solidity:函数名(node bytes32)常量返回(ret string) 300 func (_PublicResolver *PublicResolverCallerSession) Name(node [32]byte) (string, error) { 301 return _PublicResolver.Contract.Name(&_PublicResolver.CallOpts, node) 302 } 303 304 //pubkey是绑定契约方法0xC8690233的免费数据检索调用。 305 // 306 //solidity:函数pubkey(node bytes 32)常量返回(x bytes 32,y bytes 32) 307 func (_PublicResolver *PublicResolverCaller) Pubkey(opts *bind.CallOpts, node [32]byte) (struct { 308 X [32]byte 309 Y [32]byte 310 }, error) { 311 ret := new(struct { 312 X [32]byte 313 Y [32]byte 314 }) 315 out := ret 316 err := _PublicResolver.contract.Call(opts, out, "pubkey", node) 317 return *ret, err 318 } 319 320 //pubkey是绑定契约方法0xC8690233的免费数据检索调用。 321 // 322 //solidity:函数pubkey(node bytes 32)常量返回(x bytes 32,y bytes 32) 323 func (_PublicResolver *PublicResolverSession) Pubkey(node [32]byte) (struct { 324 X [32]byte 325 Y [32]byte 326 }, error) { 327 return _PublicResolver.Contract.Pubkey(&_PublicResolver.CallOpts, node) 328 } 329 330 //pubkey是绑定契约方法0xC8690233的免费数据检索调用。 331 // 332 //solidity:函数pubkey(node bytes 32)常量返回(x bytes 32,y bytes 32) 333 func (_PublicResolver *PublicResolverCallerSession) Pubkey(node [32]byte) (struct { 334 X [32]byte 335 Y [32]byte 336 }, error) { 337 return _PublicResolver.Contract.Pubkey(&_PublicResolver.CallOpts, node) 338 } 339 340 //SUPPORTSInterface是一个绑定契约方法0x01FC9A7的免费数据检索调用。 341 // 342 //solidity:函数支持接口(interfaceid bytes 4)常量返回(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是一个绑定契约方法0x01FC9A7的免费数据检索调用。 353 // 354 //solidity:函数支持接口(interfaceid bytes 4)常量返回(bool) 355 func (_PublicResolver *PublicResolverSession) SupportsInterface(interfaceID [4]byte) (bool, error) { 356 return _PublicResolver.Contract.SupportsInterface(&_PublicResolver.CallOpts, interfaceID) 357 } 358 359 //SUPPORTSInterface是一个绑定契约方法0x01FC9A7的免费数据检索调用。 360 // 361 //solidity:函数支持接口(interfaceid bytes 4)常量返回(bool) 362 func (_PublicResolver *PublicResolverCallerSession) SupportsInterface(interfaceID [4]byte) (bool, error) { 363 return _PublicResolver.Contract.SupportsInterface(&_PublicResolver.CallOpts, interfaceID) 364 } 365 366 // 367 // 368 //solidity:函数文本(节点字节32,键字符串)常量返回(ret字符串) 369 func (_PublicResolver *PublicResolverCaller) Text(opts *bind.CallOpts, node [32]byte, 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 //文本是绑定契约方法0x59D1D43C的免费数据检索调用。 379 // 380 //solidity:函数文本(节点字节32,键字符串)常量返回(ret字符串) 381 func (_PublicResolver *PublicResolverSession) Text(node [32]byte, key string) (string, error) { 382 return _PublicResolver.Contract.Text(&_PublicResolver.CallOpts, node, key) 383 } 384 385 //文本是绑定契约方法0x59D1D43C的免费数据检索调用。 386 // 387 //solidity:函数文本(节点字节32,键字符串)常量返回(ret字符串) 388 func (_PublicResolver *PublicResolverCallerSession) Text(node [32]byte, key string) (string, error) { 389 return _PublicResolver.Contract.Text(&_PublicResolver.CallOpts, node, key) 390 } 391 392 //setabi是一个受合同方法0x623195b0约束的付费变元事务。 393 // 394 //solidity:函数setabi(node bytes 32,contenttype uint256,data bytes)返回() 395 func (_PublicResolver *PublicResolverTransactor) SetABI(opts *bind.TransactOpts, node [32]byte, contentType *big.Int, data []byte) (*types.Transaction, error) { 396 return _PublicResolver.contract.Transact(opts, "setABI", node, contentType, data) 397 } 398 399 //setabi是一个受合同方法0x623195b0约束的付费变元事务。 400 // 401 //solidity:函数setabi(node bytes 32,contenttype uint256,data bytes)返回() 402 func (_PublicResolver *PublicResolverSession) SetABI(node [32]byte, contentType *big.Int, data []byte) (*types.Transaction, error) { 403 return _PublicResolver.Contract.SetABI(&_PublicResolver.TransactOpts, node, contentType, data) 404 } 405 406 //setabi是一个受合同方法0x623195b0约束的付费变元事务。 407 // 408 //solidity:函数setabi(node bytes 32,contenttype uint256,data bytes)返回() 409 func (_PublicResolver *PublicResolverTransactorSession) SetABI(node [32]byte, contentType *big.Int, data []byte) (*types.Transaction, error) { 410 return _PublicResolver.Contract.SetABI(&_PublicResolver.TransactOpts, node, contentType, data) 411 } 412 413 //setaddr是一个付费的mutator事务,绑定合同方法0xD5FA2B00。 414 // 415 //solidity:函数setaddr(node bytes32,addr address)返回() 416 func (_PublicResolver *PublicResolverTransactor) SetAddr(opts *bind.TransactOpts, node [32]byte, addr common.Address) (*types.Transaction, error) { 417 return _PublicResolver.contract.Transact(opts, "setAddr", node, addr) 418 } 419 420 //setaddr是一个付费的mutator事务,绑定合同方法0xD5FA2B00。 421 // 422 //solidity:函数setaddr(node bytes32,addr address)返回() 423 func (_PublicResolver *PublicResolverSession) SetAddr(node [32]byte, addr common.Address) (*types.Transaction, error) { 424 return _PublicResolver.Contract.SetAddr(&_PublicResolver.TransactOpts, node, addr) 425 } 426 427 //setaddr是一个付费的mutator事务,绑定合同方法0xD5FA2B00。 428 // 429 //solidity:函数setaddr(node bytes32,addr address)返回() 430 func (_PublicResolver *PublicResolverTransactorSession) SetAddr(node [32]byte, addr common.Address) (*types.Transaction, error) { 431 return _PublicResolver.Contract.SetAddr(&_PublicResolver.TransactOpts, node, addr) 432 } 433 434 //setContent是一个付费的mutator事务,绑定合同方法0xc3d014d6。 435 // 436 // 437 func (_PublicResolver *PublicResolverTransactor) SetContent(opts *bind.TransactOpts, node [32]byte, hash [32]byte) (*types.Transaction, error) { 438 return _PublicResolver.contract.Transact(opts, "setContent", node, hash) 439 } 440 441 //setContent是一个付费的mutator事务,绑定合同方法0xc3d014d6。 442 // 443 //solidity:函数setcontent(node bytes 32,hash bytes 32)返回() 444 func (_PublicResolver *PublicResolverSession) SetContent(node [32]byte, hash [32]byte) (*types.Transaction, error) { 445 return _PublicResolver.Contract.SetContent(&_PublicResolver.TransactOpts, node, hash) 446 } 447 448 //setContent是一个付费的mutator事务,绑定合同方法0xc3d014d6。 449 // 450 //solidity:函数setcontent(node bytes 32,hash bytes 32)返回() 451 func (_PublicResolver *PublicResolverTransactorSession) SetContent(node [32]byte, hash [32]byte) (*types.Transaction, error) { 452 return _PublicResolver.Contract.SetContent(&_PublicResolver.TransactOpts, node, hash) 453 } 454 455 //setname是一个付费的mutator事务,绑定合同方法0x77372213。 456 // 457 //solidity:函数setname(node bytes32,name string)返回() 458 func (_PublicResolver *PublicResolverTransactor) SetName(opts *bind.TransactOpts, node [32]byte, name string) (*types.Transaction, error) { 459 return _PublicResolver.contract.Transact(opts, "setName", node, name) 460 } 461 462 //setname是一个付费的mutator事务,绑定合同方法0x77372213。 463 // 464 //solidity:函数setname(node bytes32,name string)返回() 465 func (_PublicResolver *PublicResolverSession) SetName(node [32]byte, name string) (*types.Transaction, error) { 466 return _PublicResolver.Contract.SetName(&_PublicResolver.TransactOpts, node, name) 467 } 468 469 //setname是一个付费的mutator事务,绑定合同方法0x77372213。 470 // 471 //solidity:函数setname(node bytes32,name string)返回() 472 func (_PublicResolver *PublicResolverTransactorSession) SetName(node [32]byte, name string) (*types.Transaction, error) { 473 return _PublicResolver.Contract.SetName(&_PublicResolver.TransactOpts, node, name) 474 } 475 476 //setpubkey是一个付费的mutator事务,绑定合同方法0x29CD62EA。 477 // 478 //solidity:函数setpubkey(node bytes 32,x bytes 32,y bytes 32)返回() 479 func (_PublicResolver *PublicResolverTransactor) SetPubkey(opts *bind.TransactOpts, node [32]byte, x [32]byte, y [32]byte) (*types.Transaction, error) { 480 return _PublicResolver.contract.Transact(opts, "setPubkey", node, x, y) 481 } 482 483 //setpubkey是一个付费的mutator事务,绑定合同方法0x29CD62EA。 484 // 485 //solidity:函数setpubkey(node bytes 32,x bytes 32,y bytes 32)返回() 486 func (_PublicResolver *PublicResolverSession) SetPubkey(node [32]byte, x [32]byte, y [32]byte) (*types.Transaction, error) { 487 return _PublicResolver.Contract.SetPubkey(&_PublicResolver.TransactOpts, node, x, y) 488 } 489 490 //setpubkey是一个付费的mutator事务,绑定合同方法0x29CD62EA。 491 // 492 //solidity:函数setpubkey(node bytes 32,x bytes 32,y bytes 32)返回() 493 func (_PublicResolver *PublicResolverTransactorSession) SetPubkey(node [32]byte, x [32]byte, y [32]byte) (*types.Transaction, error) { 494 return _PublicResolver.Contract.SetPubkey(&_PublicResolver.TransactOpts, node, x, y) 495 } 496 497 //settext是一个付费的mutator事务,绑定合同方法0x10F13A8C。 498 // 499 //solidity:函数settext(node bytes 32,key string,value string)返回() 500 func (_PublicResolver *PublicResolverTransactor) SetText(opts *bind.TransactOpts, node [32]byte, key string, value string) (*types.Transaction, error) { 501 return _PublicResolver.contract.Transact(opts, "setText", node, key, value) 502 } 503 504 //settext是一个付费的mutator事务,绑定合同方法0x10F13A8C。 505 // 506 //solidity:函数settext(node bytes 32,key string,value string)返回() 507 func (_PublicResolver *PublicResolverSession) SetText(node [32]byte, key string, value string) (*types.Transaction, error) { 508 return _PublicResolver.Contract.SetText(&_PublicResolver.TransactOpts, node, key, value) 509 } 510 511 //settext是一个付费的mutator事务,绑定合同方法0x10F13A8C。 512 // 513 //solidity:函数settext(node bytes 32,key string,value string)返回() 514 func (_PublicResolver *PublicResolverTransactorSession) SetText(node [32]byte, key string, value string) (*types.Transaction, error) { 515 return _PublicResolver.Contract.SetText(&_PublicResolver.TransactOpts, node, key, value) 516 } 517 518 //publicResolvabicChangedEditor从filterabichanged返回,用于对publicResolver协定引发的abichanged事件的原始日志和解包数据进行迭代。 519 type PublicResolverABIChangedIterator struct { 520 Event *PublicResolverABIChanged //包含合同细节和原始日志的事件 521 522 contract *bind.BoundContract //用于解包事件数据的通用合同 523 event string //用于解包事件数据的事件名称 524 525 logs chan types.Log //日志通道接收找到的合同事件 526 sub ethereum.Subscription //错误、完成和终止订阅 527 done bool //订阅是否完成传递日志 528 fail error //停止迭代时出错 529 } 530 531 //next将迭代器前进到后续事件,返回是否存在 532 //是否找到更多事件。在检索或分析错误的情况下,false是 533 //返回错误(),可以查询错误()的确切错误。 534 func (it *PublicResolverABIChangedIterator) Next() bool { 535 //如果迭代器失败,请停止迭代 536 if it.fail != nil { 537 return false 538 } 539 //如果迭代器已完成,则直接传递可用的 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 //迭代器仍在进行中,请等待数据或错误事件 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 //重试时出错。筛选过程中出现任何检索或分析错误。 574 func (it *PublicResolverABIChangedIterator) Error() error { 575 return it.fail 576 } 577 578 //关闭终止迭代过程,释放任何挂起的基础 579 //资源。 580 func (it *PublicResolverABIChangedIterator) Close() error { 581 it.sub.Unsubscribe() 582 return nil 583 } 584 585 //PublicResolverAbiChanged表示PublicResolver协定引发的AbiChanged事件。 586 type PublicResolverABIChanged struct { 587 Node [32]byte 588 ContentType *big.Int 589 Raw types.Log //区块链特定的上下文信息 590 } 591 592 //filterabichanged是绑定合同事件0xaa121bbeef5f32f5961a2896e769023910fc9479059ee3495d4c1a696efe3的自由日志检索操作。 593 // 594 //solidity:事件abichanged(节点索引字节32,内容类型索引uint256) 595 func (_PublicResolver *PublicResolverFilterer) FilterABIChanged(opts *bind.FilterOpts, node [][32]byte, 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是一个绑定合同事件0xaa121bbeef5f32f5961a2896e769023910fc9479059ee3495d4c1a696efe3的自由日志订阅操作。 614 // 615 //solidity:事件abichanged(节点索引字节32,内容类型索引uint256) 616 func (_PublicResolver *PublicResolverFilterer) WatchABIChanged(opts *bind.WatchOpts, sink chan<- *PublicResolverABIChanged, node [][32]byte, 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 //新日志到达,分析事件并转发给用户 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 //publicResolver addrChangediterator从filterAddrChanged返回,用于迭代publicResolver协定引发的addrChanged事件的原始日志和解包数据。 660 type PublicResolverAddrChangedIterator struct { 661 Event *PublicResolverAddrChanged //包含合同细节和原始日志的事件 662 663 contract *bind.BoundContract //用于解包事件数据的通用合同 664 event string //用于解包事件数据的事件名称 665 666 logs chan types.Log //日志通道接收找到的合同事件 667 sub ethereum.Subscription //错误、完成和终止订阅 668 done bool //订阅是否完成传递日志 669 fail error //停止迭代时出错 670 } 671 672 //next将迭代器前进到后续事件,返回是否存在 673 //是否找到更多事件。在检索或分析错误的情况下,false是 674 //返回错误(),可以查询错误()的确切错误。 675 func (it *PublicResolverAddrChangedIterator) Next() bool { 676 //如果迭代器失败,请停止迭代 677 if it.fail != nil { 678 return false 679 } 680 //如果迭代器已完成,则直接传递可用的 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 //迭代器仍在进行中,请等待数据或错误事件 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 //重试时出错。筛选过程中出现任何检索或分析错误。 715 func (it *PublicResolverAddrChangedIterator) Error() error { 716 return it.fail 717 } 718 719 //关闭终止迭代过程,释放任何挂起的基础 720 //资源。 721 func (it *PublicResolverAddrChangedIterator) Close() error { 722 it.sub.Unsubscribe() 723 return nil 724 } 725 726 //PublicResolverAddrChanged表示PublicResolver协定引发的AddrChanged事件。 727 type PublicResolverAddrChanged struct { 728 Node [32]byte 729 A common.Address 730 Raw types.Log //区块链特定的上下文信息 731 } 732 733 //filterAddrChanged是一个绑定合同事件0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2的免费日志检索操作。 734 // 735 // 736 func (_PublicResolver *PublicResolverFilterer) FilterAddrChanged(opts *bind.FilterOpts, node [][32]byte) (*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是绑定合同事件0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2的免费日志订阅操作。 751 // 752 //solidity:事件addrChanged(节点索引字节32,地址) 753 func (_PublicResolver *PublicResolverFilterer) WatchAddrChanged(opts *bind.WatchOpts, sink chan<- *PublicResolverAddrChanged, node [][32]byte) (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 //新日志到达,分析事件并转发给用户 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 // 793 type PublicResolverContentChangedIterator struct { 794 Event *PublicResolverContentChanged //包含合同细节和原始日志的事件 795 796 contract *bind.BoundContract //用于解包事件数据的通用合同 797 event string //用于解包事件数据的事件名称 798 799 logs chan types.Log //日志通道接收找到的合同事件 800 sub ethereum.Subscription //错误、完成和终止订阅 801 done bool //订阅是否完成传递日志 802 fail error //停止迭代时出错 803 } 804 805 //next将迭代器前进到后续事件,返回是否存在 806 //是否找到更多事件。在检索或分析错误的情况下,false是 807 //返回错误(),可以查询错误()的确切错误。 808 func (it *PublicResolverContentChangedIterator) Next() bool { 809 //如果迭代器失败,请停止迭代 810 if it.fail != nil { 811 return false 812 } 813 //如果迭代器已完成,则直接传递可用的 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 //迭代器仍在进行中,请等待数据或错误事件 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 //重试时出错。筛选过程中出现任何检索或分析错误。 848 func (it *PublicResolverContentChangedIterator) Error() error { 849 return it.fail 850 } 851 852 //关闭终止迭代过程,释放任何挂起的基础 853 //资源。 854 func (it *PublicResolverContentChangedIterator) Close() error { 855 it.sub.Unsubscribe() 856 return nil 857 } 858 859 //PublicResolverContentChanged表示PublicResolver协定引发的ContentChanged事件。 860 type PublicResolverContentChanged struct { 861 Node [32]byte 862 Hash [32]byte 863 Raw types.Log //区块链特定的上下文信息 864 } 865 866 //filterContentChanged是绑定合同事件0x0424B6FE0D9c3bBece07799dc241bb0c22e900be8b6c168b4ee08bd9bf83bc的自由日志检索操作。 867 // 868 //solidity:事件内容已更改(节点索引字节32、哈希字节32) 869 func (_PublicResolver *PublicResolverFilterer) FilterContentChanged(opts *bind.FilterOpts, node [][32]byte) (*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是绑定合同事件0x0424B6FE0D9c3bBece07799dc241bb0c22e900be8b6c168b4ee08bd9bf83bc的自由日志订阅操作。 884 // 885 //solidity:事件内容已更改(节点索引字节32、哈希字节32) 886 func (_PublicResolver *PublicResolverFilterer) WatchContentChanged(opts *bind.WatchOpts, sink chan<- *PublicResolverContentChanged, node [][32]byte) (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 //新日志到达,分析事件并转发给用户 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 //publicResolverNameChangedEditor从filterNameChanged返回,用于迭代publicResolver协定引发的名称更改事件的原始日志和解包数据。 926 type PublicResolverNameChangedIterator struct { 927 Event *PublicResolverNameChanged //包含合同细节和原始日志的事件 928 929 contract *bind.BoundContract //用于解包事件数据的通用合同 930 event string //用于解包事件数据的事件名称 931 932 logs chan types.Log //日志通道接收找到的合同事件 933 sub ethereum.Subscription //错误、完成和终止订阅 934 done bool //订阅是否完成传递日志 935 fail error //停止迭代时出错 936 } 937 938 //next将迭代器前进到后续事件,返回是否存在 939 //是否找到更多事件。在检索或分析错误的情况下,false是 940 //返回错误(),可以查询错误()的确切错误。 941 func (it *PublicResolverNameChangedIterator) Next() bool { 942 //如果迭代器失败,请停止迭代 943 if it.fail != nil { 944 return false 945 } 946 //如果迭代器已完成,则直接传递可用的 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 //迭代器仍在进行中,请等待数据或错误事件 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 //重试时出错。筛选过程中出现任何检索或分析错误。 981 func (it *PublicResolverNameChangedIterator) Error() error { 982 return it.fail 983 } 984 985 //关闭终止迭代过程,释放任何挂起的基础 986 //资源。 987 func (it *PublicResolverNameChangedIterator) Close() error { 988 it.sub.Unsubscribe() 989 return nil 990 } 991 992 //PublicResolverNameChanged表示PublicResolver协定引发的NameChanged事件。 993 type PublicResolverNameChanged struct { 994 Node [32]byte 995 Name string 996 Raw types.Log //区块链特定的上下文信息 997 } 998 999 //filternamechanged是绑定合同事件0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e724c4c348f7的自由日志检索操作。 1000 // 1001 //solidity:事件名称已更改(节点索引字节32,名称字符串) 1002 func (_PublicResolver *PublicResolverFilterer) FilterNameChanged(opts *bind.FilterOpts, node [][32]byte) (*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是绑定合同事件0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e724c4c348f7的免费日志订阅操作。 1017 // 1018 //solidity:事件名称已更改(节点索引字节32,名称字符串) 1019 func (_PublicResolver *PublicResolverFilterer) WatchNameChanged(opts *bind.WatchOpts, sink chan<- *PublicResolverNameChanged, node [][32]byte) (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 //新日志到达,分析事件并转发给用户 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 //PublicResolverPubKeyChangedEditor从filterPubKeyChanged返回,用于迭代PublicResolver协定引发的PubKeyChanged事件的原始日志和解包数据。 1059 type PublicResolverPubkeyChangedIterator struct { 1060 Event *PublicResolverPubkeyChanged //包含合同细节和原始日志的事件 1061 1062 contract *bind.BoundContract //用于解包事件数据的通用合同 1063 event string //用于解包事件数据的事件名称 1064 1065 logs chan types.Log //日志通道接收找到的合同事件 1066 sub ethereum.Subscription //错误、完成和终止订阅 1067 done bool //订阅是否完成传递日志 1068 fail error //停止迭代时出错 1069 } 1070 1071 //next将迭代器前进到后续事件,返回是否存在 1072 //是否找到更多事件。在检索或分析错误的情况下,false是 1073 //返回错误(),可以查询错误()的确切错误。 1074 func (it *PublicResolverPubkeyChangedIterator) Next() bool { 1075 //如果迭代器失败,请停止迭代 1076 if it.fail != nil { 1077 return false 1078 } 1079 //如果迭代器已完成,则直接传递可用的 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 //迭代器仍在进行中,请等待数据或错误事件 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 //重试时出错。筛选过程中出现任何检索或分析错误。 1114 func (it *PublicResolverPubkeyChangedIterator) Error() error { 1115 return it.fail 1116 } 1117 1118 //关闭终止迭代过程,释放任何挂起的基础 1119 //资源。 1120 func (it *PublicResolverPubkeyChangedIterator) Close() error { 1121 it.sub.Unsubscribe() 1122 return nil 1123 } 1124 1125 //PublicResolverPubKeyChanged表示PublicResolver协定引发的PubKeyChanged事件。 1126 type PublicResolverPubkeyChanged struct { 1127 Node [32]byte 1128 X [32]byte 1129 Y [32]byte 1130 Raw types.Log //区块链特定的上下文信息 1131 } 1132 1133 //filterPubKeyChanged是一个自由的日志检索操作,绑定合同事件0x1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e46。 1134 // 1135 //Solidity:事件PubKeyChanged(节点索引字节32、X字节32、Y字节32) 1136 func (_PublicResolver *PublicResolverFilterer) FilterPubkeyChanged(opts *bind.FilterOpts, node [][32]byte) (*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 // 1151 // 1152 //Solidity:事件PubKeyChanged(节点索引字节32、X字节32、Y字节32) 1153 func (_PublicResolver *PublicResolverFilterer) WatchPubkeyChanged(opts *bind.WatchOpts, sink chan<- *PublicResolverPubkeyChanged, node [][32]byte) (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 //新日志到达,分析事件并转发给用户 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 //publicResolverTextChangedEditor从filterTextChanged返回,用于为publicResolver协定引发的textChanged事件迭代原始日志和解包数据。 1193 type PublicResolverTextChangedIterator struct { 1194 Event *PublicResolverTextChanged //包含合同细节和原始日志的事件 1195 1196 contract *bind.BoundContract //用于解包事件数据的通用合同 1197 event string //用于解包事件数据的事件名称 1198 1199 logs chan types.Log //日志通道接收找到的合同事件 1200 sub ethereum.Subscription //错误、完成和终止订阅 1201 done bool //订阅是否完成传递日志 1202 fail error //停止迭代时出错 1203 } 1204 1205 //next将迭代器前进到后续事件,返回是否存在 1206 //是否找到更多事件。在检索或分析错误的情况下,false是 1207 //返回错误(),可以查询错误()的确切错误。 1208 func (it *PublicResolverTextChangedIterator) Next() bool { 1209 //如果迭代器失败,请停止迭代 1210 if it.fail != nil { 1211 return false 1212 } 1213 //如果迭代器已完成,则直接传递可用的 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 //迭代器仍在进行中,请等待数据或错误事件 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 //重试时出错。筛选过程中出现任何检索或分析错误。 1248 func (it *PublicResolverTextChangedIterator) Error() error { 1249 return it.fail 1250 } 1251 1252 //关闭终止迭代过程,释放任何挂起的基础 1253 //资源。 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 [32]byte 1262 IndexedKey common.Hash 1263 Key string 1264 Raw types.Log //区块链特定的上下文信息 1265 } 1266 1267 //filtertextchanged是绑定合同事件0xD8C9334B1A9C2F9DA342A2A232629C1A229B6445DAD78947F674B44444A7550的自由日志检索操作。 1268 // 1269 //solidity:事件文本已更改(节点索引字节32、索引键索引字符串、键字符串) 1270 func (_PublicResolver *PublicResolverFilterer) FilterTextChanged(opts *bind.FilterOpts, node [][32]byte, 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是一个绑定合同事件0xD8C9334B1A9C2F9DA342A2A232629C1A229B6445DAD78947F674B44444A7550的免费日志订阅操作。 1289 // 1290 //solidity:事件文本已更改(节点索引字节32、索引键索引字符串、键字符串) 1291 func (_PublicResolver *PublicResolverFilterer) WatchTextChanged(opts *bind.WatchOpts, sink chan<- *PublicResolverTextChanged, node [][32]byte, 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 //新日志到达,分析事件并转发给用户 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 } 1333