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
-
- Object
- CoordinatorRequest<
ForeignSpendsCheckedEvent> - CheckForeignSpendsCommand
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.askwaits 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:voutkeys 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