Skip to content

Add Contingent Beneficiaries to Inheritance Contract #499

@ONEONUORA

Description

@ONEONUORA

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 beneficiary
  • remove_contingent_beneficiary() - Remove backup
  • get_contingent_beneficiaries() - List contingent beneficiaries
  • promote_contingent() - Promote contingent to primary if primary can't claim
  • set_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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions