Trait common::prelude::SwapAction
source · pub trait SwapAction<SourceAccountId, TargetAccountId, AssetId, T: Config> {
// Required methods
fn reserve(
&self,
source: &SourceAccountId,
base_asset_id: &AssetId
) -> DispatchResult;
fn claim(&self, source: &SourceAccountId) -> bool;
fn weight(&self) -> Weight;
fn cancel(&self, source: &SourceAccountId);
}
Expand description
Definition of a pending atomic swap action. It contains the following three phrases:
- Reserve: reserve the resources needed for a swap. This is to make sure that Claim succeeds with best efforts.
- Claim: claim any resources reserved in the first phrase.
- Cancel: cancel any resources reserved in the first phrase.
Required Methods§
sourcefn reserve(
&self,
source: &SourceAccountId,
base_asset_id: &AssetId
) -> DispatchResult
fn reserve( &self, source: &SourceAccountId, base_asset_id: &AssetId ) -> DispatchResult
Reserve the resources needed for the swap, from the given source
. The reservation is
allowed to fail. If that is the case, the the full swap creation operation is cancelled.
sourcefn claim(&self, source: &SourceAccountId) -> bool
fn claim(&self, source: &SourceAccountId) -> bool
Claim the reserved resources, with source
. Returns whether the claim succeeds.
sourcefn cancel(&self, source: &SourceAccountId)
fn cancel(&self, source: &SourceAccountId)
Cancel the resources reserved in source
.
Implementations on Foreign Types§
source§impl<SourceAccountId, TargetAccountId, AssetId, T: Config> SwapAction<SourceAccountId, TargetAccountId, AssetId, T> for ()
impl<SourceAccountId, TargetAccountId, AssetId, T: Config> SwapAction<SourceAccountId, TargetAccountId, AssetId, T> for ()
Dummy implementation for cases then () used in runtime as empty SwapAction.