RecordOutgoingTransactionCommand class

Command to record an outgoing transaction (payment created by this wallet) Records transaction in PENDING state until payment is confirmed by recipient

Inheritance

Constructors

RecordOutgoingTransactionCommand({required String walletId, required String txid, required String rawHex, required int totalInputSats, required int totalOutputSats, required int fee, required int numInputs, required int numOutputs, required int txVersion, required int txLockTime, required List<String> spentUtxoKeys, required List<String> recipientAddresses, required BigInt paymentAmount, String? changeAddress, BigInt? changeAmount, bool deferSpend = false, bool preSigned = false, Map<String, dynamic>? signerMetadata, String? invoiceId, String? purpose, String? counterpartyMarker, String? commandId, DateTime? timestamp, Map<String, dynamic>? metadata})

Properties

changeAddress → String?
final
changeAmount → BigInt?
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
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
deferSpend → bool
When true, do NOT emit UTXOSpentEvents for spentUtxoKeys. The spent marking is deferred to ARCActor when the tx reaches SEEN_ON_NETWORK.
final
fee → int
final
hashCode → int
The hash code for this object.
no setterinherited
invoiceId → String?
Invoice this transaction pays, if any (listed with the deferred payment).
final
metadata → Map<String, dynamic>
finalinherited
numInputs → int
final
numOutputs → int
final
payload → dynamic
Override payload to return the command itself for LocalMessage compatibility
no setterinherited
paymentAmount → BigInt
final
persistableMetadata → Map<String, dynamic>
metadata as it is persisted: transient ActorRef entries removed.
no setterinherited
preSigned → bool
When true, this transaction was signed externally (e.g., by a plugin's CallbackTransactionSigner) without going through SignTransactionCommand. The aggregate emits a TransactionSignedEvent alongside the TransactionRecordedEvent to keep the audit trail symmetric with wallet-internal signing.
final
purpose → String?
What recorded the transaction (invoice-payment, channel-funding, ...), listed with the deferred payment.
final
rawHex → String
final
recipientAddresses → List<String>
final
replyTo → ActorRef?
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sender → ActorRef?
finalinherited
signerMetadata → Map<String, dynamic>?
Optional signer provenance: derivation index, plugin id, role, signer type — anything the coordinator wants captured for forensic replay. Propagated to TransactionSignedEvent.metadata when preSigned is true.
final
spentUtxoKeys → List<String>
final
timestamp → DateTime
finalinherited
totalInputSats → int
final
totalOutputSats → int
final
txid → String
final
txLockTime → int
final
txVersion → int
final
typeName → String
Stable identity of this command type in storage.
no setterinherited
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