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
-
- Object
- WalletCommand
- RecordOutgoingTransactionCommand
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? memo, DateTime? deadline, 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
- deadline → DateTime?
-
With deferSpend: when the wallet reclaims the payment by itself if
it is still outstanding then (bead libspiffy-8442). Null for never.
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
- 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
- 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> -
metadataas it is persisted: transientActorRefentries 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