v0.2.11-pre.008-fix.001
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
<!-- file: docs/plans/018-V0_2_11_OFFCHAIN_PRICE_TRANSPORT_PLAN.md -->
|
||||
<!-- version: 14 -->
|
||||
<!-- version: 15 -->
|
||||
|
||||
# Plan `0.2.11` — Off-chain price transport SOL/USD multi-provider
|
||||
|
||||
**Statut courant : `0.2.11-pre.008` matérialise le service générique de refresh SOL/USD au-dessus des huit adapters V1. `MarketPriceService` possède le dispatch provider, le registry runtime et les transitions d'availability ; les consumers utilisent uniquement les provider ids opaques, `registry()`, `refresh`, `refresh_many` et `refresh_all`. Les limites/cooldowns restent non bloquants et aucun fallback, consensus ou scheduler provider n'est introduit. `MarketPriceProviderSetup` reste la frontière provider-specific destinée à la composition/Config de `pre.009`. Le gate opérateur complet de `pre.007` est PASS, y compris `cargo test --workspace`.**
|
||||
**Statut courant : `0.2.11-pre.008-fix.001` corrige le gate de `pre.008` sans modifier son contrat fonctionnel. `MarketPriceService` possède toujours le dispatch provider, le registry runtime et les transitions d'availability ; les consumers utilisent uniquement les provider ids opaques, `registry()`, `refresh`, `refresh_many` et `refresh_all`. Le fix supprime un warning Clippy `collapsible_if` et remplace un canari lexical trop large sur le mot `consensus` par des vérifications de surfaces exécutables réellement interdites. `MarketPriceProviderSetup` reste la frontière provider-specific destinée à la composition/Config de `pre.009`.**
|
||||
|
||||
## 1. Base et autorité
|
||||
|
||||
@@ -746,10 +746,12 @@ Implémentation de Birdeye Standard avec `X-API-KEY`, endpoint Price Single Sola
|
||||
|
||||
### `pre.008` — Refresh individuel et multiple
|
||||
|
||||
**Statut : réalisé, gate Cargo opérateur à exécuter.**
|
||||
**Statut : réalisé ; `pre.008-fix.001` corrige le gate opérateur Clippy/boundary sans changement fonctionnel.**
|
||||
|
||||
`MarketPriceService` possède les huit adapters configurés, le registry runtime et le dispatch provider-specific interne. La construction accepte `MarketPriceProviderSetup` pour la future couche de composition, puis l'usage devient intégralement provider-agnostic via `registry()`, `refresh(provider_id)`, `refresh_many(...)` et `refresh_all()`. Les échecs provider sont classés en availability générique ; un résultat en erreur n'interrompt pas les autres providers d'un batch. Les états non éligibles sont projetés sans requête réseau, les cooldowns expirés redeviennent tentables, et aucune opération ne dort pour attendre un rate limit. Aucun fallback, consensus, agrégation, Config ou scheduling périodique n'est avancé.
|
||||
|
||||
`pre.008-fix.001` conserve ce contrat. Il collapse uniquement un `if` signalé par Clippy et rend le canari de boundary précis : les rustdocs peuvent mentionner explicitement l'absence de consensus, tandis que le test interdit les fonctions exécutables `aggregate`/`consensus` et le chemin `fallback_provider`.
|
||||
|
||||
### `pre.009` — Config Off-chain Transport
|
||||
|
||||
**Statut : planifié.**
|
||||
|
||||
Reference in New Issue
Block a user