v0.2.11-pre.006
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
<!-- file: docs/plans/018-V0_2_11_OFFCHAIN_PRICE_TRANSPORT_PLAN.md -->
|
||||
<!-- version: 11 -->
|
||||
<!-- version: 12 -->
|
||||
|
||||
# Plan `0.2.11` — Off-chain price transport SOL/USD multi-provider
|
||||
|
||||
**Statut courant : `0.2.11-pre.005` ajoute les deux providers exchange V1 — Kraken Spot et Coinbase Exchange — en SOL/USD keyless via le socle `http_*` existant. Les deux observations conservent `ExchangeLastTrade` : Kraken utilise le dernier trade du ticker `SOLUSD` sans inventer de timestamp provider, tandis que Coinbase Exchange conserve le timestamp RFC3339 de `/products/SOL-USD/ticker`. Le gate opérateur complet de `pre.004-fix.001` est PASS.**
|
||||
**Statut courant : `0.2.11-pre.006` ajoute Jupiter Price V3 et DexScreener à la famille `market_price`. Jupiter supporte keyless ou Free key sur `api.jup.ag`, conserve `SolanaHeuristic` et le `blockId` comme provenance sans inventer de timestamp de prix. DexScreener utilise exclusivement l'endpoint direct d'une paire Solana explicitement configurée, vérifie `chainId`, pair address et identité WSOL avant d'accepter `priceUsd`. Le gate opérateur ciblé de `pre.005` est PASS ; `cargo test --workspace` n'a pas été rejoué sur l'état exact `pre.005`.**
|
||||
|
||||
## 1. Base et autorité
|
||||
|
||||
@@ -224,8 +224,10 @@ https://docs.cdp.coinbase.com/exchange/rest-api/rate-limits
|
||||
https://docs.cdp.coinbase.com/api-reference/exchange-api/rest-api/products/get-product-ticker
|
||||
https://docs.cdp.coinbase.com/api-reference/exchange-api/rest-api/products/get-single-product
|
||||
|
||||
https://developers.jup.ag/docs/portal/setup
|
||||
https://developers.jup.ag/docs/portal/plans
|
||||
https://developers.jup.ag/docs/portal/migration
|
||||
https://developers.jup.ag/pricing
|
||||
https://developers.jup.ag/docs/api-reference/price
|
||||
https://developers.jup.ag/docs/price
|
||||
|
||||
https://docs.birdeye.so/docs/pricing
|
||||
@@ -241,6 +243,8 @@ Les chiffres externes sont une photographie d'audit, pas une constante éternell
|
||||
|
||||
Réaudit `pre.004` : CoinMarketCap Simple Price est implémenté sur la surface **V2** actuelle. La surface Simple Price V1 est documentée comme deprecated et n'est pas utilisée par KSP. Les deux modes V1 retenus restent distincts : endpoint public keyless V2 sans credential, ou endpoint Pro V2 Basic avec `X-CMC_PRO_API_KEY`.
|
||||
|
||||
Réaudit `pre.006` : le Developer Platform Jupiter courant utilise `https://api.jup.ag` pour les accès keyless et API-key. Le keyless est documenté à 0,5 RPS et le plan Free à 1 RPS. Price V3 expose `usdPrice` comme prix USD unique et `blockId` comme information de récence ; `createdAt` décrit la création du token et ne doit pas être transformé en timestamp du prix. DexScreener documente l'endpoint direct `/latest/dex/pairs/{chainId}/{pairId}` à 300 requêtes par minute. KSP sélectionne uniquement `chainId = solana` et interdit dans V1 les endpoints de search ou de découverte de pools.
|
||||
|
||||
### 6.1 Gratuité technique et conditions d'usage
|
||||
|
||||
Le verdict `IN` signifie ici qu'un accès HTTP gratuit permet techniquement de développer et live-tester le provider dans `0.2.11`. Il ne constitue pas une affirmation de gratuité commerciale permanente.
|
||||
@@ -720,15 +724,15 @@ Correctif strict de `pre.004` : tri alphabétique complet des constantes d'erreu
|
||||
|
||||
### `pre.005` — Kraken et Coinbase Exchange
|
||||
|
||||
**Statut : réalisé, gate Cargo opérateur à exécuter.**
|
||||
**Statut : réalisé, gate opérateur ciblé PASS ; workspace complet non rejoué.**
|
||||
|
||||
Implémentation des deux adapters exchange keyless avec DTOs wire privés et endpoints HTTPS fixes. Kraken utilise le ticker public `SOLUSD`, retient le dernier trade `c[0]`, applique une cadence locale conservatrice de 1 requête par seconde et ne fabrique aucun timestamp provider absent du ticker. Coinbase Exchange utilise `/products/SOL-USD/ticker`, conserve `price` et `time`, et modélise le token bucket public documenté à 10 requêtes par seconde par IP avec burst 15. Les deux adapters exposent `MarketPriceSemantics::ExchangeLastTrade`; aucun registry global, Config, SDK provider ou smoke live n'est avancé.
|
||||
|
||||
### `pre.006` — Jupiter et DexScreener
|
||||
|
||||
**Statut : planifié.**
|
||||
**Statut : réalisé, gate Cargo opérateur à exécuter.**
|
||||
|
||||
Implémentation des adapters Jupiter et DexScreener. DexScreener reste limité en V1 à la paire SOL/USD explicite configurée et validée.
|
||||
Implémentation des adapters Jupiter Price V3 et DexScreener avec DTOs wire privés et endpoints HTTPS officiels fixes. Jupiter distingue keyless à 0,5 requête par seconde et Free key à 1 requête par seconde sur le même `api.jup.ag`, utilise uniquement le mint WSOL et conserve `blockId` comme provenance de récence sans le convertir en timestamp. DexScreener exige un pair address Solana explicite dans ses settings, appelle uniquement `/latest/dex/pairs/solana/{pairId}`, vérifie `chainId = solana`, le pair address retourné et le mint WSOL comme base avant de lire `priceUsd`. Aucune découverte de pool, aucun tri de liquidité, aucun consensus et aucun registry global ne sont avancés.
|
||||
|
||||
### `pre.007` — Birdeye, registry et availability
|
||||
|
||||
|
||||
Reference in New Issue
Block a user