Struct WalletCache

Source
pub struct WalletCache<L2: Layer2Cache> {
    pub id: Option<String>,
    pub last_block: MiningInfo,
    pub last_change: NormalIndex,
    pub headers: BTreeSet<BlockInfo>,
    pub tx: BTreeMap<Txid, WalletTx>,
    pub utxo: BTreeSet<Outpoint>,
    pub addr: BTreeMap<Keychain, BTreeSet<WalletAddr>>,
    pub layer2: L2,
    /* private fields */
}

Fields§

§id: Option<String>

This field is used by applications to link data with other wallet components

§last_block: MiningInfo§last_change: NormalIndex§headers: BTreeSet<BlockInfo>§tx: BTreeMap<Txid, WalletTx>§utxo: BTreeSet<Outpoint>§addr: BTreeMap<Keychain, BTreeSet<WalletAddr>>§layer2: L2

Implementations§

Source§

impl<L2: Layer2Cache> WalletCache<L2>

Source

pub fn coins(&self) -> impl Iterator<Item = CoinRow<L2::Coin>> + '_

Source

pub fn history(&self) -> impl Iterator<Item = TxRow<L2::Tx>> + '_

Source§

impl<L2C: Layer2Cache> WalletCache<L2C>

Source

pub fn with<I: Indexer, K, D: Descriptor<K>, L2: Layer2<Cache = L2C>>( descriptor: &WalletDescr<K, D, L2::Descr>, indexer: &I, ) -> MayError<Self, Vec<I::Error>>

Source

pub fn update<I: Indexer, K, D: Descriptor<K>, L2: Layer2<Cache = L2C>>( &mut self, descriptor: &WalletDescr<K, D, L2::Descr>, indexer: &I, ) -> MayError<usize, Vec<I::Error>>

Source

pub fn register_psbt(&mut self, psbt: &Psbt, meta: &PsbtMeta)

Source

pub fn addresses_on(&self, keychain: Keychain) -> &BTreeSet<WalletAddr>

Source

pub fn has_outpoint(&self, outpoint: Outpoint) -> bool

Source

pub fn is_unspent(&self, outpoint: Outpoint) -> bool

Source

pub fn outpoint_by( &self, outpoint: Outpoint, ) -> Result<(WalletUtxo, ScriptPubkey), NonWalletItem>

Source

pub fn txos(&self) -> impl Iterator<Item = WalletUtxo> + '_

Source

pub fn utxos(&self) -> impl Iterator<Item = WalletUtxo> + '_

Trait Implementations§

Source§

impl<L2: Layer2Cache> CloneNoPersistence for WalletCache<L2>

Source§

impl<L2: Debug + Layer2Cache> Debug for WalletCache<L2>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<L2: Layer2Cache> Drop for WalletCache<L2>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl<L2: Layer2Cache> Persisting for WalletCache<L2>

Source§

fn persistence(&self) -> Option<&Persistence<Self>>

Source§

fn persistence_mut(&mut self) -> Option<&mut Persistence<Self>>

Source§

fn as_mut_persistence(&mut self) -> &mut Option<Persistence<Self>>

Source§

fn load( provider: impl PersistenceProvider<Self> + 'static, autosave: bool, ) -> Result<Self, PersistenceError>

Source§

fn is_persisted(&self) -> bool

Source§

fn is_dirty(&self) -> bool

Source§

fn mark_dirty(&mut self)

Source§

fn is_autosave(&self) -> bool

Source§

fn set_autosave(&mut self)

Source§

fn make_persistent( &mut self, provider: impl PersistenceProvider<Self> + 'static, autosave: bool, ) -> Result<bool, PersistenceError>

Returns whether the object was persisting before this method.
Source§

fn store(&mut self) -> Result<(), PersistenceError>

Auto Trait Implementations§

§

impl<L2> Freeze for WalletCache<L2>
where L2: Freeze,

§

impl<L2> !RefUnwindSafe for WalletCache<L2>

§

impl<L2> Send for WalletCache<L2>
where L2: Send,

§

impl<L2> Sync for WalletCache<L2>
where L2: Sync,

§

impl<L2> Unpin for WalletCache<L2>
where L2: Unpin,

§

impl<L2> !UnwindSafe for WalletCache<L2>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.