Highlights:
This is a major update which give the Signer tab a makeover. Much more functionality is now included. Most importantly FN now encrypts and saves your signers BIP48 and BIP84 public key descriptors and their ur:crypto-account
counterparts so that you can easily export a cosigner or single sig watch only wallet to other apps via Airgapped QR scanning. This vastly improves Fully Noded compatibility with other wallets such as; Blue Wallet, Sparrow, Keystone, SeedSigner, Passport and others.
The root xpub is now encrypted and saved so that you may easily share it in ur:crypto-hdkey
format to Casa App to create multi-sig wallets or with any other app that suppports non hardened derivations for creating watch-only wallets.
The beauty of exporting the signers in this way is you would not even need to have the wallet on Fully Noded, it can simply act as a stupid signer. The external wallet can create the psbt, then FN will be able to sign for it and broadcast, it always had this ability but it was not easy to export signers to other wallets.
You may now delete seed words and edit or delete passphrases from your signers leaving only the derived public key descriptors saved on the device. Changing or deleting the passphrase will change the derived cosigner/single signature export and have other major consequences such as the inability to sign for any wallet that used the previous passphrase.
A new "Prompt for passphrase" feature can be found by navigating to settings > security center > (scroll to bottom) prompt for passphrase
. FN will still create and attempt to sign transactions as normal, however if any transaction is incomplete and needs more signatures when you go to tap the sign
button you will be prompted to enter a passphrase, this passphrase will overwrite all existing signers passphrases and will be added to all seeds. This way FN never saves your passphrase at all and is great for plausible deniablity.
A new wallet export
QR in wallet details which is compatible with Sparrow wallet and will hopefully gain wider adoption. It also of course works with Fully Noded for importing and may replace the backup QR in a future update. The difference is that the backup QR holds some useful details about your wallet (its label and block height) whereas the export QR is designed for greater cross wallet compatibility, holding only the ur encoding of the bitcoin output descriptor of your wallet.
New features:
- export signers to easily create watch-only multi-sig and single-sig wallets with many other software and hardware wallets (Sparrow, Blue Wallet, Passport, Keystone, SeedSigner, Seed Tool, and of course Fully Noded)
- edit/delete your passphrase via signers
- new export wallet QR in wallet details (compatible with Sparrow wallet keystores and descriptors)
- export cosigners to Casa App to create multi-sig wallets via signers
- create wallets directly via signers
- delete seed words but keep the signer, allows for storing the cosigner and watch-only xpubs to easily create new wallets or export to other apps even if seed words are not held on the device
- many more fiat currencies when using the blockchain.info api
settings > security center > prompt for passphrase
will enable a new feature which will ask you for a passphrase to sign transactions with each time you tap the sign button. This passphrase is not remembered and is applied to all seeds and overwrites all existing saved passphrases when attempting to sign- improved 2FA
- local biometric authentication now required to display signers seed words
- signers now act as a recovery tool as you can tap the
+
button to create wallets directly from signers - signer network is now set automatically depending on the current nodes network
Bug fixes:
- UX bugs around creating Bitcoin Core wallets and importing private keys
- a possible bug where a signed raw transaction was not passed to the transaction verifier, instead the psbt was passed
- a bug where Bitcoin Core 22.0 changed the way raw transactions were serialized so that addresses were given as a single key value pair and not an array, this could have resulted in the transaction verifier not displaying all info for inputs/outputs
- display an error message if
testmempoolaccept
fails - speed up single sig wallet creation by relying on
UserDefaults
instead of dynamically fetching chain and blockheight every time the view loads - 2fa bug where active wallet view refreshed when it shouldn't