[][src]Enum pallet_plasma::Call

pub enum Call<T: Trait> {
    deploy(T::AccountId, T::AccountId, T::AccountId, T::AccountId, T::AccountId),
    submit_root(T::AccountId, T::BlockNumber, T::Hash),
    deposit(T::AccountIdBalanceOf<T>, PropertyOf<T>, Gas),
    extend_deposited_ranges(T::AccountIdBalanceOf<T>),
    remove_deposited_range(T::AccountIdRangeOf<T>, BalanceOf<T>),
    finalize_checkpoint(T::AccountIdPropertyOf<T>),
    finalize_exit(T::AccountIdPropertyOf<T>, BalanceOf<T>, T::AccountId),
    // some variants omitted
}

Dispatchable calls.

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

Variants

deploy(T::AccountId, T::AccountId, T::AccountId, T::AccountId, T::AccountId)

Commitment constructor + Deposit constructor TODO: weight

submit_root(T::AccountId, T::BlockNumber, T::Hash)

Submit root hash of Plasma chain. TODO: weight

deposit(T::AccountIdBalanceOf<T>, PropertyOf<T>, Gas)

deposit ERC20 token to deposit contract with initial state. following https://docs.plasma.group/projects/spec/en/latest/src/02-contracts/deposit-contract.html#deposit

  • @param amount to deposit
  • @param initial_state The initial state of deposit TODO: weight
extend_deposited_ranges(T::AccountIdBalanceOf<T>)

TODO: weight, not external

remove_deposited_range(T::AccountIdRangeOf<T>, BalanceOf<T>)

TODO: weight, not external

finalize_checkpoint(T::AccountIdPropertyOf<T>)

finalizeCheckpoint

  • @param _checkpointProperty A property which is instance of checkpoint predicate its first input is range to create checkpoint and second input is property for stateObject. TODO: weight
finalize_exit(T::AccountIdPropertyOf<T>, BalanceOf<T>, T::AccountId)

finalizeExit

  • @param _exitProperty A property which is instance of exit predicate and its inputs are range and StateUpdate that exiting account wants to withdraw. _exitProperty can be a property of ether ExitPredicate or ExitDepositPredicate.
  • @param _depositedRangeId Id of deposited range
  • @return return StateUpdate of exit property which is finalized.
  • @dev The steps of finalizeExit.
  1. Serialize exit property
  2. check the property is decided by Adjudication Contract.
  3. Transfer asset to payout contract corresponding to StateObject.

Please alse see https://docs.plasma.group/projects/spec/en/latest/src/02-contracts/deposit-contract.html#finalizeexit TODO: weight

Trait Implementations

impl<T: Trait> Clone for Call<T>[src]

impl<T: Trait> Debug for Call<T>[src]

impl<T: Trait> Decode for Call<T> where
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::BlockNumber: Decode,
    T::BlockNumber: Decode,
    T::Hash: Decode,
    T::Hash: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    BalanceOf<T>: Decode,
    BalanceOf<T>: Decode,
    PropertyOf<T>: Decode,
    PropertyOf<T>: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    BalanceOf<T>: Decode,
    BalanceOf<T>: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    RangeOf<T>: Decode,
    RangeOf<T>: Decode,
    BalanceOf<T>: Decode,
    BalanceOf<T>: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    PropertyOf<T>: Decode,
    PropertyOf<T>: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    PropertyOf<T>: Decode,
    PropertyOf<T>: Decode,
    BalanceOf<T>: Decode,
    BalanceOf<T>: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode
[src]

impl<T: Trait> Encode for Call<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::BlockNumber: Encode,
    T::BlockNumber: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    PropertyOf<T>: Encode,
    PropertyOf<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    RangeOf<T>: Encode,
    RangeOf<T>: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    PropertyOf<T>: Encode,
    PropertyOf<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    PropertyOf<T>: Encode,
    PropertyOf<T>: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode
[src]

impl<T: Trait> EncodeLike<Call<T>> for Call<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::BlockNumber: Encode,
    T::BlockNumber: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    PropertyOf<T>: Encode,
    PropertyOf<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    RangeOf<T>: Encode,
    RangeOf<T>: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    PropertyOf<T>: Encode,
    PropertyOf<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    PropertyOf<T>: Encode,
    PropertyOf<T>: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode
[src]

impl<T: Trait> Eq for Call<T>[src]

impl<T: Trait> GetCallName for Call<T>[src]

impl<T: Trait> GetDispatchInfo for Call<T>[src]

impl<T: Trait> PartialEq<Call<T>> for Call<T>[src]

impl<T: Trait> UnfilteredDispatchable for Call<T>[src]

type Origin = T::Origin

The origin type of the runtime, (i.e. frame_system::Trait::Origin).

Auto Trait Implementations

impl<T> RefUnwindSafe for Call<T> where
    T: RefUnwindSafe,
    <T as Trait>::AccountId: RefUnwindSafe,
    <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: RefUnwindSafe,
    <T as Trait>::BlockNumber: RefUnwindSafe,
    <T as Trait>::Currency: Currency<<T as Trait>::AccountId>,
    <T as Trait>::Hash: RefUnwindSafe

impl<T> Send for Call<T> where
    T: Send,
    <T as Trait>::AccountId: Send,
    <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: Send,
    <T as Trait>::BlockNumber: Send,
    <T as Trait>::Currency: Currency<<T as Trait>::AccountId>,
    <T as Trait>::Hash: Send

impl<T> Sync for Call<T> where
    T: Sync,
    <T as Trait>::AccountId: Sync,
    <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: Sync,
    <T as Trait>::BlockNumber: Sync,
    <T as Trait>::Currency: Currency<<T as Trait>::AccountId>,
    <T as Trait>::Hash: Sync

impl<T> Unpin for Call<T> where
    T: Unpin,
    <T as Trait>::AccountId: Unpin,
    <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: Unpin,
    <T as Trait>::BlockNumber: Unpin,
    <T as Trait>::Currency: Currency<<T as Trait>::AccountId>,
    <T as Trait>::Hash: Unpin

impl<T> UnwindSafe for Call<T> where
    T: UnwindSafe,
    <T as Trait>::AccountId: UnwindSafe,
    <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: UnwindSafe,
    <T as Trait>::BlockNumber: UnwindSafe,
    <T as Trait>::Currency: Currency<<T as Trait>::AccountId>,
    <T as Trait>::Hash: 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: Encode + Decode
[src]

impl<T, X> Decode for X where
    T: Decode + Into<X>,
    X: WrapperTypeDecode<Wrapped = T>, 
[src]

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

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

impl<T, X> Encode for X where
    T: Encode + ?Sized,
    X: WrapperTypeEncode<Target = T>, 
[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>> for T where
    T: Encode
[src]

impl<'a, T> EncodeLike<Cow<'a, T>> for T where
    T: Encode + ToOwned
[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, 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
    Outer: AsRef<T> + AsMut<T> + From<T>,
    T: From<Outer>, 
[src]

fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

fn from_mut(outer: &mut Outer) -> &mut T[src]

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 + Clone + PartialEq<T> + Eq + Send + Sync + Debug
[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[src]

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>, 
[src]

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

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