DeferredNetworkStatus class abstract final

Network status strings recorded for deferred payments.

ARC statuses keep ARC's wire names (SEEN_ON_NETWORK, MINED, ...). The values below are the ones the wallet acts on, plus the two it adds.

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

allowsCancel(String? status) → bool
Whether a payment with this status may be cancelled: when the source said it does not know the transaction, or when ARC reports it contested (DOUBLE_SPEND_ATTEMPTED, bead libspiffy-ey2: the user may give it up; if it is mined anyway, the wallet records it as seen). Any other status ARC reports for a transaction it holds (queued, stored, sent, seen, mined, orphan mempool, ...) means it is on its way to miners.
isContested(String? status) → bool
ARC saw a competing transaction spending an input (bead libspiffy-ey2). Not final: ARC documents that the payment may still be mined. The payment stays outstanding with its inputs held, the status is recorded and ARC keeps being polled.
isDefinitiveFailure(String? status) → bool
Statuses that settle a deferred payment as failed: REJECTED, and inputSpent. Everything else (404, network errors, orphan mempool, in-flight statuses, DOUBLE_SPEND_ATTEMPTED) is not.
isInFlight(String? status) → bool
Whether status is one of ARC's inFlight statuses.
isOnNetwork(String? status) → bool
Statuses that mean the network has the transaction (the deferred spend applies).

Constants

doubleSpendAttempted → const String
inFlight → const Set<String>
ARC's statuses for a transaction it is still taking to the network: where it had got to when it answered, not a verdict. ARC answers a submission with one when its wait for the network ran out, or when the same transaction was already being processed. Arcade answers every submission RECEIVED, and PENDING_RETRY while it retries a broadcast.
inputSpent → const String
Not an ARC status: the wallet found that an input of the payment is already spent by another transaction, and a merkle proof checked against the local header chain confirms that other transaction. The payment can never be mined (short of a reorganization, which a later proof of the payment itself would show). Set by the wallet's own checks (SpentOutputRepair, the ARC actor's stuck-payment check), never from a data source's word alone.
mined → const String
notFound → const String
The source answered that it does not know the transaction (ARC 404, data source "not found"). Not a failure: the recipient may broadcast later.
rejected → const String
seenInOrphanMempool → const String
seenMultipleNodes → const String
Arcade: more than one miner has the transaction in a subtree. On the network, as seenOnNetwork is.
seenOnNetwork → const String
unchecked → const String
Filter value matching payments never checked (no recorded status).