Skip to content

Share transaction planning across software and hardware wallets - #56

Merged
yapishu merged 2 commits into
masterfrom
reid/shared-wallet-planner
Oct 20, 2026
Merged

yapishu merged 2 commits into
masterfrom
reid/shared-wallet-planner

Conversation

@yapishu

@yapishu yapishu commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Desktop/software and hardware composers need identical transaction plans, including the input's actual note data, tagged lock proofs, and activation-dependent fees. Both now call the shared tx-types planner; the firmware signing core uses its fee and hash functions.

  • Pin tx-types 0.2.0 and all matching noun-runtime crates to 02d194605c475013745cc65b26f1413cd098932e from Share portable wallet planning, lock proofs, and reference-tested codecs tx-types#25.
  • Replace duplicate selection, allocation, proof, and fee code with adapters around the shared planner. Preserve full OR/multisig change locks and verify that partial signatures belong to the same authorized spends.
  • Carry actual RPC note data through the desktop and browser composers. Manual inputs accept note data, candidate height, and hashlock preimages.
  • Regenerate the public signing fixture through the firmware signing entrypoint and test byte-for-byte wallet/hardware transaction parity around activation heights.
  • Bump Nockster apps to 1.3.0 across extension/mobile/desktop release metadata and native desktop/iOS versions; bump the hardware console app to 0.3.0, the software wallet engine to 0.2.0, and the hardware workspace/crates to 0.4.0. Keep the matching lockfile versions synchronized.
  • Dispatch host, GUI emulator, and firmware checks to their proper targets.

Validation:

  • 22 software wallet-engine tests and 61 hardware-core/composer tests pass.
  • 82 JavaScript tests pass, including identical wallet/hardware raw JAM at heights 53,999, 54,000, and 170,000.
  • TypeScript and desktop Svelte checks pass; browser and desktop production assets build.
  • Host workspace, WASM emulator, and Xtensa firmware checks pass.

The composer input contract requires the actual note_data map. Snapshot fetching, persistence, signing transport, and submission remain in the consumer.

@yapishu
yapishu merged commit 37fa742 into master Oct 20, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant