pub struct MatchProposal {
pub in_event: EventId,
pub out_event: EventId,
pub in_date: TaxDate,
pub out_date: TaxDate,
pub in_wallet: Option<WalletId>,
pub out_wallet: Option<WalletId>,
pub in_sat: Sat,
pub out_principal_sat: Sat,
pub usd_value: Option<Usd>,
pub action: MatchAction,
pub ambiguous: bool,
pub txid_match: bool,
}Expand description
One proposed self-transfer match (C2). A PROPOSAL — never applied until the user confirms it.
Fields§
§in_event: EventId§out_event: EventId§in_date: TaxDate§out_date: TaxDate§in_wallet: Option<WalletId>The in-leg’s wallet (the RELOCATE destination). None legs are never proposed (can’t relocate /
can’t be same-wallet), so this is always Some for a real proposal; Option kept defensively.
out_wallet: Option<WalletId>The out-leg’s (source) wallet. Always Some for a pending out; Option kept defensively.
in_sat: Sat§out_principal_sat: Sat§usd_value: Option<Usd>fmv_of(prices, out_date, out_principal_sat) — advisory, None on missing price / overflow.
action: MatchActionSuggested action from wallet topology (same-wallet ⇒ Drop, cross-tracked-wallet ⇒ Relocate).
ambiguous: boolTrue when this in OR this out matches >1 counterpart — surfaced FLAGGED, NEVER auto-picked (G-FALSE-MATCH).
txid_match: boolTrue when in.txid == out.txid (both Some) — decisive cross-wallet corroboration (relaxes the
amount check, but NOT the ambiguity guard).
Trait Implementations§
Source§impl Clone for MatchProposal
impl Clone for MatchProposal
Source§fn clone(&self) -> MatchProposal
fn clone(&self) -> MatchProposal
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MatchProposal
impl Debug for MatchProposal
impl Eq for MatchProposal
Source§impl PartialEq for MatchProposal
impl PartialEq for MatchProposal
impl StructuralPartialEq for MatchProposal
Auto Trait Implementations§
impl Freeze for MatchProposal
impl RefUnwindSafe for MatchProposal
impl Send for MatchProposal
impl Sync for MatchProposal
impl Unpin for MatchProposal
impl UnsafeUnpin for MatchProposal
impl UnwindSafe for MatchProposal
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.