use solana_sdk::{account::Account, pubkey::Pubkey};
pub trait AccountLoader {
fn pubkey(&self) -> Pubkey;
fn account(&self) -> Account;
}
pub trait AccountsLoader {
fn accounts(&self) -> Vec<Box<dyn AccountLoader>>;
}
pub trait ProgramLoader {
fn pubkey(&self) -> Pubkey;
fn data(&self) -> Vec<u8>;
}
pub trait ProgramsLoader {
fn programs(&self) -> Vec<Box<dyn ProgramLoader>>;
}