a subxt config for quantus, lifted from quantus-cli, with offline signing #19

Closed
opened 2026-09-15 12:38:02 +00:00 by grenade · 0 comments
Owner

Parent: #3

Scope

A wallet-chain-substrate adapter crate (or module of wallet-data; decide and note why) carrying a subxt Config whose Signature is DilithiumSignatureScheme, whose address is AccountId32, and whose extrinsic params include ReversibleTransactionExtension and WormholeProofRecorderExtension (no signed bytes). Build the signing payload offline, hand it to wallet_core::Signer with the profile's context, and assemble the signed extrinsic with the signature-with-public-key wire form. Prefer subxt's dynamic API for calls and storage so a runtime upgrade does not require regenerating code; keep a metadata blob per profile only for tests.

Acceptance

An extrinsic built and signed here for a Balances::transfer_keep_alive is accepted by a dev node (author_submitExtrinsic) and by Heisenberg. The same test with the context deliberately empty is rejected by the node.

Depends on

Chain profiles; ML-DSA key schemes.

Parent: #3 ## Scope A `wallet-chain-substrate` adapter crate (or module of `wallet-data`; decide and note why) carrying a subxt `Config` whose `Signature` is `DilithiumSignatureScheme`, whose address is `AccountId32`, and whose extrinsic params include `ReversibleTransactionExtension` and `WormholeProofRecorderExtension` (no signed bytes). Build the signing payload offline, hand it to `wallet_core::Signer` with the profile's context, and assemble the signed extrinsic with the signature-with-public-key wire form. Prefer subxt's dynamic API for calls and storage so a runtime upgrade does not require regenerating code; keep a metadata blob per profile only for tests. ## Acceptance An extrinsic built and signed here for a `Balances::transfer_keep_alive` is accepted by a dev node (`author_submitExtrinsic`) and by Heisenberg. The same test with the context deliberately empty is rejected by the node. ## Depends on Chain profiles; ML-DSA key schemes.
grenade added the child label 2026-09-15 12:39:01 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: blackbeard/wallet#19