Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace compatibility with new matrix #1871

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions _data/matrix/Bitcoin_Core_Wallet.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: "Bitcoin Core Wallet"
category: "Software Wallet (L1)"
keyfeatures: "Open source project which maintains and releases Bitcoin client software called Bitcoin Core."
homepage: "https://bitcoincore.org"

feature:
device: "Desktop"
os: "Linux, OS, Windows"
web: "No"
hw_interface: "Yes"
default_receive: "P2WPKH"
bech32: "Full Support (send & receive)"
bech32m: "Full Support (send & receive)"
segwit_change: "Yes"
full_rbf_bump_fee: "Yes"
full_rbf_cancel_txn: "Yes"
full_rbf_notification: "No"
cpfp: "Full Support (send & receive)"
descriptors: "Yes"
pbst_version: "V0"
pbst_export: "Yes"
pbst_update_finalize: "Yes"
musig2: "No Support"
coinjoin: "No Support"
payjoin_BIP78: "No Support"
payjoin_alternate: "No Support"
payjoin_alternate_name: ""
payment_code: "No Support"
silent_payments_BIP352: "No Support"
silent_payments_dns: "No Support"
lightning_11: "No Support"
lightning_12: "No Support"
lightning_12_dns: "No Support"
lightning_lnurl: "No Support"
lightning_lnurl_hrla: "No Support"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn’t this all be "Not Applicable" for an L1 wallet?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. That was a silly mistake on my part. I will update.

36 changes: 36 additions & 0 deletions _data/matrix/Bitkit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: "Bitkit"
category: "Software Wallet (L1&L2)"
keyfeatures: "Your ultimate Bitcoin toolkit. Self-custodial BTC and LN payments. Widgets, pay-to-contacts and more"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sounds more like the project’s self-description. How come the field name is "keyfeatures"?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the Feature Matrix is only focused on a given set of features, I added the column Key Features / Use Cases. The objective here was to allow for product teams to highlight things which might differentiate their product, especially if any of their key features are not in the (current) scope of the matrix.

homepage: "https://bitkit.to/"

feature:
device: "Mobile"
os: "Android, iOS"
web: "Not Applicable"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this "Not Applicable" while all other software wallets are "No Support"?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, this should be changed. I will ensure more clarity as to the meaning of "Not Applicable" & "No Support" so that entry submitters can be more certain about what they submit.

hw_interface: "No"
default_receive: "P2WPKH"
bech32: "Full Support (send & receive)"
bech32m: "Full Support (send & receive)"
segwit_change: "Yes"
full_rbf_bump_fee: "Yes"
full_rbf_cancel_txn: "No"
full_rbf_notification: "No"
cpfp: "Full Support (send & receive)"
descriptors: "No"
pbst_version: "No Support"
pbst_export: "No"
pbst_update_finalize: "No"
musig2: "No Support"
coinjoin: "No Support"
payjoin_BIP78: "Not Applicable"
payjoin_alternate: "Not Applicable"
payjoin_alternate_name: ""
payment_code: "No Support"
silent_payments_BIP352: "No Support"
silent_payments_dns: "No Support"
lightning_11: "Full Support (send & receive)"
lightning_12: "No Support"
lightning_12_dns: "No Support"
lightning_lnurl: "Full Support (send & receive)"
lightning_lnurl_hrla: "Send Support"
36 changes: 36 additions & 0 deletions _data/matrix/Casa.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: "Casa"
category: "Software Wallet (L1)"
keyfeatures: "High security + UX via multi-vendor multisig"
homepage: "https://casa.io"

feature:
device: "Mobile"
os: "Android, iOS"
web: "No"
hw_interface: "Yes"
default_receive: "P2WSH"
bech32: "Send Support"
Comment on lines +12 to +13
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something doesn’t add up here. Casa is listed as not having native segwit change, and no receive support for bech32, but their default receive addresses are P2WSH. This is contradictory.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the catch, I will confirm with the Casa Team.

bech32m: "Send Support"
segwit_change: "No"
full_rbf_bump_fee: "No"
full_rbf_cancel_txn: "No"
full_rbf_notification: "No"
cpfp: "No Support"
descriptors: "Yes"
pbst_version: "V2"
pbst_export: "Yes"
pbst_update_finalize: "No"
musig2: "No Support"
coinjoin: "No Support"
payjoin_BIP78: "No Support"
payjoin_alternate: "No Support"
payjoin_alternate_name: ""
payment_code: "No Support"
silent_payments_BIP352: "No Support"
silent_payments_dns: "No Support"
lightning_11: "No Support"
lightning_12: "No Support"
lightning_12_dns: "No Support"
lightning_lnurl: "No Support"
lightning_lnurl_hrla: "No Support"
36 changes: 36 additions & 0 deletions _data/matrix/Envoy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: "Envoy"
category: "Software Wallet (L1)"
keyfeatures: "Envoy is a simple Bitcoin mobile wallet with powerful privacy features."
homepage: "https://foundation.xyz/envoy"

feature:
device: "Mobile"
os: "Android, iOS"
web: "No"
hw_interface: "No"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn’t Envoy the software wallet that goes with the Passport? If so, how can it not have a hardware wallet interface?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will confirm with Envoy.

Likely a misunderstanding somewhere along the line.

default_receive: "P2WPKH"
bech32: "Full Support (send & receive)"
bech32m: "Full Support (send & receive)"
segwit_change: "Yes"
full_rbf_bump_fee: "Yes"
full_rbf_cancel_txn: "Yes"
full_rbf_notification: "No"
cpfp: "Full Support (send & receive)"
descriptors: "Yes"
pbst_version: "V0"
pbst_export: "Yes"
pbst_update_finalize: "No"
musig2: "No Support"
coinjoin: "No Support"
payjoin_BIP78: "No Support"
payjoin_alternate: "No Support"
payjoin_alternate_name: ""
payment_code: "Send Support"
silent_payments_BIP352: "No Support"
silent_payments_dns: "No Support"
lightning_11: ""
lightning_12: ""
lightning_12_dns: ""
lightning_lnurl: ""
lightning_lnurl_hrla: ""
36 changes: 36 additions & 0 deletions _data/matrix/Nunchuk.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: "Nunchuk"
category: "Software Wallet (L1)"
keyfeatures: "Nunchuk is a Bitcoin wallet that specializes in multisig and collaborative multisig solutions."
homepage: "https://nunchuk.io/"

feature:
device: "Desktop, Mobile"
os: "Android, Linux, iOS, OS, Windows"
web: "No"
hw_interface: "Yes"
default_receive: "P2WSH"
bech32: "Full Support (send & receive)"
bech32m: "Full Support (send & receive)"
segwit_change: "Yes"
full_rbf_bump_fee: "Yes"
full_rbf_cancel_txn: "Yes"
full_rbf_notification: "No"
cpfp: "Full Support (send & receive)"
descriptors: "Yes"
pbst_version: "V0"
pbst_export: "Yes"
pbst_update_finalize: "Yes"
musig2: "No Support"
coinjoin: "No Support"
payjoin_BIP78: "No Support"
payjoin_alternate: "No Support"
payjoin_alternate_name: ""
payment_code: "No Support"
silent_payments_BIP352: "No Support"
silent_payments_dns: "No Support"
lightning_11: "No Support"
lightning_12: "No Support"
lightning_12_dns: "No Support"
lightning_lnurl: "No Support"
lightning_lnurl_hrla: "No Support"
36 changes: 36 additions & 0 deletions _data/matrix/Passport.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: "Passport"
category: "Signing Device"
keyfeatures: "Open-source, intuitive, beautiful, and highly secure self-custody."
homepage: "https://foundation.xyz/passport"

feature:
device: ""
os: ""
web: "Not Applicable"
hw_interface: "No"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this perhaps be "Not Applicable"? A hardware signing device wouldn’t be expected to have a HWI, would it?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Absolute novice talking my way through here: If HWI is technically a "_Python library and command-line tool used to interface with hardware wallets_", then I would expect HWI to be "Not Applicable" for Signing Devices (as you suggest).

Would you agree, is that a good way to put this point to rest?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh I see. I probably misunderstood that column. I thought hw_interface was generally referring to whether a software wallet can interact with a hardware signer, but now I get the sense that it specifically refers to whether something is compatible with the HWI library.

If that is the intended meaning, it might make sense to call the YAML field just hwi, at least that threw me off. Perhaps the tooltip for that column could also be changed in that regard, I’ll suggest something there.

default_receive: "P2WPKH/P2TR"
bech32: "Full Support (send & receive)"
bech32m: "Full Support (send & receive)"
segwit_change: ""
full_rbf_bump_fee: ""
full_rbf_cancel_txn: ""
full_rbf_notification: ""
cpfp: ""
descriptors: "Yes"
pbst_version: "V0"
pbst_export: "Yes"
pbst_update_finalize: "Yes"
musig2: "No Support"
coinjoin: "Not Applicable"
payjoin_BIP78: ""
payjoin_alternate: ""
payjoin_alternate_name: ""
payment_code: "Send Support"
silent_payments_BIP352: "No Support"
silent_payments_dns: "No Support"
lightning_11: "No Support"
lightning_12: "No Support"
lightning_12_dns: "No Support"
lightning_lnurl: "No Support"
lightning_lnurl_hrla: "No Support"
36 changes: 36 additions & 0 deletions _data/matrix/Phoenix.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: "Phoenix"
category: "Software Wallet (L2)"
keyfeatures: "Phoenix is an easy-to-use non-custodial lightning wallet"
homepage: "https://phoenix.acinq.co/"

feature:
device: "Mobile"
os: "Android, iOS"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the past we had the issue that e.g. Phoenix had some features that were only live on Android but not on iOS or vice versa. How could we handle that situation in the future?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is indeed a bit of a curveball, I will need to mull on this.

web: "No"
hw_interface: "No"
default_receive: "P2TR via swap-in-potentiam"
bech32: "Send Support"
bech32m: "Full Support (send & receive)"
segwit_change: "No"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Phoenix having "No Support" for native segwit change when they only use P2TR outputs for receiving surprises me. Is this meant in the context of splicing out to pay someone? Should this field then perhaps be "Not Applicable"?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will confirm this with the Phoenix team.

As a reminder, all of the entires at this point were submitted by the respective product teams (outside Bitcoin Core Wallet).

full_rbf_bump_fee: "No"
full_rbf_cancel_txn: "No"
full_rbf_notification: "No"
cpfp: "Full Support (send & receive)"
descriptors: "Yes"
pbst_version: "Not Applicable"
pbst_export: "Not Applicable"
pbst_update_finalize: "Not Applicable"
musig2: "Full Support (send & receive)"
coinjoin: "Not Applicable"
payjoin_BIP78: "Not Applicable"
payjoin_alternate: "Not Applicable"
payjoin_alternate_name: ""
payment_code: ""
silent_payments_BIP352: "Not Applicable"
silent_payments_dns: "No Support"
lightning_11: "Full Support (send & receive)"
lightning_12: "Full Support (send & receive)"
lightning_12_dns: "Full Support (send & receive)"
lightning_lnurl: "Send Support"
lightning_lnurl_hrla: "Send Support"
36 changes: 36 additions & 0 deletions _data/matrix/Sparrow_Wallet.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: "Sparrow Wallet"
category: "Software Wallet (L1)"
keyfeatures: "Bitcoin desktop wallet with a focus on security, privacy and usability"
homepage: "https://sparrowwallet.com"

feature:
device: "Desktop"
os: "Linux, OS, Windows"
web: "No"
hw_interface: "Yes"
default_receive: "P2WPKH"
bech32: "Full Support (send & receive)"
bech32m: "Full Support (send & receive)"
segwit_change: "Yes"
full_rbf_bump_fee: "Yes"
full_rbf_cancel_txn: "Yes"
full_rbf_notification: "Yes"
cpfp: "Full Support (send & receive)"
descriptors: "Yes"
pbst_version: "V0"
pbst_export: "Yes"
pbst_update_finalize: "Yes"
musig2: "No Support"
coinjoin: "No Support"
payjoin_BIP78: "Send Support"
payjoin_alternate: ""
payjoin_alternate_name: ""
payment_code: "Full Support (send & receive)"
silent_payments_BIP352: "No Support"
silent_payments_dns: "No Support"
lightning_11: "No Support"
lightning_12: "No Support"
lightning_12_dns: "No Support"
lightning_lnurl: "No Support"
lightning_lnurl_hrla: "No Support"
36 changes: 36 additions & 0 deletions _data/matrix/Wasabi_Wallet_.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: "Wasabi Wallet "
category: "Software Wallet (L1)"
keyfeatures: "Privacy by default, with coinjoin, block filters, and Tor."
homepage: "https://wasabiwallet.io"

feature:
device: "Desktop"
os: "Linux, OS, Windows"
web: "No"
hw_interface: "Yes"
default_receive: "P2WPKH"
bech32: "Full Support (send & receive)"
bech32m: "Full Support (send & receive)"
segwit_change: "Yes"
full_rbf_bump_fee: "Yes"
full_rbf_cancel_txn: "Yes"
full_rbf_notification: "Yes"
cpfp: "Full Support (send & receive)"
descriptors: "Yes"
pbst_version: "V2"
pbst_export: "Yes"
pbst_update_finalize: "Yes"
musig2: "No Support"
coinjoin: "Full Support (send & receive)"
payjoin_BIP78: "Send Support"
payjoin_alternate: ""
payjoin_alternate_name: ""
payment_code: ""
silent_payments_BIP352: "No Support"
silent_payments_dns: "No Support"
lightning_11: "No Support"
lightning_12: "No Support"
lightning_12_dns: "No Support"
lightning_lnurl: "No Support"
lightning_lnurl_hrla: "No Support"