Address and Domain Management

Table of Contents

UX

Click model

https://overflow.io/s/4KZVONNN

UX Assets

https://gpworrell428458.invisionapp.com/overview/FIO-dApp---Address-and-Domain-Mgmt---Frozen-April-29,2021-cko3gbzxt0p86015k57hk506k/screens

FIO Address/Domain Management

Visual

Functionality

Visual

Functionality

FIO Address List

 

  • Display

    • All FIO Addresses for all FIO Wallets in Dashboard

      • FIO Address

        • Use /get_fio_addresses

          • Fetch 25 at a time and then use “Infinite Scroll” load 25 more until user gets to bottom of page

          • remaining_bundled_tx element will be returned as part of FIP-25 (it will be part of Bahamas)

      • Bundle count remaining

      • Expiration date

    • Warnings

      • Domain(s) expired

        • Orange banner - if at least 1 FIO Handle is on a domain which expired display banner with copy: “FIO Handle Domain(s) Expired - One or more FIO Handle Domain has expired. Certain FIO Handle actions are inactive until the domain is renewed. Renew today to restore the actions.”

          • When X is clicked hide the banner for the duration of the session.

        • Orange warning triangle next to affected FIO Handle

    • FIO 101 - same module and same logic as on https://fioprotocol.atlassian.net/wiki/spaces/DAO/pages/83886086/Dash+Functional+Specification#Authenticated

    • Actions - same module as with modified logic which only displays action if it is designated with FCH.

    • Links

      • Add bundles

        • Disable if domain expired

        • On click

          • Add “Add 100 bundles” item to cart and display Cart Page

      • NFT Signatures

        • Disable if domain expired

        • On click

          • Display

      • Request Funds

        • Disable if domain expired

        • On click

          • Display Request Funds Page

      • Link

        • Disable if domain expired

        • On click

          • Display Link Page

      • Socials

        • Disable if domain expired

        • On click

          • Display Socials Page

      • Settings

        • On click

          • Display FIO Address Settings Page

      • Register FIO Address

        • On click

          • Display

FIO Domain List

 

  • Display

    • My Domains - All FIO Domains for all FIO Wallets in Dashboard

      • FIO Domain

        • Use /get_fio_domains

          • Fetch 25 at a time and then use “Infinite Scroll” load 25 more until user gets to bottom of page

      • Private/public status

      • Expiration date

    • Watchlist Domains - All FIO Domains added by user to account

      • FIO Domain

      • Private/public status

      • Expiration date

    • Warnings

      • Domain(s) expired

        • Orange banner - if at least 1 FIO Domain expired display banner with copy: “Domain Renewal - One or more FIO Domain below has expired. Certain actions are inactive until the domain is renewed. Renew today to restore the actions and to ensure you do not loose the domain.”

          • When X is clicked hide the banner for the duration of the session.

        • Orange warning triangle next to affected domain

      • Domain(s) expiring in the next 30 days

        • Orange banner - if at least 1 FIO Domain is expiring in the next 30 and no domain is expired days display banner with copy: “Domain Renewal - One or more FIO Domain below has expired or is about to expire. Renew today to ensure you do not loose the domain.”

          • When X is clicked hide the banner for the duration of the session.

        • Orange warning triangle next to affected domain

    • FIO 101 - same module and same logic as on

    • Actions - same module as with modified logic which only displays action if it is designated with DOM.

    • Links

      • Show for All My Domains and Watchlist Domains

        • Renew

          • On click

            • Add “Domain renewal” item to cart and display Cart Page

        • Settings

          • On click

            • Display FIO Domain Settings Page

      • Show for All My Domains and Watchlist Domains which are public

        • Register FIO Address - disabled when domain is expired.

          • On click

            • Display with selected domain pre-populated in domain pull-down.

      • Show for All My Domains

        • Wrap Domain - disabled when domain is expired.

          • On click

            • Display

      • Domain Watchlist buttons

        • Unwrap Domain

          • On click

            • Display

        • Add to Watchlist

          • On click

            • Display Add to Watchlist Overlay

Add to Watchlist Overlay

Enter Domain

Valid domain

Invalid Domain

Domain not registered

 

  • Collect

    • FIO Domain name

  • Validate

    • Domain

      • Convert onfocusout

        • Convert to lowercase

      • Validate onfocusout

        • On validation error

          • Display error message

      • Validation rules

      • Validation result

        • Valid domain

        • Invalid domain

        • Domain not registered

        • Domain already owned by user

  • Display

    • Links

      • Add to Watchlist - active when Valid domain entered

        • On click

          • Add the domain to Watchlist

            • When domain added to Watchlist, it will always display in the Watchlist Domain list, will be monitored for expiration date and notification emails will be sent.

          • Display FIO Domain List with Success notification

      • Purchase Now - active when Domain not registered entered

        • On click

          • Add domain to Cart

          • Display

      • Overlay X

        • On click

          • Close overlay

      • Input box X

        • On click

          • Erase field content

FIO Address Settings

 

  • Display

    • Wallet name which owns FIO Address

    • FIO Public Key which owns FIO Address

    • Links

      • Start Transfer

        • Disable if domain of FIO Handle expired

        • On click

          • Display Transfer FIO Address/Domain Ownership Page

FIO Domain Settings

My Domains

Watchlist Domains

  • Display

    • Warnings

      • Domain(s) expired

        • Orange banner - if domain expired display banner with copy: “Domain Renewal - Certain actions are inactive due to domain is being expired. Renew today to restore the actions and ensure you do not loose the domain.”

    • Show for All My Domains and Watchlist Domains

    • Show for All My Domains

      • Wallet name which owns FIO Domain

      • Links

        • Make Domain X - disabled when domain is expired.

          • If domain is public X = Private

          • If domain is private X = Public

          • On click

            • Display FIO Domain Status Change Page

        • Start Transfer - disabled when domain is expired.

          • On click

            • Display Transfer FIO Address/Domain Ownership Page

        • Start Wrapping - disabled when domain is expired.

          • On click

            • Display

    • Show for Watchlist Domains

      • Links

        • Remove Now

          • On click

            • Remove from Watchlist

            • Display FIO Domain List with Success notification

Transfer FIO Address/Domain Ownership

  • Display

    • Label

      • Domain or Address

    • Warning

      • FIO Domain

        • “Transferring a FIO Domain will not transfer ownership of FIO Addresses on that Domain”

      • FIO Address

        • “Transferring a FIO Address will purge all linked wallets”

    • Transfer cost

      • As obtained from get_fee for FIO Domain or Address

    • Wallet name and balance in FIO and USDC

    • Links

      • Back

        • On click

          • Display FIO Address or Domain List Page

      • Transfer Now

        • On click

          • Collect

            • PIN code

          • Display Transaction Processing Page

          • Transfer ownership using xferaddress or xferdomain

          • Display Transfer FIO Address/Domain Confirmation Page

  • Collect

    • FIO Address or FIO public key

  • Validate

    • FIO Address

    • Wallet balance

      • If balance is less than fee display Low Balance and prevent clicking Transfer Now

    • FIO Public Key

      • Must be a valid FIO Public Key

Transfer FIO Address/Domain Confirmation

  • Display

    • Label

      • Domain or Address

    • FIO Domain/Address being transferred

    • FIO Public Key of new owner

    • Fee collected

      • Comes from transaction response “fee_collected” field.

    • Links

      • Close or X

        • On click

          • Display FIO Address or FIO Domain List Page (depending on which is being transferred)

 

  • Display

    • FIO Crypto Handle

      • Associated FIO Public Address information (this is uneditable)

        • Chain code: FIO

        • Token code: FIO

        • Public Address: FIO Public Key from get_pub_address

    • For each linked public address

      • Chain code

      • Token code

      • Public address

    • Warning banner

      • Display if only FIO linked

        • When X is clicked hide the banner for the duration of the session.

    • Links

      • Edit

        • On click

          • Display Edit Link Page

      • Delete Link

        • On click

          • Display Delete Link Page

      • Add link

        • On click

          • Display Link Token Page

Initial Screen

  • Display

    • FIO Address being linked

    • Links

      • Popular Cryptocurrencies

        • As seen on screenshot

        • On click

          • Display Popular Cryptocurrency Link Details Page

      • Add

        • On click

          • Display Link Details Page

      • Linking information

        • Display links being added in this session

          • Chain code

          • Token code

          • Public address

        • X

          • On click

            • Remove token entry

      • Back

        • On click

          • Go back to Link Token List Page

      • Link Now

        • On click

          • Collect PIN

          • Display Transaction Processing Page

          • Execute add_pub_address for each group of 5 addresses

          • Display Link Token Confirmation Page

  • Popular Cryptocurrency Link Details and Link Details Page

    • If user has a particular Popular Cryptocurrency already mapped or has already entered the public address to be mapped in this session, display check-mark and do not allow selection.

    • Collect

      • For each token

        • Chain code (for Popular Cryptocurrency pre-populate and do not allow change)

        • Token code

        • Public address

          • Paste

            • On click

              • Paste clipboard

    • Validate

      • Chain code, Token code, Public address

        • See

        • * is allowed as token code

      • Bundled transaction count

        • Bundle cost is 1 bundle transaction per 5 addresses linked. Update count as user clicks to add 6th row, 11th row, etc. or removes below that threshold.

        • If 0 display Low balance banner prevent clicking Link Now

      • FIO:FIO

        • If the user attempts to add the token FIO : FIO, they will be presented with the following error message: “Your FIO Public Key is already mapped to your FIO Crypto Handle and that mapping cannot be changed via the Dashboard.”

 

  • Display

    • FIO Address being linked

    • Bundle cost (this can be hard-coded to 1) and remaining

    • For each token (do not display FIO:FIO)

      • Chain code

      • Token code

      • Public address

    • Partial success

      • If multiple calls were made and some succeeded and some did not, display partial Success warning (as shown on Partial Success Page) and list the tokens which were successfully linked. Display copy: “Some public addresses were not linked due to an error. See below for public addresses which were linked sucesfully and try again.”

    • Links

      • Close

        • On click

          • Display Link Token List Page

      • X

        • On clic

          • Display Link Token List Page

      • Link Additional Tokens

        • On click

          • Display Link Token Page

  • Display

    • FIO Address being linked

    • Bundle cost and remaining

      • Bundle cost is 1 bundle transaction per 5 addresses edited. Update count as user clicks to edits the public address (before they make the change). That is to allow them to not edit and stay within the bundles they have available.

    • For each token (do not display FIO:FIO)

      • Chain code

      • Token code

      • Public address

    • Links

      • Back

        • On click

          • Go back to Link Token List Page

      • Edit public address

        • On click

          • Allow edit of public address only (not chain/token code)

      • Edit

        • On click

          • Collect PIN

          • Display Transaction Processing Page

          • Execute add_pub_address for each group of 5 addresses modified

          • Display Edit Link Confirmation Page

  • Validate

    • Public address

      • See

      • Empty string is permitted

    • Bundled transaction count

      • If Cost Bundles exceed Remaining display Low balance banner prevent clicking Edit

 

  • Display

    • FIO Address being linked

    • Bundle cost (this can be hard-coded to 1) and remaining

    • For each token (do not display FIO:FIO)

      • Chain code

      • Token code

      • Public address

    • Partial success

      • If multiple calls were made and some succeeded and some did not, display partial Success warning (as shown on Partial Success Page) and list the tokens which were successfully linked. Display copy: “Some public addresses were not linked due to an error. See below for public addresses which were linked sucesfully and try again.”

    • Links

      • Close

        • On click

          • Display Link Token List Page

      • X

        • On click

          • Display Link Token List Page

      • Edit Additional Tokens

        • On click

          • Display Link Edit Page

  • Display

    • FIO Address being linked/unlinked

    • Bundle cost is 1 bundle transaction per 5 addresses and remaining. If all selected and user has no social media links then set 1 bundle and call /remove_all_pub_addresses.

    • For each token (do not display FIO:FIO)

      • Chain code

      • Token code

      • Public address

    • Links

  • Validate

    • Bundled transaction count

      • If 0 display Low balance banner prevent clicking Delete

 

  • Display

    • FIO Address being linked/unlinked

    • Bundle cost (this can be hard-coded to 1) and remaining

    • For each token deleted (do not display FIO:FIO)

      • Chain code

      • Token code

      • Public address

    • Links

      • Close

        • On click

          • Display Link Token List Page

      • X

        • On click

          • Display Link Token List Page

      • Delete Additional Tokens

        • On click

          • Display Delete Link Page

Socials Page

 

  • Display

    • FIO Crypto Handle

    • For each linked Social Media Account obtained from /get_pub_address and as defined in

      • Logo

      • Name

      • Link

    • Info banner

      • When X is clicked hide the banner for the duration of the session.

    • Links

      • Edit

        • On click

          • Display Edit Social Page

      • Delete Link

        • On click

          • Display Delete Social Page

      • Add link

        • On click

          • Display Add Social Page

Edit Social

Edit confirmation

 

  • Display

    • FIO Address being linked

    • Bundle cost and remaining

      • Bundle cost is 1 bundle transaction per 5 socials edited. Update count as user clicks to edits the username (before they make the change). That is to allow them to not edit and stay within the bundles they have available.

    • For each linked Social Media Account obtained from /get_pub_address and as defined in

      • Logo

      • Name

      • Link

    • Links

      • Back

        • On click

          • Go back to Socials Page

      • Edit Social

        • On click

          • Allow edit of username only (not url), only username is stored on-chain

      • Edit

        • On click

          • Remove @ sign if found at the beginning of string

          • Collect PIN

          • Display Transaction Processing Page

          • Execute add_pub_address for each group of 5 socials modified

          • Display Socials Page with banner

  • Validate

    • Username

      • See

      • If url entered strip and just leave username

      • Empty string is not permitted

    • Bundled transaction count

      • If Cost Bundles exceed Remaining display Low balance banner prevent clicking Edit

Delete Social

Delete confirmation

 

  • Display

    • FIO Address being linked/unlinked

    • Bundle cost is 1 bundle transaction per 5 social media link and remaining. If all selected and user has no linked tokens then set 1 bundle and call /remove_all_pub_addresses.

    • For each linked Social Media Account obtained from /get_pub_address and as defined in

      • Logo

      • Name

      • Link

    • Links

  • Validate

    • Bundled transaction count

      • If 0 display Low balance banner prevent clicking Delete

Add Social

 

Add confirmation

 

  • Display

    • FIO Address being linked

    • Bundle cost and remaining

      • Bundle cost is 1 bundle transaction per 5 socials edited. Update count as user clicks to edits the username (before they make the change). That is to allow them to not edit and stay within the bundles they have available.

    • For each linked Social Media Account obtained from /get_pub_address and as defined in

      • Logo

      • Name

      • Link

    • Links

      • Back

        • On click

          • Go back to Socials Page

      • Edit Social

        • On click

          • Allow edit of username only (not url), only username is stored on-chain

      • Add

        • On click

          • Collect PIN

          • Display Transaction Processing Page

          • Execute add_pub_address for each group of 5 socials added

          • Display Socials Page with banner

  • Validate

    • Username

      • See

      • If url entered strip and just leave username

      • Empty string is not permitted

    • Bundled transaction count

      • If Cost Bundles exceed Remaining display Low balance banner prevent clicking Add

FIO Domain Status Change

  • Display

    • Current domain status (public/private)

    • Fee as obtained from get_fee for set_fio_domain_public

    • Wallet name and balance in FIO and USDC

    • Banner:

      • Private → Public

        • “Important information - making your domain public will allow anyone to register a FIO Address on that domain.”

      • Public → Private

        • “Important information - making your domain private will only allow the owner of the domain to register FIO Addresses on it.”

  • Validate

    • Wallet balance

      • If balance is less than fee display Low Balance and prevent clicking Change Status

  • Links

    • Back

      • On click

        • Display FIO Domain Settings Page

    • Change Status

      • On click

        • Collect PIN

        • Display Transaction Processing Page

        • Execute set_fio_domain_public

        • Display Link Token Confirmation Page

FIO Domain Status Change Confirmation

  • Display

    • Domain name

    • New status

    • Fee collected

      • Comes from transaction response “fee_collected” field.

    • Links

      • Close

        • On click

          • Display Domain List Page

      • X

        • On click

          • Display Domain List Page