one-wallet icon indicating copy to clipboard operation
one-wallet copied to clipboard

Improved domain name resolution, domain lookup page, and domain transfer page

Open polymorpher opened this issue 4 years ago • 2 comments

Currently, domain resolution is automatically performed in address input box:

https://github.com/polymorpher/one-wallet/blob/master/code/client/src/components/AddressInput.jsx

However, a lot of people are unaware of that. A placeholder, or some hint texts around the input box should be added to inform people that domains can be used.

When domains are typed in, the resolution is not intelligent. If the input domain has no ., it should automatically attempt to resolve the domain with .crazy.one suffix. If full domains are being entered, it should append just sufficient amount of suffix intelligently.

It should also auto-complete on known domains in the address book.

There should also be a dedicated page where people can type in an address and find out whether it resolves to a wallet address (hex or one1), and whether the address corresponds to a 1wallet. Similarly, if an address is provided, it should be resolved to a domain.

Domain transfer functionalities were already implemented, but not displayed in UI at the moment. Some testing, bug fixes and visual realignment might be required: https://github.com/polymorpher/one-wallet/blob/master/code/client/src/pages/Show/TransferDomain.jsx

When users purchase new domains, sometimes they use a . in the domain name, thinking that they can use multiple layers of subdomains. This is technically supported on-chain but it messes up the namehash algorithm, therefore it doesn't really work unless we only resolve for crazy.one domains. Therefore, we should add an input filter and validate/transform the domain name before allowing the user to purchase it. See also https://github.com/polymorpher/one-wallet/issues/169

Lastly, we should add a tool that allow people with existing ownership of a [subdomain].crazy.one domain under their MetaMask wallet to transfer the ownership from their MetaMask wallet to their 1wallet. See also https://github.com/polymorpher/one-wallet/issues/126 and https://github.com/polymorpher/one-wallet/issues/156

polymorpher avatar Nov 25 '21 11:11 polymorpher

@polymorpher Some Questions,

  1. About purchase new domains, any other domains supported other than crazy.one?
  2. Transfer Ownership: Not sure how this is done, crazy.one website doesn't have the feature yet (or not accesible by end user). If we want to do it in 1wallet, that's mean we need to integrate with metamask, and calling the crazyone contract from metamask?

cylim avatar Dec 23 '21 10:12 cylim

We already implemented ownership transfer on both the wallet contract and the frontend. See doTransferDomain in TransferDomain.jsx. Purchasing arbitrary domain is also supported on wallet contract and core apis, but the frontend implementation is already done (using constant variables specific for crazy.one for now)

polymorpher avatar Dec 23 '21 12:12 polymorpher