Web wallet interface
Application Features
The application consist of the an UI that allows the user to perform the following actions in an easy to use and consistent web application:
Seed Phrase
- Can setup a new seed phrase and derive accounts on it wireframe
- When creating the seed phrase, the user can export it copied to the clipboard, user has to confirm the saving of the seed phrase wireframe wireframe
- Restore accounts from a seed phrase
- Can retrieve a forgotten seed phrase, this requires user to enter the main password
User accounts
- When entering the app, the user is being prompted for a password to decrypt the key pair to be able to perform actions wireframe
- Can create accounts derived from the master key pair
- Can delete accounts
- User can integrated with Ledger hardware wallet
- Set up flow TBD
- Managing TBD
- Can see an overview of the assets in the account and all derived accounts wireframe
- Can see the details of a single asset, containing the following information wireframe
- Balance
- All past transactions for the current account and asset
- Button to initiate a new transfer using this asset
Transfers
- Can create transparent transfers
- Can create shielded transfers
- Bi-directional transfer between Namada and ETH
- Supports approving transactions with MetaMask
- Bi-directional transfer between Namada and IBC supported chains
- Supports approving transactions with Keplr
Staking & Governance
- Can bond funds to a list of validators
- Can un-bond funds to a list of validators
- Can submit proposals
- Can vote on proposals
- Can follow up with the current and past proposals and their vote results
Tech Stack
Core Application
- Core application is built on React/TypeScript
- State management with Redux
- Application styling is accomplished with styled-components
- Extensive usage of WASM compiled Rust code from the common Anoma code base is encouraged where ever feasible.