Struct solana_sdk::message::Message [−][src]
pub struct Message { pub header: MessageHeader, pub account_keys: Vec<Pubkey, Global>, pub recent_blockhash: Hash, pub instructions: Vec<CompiledInstruction, Global>, }
Fields
header: MessageHeader
The message header, identifying signed and read-only account_keys
NOTE: Serialization-related changes must be paired with the direct read at sigverify.
account_keys: Vec<Pubkey, Global>
All the account keys used by this transaction
recent_blockhash: Hash
The id of a recent ledger entry.
instructions: Vec<CompiledInstruction, Global>
Programs that will be executed in sequence and committed in one atomic transaction if all succeed.
Implementations
impl Message
[src]
impl Message
[src]pub fn new_with_compiled_instructions(
num_required_signatures: u8,
num_readonly_signed_accounts: u8,
num_readonly_unsigned_accounts: u8,
account_keys: Vec<Pubkey, Global>,
recent_blockhash: Hash,
instructions: Vec<CompiledInstruction, Global>
) -> Message
[src]
num_required_signatures: u8,
num_readonly_signed_accounts: u8,
num_readonly_unsigned_accounts: u8,
account_keys: Vec<Pubkey, Global>,
recent_blockhash: Hash,
instructions: Vec<CompiledInstruction, Global>
) -> Message
pub fn new(instructions: &[Instruction], payer: Option<&Pubkey>) -> Message
[src]
pub fn new_with_nonce(
instructions: Vec<Instruction, Global>,
payer: Option<&Pubkey>,
nonce_account_pubkey: &Pubkey,
nonce_authority_pubkey: &Pubkey
) -> Message
[src]
instructions: Vec<Instruction, Global>,
payer: Option<&Pubkey>,
nonce_account_pubkey: &Pubkey,
nonce_authority_pubkey: &Pubkey
) -> Message
pub fn hash(&self) -> Hash
[src]
Compute the blake3 hash of this transaction’s message
pub fn hash_raw_message(message_bytes: &[u8]) -> Hash
[src]
Compute the blake3 hash of a raw transaction message
pub fn compile_instruction(&self, ix: &Instruction) -> CompiledInstruction
[src]
pub fn serialize(&self) -> Vec<u8, Global>ⓘ
[src]
pub fn program_id(&self, instruction_index: usize) -> Option<&Pubkey>
[src]
pub fn program_index(&self, instruction_index: usize) -> Option<usize>
[src]
pub fn program_ids(&self) -> Vec<&Pubkey, Global>ⓘ
[src]
pub fn is_key_passed_to_program(&self, index: usize) -> bool
[src]
pub fn is_non_loader_key(&self, key: &Pubkey, key_index: usize) -> bool
[src]
pub fn program_position(&self, index: usize) -> Option<usize>
[src]
pub fn maybe_executable(&self, i: usize) -> bool
[src]
pub fn is_writable(&self, i: usize, demote_sysvar_write_locks: bool) -> bool
[src]
pub fn is_signer(&self, i: usize) -> bool
[src]
pub fn get_account_keys_by_lock_type(
&self,
demote_sysvar_write_locks: bool
) -> (Vec<&Pubkey, Global>, Vec<&Pubkey, Global>)
[src]
&self,
demote_sysvar_write_locks: bool
) -> (Vec<&Pubkey, Global>, Vec<&Pubkey, Global>)
pub fn serialize_instructions(
&self,
demote_sysvar_write_locks: bool
) -> Vec<u8, Global>ⓘ
[src]
&self,
demote_sysvar_write_locks: bool
) -> Vec<u8, Global>ⓘ
pub fn deserialize_instruction(
index: usize,
data: &[u8]
) -> Result<Instruction, SanitizeError>
[src]
index: usize,
data: &[u8]
) -> Result<Instruction, SanitizeError>
pub fn signer_keys(&self) -> Vec<&Pubkey, Global>ⓘ
[src]
Trait Implementations
impl<'de> Deserialize<'de> for Message
[src]
impl<'de> Deserialize<'de> for Message
[src]pub fn deserialize<__D>(
__deserializer: __D
) -> Result<Message, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
[src]
__deserializer: __D
) -> Result<Message, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
impl Serialize for Message
[src]
impl Serialize for Message
[src]pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
[src]
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
impl StructuralEq for Message
[src]
impl StructuralEq for Message
[src]impl StructuralPartialEq for Message
[src]
impl StructuralPartialEq for Message
[src]Auto Trait Implementations
impl RefUnwindSafe for Message
impl RefUnwindSafe for Message
impl UnwindSafe for Message
impl UnwindSafe for Message
Blanket Implementations
impl<T> AbiEnumVisitor for T where
T: Serialize + ?Sized,
[src]
impl<T> AbiEnumVisitor for T where
T: Serialize + ?Sized,
[src]pub default fn visit_for_abi(
&self,
_digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
[src]
&self,
_digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
impl<T> AbiEnumVisitor for T where
T: Serialize + AbiExample + ?Sized,
[src]
impl<T> AbiEnumVisitor for T where
T: Serialize + AbiExample + ?Sized,
[src]pub default fn visit_for_abi(
&self,
digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
[src]
&self,
digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
impl<T> AbiExample for T
[src]
impl<T> AbiExample for T
[src]impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,