Buys & Renewals
Creates a commitment to buy a second-level domain without disclosing the actual name. This is implemented according to our commit&reveal scheme.
Entrypoint:
commit
Parameter Type | Description |
bytes | SHA-512 hash of a packed tuple of label, owner, and a random nonce corresponding to the intended buy (see TLDRegistrar.Buy). The hashed tuple is of the Michelson type pair (pair bytes address) nat . Having a random nonce prevents susceptibility to dictionary attacks. |
CamelLIGO
Michelson
type commit_param = bytes
| Commit of bytes
parameter (or
(bytes %commit)
# ... more entrypoints outside of this interoperability spec
);
Error | Description |
AMOUNT_NOT_ZERO | The transferred amount of tez is not zero. |
COMMITMENT_EXISTS | The given commitment exists. A commitment with a new nonce has to be generated. |
Entrypoint:
buy
Amount restriction: The amount sent with this call has to be equal to the price of the domain. The price in mutez is calculated as
standard_price_per_day * duration / 1000000
.Parameter | Type | Description |
label | bytes | The UTF-8 encoded label of the second-level domain to buy. |
duration | nat | Ownership duration represented in days. |
owner | address | The new owner of the given domain. |
address | address option | The optional address the given domain resolves to. |
data | (string, bytes) map | A map of any additional data clients wish to store with the given domain. |
nonce | nat | The chosen commitment nonce. |
CamelLIGO
Michelson
type buy_param = {
label: bytes;
duration: nat;
owner: address;
address: address option;
data: (string, bytes) map;
nonce: nat;
}
| Buy of buy_param michelson_pair_left_comb
parameter (or
(pair %buy (bytes %label)
(pair (nat %duration)
(pair (address %owner)
(pair (option %address address)
(pair (map %data string bytes) (nat %nonce))))))
# ... more entrypoints outside of this interoperability spec
);
Error | Description |
COMMITMENT_DOES_NOT_EXIST | |
COMMITMENT_TOO_OLD | The commitment is too old (older than configured age). Try recreating it again. |
COMMITMENT_TOO_RECENT | The commitment is too recent (younger than configured age). Wait for some time. |
LABEL_TAKEN | The requested label already exists and it is not expired. |
LABEL_NOT_AVAILABLE | The requested label is currently not available for registration. |
LABEL_IN_AUCTION | The requested label is currently only available in auction. |
INVALID_LABEL | |
LABEL_EMPTY | The given label is empty. |
LABEL_TOO_LONG | The label is too long. |
NAME_TOO_LONG | The name (label + parent) is too long. |
DURATION_TOO_LOW | The requested duration is too low (lower than the configured minimum). |
AMOUNT_TOO_LOW | The transferred amount is lower than the actual price. |
AMOUNT_TOO_HIGH | The transferred amount is higher than the actual price. |
Renews second-level domain for requested duration.
Entrypoint:
renew
Amount restriction: The amount sent with this call has to be equal to the price of the domain. The price in mutez is calculated as
standard_price_per_day * duration / 1000000
.Parameter | Type | Description |
label | bytes | The UTF-8 encoded label of the second-level domain to buy. |
duration | nat | The renewal duration represented in days. |
CamelLIGO
Michelson
type renew_param = {
label: bytes;
duration: nat;
}
| Renew of renew_param michelson_pair_left_comb
parameter (or
(pair %renew
(bytes %label)
(nat %duration))
# ... more entrypoints outside of this interoperability spec
);
Error | Description |
LABEL_NOT_FOUND | The requested label does not exist. |
LABEL_EXPIRED | The requested label exists but it is expired. Therefore it can be bought, not renewed. |
DURATION_TOO_LOW | The specified duration is too low (lower than the configured minimum). |
AMOUNT_TOO_LOW | The transferred amount is lower than the actual price. |
AMOUNT_TOO_HIGH | The transferred amount is higher than the actual price. |