Enum solana_sdk::message::VersionedMessage
source · pub enum VersionedMessage {
Legacy(Message),
V0(Message),
}
Expand description
Either a legacy message or a v0 message.
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 sanitize( &self, require_static_program_ids: bool ) -> Result<(), SanitizeError>
pub fn header(&self) -> &MessageHeader
pub fn static_account_keys(&self) -> &[Pubkey]
pub fn address_table_lookups(&self) -> Option<&[MessageAddressTableLookup]>
sourcepub fn is_signer(&self, index: usize) -> bool
pub fn is_signer(&self, index: usize) -> bool
Returns true if the account at the specified index signed this message.
sourcepub fn is_maybe_writable(&self, index: usize) -> bool
pub fn is_maybe_writable(&self, index: usize) -> bool
Returns true if the account at the specified index is writable by the instructions in this message. Since dynamically loaded addresses can’t have write locks demoted without loading addresses, this shouldn’t be used in the runtime.
pub fn is_invoked(&self, key_index: usize) -> bool
sourcepub fn is_non_loader_key(&self, key_index: usize) -> bool
pub fn is_non_loader_key(&self, key_index: usize) -> bool
Returns true if the account at the specified index is not invoked as a program or, if invoked, is passed to a program.
pub fn recent_blockhash(&self) -> &Hash
pub fn set_recent_blockhash(&mut self, recent_blockhash: Hash)
sourcepub fn instructions(&self) -> &[CompiledInstruction]
pub fn instructions(&self) -> &[CompiledInstruction]
Program instructions that will be executed in sequence and committed in one atomic transaction if all succeed.
pub fn serialize(&self) -> Vec<u8, Global> ⓘ
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 ) -> Result<AbiDigester, DigestError>
source§impl AbiExample for VersionedMessage
impl AbiExample for VersionedMessage
fn example() -> VersionedMessage
source§impl Clone for VersionedMessage
impl Clone for VersionedMessage
source§fn clone(&self) -> VersionedMessage
fn clone(&self) -> VersionedMessage
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for VersionedMessage
impl Debug for VersionedMessage
source§impl Default for VersionedMessage
impl Default for VersionedMessage
source§fn default() -> VersionedMessage
fn default() -> VersionedMessage
source§impl<'de> Deserialize<'de> for VersionedMessage
impl<'de> Deserialize<'de> for VersionedMessage
source§fn deserialize<D>(
deserializer: D
) -> Result<VersionedMessage, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>( deserializer: D ) -> Result<VersionedMessage, <D as Deserializer<'de>>::Error>where D: Deserializer<'de>,
source§impl PartialEq<VersionedMessage> for VersionedMessage
impl PartialEq<VersionedMessage> for VersionedMessage
source§fn eq(&self, other: &VersionedMessage) -> bool
fn eq(&self, other: &VersionedMessage) -> bool
self
and other
values to be equal, and is used
by ==
.