Top-Level Domain Registrar
The registrar smart contract is responsible for managing the top-level domains. It sells second-level domains to buyers and allows renewals.
At service launch, every domain is offered to users through auction first. The registrar implements an open ascending price auction model. It is an auction model most people are likely familiar with: all bids are openly visible and every new bid is required to be higher than the last bid. If there are no bids in a given period since the last bid, the auction ends with the highest bidder winning the auction.
Any account can submit a bid during an active auction and transfer associated funds along in the same transaction. If a bid is higher or equal to the current highest bid multiplied by (100% + min_bid_increase_ratio%), it becomes the new highest bid and the previous highest bid becomes refundable or available for future bids (on the same or a different domain). Otherwise, the transaction fails. The auction ends after bid_additional_period seconds since the last bid, but not earlier than min_auction_period since the auction's start.
A special case is the first bid, which has to be greater or equal to standard_price_per_day. When a previously unregistered domain name is first bid on, the name is pre-registered in the name registry to ensure its validity.
After the auction ends, there is a settlement period of the same length as min_duration. The highest bidder invokes the settlement process transferring the domain to a chosen address, which becomes the new owner. The domain is registered for the min_duration (the time spent in the settlement period counts towards that period). If the highest bidder doesn't invoke settlement, the domain is treated as expired after the settlement phase ends.
An expired domain becomes available for FIFS only after its auction ended with no bids. In the FIFS model, all domains are sold for a flat fee equal to the standard_price_per_day. In the period after the launch of the smart contract, all domains are treated as recently expired.
The susceptibility to spoofing attacks using look-alike characters is reduced by limiting TLDs to predefined character scripts. Neither whole-script and mixed-script confusable names can be created under one TLD.
The top-level domains available are:
TLDs for more character scripts will be likely made available in the future.
There are several numeric parameters stored to configure this contract in the
configbigmap. The keys of the bigmap following:
0 = max_commitment_ageis the maximum time for a buy commitment to be valid (in seconds)
1 = min_commitment_ageis the minimum time for a buy commitment to be valid (in seconds)
2 = standard_price_per_dayis the standard FIFS price for a day and the minimum amount that participants have to bid initially in auction (in picotezos = 1e-12 tez)
3 = min_durationis the minimum period anyone can register or renew a domain for (in seconds)
4 = min_bid_increase_ratiois the minimum ratio of a new bid to the current highest bid (in percent)
5 = min_auction_periodis the minimum auction period (in seconds)
6 = bid_additional_periodis the period after which the auction ends measured since the last successful bid (in seconds)
1000 = launch_dateis the start of the initial auction period for all domains, i.e., the date the service was officially launched (in second since epoch). The value of
0means no launch has been configured
1000 + label_lengthis the override of the launch date for all labels that are