pub enum Action {
Show 43 variants
NewOrder,
TakeSell,
TakeBuy,
PayInvoice,
FiatSent,
FiatSentOk,
Release,
Released,
Cancel,
Canceled,
CooperativeCancelInitiatedByYou,
CooperativeCancelInitiatedByPeer,
DisputeInitiatedByYou,
DisputeInitiatedByPeer,
CooperativeCancelAccepted,
BuyerInvoiceAccepted,
PurchaseCompleted,
HoldInvoicePaymentAccepted,
HoldInvoicePaymentSettled,
HoldInvoicePaymentCanceled,
WaitingSellerToPay,
WaitingBuyerInvoice,
AddInvoice,
BuyerTookOrder,
Rate,
RateUser,
RateReceived,
CantDo,
Dispute,
AdminCancel,
AdminCanceled,
AdminSettle,
AdminSettled,
AdminAddSolver,
AdminTakeDispute,
AdminTookDispute,
PaymentFailed,
InvoiceUpdated,
SendDm,
TradePubkey,
RestoreSession,
LastTradeIndex,
Orders,
}Expand description
Discriminator describing the verb of a Mostro message.
Action values are serialized in kebab-case. Each action has its own
expected Payload shape — see MessageKind::verify for the full
matrix.
Variants§
NewOrder
Publish a new order. Payload: Payload::Order.
TakeSell
Take an existing sell order. Payload: optional
Payload::PaymentRequest or Payload::Amount.
TakeBuy
Take an existing buy order. Payload: optional Payload::Amount.
PayInvoice
Request the taker to pay a Lightning invoice.
Payload: Payload::PaymentRequest.
FiatSent
Buyer notifies Mostro that fiat was sent.
FiatSentOk
Mostro acknowledges the fiat-sent notification to the seller.
Release
Seller releases the hold invoice funds.
Released
Mostro confirms that the funds have been released.
Cancel
Cancel an order.
Canceled
Mostro confirms that the order was canceled.
CooperativeCancelInitiatedByYou
Local side started a cooperative cancel.
CooperativeCancelInitiatedByPeer
Remote side started a cooperative cancel.
DisputeInitiatedByYou
Local side opened a dispute.
DisputeInitiatedByPeer
Remote side opened a dispute.
CooperativeCancelAccepted
Both sides agreed on the cooperative cancel.
BuyerInvoiceAccepted
Mostro accepted the buyer’s payout invoice.
PurchaseCompleted
Trade completed successfully.
HoldInvoicePaymentAccepted
Mostro saw the hold-invoice payment accepted by the node.
HoldInvoicePaymentSettled
Mostro saw the hold-invoice payment settled.
HoldInvoicePaymentCanceled
Mostro saw the hold-invoice payment canceled.
WaitingSellerToPay
Informational: waiting for the seller to pay the hold invoice.
WaitingBuyerInvoice
Informational: waiting for the buyer’s payout invoice.
AddInvoice
Buyer sends/updates its payout invoice.
Payload: Payload::PaymentRequest.
BuyerTookOrder
Informational: a buyer has taken a sell order.
Rate
Server-initiated rating request.
RateUser
Client-initiated rate. Payload: Payload::RatingUser.
RateReceived
Acknowledgement of a received rating.
CantDo
Mostro returns a structured refusal. Payload: Payload::CantDo.
Dispute
Client-initiated dispute.
AdminCancel
Admin cancels a trade.
AdminCanceled
Admin cancel acknowledged.
AdminSettle
Admin settles the hold invoice.
AdminSettled
Admin settle acknowledged.
AdminAddSolver
Admin registers a new dispute solver.
AdminTakeDispute
Solver takes a dispute.
AdminTookDispute
Solver took the dispute acknowledged.
PaymentFailed
Notification that a Lightning payment failed.
Payload: Payload::PaymentFailed.
InvoiceUpdated
Invoice associated with the order was updated.
SendDm
Direct message between users. Payload: Payload::TextMessage.
TradePubkey
Disclosure of a counterpart’s trade pubkey. Payload: Payload::Peer.
RestoreSession
Client asks Mostro to restore its session state. Payload must be None.
LastTradeIndex
Client asks Mostro for its last known trade index. Payload must be
None.
Orders
Listing of orders in response to a query.
Payload: Payload::Ids or Payload::Orders.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Action
impl<'de> Deserialize<'de> for Action
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Action
impl StructuralPartialEq for Action
Auto Trait Implementations§
impl Freeze for Action
impl RefUnwindSafe for Action
impl Send for Action
impl Sync for Action
impl Unpin for Action
impl UnsafeUnpin for Action
impl UnwindSafe for Action
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more