question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

ENS Permanent Registrar Support

See original GitHub issue

The new ENS Permanent Registrar is coming out soon, and it would be nice to have a set of convenient utility classes that allow for easy interaction with the updated contracts.

Web3swift already has Util classes for the registry and resolver, but is missing the registrar. Once this is completed, we could add web3swift to the list of supported ENS libraries.

Overview

Summary from the ENS docs:

The Permanent Registrar is the code that will govern allocation and renewal of names in the .eth TLD. Presently this is governed by the legacy auction registrar, which uses a Vickery Auction process to allocate names to registrants. The new registrar aims to simplify this process, while providing a stable platform for future improvements that will minimise API changes.

In addition, the registrar is an ERC721 compliant nonfungable token contract, meaning that .eth registrations can be transferred in the same fashion as other NFTs.

The target deployment date for the permanent registrar is the 4th of May, 2019.

Functional Spec

Ideally, the utility classes would support the basic functions defined in the BaseRegistrar and ETHRegistrarController. This includes the following functionality:

BaseRegistrar:

Read functions

  • Get Name Expiry
    • Returns the unix timestamp at which a registration currently expires.
  • Get Name Owner
    • ownerOf returns the address that owns the registration identified by the label hash, or reverts if the registration does not exist. This function is part of ERC721.

Write functions

  • Transfer a Name
    • Used to transfer the registration. Behaves as specified in ERC721.
  • Reclaim ENS Record
    • Sets the owner record of the name in the ENS registry to match the owner of the registration in this registry. May only be called by the owner of the registration.

ETHRegistrarController:

Read functions

  • Check Name Availability
    • Returns true iff the name is both valid and available for registration by this controller.
  • Get Rent Price
    • Returns the cost, in wei, to register or renew the provided name for the provided duration.
  • Calculate Commitment Hash
    • Generates and returns a commitment hash from a name label (eg, ‘myname’, not ‘myname.eth’) owner, and secret value.

Write functions

  • Submit Commitment
    • Submits a precommitment generated by calling makeCommitment.
  • Register Name
  • Extend Name Registration
    • Renews a name. This function can be called by anyone, as long as sufficient funds are provided.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:9 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
BaldyAshcommented, Apr 19, 2019

@barrasso hi. Think its done. I’ve completely changed ENS classes, you can look at them here and tests for them here. Also I’ve added usage. Unfortunately I can’t find the BaseRegistrar and RegistrarController contracts for tests, but think there won’t occur any problems with them

0reactions
gitcoinbotcommented, Apr 21, 2019

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This Bounty has been completed.

Additional Tips for this Bounty:

  • barrasso tipped 2.5000 ETH worth 418.29 USD to baldyash.

Read more comments on GitHub >

github_iconTop Results From Across the Web

.eth Permanent Registrar - ENS Documentation
.eth Permanent Registrar. The Permanent Registrar is the code that will govern allocation and renewal of names in the .eth TLD.
Read more >
Registrar Frequently Asked Questions - ENS Documentation
How long does it take to register a name using the .eth registrar? ... in the original interim registrar, renewal fees in the...
Read more >
Registrar - ENS Documentation
eth Permanent Registrar, described here. While buying a name from the registrar grants ownership of it in ENS, the registrar itself keeps independent...
Read more >
Frequently Asked Questions - ENS Documentation
Yes. You can create whatever subdomains you wish and assign ownership of them to other people if you desire. You can even set...
Read more >
Registering & Renewing Names - ENS Documentation
The registrar a user needs to interact with depends on the domain they want to ... .eth: The Permanent Registrar. .test (testnets only):...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found