gmsol_sdk/
lib.rs

1#![cfg_attr(docsrs, feature(doc_cfg))]
2
3/// Error type.
4pub mod error;
5
6/// Constants.
7pub mod constants;
8
9/// Functions for constructing Program Derived Addresses.
10pub mod pda;
11
12/// Instruction Builders.
13pub mod builders;
14
15/// Market calculations.
16pub mod market;
17
18/// Position calculations.
19pub mod position;
20
21/// Utilities for serialization.
22pub mod serde;
23
24/// Simulation for market actions.
25#[cfg(simulation)]
26pub mod simulation;
27
28/// Utils.
29pub mod utils;
30
31/// JavaScript support.
32#[cfg(feature = "js")]
33pub mod js;
34
35/// Maintains a graph structured with [`MarketModel`](crate::model::MarketModel) as edges.
36#[cfg(feature = "market-graph")]
37pub mod market_graph;
38
39/// Client-style API, ported from the `gmsol` crate.
40#[cfg(feature = "client")]
41pub mod client;
42
43/// Squads support.
44#[cfg(feature = "squads")]
45pub mod squads;
46
47/// GMSOL resource discovery.
48#[cfg(feature = "discover")]
49pub mod discover;
50
51/// Model support.
52pub mod model {
53    pub use gmsol_model::*;
54    pub use gmsol_programs::model::*;
55}
56
57pub use gmsol_utils as core;
58
59#[cfg(test)]
60pub(crate) mod test;
61
62#[cfg(feature = "client")]
63pub use client::{ops, Client};
64
65pub use error::Error;
66
67/// Result type.
68pub type Result<T> = std::result::Result<T, Error>;
69
70pub use gmsol_programs as programs;
71pub use gmsol_solana_utils as solana_utils;
72
73pub use gmsol_solana_utils::{
74    AtomicGroup, Error as SolanaUtilsError, IntoAtomicGroup, ParallelGroup, TransactionGroup,
75};
76
77#[cfg(feature = "decode")]
78pub use gmsol_decode as decode;