• Joined on 2026-02-17
grenade commented on issue quantus/extension#7 2026-09-15 12:16:26 +00:00
End to end: three tiers of proof, ending in a real transfer in a real block

The negative cases pass

scripts/tier1/cases.mjs, against Heisenberg at spec 148:

PASS  the empty signing context is rejected  — 1010: Invalid Transaction: Transaction has a bad…
grenade pushed to quantus-accounts at quantus/extension 2026-09-15 12:15:56 +00:00
4f759c4094 test: the tier-1 cases that prove the plumbing, not the happy path
grenade pushed to quantus-codec at quantus/wasm 2026-09-15 12:15:41 +00:00
e6ff57a334 feat: storage addressing, nested calls, and a stated integer convention
grenade commented on issue quantus/extension#7 2026-09-15 11:58:23 +00:00
End to end: three tiers of proof, ending in a real transfer in a real block

Tier 2: built, and the extension's own signing path is now on @quantus/codec

Two pieces landed.

The extension signs its own payload now

Tier 1 proved the crypto in a script that used…

grenade pushed to quantus-accounts at quantus/extension 2026-09-15 11:57:59 +00:00
a29a68d48a feat: add the tier 2 harness dapp
grenade pushed to quantus-codec at quantus/wasm 2026-09-15 11:45:28 +00:00
f1c51661df feat: accept pre-encoded extension values, validated by round trip
grenade pushed to quantus-accounts at quantus/extension 2026-09-15 11:45:27 +00:00
34759485d3 feat: sign and decode in the extension itself via @quantus/codec
grenade opened issue quantus/extension#11 2026-09-15 11:18:11 +00:00
Sign with mortal eras, not immortal ones
grenade opened issue quantus/wasm#4 2026-09-15 11:17:58 +00:00
@quantus/codec: storage keys and values, so the wallet can read balances and nonces
grenade closed issue quantus/api#1 2026-09-15 11:17:37 +00:00
Decide whether @polkadot/types needs patching for DilithiumSignatureScheme, or whether registry overrides suffice
grenade commented on issue quantus/api#1 2026-09-15 11:17:33 +00:00
Decide whether @polkadot/types needs patching for DilithiumSignatureScheme, or whether registry overrides suffice

Resolved, by removal

@quantus/codec (quantus/wasm#3) landed and quantus/extension#7 tier 1 now signs a balances.transfer_keep_alive that Heisenberg accepts and includes — block…

grenade commented on issue quantus/extension#7 2026-09-15 11:17:19 +00:00
End to end: three tiers of proof, ending in a real transfer in a real block

Tier 1 passes. The fork can spend.

scripts/tier1/submit.mjs, against Heisenberg (wss://a1-heisenberg.quantus.cat):

signer      qzk1Nxai3dZD9Cn5kwGcgL6mKxsfxwqdis7kDQJ52aJS2vSn7
chain …
grenade pushed to quantus-accounts at quantus/extension 2026-09-15 11:16:54 +00:00
be69149957 feat: build and decode extrinsics with @quantus/codec, and prove tier 1
grenade pushed to quantus-restore-account at quantus/ui 2026-09-15 11:16:44 +00:00
2d6a9ad1b3 build: consume the forks at 14.0.3-quantus.2
grenade pushed to quantus-keypair-types at quantus/common 2026-09-15 11:16:43 +00:00
7f23d0a609 fix: gate quantum-safe chains in the wallet, not in the network list
grenade created branch quantus-codec in quantus/wasm 2026-09-15 11:14:42 +00:00
grenade pushed to quantus-codec at quantus/wasm 2026-09-15 11:14:42 +00:00
3a1611a92e feat: add @quantus/codec, driving encode and decode from runtime metadata
grenade opened issue quantus/wasm#3 2026-09-15 11:02:32 +00:00
@quantus/codec: encode and decode against the runtime's own metadata, not a hand-written codec
grenade commented on issue quantus/api#1 2026-09-15 11:02:07 +00:00
Decide whether @polkadot/types needs patching for DilithiumSignatureScheme, or whether registry overrides suffice

Answer: neither. @polkadot/api's codec cannot be the encode/decode path at all.

Tested directly against Heisenberg (spec 148, genesis 0xa5aa9e5c…c8d3b4f) with a tier-1 harness that signs…

grenade commented on issue quantus/extension#4 2026-09-15 10:24:20 +00:00
Signing: choose the context from specVersion, and return sig ‖ pk for raw bytes

Done, on quantus-accounts (7fa26252). 79 tests pass; typecheck, lint and build:chrome clean.

The plumbing question this issue posed

the context then has to travel through `ExtrinsicPay…