Skip to main content

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};