mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-08 22:58:00 +00:00
2cb39f8dc9
Implements an XCM executor `WeightTrader`, facilitating fee payments in any asset that can be exchanged for a native asset. A few constraints need to be observed: - `buy_weight` and `refund` operations must be atomic, as another weight trader implementation might be attempted in case of failure. - swap credit must be utilized since there isn’t an account to which an asset of some class can be deposited with a guarantee to meet the existential deposit requirement. Also, operating with credits enhances the efficiency of the weight trader - https://github.com/paritytech/polkadot-sdk/pull/1677 related PRs: - (depends) https://github.com/paritytech/polkadot-sdk/pull/2031 - (depends) https://github.com/paritytech/polkadot-sdk/pull/1677 - (caused) https://github.com/paritytech/polkadot-sdk/pull/1847 - (caused) https://github.com/paritytech/polkadot-sdk/pull/1876 // DONE: impl `OnUnbalanced` for a `fungible/s` credit // DONE: make the trader free from a concept of a native currency and drop few fallible conversions. related issue - https://github.com/paritytech/polkadot-sdk/issues/1842 // DONE: tests --------- Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com> Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
64 lines
2.3 KiB
TOML
64 lines
2.3 KiB
TOML
[package]
|
|
name = "cumulus-primitives-utility"
|
|
version = "0.1.0"
|
|
authors.workspace = true
|
|
edition.workspace = true
|
|
license = "Apache-2.0"
|
|
description = "Helper datatypes for Cumulus"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
|
|
log = { version = "0.4.20", default-features = false }
|
|
|
|
# Substrate
|
|
frame-support = { path = "../../../substrate/frame/support", default-features = false }
|
|
sp-io = { path = "../../../substrate/primitives/io", default-features = false }
|
|
sp-runtime = { path = "../../../substrate/primitives/runtime", default-features = false }
|
|
sp-std = { path = "../../../substrate/primitives/std", default-features = false }
|
|
pallet-asset-conversion = { path = "../../../substrate/frame/asset-conversion", default-features = false }
|
|
|
|
# Polkadot
|
|
polkadot-runtime-common = { path = "../../../polkadot/runtime/common", default-features = false }
|
|
polkadot-runtime-parachains = { path = "../../../polkadot/runtime/parachains", default-features = false }
|
|
xcm = { package = "staging-xcm", path = "../../../polkadot/xcm", default-features = false }
|
|
xcm-executor = { package = "staging-xcm-executor", path = "../../../polkadot/xcm/xcm-executor", default-features = false }
|
|
xcm-builder = { package = "staging-xcm-builder", path = "../../../polkadot/xcm/xcm-builder", default-features = false }
|
|
pallet-xcm-benchmarks = { path = "../../../polkadot/xcm/pallet-xcm-benchmarks", default-features = false }
|
|
|
|
# Cumulus
|
|
cumulus-primitives-core = { path = "../core", default-features = false }
|
|
|
|
[features]
|
|
default = ["std"]
|
|
std = [
|
|
"codec/std",
|
|
"cumulus-primitives-core/std",
|
|
"frame-support/std",
|
|
"log/std",
|
|
"pallet-asset-conversion/std",
|
|
"pallet-xcm-benchmarks/std",
|
|
"polkadot-runtime-common/std",
|
|
"polkadot-runtime-parachains/std",
|
|
"sp-io/std",
|
|
"sp-runtime/std",
|
|
"sp-std/std",
|
|
"xcm-builder/std",
|
|
"xcm-executor/std",
|
|
"xcm/std",
|
|
]
|
|
|
|
runtime-benchmarks = [
|
|
"cumulus-primitives-core/runtime-benchmarks",
|
|
"frame-support/runtime-benchmarks",
|
|
"pallet-asset-conversion/runtime-benchmarks",
|
|
"pallet-xcm-benchmarks/runtime-benchmarks",
|
|
"polkadot-runtime-common/runtime-benchmarks",
|
|
"polkadot-runtime-parachains/runtime-benchmarks",
|
|
"sp-runtime/runtime-benchmarks",
|
|
"xcm-builder/runtime-benchmarks",
|
|
"xcm-executor/runtime-benchmarks",
|
|
]
|