Skip to content

[PAY-E2E-06] Complete MPP Tempo charge settlement #1695

Description

@ponderingdemocritus

Parent

Follow-up E2E verification work for #1688.

What to build

Prove MPP Tempo charge as a complete economic transaction: a client accepts the challenge, signs the charge credential, the agent verifies and settles it, and the paid response carries a receipt that agrees with chain balances and runtime accounting. Run the contract deterministically on a Tempo-capable local chain and repeat the happy path on Moderato.

Acceptance criteria

  • Work test-first: add failing end-to-end assertions for charge authorization, settlement, receipt, and replay before completing the integration.
  • Required PR tests start an isolated Tempo-capable chain and complete challenge, signed credential, verification, token transfer, handler response, receipt, and accounting with no public-network dependency.
  • Sender and receiver balance changes, transaction receipt values, the MPP receipt, and the recorded payment amount agree.
  • Invalid signature, wrong chain, wrong token, wrong recipient, wrong amount, expired credential, and route/body binding failures are rejected without settlement.
  • Credential replay and concurrent duplicate submissions result in at most one transfer and one authoritative paid outcome.
  • Settlement failure and handler failure have explicit, tested outcomes and cannot produce a misleading successful paid response.
  • Fee-payer behavior, confirmation policy, retry boundaries, and ambiguous transaction recovery are tested where supported by the installed Tempo cohort.
  • A sandbox workflow completes the happy path on Tempo Moderato using faucet-funded test wallets and captures redacted transaction, receipt, and balance evidence.
  • Sandbox setup/provider outages are classified separately from product assertion failures and remain non-blocking under the shared policy.
  • Documentation includes deterministic and Moderato commands, test-token assumptions, spending ceilings, cleanup, and the exact supported SDK/network cohort.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestready-for-agentDecision-complete issue ready for an implementation agent.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions