blokli_client/api/mod.rs
1//! Versioned Blokli API traits, selectors, aliases, and response models.
2//!
3//! Most applications can import the common items directly from the crate root:
4//!
5//! ```no_run
6//! use blokli_client::{BlokliClient, BlokliClientConfig, BlokliQueryClient};
7//! ```
8//!
9//! This module keeps the underlying versioned API available for callers that want to be explicit about the Blokli
10//! schema version they are targeting. The current public API is v1.
11//!
12//! # What lives here
13//!
14//! - [`BlokliQueryClient`] for one-shot GraphQL queries.
15//! - [`BlokliSubscriptionClient`] for SSE-backed GraphQL subscriptions.
16//! - [`BlokliTransactionClient`] for signed transaction submission and tracking.
17//! - Selectors such as [`AccountSelector`], [`ChannelSelector`], [`SafeSelector`], [`ServiceSelector`], and
18//! [`TicketSelector`].
19//! - GraphQL response models under [`types`].
20//!
21//! Address-like values are byte-array aliases such as [`ChainAddress`], [`ChannelId`], [`PacketKey`], and
22//! [`TxReceipt`]. GraphQL fields that are naturally decimal or hex strings remain represented by the generated
23//! response model types under [`types`].
24
25pub mod v1;
26
27pub(crate) use v1::{Result, internal};
28
29pub const VERSION: &str = "v1";
30pub use v1::{
31 AccountSelector, BlokliQueryClient, BlokliSubscriptionClient, BlokliTransactionClient, ChainAddress, ChannelFilter,
32 ChannelId, ChannelSelector, KeyId, ModulePredictionInput, PacketKey, RedeemedStatsSelector, SafeSelector,
33 ServiceSelector, ServiceTypeId, TicketSelector, TxId, TxReceipt, types,
34};