pub enum VersionedMessage {
Legacy(Message),
V0(Message),
}
Expand description
Message versions supported by the Gemachain runtime.
§Serialization
If the first bit is set, the remaining 7 bits will be used to determine
which message version is serialized starting from version 0
. If the first
is bit is not set, all bytes are used to encode the legacy Message
format.
Variants§
Implementations§
Source§impl VersionedMessage
impl VersionedMessage
pub fn header(&self) -> &MessageHeader
pub fn unmapped_keys(self) -> Vec<Pubkey>
pub fn unmapped_keys_iter(&self) -> impl Iterator<Item = &Pubkey>
pub fn unmapped_keys_len(&self) -> usize
pub fn recent_blockhash(&self) -> &Hash
pub fn set_recent_blockhash(&mut self, recent_blockhash: Hash)
pub fn serialize(&self) -> Vec<u8> ⓘ
Sourcepub fn hash_raw_message(message_bytes: &[u8]) -> Hash
pub fn hash_raw_message(message_bytes: &[u8]) -> Hash
Compute the blake3 hash of a raw transaction message
Trait Implementations§
Source§impl AbiEnumVisitor for VersionedMessage
impl AbiEnumVisitor for VersionedMessage
fn visit_for_abi(&self, digester: &mut AbiDigester) -> DigestResult
Source§impl AbiExample for VersionedMessage
impl AbiExample for VersionedMessage
Source§impl Clone for VersionedMessage
impl Clone for VersionedMessage
Source§fn clone(&self) -> VersionedMessage
fn clone(&self) -> VersionedMessage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for VersionedMessage
impl Debug for VersionedMessage
Source§impl Default for VersionedMessage
impl Default for VersionedMessage
Source§impl<'de> Deserialize<'de> for VersionedMessage
impl<'de> Deserialize<'de> for VersionedMessage
Source§fn deserialize<D>(deserializer: D) -> Result<VersionedMessage, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<VersionedMessage, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for VersionedMessage
impl PartialEq for VersionedMessage
Source§impl Sanitize for VersionedMessage
impl Sanitize for VersionedMessage
Source§impl Serialize for VersionedMessage
impl Serialize for VersionedMessage
impl Eq for VersionedMessage
impl StructuralPartialEq for VersionedMessage
Auto Trait Implementations§
impl Freeze for VersionedMessage
impl RefUnwindSafe for VersionedMessage
impl Send for VersionedMessage
impl Sync for VersionedMessage
impl Unpin for VersionedMessage
impl UnwindSafe for VersionedMessage
Blanket Implementations§
Source§impl<T> AbiEnumVisitor for T
impl<T> AbiEnumVisitor for T
default fn visit_for_abi( &self, _digester: &mut AbiDigester, ) -> Result<AbiDigester, DigestError>
Source§impl<T> AbiEnumVisitor for T
impl<T> AbiEnumVisitor for T
default fn visit_for_abi( &self, digester: &mut AbiDigester, ) -> Result<AbiDigester, DigestError>
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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 more