Skip to content

fix(claims): implement Soroban on-chain submission in submitClaim — r…#135

Merged
nonsobethel0-dev merged 1 commit into
Parashield-Protocol:mainfrom
Yormee-103:fix/issue-62-submit-claim-soroban-tx
Jun 27, 2026
Merged

fix(claims): implement Soroban on-chain submission in submitClaim — r…#135
nonsobethel0-dev merged 1 commit into
Parashield-Protocol:mainfrom
Yormee-103:fix/issue-62-submit-claim-soroban-tx

Conversation

@Yormee-103

Copy link
Copy Markdown
Contributor

Closes #59
Closes #60
Closes #61
Closes #62

Summary

Claims Service Bug Fixes (#59, #60, #61, #62)
Payout failure silently ignored
When invokeContract throws, the claim is now marked PAYOUT_FAILED instead of PAID with a null txHash. A POST /claims/:id/retry-payout operator endpoint allows re-triggering failed payouts. PAYOUT_FAILED added to the ClaimStatus enum and migration.

Missing product falls back to hardcoded threshold
Added an explicit guard after the product lookup: if the policy's product is absent from the active products list, the claim is rejected with an error log instead of silently evaluating against a hardcoded threshold of 50 that was never in the product terms.

payoutAmount set from off-chain coverage figure
payoutAmount now carries a comment documenting it as the requested coverage amount, not the confirmed on-chain transfer. A new nullable actualPayoutAmount column is added to Claim (migration included) for a future ledger-event processor to populate once the Soroban tx is confirmed.

Manual claims stuck in PENDING forever
Replaced the TODO in submitClaim() with an actual invokeContract('submit_claim', [claimId, policyId, claimant]) call. On success the claim moves to PROCESSING; on failure it moves to REJECTED — never left in PENDING. The duplicate-claim guard is extended to also block PENDING claims to prevent concurrent duplicates.

…esolve PENDING forever bug (Parashield-Protocol#62)

Replaces the TODO in submitClaim() with an actual invokeContract('submit_claim')
call. On success the claim transitions to PROCESSING (txHash recorded); on
failure it transitions to REJECTED so it never stays stuck in PENDING. The
duplicate-claim guard is extended to include PENDING to block concurrent
duplicate submissions while a tx is in flight.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@drips-wave

drips-wave Bot commented Jun 27, 2026

Copy link
Copy Markdown

@Yormee-103 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@nonsobethel0-dev nonsobethel0-dev merged commit bffe44e into Parashield-Protocol:main Jun 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment