Skip to content

Flow Wallet Kit - iOS TODO ListΒ #17

@lmcmz

Description

@lmcmz

πŸ—‚οΈ TODO Breakdown

1. πŸ” Storage Protocol

  • Implement a storage protocol for securely handling keys and other sensitive data.
  • Support secure storage backends (e.g., Keychain, Secure Enclave, in-memory).

2. πŸ”‘ Key Protocol

  • Implement a key protocol to support multiple types of private keys.
  • Implement the following key providers:
    • Secure Element Key Provider
    • Private Key Provider
    • Seed Phrase Key Provider

3. πŸ‘› Wallet

  • Define and support three wallet types:
    • Watch Wallet: initialized with an address only.
    • Key Wallet: initialized with a private key or seed phrase.
    • Proxy Wallet: backed by external devices like Ledger or Passkey.
  • On initialization (Key Wallet), lookup all related on-chain accounts using a key indexer API.
  • Support multiple accounts per wallet across different networks.

4. 🧾 Account

  • Implement support for Cadence accounts on the Flow blockchain.
  • Support multiple public keys linked to a wallet's signing keys.
  • Accounts should act as transaction signers.
  • Accounts should be able to fetch and manage:
    • VM accounts (currently EVM only)
    • Child accounts

5. 🧬 Multi-VM Account

  • Fetch and manage VM accounts associated with the main account.
  • Currently only EVM (COA) is supported.
  • Design should support additional VM types in the future.

6. πŸ‘Ά Child Account

  • Fetch all child accounts linked to a main Flow account.
  • Retrieve permissions related to FT and NFT access for each child account.

7. πŸ’° Token Balance

  • Query FT/NFT balances for:
    • Flow accounts
    • Flow-EVM accounts
  • Handle mixed address token balance queries across both environments.

8. πŸ“¦ Backup

  • Support multiple backup types:
    • Device backup
    • Seed phrase backup
  • Implement a backup protocol.
  • Add support for cloud backup providers:
    • Google Drive
    • iCloud
    • Dropbox

9. 🌐 FCL & WalletConnect Support

  • Support in-app browser injection for:
    • Flow
    • Flow-EVM
  • Handle WalletConnect requests for:
    • Flow
    • Flow-EVM

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions