Struct solana_program::message::Message[][src]

pub struct Message {
    pub header: MessageHeader,
    pub account_keys: Vec<Pubkey>,
    pub recent_blockhash: Hash,
    pub instructions: Vec<CompiledInstruction>,
}

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>

All the account keys used by this transaction

recent_blockhash: Hash

The id of a recent ledger entry.

instructions: Vec<CompiledInstruction>

Programs that will be executed in sequence and committed in one atomic transaction if all succeed.

Implementations

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>,
    recent_blockhash: Hash,
    instructions: Vec<CompiledInstruction>
) -> Self
[src]

pub fn new(instructions: &[Instruction], payer: Option<&Pubkey>) -> Self[src]

pub fn new_with_nonce(
    instructions: Vec<Instruction>,
    payer: Option<&Pubkey>,
    nonce_account_pubkey: &Pubkey,
    nonce_authority_pubkey: &Pubkey
) -> Self
[src]

pub fn compile_instruction(&self, ix: &Instruction) -> CompiledInstruction[src]

pub fn serialize(&self) -> Vec<u8>[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>[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 is_writable(&self, i: usize) -> bool[src]

pub fn is_signer(&self, i: usize) -> bool[src]

pub fn get_account_keys_by_lock_type(&self) -> (Vec<&Pubkey>, Vec<&Pubkey>)[src]

pub fn serialize_instructions(&self) -> Vec<u8>[src]

pub fn deserialize_instruction(
    index: usize,
    data: &[u8]
) -> Result<Instruction, SanitizeError>
[src]

Trait Implementations

impl Clone for Message[src]

impl Debug for Message[src]

impl Default for Message[src]

impl<'de> Deserialize<'de> for Message[src]

impl Eq for Message[src]

impl PartialEq<Message> for Message[src]

impl Sanitize for Message[src]

impl Serialize for Message[src]

impl StructuralEq for Message[src]

impl StructuralPartialEq for Message[src]

Auto Trait Implementations

impl RefUnwindSafe for Message

impl Send for Message

impl Sync for Message

impl Unpin for Message

impl UnwindSafe for Message

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]