Skip to content

Validate refund totals and redact endpoint errors - #391

Merged
ctfbruce merged 15 commits into
mainfrom
fix/payment-acceptance-boundaries
Oct 5, 2026
Merged

ctfbruce merged 15 commits into
mainfrom
fix/payment-acceptance-boundaries

Conversation

@ctfbruce

@ctfbruce ctfbruce commented Oct 5, 2026

Copy link
Copy Markdown
Collaborator

Reject negative or overflowing stored order totals before preparing a chain refund or changing financial records. Sui configuration errors now name the invalid endpoint field without echoing a value that could contain credentials or query tokens.

The refund guard preserves valid zero and maximum totals and the existing empty-order behavior. Real SQLite regressions check unchanged records after rejection and reopen; constructor regressions cover credential-bearing malformed endpoints.

Validation: the new refund regressions reproduce the old failure; the corrected refund/settlement/rehearsal race selection, Sui constructor/address race tests, formatting and vet pass on Linux. Full CI runs on this combined branch.

Related to #81 and #82. Includes the pending #388 dependency; merge after #388.

TheodorAdrienIsaak Mattli added 15 commits October 2, 2026 15:29
Bring the branch up to date with main after the account recovery change. The
schema policy keeps both raised minima: dispatcher 20 from the account
recovery migration and executor 7 from the operator disposition migration.
Both require the explicit stopped-service database upgrade.

GitHub issue #168.
Stop automatic resubmission after one hour while preserving uncertain
transfers and reserved balances for reconciliation. Reject invalid USDC
refund addresses before creating an intent and record unusable legacy
refunds as failed transfers whose amounts remain owed.

GitHub issues #385 and #386.
Include launcher preflight support for recoverable SQLite journals so an interrupted local dispatcher can reach daemon recovery, together with the current runtime, deployment, monitoring and SDK updates.

GitHub issues #385 and #386.
Preserve dispatcher schema 23 alongside executor schema 7 and keep the configuration guide aligned with both schema boundaries.

GitHub issue #168.
Combine retained work archiving and settlement rehearsals with validated refund addresses and bounded transfer recovery, preserving dispatcher schema 23 and executor schema 7.

GitHub issues #168, #385 and #386.
Ask operators to verify endpoint and payment kit properties during their deployment rehearsal while retaining the documented recovery limits.

GitHub issue #87.
Keep retained work disposition and its schema boundaries together with the corrected distinct-port test fixtures.

GitHub issues #168 and #389.
Preserve payment readiness and retained work integration while carrying the corrected TCP and UDP distinct-port fixtures.

GitHub issues #385, #386 and #389.
Report endpoint field names and validation reasons without echoing configured URLs, which can contain credentials or query tokens. Cover malformed gRPC and GraphQL endpoints through handler construction.

GitHub issue #82.
Check each stored order amount and the aggregate before preparing a refund or recording its decision. Preserve zero refunds and the maximum supported amount, with rejected state unchanged after reopening SQLite.

GitHub issue #81.
@ctfbruce
ctfbruce marked this pull request as ready for review October 5, 2026 16:05
@ctfbruce ctfbruce added the Ready to merge Reviewed and CI passed; merge in dependency order after required approval. label Oct 5, 2026
@ctfbruce
ctfbruce merged commit e79fe62 into main Oct 5, 2026
16 checks passed
@vincent10400094
vincent10400094 deleted the fix/payment-acceptance-boundaries branch October 8, 2026 00:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Ready to merge Reviewed and CI passed; merge in dependency order after required approval.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant