recipientIsSelf property

bool recipientIsSelf
final

True when the package POSITIVELY knows the funds return to THIS wallet (shield / unshield / sweep / reclaim, and an interactive send whose proposal detected an own-address recipient). False means "external or unknown" — never treat false as a verified-external claim. Lets a host prompt render "internal transfer, funds stay in your wallet" honestly.

COUPLING: the interactive-send arm forwards the core's selfSend, whose Rust semantics are ANY-leg (true if any payment leg pays an own address). That equals the whole-spend claim above ONLY because the send flow composes a SINGLE-payment URI by construction (see the note at the send controller's confirm site). Any future path that proposes a multi-payment request (scan-to-pay ZIP-321, a host prefill) must NOT forward selfSend into this field unchanged — a mixed request (own + external legs) would read true while money leaves the wallet.

Implementation

final bool recipientIsSelf;