From b63b154d38d6400c4c7a9aa85f60c0f569e503a1 Mon Sep 17 00:00:00 2001 From: David Richards Date: Wed, 29 Jul 2026 16:33:59 +0100 Subject: [PATCH 1/6] Restructure wallet directory sections - Rename Interoperability category to dApp Connectivity (CIP-103) - Rename cc_support display name to "CC support"; add two_step_cc_transfers - Rename memo_tag_support to "transfers to omnibus accounts" and move it into Token Standard (it's a CIP-0056 concern, not Interoperability) - Split validator_hosting into validator_hosting_byov/private/shared under a new Validator Hosting category, above Transaction Signing; migrate Dfns's existing true answer to validator_hosting_byov (direct carry-forward of their old self-hosted/BYOV claim, not a new claim) - Capitalize Network Relevant Features - Update TEMPLATE.yaml and proof templates to match - Fix stale cc_support/memo_tag_support proof anchors in dfns.yaml and the dummy-wallet example after the renames, plus a pre-existing broken third-party-verification anchor (thirdparty vs third-party) found while verifying --- CONTRIBUTING.md | 2 +- WALLET_DIRECTORY.md | 14 ++-- examples/dummy-wallet-self-attestation.md | 18 ++++- .../dummy-wallet-third-party-attestation.md | 2 +- examples/dummy-wallet.yaml | 24 ++++-- proofs/_TEMPLATE/TEMPLATE-self-attestation.md | 54 +++++++++----- .../TEMPLATE-third-party-attestation.md | 61 ++++++++++------ proofs/dfns/dfns-self-attestation.md | 4 +- scripts/generate_table.py | 5 +- wallets/TEMPLATE.yaml | 61 ++++++++++------ wallets/_feature_registry.yaml | 73 +++++++++++++------ wallets/dfns.yaml | 18 +++-- wallets/send.yaml | 10 +-- 13 files changed, 227 insertions(+), 119 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 30d37a3..d792ab1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -47,7 +47,7 @@ verifiers. Each heading covers one feature, formatted exactly as it appears in `wallets/_feature_registry.yaml`, e.g.: ```markdown - ## CC support (transfers and holding) `cc_support` + ## CC support `cc_support` ``` In the third-party attestation file, each heading also names the verifier and the outcome (see "Third-party verification" below), and is unique per diff --git a/WALLET_DIRECTORY.md b/WALLET_DIRECTORY.md index 8124259..0af0d7c 100644 --- a/WALLET_DIRECTORY.md +++ b/WALLET_DIRECTORY.md @@ -28,16 +28,17 @@ be unsupported, contradicting the wallet -- click the name for their evidence · |     Form factor (Mobile / Browser / Desktop / Browser Extension / Hardware) | browser | browser, mobile, browser-extension | |     Deployment Model (Self-hosted / SaaS / Hybrid) | self-hosted, saas, hybrid | saas | | **Canton Coin** | | | -|     CC support (transfers and holding) | [✅](proofs/dfns/dfns-self-attestation.md#cc-support-transfers-and-holding-cc_support) | ✅ | +|     CC support | [✅](proofs/dfns/dfns-self-attestation.md#cc-support-cc_support) | ✅ | +|     Two-step CC transfers | — | — | |     Pre-approvals for CC | [✅](proofs/dfns/dfns-self-attestation.md#pre-approvals-for-cc-preapprovals) | ✅ | | **Token Standard** | | | |     CIP-0056 token standard transfer support | [✅](proofs/dfns/dfns-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | ✅ | |     CIP-0056 token standard allocation support | — | ✅ | |     CIP-112 token standard v2 support | — | ✅ | -| **Interoperability** | | | +|     Memo tag support for transfers to omnibus accounts | [✅](proofs/dfns/dfns-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | ✅ | +| **dApp Connectivity (CIP-103)** | | | |     CIP-0103 dApp API support | — | ✅ | |     Wallet Connect support | [✅](proofs/dfns/dfns-self-attestation.md#wallet-connect-support-walletconnect_support) | ✅ | -|     Memo tag support for transfers to exchanges | [✅](proofs/dfns/dfns-self-attestation.md#memo-tag-support-for-transfers-to-exchanges-memo_tag_support) | ✅ | ## Other Features @@ -52,15 +53,18 @@ be unsupported, contradicting the wallet -- click the name for their evidence · |     Social recovery | — | — | |     Multi-address / account | ✅ | — | |     Distributed parties | — | — | -| **Network relevant features** | | | +| **Network Relevant Features** | | | |     UTXO merge delegation contract enabled | — | — | +| **Validator Hosting** | | | +|     Bring-Your-Own-Validator (BYOV) | ✅ | — | +|     Private validator | — | — | +|     Shared validator | — | — | | **Transaction Signing** | | | |     Policy workflows | ✅ | — | |     Threshold Signature Scheme | ✅ | — | |     Hardware wallet support | [✅](proofs/dfns/dfns-self-attestation.md#hardware-wallet-support-hardware_wallet_support) | ✅ | | **Wallet Capabilities** | | | |     Compliance | ✅ | — | -|     Validator hosting (self-hosted / BYOV) | ✅ | — | |     Tokenization | — | — | |     Reward minting | — | — | |     Transfer object / proof of transfer support | — | — | diff --git a/examples/dummy-wallet-self-attestation.md b/examples/dummy-wallet-self-attestation.md index 8728785..ac9a8f3 100644 --- a/examples/dummy-wallet-self-attestation.md +++ b/examples/dummy-wallet-self-attestation.md @@ -9,7 +9,7 @@ placeholder data, not a real transaction record. --> --- -## CC support (transfers and holding) `cc_support` +## CC support `cc_support` > Send, receive, and hold Canton Coin. > @@ -23,6 +23,20 @@ placeholder data, not a real transaction record. --> - Screenshot(s) / video: ![holding](./dummy-wallet-self-attestation-images/cc_support-holding.png) - Notes: Round-trip transfer performed on Canton MainNet. +## Two-step CC transfers `two_step_cc_transfers` + +> Perform a two-step CC transfer (propose/create followed by a separate +> accept/settle step, rather than a single atomic send). +> +> Suggested test: Perform a two-step CC transfer. Record the transaction +> update ID(s) for both steps and optionally provide screenshots of each. + +- Transaction update ID(s): `1220a2b3c4d5e6f7...dummy-2step-propose`, `1220b3c4d5e6f7a8...dummy-2step-accept` +- Party ID(s): `dummy-wallet-party-1::1220...` +- Explorer link(s): https://scan.example.com/tx/1220a2b3c4d5e6f7...dummy-2step-propose +- Screenshot(s) / video: ![two-step](./dummy-wallet-self-attestation-images/two_step_cc_transfers-propose-accept.png) +- Notes: Proposed the transfer, then accepted it as a separate step, confirmed on Canton MainNet. + ## Pre-approvals for CC `preapprovals` > Auto-accept incoming CC without manual confirmation. Distinct from @@ -68,7 +82,7 @@ placeholder data, not a real transaction record. --> - Screenshot(s) / video: ![dapp-connect](./dummy-wallet-self-attestation-images/cip_0103_dapp_api-session.png) - Notes: Connected to a sample dApp via CIP-0103 and signed a transaction initiated from it. -## Memo tag support for transfers to exchanges `memo_tag_support` +## Memo tag support for transfers to omnibus accounts `memo_tag_support` > Attach a memo tag to a transfer, recorded under the > splice.lfdecentralizedtrust.org/reason metadata. diff --git a/examples/dummy-wallet-third-party-attestation.md b/examples/dummy-wallet-third-party-attestation.md index 6bb3b3e..65abd65 100644 --- a/examples/dummy-wallet-third-party-attestation.md +++ b/examples/dummy-wallet-third-party-attestation.md @@ -9,7 +9,7 @@ record. --> --- -## CC support (transfers and holding) `cc_support` — Verified by Third Party +## CC support `cc_support` — Verified by Third Party > Send, receive, and hold Canton Coin. > diff --git a/examples/dummy-wallet.yaml b/examples/dummy-wallet.yaml index db1cad5..38ef225 100644 --- a/examples/dummy-wallet.yaml +++ b/examples/dummy-wallet.yaml @@ -17,12 +17,16 @@ features: # Canton Coin cc_support: supported: true - proof: examples/dummy-wallet-self-attestation.md#cc-support-transfers-and-holding-cc_support + proof: examples/dummy-wallet-self-attestation.md#cc-support-cc_support verified_by: - by: ThirdParty date: "2026-06-05" result: verified - proof: examples/dummy-wallet-third-party-attestation.md#cc-support-transfers-and-holding-cc_support-verified-by-thirdparty + proof: examples/dummy-wallet-third-party-attestation.md#cc-support-cc_support-verified-by-third-party + two_step_cc_transfers: + supported: true + proof: examples/dummy-wallet-self-attestation.md#two-step-cc-transfers-two_step_cc_transfers + verified_by: [] preapprovals: supported: true proof: examples/dummy-wallet-self-attestation.md#pre-approvals-for-cc-preapprovals @@ -37,8 +41,12 @@ features: supported: true proof: null verified_by: [] + memo_tag_support: + supported: true + proof: examples/dummy-wallet-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support + verified_by: [] - # Interoperability + # dApp Connectivity (CIP-103) cip_0103_dapp_api: supported: true proof: examples/dummy-wallet-self-attestation.md#cip-0103-dapp-api-support-cip_0103_dapp_api @@ -48,12 +56,8 @@ features: reason: "Not yet implemented; CIP-0103 is used today for dApp connections." proof: null verified_by: [] - memo_tag_support: - supported: true - proof: examples/dummy-wallet-self-attestation.md#memo-tag-support-for-transfers-to-exchanges-memo_tag_support - verified_by: [] - # Network relevant features + # Network Relevant Features utxo_merge_delegation: supported: false proof: null @@ -63,6 +67,10 @@ features: key_recovery: supported: true + # Validator Hosting + validator_hosting_byov: + supported: true + # Transaction Signing hardware_wallet_support: supported: true diff --git a/proofs/_TEMPLATE/TEMPLATE-self-attestation.md b/proofs/_TEMPLATE/TEMPLATE-self-attestation.md index c93e6a6..4d9cd27 100644 --- a/proofs/_TEMPLATE/TEMPLATE-self-attestation.md +++ b/proofs/_TEMPLATE/TEMPLATE-self-attestation.md @@ -11,7 +11,7 @@ features you're backing with evidence; screenshots go in --- -## CC support (transfers and holding) `cc_support` +## CC support `cc_support` > Send, receive, and hold Canton Coin. > @@ -37,6 +37,22 @@ wallets/_feature_registry.yaml). Just set `supported` in your wallet YAML for those; no proof, no heading, no verification. --> + + + + - - + + diff --git a/proofs/dfns/dfns-self-attestation.md b/proofs/dfns/dfns-self-attestation.md index b521f3d..8a6c1c7 100644 --- a/proofs/dfns/dfns-self-attestation.md +++ b/proofs/dfns/dfns-self-attestation.md @@ -5,7 +5,7 @@ Last updated: 2026-07-24 --- -## CC support (transfers and holding) `cc_support` +## CC support `cc_support` > Send, receive, and hold Canton Coin. @@ -45,7 +45,7 @@ Last updated: 2026-07-24 [Use WalletConnect — Dfns docs](https://docs.dfns.co/guides/walletconnect), [Institutional Certified by WalletConnect](https://www.dfns.co/article/institutional-certified-by-walletconnect). -## Memo tag support for transfers to exchanges `memo_tag_support` +## Memo tag support for transfers to omnibus accounts `memo_tag_support` > Attach a memo tag to a transfer, recorded under the > splice.lfdecentralizedtrust.org/reason metadata. diff --git a/scripts/generate_table.py b/scripts/generate_table.py index b6db435..d031f24 100644 --- a/scripts/generate_table.py +++ b/scripts/generate_table.py @@ -17,7 +17,8 @@ Output is two tables, matching the split in Feature List.md: "Wallet Overview & Primary Canton Network Features" (Wallet Type, Canton Coin, -Token Standard, Interoperability) and "Other Features" (everything else). +Token Standard, dApp Connectivity (CIP-103)) and "Other Features" +(everything else). There is no "required vs. optional" distinction -- see the note at the top of wallets/_feature_registry.yaml. """ @@ -30,7 +31,7 @@ # Categories that make up table 1, "Wallet Overview & Primary Canton # Network Features" -- everything else goes in table 2, "Other Features". -TABLE_1_CATEGORIES = {"Wallet Type", "Canton Coin", "Token Standard", "Interoperability"} +TABLE_1_CATEGORIES = {"Wallet Type", "Canton Coin", "Token Standard", "dApp Connectivity (CIP-103)"} # --- Minimal YAML reader ----------------------------------------------- diff --git a/wallets/TEMPLATE.yaml b/wallets/TEMPLATE.yaml index 6ebfddf..77fba2f 100644 --- a/wallets/TEMPLATE.yaml +++ b/wallets/TEMPLATE.yaml @@ -25,7 +25,7 @@ added: null # YYYY-MM-DD # not supported". # proof: link to your evidence heading in # proofs/your-wallet-name/your-wallet-name-self-attestation.md, -# e.g. proofs/your-wallet-name/your-wallet-name-self-attestation.md#cc-support-transfers-and-holding-cc_support +# e.g. proofs/your-wallet-name/your-wallet-name-self-attestation.md#cc-support-cc_support # Leave null if you haven't put together evidence yet. # verified_by: list of independent verifications. Leave as [] until a # third party verifies this claim (see CONTRIBUTING.md -> @@ -65,6 +65,16 @@ features: proof: null verified_by: [] + # Two-step CC transfer (propose/create followed by a separate + # accept/settle step, rather than a single atomic send). + # Suggested test: Perform a two-step CC transfer. Record the transaction + # update ID(s) for both steps and optionally provide screenshots of each. + two_step_cc_transfers: + supported: false + # reason: "" + proof: null + verified_by: [] + # Auto-accept incoming CC without manual confirmation. Distinct from # registry_preapprovals (App Specific) below. # Suggested test: Enable pre-approvals for CC. Send CC to the wallet @@ -110,7 +120,19 @@ features: # proof: null # verified_by: [] - # Interoperability + # Attach a memo tag to a transfer, recorded under the + # splice.lfdecentralizedtrust.org/reason metadata. + # Suggested test: Include a memo tag in an asset transfer (this can be + # combined with the cc_support test). Record the transaction update ID + # showing the memo tag under the splice.lfdecentralizedtrust.org/reason + # metadata in the transaction JSON. + memo_tag_support: + supported: false + # reason: "" + proof: null + verified_by: [] + + # dApp Connectivity (CIP-103) # Connect to and sign transactions from a third-party dApp via CIP-0103. # Suggested test: Connect to a dApp using a CIP-0103 connection. Initiate # a transaction from within the dApp and sign it from the wallet. Confirm @@ -134,18 +156,6 @@ features: proof: null verified_by: [] - # Attach a memo tag to a transfer, recorded under the - # splice.lfdecentralizedtrust.org/reason metadata. - # Suggested test: Include a memo tag in an asset transfer (this can be - # combined with the cc_support test). Record the transaction update ID - # showing the memo tag under the splice.lfdecentralizedtrust.org/reason - # metadata in the transaction JSON. - memo_tag_support: - supported: false - # reason: "" - proof: null - verified_by: [] - # App Specific ## Auto-accept incoming registry-issued (non-CC) assets. Distinct from ## Canton Coin preapprovals. @@ -203,7 +213,7 @@ features: # verified_by: [] - # Network relevant features + # Network Relevant Features ## The wallet enables the merge delegation contract so UTXOs can be ## consolidated on-chain, reducing UTXO bloat. @@ -216,6 +226,21 @@ features: # proof: null # verified_by: [] + # Validator Hosting + ## Which validator hosting model(s) the wallet supports. Not Canton + ## Network specific -- no proof needed. + # validator_hosting_byov: + # supported: true + # # reason: "" + + # validator_hosting_private: + # supported: true + # # reason: "" + + # validator_hosting_shared: + # supported: true + # # reason: "" + # Transaction Signing ## Configurable approval policies before a transaction is signed. Not ## Canton Network specific -- no proof needed. @@ -245,12 +270,6 @@ features: # supported: true # # reason: "" - ## Validator hosting, self-hosted or bring-your-own-validator (BYOV). Not - ## Canton Network specific -- no proof needed. - # validator_hosting: - # supported: true - # # reason: "" - ## Tokenization capabilities the wallet supports. # tokenization: # supported: true diff --git a/wallets/_feature_registry.yaml b/wallets/_feature_registry.yaml index 4118a7d..4d36a51 100644 --- a/wallets/_feature_registry.yaml +++ b/wallets/_feature_registry.yaml @@ -36,13 +36,23 @@ features: # --- Primary Canton Network Features > Canton Coin --- - id: cc_support - name: "CC support (transfers and holding)" + name: "CC support" category: "Canton Coin" type: boolean suggested_test: > - Send CC to and from the wallet. Record the transaction update IDs and + Send CC to and from the wallet. Record the transaction update IDs and optionally provide screenshots of the holding, transfer, and party ID. + - id: two_step_cc_transfers + name: "Two-step CC transfers" + category: "Canton Coin" + type: boolean + suggested_test: > + Perform a two-step CC transfer (propose/create followed by a separate + accept/settle step, rather than a single atomic send). Record the + transaction update ID(s) for both steps and optionally provide + screenshots of each. + - id: preapprovals name: "Pre-approvals for CC" category: "Canton Coin" @@ -81,10 +91,20 @@ features: update ID and optionally provide screenshots of the holding and transfer, noting the CIP-112 version in the token metadata. - # --- Primary Canton Network Features > Interoperability + - id: memo_tag_support + name: "Memo tag support for transfers to omnibus accounts" + category: "Token Standard" + type: boolean + suggested_test: > + Include a memo tag in an asset transfer (this can be combined with + the cc_support test). Record the transaction update ID showing the + memo tag under the splice.lfdecentralizedtrust.org/reason metadata in + the transaction JSON. + + # --- Primary Canton Network Features > dApp Connectivity (CIP-103) --- - id: cip_0103_dapp_api name: "CIP-0103 dApp API support" - category: "Interoperability" + category: "dApp Connectivity (CIP-103)" type: boolean suggested_test: > Connect to a dApp using a CIP-0103 connection. Initiate a transaction @@ -94,23 +114,13 @@ features: - id: walletconnect_support name: "Wallet Connect support" - category: "Interoperability" + category: "dApp Connectivity (CIP-103)" type: boolean suggested_test: > Connect to a dApp using Wallet Connect. Initiate a transaction from within the dApp and sign it from the wallet. Confirm the successful transaction. Optionally provide screenshots or a video recording. - - id: memo_tag_support - name: "Memo tag support for transfers to exchanges" - category: "Interoperability" - type: boolean - suggested_test: > - Include a memo tag in an asset transfer (this can be combined with - the cc_support test). Record the transaction update ID showing the - memo tag under the splice.lfdecentralizedtrust.org/reason metadata in - the transaction JSON. - # --- Other Features > App Specific --- # NOTE: this used to share the "preapprovals" id with the Canton Coin # entry above on the theory that one combined test covered both. Their @@ -167,16 +177,39 @@ features: category: "Party Specific" type: boolean - # --- Other Features > Network relevant features --- + # --- Other Features > Network Relevant Features --- - id: utxo_merge_delegation name: "UTXO merge delegation contract enabled" - category: "Network relevant features" + category: "Network Relevant Features" type: boolean suggested_test: > Enable the merge delegation contract in the wallet. Witness a UTXO consolidation contract on-chain for CC (sender & receiver are the same party). + # --- Other Features > Validator Hosting --- + # NOTE: this used to be a single "Validator hosting (self-hosted / BYOV)" + # boolean under the "validator_hosting" id. Split into three so wallets + # can indicate which specific hosting model(s) they support, rather than + # a single yes/no. + - id: validator_hosting_byov + name: "Bring-Your-Own-Validator (BYOV)" + category: "Validator Hosting" + type: boolean + self_attested_only: true + + - id: validator_hosting_private + name: "Private validator" + category: "Validator Hosting" + type: boolean + self_attested_only: true + + - id: validator_hosting_shared + name: "Shared validator" + category: "Validator Hosting" + type: boolean + self_attested_only: true + # --- Other Features > Transaction Signing --- - id: policy_workflows name: "Policy workflows" @@ -202,12 +235,6 @@ features: type: boolean self_attested_only: true - - id: validator_hosting - name: "Validator hosting (self-hosted / BYOV)" - category: "Wallet Capabilities" - type: boolean - self_attested_only: true - - id: tokenization name: "Tokenization" category: "Wallet Capabilities" diff --git a/wallets/dfns.yaml b/wallets/dfns.yaml index 53e265d..f8dc889 100644 --- a/wallets/dfns.yaml +++ b/wallets/dfns.yaml @@ -15,7 +15,7 @@ features: # Canton Coin cc_support: supported: true - proof: proofs/dfns/dfns-self-attestation.md#cc-support-transfers-and-holding-cc_support + proof: proofs/dfns/dfns-self-attestation.md#cc-support-cc_support verified_by: [] preapprovals: supported: true @@ -27,16 +27,16 @@ features: supported: true proof: proofs/dfns/dfns-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer verified_by: [] + memo_tag_support: + supported: true + proof: proofs/dfns/dfns-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support + verified_by: [] - # Interoperability + # dApp Connectivity (CIP-103) walletconnect_support: supported: true proof: proofs/dfns/dfns-self-attestation.md#wallet-connect-support-walletconnect_support verified_by: [] - memo_tag_support: - supported: true - proof: proofs/dfns/dfns-self-attestation.md#memo-tag-support-for-transfers-to-exchanges-memo_tag_support - verified_by: [] # App Specific registry_preapprovals: @@ -56,6 +56,10 @@ features: multi_address: supported: true + # Validator Hosting + validator_hosting_byov: + supported: true + # Transaction Signing policy_workflows: supported: true @@ -69,8 +73,6 @@ features: # Wallet Capabilities compliance: supported: true - validator_hosting: - supported: true clear_signing: supported: true proof: proofs/dfns/dfns-self-attestation.md#clear-signing-clear_signing diff --git a/wallets/send.yaml b/wallets/send.yaml index f4daf87..7a35faa 100644 --- a/wallets/send.yaml +++ b/wallets/send.yaml @@ -35,17 +35,17 @@ features: supported: true proof: null verified_by: [] - - # Interoperability - cip_0103_dapp_api: + memo_tag_support: supported: true proof: null verified_by: [] - walletconnect_support: + + # dApp Connectivity (CIP-103) + cip_0103_dapp_api: supported: true proof: null verified_by: [] - memo_tag_support: + walletconnect_support: supported: true proof: null verified_by: [] From f1fcb2d4b8f6150d0fc283db5ce834aea011574c Mon Sep 17 00:00:00 2001 From: David Richards Date: Wed, 29 Jul 2026 16:42:24 +0100 Subject: [PATCH 2/6] Reformat legend as one item per line, drop colon after Legend --- WALLET_DIRECTORY.md | 14 ++++++++++---- scripts/generate_table.py | 14 ++++++++++---- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/WALLET_DIRECTORY.md b/WALLET_DIRECTORY.md index 0af0d7c..1fc56d5 100644 --- a/WALLET_DIRECTORY.md +++ b/WALLET_DIRECTORY.md @@ -9,10 +9,16 @@ Source of truth for Canton Network wallet providers' supported features and assets, per the Wallet Directory Program (see [CONTRIBUTING.md](./CONTRIBUTING.md)). -**Legend:** ✅ self-attested -- click through to the evidence · 🛡️ *name* verified by an -independent third party -- click the name for their evidence · ❌ *name* found this claim to -be unsupported, contradicting the wallet -- click the name for their evidence · a linked -"Not supported" means the wallet has said no with a reason · +**Legend** + +✅ self-attested -- click through to the evidence + +🛡️ *name* verified by an independent third party -- click the name for their evidence + +❌ *name* found this claim to be unsupported, contradicting the wallet -- click the name for their evidence + +A linked "Not supported" means the wallet has said no with a reason + — no claim made either way. ## Wallet Overview & Primary Canton Network Features diff --git a/scripts/generate_table.py b/scripts/generate_table.py index d031f24..53bbcd5 100644 --- a/scripts/generate_table.py +++ b/scripts/generate_table.py @@ -361,10 +361,16 @@ def main(): Source of truth for Canton Network wallet providers' supported features and assets, per the Wallet Directory Program (see [CONTRIBUTING.md](./CONTRIBUTING.md)). -**Legend:** ✅ self-attested -- click through to the evidence · 🛡️ *name* verified by an -independent third party -- click the name for their evidence · ❌ *name* found this claim to -be unsupported, contradicting the wallet -- click the name for their evidence · a linked -"Not supported" means the wallet has said no with a reason · +**Legend** + +✅ self-attested -- click through to the evidence + +🛡️ *name* verified by an independent third party -- click the name for their evidence + +❌ *name* found this claim to be unsupported, contradicting the wallet -- click the name for their evidence + +A linked "Not supported" means the wallet has said no with a reason + — no claim made either way. ## Wallet Overview & Primary Canton Network Features From 50277fb519cedad20dfb5db3848074c1f13e6541 Mon Sep 17 00:00:00 2001 From: David Richards Date: Thu, 30 Jul 2026 11:59:28 +0100 Subject: [PATCH 3/6] Order wallets by date added (earliest left) instead of alphabetically Missing 'added' values sort to the end; same-day ties break alphabetically by name for stability. --- scripts/generate_table.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/generate_table.py b/scripts/generate_table.py index 53bbcd5..067ff5a 100644 --- a/scripts/generate_table.py +++ b/scripts/generate_table.py @@ -222,7 +222,9 @@ def load_wallets(wallets_dir): continue data["_source_file"] = os.path.relpath(path) wallets.append(data) - return sorted(wallets, key=lambda w: w.get("name", "").lower()) + # Ordered by date added (earliest first, left to right); wallets missing + # `added` sort to the end. Same-day ties break alphabetically by name. + return sorted(wallets, key=lambda w: (w.get("added") or "9999-99-99", w.get("name", "").lower())) def wallet_file_link(wallet): From 5a1f970c92a8680ff2d4584aad119c860b0bbaad Mon Sep 17 00:00:00 2001 From: David Richards Date: Thu, 30 Jul 2026 15:29:28 +0100 Subject: [PATCH 4/6] Migrate Askardex and Walley to the restructured registry - Update cc_support/memo_tag_support proof anchors and proof-file headings to match the renames (CC support; memo tag support for transfers to omnibus accounts), and move memo_tag_support into the Token Standard block in each wallet's yaml - Rename each wallet's Interoperability comment to dApp Connectivity (CIP-103) - Migrate Walley's validator_hosting: false to validator_hosting_byov, carrying forward its existing reason (direct claim match: it explicitly said BYOV is not offered) - Flag both Askardex's and Walley's remaining validator hosting questions as TODOs needing a follow-up from each wallet: Askardex's old 'supported: true' doesn't say which of BYOV/private/shared applies, and Walley's reason text is ambiguous between private and shared --- WALLET_DIRECTORY.md | 6 ++-- .../askardex-wallet-self-attestation.md | 4 +-- proofs/walley/walley-self-attestation.md | 4 +-- wallets/askardex-wallet.yaml | 29 +++++++++++------ wallets/walley.yaml | 31 +++++++++++++------ 5 files changed, 48 insertions(+), 26 deletions(-) diff --git a/WALLET_DIRECTORY.md b/WALLET_DIRECTORY.md index 0e6233d..553d3ec 100644 --- a/WALLET_DIRECTORY.md +++ b/WALLET_DIRECTORY.md @@ -34,14 +34,14 @@ A linked "Not supported" means the wallet has said no with a reason |     Form factor (Mobile / Browser / Desktop / Browser Extension / Hardware) | browser | browser, mobile, browser-extension | mobile | browser | |     Deployment Model (Self-hosted / SaaS / Hybrid) | self-hosted, saas, hybrid | saas | saas | saas | | **Canton Coin** | | | | | -|     CC support | [✅](proofs/dfns/dfns-self-attestation.md#cc-support-cc_support) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cc-support-transfers-and-holding-cc_support) | [✅](proofs/walley/walley-self-attestation.md#cc-support-transfers-and-holding-cc_support) | +|     CC support | [✅](proofs/dfns/dfns-self-attestation.md#cc-support-cc_support) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cc-support-cc_support) | [✅](proofs/walley/walley-self-attestation.md#cc-support-cc_support) | |     Two-step CC transfers | — | — | — | — | |     Pre-approvals for CC | [✅](proofs/dfns/dfns-self-attestation.md#pre-approvals-for-cc-preapprovals) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#pre-approvals-for-cc-preapprovals) | [✅](proofs/walley/walley-self-attestation.md#pre-approvals-for-cc-preapprovals) | | **Token Standard** | | | | | |     CIP-0056 token standard transfer support | [✅](proofs/dfns/dfns-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | [✅](proofs/walley/walley-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | |     CIP-0056 token standard allocation support | — | ✅ | — | [✅](proofs/walley/walley-self-attestation.md#cip-0056-token-standard-allocation-support-cip_0056_allocation) | |     CIP-112 token standard v2 support | — | ✅ | — | [Not supported](wallets/walley.yaml) | -|     Memo tag support for transfers to omnibus accounts | [✅](proofs/dfns/dfns-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#memo-tag-support-for-transfers-to-exchanges-memo_tag_support) | [✅](proofs/walley/walley-self-attestation.md#memo-tag-support-for-transfers-to-exchanges-memo_tag_support) | +|     Memo tag support for transfers to omnibus accounts | [✅](proofs/dfns/dfns-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | [✅](proofs/walley/walley-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | | **dApp Connectivity (CIP-103)** | | | | | |     CIP-0103 dApp API support | — | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cip-0103-dapp-api-support-cip_0103_dapp_api) | [✅](proofs/walley/walley-self-attestation.md#cip-0103-dapp-api-support-cip_0103_dapp_api) | |     Wallet Connect support | [✅](proofs/dfns/dfns-self-attestation.md#wallet-connect-support-walletconnect_support) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#wallet-connect-support-walletconnect_support) | [Not supported](wallets/walley.yaml) | @@ -62,7 +62,7 @@ A linked "Not supported" means the wallet has said no with a reason | **Network Relevant Features** | | | | | |     UTXO merge delegation contract enabled | — | — | — | [✅](proofs/walley/walley-self-attestation.md#utxo-merge-delegation-contract-enabled-utxo_merge_delegation) | | **Validator Hosting** | | | | | -|     Bring-Your-Own-Validator (BYOV) | ✅ | — | — | — | +|     Bring-Your-Own-Validator (BYOV) | ✅ | — | — | [Not supported](wallets/walley.yaml) | |     Private validator | — | — | — | — | |     Shared validator | — | — | — | — | | **Transaction Signing** | | | | | diff --git a/proofs/askardex-wallet/askardex-wallet-self-attestation.md b/proofs/askardex-wallet/askardex-wallet-self-attestation.md index a1f9a0e..4fde748 100644 --- a/proofs/askardex-wallet/askardex-wallet-self-attestation.md +++ b/proofs/askardex-wallet/askardex-wallet-self-attestation.md @@ -7,7 +7,7 @@ All tests performed on Canton Network MainNet (Splice 0.6.x, Migration ID 4). --- -## CC support (transfers and holding) `cc_support` +## CC support `cc_support` > Send, receive, and hold Canton Coin. > @@ -102,7 +102,7 @@ Four CIP-0056 tokens tested on mainnet: --- -## Memo tag support for transfers to exchanges `memo_tag_support` +## Memo tag support for transfers to omnibus accounts `memo_tag_support` > Attach a memo tag to a transfer, recorded under the > splice.lfdecentralizedtrust.org/reason metadata. diff --git a/proofs/walley/walley-self-attestation.md b/proofs/walley/walley-self-attestation.md index 2af801c..71166c2 100644 --- a/proofs/walley/walley-self-attestation.md +++ b/proofs/walley/walley-self-attestation.md @@ -19,7 +19,7 @@ request. --- -## CC support (transfers and holding) `cc_support` +## CC support `cc_support` > Send, receive, and hold Canton Coin. > @@ -133,7 +133,7 @@ request. connecting and revoking sessions at . -## Memo tag support for transfers to exchanges `memo_tag_support` +## Memo tag support for transfers to omnibus accounts `memo_tag_support` > Attach a memo tag to a transfer, recorded under the > splice.lfdecentralizedtrust.org/reason metadata. diff --git a/wallets/askardex-wallet.yaml b/wallets/askardex-wallet.yaml index 148ebab..eceeac5 100644 --- a/wallets/askardex-wallet.yaml +++ b/wallets/askardex-wallet.yaml @@ -21,7 +21,7 @@ features: # Canton Coin cc_support: supported: true - proof: proofs/askardex-wallet/askardex-wallet-self-attestation.md#cc-support-transfers-and-holding-cc_support + proof: proofs/askardex-wallet/askardex-wallet-self-attestation.md#cc-support-cc_support verified_by: [] preapprovals: @@ -35,7 +35,12 @@ features: proof: proofs/askardex-wallet/askardex-wallet-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer verified_by: [] - # Interoperability + memo_tag_support: + supported: true + proof: proofs/askardex-wallet/askardex-wallet-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support + verified_by: [] + + # dApp Connectivity (CIP-103) cip_0103_dapp_api: supported: true proof: proofs/askardex-wallet/askardex-wallet-self-attestation.md#cip-0103-dapp-api-support-cip_0103_dapp_api @@ -46,21 +51,25 @@ features: proof: proofs/askardex-wallet/askardex-wallet-self-attestation.md#wallet-connect-support-walletconnect_support verified_by: [] - memo_tag_support: - supported: true - proof: proofs/askardex-wallet/askardex-wallet-self-attestation.md#memo-tag-support-for-transfers-to-exchanges-memo_tag_support - verified_by: [] - # Party Specific key_generation_method: "Seed phrase (BIP-39 mnemonic, 24 words)" key_recovery: supported: true - # Wallet Capabilities - validator_hosting: - supported: true + # Validator Hosting + # TODO: "validator_hosting" was split into validator_hosting_byov, + # validator_hosting_private, and validator_hosting_shared. Askardex's + # prior answer (supported: true) doesn't say which model(s) apply -- + # needs a follow-up from Askardex to fill these in correctly. + # validator_hosting_byov: + # supported: true + # validator_hosting_private: + # supported: true + # validator_hosting_shared: + # supported: true + # Wallet Capabilities reward_minting: supported: true proof: proofs/askardex-wallet/askardex-wallet-self-attestation.md#reward-minting-reward_minting diff --git a/wallets/walley.yaml b/wallets/walley.yaml index 28785dc..b4c7207 100644 --- a/wallets/walley.yaml +++ b/wallets/walley.yaml @@ -15,7 +15,7 @@ features: # Canton Coin cc_support: supported: true - proof: proofs/walley/walley-self-attestation.md#cc-support-transfers-and-holding-cc_support + proof: proofs/walley/walley-self-attestation.md#cc-support-cc_support verified_by: [] preapprovals: supported: true @@ -37,7 +37,12 @@ features: proof: null verified_by: [] - # Interoperability + memo_tag_support: + supported: true + proof: proofs/walley/walley-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support + verified_by: [] + + # dApp Connectivity (CIP-103) cip_0103_dapp_api: supported: true proof: proofs/walley/walley-self-attestation.md#cip-0103-dapp-api-support-cip_0103_dapp_api @@ -47,10 +52,6 @@ features: reason: "dApps connect to Walley through the CIP-0103 provider adapter. WalletConnect is used only to attach an external Ethereum wallet for USDCx bridging, never for dApp sessions with Walley." proof: null verified_by: [] - memo_tag_support: - supported: true - proof: proofs/walley/walley-self-attestation.md#memo-tag-support-for-transfers-to-exchanges-memo_tag_support - verified_by: [] # App Specific registry_preapprovals: @@ -98,10 +99,22 @@ features: proof: null verified_by: [] - # Wallet Capabilities - validator_hosting: + # Validator Hosting + validator_hosting_byov: supported: false - reason: "Walley hosts every user party on its own validator. Bring-your-own-validator is not offered." + reason: "Bring-your-own-validator is not offered. Walley hosts every user party on its own validator." + # TODO: "validator_hosting" was split into validator_hosting_byov, + # validator_hosting_private, and validator_hosting_shared. Walley's prior + # answer confirms BYOV is not offered (carried forward above), but doesn't + # say whether "hosts every user party on its own validator" means a + # dedicated (private) validator per user or one Walley-run validator + # shared across users -- needs a follow-up from Walley to fill these in. + # validator_hosting_private: + # supported: true + # validator_hosting_shared: + # supported: true + + # Wallet Capabilities reward_minting: supported: false reason: "Walley does not claim or mint validator or app rewards on behalf of users." From 2d4c97ba6c3aeab7c076af291f119eaf30332494 Mon Sep 17 00:00:00 2001 From: David Richards Date: Fri, 31 Jul 2026 09:09:23 +0100 Subject: [PATCH 5/6] Wrap long free-text cells at 30 chars with
to cap column width GitHub tables have no CSS-based width control, so a single long key_generation_method or assets_supported value was forcing that whole column wide. Wrapping keeps every column's width fixed and grows the cell's height instead. --- WALLET_DIRECTORY.md | 6 +++--- scripts/generate_table.py | 23 +++++++++++++++++++++-- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/WALLET_DIRECTORY.md b/WALLET_DIRECTORY.md index 553d3ec..304d725 100644 --- a/WALLET_DIRECTORY.md +++ b/WALLET_DIRECTORY.md @@ -31,7 +31,7 @@ A linked "Not supported" means the wallet has said no with a reason | **Wallet Type** | | | | | |     Retail / Enterprise | enterprise | retail | Retail | retail | |     Custody Type | self-custodial | self-custodial | Self-custodial | self-custodial | -|     Form factor (Mobile / Browser / Desktop / Browser Extension / Hardware) | browser | browser, mobile, browser-extension | mobile | browser | +|     Form factor (Mobile / Browser / Desktop / Browser Extension / Hardware) | browser | browser, mobile,
browser-extension | mobile | browser | |     Deployment Model (Self-hosted / SaaS / Hybrid) | self-hosted, saas, hybrid | saas | saas | saas | | **Canton Coin** | | | | | |     CC support | [✅](proofs/dfns/dfns-self-attestation.md#cc-support-cc_support) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cc-support-cc_support) | [✅](proofs/walley/walley-self-attestation.md#cc-support-cc_support) | @@ -54,7 +54,7 @@ A linked "Not supported" means the wallet has said no with a reason |     Pre-approvals for DA Registry issued assets | [Not supported](wallets/dfns.yaml) | — | — | [✅](proofs/walley/walley-self-attestation.md#pre-approvals-for-da-registry-issued-assets-registry_preapprovals) | |     Wallet Gateway signing driver | [✅](proofs/dfns/dfns-self-attestation.md#wallet-gateway-signing-driver-wallet_gateway_signing_driver) | — | — | [Not supported](wallets/walley.yaml) | | **Party Specific** | | | | | -|     Key generation method | MPC/TSS -- keys generated as distributed shares across Dfns's signing network -- or HSM-based key generation; no seed phrases | — | Seed phrase (BIP-39 mnemonic, 24 words) | WebAuthn passkey PRF secret, expanded with HKDF-SHA512 into an Ed25519 signing key that is generated and held in the browser. A 24-word BIP-39 phrase backs up the same secret. | +|     Key generation method | MPC/TSS -- keys generated as
distributed shares across
Dfns's signing network -- or
HSM-based key generation; no
seed phrases | — | Seed phrase (BIP-39 mnemonic,
24 words) | WebAuthn passkey PRF secret,
expanded with HKDF-SHA512 into
an Ed25519 signing key that is
generated and held in the
browser. A 24-word BIP-39
phrase backs up the same
secret. | |     Key recovery | ✅ | ✅ | ✅ | ✅ | |     Social recovery | — | — | — | [Not supported](wallets/walley.yaml) | |     Multi-address / account | ✅ | — | — | [Not supported](wallets/walley.yaml) | @@ -76,5 +76,5 @@ A linked "Not supported" means the wallet has said no with a reason |     Transfer object / proof of transfer support | — | — | — | [Not supported](wallets/walley.yaml) | |     Clear signing | [✅](proofs/dfns/dfns-self-attestation.md#clear-signing-clear_signing) | — | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#clear-signing-clear_signing) | [✅](proofs/walley/walley-self-attestation.md#clear-signing-clear_signing) | |     Integrated swaps | — | ✅ | [Not supported](wallets/askardex-wallet.yaml) | [✅](proofs/walley/walley-self-attestation.md#integrated-swaps-integrated_swaps) | -|     Assets supported | CC, Other CIP-0056 tokens on demand (token issuer provides an RPC node) | CC, CIP-0056 tokens | CC, USDCx (CIP-0056), CBTC (CIP-0056), CETH (CIP-0056), HANDL (CIP-0056) | CC, USDCx, CBTC, cETH, SBC, raUSD, HANDL, EDELx, USDM1, TRKX index tokens, Tradecraft LP tokens, any CIP-0056 token in the Walley registry (79 live at api.walley.cc/v1/tokens) | +|     Assets supported | CC, Other CIP-0056 tokens on
demand (token issuer provides
an RPC node) | CC, CIP-0056 tokens | CC, USDCx (CIP-0056), CBTC
(CIP-0056), CETH (CIP-0056),
HANDL (CIP-0056) | CC, USDCx, CBTC, cETH, SBC,
raUSD, HANDL, EDELx, USDM1,
TRKX index tokens, Tradecraft
LP tokens, any CIP-0056 token
in the Walley registry (79
live at
api.walley.cc/v1/tokens) | |     Languages supported | English | English | English | English | diff --git a/scripts/generate_table.py b/scripts/generate_table.py index 067ff5a..424be08 100644 --- a/scripts/generate_table.py +++ b/scripts/generate_table.py @@ -26,9 +26,17 @@ import glob import os import re +import textwrap INDENT = "    " +# GitHub markdown tables have no column-width control (no CSS support in +# rendered .md), so long free-text cells (e.g. key_generation_method, +# assets_supported) would otherwise force that whole column wide. Wrapping +# at a fixed character count with
keeps every column's width capped +# and predictable -- the cell just gets taller instead of the column wider. +CELL_WRAP_WIDTH = 30 + # Categories that make up table 1, "Wallet Overview & Primary Canton # Network Features" -- everything else goes in table 2, "Other Features". TABLE_1_CATEGORIES = {"Wallet Type", "Canton Coin", "Token Standard", "dApp Connectivity (CIP-103)"} @@ -276,13 +284,24 @@ def link_names(entries): return cell +def wrap_cell_text(text, width=CELL_WRAP_WIDTH): + # break_long_words=False: a single word/URL longer than `width` is left + # intact on its own line rather than getting chopped mid-word. + lines = textwrap.wrap(text, width=width, break_long_words=False, break_on_hyphens=False) + return "
".join(lines) if lines else text + + def render_freetext_cell(feature_id, wallet): val = (wallet.get("features") or {}).get(feature_id) if val in (None, "", []): return "—" if isinstance(val, list): - return ", ".join(str(v) for v in val) if val else "—" - return str(val) + text = ", ".join(str(v) for v in val) if val else None + else: + text = str(val) + if not text: + return "—" + return wrap_cell_text(text) def render_feature_cell(feature, wallet): From ead0255d8d76cdd5f591f4c84823f9e0a32f9236 Mon Sep 17 00:00:00 2001 From: David Richards Date: Fri, 31 Jul 2026 09:45:24 +0100 Subject: [PATCH 6/6] Capitalize Wallet Type option values; wrap the two safe long Feature labels - wallet_model/custody_model/form_factor/deployment_model values now use a capitalized first letter consistently across all wallets, the dummy-wallet example, and TEMPLATE.yaml's option-list comments - Manually wrap form_factor's and deployment_model's registry name at 40 chars with
(both freetext, no proof heading anywhere, so safe) - Documented in _feature_registry.yaml why this must never be done to a boolean feature that has a matching proof-file heading --- WALLET_DIRECTORY.md | 8 ++++---- examples/dummy-wallet.yaml | 8 ++++---- wallets/TEMPLATE.yaml | 4 ++-- wallets/_feature_registry.yaml | 11 +++++++++-- wallets/askardex-wallet.yaml | 4 ++-- wallets/dfns.yaml | 8 ++++---- wallets/send.yaml | 8 ++++---- wallets/walley.yaml | 8 ++++---- 8 files changed, 33 insertions(+), 26 deletions(-) diff --git a/WALLET_DIRECTORY.md b/WALLET_DIRECTORY.md index 304d725..a1bddc2 100644 --- a/WALLET_DIRECTORY.md +++ b/WALLET_DIRECTORY.md @@ -29,10 +29,10 @@ A linked "Not supported" means the wallet has said no with a reason |     Website | [https://www.dfns.co](https://www.dfns.co) | [https://cantonwallet.com](https://cantonwallet.com) | [https://wallet.askardex.com](https://wallet.askardex.com) | [https://walley.cc](https://walley.cc) | |     Added | 2026-07-24 | 2026-07-24 | 2026-07-25 | 2026-07-27 | | **Wallet Type** | | | | | -|     Retail / Enterprise | enterprise | retail | Retail | retail | -|     Custody Type | self-custodial | self-custodial | Self-custodial | self-custodial | -|     Form factor (Mobile / Browser / Desktop / Browser Extension / Hardware) | browser | browser, mobile,
browser-extension | mobile | browser | -|     Deployment Model (Self-hosted / SaaS / Hybrid) | self-hosted, saas, hybrid | saas | saas | saas | +|     Retail / Enterprise | Enterprise | Retail | Retail | Retail | +|     Custody Type | Self-custodial | Self-custodial | Self-custodial | Self-custodial | +|     Form factor (Mobile / Browser / Desktop
/ Browser Extension / Hardware) | Browser | Browser, Mobile,
Browser-extension | Mobile | Browser | +|     Deployment Model (Self-hosted / SaaS /
Hybrid) | Self-hosted, SaaS, Hybrid | SaaS | SaaS | SaaS | | **Canton Coin** | | | | | |     CC support | [✅](proofs/dfns/dfns-self-attestation.md#cc-support-cc_support) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cc-support-cc_support) | [✅](proofs/walley/walley-self-attestation.md#cc-support-cc_support) | |     Two-step CC transfers | — | — | — | — | diff --git a/examples/dummy-wallet.yaml b/examples/dummy-wallet.yaml index 38ef225..451cf6a 100644 --- a/examples/dummy-wallet.yaml +++ b/examples/dummy-wallet.yaml @@ -9,10 +9,10 @@ slack_party_scaling_channel_joined: true features: # Wallet Type - wallet_model: [retail, enterprise] - custody_model: self-custodial - form_factor: [browser, mobile] - deployment_model: [saas, hybrid] + wallet_model: [Retail, Enterprise] + custody_model: Self-custodial + form_factor: [Browser, Mobile] + deployment_model: [SaaS, Hybrid] # Canton Coin cc_support: diff --git a/wallets/TEMPLATE.yaml b/wallets/TEMPLATE.yaml index 77fba2f..338d887 100644 --- a/wallets/TEMPLATE.yaml +++ b/wallets/TEMPLATE.yaml @@ -50,9 +50,9 @@ features: # Who holds the private keys (custodial and/or self-custodial). custody_model: null # Custodial and / or Self-custodial # Mobile, browser, desktop, browser extension, hardware. - form_factor: [] # any of: mobile, browser, desktop, browser-extension, hardware + form_factor: [] # any of: Mobile, Browser, Desktop, Browser-extension, Hardware # Self-hosted, SaaS, hybrid, or on-prem. - deployment_model: [] # any of: self-hosted, saas, hybrid, on-prem + deployment_model: [] # any of: Self-hosted, SaaS, Hybrid, On-prem # Canton Coin # Send, receive, and hold Canton Coin. diff --git a/wallets/_feature_registry.yaml b/wallets/_feature_registry.yaml index 4d36a51..428bfec 100644 --- a/wallets/_feature_registry.yaml +++ b/wallets/_feature_registry.yaml @@ -11,6 +11,13 @@ # test against the network. Wallets just set # supported: true/false (plus reason if false); omit # proof and verified_by entirely for these ids. +# +# A `name` may contain a manual "
" line break to keep the Feature +# column in WALLET_DIRECTORY.md from forcing a wide column -- only ever +# add one to a freetext feature or a boolean with no proof heading. Never +# add one to a feature that has a matching proof-file heading (see +# CONTRIBUTING.md -- headings must match `name` exactly, and a literal +# "
" would break both the heading and its GitHub anchor). features: # --- Wallet Type --- @@ -25,12 +32,12 @@ features: type: freetext - id: form_factor - name: "Form factor (Mobile / Browser / Desktop / Browser Extension / Hardware)" + name: "Form factor (Mobile / Browser / Desktop
/ Browser Extension / Hardware)" category: "Wallet Type" type: freetext - id: deployment_model - name: "Deployment Model (Self-hosted / SaaS / Hybrid)" + name: "Deployment Model (Self-hosted / SaaS /
Hybrid)" category: "Wallet Type" type: freetext diff --git a/wallets/askardex-wallet.yaml b/wallets/askardex-wallet.yaml index eceeac5..55d4ab4 100644 --- a/wallets/askardex-wallet.yaml +++ b/wallets/askardex-wallet.yaml @@ -13,10 +13,10 @@ features: custody_model: "Self-custodial" form_factor: - - mobile + - Mobile deployment_model: - - saas + - SaaS # Canton Coin cc_support: diff --git a/wallets/dfns.yaml b/wallets/dfns.yaml index f8dc889..19eed7e 100644 --- a/wallets/dfns.yaml +++ b/wallets/dfns.yaml @@ -7,10 +7,10 @@ slack_party_scaling_channel_joined: true features: # Wallet Type - wallet_model: [enterprise] - custody_model: self-custodial - form_factor: [browser] - deployment_model: [self-hosted, saas, hybrid] + wallet_model: [Enterprise] + custody_model: Self-custodial + form_factor: [Browser] + deployment_model: [Self-hosted, SaaS, Hybrid] # Canton Coin cc_support: diff --git a/wallets/send.yaml b/wallets/send.yaml index 7a35faa..e7c0593 100644 --- a/wallets/send.yaml +++ b/wallets/send.yaml @@ -7,10 +7,10 @@ slack_party_scaling_channel_joined: true features: # Wallet Type - wallet_model: [retail] - custody_model: self-custodial - form_factor: [browser, mobile, browser-extension] - deployment_model: [saas] + wallet_model: [Retail] + custody_model: Self-custodial + form_factor: [Browser, Mobile, Browser-extension] + deployment_model: [SaaS] # Canton Coin cc_support: diff --git a/wallets/walley.yaml b/wallets/walley.yaml index b4c7207..f5feeaf 100644 --- a/wallets/walley.yaml +++ b/wallets/walley.yaml @@ -7,10 +7,10 @@ slack_party_scaling_channel_joined: true features: # Wallet Type - wallet_model: [retail] - custody_model: self-custodial - form_factor: [browser] - deployment_model: [saas] + wallet_model: [Retail] + custody_model: Self-custodial + form_factor: [Browser] + deployment_model: [SaaS] # Canton Coin cc_support: