pub enum WalletReadSource {
Db,
Fallback,
}Expand description
Which tier answered a wallet read (dig_ecosystem#2233).
A node serves a wallet read either from its own chain replica or from a third-party HTTP oracle, and the two are not interchangeable to a caller: the oracle path is a network round trip that discloses the queried address off-node, which a user on a metered or private connection has a legitimate interest in knowing about. Reporting the tier is also what makes “the node answered from its own chain state” a falsifiable claim — a sync-progress flag is not, since a flag can flip while the oracle keeps answering.
Variants§
Db
The node’s own local chain replica. No third party was consulted.
Fallback
A third-party coinset HTTP oracle. The queried value — an address, or a COIN ID on
control.wallet.coinById — was disclosed off-node.
The coin-id case is the more sensitive of the two, and the less obvious: an address is
disclosed on every routine balance poll, whereas querying a freshly created coin id, from the
spender’s IP, at the moment of the spend, hands the oracle a {IP, timestamp, coin id} tuple
that ties a network identity to a specific new on-chain identity.
Trait Implementations§
Source§impl Clone for WalletReadSource
impl Clone for WalletReadSource
Source§fn clone(&self) -> WalletReadSource
fn clone(&self) -> WalletReadSource
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more