Type Alias development_runtime::OrderBook
source · pub type OrderBook = Pallet<Runtime>;
Aliased Type§
struct OrderBook(/* private fields */);
Implementations
§impl<T> Pallet<T>where
T: Config,
impl<T> Pallet<T>where
T: Config,
pub fn place_order(
origin: <T as Config>::RuntimeOrigin,
currency_in: <T as Config>::CurrencyId,
currency_out: <T as Config>::CurrencyId,
amount_out: <T as Config>::BalanceOut,
ratio: OrderRatio<<T as Config>::Ratio>
) -> Result<(), DispatchError>
pub fn place_order( origin: <T as Config>::RuntimeOrigin, currency_in: <T as Config>::CurrencyId, currency_out: <T as Config>::CurrencyId, amount_out: <T as Config>::BalanceOut, ratio: OrderRatio<<T as Config>::Ratio> ) -> Result<(), DispatchError>
Create an order with the default min fulfillment amount.
pub fn update_order(
origin: <T as Config>::RuntimeOrigin,
order_id: <T as Config>::OrderIdNonce,
amount_out: <T as Config>::BalanceOut,
ratio: OrderRatio<<T as Config>::Ratio>
) -> Result<(), DispatchError>
pub fn update_order( origin: <T as Config>::RuntimeOrigin, order_id: <T as Config>::OrderIdNonce, amount_out: <T as Config>::BalanceOut, ratio: OrderRatio<<T as Config>::Ratio> ) -> Result<(), DispatchError>
Update an existing order
pub fn cancel_order(
origin: <T as Config>::RuntimeOrigin,
order_id: <T as Config>::OrderIdNonce
) -> Result<(), DispatchError>
pub fn cancel_order( origin: <T as Config>::RuntimeOrigin, order_id: <T as Config>::OrderIdNonce ) -> Result<(), DispatchError>
Cancel an existing order that had been created by calling account.
pub fn fill_order(
origin: <T as Config>::RuntimeOrigin,
order_id: <T as Config>::OrderIdNonce,
amount_out: <T as Config>::BalanceOut
) -> Result<(), DispatchError>
pub fn fill_order( origin: <T as Config>::RuntimeOrigin, order_id: <T as Config>::OrderIdNonce, amount_out: <T as Config>::BalanceOut ) -> Result<(), DispatchError>
Fill an existing order with the given amount.
The amount_out
is the amount the originator of this call is
willing to buy for
pub fn set_market_feeder(
origin: <T as Config>::RuntimeOrigin,
feeder_id: <T as Config>::FeederId
) -> Result<(), DispatchError>
pub fn set_market_feeder( origin: <T as Config>::RuntimeOrigin, feeder_id: <T as Config>::FeederId ) -> Result<(), DispatchError>
Set the market feeder for set market ratios. The origin must be the admin origin.
§impl<T> Pallet<T>where
T: Config,
impl<T> Pallet<T>where
T: Config,
pub fn remove_order(
order_id: <T as Config>::OrderIdNonce
) -> Result<(), DispatchError>
pub fn remove_order( order_id: <T as Config>::OrderIdNonce ) -> Result<(), DispatchError>
Remove an order from storage
pub fn market_ratio( currency_from: <T as Config>::CurrencyId, currency_to: <T as Config>::CurrencyId ) -> Result<<T as Config>::Ratio, DispatchError>
pub fn convert_with_ratio(
currency_from: <T as Config>::CurrencyId,
currency_to: <T as Config>::CurrencyId,
ratio: <T as Config>::Ratio,
amount_from: <T as Config>::BalanceOut
) -> Result<<T as Config>::BalanceIn, DispatchError>
pub fn convert_with_ratio( currency_from: <T as Config>::CurrencyId, currency_to: <T as Config>::CurrencyId, ratio: <T as Config>::Ratio, amount_from: <T as Config>::BalanceOut ) -> Result<<T as Config>::BalanceIn, DispatchError>
ratio
is the value you multiply amount_from
to obtain
amount_to
pub fn min_fulfillment_amount( currency: <T as Config>::CurrencyId ) -> Result<<T as Config>::BalanceOut, DispatchError>
Trait Implementations
§impl<T> Callable<T> for Pallet<T>where
T: Config,
impl<T> Callable<T> for Pallet<T>where
T: Config,
type RuntimeCall = Call<T>
§impl<T> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
§fn on_initialize(_n: BlockNumber) -> Weight
fn on_initialize(_n: BlockNumber) -> Weight
Block initialization hook. This is called at the very beginning of block execution. Read more
§fn on_finalize(_n: BlockNumber)
fn on_finalize(_n: BlockNumber)
Block finalization hook. This is called at the very end of block execution. Read more
§fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
Hook to consume a block’s idle time. This will run when the block is being finalized (before
[
Hooks::on_finalize
]). Read more§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Hook executed when a code change (aka. a “runtime upgrade”) is detected by FRAME. Read more
§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
Implementing this function on a pallet allows you to perform long-running tasks that are
dispatched as separate threads, and entirely independent of the main wasm runtime. Read more
§fn integrity_test()
fn integrity_test()
Check the integrity of this pallet’s configuration. Read more
§impl<T> OnRuntimeUpgrade for Pallet<T>where
T: Config,
impl<T> OnRuntimeUpgrade for Pallet<T>where
T: Config,
§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
See [
Hooks::on_runtime_upgrade
].§impl<T> IntegrityTest for Pallet<T>where
T: Config,
impl<T> IntegrityTest for Pallet<T>where
T: Config,
§fn integrity_test()
fn integrity_test()
See [
Hooks::integrity_test
].§impl<T> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
§fn on_initialize(
n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number
) -> Weight
fn on_initialize( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number ) -> Weight
See [
Hooks::on_initialize
].§impl<T> StorageInfoTrait for Pallet<T>where
T: Config,
impl<T> StorageInfoTrait for Pallet<T>where
T: Config,
fn storage_info() -> Vec<StorageInfo>
§impl<T> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
§fn on_finalize(
n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number
)
fn on_finalize( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number )
See [
Hooks::on_finalize
].§impl<T> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
§fn offchain_worker(
n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number
)
fn offchain_worker( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number )
This function is being called after every block import (when fully synced). Read more
§impl<T> OnGenesis for Pallet<T>where
T: Config,
impl<T> OnGenesis for Pallet<T>where
T: Config,
§fn on_genesis()
fn on_genesis()
Something that should happen at genesis.
§impl<T> WhitelistedStorageKeys for Pallet<T>where
T: Config,
impl<T> WhitelistedStorageKeys for Pallet<T>where
T: Config,
§fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
Returns a
Vec<TrackedStorageKey>
indicating the storage keys that
should be whitelisted during benchmarking. This means that those keys
will be excluded from the benchmarking performance calculation.§impl<T> PalletsInfoAccess for Pallet<T>where
T: Config,
impl<T> PalletsInfoAccess for Pallet<T>where
T: Config,
§impl<T> BeforeAllRuntimeMigrations for Pallet<T>where
T: Config,
impl<T> BeforeAllRuntimeMigrations for Pallet<T>where
T: Config,
§fn before_all_runtime_migrations() -> Weight
fn before_all_runtime_migrations() -> Weight
Something that should happen before runtime migrations are executed.
impl<T> Eq for Pallet<T>
§impl<T> PalletInfoAccess for Pallet<T>where
T: Config,
impl<T> PalletInfoAccess for Pallet<T>where
T: Config,
§fn module_name() -> &'static str
fn module_name() -> &'static str
Name of the Rust module containing the pallet.
§fn crate_version() -> CrateVersion
fn crate_version() -> CrateVersion
Version of the crate containing the pallet.
§impl<T> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
§impl<T> GetStorageVersion for Pallet<T>where
T: Config,
impl<T> GetStorageVersion for Pallet<T>where
T: Config,
§type CurrentStorageVersion = StorageVersion
type CurrentStorageVersion = StorageVersion
§fn current_storage_version(
) -> <Pallet<T> as GetStorageVersion>::CurrentStorageVersion
fn current_storage_version( ) -> <Pallet<T> as GetStorageVersion>::CurrentStorageVersion
Returns the current storage version as supported by the pallet.
§fn on_chain_storage_version() -> StorageVersion
fn on_chain_storage_version() -> StorageVersion
Returns the on-chain storage version of the pallet as stored in the storage.
§impl<T> TokenSwaps<<T as Config>::AccountId> for Pallet<T>where
T: Config,
impl<T> TokenSwaps<<T as Config>::AccountId> for Pallet<T>where
T: Config,
type BalanceIn = <T as Config>::BalanceIn
type BalanceOut = <T as Config>::BalanceOut
type CurrencyId = <T as Config>::CurrencyId
type OrderId = <T as Config>::OrderIdNonce
type Ratio = <T as Config>::Ratio
§fn place_order(
account: <T as Config>::AccountId,
currency_in: <T as Config>::CurrencyId,
currency_out: <T as Config>::CurrencyId,
amount_out: <T as Config>::BalanceOut,
ratio: OrderRatio<<T as Config>::Ratio>
) -> Result<<Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::OrderId, DispatchError>
fn place_order( account: <T as Config>::AccountId, currency_in: <T as Config>::CurrencyId, currency_out: <T as Config>::CurrencyId, amount_out: <T as Config>::BalanceOut, ratio: OrderRatio<<T as Config>::Ratio> ) -> Result<<Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::OrderId, DispatchError>
Swap tokens selling
amount_out
of currency_out
and buying
currency_in
given an order ratio.§fn cancel_order(
order: <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::OrderId
) -> Result<(), DispatchError>
fn cancel_order( order: <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::OrderId ) -> Result<(), DispatchError>
Cancel an already active order.
§fn update_order(
order_id: <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::OrderId,
amount_out: <T as Config>::BalanceOut,
ratio: OrderRatio<<T as Config>::Ratio>
) -> Result<(), DispatchError>
fn update_order( order_id: <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::OrderId, amount_out: <T as Config>::BalanceOut, ratio: OrderRatio<<T as Config>::Ratio> ) -> Result<(), DispatchError>
Update an existing active order.
§fn get_order_details(
order: <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::OrderId
) -> Option<OrderInfo<<Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::BalanceOut, <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::CurrencyId, <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::Ratio>>
fn get_order_details( order: <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::OrderId ) -> Option<OrderInfo<<Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::BalanceOut, <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::CurrencyId, <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::Ratio>>
Retrieve the details of the order if it exists.
§fn fill_order(
account: <T as Config>::AccountId,
order_id: <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::OrderId,
buy_amount: <T as Config>::BalanceOut
) -> Result<(), DispatchError>
fn fill_order( account: <T as Config>::AccountId, order_id: <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::OrderId, buy_amount: <T as Config>::BalanceOut ) -> Result<(), DispatchError>
Fill an existing order up to the provided amount. Read more
§fn convert_by_market(
currency_in: <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::CurrencyId,
currency_out: <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::CurrencyId,
amount_out: <T as Config>::BalanceOut
) -> Result<<T as Config>::BalanceIn, DispatchError>
fn convert_by_market( currency_in: <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::CurrencyId, currency_out: <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::CurrencyId, amount_out: <T as Config>::BalanceOut ) -> Result<<T as Config>::BalanceIn, DispatchError>
Makes a conversion between 2 currencies using the market ratio between
them.
§fn market_ratio(
currency_in: <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::CurrencyId,
currency_out: <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::CurrencyId
) -> Result<<Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::Ratio, DispatchError>
fn market_ratio( currency_in: <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::CurrencyId, currency_out: <Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::CurrencyId ) -> Result<<Pallet<T> as TokenSwaps<<T as Config>::AccountId>>::Ratio, DispatchError>
Returns the conversion ratio to convert currency out into currency in,