Enum noble_balances::Call[][src]

pub enum Call<T: Config<I>, I: Instance = DefaultInstance> {
    transfer(<T::Lookup as StaticLookup>::Source, T::Balance),
    set_balance(<T::Lookup as StaticLookup>::Source, T::Balance, T::Balance),
    force_transfer(<T::Lookup as StaticLookup>::Source, <T::Lookup as StaticLookup>::Source, T::Balance),
    transfer_keep_alive(<T::Lookup as StaticLookup>::Source, T::Balance),
    // some variants omitted
}

Dispatchable calls.

Each variant of this enum maps to a dispatchable function from the associated module.

Variants

transfer(<T::Lookup as StaticLookup>::Source, T::Balance)

Transfer some liquid free balance to another account.

transfer will set the FreeBalance of the sender and receiver. It will decrease the total issuance of the system by the TransferFee. If the sender’s account is below the existential deposit as a result of the transfer, the account will be reaped.

The dispatch origin for this call must be Signed by the transactor.

  • Dependent on arguments but not critical, given proper implementations for input config types. See related functions below.
  • It contains a limited number of reads and writes internally and no complex computation.

Related functions:

  • ensure_can_withdraw is always called internally but has a bounded complexity.
  • Transferring balances to accounts that did not exist before will cause T::OnNewAccount::on_new_account to be called.
  • Removing enough funds from an account will trigger T::DustRemoval::on_unbalanced.
  • transfer_keep_alive works the same way as transfer, but has an additional check that the transfer will not kill the origin account.

  • Base Weight: 73.64 µs, worst case scenario (account created, account removed)
  • DB Weight: 1 Read and 1 Write to destination account
  • Origin account is already in memory, so no DB operations for them.

set_balance(<T::Lookup as StaticLookup>::Source, T::Balance, T::Balance)

Set the balances of a given account.

This will alter FreeBalance and ReservedBalance in storage. it will also decrease the total issuance of the system (TotalIssuance). If the new free or reserved balance is below the existential deposit, it will reset the account nonce (fabric_system::AccountNonce).

The dispatch origin for this call is root.

  • Independent of the arguments.
  • Contains a limited number of reads and writes.

  • Base Weight:
    • Creating: 27.56 µs
    • Killing: 35.11 µs
  • DB Weight: 1 Read, 1 Write to who

force_transfer(<T::Lookup as StaticLookup>::Source, <T::Lookup as StaticLookup>::Source, T::Balance)

Exactly as transfer, except the origin must be root and the source account may be specified.

  • Same as transfer, but additional read and write because the source account is not assumed to be in the overlay.

transfer_keep_alive(<T::Lookup as StaticLookup>::Source, T::Balance)

Same as the transfer call, but with a check that the transfer will not kill the origin account.

99% of the time you want transfer instead.

  • Cheaper than transfer because account cannot be killed.
  • Base Weight: 51.4 µs
  • DB Weight: 1 Read and 1 Write to dest (sender is in overlay already) #

Trait Implementations

impl<T: Config<I>, I: Instance> Clone for Call<T, I>[src]

impl<T: Config<I>, I: Instance> Debug for Call<T, I>[src]

impl<T: Config<I>, I: Instance> Decode for Call<T, I> where
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    T::Balance: HasCompact,
    T::Balance: HasCompact,
    T::Balance: HasCompact,
    T::Balance: HasCompact,
    T::Balance: HasCompact
[src]

impl<T: Config<I>, I: Instance> Encode for Call<T, I> where
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    T::Balance: HasCompact,
    T::Balance: HasCompact,
    T::Balance: HasCompact,
    T::Balance: HasCompact,
    T::Balance: HasCompact
[src]

impl<T: Config<I>, I: Instance> EncodeLike<Call<T, I>> for Call<T, I> where
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    T::Balance: HasCompact,
    T::Balance: HasCompact,
    T::Balance: HasCompact,
    T::Balance: HasCompact,
    T::Balance: HasCompact
[src]

impl<T: Config<I>, I: Instance> Eq for Call<T, I>[src]

impl<T: Config<I>, I: Instance> GetCallName for Call<T, I>[src]

impl<T: Config<I>, I: Instance> GetDispatchInfo for Call<T, I>[src]

impl<T: Config<I>, I: Instance> PartialEq<Call<T, I>> for Call<T, I>[src]

impl<T: Config<I>, I: Instance> UnfilteredDispatchable for Call<T, I>[src]

type Origin = T::Origin

The origin type of the runtime, (i.e. fabric_system::Config::Origin).

Auto Trait Implementations

impl<T, I> RefUnwindSafe for Call<T, I> where
    I: RefUnwindSafe,
    T: RefUnwindSafe,
    <T as Config<I>>::Balance: RefUnwindSafe,
    <<T as Config>::Lookup as StaticLookup>::Source: RefUnwindSafe

impl<T, I> Send for Call<T, I> where
    I: Send,
    T: Send,
    <<T as Config>::Lookup as StaticLookup>::Source: Send

impl<T, I> Sync for Call<T, I> where
    I: Sync,
    T: Sync,
    <<T as Config>::Lookup as StaticLookup>::Source: Sync

impl<T, I> Unpin for Call<T, I> where
    I: Unpin,
    T: Unpin,
    <T as Config<I>>::Balance: Unpin,
    <<T as Config>::Lookup as StaticLookup>::Source: Unpin

impl<T, I> UnwindSafe for Call<T, I> where
    I: UnwindSafe,
    T: UnwindSafe,
    <T as Config<I>>::Balance: UnwindSafe,
    <<T as Config>::Lookup as StaticLookup>::Source: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CheckedConversion for T[src]

impl<S> Codec for S where
    S: Decode + Encode
[src]

impl<T> DecodeAll for T where
    T: Decode
[src]

impl<T> DecodeLimit for T where
    T: Decode
[src]

impl<T> Downcast for T where
    T: Any

impl<T> DowncastSync for T where
    T: Any + Send + Sync

impl<T> DynClone for T where
    T: Clone
[src]

impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ mut T> for T where
    T: Encode
[src]

impl<T> EncodeLike<Arc<T>> for T where
    T: Encode
[src]

impl<T> EncodeLike<Box<T, Global>> for T where
    T: Encode
[src]

impl<'a, T> EncodeLike<Cow<'a, T>> for T where
    T: ToOwned + Encode
[src]

impl<T> EncodeLike<Rc<T>> for T where
    T: Encode
[src]

impl<T> From<T> for T[src]

impl<S> FullCodec for S where
    S: Decode + FullEncode
[src]

impl<S> FullEncode for S where
    S: Encode + EncodeLike<S>, 
[src]

impl<T> Hashable for T where
    T: Codec
[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IsType<T> for T[src]

impl<T, Outer> IsWrappedBy<Outer> for T where
    T: From<Outer>,
    Outer: AsRef<T> + AsMut<T> + From<T>, 

pub fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

pub fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

impl<T> KeyedVec for T where
    T: Codec
[src]

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe

impl<T> Member for T where
    T: 'static + Send + Sync + Debug + Eq + PartialEq<T> + Clone
[src]

impl<T> Parameter for T where
    T: Codec + EncodeLike<T> + Clone + Eq + Debug
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SaturatedConversion for T

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 

impl<T, S> UniqueSaturatedInto<T> for S where
    T: Bounded,
    S: TryInto<T>, 

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,