sparrowwallet / sparrow

Desktop Bitcoin Wallet focused on security and privacy. Free and open source.
https://sparrowwallet.com/
Apache License 2.0
1.36k stars 192 forks source link

[Feature Request] Add AirGap Vault as "Airgapped Hardware Wallet" #1182

Open mlaeng opened 12 months ago

mlaeng commented 12 months ago

Hello!

Since several upgrade cycles, the AirGap Vault is compatible and already works perfectly with with Sparrow wallet (see the Sparrow setup guide in our documentation: https://support.airgap.it/guides/sparrow)

AirGap Vault is a free-to use and open-source mobile phone application which is meant to run on a spare offline phone, essentially giving everyone who can afford an old smartphone the possibility for self custody.

AirGap has some unique features compared to most hardware cold wallets.

Compare features of AirGap Vault.. More info about AirGap can be found here: https://airgap.it and here: https://github.com/airgap-it.

Currently users can use AirGap Vault with Sparrow, when they select the Keystone Wallet and then scan the QR code from AirGap Vault to sync an account. Same goes for signing.

We would be incredibly happy if Sparrow Wallet would add AirGap vault as an own entry under Airgapped Hardware Wallet.

As a logo, this could be used: https://avatars.githubusercontent.com/u/30299683

And as a text description, the following could be used:

Import QR created on your AirGap Vault, by selecting 1) the secret and 2) the account you want to syncronize and then 3) select "Sparrow Wallet" to display the synchronization QR code.

Thank you for your time and engagement!

craigraw commented 12 months ago

Thanks, I will take a closer look. Do you have an SVG of the logo? Is for singlesig only?

mlaeng commented 12 months ago

Hey @craigraw! That would be awesome. Yes, currently AirGap is only singlesig.

And here's the SVG:

BW AirGapBW

Color: AirGapCol

Thanks a lot for any help! Best regards!

craigraw commented 11 months ago

Some feedback from testing on my side:

  1. It appears only Native Segwit (on the default derivation path) is fully supported. You can import a Legacy wallet, but you can't use it to sign a transaction AFAIK.
  2. When sending the signed transaction back by QR, the default format is "QR Code V3". I found I needed to change it to "BC UR (Beta)" first for Sparrow to receive it correctly. This is not mentioned in the guide either. Is the intention to default to BC UR in future?
  3. It would be helpful to have BTC Testnet also supported.
craigraw commented 11 months ago

One further point of feedback - Sparrow also displays a lifehash of the master fingerprint, but it does so using the 4 bytes directly as input, rather than their hex representation in a string. According to Blockchain Commons (I've spoken to @wolfmcnally about this) using the hex representation is incorrect, which is why Airgap Vault's lifehash differs from Sparrow and Gordian Seed Tool.

Happy to create an issue on your repo for any of these points.

craigraw commented 11 months ago

The lack of response to this feedback (that arose in response to an integration request) makes me concerned that perhaps AirGap Vault is not yet ready for inclusion. That said I have made the necessary changes to list AirGap Vault as an airgapped hardware option, but marked it as deprecated for now. 4feb4a3a.

To see it appear, edit Sparrow's config file and set showDeprecatedImportExport to true.

mlaeng commented 11 months ago

Hey @craigraw, please exuse my late feedback. These days, half of the AirGap team is on vacation, so I have difficulties to get qualified answers from them atm, but we're definitely still interested and also interested to improve AirGap Vault - so thank you for your feedback.

  1. We will look into this, it's probably just a missing QR code on the syncronization screen
  2. yes, was already done in the current version we are testing and should be released soon
  3. currently not, but we might add testnets for Ethereum and Bitcoin, I need to discuss it
  4. I will discuss this with @AndreasGassmann and see what he means

We'll change the config file. Once I get more information about the topics you addressed, I'll add some feedback here. thank you anyway for your time and dedication!