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.

Constructors

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

Properties

correlationId → String
The correlation ID of the message.
no setter
hashCode → int
The hash code for this object.
no setterinherited
metadata → Map<String, dynamic>
The metadata of the message.
no setter
replyTo → ActorRef?
The actor to reply to.
no setter
requestId → String?
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
timestamp → DateTime
The timestamp of the message.
no setter
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