diff --git a/src/assets/domain_transfer/domain-setting-section.png b/src/assets/domain_transfer/domain-setting-section.png new file mode 100644 index 0000000..17bc97d Binary files /dev/null and b/src/assets/domain_transfer/domain-setting-section.png differ diff --git a/src/assets/domain_transfer/domain-transfer-paste.png b/src/assets/domain_transfer/domain-transfer-paste.png new file mode 100644 index 0000000..206f24c Binary files /dev/null and b/src/assets/domain_transfer/domain-transfer-paste.png differ diff --git a/src/assets/domain_transfer/domain-transfer-popup.png b/src/assets/domain_transfer/domain-transfer-popup.png new file mode 100644 index 0000000..3a322a2 Binary files /dev/null and b/src/assets/domain_transfer/domain-transfer-popup.png differ diff --git a/src/assets/domain_transfer/transfer-ownership.png b/src/assets/domain_transfer/transfer-ownership.png new file mode 100644 index 0000000..7246ebe Binary files /dev/null and b/src/assets/domain_transfer/transfer-ownership.png differ diff --git a/src/content/docs/guides/transfer_domain.mdx b/src/content/docs/guides/transfer_domain.mdx index bbdc801..a205946 100644 --- a/src/content/docs/guides/transfer_domain.mdx +++ b/src/content/docs/guides/transfer_domain.mdx @@ -3,3 +3,81 @@ title: Transfer a .night domain sidebar: label: Transfer a .night domain --- + +import { Aside, Steps } from "@astrojs/starlight/components"; + +Learn how to safely transfer your .night domain to another user on the Midnight Network. This process requires careful verification to ensure a successful transfer. + + + +## Before You Start + +Ensure you have: + +- Lace Wallet for Midnight installed +- The wallet address of the recipient + +## Transfer Process + + + +1. **Verify domain ownership** + + Midnames Nameservice verifies the ownership of the domain with your current wallet address. Once it is verified, you'll be allowed to transfer ownership to another address. + + ![Domain ownership verification](../../../assets/domain_transfer/transfer-ownership.png) + + **Look for**: Your wallet address or CoinPublicKey displayed as the current owner. If no `epk` field is set, by default the field shows the `cpk`. + +2. **Access domain settings** + + Scroll down to the **Domain Settings** section below the Domain Fields area. + + ![Domain settings section](../../../assets/domain_transfer/domain-setting-section.png) + +3. **Enter recipient address** + + In the transfer section: + + - Paste the recipient's wallet address + - Double-check the address. Remember, this is irreversible + + ![Domain transfer address paste](../../../assets/domain_transfer/domain-transfer-paste.png) + + +4. **Review and confirm** + + - Review all details one final time + - Confirm the recipient address is correct + - Click **Transfer Domain** + +5. **Complete the transaction** + + After clicking **Transfer Domain**, you'll be requested to sign the transaction using your Lace Wallet. + + - Sign the transaction with your Lace Wallet + - Wait for confirmation + - Sign the second one + - Wait for confirmation again + - You'll see a success message when the transfer is complete + + ![Domain transfer confirmation pop-up](../../../assets/domain_transfer/domain-transfer-popup.png) + + +## Common Issues + +**Transfer failed?** + +- Verify the recipient address is valid +- Ensure you have sufficient funds in your Lace Wallet for transaction fees +- Check that your wallet is properly connected + +**Need to cancel?** + +- Transfers cannot be cancelled once executed. After signing the transaction, the transfer is permanent. diff --git a/src/content/docs/guides/valid_domains.mdx b/src/content/docs/guides/valid_domains.mdx index 0c1cfe7..6fe2bcd 100644 --- a/src/content/docs/guides/valid_domains.mdx +++ b/src/content/docs/guides/valid_domains.mdx @@ -4,14 +4,40 @@ sidebar: label: Specification --- -All valid domain part names must adhere to the following regular expression: +# Guidelines +## Valid domains +Every section of the domain must comply with the following regular expression. ```regexp /^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/ ``` -# Valid domains +## Case Sensitivity + +All domains are enforced to be lowercase. Uppercase input is automatically converted by the frontend to lowercase: +- Input: `Domain.night` → Processed as: `domain.night` +- Input: `MY-SUB.domain.night` → Processed as: `my-sub.domain.night` + +If the user inputs an uppercase domain into the SDK, it will return an error as a response due to the domain not adhering to the expected regex. + +## Domain Restrictions +The current implementation enforces the following restrictions on subdomains: +* No practical limits on subdomain depth, the set of all possible subdomains a domain can have. +* No practical limits on domain width, the set of all possible generated domains. +* No practical limits on the length each domain or subdomain can have. +* Example: `a.b.c.d.e.f.g.h.i.j.night` is a valid domain according to the rules. +* Example: `a.night`, `b.night`, `c.night`, ..., `z.night`, `aa.night`, ... are all valid domains in the width of the domain set. + +## Reserved Domains +The following domains are all reserved and cannot be registered: +* `foo.night` +* `bar.night` +* `turing.night` +* `ada.night` + + +# Valid domains - `domain.night` - `my-domain.night` - `mydomain123.night` diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index 4789ac5..bca6b35 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -1,5 +1,5 @@ --- -title: Welcome to Midnames +title: Welcome to Midnames Nameservice Docs description: Get started using Midnames. template: splash hero: @@ -14,25 +14,22 @@ hero: import { CardGrid, LinkCard } from "@astrojs/starlight/components"; + + - - + /> + \ No newline at end of file