pub enum SystemMessage {
    Credit {
        target: Option<Owner>,
        amount: Amount,
        source: Option<Owner>,
    },
    Withdraw {
        owner: Owner,
        amount: Amount,
        recipient: Recipient,
    },
    OpenChain(OpenChainConfig),
    CreateCommittee {
        epoch: Epoch,
        committee: Committee,
    },
    RemoveCommittee {
        epoch: Epoch,
    },
    Subscribe {
        id: ChainId,
        subscription: ChannelSubscription,
    },
    Unsubscribe {
        id: ChainId,
        subscription: ChannelSubscription,
    },
    ApplicationCreated,
    RegisterApplications {
        applications: Vec<UserApplicationDescription>,
    },
    RequestApplication(UserApplicationId),
}Expand description
A system message meant to be executed on a remote chain.
Variants§
Credit
Credits amount units of value to the account target – unless the message is
bouncing, in which case source is credited instead.
Withdraw
Withdraws amount units of value from the account and starts a transfer to credit
the recipient. The message must be properly authenticated. Receiver chains may
refuse it depending on their configuration.
OpenChain(OpenChainConfig)
Creates (or activates) a new chain.
CreateCommittee
Adds a new epoch and committee.
RemoveCommittee
Removes an old committee.
Subscribe
Subscribes to a channel.
Unsubscribe
Unsubscribes from a channel.
ApplicationCreated
Notifies that a new application was created.
RegisterApplications
Shares information about some applications to help the recipient use them. Applications must be registered after their dependencies.
Fields
applications: Vec<UserApplicationDescription>RequestApplication(UserApplicationId)
Requests a RegisterApplication message from the target chain to register the specified
application on the sender chain.
Trait Implementations§
Source§impl Clone for SystemMessage
 
impl Clone for SystemMessage
Source§fn clone(&self) -> SystemMessage
 
fn clone(&self) -> SystemMessage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SystemMessage
 
impl Debug for SystemMessage
Source§impl<'de> Deserialize<'de> for SystemMessage
 
impl<'de> Deserialize<'de> for SystemMessage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
    __D: Deserializer<'de>,
 
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
    __D: Deserializer<'de>,
Source§impl From<SystemMessage> for Message
 
impl From<SystemMessage> for Message
Source§fn from(message: SystemMessage) -> Self
 
fn from(message: SystemMessage) -> Self
Source§impl Hash for SystemMessage
 
impl Hash for SystemMessage
Source§impl PartialEq for SystemMessage
 
impl PartialEq for SystemMessage
Source§impl Serialize for SystemMessage
 
impl Serialize for SystemMessage
impl Eq for SystemMessage
impl StructuralPartialEq for SystemMessage
Auto Trait Implementations§
impl Freeze for SystemMessage
impl RefUnwindSafe for SystemMessage
impl Send for SystemMessage
impl Sync for SystemMessage
impl Unpin for SystemMessage
impl UnwindSafe for SystemMessage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
Source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
 
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
Source§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
 
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<M, I> RuntimeMemory<&mut I> for Mwhere
    M: RuntimeMemory<I>,
 
impl<M, I> RuntimeMemory<&mut I> for Mwhere
    M: RuntimeMemory<I>,
Source§fn read<'instance>(
    &self,
    instance: &'instance &mut I,
    location: GuestPointer,
    length: u32,
) -> Result<Cow<'instance, [u8]>, RuntimeError>
 
fn read<'instance>( &self, instance: &'instance &mut I, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>
Reads length bytes from memory from the provided location.
Source§fn write(
    &mut self,
    instance: &mut &mut I,
    location: GuestPointer,
    bytes: &[u8],
) -> Result<(), RuntimeError>
 
fn write( &mut self, instance: &mut &mut I, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>
Writes the bytes to memory at the provided location.