[−][src]Struct pallet_plasma::Module
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]
KArg1: EncodeLike<T::AccountId>,
KArg2: EncodeLike<T::BlockNumber>,
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]
key: K
) -> T::AccountId
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]
key: K
) -> T::AccountId
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]
KArg1: EncodeLike<T::AccountId>,
KArg2: EncodeLike<BalanceOf<T>>,
pub fn checkpoints<KArg1, KArg2>(k1: KArg1, k2: KArg2) -> bool where
KArg1: EncodeLike<T::AccountId>,
KArg2: EncodeLike<T::Hash>,
[src]
KArg1: EncodeLike<T::AccountId>,
KArg2: EncodeLike<T::Hash>,
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]
plapps_id: T::AccountId,
block_number: T::BlockNumber
) -> T::Hash
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]
plapps_id: T::AccountId,
leaf: T::Hash,
token_address: T::AccountId,
range: RangeOf<T>,
inclusion_proof: InclusionProofOf<T>,
block_number: T::BlockNumber
) -> DispatchResultT<bool>
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]
leaf: T::Hash,
token_address: T::AccountId,
range: RangeOf<T>,
inclusion_proof: InclusionProofOf<T>,
root: T::Hash
) -> DispatchResultT<bool>
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]
plapps_id: &T::AccountId,
amount: BalanceOf<T>
)
pub fn bare_remove_deposited_range(
plapps_id: &T::AccountId,
range: &RangeOf<T>,
deposited_range_id: &BalanceOf<T>
) -> DispatchResult
[src]
plapps_id: &T::AccountId,
range: &RangeOf<T>,
deposited_range_id: &BalanceOf<T>
) -> DispatchResult
pub fn bare_finalize_exit(
plapps_id: &T::AccountId,
exit_property: &PropertyOf<T>,
deposited_range_id: &BalanceOf<T>
) -> DispatchResultT<StateUpdateOf<T>>
[src]
plapps_id: &T::AccountId,
exit_property: &PropertyOf<T>,
deposited_range_id: &BalanceOf<T>
) -> DispatchResultT<StateUpdateOf<T>>
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.
- Serialize exit property
- check the property is decided by Adjudication Contract.
- 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]
plapps_id: &T::AccountId,
exit_property: &PropertyOf<T>
) -> DispatchResultT<StateUpdateOf<T>>
@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]
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]
T: Debug,
impl<T: Eq + Trait> Eq for Module<T>
[src]
impl<T: Trait> IntegrityTest for Module<T>
[src]
fn integrity_test()
[src]
impl<T: Trait> ModuleErrorMetadata for Module<T>
[src]
fn metadata() -> &'static [ErrorMetadata]
[src]
impl<T: Trait> OffchainWorker<<T as Trait>::BlockNumber> for Module<T>
[src]
fn offchain_worker(_n: BlockNumber)
[src]
impl<T: Trait> OnFinalize<<T as Trait>::BlockNumber> for Module<T>
[src]
fn on_finalize(_n: BlockNumber)
[src]
impl<T: Trait> OnInitialize<<T as Trait>::BlockNumber> for Module<T>
[src]
fn on_initialize(_n: BlockNumber) -> u64
[src]
impl<T: Trait> OnRuntimeUpgrade for Module<T>
[src]
fn on_runtime_upgrade() -> Weight
[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,
T: RefUnwindSafe,
impl<T> Send for Module<T> where
T: Send,
T: Send,
impl<T> Sync for Module<T> where
T: Sync,
T: Sync,
impl<T> Unpin for Module<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for Module<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CheckedConversion for T
[src]
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
[src]
Self: TryFrom<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
[src]
Self: TryInto<T>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IsType<T> for T
[src]
fn from_ref(t: &T) -> &T
[src]
fn into_ref(&self) -> &T
[src]
fn from_mut(t: &mut T) -> &mut T
[src]
fn into_mut(&mut self) -> &mut T
[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
[src]
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
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,
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,
T: Debug,
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Member for T where
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
[src]
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> SaturatedConversion for T
[src]
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
[src]
Self: UniqueSaturatedFrom<T>,
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
[src]
Self: UniqueSaturatedInto<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]
T: UncheckedFrom<S>,
fn unchecked_into(self) -> T
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
S: TryInto<T>,
T: Bounded,
[src]
S: TryInto<T>,
T: Bounded,
fn unique_saturated_into(self) -> T
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,