Skip to content

Status::CompletedByAdmin is defined but never used #682

@mostronatorcoder

Description

@mostronatorcoder

Summary

Status::CompletedByAdmin is defined in the Status enum but is never used to transition any order in mostrod.

Analysis

In mostro-core

The status is defined in src/order.rs:

pub enum Status {
    // ... other variants ...
    CompletedByAdmin,
    // ...
}

With serialization to "completed-by-admin".

In mostrod

Only two references exist:

  1. src/nip33.rs:211 — Handled alongside Success for NIP-33 event tag creation:

    Status::Success | Status::CompletedByAdmin => Ok((true, status)),
  2. src/db.rs:14 — Listed in EXCLUDED_ORDER_STATUSES for query filtering:

    const EXCLUDED_ORDER_STATUSES: &str = "...'completedbyadmin'...";

What's Missing

  • No admin_complete.rs or admin_complete_action function
  • No Action::AdminCompleted or Action::AdminComplete in mostro-core
  • No code path that calls update_order_event(my_keys, Status::CompletedByAdmin, ...)
  • No documentation explaining when this status should be used

Currently Used Admin Statuses

Status Action Use Case
CanceledByAdmin admin-cancel Admin cancels dispute, returns sats to seller
SettledByAdmin admin-settle Admin settles dispute, pays sats to buyer
CompletedByAdmin ❌ None Not implemented

Questions

  1. Is this intentional? Was CompletedByAdmin reserved for a future feature?
  2. What's the intended use case? How would it differ from SettledByAdmin?
  3. Should it be removed? If there's no plan to implement it, removing it would reduce confusion for client developers.

Impact on Clients

Client developers (like mostro-mobile) may implement UI and logic for CompletedByAdmin that will never be triggered, wasting development effort.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationquestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions