mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-14 04:01:10 +00:00
Downward Message Processing implementation (#1859)
* DMP: data structures and plumbing * DMP: Implement DMP logic in the router module DMP: Integrate DMP parts into the inclusion module * DMP: Introduce the max size limit for the size of a downward message * DMP: Runtime API for accessing inbound messages * OCD Small clean ups * DMP: fix the naming of the error * DMP: add caution about a non-existent recipient
This commit is contained in:
@@ -79,20 +79,19 @@ pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic;
|
||||
/// the parachain.
|
||||
pub type Remark = [u8; 32];
|
||||
|
||||
/// These are special "control" messages that can be passed from the Relaychain to a parachain.
|
||||
/// They should be handled by all parachains.
|
||||
/// A message sent from the relay-chain down to a parachain.
|
||||
///
|
||||
/// The size of the message is limited by the `config.max_downward_message_size` parameter.
|
||||
pub type DownwardMessage = sp_std::vec::Vec<u8>;
|
||||
|
||||
/// A wrapped version of `DownwardMessage`. The difference is that it has attached the block number when
|
||||
/// the message was sent.
|
||||
#[derive(codec::Encode, codec::Decode, Clone, sp_runtime::RuntimeDebug, PartialEq)]
|
||||
pub enum DownwardMessage<AccountId = crate::AccountId> {
|
||||
/// Some funds were transferred into the parachain's account. The hash is the identifier that
|
||||
/// was given with the transfer.
|
||||
TransferInto(AccountId, Balance, Remark),
|
||||
/// An opaque blob of data. The relay chain must somehow know how to form this so that the
|
||||
/// destination parachain does something sensible.
|
||||
///
|
||||
/// NOTE: Be very careful not to allow users to place arbitrary size information in here.
|
||||
Opaque(sp_std::vec::Vec<u8>),
|
||||
/// XCMP message for the Parachain.
|
||||
XCMPMessage(sp_std::vec::Vec<u8>),
|
||||
pub struct InboundDownwardMessage<BlockNumber = crate::BlockNumber> {
|
||||
/// The block number at which this messages was put into the downward message queue.
|
||||
pub sent_at: BlockNumber,
|
||||
/// The actual downward message to processes.
|
||||
pub msg: DownwardMessage,
|
||||
}
|
||||
|
||||
/// V1 primitives.
|
||||
|
||||
Reference in New Issue
Block a user