Struct pallet_accounting::Pallet
source · [−]pub struct Pallet<T>(_);
Expand description
The pallet implementing the on-chain logic.
Implementations
pub fn get_posting_item(
account_id: T::AccountId,
account: Ledger
) -> KeyPrefixIterator<PostingIndex>
Every accounting post gets an index.
pub fn balance_by_ledger<KArg>(k: KArg) -> Option<LedgerBalance> where
KArg: EncodeLike<(T::AccountId, Ledger)>,
pub fn balance_by_ledger<KArg>(k: KArg) -> Option<LedgerBalance> where
KArg: EncodeLike<(T::AccountId, Ledger)>,
Accounting Balances.
pub fn posting_detail<KArg>(
key: KArg
) -> Option<Record<T::AccountId, T::Hash, T::BlockNumber>> where
KArg: EncodeLikeTuple<<(Key<Blake2_128Concat, T::AccountId>, Key<Blake2_128Concat, Ledger>, Key<Twox64Concat, PostingIndex>) as KeyGenerator>::KArg> + TupleToEncodedIter,
pub fn posting_detail<KArg>(
key: KArg
) -> Option<Record<T::AccountId, T::Hash, T::BlockNumber>> where
KArg: EncodeLikeTuple<<(Key<Blake2_128Concat, T::AccountId>, Key<Blake2_128Concat, Ledger>, Key<Twox64Concat, PostingIndex>) as KeyGenerator>::KArg> + TupleToEncodedIter,
Detail of the accounting posting (for Audit).
Yay! Totem!
pub fn taxes_by_jurisdiction<KArg>(k: KArg) -> Option<LedgerBalance> where
KArg: EncodeLike<(T::AccountId, T::AccountId)>,
pub fn taxes_by_jurisdiction<KArg>(k: KArg) -> Option<LedgerBalance> where
KArg: EncodeLike<(T::AccountId, T::AccountId)>,
Address to book the sales tax to and the tax jurisdiction (Experimental, may be deprecated in future).
Trait Implementations
Returns the current storage version as supported by the pallet.
Returns the on-chain storage version of the pallet as stored in the storage.
The block is being finalized. Implement to have something happen.
This will be run when the block is being finalized (before on_finalize
).
Implement to have something happen using the remaining weight.
Will not fire if the remaining weight is 0.
Return the weight used, the hook will subtract it from current weight used
and pass the result to the next on_idle
hook if it exists. Read more
The block is being initialized. Implement to have something happen. Read more
Perform a module upgrade. Read more
Implementing this function on a module allows you to perform long-running tasks that make (by default) validators generate transactions that feed results of those long-running computations back on chain. Read more
Run integrity test. Read more
Run integrity test. Read more
This function is being called after every block import (when fully synced). Read more
The block is being finalized. Implement to have something happen. Read more
Something that should happen at genesis.
The block is being finalized.
Implement to have something happen in case there is leftover weight.
Check the passed remaining_weight
to make sure it is high enough to allow for
your pallet’s extra computation. Read more
The block is being initialized. Implement to have something happen. Read more
Perform a module upgrade. Read more
Name of the Rust module containing the pallet.
Version of the crate containing the pallet.
Extend the given vector by all of the pallets’ information that this type represents. Read more
fn handle_multiposting_amounts(
keys: &[Record<T::AccountId, T::Hash, T::BlockNumber>]
) -> DispatchResultWithPostInfo
fn handle_multiposting_amounts(
keys: &[Record<T::AccountId, T::Hash, T::BlockNumber>]
) -> DispatchResultWithPostInfo
The Totem Accounting Recipes are constructed using this function which handles posting to multiple accounts. It is exposed to other modules as a trait If for whatever reason an error occurs during the storage processing which is sequential this function also handles reversing out the prior accounting entries Therefore the recipes that are passed as arguments need to be be accompanied with a reversal Obviously the last posting does not need a reversal for if it errors, then it was not posted in the first place.
This function simply returns the Totem escrow account address
This function simply returns the Totem network fees account address
Adds a new accounting entry in the ledger in case of a transfer
fn account_for_fees(
fee: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance,
payer: T::AccountId
) -> DispatchResultWithPostInfo
fn account_for_fees(
fee: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance,
payer: T::AccountId
) -> DispatchResultWithPostInfo
This function takes the transaction fee and prepares to account for it in accounting. This is one of the few functions that will set the ledger accounts to be updated here. Fees are native to the Substrate Framework, and there may be other use cases.
fn account_for_burnt_fees(
fee: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance,
loser: T::AccountId
) -> DispatchResultWithPostInfo
fn account_for_burnt_fees(
fee: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance,
loser: T::AccountId
) -> DispatchResultWithPostInfo
This function handles burnt fee amounts when the fee rewards distribution fails.
fn distribute_fees_rewards(
fee: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance,
author: T::AccountId
) -> DispatchResultWithPostInfo
fn distribute_fees_rewards(
fee: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance,
author: T::AccountId
) -> DispatchResultWithPostInfo
This function takes is used in the asset transaction payment pallet to payout validators and account for their gains.
type PostingIndex = PostingIndex
fn storage_info() -> Vec<StorageInfo>ⓘ
Auto Trait Implementations
impl<T> RefUnwindSafe for Pallet<T> where
T: RefUnwindSafe,
impl<T> UnwindSafe for Pallet<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘimpl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘimpl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
impl<T> PalletVersionToStorageVersionHelper for T where
T: GetStorageVersion + PalletInfoAccess,
impl<T> PalletVersionToStorageVersionHelper for T where
T: GetStorageVersion + PalletInfoAccess,
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more