fix(wallet): conjunctive receipt verify #4

Merged
sirius merged 1 commit from wt/t_70fc1f81 into main 2026-09-10 23:28:15 +00:00
Owner

Summary

  • transfers_match requires non-empty txid AND amount AND address against one get_transfers row (no OR).
  • Incoming signed rcp stays verified=0 unless that conjunctive RPC match succeeds.
  • Threat model: Noise signature proves who sent the claim, not that a payment happened.

Tests

  • transfers_match_txid_only_wrong_amount_or_addr_is_false
  • transfers_match_address_and_amount_wrong_txid_is_false
  • transfers_match_honest_triple_is_true
  • transfers_match_empty_field_is_false
  • ingest_signed_receipt_mismatched_wallet_history_stays_unverified

cargo test --locked green (3 live-Tor ignored). cargo clippy --locked --all-targets -- -D warnings clean.

Do not merge — Lance merges.

## Summary - `transfers_match` requires non-empty txid AND amount AND address against one `get_transfers` row (no OR). - Incoming signed `rcp` stays `verified=0` unless that conjunctive RPC match succeeds. - Threat model: Noise signature proves who sent the claim, not that a payment happened. ## Tests - `transfers_match_txid_only_wrong_amount_or_addr_is_false` - `transfers_match_address_and_amount_wrong_txid_is_false` - `transfers_match_honest_triple_is_true` - `transfers_match_empty_field_is_false` - `ingest_signed_receipt_mismatched_wallet_history_stays_unverified` `cargo test --locked` green (3 live-Tor ignored). `cargo clippy --locked --all-targets -- -D warnings` clean. Do not merge — Lance merges.
sirius added 1 commit 2026-09-10 23:27:54 +00:00
[verified] fix(wallet): conjunctive receipt verify
Some checks failed
ci / test (pull_request) Failing after 35s
1a465581c2
Require non-empty txid AND amount AND address against one
get_transfers row. Signed rcp alone never sets verified=1.
sirius merged commit bdea9578e4 into main 2026-09-10 23:28:15 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: sirius/onionwire#4
No description provided.