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
-
- Object
- WalletCommand
- ReceiveUTXOCommand
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:
availablewhen a verified merkle proof backs blockHeight,pendingwhile 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> -
metadataas it is persisted: transientActorRefentries 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