ImportTransactionCommand class

Import a transaction the wallet already knows to be mined: recovering a wallet, or bringing in its own history.

The BEEF must carry the merkle proof of the transaction it imports (its last transaction), so the wallet holds the proof its outputs are spent with and nothing needs tracking on the network (bead libspiffy-ckr4). One without is refused with a TransactionImportedEvent saying so: a counterparty's payment is received with ValidateBEEFCommand, which submits it and follows it to its block. The txid is the BEEF's; it is not the caller's to name.

delegatedIndices is the other half of a service's hand-off (bead libspiffy-m8qu; spv-understanding.md, "Payment modes"): a service holding this wallet's xpub took a payment for it on the delegated chain (m/2/{index}), broadcast it and followed it to its block, and hands it over with the indices it issued (ExportTransactionQuery on the service's side). The wallet derives those addresses from its own key and records them before the import, so the payment is attributed to it and can be spent.

type42Derivations is the hand-off of a payer that paid one of this wallet's anchor keys with type-42 (beads libspiffy-zxkd, libspiffy-fdal): for each destination the anchor and its context, the payer's public key and the invoice number, which the payer's own export carries (TransactionExportedEvent.type42Derivations). The wallet finds the anchor's context (its issued anchors first, else the hand-off's, which must give the anchor: a wallet restored from its seed has issued none), derives each address from its anchor key and records it before the import, as for delegatedIndices.

Inheritance

Constructors

ImportTransactionCommand({required String walletId, required List<int> beef, String? fromCounterparty, String? memo, List<int> delegatedIndices = const [], List<Type42Derivation> type42Derivations = const [], String? requestId})

Properties

beef → List<int>
final
correlationId → String
The correlation ID of the message.
no setterinherited
delegatedIndices → List<int>
final
fromCounterparty → String?
final
hashCode → int
The hash code for this object.
no setterinherited
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>
The metadata of the message.
no setter
replyTimeout → Duration
How long WalletCoordinator.ask waits for the reply when the caller gives no timeout. A request that is still running then is not cancelled: its reply arrives on the event stream later.
no setteroverride
replyTo → ActorRef?
The actor to reply to.
no setterinherited
requestId → String
Identifies this request; its reply carries it back.
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
timestamp → DateTime
The timestamp of the message.
finalinherited
type42Derivations → List<Type42Derivation>
final
walletId → String
final

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