This repo is now consolidated into https://github.com/ensdomains/ens-contracts
ensdomains / ethregistrar Goto Github PK
View Code? Open in Web Editor NEWLicense: BSD 2-Clause "Simplified" License
License: BSD 2-Clause "Simplified" License
This repo is now consolidated into https://github.com/ensdomains/ens-contracts
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?
Where is the API call to register domains?
ethregistrar/contracts/BaseRegistrarImplementation.sol
Lines 15 to 25 in 2790a7a
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
*/
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 transfer
s 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.
make sure it is under the @ensdomains/
namespace.
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?
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.
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!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.