light-client 0.23.0

Client library for Light Protocol
Documentation
mod account;
mod interface;
mod proof;
mod queue;
mod signature;
mod token;
mod tree;

pub use account::CompressedAccount;
pub use interface::{
    AccountInterface, ColdContext, ColdData, InterfaceTreeInfo, SolanaAccountData,
    TokenAccountInterface,
};
pub use proof::{
    AccountProofInputs, AddressProofInputs, AddressWithTree, MerkleProof, MerkleProofWithContext,
    NewAddressProofWithContext, RootIndex, ValidityProofWithContext,
};
pub use queue::{
    AddressQueueData, InputQueueData, OutputQueueData, QueueElementsResult, StateQueueData,
};
pub use signature::SignatureWithMetadata;
pub use token::{CompressedTokenAccount, OwnerBalance, TokenBalance};
pub use tree::{AddressMerkleTreeAccounts, NextTreeInfo, StateMerkleTreeAccounts, TreeInfo};

pub struct ProofOfLeaf {
    pub leaf: [u8; 32],
    pub proof: Vec<[u8; 32]>,
}

pub type Address = [u8; 32];
pub type Hash = [u8; 32];

#[derive(Debug, Clone, PartialEq)]
pub struct QueueInfo {
    pub tree: solana_pubkey::Pubkey,
    pub queue: solana_pubkey::Pubkey,
    pub queue_type: u8,
    pub queue_size: u64,
}

#[derive(Debug, Clone, PartialEq, Default)]
pub struct QueueInfoResult {
    pub queues: Vec<QueueInfo>,
    pub slot: u64,
}