CheckForeignSpendsCommand class

Asks whether outputs the wallet holds were spent by someone else: by default every plugin output (a token) the wallet has not spent. For each one the configured data source answers who spent it. A spender that is mined and proven against the local headers (ForeignSpend.proven) is received by the wallet as any mined transaction of its is: the output it spends is marked spent, its outputs that pay the wallet's addresses are received as available in the block its proof names, and it joins the wallet's transaction history (ForeignSpend.recorded). Its raw transaction and its BEEF come back too. Anything less is a lead, reported and not acted on.

A token the wallet holds can be spent without the wallet: a Voucher NFT the issuer forced back after its expiry, a listing a stranger bought, a pot seized. The wallet learns of it by asking about what it holds, one output at a time; it never scans the chain. A listing bought: the token output goes and the price arrives, both in the same check. Replied with ForeignSpendsCheckedEvent once the read model shows what was recorded, so a balance read on hearing it is current.

Inheritance

Constructors

CheckForeignSpendsCommand({required String walletId, List<String>? utxoKeys, String? requestId})

Properties

correlationId → String
The correlation ID of the message.
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
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
utxoKeys → List<String>?
txid:vout keys to check; null for every unspent plugin output.
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