Skip to content

Build invoice payment proof batch verification #227

Description

@Kingsman-99

Label: complexity: high
Points: 200

Description

verify_payment_proof() (separate issue) verifies one proof at a time. For off-chain systems reconciling many payments at once, batching reduces the number of contract calls needed.

Technical Context

Involves lib.rsverify_payment_proofs_batch(env, proofs: Vec<PaymentProof>) -> Vec<bool>, calling the single-proof verification logic in a loop and returning results in the same order, capped at 20 proofs per call.

Acceptance Criteria

  • Returns a Vec<bool> the same length and order as the input proofs
  • Panics with "batch limit exceeded" for more than 20 proofs
  • A single invalid/stale proof in the batch doesn't prevent verification of the others
  • Test with a mixed batch of valid and stale proofs verifies correct per-entry results
  • All existing cargo tests pass
  • cargo clippy passes with zero warnings

Metadata

Metadata

Labels

Stellar WaveIssues in the Stellar wave programcomplexity: highComplex feature requiring deep knowledge - 200 pts

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions