fiber_json_types/lib.rs
1//! RPC JSON request/response types for the Fiber Network.
2//!
3//! This crate contains the pure data types (request/response structs and enums)
4//! used by the Fiber Network's JSON-RPC API. These types are separated from the
5//! RPC server implementations to allow external tools and clients to depend on
6//! the type definitions without pulling in the full node implementation.
7//!
8//! All domain-specific types (Hash256, Pubkey, MultiAddr, etc.) are represented
9//! as plain strings in this crate to avoid dependencies on fiber-types, secp256k1,
10//! and tentacle-multiaddr. Conversions between these JSON types and the internal
11//! domain types are handled in the RPC server layer.
12//!
13//! The types are organized by RPC module:
14//! - `channel`: Channel management types
15//! - `payment`: Payment types
16//! - `graph`: Network graph types
17//! - `invoice`: Invoice types
18//! - `info`: Node info types
19//! - `peer`: Peer management types
20//! - `cch`: Cross-chain hub types
21//! - `dev`: Development/debug types
22//! - `watchtower`: Watchtower types
23//! - `prof`: Profiling types
24//! - `context`: RPC context types
25
26pub mod schema_helpers;
27pub mod serde_utils;
28
29#[cfg(feature = "conversion")]
30pub mod convert;
31
32#[cfg(feature = "cch")]
33pub mod cch;
34pub mod channel;
35pub mod context;
36pub mod dev;
37pub mod graph;
38pub mod info;
39pub mod invoice;
40pub mod payment;
41pub mod peer;
42pub mod prof;
43#[cfg(feature = "watchtower")]
44pub mod watchtower;
45
46#[cfg(feature = "cch")]
47pub use cch::*;
48pub use channel::*;
49pub use context::*;
50pub use dev::*;
51pub use graph::*;
52pub use info::*;
53pub use invoice::*;
54pub use payment::*;
55pub use peer::*;
56pub use prof::*;
57pub use serde_utils::Hash256;
58pub use serde_utils::Privkey;
59pub use serde_utils::Pubkey;
60#[cfg(feature = "watchtower")]
61pub use watchtower::*;