Skip to content

[TASK] Handling edge cases for slashing #919

@drewstone

Description

@drewstone

Objective

Determine how to handle slashing when an account's balance is reduced below critical thresholds, ensuring expected behavior for extrinsic transfers, account viability, and operator participation.

Checklist

  • Define expected behavior when an account's balance is insufficient to fulfill the slash (zero out, maintain existential balance, or set a minimum threshold).
  • Determine if operators should be removed if their bond falls below a certain amount.
  • Identify and document edge cases related to slashing mechanics.
  • Develop test cases to validate handling of these edge cases.
  • Align on a final approach and update system logic accordingly.

Raw

When we slash people, if they lose enough of their balance, especially of their native balance, then the extrinsics might fail to actually transfer that balance to the slash recipient. How do we handle this? How do we want to handle this? Do we just zero the account out? Do we leave enough for the existential balance? Or do we have a minimum that we stop slashing at? At the same time, do we remove the operators if they go below some amount of tokens, their bond initially? There's a lot of open questions here and actually edge cases that we need to test.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Not Started 🕧

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions