Skip to content

core: implement loan default detection and liquidation #12

@EmeditWeb

Description

@EmeditWeb

Problem

There is no mechanism to detect or process loan
defaults. If a learner stops paying, the loan
stays Active forever. Sponsors never recover their
locked funds. The protocol has no loss management.

What To Build

  1. Add check_default(env, loan_id) to creditline
  2. Add can_default(env, loan_id) view function
  3. Add LOANDEFAULTED event to events.rs
  4. Update liquidity pool liquidate_funds()
  5. Write comprehensive tests

Files To Touch

  • contracts/creditline-contract/src/lib.rs
  • contracts/creditline-contract/src/events.rs
  • contracts/creditline-contract/src/errors.rs
  • contracts/liquidity-pool-contract/src/lib.rs
  • contracts/creditline-contract/src/tests.rs

Acceptance Criteria

  • check_default() correctly detects defaults
  • Defaulted loan cannot be paid or defaulted again
  • Pool funds correctly liquidated
  • Reputation penalized -30 on default
  • All existing tests still pass

Mandatory Checks Before PR

  • cargo build passes
  • All tests pass
  • PR references this issue

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions