Refactoring Checkpoint: (WIP)
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
[package]
|
||||
name = "xcm-pez-emulator"
|
||||
description = "Test kit to emulate XCM program execution."
|
||||
version = "0.5.0"
|
||||
authors.workspace = true
|
||||
edition.workspace = true
|
||||
license = "Apache-2.0"
|
||||
homepage.workspace = true
|
||||
repository.workspace = true
|
||||
documentation = "https://docs.rs/xcm-pez-emulator"
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
[dependencies]
|
||||
array-bytes = { workspace = true }
|
||||
codec = { workspace = true, default-features = true }
|
||||
impl-trait-for-tuples = { workspace = true }
|
||||
paste = { workspace = true, default-features = true }
|
||||
tracing = { workspace = true, default-features = true }
|
||||
|
||||
# Bizinikiwi
|
||||
pezframe-support = { workspace = true, default-features = true }
|
||||
pezframe-system = { workspace = true, default-features = true }
|
||||
pezpallet-aura = { workspace = true, default-features = true }
|
||||
pezpallet-balances = { workspace = true, default-features = true }
|
||||
pezpallet-message-queue = { workspace = true, default-features = true }
|
||||
pezpallet-timestamp = { workspace = true, default-features = true }
|
||||
pezsp-arithmetic = { workspace = true, default-features = true }
|
||||
pezsp-consensus-aura = { workspace = true, default-features = true }
|
||||
pezsp-core = { workspace = true, default-features = true }
|
||||
pezsp-crypto-hashing = { workspace = true, default-features = true }
|
||||
pezsp-io = { workspace = true, default-features = true }
|
||||
pezsp-runtime = { workspace = true, default-features = true }
|
||||
pezsp-tracing = { workspace = true, default-features = true }
|
||||
|
||||
# Pezcumulus
|
||||
pezcumulus-pezpallet-teyrchain-system = { workspace = true, default-features = true }
|
||||
pezcumulus-primitives-core = { workspace = true, default-features = true }
|
||||
pezcumulus-primitives-teyrchain-inherent = { workspace = true, default-features = true }
|
||||
pezcumulus-test-relay-sproof-builder = { workspace = true, default-features = true }
|
||||
teyrchains-common = { workspace = true, default-features = true }
|
||||
|
||||
# Pezkuwi
|
||||
pezkuwi-primitives = { workspace = true, default-features = true }
|
||||
pezkuwi-runtime-teyrchains = { workspace = true, default-features = true }
|
||||
pezkuwi-teyrchain-primitives = { workspace = true, default-features = true }
|
||||
xcm = { workspace = true, default-features = true }
|
||||
xcm-executor = { workspace = true, default-features = true }
|
||||
xcm-pez-simulator = { workspace = true, default-features = true }
|
||||
|
||||
[features]
|
||||
runtime-benchmarks = [
|
||||
"pezcumulus-pezpallet-teyrchain-system/runtime-benchmarks",
|
||||
"pezcumulus-primitives-core/runtime-benchmarks",
|
||||
"pezcumulus-primitives-teyrchain-inherent/runtime-benchmarks",
|
||||
"pezcumulus-test-relay-sproof-builder/runtime-benchmarks",
|
||||
"pezframe-support/runtime-benchmarks",
|
||||
"pezframe-system/runtime-benchmarks",
|
||||
"pezpallet-aura/runtime-benchmarks",
|
||||
"pezpallet-balances/runtime-benchmarks",
|
||||
"pezpallet-message-queue/runtime-benchmarks",
|
||||
"pezpallet-timestamp/runtime-benchmarks",
|
||||
"pezkuwi-primitives/runtime-benchmarks",
|
||||
"pezkuwi-runtime-teyrchains/runtime-benchmarks",
|
||||
"pezkuwi-teyrchain-primitives/runtime-benchmarks",
|
||||
"pezsp-consensus-aura/runtime-benchmarks",
|
||||
"pezsp-io/runtime-benchmarks",
|
||||
"pezsp-runtime/runtime-benchmarks",
|
||||
"teyrchains-common/runtime-benchmarks",
|
||||
"xcm-executor/runtime-benchmarks",
|
||||
"xcm-pez-simulator/runtime-benchmarks",
|
||||
"xcm/runtime-benchmarks",
|
||||
]
|
||||
@@ -0,0 +1,23 @@
|
||||
# xcm-pez-emulator
|
||||
|
||||
XCM-Emulator is a tool to emulate XCM program execution using
|
||||
pre-configured runtimes, including those used to run on live
|
||||
networks, such as Kusama, PezkuwiChain, Asset Hubs, et cetera.
|
||||
This allows for testing cross-chain message passing and verifying
|
||||
outcomes, weights, and side-effects. It is faster than spinning up
|
||||
a zombienet and as all the chains are in one process debugging using Clion is easy.
|
||||
|
||||
## Limitations
|
||||
|
||||
As the messages do not physically go through the same messaging infrastructure
|
||||
there is some code that is not being tested compared to using slower E2E tests.
|
||||
In future it may be possible to run these XCM emulated tests as E2E tests (without changes).
|
||||
|
||||
As well as the XCM message transport being mocked out, so too are areas around consensus,
|
||||
in particular things like disputes, staking and iamonline events can't be tested.
|
||||
|
||||
## Alternatives
|
||||
|
||||
If you just wish to test execution of various XCM instructions
|
||||
against the XCM VM then the `xcm-pez-simulator` (in the PezkuwiChain
|
||||
repo) is the perfect tool for this.
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user