[][src]Struct pallet_plasma::Module

pub struct Module<T: Trait>(_);

Implementations

impl<T: Trait + 'static> Module<T>[src]

pub fn aggregator_address<K: EncodeLike<T::AccountId>>(key: K) -> T::AccountId[src]

Single aggregator address: AggregatorId

pub fn current_block<K: EncodeLike<T::AccountId>>(key: K) -> T::BlockNumber[src]

Current block number of commitment chain: BlockNumber

pub fn blocks<KArg1, KArg2>(k1: KArg1, k2: KArg2) -> T::Hash where
    KArg1: EncodeLike<T::AccountId>,
    KArg2: EncodeLike<T::BlockNumber>, 
[src]

pub fn erc20<K: EncodeLike<T::AccountId>>(key: K) -> T::AccountId[src]

mapping from Plapps address to ERC20 based contract address.

pub fn state_update_predicate<K: EncodeLike<T::AccountId>>(
    key: K
) -> T::AccountId
[src]

mapping from Plapps address to StateUpdate predicate address.

pub fn exit_predicate<K: EncodeLike<T::AccountId>>(key: K) -> T::AccountId[src]

mapping from Plapps address to Exit predicate address.

pub fn exit_deposit_predicate<K: EncodeLike<T::AccountId>>(
    key: K
) -> T::AccountId
[src]

mapping from Plapps address to ExitDeposit predicate address.

pub fn total_deposited<K: EncodeLike<T::AccountId>>(key: K) -> BalanceOf<T>[src]

TotalDeposited is the most right coin id which has been deposited.

pub fn deposited_ranges<KArg1, KArg2>(k1: KArg1, k2: KArg2) -> RangeOf<T> where
    KArg1: EncodeLike<T::AccountId>,
    KArg2: EncodeLike<BalanceOf<T>>, 
[src]

pub fn checkpoints<KArg1, KArg2>(k1: KArg1, k2: KArg2) -> bool where
    KArg1: EncodeLike<T::AccountId>,
    KArg2: EncodeLike<T::Hash>, 
[src]

pub fn payout<K: EncodeLike<T::AccountId>>(key: K) -> T::AccountId[src]

predicate address => payout address

impl<T: Trait> Module<T>[src]

Public callable Plasma commitment module methods.

pub fn retrieve(
    plapps_id: T::AccountId,
    block_number: T::BlockNumber
) -> T::Hash
[src]

pub fn verify_inclusion(
    plapps_id: T::AccountId,
    leaf: T::Hash,
    token_address: T::AccountId,
    range: RangeOf<T>,
    inclusion_proof: InclusionProofOf<T>,
    block_number: T::BlockNumber
) -> DispatchResultT<bool>
[src]

verifyInclusion method verifies inclusion of message in Double Layer Tree. The message has range and token address and these also must be verified. Please see https://docs.plasma.group/projects/spec/en/latest/src/01-core/double-layer-tree.html for further details.

  • @param leaf a message to verify its inclusion
  • @param token_address token address of the message
  • @param range range of the message
  • @param inclusion_proof The proof data to verify inclusion
  • @param block_number block number where the Merkle root is stored

pub fn verify_inclusion_with_root(
    leaf: T::Hash,
    token_address: T::AccountId,
    range: RangeOf<T>,
    inclusion_proof: InclusionProofOf<T>,
    root: T::Hash
) -> DispatchResultT<bool>
[src]

impl<T: Trait> Module<T>[src]

Public callable Plasma deposit module methods.

pub fn bare_extend_deposited_ranges(
    plapps_id: &T::AccountId,
    amount: BalanceOf<T>
)
[src]

pub fn bare_remove_deposited_range(
    plapps_id: &T::AccountId,
    range: &RangeOf<T>,
    deposited_range_id: &BalanceOf<T>
) -> DispatchResult
[src]

pub fn bare_finalize_exit(
    plapps_id: &T::AccountId,
    exit_property: &PropertyOf<T>,
    deposited_range_id: &BalanceOf<T>
) -> DispatchResultT<StateUpdateOf<T>>
[src]

bare_finalize_exit called by this module.

  • @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

pub fn verify_exit_property(
    plapps_id: &T::AccountId,
    exit_property: &PropertyOf<T>
) -> DispatchResultT<StateUpdateOf<T>>
[src]

@dev verify StateUpdate in Exit property. _exitProperty must be instance of ether ExitPredicate or ExitDepositPredicate. if _exitProperty is instance of ExitDepositPredicate, check _exitProperty.su is subrange of _exitProperty.checkpoint.

Trait Implementations

impl<T: Trait> Callable<T> for Module<T>[src]

type Call = Call<T>

impl<T: Clone + Trait> Clone for Module<T>[src]

impl<T: Copy + Trait> Copy for Module<T>[src]

impl<T: Trait> Debug for Module<T> where
    T: Debug
[src]

impl<T: Eq + Trait> Eq for Module<T>[src]

impl<T: Trait> IntegrityTest for Module<T>[src]

impl<T: Trait> ModuleErrorMetadata for Module<T>[src]

impl<T: Trait> OffchainWorker<<T as Trait>::BlockNumber> for Module<T>[src]

impl<T: Trait> OnFinalize<<T as Trait>::BlockNumber> for Module<T>[src]

impl<T: Trait> OnInitialize<<T as Trait>::BlockNumber> for Module<T>[src]

impl<T: Trait> OnRuntimeUpgrade for Module<T>[src]

impl<T: PartialEq + Trait> PartialEq<Module<T>> for Module<T>[src]

impl<T: Trait> StructuralEq for Module<T>[src]

impl<T: Trait> StructuralPartialEq for Module<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for Module<T> where
    T: RefUnwindSafe

impl<T> Send for Module<T> where
    T: Send

impl<T> Sync for Module<T> where
    T: Sync

impl<T> Unpin for Module<T> where
    T: Unpin

impl<T> UnwindSafe for Module<T> where
    T: 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<T> From<T> 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
    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> 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> 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>,