diff options
Diffstat (limited to 'contracts/ens/ens.go')
-rw-r--r-- | contracts/ens/ens.go | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/contracts/ens/ens.go b/contracts/ens/ens.go index 60c3c83ab..06045a5cd 100644 --- a/contracts/ens/ens.go +++ b/contracts/ens/ens.go @@ -16,7 +16,9 @@ package ens -//go:generate abigen --sol contract/ens.sol --pkg contract --out contract/ens.go +//go:generate abigen --sol contract/ENS.sol --exc contract/AbstractENS.sol:AbstractENS --pkg contract --out contract/ens.go +//go:generate abigen --sol contract/FIFSRegistrar.sol --exc contract/AbstractENS.sol:AbstractENS --pkg contract --out contract/fifsregistrar.go +//go:generate abigen --sol contract/PublicResolver.sol --exc contract/AbstractENS.sol:AbstractENS --pkg contract --out contract/publicresolver.go import ( "strings" @@ -57,31 +59,29 @@ func NewENS(transactOpts *bind.TransactOpts, contractAddr common.Address, contra } // DeployENS deploys an instance of the ENS nameservice, with a 'first-in, first-served' root registrar. -func DeployENS(transactOpts *bind.TransactOpts, contractBackend bind.ContractBackend) (*ENS, error) { - // Deploy the ENS registry - ensAddr, _, _, err := contract.DeployENS(transactOpts, contractBackend, transactOpts.From) +func DeployENS(transactOpts *bind.TransactOpts, contractBackend bind.ContractBackend) (common.Address, *ENS, error) { + // Deploy the ENS registry. + ensAddr, _, _, err := contract.DeployENS(transactOpts, contractBackend) if err != nil { - return nil, err + return ensAddr, nil, err } ens, err := NewENS(transactOpts, ensAddr, contractBackend) if err != nil { - return nil, err + return ensAddr, nil, err } - // Deploy the registrar + // Deploy the registrar. regAddr, _, _, err := contract.DeployFIFSRegistrar(transactOpts, contractBackend, ensAddr, [32]byte{}) if err != nil { - return nil, err + return ensAddr, nil, err } - - // Set the registrar as owner of the ENS root - _, err = ens.SetOwner([32]byte{}, regAddr) - if err != nil { - return nil, err + // Set the registrar as owner of the ENS root. + if _, err = ens.SetOwner([32]byte{}, regAddr); err != nil { + return ensAddr, nil, err } - return ens, nil + return ensAddr, ens, nil } func ensParentNode(name string) (common.Hash, common.Hash) { @@ -155,15 +155,11 @@ func (self *ENS) Resolve(name string) (common.Hash, error) { // Only works if the registrar for the parent domain implements the FIFS registrar protocol. func (self *ENS) Register(name string) (*types.Transaction, error) { parentNode, label := ensParentNode(name) - registrar, err := self.getRegistrar(parentNode) if err != nil { return nil, err } - - opts := self.TransactOpts - opts.GasLimit = 200000 - return registrar.Contract.Register(&opts, label, self.TransactOpts.From) + return registrar.Contract.Register(&self.TransactOpts, label, self.TransactOpts.From) } // SetContentHash sets the content hash associated with a name. Only works if the caller |