v0.2.11-pre.006

This commit is contained in:
2026-08-25 23:06:26 +02:00
parent 4021d08541
commit 98093d859b
12 changed files with 1079 additions and 48 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-offchain-transport-lib/src/lib.rs
// version: 7
// version: 8
#![warn(missing_docs)]
#![deny(unreachable_pub)]
@@ -7,10 +7,10 @@
//! KSP-owned off-chain transport foundation.
//!
//! `0.2.11-pre.005` keeps the first capability family deliberately narrow (`market_price`, SOL/USD only) and extends the direct-REST surface with
//! Kraken Spot and Coinbase Exchange. Exchange adapters preserve `ExchangeLastTrade` semantics instead of pretending to be aggregated market prices.
//! Provider wire DTOs remain private, no provider SDK is used, and the crate-wide hardened `http_*` internals remain unavailable as a generic consumer
//! HTTP client. Config integration and generic registry/refresh orchestration remain outside this tranche.
//! `0.2.11-pre.006` keeps the first capability family deliberately narrow (`market_price`, SOL/USD only) and adds Jupiter Price V3 plus DexScreener.
//! Jupiter preserves its Solana heuristic semantics and block provenance without inventing a price timestamp. DexScreener is bound to one explicitly
//! configured Solana pair address, validates that the returned pair is the configured pair with wrapped SOL as base identity, and consumes only `priceUsd`.
//! Provider wire DTOs remain private, no provider SDK is used, and Config plus generic registry/refresh orchestration remain outside this tranche.
mod constants;
mod error;
@@ -24,6 +24,8 @@ mod market_price_coingecko;
mod market_price_coinmarketcap;
mod market_price_coinpaprika;
mod market_price_decimal;
mod market_price_dexscreener;
mod market_price_jupiter;
mod market_price_kraken;
mod market_price_observation;
mod market_price_provider;
@@ -95,6 +97,16 @@ pub use self::market_price_decimal::MARKET_PRICE_DECIMAL_MAX_INPUT_BYTES;
pub use self::market_price_decimal::MARKET_PRICE_DECIMAL_MAX_SCALE;
/// Exact positive decimal value used by the public market-price contract.
pub use self::market_price_decimal::MarketPriceDecimal;
/// DexScreener SOL/USD provider adapter bound to one configured Solana pair.
pub use self::market_price_dexscreener::MarketPriceDexScreenerProvider;
/// DexScreener runtime settings carrying the explicit Solana pair address.
pub use self::market_price_dexscreener::MarketPriceDexScreenerSettings;
/// Jupiter Developer Platform access mode.
pub use self::market_price_jupiter::MarketPriceJupiterAccessMode;
/// Jupiter Price V3 SOL/USD provider adapter.
pub use self::market_price_jupiter::MarketPriceJupiterProvider;
/// Jupiter Price V3 runtime settings.
pub use self::market_price_jupiter::MarketPriceJupiterSettings;
/// Kraken Spot SOL/USD provider adapter.
pub use self::market_price_kraken::MarketPriceKrakenProvider;
/// Kraken Spot runtime settings.