light_sdk_types/
lib.rs

1pub mod address;
2pub mod constants;
3pub mod cpi_accounts;
4#[cfg(feature = "small_ix")]
5pub mod cpi_accounts_small;
6pub mod error;
7pub mod instruction;
8
9// Re-exports
10#[cfg(feature = "anchor")]
11use anchor_lang::{AnchorDeserialize, AnchorSerialize};
12#[cfg(not(feature = "anchor"))]
13use borsh::{BorshDeserialize as AnchorDeserialize, BorshSerialize as AnchorSerialize};
14pub use constants::*;
15pub use cpi_accounts::*;
16#[cfg(feature = "small_ix")]
17pub use cpi_accounts_small::{
18    CompressionCpiAccountIndexSmall, CpiAccountsSmall, PROGRAM_ACCOUNTS_LEN,
19    SMALL_SYSTEM_ACCOUNTS_LEN,
20};
21
22/// Configuration struct containing program ID, CPI signer, and bump for Light Protocol
23#[derive(Debug, Clone, Copy, PartialEq, Eq, AnchorDeserialize, AnchorSerialize)]
24pub struct CpiSigner {
25    pub program_id: [u8; 32],
26    pub cpi_signer: [u8; 32],
27    pub bump: u8,
28}