Coder Social home page Coder Social logo

ethregistrar's Introduction

ethregistrar's People

Contributors

arachnid avatar cleanunicorn avatar decanus avatar makoto avatar ricmoo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ethregistrar's Issues

It's an error ERC721 ID

ENS

bytes4 constant private ERC721_ID = bytes4(
keccak256("balanceOf(uint256)") ^
keccak256("ownerOf(uint256)") ^
keccak256("approve(address,uint256)") ^
keccak256("getApproved(uint256)") ^
keccak256("setApprovalForAll(address,bool)") ^
keccak256("isApprovedForAll(address,address)") ^
keccak256("transferFrom(address,address,uint256)") ^
keccak256("safeTransferFrom(address,address,uint256)") ^
keccak256("safeTransferFrom(address,address,uint256,bytes)")
);

EIP 721

https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md#specification

///  Note: the ERC-165 identifier for this interface is 0x80ac58cd.
interface ERC721 /* is ERC165 */ {
    /*
     *     bytes4(keccak256('balanceOf(address)')) == 0x70a08231
     *     bytes4(keccak256('ownerOf(uint256)')) == 0x6352211e
     *     bytes4(keccak256('approve(address,uint256)')) == 0x095ea7b3
     *     bytes4(keccak256('getApproved(uint256)')) == 0x081812fc
     *     bytes4(keccak256('setApprovalForAll(address,bool)')) == 0xa22cb465
     *     bytes4(keccak256('isApprovedForAll(address,address)')) == 0xe985e9c
     *     bytes4(keccak256('transferFrom(address,address,uint256)')) == 0x23b872dd
     *     bytes4(keccak256('safeTransferFrom(address,address,uint256)')) == 0x42842e0e
     *     bytes4(keccak256('safeTransferFrom(address,address,uint256,bytes)')) == 0xb88d4fde
     *
     *     => 0x70a08231 ^ 0x6352211e ^ 0x095ea7b3 ^ 0x081812fc ^
     *        0xa22cb465 ^ 0xe985e9c ^ 0x23b872dd ^ 0x42842e0e ^ 0xb88d4fde == 0x80ac58cd
     */

Register Domain w/ QR Code

UI/UX Feature Request:

Provide users w/ the option to display, and then scan a QR code after clicking "register". Encoding for the entire tx is setup in the QR code. Mobile wallets can scan from a desktop/laptop screen.

Why? Many users cannot click "register" on desktop because they do NOT have web3/Metamask browser extension installed (like myself). Registration is also not working on Android mobile Cipher, Coinbase Wallet, and Status. (see issue #35). This would solve both problems while improving the UI/UX.

Error Registering pitterpatter.eth

Hello! I'm unsure if this is the right place to report a bug, but I encountered a contract error when trying to register pitterpatter.eth:

https://etherscan.io/tx/0x23fd56096136bdab52e42a879fb962b666894f1a7ede783486a26463ad2b24cb

and a second attempt:

https://etherscan.io/tx/0x4daa7e90934aaf3f51276462e97ff81f3dbe002788944f21b883df5a662aaa6e

If this were my own contract I'd try throwing it and remix and attempting to reproduce the error but can't do that here

I'm happy to provide more details if helpful!

Is it possible to find out registration date from registrar?

As far as I understand the code correctly, the registrar has available and nameExpires but there is no registration date. The closest is commitments[commitment] on controller but that requires name and salt. Can we store registration date as well, or do we always need to derive from events?

screenshot 2019-02-26 at 12 47 54

Can I derive controller contract address from the base registrar?

It looks like baseRegistrar does not know anything about controllers it's been added (it only store the collection of controllers). When using ens-app, would it be possible to derive which controller it's been used for registering .eth address, or should we be hard code controller addresses of each network deployed?

Consider stopping using `transfer` in ETHRegistrarController

Due to the EIP1884 repricing, it's been suggested to stop using Solidity's transfer in smart contracts, since the 2300 gas allowance may no longer be enough for many smart contracts to handle incoming payments.

In particular, one of our community members stumbled upon this in ETHRegistrarController after not being able to call registerWithConfig from an upgradeable contract, since these can no longer receive transfers after Istanbul.

If it helps, we have added a sendValue helper in the latest version of OpenZeppelin Contracts to replace regular transfer calls, so the change should be easy to implement. What I'm not sure about is whether it's viable to modify the registrar controller contract at this point.

JSON artifacts are not included into the npm module

To enable, pleased do the following

  • Please add node_module into .npmignore file like this
  • Please add prepublishOnly job like this
  • Test installing the package and make sure that CONTRACT.json files are generated under node_modules/@ensdomains/ethregistrar/build/contracts

Do we need `supportsInterface` equivalent?

We currently most registrars use same registrar per domain (eg: TestRegistrar for .test, ReverseRegistrar for .reverse, and HashRegistrar for .eth). As we migrate, we are going to have multiple registrars (HashRegistrar, EthRegistrar, and upcoming Short name auction reregistrar).

Would it make sense to have supportsInterface equivalent of resolver so that interacting dapp can easily identify which registrar one is interacting with?

Registration Failure

Cannot register .eth domain w/ Android Cipher, Status, Coinbase Wallet. Support tix sent to wallet providers.

When clicking "Register", ZERO tx amount w/ correct gas is calculated. (see screenshots). Have you tried this?

Screenshot_20190514-131036_Wallet
Screenshot_20190514-131045_Wallet

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.