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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
//! Aspens crosschain trading SDK.
//!
//! This crate provides the core building blocks for interacting with the
//! Aspens Market Stack: a chain-agnostic [`Wallet`] abstraction, a
// NOTE: `ChainClient` / `AspensClient` appear below as code spans, not
// intra-doc links. Both are behind `feature = "client"`, and these are the
// CRATE-level docs, which are compiled under every feature combination —
// including the lean `--no-default-features --features evm,solana` build this
// very section describes. A link here is a hard error under `-D warnings`
// exactly when someone documents the lean build.
//! `ChainClient` RPC dispatcher (EVM via Alloy, Solana via
//! `solana-client`), the `AspensClient` gRPC entry point, and the
//! signing helpers in [`evm`], [`solana`], and [`orders`] that produce
//! the exact bytes the arborter validates.
//!
//! # Feature flags
//!
//! - **`evm`** (default) — stateless EVM signing helpers in [`evm`] and
//! the EIP-712 bindings under [`evm`]. Pulls Alloy primitives only.
//! - **`solana`** (default) — stateless Solana helpers in [`solana`]
//! (PDA derivations, instruction builders, borsh payload encoder).
//! Pulls `solana-sdk`, `bs58`, and `borsh`.
//! - **`client`** (default) — full gRPC + RPC runtime: `AspensClient`,
//! the `commands` modules, `chain_client`, the `executor`
//! abstraction, and Solana RPC submission. Pulls `tonic`, `prost`,
//! `tokio`, `solana-client`, and the proto-generated bindings.
//!
//! Lean signing consumers (browser, embedded, etc.) can build with
//! `--no-default-features --features evm,solana` to skip all of tonic /
//! prost / tokio / solana-client.
/// gRPC client and builder for the Aspens Market Stack.
/// gRPC command implementations (config, trading, admin, auth).
/// Decimal-string ↔ base-units conversion shared by all amount-parsing
/// call sites (CLI, REPL, library).
/// Async/sync execution strategies used by binaries to drive the client.
/// FCE direct-action transport (Flare Confidential Extension proxy). Behind the
/// `fce` feature; see `sdk/docs/fce-transport-design.md`.
// Internal — gRPC channel construction helpers shared by the commands
// modules. Not part of the stable public API; may change without notice.
/// gRPC health-check helpers used to probe stack readiness.
/// Relying-party TDX attestation verification (REPORTDATA/manifest reconstruction
/// + the verify pipeline). Pure `sha2`; the DCAP backend is a separate phase.
/// Generated protobuf bindings for the attestation service.
// The `arborter_config.v1` and `arborter_auth.v1` bindings are NOT included
// here. Each generated file is compiled exactly once, next to the command
// module that wraps its service — `commands::config::config_pb` and
// `commands::auth::auth_pb`. A second `include!` would not alias those types,
// it would mint a parallel set that shares the wire format and nothing else,
// so a `GetConfigResponse` from `AspensClient` would refuse to typecheck
// against the one spelled here. `attestation::v1` above is the sole crate-root
// binding, because `build.rs` rewrites the generated cross-package references
// in `arborter_config.v1` to that absolute path.
// Re-export commonly used types
pub use ChainClient;
pub use ;
pub use ;
pub use ;
// Chain-aware wallet helpers depend on the proto-generated `Chain` /
// `GetConfigResponse` types under `commands::config`, which only exist
// when the `client` feature is enabled.
pub use ;
// Operator-authority direct-signing flows (Solana). Deliberately not behind
// `admin`: `commands::admin` is the gRPC surface where the ARBORTER signs, and
// these exist precisely because that shape can't secure a control aimed at the
// arborter's own key.
pub use operator;
pub use ;
// Re-export admin types when admin feature is enabled
pub use admin;
pub use auth;