pub struct AccountKeys<'a> { /* private fields */ }
Expand description

Collection of static and dynamically loaded keys used to load accounts during transaction processing.

Implementations§

source§

impl<'a> AccountKeys<'a>

source

pub fn new( static_keys: &'a [Pubkey], dynamic_keys: Option<&'a LoadedAddresses> ) -> AccountKeys<'a>

source

pub fn get(&self, index: usize) -> Option<&'a Pubkey>

Returns the address of the account at the specified index of the list of message account keys constructed from static keys, followed by dynamically loaded writable addresses, and lastly the list of dynamically loaded readonly addresses.

source

pub fn len(&self) -> usize

Returns the total length of loaded accounts for a message

source

pub fn is_empty(&self) -> bool

Returns true if this collection of account keys is empty

source

pub fn iter(&self) -> impl Iterator<Item = &'a Pubkey>

Iterator for the addresses of the loaded accounts for a message

source

pub fn compile_instructions( &self, instructions: &[Instruction] ) -> Vec<CompiledInstruction, Global>

Compile instructions using the order of account keys to determine compiled instruction account indexes.

Panics

Panics when compiling fails. See AccountKeys::try_compile_instructions for a full description of failure scenarios.

source

pub fn try_compile_instructions( &self, instructions: &[Instruction] ) -> Result<Vec<CompiledInstruction, Global>, CompileError>

Compile instructions using the order of account keys to determine compiled instruction account indexes.

Errors

Compilation will fail if any instructions use account keys which are not present in this account key collection.

Compilation will fail if any instructions use account keys which are located at an index which cannot be cast to a u8 without overflow.

Trait Implementations§

source§

impl Index<usize> for AccountKeys<'_>

§

type Output = Pubkey

The returned type after indexing.
source§

fn index(&self, index: usize) -> &<AccountKeys<'_> as Index<usize>>::Output

Performs the indexing (container[index]) operation. Read more

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for AccountKeys<'a>

§

impl<'a> Send for AccountKeys<'a>

§

impl<'a> Sync for AccountKeys<'a>

§

impl<'a> Unpin for AccountKeys<'a>

§

impl<'a> UnwindSafe for AccountKeys<'a>

Blanket Implementations§

source§

impl<T> AbiExample for T

source§

default fn example() -> T

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V