27 releases (breaking)
new 0.20.0 | Apr 4, 2025 |
---|---|
0.19.0 | Jan 21, 2025 |
0.18.2 | Mar 27, 2025 |
0.17.0 | Sep 26, 2024 |
0.0.0 |
|
#624 in Magic Beans
19,310 downloads per month
Used in 42 crates
(24 directly)
6.5MB
125K
SLoC
A pallet which uses the XCMP transport layer to handle both incoming and outgoing XCM message sending and dispatch, queuing, signalling and backpressure. To do so, it implements:
XcmpMessageHandler
XcmpMessageSource
Also provides an implementation of SendXcm
which can be placed in a router tuple for relaying
XCM over XCMP if the destination is Parent/Parachain
. It requires an implementation of
XcmExecutor
for dispatching incoming XCM messages.
To prevent out of memory errors on the OutboundXcmpMessages
queue, an exponential fee factor
(DeliveryFeeFactor
) is set, much like the one used in DMP.
The fee factor increases whenever the total size of messages in a particular channel passes a
threshold. This threshold is defined as a percentage of the maximum total size the channel can
have. More concretely, the threshold is max_total_size
/ THRESHOLD_FACTOR
, where:
max_total_size
is the maximum size, in bytes, of the channel, not number of messages. It is defined in the channel configuration.THRESHOLD_FACTOR
just declares which percentage of the max size is the actual threshold. If it's 2, then the threshold is half of the max size, if it's 4, it's a quarter, and so on.
Dependencies
~25–40MB
~680K SLoC