Workers Auto Approve
ENS Permanent Registrar Support
Swift, iOS, web3swift, ENS
The new [ENS Permanent Registrar](https://docs.ens.domains/contract-api-reference/.eth-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](https://github.com/ensdomains/ethregistrar/tree/master/contracts).
Web3swift already has Util classes for the [registry](https://github.com/matter-labs/web3swift/blob/develop/web3swift/Utils/Classes/ENS.swift) and [resolver](https://github.com/matter-labs/web3swift/blob/develop/web3swift/Utils/Classes/ENSResolver.swift), but is missing the registrar. Once this is completed, we could add web3swift to the list of [supported ENS libraries](https://docs.ens.domains/dapp-developer-guide/ens-libraries).
Summary from the [ENS docs](https://docs.ens.domains):
> 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](https://docs.ens.domains/contract-api-reference/.eth-permanent-registrar/registrar) and [ETHRegistrarController](https://docs.ens.domains/contract-api-reference/.eth-permanent-registrar/controller). This includes the following functionality:
- [x] Get Name Expiry
- Returns the unix timestamp at which a registration currently expires.
- [x] 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.
- [x] Transfer a Name
- Used to transfer the registration. Behaves as specified in ERC721.
- [x] 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.
- [x] Check Name Availability
- Returns true iff the name is both valid and available for registration by this controller.
- [x] Get Rent Price
- Returns the cost, in wei, to register or renew the provided name for the provided duration.
- [x] Calculate Commitment Hash
- Generates and returns a commitment hash from a name label (eg, 'myname', not 'myname.eth') owner, and secret value.
- [x] Submit Commitment
- Submits a precommitment generated by calling makeCommitment.
- [x] Register Name
- Registers a name based on [this criteria](https://docs.ens.domains/contract-api-reference/.eth-permanent-registrar/controller#register-name)
- [x] Extend Name Registration
- Renews a name. This function can be called by anyone, as long as sufficient funds are provided.
Setup your profile
Tell us a little about you:
No results found for
Type to search skills..
Required [[totalcharacter]] / 240
Are you currently looking for work?
[[ option.string ]]
Setup your profile
Our tools are based on the principles of earn (💰), learn (📖), and meet (💬).
Select the ones you are interested in. You can change it later in your settings.
I'm also an organization manager looking for a great community.
Enable your organization profile
Gitcoin products can help grow community around your brand. Create your tribe, events, and incentivize your community with bounties. Announce new and upcoming events using townsquare. Find top-quality hackers and fund them to work with you on a grant.
These are the organizations you own. If you don't see your organization here please be sure that information is public on your GitHub profile. Gitcoin will sync this information for you.
Select the products you are interested in:
Out of the box you will receive Tribes Lite for your organization. Please provide us with a contact email: