-
Notifications
You must be signed in to change notification settings - Fork 63
Add Contingent Beneficiaries to Inheritance Contract #499
Copy link
Copy link
Open
Description
Component: Contracts (Inheritance) | Effort: 4-5 days | Priority: MEDIUM
Current State
Only primary beneficiaries supported. No contingent/backup beneficiaries.
Missing Functions
Contingent beneficiary functions:
add_contingent_beneficiary()- Add backup beneficiaryremove_contingent_beneficiary()- Remove backupget_contingent_beneficiaries()- List contingent beneficiariespromote_contingent()- Promote contingent to primary if primary can't claimset_contingency_conditions()- Set conditions for contingent activation
Why This Matters
- Backup plan: If primary beneficiary dies or can't claim
- Estate planning: Standard practice in wills
- Completeness: Ensures assets always have recipient
- Legal requirement: Many jurisdictions require contingent beneficiaries
Tasks
- Add ContingentBeneficiary struct
- Add beneficiary_type enum (Primary, Contingent)
- Implement
add_contingent_beneficiary()function - Add
remove_contingent_beneficiary()function - Implement contingency activation logic
- Primary beneficiary fails to claim within X days
- Primary beneficiary explicitly declines
- Primary beneficiary deceased (oracle)
- Add
promote_contingent()function - Implement
get_contingent_beneficiaries()view - Add contingency timeout configuration
- Add ContingentPromoted event
- Add tests for contingent scenarios
- Document contingent beneficiary system
Acceptance Criteria
- Contingent beneficiaries can be added
- Contingents promoted when primary fails
- Allocation transfers correctly
- Timeout mechanism works
- Tests cover promotion scenarios
- Documentation explains contingency rules
Reactions are currently unavailable