Enum pallet_atomic_swap::pallet::Call [−][src]
pub enum Call<T: Config> { create_swap(T::AccountId, HashedProof, T::SwapAction, T::BlockNumber), claim_swap(Vec<u8>, T::SwapAction), cancel_swap(T::AccountId, HashedProof), // some variants omitted }
Expand description
Contains one variant per dispatchable that can be called by an extrinsic.
Variants
create_swap(T::AccountId, HashedProof, T::SwapAction, T::BlockNumber)
Register a new atomic swap, declaring an intention to send funds from origin to target
on the current blockchain. The target can claim the fund using the revealed proof. If
the fund is not claimed after duration
blocks, then the sender can cancel the swap.
The dispatch origin for this call must be Signed.
target
: Receiver of the atomic swap.hashed_proof
: The blake2_256 hash of the secret proof.balance
: Funds to be sent from origin.duration
: Locked duration of the atomic swap. For safety reasons, it is recommended that the revealer uses a shorter duration than the counterparty, to prevent the situation where the revealer reveals the proof too late around the end block.
claim_swap(Vec<u8>, T::SwapAction)
Claim an atomic swap.
The dispatch origin for this call must be Signed.
proof
: Revealed proof of the claim.action
: Action defined in the swap, it must match the entry in blockchain. Otherwise the operation fails. This is used for weight calculation.
cancel_swap(T::AccountId, HashedProof)
Cancel an atomic swap. Only possible after the originally set duration has passed.
The dispatch origin for this call must be Signed.
target
: Target of the original atomic swap.hashed_proof
: Hashed proof of the original atomic swap.
Trait Implementations
Attempt to deserialise the value from input.
Attempt to skip the encoded value from input. Read more
fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
Convert self to a slice and append it to the destination.
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.
fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
Return the function name of the Call.
Return all function names.
Return a DispatchInfo
, containing relevant information of this dispatch. Read more
Dispatch this call but do not check the filter in origin.
Auto Trait Implementations
impl<T> RefUnwindSafe for Call<T> where
T: RefUnwindSafe,
<T as Config>::AccountId: RefUnwindSafe,
<T as Config>::BlockNumber: RefUnwindSafe,
<T as Config>::SwapAction: RefUnwindSafe,
impl<T> Unpin for Call<T> where
T: Unpin,
<T as Config>::AccountId: Unpin,
<T as Config>::BlockNumber: Unpin,
<T as Config>::SwapAction: Unpin,
impl<T> UnwindSafe for Call<T> where
T: UnwindSafe,
<T as Config>::AccountId: UnwindSafe,
<T as Config>::BlockNumber: UnwindSafe,
<T as Config>::SwapAction: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
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
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
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
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
pub fn vzip(self) -> V
impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode,
impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode,
impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode,
impl<T> EncodeLike<Arc<T>> for T where
T: Encode,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode,
impl<T> MaybeDebug for T where
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,