use std::sync::Arc;
use anchor_client::{
solana_sdk::{commitment_config::CommitmentConfig, signature::Keypair},
Cluster,
};
use crate::programs::vaults::accounts::VaultConfig;
use super::get_vault_program;
pub async fn get_all_vault_config(cluster: Cluster) -> anyhow::Result<Vec<VaultConfig>> {
let program = get_vault_program(
cluster,
Arc::new(Keypair::new()),
CommitmentConfig::confirmed(),
)?;
Ok(program
.accounts::<VaultConfig>(vec![])
.await?
.into_iter()
.map(|(_, config)| config)
.collect::<Vec<_>>())
}