diff --git a/specs/core/0_beacon-chain.md b/specs/core/0_beacon-chain.md index f6427f1d4..df9ace80b 100644 --- a/specs/core/0_beacon-chain.md +++ b/specs/core/0_beacon-chain.md @@ -2416,6 +2416,8 @@ def process_transfer(state: BeaconState, transfer: Transfer) -> None: get_balance(state, transfer.sender) == transfer.amount + transfer.fee or get_balance(state, transfer.sender) >= transfer.amount + transfer.fee + MIN_DEPOSIT_AMOUNT ) + # No self-transfers (to enforce >= MIN_DEPOSIT_AMOUNT or zero balance invariant) + assert transfer.sender != transfer.recipient # A transfer is valid in only one slot assert state.slot == transfer.slot # Only withdrawn or not-yet-deposited accounts can transfer