Skip to content

Refactor shared melt quote-backed saga behavior #236

@Egge21M

Description

@Egge21M

Parent

Parent PRD: #232

What to build

Refactor the quote-backed melt saga so Built-in Payment Methods and future Generic Payment Methods share the same proof selection, swap, blank output, execution, rollback, finalization, and Operation Recovery behavior.

This slice should not add generic melt support yet. It should make the existing melt operation saga easier to reuse while preserving all current built-in melt behavior.

Acceptance criteria

  • Built-in bolt11, bolt12, and onchain melt behavior remains externally unchanged.
  • Shared melt saga behavior is usable by a runtime-method handler without duplicating proof selection, swap, blank output, rollback, finalization, or recovery logic.
  • PENDING -> UNPAID melt quote state transitions remain observable as settlement failure paths.
  • Transitions away from PAID are ignored so terminal paid state cannot be downgraded by stale mint responses.
  • Existing built-in melt quote and melt operation tests continue to pass.
  • New tests cover allowed PENDING -> UNPAID handling and ignored transitions away from PAID.
  • The refactor is isolated from generic quote creation and does not introduce Generic Payment Method melt APIs yet.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions