#[non_exhaustive]pub struct ProvenBalance<const P: u8 = 2> {
pub head: TreeHead,
pub account: AccountPath,
pub handle: AccountHandle,
pub kind: AccountKind,
pub period: PeriodId,
pub start: Date,
pub end: Date,
pub seal_position: u64,
pub currency: Currency,
pub layer: Layer,
pub balance: Balance<P>,
}Expand description
An account’s sealed balance proven against a log head — what
SealedBalanceProof::verify and a verified balance bundle
(Proven::Balance) establish:
the seal is in the head, the balance is the leaf at the account’s handle
in the seal’s tree, and the registration in the head names the handle.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.head: TreeHeadThe head it is proven against.
account: AccountPathThe account’s path, from its registration.
handle: AccountHandleThe account’s handle.
kind: AccountKindThe account’s kind.
period: PeriodIdThe sealed period’s id.
start: DateThe period’s first day.
end: DateThe period’s last day.
seal_position: u64The seal’s log position.
currency: CurrencyThe currency.
layer: LayerThe layer.
balance: Balance<P>The gross balance through the period’s end; its
net is derived. A zero balance proven by the
absence of a tree does not bind currency and layer: it is no
evidence the currency was ever used.
Trait Implementations§
Source§impl<const P: u8> Clone for ProvenBalance<P>
impl<const P: u8> Clone for ProvenBalance<P>
Source§impl<const P: u8> Debug for ProvenBalance<P>
impl<const P: u8> Debug for ProvenBalance<P>
impl<const P: u8> Eq for ProvenBalance<P>
Source§impl<const P: u8> PartialEq for ProvenBalance<P>
impl<const P: u8> PartialEq for ProvenBalance<P>
impl<const P: u8> StructuralPartialEq for ProvenBalance<P>
Auto Trait Implementations§
impl<const P: u8> Freeze for ProvenBalance<P>
impl<const P: u8> RefUnwindSafe for ProvenBalance<P>where
Balance<P>: RefUnwindSafe,
impl<const P: u8> Send for ProvenBalance<P>
impl<const P: u8> Sync for ProvenBalance<P>
impl<const P: u8> Unpin for ProvenBalance<P>
impl<const P: u8> UnsafeUnpin for ProvenBalance<P>where
Balance<P>: UnsafeUnpin,
impl<const P: u8> UnwindSafe for ProvenBalance<P>where
Balance<P>: UnwindSafe,
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
Mutably borrows from an owned value. Read more
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more