light_token_interface/lib.rs
1//! # light-token-interface
2//!
3//! Instruction data types for the light-token program.
4//!
5//! | Module | Description |
6//! |--------|-------------|
7//! | [`instructions`] | Instruction structs for mint, transfer, wrap, unwrap |
8//! | [`state`] | Token account and mint state structs |
9//! | [`discriminator`] | Instruction discriminator constants |
10//! | [`hash_cache`] | Precomputed hashes for token account fields |
11//! | [`pool_derivation`] | SPL/T22 pool account PDA derivation |
12//! | [`token_2022_extensions`] | Token-2022 extension data types |
13//! | [`error`] | `TokenInterfaceError` variants |
14
15pub mod discriminator;
16pub mod instructions;
17
18pub mod error;
19pub mod hash_cache;
20pub mod pool_derivation;
21pub mod token_2022_extensions;
22
23pub use error::*;
24pub use pool_derivation::*;
25pub use token_2022_extensions::*;
26mod constants;
27pub mod state;
28#[cfg(feature = "anchor")]
29use anchor_lang::{AnchorDeserialize, AnchorSerialize};
30#[cfg(not(feature = "anchor"))]
31use borsh::{BorshDeserialize as AnchorDeserialize, BorshSerialize as AnchorSerialize};
32pub use constants::*;