bullbitcoin-mobile icon indicating copy to clipboard operation
bullbitcoin-mobile copied to clipboard

KeyManager Feature

Open i5hi opened this issue 1 year ago • 1 comments

Now that we have a dedicated Seed model from which many Wallets can be derived, we can introduce the KeyManager/KeyChain that we had discussed.

It would have:

  • a dedicated page either in settings or on its own on the homepage alongside NewWallet and Settings
  • the Seed page will contain a list of all seeds, newSeeds and recovered backup words
  • each seed display row will show how many wallets are derived from it and a Derive Button.
  • clicking the seed will show a more detailed page (will need to figure what details are important to show) Refer to optional features
  • The Derive Button will first ask to add a passphrase and then show all the available/possible scriptTypes. If a particular passphrase exists for a specific scriptType, it won't be shown in the selection.

Additionally:

  • if a user clicks NewWallet, there will be a new button called Derive w/ Passphrase which will redirect to this KeyManager page.

Other notes on behaviour:

  • deleting a Wallet will not delete a Seed
  • Wallet can be re-derived from the Seed
  • deleting a Seed will make a wallet a watch-only of type WalletType.xpub
  • if the Seed is reimported, we check if its fingerprint matches an existing Wallet and convert that Wallet back to a spendable wallet of type WalletType.words

Optional features:

  • Allow importing a Seed just to sign a psbt: where the Seed details page will have an input box to upload/paste/use-a-saved unsigned psbt and sign it. This function will work offline and can make the wallet operate as a cold storage device where a user only maintains their Wallet as a watch-only and always goes offline to import their Seed and sign a transaction. Can seem like an over-kill but its an advanced feature that I would certainly love and use :100:

i5hi avatar Jul 31 '23 05:07 i5hi