1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//! Common high-level external and internal API traits for the HOPR protocol.
//!
//! This crate defines **trait-based interfaces** that separate API contract from implementation.
//! Concrete implementations live in their respective crates (`hopr-lib`, `hopr-transport`, etc.)
//! and depend on the traits defined here.
//!
//! ## Module Organization
//!
//! - [`chain`] — On-chain operations: channel management, account queries, safe operations, event subscriptions
//! - [`ct`] — Cover traffic and probing traffic generation
//! - [`graph`] — Network graph: topology view, pathfinding, edge quality observations
//! - [`network`] — Network layer: peer connectivity, health, stream control
//! - [`node`] — High-level node API: accessor traits (`Has*`), composed operations, session client
//! - [`tickets`] — Winning ticket management and redemption
//!
//! ## Design Principle
//!
//! The interface mandates trait behavior defined in this crate and does not rely on
//! specific types outside of this crate. External types (from `hopr-types`) are
//! re-exported at the crate root for convenience.
/// On-chain operations-related API traits.
/// Cover traffic-related API traits.
/// Network graph related API traits.
/// Network state and peer observation API traits.
/// High-level HOPR node API traits.
/// Winning ticket management API traits.
pub use hopr_types as types;
pub use ;
pub use PeerId;
pub use Multiaddr;