Enum linera_execution::system::SystemOperation
source · pub enum SystemOperation {
Transfer {
owner: Option<Owner>,
recipient: Recipient,
amount: Amount,
user_data: UserData,
},
Claim {
owner: Owner,
target: ChainId,
recipient: Recipient,
amount: Amount,
user_data: UserData,
},
OpenChain {
ownership: ChainOwnership,
admin_id: ChainId,
epoch: Epoch,
committees: BTreeMap<Epoch, Committee>,
},
CloseChain,
ChangeOwner {
new_public_key: PublicKey,
},
ChangeMultipleOwners {
new_public_keys: Vec<(PublicKey, u64)>,
multi_leader_rounds: RoundNumber,
},
Subscribe {
chain_id: ChainId,
channel: SystemChannel,
},
Unsubscribe {
chain_id: ChainId,
channel: SystemChannel,
},
PublishBytecode {
contract: Bytecode,
service: Bytecode,
},
CreateApplication {
bytecode_id: BytecodeId,
parameters: Vec<u8>,
initialization_argument: Vec<u8>,
required_application_ids: Vec<UserApplicationId>,
},
RequestApplication {
chain_id: ChainId,
application_id: UserApplicationId,
},
Admin(AdminOperation),
}
Expand description
A system operation.
Variants§
Transfer
Transfers amount
units of value from the given owner’s account to the recipient.
If no owner is given, try to take the units out of the unattributed account.
Claim
Claims amount
units of value from the given owner’s account in
the remote target
chain. Depending on its configuration (see also #464), the
target
chain may refuse to process the message.
OpenChain
Fields
ownership: ChainOwnership
Creates (or activates) a new chain.
This will automatically subscribe to the future committees created by admin_id
.
CloseChain
Closes the chain.
ChangeOwner
Changes the authentication key of the chain.
ChangeMultipleOwners
Changes the authentication key of the chain.
Subscribe
Subscribes to a system channel.
Unsubscribe
Unsubscribes from a system channel.
PublishBytecode
Publishes a new application bytecode.
CreateApplication
Creates a new application.
RequestApplication
Requests a message from another chain to register a user application on this chain.
Admin(AdminOperation)
Operations that are only allowed on the admin chain.
Trait Implementations§
source§impl Clone for SystemOperation
impl Clone for SystemOperation
source§fn clone(&self) -> SystemOperation
fn clone(&self) -> SystemOperation
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for SystemOperation
impl Debug for SystemOperation
source§impl<'de> Deserialize<'de> for SystemOperation
impl<'de> Deserialize<'de> for SystemOperation
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<SystemOperation> for Operation
impl From<SystemOperation> for Operation
source§fn from(operation: SystemOperation) -> Self
fn from(operation: SystemOperation) -> Self
source§impl Hash for SystemOperation
impl Hash for SystemOperation
source§impl PartialEq<SystemOperation> for SystemOperation
impl PartialEq<SystemOperation> for SystemOperation
source§fn eq(&self, other: &SystemOperation) -> bool
fn eq(&self, other: &SystemOperation) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for SystemOperation
impl Serialize for SystemOperation
impl Eq for SystemOperation
impl StructuralEq for SystemOperation
impl StructuralPartialEq for SystemOperation
Auto Trait Implementations§
impl RefUnwindSafe for SystemOperation
impl Send for SystemOperation
impl Sync for SystemOperation
impl Unpin for SystemOperation
impl UnwindSafe for SystemOperation
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
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
§impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,
§fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.