| tld | Address |
|---|---|
| ever | 0:a7d0694c025b61e1a4a846f1cf88980a5df8adf737d17ac58e35bf172c9fca29 |
On root contract for specific TLD call:
resolve(string path) public view responsible returns (address certificate).
This method will return the address of the domain certificate. Check if such account exists and then call methods for obtaining DNS records from it:
query(uint32 key) public view responsible returns (optional(TvmCell))
| ID | description | ABI |
|---|---|---|
| 0 | Everscale account address (target address) | address |
| 1 | ADNL address | uint256 |
| TBD | ||
// fake code
mapping(string => address) tld;
tld["ever"] = address(0:abc..);
string toResolve = "somedomain.ever";
Root root = Root(tld.find(toResolve));
address certificateAddr = root.resolve(toResolve);
if (!isAccountActive(certificateAddr)) return;
// Certificate can be domain or subdomain or just use Certificate interface
Domain domain = Domain(certificateAddr);
// id=0 to get Everscale account address record;
optional(TvmCell) targetRecord = domain.query(0);
if(!targetRecord.hasValue()) return;
address target = targetRecord.get();
return target- Find certificate address by full path
- Create new domain
- Renew exist domains
- Confiscate domain via DAO voting
- Reserve and unreserve domain via DAO voting
- Execute any action via DAO voting
- Activate or deactivate root contracts (only admin)
+ All TIP4 (TIP4.1, TIP4.2, TIP4.3) methods
- Resolve domain
- Query record(s)
- Change target or record
- Create subdomain
+ All TIP4 (TIP4.1, TIP4.2, TIP4.3) methods
All domain methods
+ Start auction in from new domains
+ All TIP4 (TIP4.1, TIP4.2, TIP4.3) methods
RESERVED- reserved by daoNEW- first N days domain is new, anybody can start auctionIN_ZERO_AUCTION- new domain that in auction newCOMMON- common certificate, nothing specialEXPIRING- domain will be expired in N days, user cannot create auction for itGRACE- N days after expiring, where user can renew it for additional feeEXPIRED- domain is fully expired (after grace period), anybody can destroy it
Anyone can call
- Get price via
expectedRegisterAmountin root - Build payload via
buildRegisterPayloadin root - Send tokens and payload to root's TIP3 wallet with notify
- Sender will receive
onMintedcallback if success- Get tokens back with
TransferBackReason.ALREADY_EXISTreason if domain already exist - Get tokens back with
TransferBackReason.*reason in case of another errors
Only domain owner can call
- Get
expectedRenewAmountin domain - Build payload via
buildRenewPayloadin root - Send tokens and payload to root's TIP3 wallet with notify
- Sender will receive
onRenewedcallback if success- Get tokens back with
TransferBackReason.DURATION_OVERFLOWreason if duration is too big - Get tokens back with
TransferBackReason.*reason in case of another errors
todo...
- Call
createSubdomainin domain/subdomain, where:name- name of subdomainowner- owner of new subdomainrenewable- a flag that marks if owner of subdomain can renew it in any time
ownerreceived:onMintedcallback if successonCreateSubdomainErrorwithTransferBackReason.*reason callback in case of error
todo image