wp_solana_core/lib.rs
1//! `wp-solana-core` — cross-protocol shared crate for waterpump-solana.
2//!
3//! Contains shared code that every protocol SDK (Raydium, Meteora, Orca)
4//! needs:
5//!
6//! - **`token/`** — token account planning types, state types, transfer-fee
7//! helper
8//! - **`metadata`** — `decode_mint_info` / `read_mint_decimals` mint-account
9//! byte-decoders shared by every protocol fetch layer
10//! - **`plan_error`** — `PlanError`, `FetchError`, `OrchestrateError` (FCIS
11//! error types)
12//! - **`constants`** — Solana system program addresses (protocol-agnostic)
13//!
14//! # Layering note
15//!
16//! Core exposes synchronous compatibility helpers and shared error/types. Token
17//! account state/planning primitives are re-exported from
18//! `solana-token-toolkit`.
19
20pub mod constants;
21pub mod metadata;
22pub mod plan_error;
23pub mod token;
24
25// Top-level re-exports for convenience
26pub use metadata::{decode_mint_info, read_mint_decimals};
27pub use plan_error::{FetchError, OrchestrateError, PlanError};
28pub use token::{
29 account_planner::{TokenAccountInstructions, TokenAccountStrategy},
30 account_state::{MintAndAta, TokenAccountState},
31 get_current_transfer_fee,
32};