Skip to content

feat(rfq): add wallet inventory and signer boundary - #28

Merged
tvolk131 merged 1 commit into
masterfrom
codex/rfq-wallet-boundary
Aug 12, 2026
Merged

feat(rfq): add wallet inventory and signer boundary#28
tvolk131 merged 1 commit into
masterfrom
codex/rfq-wallet-boundary

Conversation

@tvolk131

@tvolk131 tvolk131 commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add backend-neutral provider capabilities for complete inventory discovery, confidential receive/change destinations, and durable-job-only signing
  • authenticate confidential tree-less P2TR inventory, retain input openings only in redacted memory, and persist only non-secret recovery metadata
  • make quote eligibility the intersection of a fresh complete wallet snapshot and durable Available state
  • bind exact wallet locators, internal keys, outpoints, and inventory commitments into durable signing targets with explicit SIGHASH_ALL
  • update ADR 0007, the liquidity roadmap, and repository scope documentation

Why

ADR 0007 requires the provider to reserve only authoritative wallet inventory and to recover signing work without depending on an input remaining in the current unspent set. Durable allocation state alone cannot prove that an output is still wallet-owned, unspent, or fresh enough to quote.

This change adds the wallet-capability boundary and quote-facing inventory coordinator while deliberately leaving concrete wallet/RPC/HSM implementations, pricing, final-PSET validation, networking, relay, and reconciliation to later milestones.

Safety properties

  • complete snapshots are canonical, provider/chain-bound, size-bounded, and fail closed
  • stale, superseded, contradictory, or post-writer-lock-expired snapshots cannot authorize new reservations
  • exact idempotent retries replay durable results without allocating inventory again
  • reserved and committed outputs never re-enter quote eligibility merely because the wallet rediscovers them
  • confidential openings and blinding factors never enter redb, quote-facing public accessors, signing targets, or debug output
  • signer responses must match every durable target in order and use explicit 65-byte SIGHASH_ALL

Validation

  • nix develop .#default --command just ci-checks
  • 283 workspace tests passed
  • 50 focused RFQ-provider tests passed
  • workspace clippy passed with warnings denied
  • doc tests, formatting, generated-contract check, and WASM check passed

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@tvolk131
tvolk131 marked this pull request as ready for review August 12, 2026 18:10
@tvolk131
tvolk131 merged commit 8b531f9 into master Aug 12, 2026
2 checks passed
@tvolk131
tvolk131 deleted the codex/rfq-wallet-boundary branch August 12, 2026 18:10
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