solana_program/message/
address_loader.rs1use super::v0::{LoadedAddresses, MessageAddressTableLookup};
2#[deprecated(
3 since = "2.1.0",
4 note = "Use solana_transaction_error::AddressLoaderError instead"
5)]
6pub use solana_transaction_error::AddressLoaderError;
7
8pub trait AddressLoader: Clone {
9 fn load_addresses(
10 self,
11 lookups: &[MessageAddressTableLookup],
12 ) -> Result<LoadedAddresses, AddressLoaderError>;
13}
14
15#[derive(Clone)]
16pub enum SimpleAddressLoader {
17 Disabled,
18 Enabled(LoadedAddresses),
19}
20
21impl AddressLoader for SimpleAddressLoader {
22 fn load_addresses(
23 self,
24 _lookups: &[MessageAddressTableLookup],
25 ) -> Result<LoadedAddresses, AddressLoaderError> {
26 match self {
27 Self::Disabled => Err(AddressLoaderError::Disabled),
28 Self::Enabled(loaded_addresses) => Ok(loaded_addresses),
29 }
30 }
31}