Skip to content

BUG: withdrawUserStakes() selector not registered on MOR Diamond (Base) — ~49.77 MOR locked #62

@ether-btc

Description

@ether-btc

BUG: withdrawUserStakes() selector not registered on MOR Diamond (Base) — ~49.77 MOR locked

Wallet: 0x845103754c0ff91fdfbef2b8d59b54185dc79499
Diamond (Base): 0x6aBE1d282f72B474E54527D93b979A4f64d3030a


Problem

Approximately 49.77 MOR is locked as "stakes on hold" on the Diamond contract. The withdrawUserStakes() function needed to reclaim these funds is not registered on the diamond — confirmed by on-chain calls reverting with:

Diamond: selector is not registered

Root Cause

When the user (consumer node operator) signs a session closeout message instead of receiving one (i.e., the counterparty never sent a closeout), the MOR stays locked as "stakes on hold" with no on-chain path to recovery. The withdrawUserStakes() function selector is not registered in the Diamond's facet registry.

Expected Behavior

Users should be able to call withdrawUserStakes() on the Diamond (directly or via the function selector 0x...) to recover their locked MOR after a session is closed.

Evidence

// Calling withdrawUserStakes directly on the diamond:
Diamond(0x6aBE1d282f72B474E54527D93b979A4f64d3030a).withdrawUserStakes(...)
// → reverts with "Diamond: selector is not registered"

Questions

  1. Is withdrawUserStakes supposed to be registered on the Diamond? If so, which facet should provide it?
  2. Is there an existing workaround to recover locked stakes without the registered function?
  3. Should this be handled by a separate escape-hatch mechanism (e.g., admin function, multisig)?

Impact

Any consumer node operator whose session counterparty fails to send a closeout message will have their MOR stakes permanently locked with no recoverable path on-chain.


Priority: High — funds are locked and inaccessible.
Chain: Base

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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