ReceiveUTXOCommand class

Command to record a received UTXO.

initialStatus is the caller's, not derived from blockHeight or confirmations: a height or a confirmation count a caller hands us is a claim, not evidence, and only a merkle proof that verified against our active header chain makes a UTXO spendable (spv-understanding.md). The sender of this command is the one that verified the proof — see WalletManagerActor._processSPVResultForWallet, which passes initialStatus: available together with the height exactly when the BEEF carried a proof, and pending with no height when it did not.

So the two must agree, and a blockHeight with pending is rejected at construction (bead libspiffy-5ry): taking a height and a confirmation count while defaulting the status to pending left callers with a wallet that quietly reported nothing spendable and no explanation.

Inheritance

Constructors

ReceiveUTXOCommand({required String walletId, required String txid, required int vout, required BigInt satoshis, required String scriptPubKey, required String address, int? blockHeight, int? confirmations, UTXOStatus initialStatus = UTXOStatus.pending, int? derivationIndex, Map<String, dynamic>? pluginMetadata, String? counterpartyMarker, String? memo, String? commandId, DateTime? timestamp, Map<String, dynamic>? metadata})

Properties

address → String
final
blockHeight → int?
The height of the block a verified merkle proof placed this UTXO's transaction in; null while it is unproven.
final
commandId → String
Unique identifier for this command Used for deduplication and tracing
no setterinherited
commandType → String
Command type identifier for logging and debugging
no setteroverride
confirmations → int?
final
correlationId → String
finalinherited
counterpartyMarker → String?
The app's opaque marker for the counterparty this payment is with (bead libspiffy-cq16, spv-understanding.md "Core Data Management" requirement 5): an Ed25519 identity key, an email address, a peer id, an internal account id — whatever the app uses for identity. libspiffy journals it and returns it; it never interprets, validates or parses it, and the identity record itself stays with the app. Not an address: it is kept apart from the address-derived counterparty columns of the read model. Null when the app supplies none.
final
derivationIndex → int?
final
hashCode → int
The hash code for this object.
no setterinherited
initialStatus → UTXOStatus
Status to set when creating the UTXO: available when a verified merkle proof backs blockHeight, pending while the transaction is unproven (and then without a blockHeight).
final
memo → String?
The payment's note, written by the payer for the payee. libspiffy journals it and returns it and never interprets it. Null when none.
final
metadata → Map<String, dynamic>
finalinherited
payload → dynamic
Override payload to return the command itself for LocalMessage compatibility
no setterinherited
persistableMetadata → Map<String, dynamic>
metadata as it is persisted: transient ActorRef entries removed.
no setterinherited
pluginMetadata → Map<String, dynamic>?
final
replyTo → ActorRef?
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
satoshis → BigInt
final
scriptPubKey → String
final
sender → ActorRef?
finalinherited
timestamp → DateTime
finalinherited
txid → String
final
typeName → String
Stable identity of this command type in storage.
no setterinherited
vout → int
final
walletId → String
finalinherited

Methods

getValidationErrors() → List<String>
Get validation errors Override in subclasses to provide specific error messages
inherited
isValid() → bool
Validate the command Override in subclasses for custom validation
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toCbor() → List<int>
Serialize command to CBOR bytes
inherited
toMap() → Map<String, dynamic>
Convert command to a map for serialization.
inherited
toString() → String
A string representation of this object.
inherited

Operators

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