Test kit to simulate cross-chain message passing and XCM execution
Rust
42
54 commits
updated Jun 7, 2023
Test kit to simulate cross-chain message passing and XCM execution.
Different level of simulation are provided: xcm-simulator and xcm-emulator.
UPDATE: xcm-simulator has been merged into Polkadot repo, and not actively maintained here anymore.
xcm-simulator uses mock relay chain and parachain runtime. It allows minimum runtime modules for XCM testing and playground, and thus has less compiling overhead depending on the specific config. Typical use case is unit tests of XCM related pallets.
xcm-emulator uses production relay chain and parachain runtime. Users could plug in Kusama, Statemine, and Karura runtime etc. With up-to-date chain specs, it's able to verify if specific XCM messages work in live networks.
xcm-emulator emulates the delivery and execution of XCM messages, with the assumption that the message can always be delivered to and executed in destination. There are some reasons which could prevent messages being delivered or executed, such as:
Typical use cases:
xcm-emulator for cross-chain transfer, homa-lite protocol integration tests.Rust
100.0%
Test kit to simulate cross-chain message passing and XCM execution
Rust
42
54 commits
updated Jun 7, 2023
Test kit to simulate cross-chain message passing and XCM execution.
Different level of simulation are provided: xcm-simulator and xcm-emulator.
UPDATE: xcm-simulator has been merged into Polkadot repo, and not actively maintained here anymore.
xcm-simulator uses mock relay chain and parachain runtime. It allows minimum runtime modules for XCM testing and playground, and thus has less compiling overhead depending on the specific config. Typical use case is unit tests of XCM related pallets.
xcm-emulator uses production relay chain and parachain runtime. Users could plug in Kusama, Statemine, and Karura runtime etc. With up-to-date chain specs, it's able to verify if specific XCM messages work in live networks.
xcm-emulator emulates the delivery and execution of XCM messages, with the assumption that the message can always be delivered to and executed in destination. There are some reasons which could prevent messages being delivered or executed, such as:
Typical use cases:
xcm-emulator for cross-chain transfer, homa-lite protocol integration tests.Rust
100.0%