referrerpolicy=no-referrer-when-downgrade

Crate xcm_simulator

Source
Expand description

Test kit to simulate cross-chain message passing and XCM execution.

Re-exports§

pub use paste;

Modules§

dmp
To prevent Out of Memory errors on the DownwardMessageQueue, an exponential fee factor (DeliveryFeeFactor) is set. The fee factor increments exponentially after the number of messages in the DownwardMessageQueue passes a threshold. This threshold is set as:
helpers
mock_message_queue
Implementation of a simple message queue. Used for sending messages. Simple mock message queue.
opaque

Macros§

__impl_ext
Implements the TestExt trait for a specified struct.
decl_test_network
Declares a test network that consists of a relay chain and multiple parachains. Expects a network struct as an argument and implements testing functionality, ParachainXcmRouter and the RelayChainXcmRouter. The struct needs to contain the relay chain struct and an indexed list of parachains that are going to be in the network.
decl_test_parachain
The macro is implementing the XcmMessageHandlerT and DmpMessageHandlerT traits for the provided parachain struct. Expects the provided parachain struct to define the XcmpMessageHandler and DmpMessageHandler pallets that contain the message handling logic.
decl_test_relay_chain
The macro is implementing upward message passing(UMP) for the provided relay chain struct. The struct has to provide the XCM configuration for the relay chain.

Structs§

Ancestor
A unit struct which can be converted into a Location of the inner parents value.
AncestorThen
A unit struct which can be converted into a Location of the inner parents value and the inner interior.
Asset
Either an amount of a single fungible asset, or a single well-identified non-fungible asset.
AssetId
Location to identify an asset.
Assets
A Vec of Assets.
HintNumVariants
InstructionError
XCM error and the index of the instruction that caused it.
Location
A relative path between state-bearing consensus systems.
MaxAssetTransferFilters
PalletInfo
ParaId
Unique identifier of a parachain.
Parent
A unit struct which can be converted into a Location of parents value 1.
ParentThen
A tuple struct which can be converted into a Location of parents value 1 with the inner interior.
PhantomData
Zero-sized type used to mark things that “act like” they own a T.
ProcessXcmMessage
A message processor that delegates execution to an XcmExecutor.
QueryResponseInfo
Information regarding the composition of a query response.
RefCell
A mutable memory location with dynamically checked borrow rules
VecDeque
A double-ended queue implemented with a growable ring buffer.
Weight
WeightMeter
Meters consumed weight and a hard limit for the maximal consumable weight.
Xcm
XcmContext
Contextual data pertaining to a specific list of XCM instructions.
XcmExecutor
The XCM executor.

Enums§

AggregateMessageOrigin
Aggregate message origin for the MessageQueue pallet.
AssetFilter
Asset collection, defined either by a number of Assets or a single wildcard.
AssetInstance
A general identifier for an instance of a non-fungible asset class.
BodyId
An identifier of a pluralistic body.
BodyPart
A part of a pluralistic body.
Fungibility
Classification of whether an asset is fungible or not, along with a mandatory amount or instance.
Hint
Instruction
Cross-Consensus Message: A message from one consensus system to another.
Junction
A single item in a path to describe the relative location of a consensus system.
Junctions
Non-parent junctions that can be constructed, up to the length of 8. This specific Junctions implementation uses a Rust enum in order to make pattern matching easier.
MaybeErrorCode
MessageKind
NetworkId
A global identifier of a data structure existing within consensus.
OriginKind
Basically just the XCM (more general) version of ParachainDispatchOrigin.
Outcome
Outcome of an XCM execution.
ProcessMessageError
Errors that can happen when attempting to process a message with ProcessMessage::process_message().
Response
Response data to a query.
SendError
Error result value when attempting to send an XCM message.
UmpQueueId
Identifies a UMP queue inside the MessageQueue pallet.
VersionedXcm
A single XCM message, together with its version code.
WeightLimit
An optional weight limit.
WildAsset
A wildcard representing a set of assets.
WildFungibility
Classification of whether an asset is fungible or not.
XcmError
Error codes used in XCM. The first errors codes have explicit indices and are part of the XCM format. Those trailing are merely part of the XCM implementation; there is no expectation that they will retain the same index over time.
XcmpMessageFormat
The aggregate XCMP message format.

Constants§

PARA_MESSAGE_BUS
RELAY_MESSAGE_BUS
XCM_VERSION

Traits§

DmpMessageHandlerT
Something that should be called when a downward message is received.
Encode
Trait that allows zero-copy write of value-references to slices in LE format.
EnqueueMessage
Can enqueue messages for multiple origins.
ExecuteXcm
Type of XCM message executor.
Get
A trait for querying a single value from a type.
PreparedMessage
ProcessMessage
Can process messages from a specific origin.
Reanchorable
SendXcm
Utility for sending an XCM message to a given location.
ServiceQueues
Can service queues and execute overweight messages.
TestExt
XcmWeightInfo
XcmpMessageHandlerT
Something that should be called for each batch of messages received over XCMP.

Functions§

blake2_256
Conduct a 256-bit Blake2 hash.
encode_xcm
Encodes the provided XCM message based on the message_kind.
fake_message_hash
send_xcm
Convenience function for using a SendXcm implementation. Just interprets the dest and wraps both in Some before passing them as mutable references into T::send_xcm.
validate_send
Convenience function for using a SendXcm implementation. Just interprets the dest and wraps both in Some before passing them as mutable references into T::send_xcm.

Type Aliases§

InstructionIndex
The index of an instruction in an XCM.
InteriorLocation
A relative location which is constrained to be an interior location of the context.
QueryId
An identifier for a query.
RelayBlockNumber
The block number type used by Polkadot. 32-bits will allow for 136 years of blocks assuming 1 block per second.
SendResult
Result value when attempting to send an XCM message.
TestExternalities
Type alias for Externalities implementation used in tests.
XcmHash
A hash type for identifying messages.
XcmResult

Derive Macros§

Encode
Derive parity_scale_codec::Encode and parity_scale_codec::EncodeLike for struct and enum.