-
Notifications
You must be signed in to change notification settings - Fork 71
Open
Labels
Description
Claims lifecycle management against active insurance policies.
Requirements
InsuranceClaim struct: claim_id: BytesN<32>, policy_id: BytesN<32>, asset_id: BytesN<32>, claimant: Address, claim_type: ClaimType (enum: Damage, Theft, Loss, Liability), amount: i128, status: ClaimStatus (Submitted, UnderReview, Approved, Rejected, Disputed, Paid), filed_at: u64, approved_amount: i128
Functions:
file_insurance_claim(...)— claimant authenticates; policy must be Active; stores claim; indexes by asset IDmark_insurance_claim_under_review(env, claim_id, insurer)— insurer moves Submitted → UnderReviewapprove_insurance_claim(env, claim_id, insurer, approved_amount)— sets Approved, records amountreject_insurance_claim(env, claim_id, insurer)— insurer rejects Submitted or UnderReviewdispute_insurance_claim(env, claim_id, claimant)— claimant disputes a Rejected claimpay_insurance_claim(env, claim_id, insurer)— marks Approved claim as Paidget_insurance_claim,get_asset_insurance_claims
Acceptance Criteria
- Claim can only be filed against an Active policy
- Status transitions enforced (e.g. cannot approve a Paid claim)
-
approved_amountcannot exceedcoverage_amount
Reactions are currently unavailable