Commit Graph
3641 Commits
Author SHA1 Message Date
rob thijssenandClaude Opus 5 6ed8b1ea6d feat(util-crypto,networks): open KeypairType to ML-DSA, register Quantus
Adds dilithium65 and dilithium87 to KeypairType, and Quantus to the network
registry at SS58 prefix 189.

Two types rather than one because the parameter set is not an implementation
detail: it selects the signature enum variant byte the chain reads off the wire,
it selects the trailing hardened index of the derivation path, and it fixes the
key and signature lengths. New accounts use dilithium65; dilithium87 is legacy,
used by accounts predating the recorded scheme and by the dev-genesis accounts,
so it is supported but never chosen.

Opening the union turns every table keyed by KeypairType into a type error,
which is the point — it enumerates precisely the places needing a post-quantum
answer. Where that answer is not written yet, assertSubstrateType() expresses the
gap as a named, typed refusal at the call site rather than a silent undefined
from an object index. It throws rather than degrading because all of these paths
produce key material or an address, and a wrong-but-plausible value means funds
at an address nobody controls. Call sites disappear as quantus/common#2 and #4
land. keyFromPath throws for the same reason: silently ignoring a derivation
path would hand back the parent key under a child's name.

Quantus is appended to the registry rather than merged — @substrate/ss58-registry
does not carry it and nothing occupies prefixes 185..195, so there is nothing to
override, and appending means a registry bump cannot silently drop it.
standardAccount is 'ml-dsa', a value upstream's closed union does not allow,
hence the widened KnownSubstrate; it is load-bearing, since a missing
standardAccount makes toExpanded mark the network isIgnored.

Testnets are first-class in this fork. Upstream drops any testnet from
availableNetworks however complete its entry is, which suits a production chain
picker and not us: Quantus is under active development and a wallet that cannot
reach Heisenberg can only be tested against real funds. The exception is an
allowlist (exposedTestnet) rather than removing the rule — removing it exposed
all fifteen of upstream's testnets too, moving the sorted tail from 'ZERO' to
'ZERO Alphaville', which is a change we have no reason to make. isTestnet is
still reported honestly so consumers can label or filter; we just stop deciding
for them.

Genesis hashes come from blackbeard.observer's config, which records their
provenance: mainnet read from the node with chain_getBlockHash(0) on 2026-09-09,
its launch day, and explicitly not the staging chain that telemetry calls
"Quantus Staging Mainnet". Symbol and decimals (QTC, 12) agree between the
chain's chain_spec.rs and the Dart SDK's AppConstants.

Three upstream tests encoded rules this fork no longer follows. Each is rewritten
to assert the new rule rather than deleted:
  - genesis entries for testnets are now allowed, for ones we opted into
  - an exposed testnet must still be labelled a testnet, since a user cannot tell
    play money from real money by looking at an address
  - one network per SS58 prefix stops holding when a chain has a testnet;
    mainnet and Heisenberg are both 189 because an address is valid on either,
    and consumers key on genesisHash rather than prefix

Refs quantus/common#1

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012uDUodEcRbBwNRi3UCmw8f
2026-09-10 14:50:49 +03:00
github-actions[bot] 9281daa14c [CI Skip] release/stable 14.0.3
Lock Threads / lock (push) Has been cancelled
skip-checks: true
v14.0.3
2026-03-23 12:53:26 +00:00
Tarik Gul c7ed69fe55 14.0.3 (#2025) 2026-03-23 14:48:13 +02:00
github-actions[bot] 22a1246672 [CI Skip] bump/beta 14.0.3-0-x
skip-checks: true
2026-03-22 21:42:26 +00:00
Francis O'Brien 4a5b6acc78 Fix(hw-ledger): reset transport on operation errors and add explicit disconnect API (#2024)
* fix(hw-ledger): close transport on withApp errors

* feat(hw-ledger): add disconnect method to close active transport connection
2026-03-22 17:37:13 -04:00
github-actions[bot] 152d4609a4 [CI Skip] release/stable 14.0.2
skip-checks: true
v14.0.2
2026-03-16 18:24:20 +00:00
Tarik Gul 4ab957e568 14.0.2 (#2023) 2026-03-16 20:19:11 +02:00
github-actions[bot] 610c8bb15f [CI Skip] bump/beta 14.0.2-1-x
skip-checks: true
2026-03-13 20:55:22 +00:00
AndreasGassmann 372d460f1a fix(util-crypto): use correct x/y getters in secp256k1Expand (#2018) 2026-03-13 16:50:22 -04:00
github-actions[bot] a8732a99aa [CI Skip] bump/beta 14.0.2-0-x
skip-checks: true
2026-03-12 16:59:11 +00:00
Tarik Gul 8d3cb0eb6b Set headers to 2026 (#2021) 2026-03-12 18:53:56 +02:00
github-actions[bot] fe0886be23 [CI Skip] release/stable 14.0.1
skip-checks: true
v14.0.1
2025-12-09 08:34:53 +00:00
rajk93 bac357ae10 14.0.1 (#2014)
* 14.0.1

* chore: update CHANGELOG.md
2025-12-09 14:01:18 +05:30
github-actions[bot] 4ab7a5bfe0 [CI Skip] bump/beta 13.5.10-1-x
skip-checks: true
2025-12-09 07:34:50 +00:00
rajk93 440b146a24 fix(x-randomvalues): prioritize native RN modules over polyfilled crypto (#2013) 2025-12-09 13:01:07 +05:30
github-actions[bot] ae0735ccda [CI Skip] bump/beta 13.5.10-0-x
skip-checks: true
2025-12-08 13:13:55 +00:00
Paul Miller 57551b38a0 sr25519: switch from wasm to micro-sr25519 (#1971)
* sr25519: switch from wasm to micro-sr25519

* commit yarn lockfile

* Update to scure/sr25519 v0.2

* Fix build

* Commit
2025-12-08 18:40:16 +05:30
github-actions[bot] bf63a0ebf6 [CI Skip] release/stable 13.5.9
skip-checks: true
v13.5.9
2025-11-25 08:17:11 +00:00
rajk93 d78344d000 13.5.9 (#2012) 2025-11-25 13:43:32 +05:30
github-actions[bot] 169a702c88 [CI Skip] bump/beta 13.5.9-0-x
skip-checks: true
2025-11-25 08:02:38 +00:00
rajk93 b4d73ef49a chore: bump polkadot dependencies (#2011) 2025-11-25 13:28:57 +05:30
github-actions[bot] 21ef853fbd [CI Skip] release/stable 13.5.8
skip-checks: true
v13.5.8
2025-11-11 06:04:48 +00:00
rajk93 a4d940cb69 13.5.8 (#2010) 2025-11-11 11:31:13 +05:30
github-actions[bot] 6423537dbe [CI Skip] bump/beta 13.5.8-0-x
skip-checks: true
2025-11-11 04:05:17 +00:00
rajk93 61125b3582 chore: bump polkadot dependencies (#2009) 2025-11-11 09:31:28 +05:30
github-actions[bot] 7d77f89f34 [CI Skip] release/stable 13.5.7
skip-checks: true
v13.5.7
2025-10-13 14:54:53 +00:00
Valentin Fernandez bee7204f95 13.5.7 (#2008) 2025-10-13 11:51:23 -03:00
github-actions[bot] bb0715ec2f [CI Skip] bump/beta 13.5.7-0-x
skip-checks: true
2025-10-13 14:24:21 +00:00
Valentin Fernandez 2212f31f9a Revert "Set pbkdf2Encode rounds to default to 210,000 (#1983)" (#2007)
This reverts commit e5e6bdd814.
2025-10-13 11:20:32 -03:00
github-actions[bot] 047840319e [CI Skip] release/stable 13.5.6
skip-checks: true
v13.5.6
2025-08-26 16:49:24 +00:00
Arjun Porwal 3fbf0b98c2 13.5.6 (#2004) 2025-08-26 13:45:40 -03:00
github-actions[bot] e6b0411e9c [CI Skip] bump/beta 13.5.6-2-x
skip-checks: true
2025-08-26 14:00:47 +00:00
Valentin Fernandez 6e8199bab7 Bump @polkadot/wasm deps (#2002)
* bump  deps

* small tweak
2025-08-26 10:56:53 -03:00
github-actions[bot] 8ca4525570 [CI Skip] bump/beta 13.5.6-1-x
skip-checks: true
2025-08-22 14:13:55 +00:00
henrikdent 0c3a71145a Add DENTNet ledger support (via generic Polkadot app) (#1942) 2025-08-22 11:10:05 -03:00
github-actions[bot] 9c1be4f19b [CI Skip] bump/beta 13.5.6-0-x
skip-checks: true
2025-08-20 15:59:22 +00:00
Tarik GulandValentin Fernandez e5e6bdd814 Set pbkdf2Encode rounds to default to 210,000 (#1983)
* Set pbkdf2Encode rounds to default to 210,000

* Cap amount of rounds to 2048 when onlyJS = true to prevent overflow issues.

* Patch tests to use a consistent amount of encoding rounds.

* lint

* Add additional docs

* lint

---------

Co-authored-by: Valentin Fernandez <tinchofernandez8@gmail.com>
2025-08-20 12:55:25 -03:00
github-actions[bot] 55a3201bd5 [CI Skip] release/stable 13.5.5
skip-checks: true
v13.5.5
2025-08-11 15:47:48 +00:00
Valentin Fernandez de2538c18d 13.5.5. (#2000) 2025-08-11 12:44:05 -03:00
github-actions[bot] e8dced9fed [CI Skip] bump/beta 13.5.5-0-x
skip-checks: true
2025-08-04 17:54:26 +00:00
José Molina ColmeneroandValentin Fernandez 0afe1144d1 Add ledger support for Mythos (#1969)
* Add ledger support for Mythos

* Fix linting issues

* Remove Mythos from prevLedgerRecord

* allow mythos ss58

* ss58 Exceptions list

---------

Co-authored-by: Valentin Fernandez <tinchofernandez8@gmail.com>
2025-08-04 14:50:37 -03:00
github-actions[bot] 5a04d67bb2 [CI Skip] release/stable 13.5.4
skip-checks: true
v13.5.4
2025-07-28 16:16:48 +00:00
Arjun Porwal 41481c1e3a 13.5.4 (#1999) 2025-07-28 21:43:02 +05:30
github-actions[bot] 8a8b583f81 [CI Skip] bump/beta 13.5.4-0-x
skip-checks: true
2025-07-28 15:59:37 +00:00
SalinaandBeqa Abuladze 03c8169cd9 Add Creditcoin3 support to Generic Ledger App (#1985)
* Update genesis.ts with creditcoin3 geneis hash

* Update defaults.ts with a Creditcoin3

* Update ledger.ts with creditcoin3

* Update defaults.ts to move creditcoin3 in sorted order

* chore: move creditcoin3 to genericLedgerApps

* chore: add cc3 testnet, drynet and devnet

* chore: yarn lint

---------

Co-authored-by: Beqa Abuladze <beqaabuladze.00@gmail.com>
2025-07-28 21:25:51 +05:30
github-actions[bot] f9ee358442 [CI Skip] release/stable 13.5.3
skip-checks: true
v13.5.3
2025-07-01 15:36:43 +00:00
rajk93 ef5cfc728c 13.5.3 (#1996) 2025-07-01 12:32:55 -03:00
github-actions[bot] 88b8a54018 [CI Skip] bump/beta 13.5.3-2-x
skip-checks: true
2025-07-01 14:46:07 +00:00
rajk93 8c666725b2 chore: update polkadot dependencies (#1995) 2025-07-01 11:42:12 -03:00
github-actions[bot] daabdfac45 [CI Skip] bump/beta 13.5.3-1-x
skip-checks: true
2025-06-30 10:23:33 +00:00