Enum pallet_atomic_swap::Call[][src]

pub enum Call<T: Config> {
    create_swap(T::AccountIdHashedProof, T::SwapAction, T::BlockNumber),
    claim_swap(Vec<u8>, T::SwapAction),
    cancel_swap(T::AccountIdHashedProof),
    // some variants omitted
}

Dispatchable calls.

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

Variants

create_swap(T::AccountIdHashedProof, 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::AccountIdHashedProof)

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

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

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

impl<T: Config> Decode for Call<T> where
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::SwapAction: Decode,
    T::SwapAction: Decode,
    T::BlockNumber: Decode,
    T::BlockNumber: Decode,
    T::SwapAction: Decode,
    T::SwapAction: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode
[src]

impl<T: Config> Encode for Call<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::SwapAction: Encode,
    T::SwapAction: Encode,
    T::BlockNumber: Encode,
    T::BlockNumber: Encode,
    T::SwapAction: Encode,
    T::SwapAction: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode
[src]

impl<T: Config> EncodeLike<Call<T>> for Call<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::SwapAction: Encode,
    T::SwapAction: Encode,
    T::BlockNumber: Encode,
    T::BlockNumber: Encode,
    T::SwapAction: Encode,
    T::SwapAction: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode
[src]

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

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

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

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

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

type Origin = T::Origin

The origin type of the runtime, (i.e. frame_system::Config::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
[src]

impl<T> Send for Call<T> where
    T: Send,
    <T as Config>::SwapAction: Send
[src]

impl<T> Sync for Call<T> where
    T: Sync,
    <T as Config>::SwapAction: Sync
[src]

impl<T> Unpin for Call<T> where
    T: Unpin,
    <T as Config>::AccountId: Unpin,
    <T as Config>::BlockNumber: Unpin,
    <T as Config>::SwapAction: Unpin
[src]

impl<T> UnwindSafe for Call<T> where
    T: UnwindSafe,
    <T as Config>::AccountId: UnwindSafe,
    <T as Config>::BlockNumber: UnwindSafe,
    <T as Config>::SwapAction: UnwindSafe
[src]

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> DecodeAll for T where
    T: Decode
[src]

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

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

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

Get a reference to the inner from the outer.

pub 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

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
    T: Bounded,
    S: TryInto<T>, 

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