Commit Graph
1327 Commits
Author SHA1 Message Date
grenadeandClaude Opus 5 a29a68d48a feat: add the tier 2 harness dapp
quantus/extension#7 tier 2: a page that asks the *extension* to sign, then
assembles and submits the extrinsic itself. `yarn tier2` bundles it; the README
has the run steps and where to get a funded dev account.

Every intermediate value is printed — the call, the extra, the payload that was
signed, the signature that came back, the assembled extrinsic, and the round trip
decoded back out of it. That display is the debugger when a node rejects
something, and it is exactly what a real app hides behind a success toast.

Nothing in it uses @polkadot/api. @quantus/codec produces every byte and the
WebSocket is a JSON-RPC client that decodes nothing.

Also extracts decodeMethod out of Extrinsic.tsx into util/, with tests. It moved
from `registry.createType('Call', data)` to the runtime in the previous commit and
was the one changed path with no coverage — `yarn test` skips .spec.tsx, so as a
component method it would have stayed that way. The tests pin the three cases
that matter more than the happy path: metadata from a different spec version
decodes a call into something plausible and wrong and must be refused; a chain
with no runtime renders hex; and bytes that are not a call must not throw, since
an exception there lands between somebody and their funds.

Verified so far in a browser: the page loads under Firefox with the extension
installed, and @quantus/codec parses Heisenberg's 101,493-byte metadata client
side and reports extrinsic v4 with all twelve signed extensions. The injected
signing round trip is **not** yet verified end to end — driving the extension's
own UI needs a privileged browsing context this tooling cannot script — so the
popup half of tier 2 still wants a human at a keyboard. The background half is
covered by Extension.spec.ts, which runs the full pub(extrinsic.sign) ->
pri(signing.approve.password) path.

Refs #7

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012uDUodEcRbBwNRi3UCmw8f
2026-09-15 14:57:53 +03:00
grenadeandClaude Opus 5 be69149957 feat: build and decode extrinsics with @quantus/codec, and prove tier 1
The tier-1 harness now signs a real transfer and gets it into a real block:

    accepted    0xd25bb081e4a87da6a2af79f038f6991e914d732322393096128894c0d644e806
    included    block 1050475 index 1
    decoded     {"Balances":{"transfer_keep_alive":{…,"value":"1000000000"}}}
    nonce       2761 -> 2762

on Heisenberg at spec 148, signed by the forked keyring under QUANTUS_EXTRINSIC.
First end-to-end proof that the fork can spend.

It got there by dropping @polkadot/api entirely. Every byte on the wire is now
produced by @quantus/codec from metadata the node generated by running
Metadata_metadata against the runtime WASM; WsProvider appears only as a
JSON-RPC transport. The api route failed three times over — a 2048-byte cap on
fixed arrays, a preamble byte read as a version so that no Quantus block decodes
at all, and signed extensions *assumed* to be empty rather than read — and
quantus/api#1 has the evidence. The first submission through it was rejected as
`1010: Invalid Transaction: Transaction has a bad signature`; through the codec
the same transfer is accepted.

The harness reads the block back with the same runtime that built the extrinsic,
which also exercises what @polkadot/api cannot do at all: index 0 of every
Quantus block is a timestamp inherent whose preamble byte is 0x05 — bare,
version 5 — beside this signed extrinsic's 0x84, while the metadata declares
version 4.

Also moves the post-quantum chain gate here from @polkadot/networks. Gating the
library list broke @polkadot/api at import, because @polkadot/types-known throws
for a chain it holds upgrade history for but cannot find. What a wallet offers
is the wallet's decision, and this is the wallet.

Refs #7, quantus/api#1, quantus/wasm#3

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012uDUodEcRbBwNRi3UCmw8f
2026-09-15 14:16:34 +03:00
rob thijssenandClaude Opus 5 bff8eec1e6 build: consume the Quantus forks from the Gitea registry
Wires this repo to the four forked @polkadot packages and @quantus/crypto, and
the extension now builds with post-quantum crypto in it.

Two mechanisms, for the reason established in quantus/ui: @quantus is routed as a
whole scope in .yarnrc.yml, which is safe because we own every name in it, while
the forked @polkadot packages are pinned individually to tarball URLs in
resolutions. Routing the @polkadot scope would send yarn hunting for the dozens
of packages in it that are not forked — api, types, rpc-provider, dev, x-*,
hw-ledger and more — all of which must keep coming from npm.

The forks carry -quantus.N versions, so a resolution left out fails with "No
candidates found" rather than being quietly satisfied from npm by the unforked
package.

buildHierarchy.spec.ts is rewritten rather than deleted. compareByNetwork
resolves a genesis hash through getNetworkMap(), which is built from
selectableNetworks — and this fork only offers chains whose accounts are
post-quantum, so Polkadot and Kusama are no longer in it. Both fixtures resolved
to '' and compared equal, meaning the network-ordering tests passed without
ordering anything. They now use Quantus and Heisenberg, whose display names sort
in the same direction the originals did, so the fixtures keep their shape.

Verified in the built artifacts rather than assumed: background.js carries
QUANTUS_EXTRINSIC, the dilithium keypair types, ext_poseidon_hash, ext_mldsa_sign
and the base64 wasm payload; extension.js carries the Quantus network entry, QTC
and the mainnet genesis hash. The split is right — signing lives in the service
worker, the UI only needs to render addresses.

65 tests pass; `yarn build:chrome` completes.

Refs quantus/extension#2

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012uDUodEcRbBwNRi3UCmw8f
2026-09-15 11:53:36 +03:00
Alberto Nicolas PenayoandClaude Fable 5 d7c9ce2145 0.64.0 (#1625)
Lock Threads / lock (push) Has been cancelled
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-31 12:43:58 -03:00
github-actions[bot] 91f0b7194e [CI Skip] bump/beta 0.63.2-1-x
skip-checks: true
2026-07-31 15:14:13 +00:00
github-actions[bot] 58093e3a50 [CI Skip] bump/beta 0.63.2-0-x
skip-checks: true
2026-07-30 18:24:37 +00:00
github-actions[bot] 987784c81e [CI Skip] release/stable 0.63.1
skip-checks: true
2026-03-31 01:56:50 +00:00
Tarik Gul b54ff921b4 0.63.1 (#1615)
* 0.63.1

* Update Changelog
2026-03-31 04:54:01 +03:00
github-actions[bot] 77a7f59489 [CI Skip] bump/beta 0.62.7-5-x
skip-checks: true
2026-03-30 20:47:28 +00:00
github-actions[bot] 2198396137 [CI Skip] bump/beta 0.62.7-4-x
skip-checks: true
2026-03-26 22:20:12 +00:00
Tarik Gul ec26b80ab1 Bump pjs deps (#1614) 2026-03-27 00:17:18 +02:00
github-actions[bot] 81714b2cf5 [CI Skip] bump/beta 0.62.7-3-x
skip-checks: true
2026-03-26 19:48:35 +00:00
github-actions[bot] a9bbe3efb2 [CI Skip] bump/beta 0.62.7-2-x
skip-checks: true
2026-03-26 19:33:03 +00:00
github-actions[bot] 73fef6ffbf [CI Skip] bump/beta 0.62.7-1-x
skip-checks: true
2026-03-12 18:51:34 +00:00
github-actions[bot] 67faeb9f69 [CI Skip] bump/beta 0.62.7-0-x
skip-checks: true
2026-03-12 17:30:41 +00:00
github-actions[bot] 9288eb12b1 [CI Skip] release/stable 0.62.6
skip-checks: true
2025-11-26 07:49:46 +00:00
Arjun Porwal 4622b6c13d 0.62.6 (#1604) 2025-11-26 13:16:54 +05:30
github-actions[bot] d1fb181e27 [CI Skip] bump/beta 0.62.6-0-x
skip-checks: true
2025-11-26 07:38:34 +00:00
Arjun Porwal d6473a5c7a chore: bump deps (#1603) 2025-11-26 13:05:38 +05:30
github-actions[bot] eeeb336417 [CI Skip] release/stable 0.62.5
skip-checks: true
2025-11-17 13:38:00 +00:00
Arjun Porwal 3f5fa9b043 0.62.5 (#1602) 2025-11-17 08:35:06 -05:00
github-actions[bot] f64d18828d [CI Skip] bump/beta 0.62.5-0-x
skip-checks: true
2025-11-14 16:42:44 +00:00
github-actions[bot] f32f39e371 [CI Skip] release/stable 0.62.4
skip-checks: true
2025-11-13 04:48:02 +00:00
Arjun Porwal 81347b8894 0.63.4 (#1600) 2025-11-13 10:15:10 +05:30
github-actions[bot] e17b36371b [CI Skip] bump/beta 0.62.4-0-x
skip-checks: true
2025-11-13 04:33:12 +00:00
Arjun Porwal 7103f3e809 chore: bump dependecies (#1599) 2025-11-13 10:00:11 +05:30
github-actions[bot] 132381008e [CI Skip] release/stable 0.62.3
skip-checks: true
2025-10-23 12:48:59 +00:00
Arjun Porwal 3822c6d2d5 0.62.3 (#1597) 2025-10-23 18:15:27 +05:30
github-actions[bot] ed97de2f85 [CI Skip] bump/beta 0.62.3-0-x
skip-checks: true
2025-10-23 12:08:01 +00:00
Arjun Porwal 461c7d7dbe chore: bump deps (#1596) 2025-10-23 09:04:23 -03:00
github-actions[bot] 0cfe2d5c9d [CI Skip] release/stable 0.62.2
skip-checks: true
2025-10-09 04:12:53 +00:00
Arjun Porwal 87544c7864 0.62.2 (#1594) 2025-10-09 09:39:29 +05:30
github-actions[bot] 211fee8528 [CI Skip] bump/beta 0.62.2-0-x
skip-checks: true
2025-10-08 14:33:42 +00:00
github-actions[bot] 18274fe136 [CI Skip] release/stable 0.62.1
skip-checks: true
2025-09-25 12:24:12 +00:00
Arjun Porwal ec1fdcdd76 0.62.1 (#1592) 2025-09-25 17:50:43 +05:30
github-actions[bot] 3093db76fe [CI Skip] bump/beta 0.61.8-1-x
skip-checks: true
2025-09-25 03:19:41 +00:00
Arjun Porwal fae45e014b chore: bump deps (#1591) 2025-09-25 08:46:06 +05:30
github-actions[bot] 4f1192528d [CI Skip] bump/beta 0.61.8-0-x
skip-checks: true
2025-09-17 15:55:06 +00:00
github-actions[bot] 592b63f60f [CI Skip] release/stable 0.61.7
skip-checks: true
2025-08-28 17:07:58 +00:00
Arjun Porwal 8a13f3ae75 0.61.7 (#1589)
* 0.61.7

* 0.61.7
2025-08-28 22:34:32 +05:30
github-actions[bot] 997e25554f [CI Skip] bump/beta 0.61.7-0-x
skip-checks: true
2025-08-28 12:06:30 +00:00
Arjun Porwal 77c112b9f6 chore: bump deps (#1588) 2025-08-28 17:33:03 +05:30
github-actions[bot] e900463d52 [CI Skip] release/stable 0.61.6
skip-checks: true
2025-08-14 18:06:27 +00:00
Arjun Porwal cf0aba0cc3 0.61.6 (#1583) 2025-08-14 15:02:58 -03:00
github-actions[bot] 216cc4c2d2 [CI Skip] bump/beta 0.61.6-0-x
skip-checks: true
2025-08-14 14:08:17 +00:00
Arjun Porwal 32c37ba096 chore: bump deps (#1582) 2025-08-14 19:34:45 +05:30
github-actions[bot] 59d90e108d [CI Skip] release/stable 0.61.5
skip-checks: true
2025-07-30 17:05:39 +00:00
Arjun Porwal 2b0f6e3f9e 0.61.5 (#1581) 2025-07-30 22:32:10 +05:30
github-actions[bot] e4e32d0f95 [CI Skip] bump/beta 0.61.5-1-x
skip-checks: true
2025-07-30 12:51:03 +00:00
Arjun Porwal 82fb283a68 Bump polkadot-api and polkadot-js deps (#1580)
* chore: bump deps

* chore: bump polkadot-api
2025-07-30 18:17:36 +05:30