github.com/yinchengtsinghua/golang-Eos-dpos-Ethereum@v0.0.0-20190121132951-92cc4225ed8e/contracts/ens/contract/fifsregistrar.go (about) 1 2 //此源码被清华学神尹成大魔王专业翻译分析并修改 3 //尹成QQ77025077 4 //尹成微信18510341407 5 //尹成所在QQ群721929980 6 //尹成邮箱 yinc13@mails.tsinghua.edu.cn 7 //尹成毕业于清华大学,微软区块链领域全球最有价值专家 8 //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 9 //代码生成-不要编辑。 10 //此文件是生成的绑定,任何手动更改都将丢失。 11 12 package contract 13 14 import ( 15 "strings" 16 17 "github.com/ethereum/go-ethereum/accounts/abi" 18 "github.com/ethereum/go-ethereum/accounts/abi/bind" 19 "github.com/ethereum/go-ethereum/common" 20 "github.com/ethereum/go-ethereum/core/types" 21 ) 22 23 // 24 const FIFSRegistrarABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"subnode\",\"type\":\"bytes32\"},{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"register\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"ensAddr\",\"type\":\"address\"},{\"name\":\"node\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}]" 25 26 // 27 const FIFSRegistrarBin = `0x6060604052341561000f57600080fd5b604051604080610224833981016040528080519190602001805160008054600160a060020a03909516600160a060020a03199095169490941790935550506001556101c58061005f6000396000f3006060604052600436106100275763ffffffff60e060020a600035041663d22057a9811461002c575b600080fd5b341561003757600080fd5b61004e600435600160a060020a0360243516610050565b005b816000806001548360405191825260208201526040908101905190819003902060008054919350600160a060020a03909116906302571be39084906040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156100c857600080fd5b6102c65a03f115156100d957600080fd5b5050506040518051915050600160a060020a0381161580159061010e575033600160a060020a031681600160a060020a031614155b1561011857600080fd5b600054600154600160a060020a03909116906306ab592390878760405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401600060405180830381600087803b151561017e57600080fd5b6102c65a03f1151561018f57600080fd5b50505050505050505600a165627a7a723058206fb963cb168d5e3a51af12cd6bb23e324dbd32dd4954f43653ba27e66b68ea650029` 28 29 //DeployyFifsRegistrar部署新的以太坊合同,将FifsRegistrar的实例绑定到该合同。 30 func DeployFIFSRegistrar(auth *bind.TransactOpts, backend bind.ContractBackend, ensAddr common.Address, node [32]byte) (common.Address, *types.Transaction, *FIFSRegistrar, error) { 31 parsed, err := abi.JSON(strings.NewReader(FIFSRegistrarABI)) 32 if err != nil { 33 return common.Address{}, nil, nil, err 34 } 35 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(FIFSRegistrarBin), backend, ensAddr, node) 36 if err != nil { 37 return common.Address{}, nil, nil, err 38 } 39 return address, tx, &FIFSRegistrar{FIFSRegistrarCaller: FIFSRegistrarCaller{contract: contract}, FIFSRegistrarTransactor: FIFSRegistrarTransactor{contract: contract}, FIFSRegistrarFilterer: FIFSRegistrarFilterer{contract: contract}}, nil 40 } 41 42 //FIFSREGISTRAR是围绕以太坊合同自动生成的Go绑定。 43 type FIFSRegistrar struct { 44 FIFSRegistrarCaller //对合同具有只读约束力 45 FIFSRegistrarTransactor //只写对合同有约束力 46 FIFSRegistrarFilterer //合同事件的日志筛选程序 47 } 48 49 // 50 type FIFSRegistrarCaller struct { 51 contract *bind.BoundContract //用于低级调用的通用协定包装器 52 } 53 54 // 55 type FIFSRegistrarTransactor struct { 56 contract *bind.BoundContract //用于低级调用的通用协定包装器 57 } 58 59 // 60 type FIFSRegistrarFilterer struct { 61 contract *bind.BoundContract //用于低级调用的通用协定包装器 62 } 63 64 // 65 //具有预设的调用和事务处理选项。 66 type FIFSRegistrarSession struct { 67 Contract *FIFSRegistrar //为其设置会话的通用约定绑定 68 CallOpts bind.CallOpts //在整个会话中使用的调用选项 69 TransactOpts bind.TransactOpts //要在此会话中使用的事务验证选项 70 } 71 72 //FifsRegistrarCallersession是围绕以太坊合约自动生成的只读Go绑定, 73 //带预设通话选项。 74 type FIFSRegistrarCallerSession struct { 75 Contract *FIFSRegistrarCaller //用于设置会话的通用协定调用方绑定 76 CallOpts bind.CallOpts //在整个会话中使用的调用选项 77 } 78 79 // 80 //具有预设的Transact选项。 81 type FIFSRegistrarTransactorSession struct { 82 Contract *FIFSRegistrarTransactor //用于设置会话的通用合同事务处理程序绑定 83 TransactOpts bind.TransactOpts //要在此会话中使用的事务验证选项 84 } 85 86 // 87 type FIFSRegistrarRaw struct { 88 Contract *FIFSRegistrar //用于访问上的原始方法的通用合同绑定 89 } 90 91 // 92 type FIFSRegistrarCallerRaw struct { 93 Contract *FIFSRegistrarCaller //用于访问上的原始方法的通用只读协定绑定 94 } 95 96 // 97 type FIFSRegistrarTransactorRaw struct { 98 Contract *FIFSRegistrarTransactor //用于访问上的原始方法的通用只写协定绑定 99 } 100 101 //NewFIFSRegistrar creates a new instance of FIFSRegistrar, bound to a specific deployed contract. 102 func NewFIFSRegistrar(address common.Address, backend bind.ContractBackend) (*FIFSRegistrar, error) { 103 contract, err := bindFIFSRegistrar(address, backend, backend, backend) 104 if err != nil { 105 return nil, err 106 } 107 return &FIFSRegistrar{FIFSRegistrarCaller: FIFSRegistrarCaller{contract: contract}, FIFSRegistrarTransactor: FIFSRegistrarTransactor{contract: contract}, FIFSRegistrarFilterer: FIFSRegistrarFilterer{contract: contract}}, nil 108 } 109 110 //NewFifsRegistrarCaller创建一个新的FifsRegistrar只读实例,绑定到特定的已部署协定。 111 func NewFIFSRegistrarCaller(address common.Address, caller bind.ContractCaller) (*FIFSRegistrarCaller, error) { 112 contract, err := bindFIFSRegistrar(address, caller, nil, nil) 113 if err != nil { 114 return nil, err 115 } 116 return &FIFSRegistrarCaller{contract: contract}, nil 117 } 118 119 //NewFifsRegistrarTransactior创建一个新的FifsRegistrar的只写实例,绑定到一个特定的已部署协定。 120 func NewFIFSRegistrarTransactor(address common.Address, transactor bind.ContractTransactor) (*FIFSRegistrarTransactor, error) { 121 contract, err := bindFIFSRegistrar(address, nil, transactor, nil) 122 if err != nil { 123 return nil, err 124 } 125 return &FIFSRegistrarTransactor{contract: contract}, nil 126 } 127 128 //NewFifsRegistrarFilter创建一个新的FifsRegistrar日志筛选器实例,绑定到特定的已部署协定。 129 func NewFIFSRegistrarFilterer(address common.Address, filterer bind.ContractFilterer) (*FIFSRegistrarFilterer, error) { 130 contract, err := bindFIFSRegistrar(address, nil, nil, filterer) 131 if err != nil { 132 return nil, err 133 } 134 return &FIFSRegistrarFilterer{contract: contract}, nil 135 } 136 137 //bindFifsRegistrar将通用包装绑定到已部署的协定。 138 func bindFIFSRegistrar(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 139 parsed, err := abi.JSON(strings.NewReader(FIFSRegistrarABI)) 140 if err != nil { 141 return nil, err 142 } 143 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 144 } 145 146 //调用调用(常量)contract方法,参数作为输入值,并且 147 //将输出设置为结果。结果类型可能是用于 148 //返回、匿名返回的接口切片和命名的结构 149 //返回。 150 func (_FIFSRegistrar *FIFSRegistrarRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 151 return _FIFSRegistrar.Contract.FIFSRegistrarCaller.contract.Call(opts, result, method, params...) 152 } 153 154 //转账启动普通交易以将资金转移到合同,调用 155 //它的默认方法(如果有)。 156 func (_FIFSRegistrar *FIFSRegistrarRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 157 return _FIFSRegistrar.Contract.FIFSRegistrarTransactor.contract.Transfer(opts) 158 } 159 160 //Transact使用参数作为输入值调用(付费)Contract方法。 161 func (_FIFSRegistrar *FIFSRegistrarRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 162 return _FIFSRegistrar.Contract.FIFSRegistrarTransactor.contract.Transact(opts, method, params...) 163 } 164 165 //调用调用(常量)contract方法,参数作为输入值,并且 166 //将输出设置为结果。结果类型可能是用于 167 //返回、匿名返回的接口切片和命名的结构 168 //返回。 169 func (_FIFSRegistrar *FIFSRegistrarCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 170 return _FIFSRegistrar.Contract.contract.Call(opts, result, method, params...) 171 } 172 173 //转账启动普通交易以将资金转移到合同,调用 174 //它的默认方法(如果有)。 175 func (_FIFSRegistrar *FIFSRegistrarTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 176 return _FIFSRegistrar.Contract.contract.Transfer(opts) 177 } 178 179 //Transact使用参数作为输入值调用(付费)Contract方法。 180 func (_FIFSRegistrar *FIFSRegistrarTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 181 return _FIFSRegistrar.Contract.contract.Transact(opts, method, params...) 182 } 183 184 //Register is a paid mutator transaction binding the contract method 0xd22057a9. 185 // 186 //solidity:函数寄存器(子节点字节32,所有者地址)返回() 187 func (_FIFSRegistrar *FIFSRegistrarTransactor) Register(opts *bind.TransactOpts, subnode [32]byte, owner common.Address) (*types.Transaction, error) { 188 return _FIFSRegistrar.contract.Transact(opts, "register", subnode, owner) 189 } 190 191 //寄存器是一个受合同方法0xD22057A9约束的付费转换器事务。 192 // 193 //solidity:函数寄存器(子节点字节32,所有者地址)返回() 194 func (_FIFSRegistrar *FIFSRegistrarSession) Register(subnode [32]byte, owner common.Address) (*types.Transaction, error) { 195 return _FIFSRegistrar.Contract.Register(&_FIFSRegistrar.TransactOpts, subnode, owner) 196 } 197 198 //寄存器是一个受合同方法0xD22057A9约束的付费转换器事务。 199 // 200 //solidity:函数寄存器(子节点字节32,所有者地址)返回() 201 func (_FIFSRegistrar *FIFSRegistrarTransactorSession) Register(subnode [32]byte, owner common.Address) (*types.Transaction, error) { 202 return _FIFSRegistrar.Contract.Register(&_FIFSRegistrar.TransactOpts, subnode, owner) 203 }