No contract implementation or audit exists yet. The structures below are requirements for specification and review, not an ABI.
Proposed state machine
Minimum settlement record
Transition invariants
- A settlement ID is unique and cannot be reused with different terms.
- Funding accepts only the configured asset and exact allowed amount.
- Claim and refund are mutually exclusive terminal outcomes.
- Deadlines are checked against ledger time under documented tolerances.
- Every state transition verifies the necessary Soroban authorization entries.
- Repeated submissions are idempotent or reject without changing value.
- Events contain stable IDs and state, but no names, phone numbers, bank data, or raw compliance evidence.
Events
The contract should emit versioned events such as settlement created, funded, claim enabled, claimed, refund initiated, refunded, disputed, and resolved. An indexer must store ledger/transaction identity, event position, contract ID, network, event version, payload, and ingestion checkpoint so replay is deterministic.