v0.1.0-pre.011-fix-01

This commit is contained in:
2026-07-24 15:06:27 +02:00
parent 42e8a203ec
commit 60660ca555
161 changed files with 10665 additions and 977 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: ROADMAP.md --> <!-- file: ROADMAP.md -->
<!-- version: 9 --> <!-- version: 10 -->
# ROADMAP — khadhroony-bot3 # ROADMAP — khadhroony-bot3
@@ -96,7 +96,7 @@
- [x] Maintenir le registre ElGamal comme programme indépendant avec ses deux instructions et son état de compte exact de 64 octets. - [x] Maintenir le registre ElGamal comme programme indépendant avec ses deux instructions et son état de compte exact de 64 octets.
- [x] Ajouter le Program ID du registre ElGamal à `kb-program-ids` sans le classer comme surface native. - [x] Ajouter le Program ID du registre ElGamal à `kb-program-ids` sans le classer comme surface native.
- [x] Déplacer `ProgramIdEntry` et les fonctions du registre dans `kb-program-ids/src/programs.rs`, avec `lib.rs` limité aux réexports. - [x] Déplacer `ProgramIdEntry` et les fonctions du registre dans `kb-program-ids/src/programs.rs`, avec `lib.rs` limité aux réexports.
- [x] Porter les targets de tracing vers `kb-lib.decoder.spl.token_2022` et `kb-lib.decoder.spl.elgamal_registry`. - [x] Porter les targets de tracing vers `kb-lib.decoder.spl.token2022` et `kb-lib.decoder.spl.elgamal_registry`.
- [x] Conserver les 55 tests Token2022/ElGamal et leurs matrices machine-readable. - [x] Conserver les 55 tests Token2022/ElGamal et leurs matrices machine-readable.
- [x] Valider `kb-program-ids`, les 251 tests de `kb-lib`, Clippy et le workspace avec Cargo sur la machine de développement. - [x] Valider `kb-program-ids`, les 251 tests de `kb-lib`, Clippy et le workspace avec Cargo sur la machine de développement.
- [x] Poursuivre avec le décodeur Metaplex Token Metadata après validation. - [x] Poursuivre avec le décodeur Metaplex Token Metadata après validation.
@@ -137,5 +137,8 @@
- [x] Étendre laudit aux lignes vides internes des blocs homogènes `pub use` et `pub(crate) use`. - [x] Étendre laudit aux lignes vides internes des blocs homogènes `pub use` et `pub(crate) use`.
- [x] Porter les targets de risque, comptes Token et annotations vers `kb-lib.materializer.risk`, `kb-lib.materializer.token` et `kb-lib.materializer.transaction` dans les trois profils. - [x] Porter les targets de risque, comptes Token et annotations vers `kb-lib.materializer.risk`, `kb-lib.materializer.token` et `kb-lib.materializer.transaction` dans les trois profils.
- [x] Maintenir le fetch HTTP/IPFS/Arweave hors de `kb-lib`, dans une future crate off-chain dédiée. - [x] Maintenir le fetch HTTP/IPFS/Arweave hors de `kb-lib`, dans une future crate off-chain dédiée.
- [x] Normaliser les symboles fusionnés avec les préfixes `DC`, `MT`, `EX` et `MD`, sans alias de réexport.
- [x] Restaurer les 98 scaffolds de décodeurs avec des constantes `DC_*` uniques et réellement référencées.
- [x] Étendre laudit aux façades privées, aux réexports transitifs `self::`, aux alias interdits et à la complétude des APIs externes.
- [ ] Valider les 415 tests unitaires et les trois tests dintégration de `kb-lib`, Clippy et le workspace avec Cargo sur la machine de développement. - [ ] Valider les 415 tests unitaires et les trois tests dintégration de `kb-lib`, Clippy et le workspace avec Cargo sur la machine de développement.
- [ ] Poursuivre avec les exécuteurs déjà implémentés dans bot2. - [ ] Poursuivre avec les exécuteurs déjà implémentés dans bot2.

View File

@@ -1,5 +1,5 @@
<!-- file: RULES.md --> <!-- file: RULES.md -->
<!-- version: 19 --> <!-- version: 20 -->
# Règles spécifiques à `khadhroony-bot3` # Règles spécifiques à `khadhroony-bot3`
@@ -18,6 +18,8 @@ Toute livraison doit exécuter l'audit `python3 scripts/audit_rust_workspace_rul
- Les décodeurs, matérialisateurs et exécuteurs sont des modules de `kb-lib`, pas des crates séparées. - Les décodeurs, matérialisateurs et exécuteurs sont des modules de `kb-lib`, pas des crates séparées.
- Le crate de journalisation s'appelle `kb-logging`. - Le crate de journalisation s'appelle `kb-logging`.
- Les blocs consécutifs de réexports `pub use` et `pub(crate) use` ne contiennent aucune ligne vide interne et restent ordonnés alphabétiquement lorsque `cargo fmt` ne les réordonne pas. - Les blocs consécutifs de réexports `pub use` et `pub(crate) use` ne contiennent aucune ligne vide interne et restent ordonnés alphabétiquement lorsque `cargo fmt` ne les réordonne pas.
- Les familles de symboles consolidées dans `kb-lib` utilisent les préfixes `DC_`/`Dc`/`decoder_` pour les décodeurs, `MT_`/`Mt`/`materializer_` pour les matérialisateurs, `EX_`/`Ex`/`executor_` pour les exécuteurs et `MD_`/`Md`/`model_` pour les modèles.
- Les méthodes inhérentes et helpers strictement privés peuvent conserver un nom local court ; les préfixes sappliquent aux constantes, types, traits et fonctions libres exposés à la crate ou hors de la crate.
## Règles Tauri et TypeScript ## Règles Tauri et TypeScript
@@ -113,7 +115,7 @@ Aucun renommage massif de modules n'est autorisé sans étape de contrôle dédi
- Les identifiants Solana/SPL primitifs doivent être tenus à jour dans `registry/core_program_id_seed.toml`. - Les identifiants Solana/SPL primitifs doivent être tenus à jour dans `registry/core_program_id_seed.toml`.
- Les sysvars et comptes natifs connus ne doivent pas être classés comme surfaces DEX/router. - Les sysvars et comptes natifs connus ne doivent pas être classés comme surfaces DEX/router.
- `spl_token`, `spl_token_2022` et `associated_token_account` restent dans leurs crates spécialisées. - `spl_token`, `spl_token2022` et `associated_token_account` restent des surfaces spécialisées ; les noms historiques de crates externes conservent leur graphie officielle.
- `stake_pool` doit être réservé à un futur crate spécialisé plutôt que mélangé avec le programme `stake`. - `stake_pool` doit être réservé à un futur crate spécialisé plutôt que mélangé avec le programme `stake`.
## Index court de programme ## Index court de programme

View File

@@ -1,5 +1,5 @@
<!-- file: RUST_RULES.md --> <!-- file: RUST_RULES.md -->
<!-- version: 3 --> <!-- version: 4 -->
# Règles Rust générales # Règles Rust générales
@@ -85,10 +85,13 @@ implicit_saturating_sub = "allow"
- Un élément strictement privé à un module n'est pas réexporté et est appelé par son nom local uniquement. Il est interdit d'utiliser un chemin long comme `crate::module::helper` ou `owner_crate::module::helper` pour un helper privé du module courant. - Un élément strictement privé à un module n'est pas réexporté et est appelé par son nom local uniquement. Il est interdit d'utiliser un chemin long comme `crate::module::helper` ou `owner_crate::module::helper` pour un helper privé du module courant.
- Dans un sous-module de tests, un élément privé du module parent est appelé via `super::Item`. Un élément `pub` ou `pub(crate)` continue dêtre appelé via le point dentrée de crate le plus court, par exemple `crate::Item`. - Dans un sous-module de tests, un élément privé du module parent est appelé via `super::Item`. Un élément `pub` ou `pub(crate)` continue dêtre appelé via le point dentrée de crate le plus court, par exemple `crate::Item`.
- Les exports ne sont jamais groupés avec des accolades. Un type, une fonction, une constante ou un alias correspond à une ligne de réexport distincte. - Les exports ne sont jamais groupés avec des accolades. Un type, une fonction, une constante ou un alias correspond à une ligne de réexport distincte.
- Un réexport dun module interne commence par `self::`, y compris dans `lib.rs` ; `use crate::...` est réservé aux références qualifiées dans le code et ne sert pas à construire une façade.
- Les alias `as` sont interdits dans les réexports : le symbole reçoit son nom canonique dans son module propriétaire avant dêtre réexporté sans transformation.
- Un bloc homogène de `pub use` ou `pub(crate) use` ne contient aucune ligne vide et reste ordonné alphabétiquement par symbole réexporté lorsque `rustfmt` ne le réordonne pas.
## Visibilité et API de crate ## Visibilité et API de crate
- Aucun `pub mod` n'est autorisé. Les modules restent privés et l'API est constituée par des réexports explicites. - Aucun `pub mod` n'est autorisé. Les modules restent privés et l'API est constituée exclusivement par des réexports explicites depuis le point dentrée de la crate.
- Un élément `pub` inaccessible depuis le point d'entrée de sa crate est une erreur de conception, pas un simple avertissement. - Un élément `pub` inaccessible depuis le point d'entrée de sa crate est une erreur de conception, pas un simple avertissement.
- Un élément `pub(crate)` utilisé hors de son module est réexporté au niveau du point d'entrée de la crate. - Un élément `pub(crate)` utilisé hors de son module est réexporté au niveau du point d'entrée de la crate.
- Les chemins internes de modules ne font pas partie de l'API stable. - Les chemins internes de modules ne font pas partie de l'API stable.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/CORE_PROGRAM_IDS.md --> <!-- file: docs/CORE_PROGRAM_IDS.md -->
<!-- version: 5 --> <!-- version: 6 -->
# Identifiants core Solana et SPL # Identifiants core Solana et SPL
@@ -58,6 +58,6 @@ Ce fichier sépare les identifiants primitifs Solana/SPL du registre des surface
| `core_spl_single_pool_v1` | `SVSPxpvHdN29nkVg9rPapPNDddN5DipNLRUFhyjFThE` | `spl_single_pool` | `program` | `kb_decoder_spl_single_pool` | `core_specialized_reserved_current` | | `core_spl_single_pool_v1` | `SVSPxpvHdN29nkVg9rPapPNDddN5DipNLRUFhyjFThE` | `spl_single_pool` | `program` | `kb_decoder_spl_single_pool` | `core_specialized_reserved_current` |
| `core_spl_name_service_v1` | `namesLPneVptA9Z5rqUDD9tMTWEJwofgaYwp8cawRkX` | `spl_name_service` | `program` | `kb_decoder_metadata_spl_name_service` | `core_specialized_reserved_current` | | `core_spl_name_service_v1` | `namesLPneVptA9Z5rqUDD9tMTWEJwofgaYwp8cawRkX` | `spl_name_service` | `program` | `kb_decoder_metadata_spl_name_service` | `core_specialized_reserved_current` |
| `core_spl_stake_pool_v1` | `SPoo1Ku8WFXoNDMHPsrGSTSG1Y47rzgn41SLUNakuHy` | `stake_pool` | `program` | `kb_decoder_spl_stake_pool` | `core_specialized_reserved_current` | | `core_spl_stake_pool_v1` | `SPoo1Ku8WFXoNDMHPsrGSTSG1Y47rzgn41SLUNakuHy` | `stake_pool` | `program` | `kb_decoder_spl_stake_pool` | `core_specialized_reserved_current` |
| `core_spl_token_2022_v2022` | `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb` | `token2022` | `program` | `kb_decoder_spl_token_2022` | `core_handled` | | `core_spl_token2022_v2022` | `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb` | `token2022` | `program` | `kb_decoder_spl_token_2022` | `core_handled` |
| `core_spl_token_2022_elgamal_registry_v1` | `regVYJW7tcT8zipN5YiBvHsvR5jXW1uLFxaHSbugABg` | `spl_token2022_elgamal_registry` | `program` | `kb_decoder_spl_token_2022` | `core_specialized_reserved_current` | | `core_spl_token2022_elgamal_registry_v1` | `regVYJW7tcT8zipN5YiBvHsvR5jXW1uLFxaHSbugABg` | `spl_token2022_elgamal_registry` | `program` | `kb_decoder_spl_token_2022` | `core_specialized_reserved_current` |
| `core_spl_token_v1` | `TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA` | `token` | `program` | `kb_decoder_spl_token` | `core_handled` | | `core_spl_token_v1` | `TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA` | `token` | `program` | `kb_decoder_spl_token` | `core_handled` |

View File

@@ -1,5 +1,5 @@
<!-- file: docs/PROGRAM_REGISTRY_CONTROL.md --> <!-- file: docs/PROGRAM_REGISTRY_CONTROL.md -->
<!-- version: 5 --> <!-- version: 6 -->
# Contrôle du registre des programmes # Contrôle du registre des programmes
@@ -97,8 +97,8 @@ Ces identifiants sont détaillés dans `docs/CORE_PROGRAM_IDS.md`. Ils sont couv
| `core_spl_single_pool_v1` | `SVSPxpvHdN29nkVg9rPapPNDddN5DipNLRUFhyjFThE` | `spl_single_pool` | `program` | `kb_decoder_spl_single_pool` | `core_specialized_reserved_current` | | `core_spl_single_pool_v1` | `SVSPxpvHdN29nkVg9rPapPNDddN5DipNLRUFhyjFThE` | `spl_single_pool` | `program` | `kb_decoder_spl_single_pool` | `core_specialized_reserved_current` |
| `core_spl_name_service_v1` | `namesLPneVptA9Z5rqUDD9tMTWEJwofgaYwp8cawRkX` | `spl_name_service` | `program` | `kb_decoder_metadata_spl_name_service` | `core_specialized_reserved_current` | | `core_spl_name_service_v1` | `namesLPneVptA9Z5rqUDD9tMTWEJwofgaYwp8cawRkX` | `spl_name_service` | `program` | `kb_decoder_metadata_spl_name_service` | `core_specialized_reserved_current` |
| `core_spl_stake_pool_v1` | `SPoo1Ku8WFXoNDMHPsrGSTSG1Y47rzgn41SLUNakuHy` | `stake_pool` | `program` | `kb_decoder_spl_stake_pool` | `core_specialized_reserved_current` | | `core_spl_stake_pool_v1` | `SPoo1Ku8WFXoNDMHPsrGSTSG1Y47rzgn41SLUNakuHy` | `stake_pool` | `program` | `kb_decoder_spl_stake_pool` | `core_specialized_reserved_current` |
| `core_spl_token_2022_v2022` | `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb` | `token2022` | `program` | `kb_decoder_spl_token_2022` | `core_handled` | | `core_spl_token2022_v2022` | `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb` | `token2022` | `program` | `kb_decoder_spl_token_2022` | `core_handled` |
| `core_spl_token_2022_elgamal_registry_v1` | `regVYJW7tcT8zipN5YiBvHsvR5jXW1uLFxaHSbugABg` | `spl_token2022_elgamal_registry` | `program` | `kb_decoder_spl_token_2022` | `core_specialized_reserved_current` | | `core_spl_token2022_elgamal_registry_v1` | `regVYJW7tcT8zipN5YiBvHsvR5jXW1uLFxaHSbugABg` | `spl_token2022_elgamal_registry` | `program` | `kb_decoder_spl_token_2022` | `core_specialized_reserved_current` |
| `core_spl_token_v1` | `TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA` | `token` | `program` | `kb_decoder_spl_token` | `core_handled` | | `core_spl_token_v1` | `TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA` | `token` | `program` | `kb_decoder_spl_token` | `core_handled` |

View File

@@ -1,236 +1,85 @@
<!-- file: docs/RUST_WORKSPACE_RULE_AUDIT.md --> <!-- file: docs/RUST_WORKSPACE_RULE_AUDIT.md -->
<!-- version: 1 --> <!-- version: 2 -->
# Audit des règles Rust du workspace # Audit des règles Rust du workspace
Violations détectées : **616**. Lentrée unique est :
## Synthèse ```bash
python3 scripts/audit_rust_workspace_rules.py
```
| Code | Nombre | Elle exécute trois contrôles obligatoires :
|------------|-------:|
| `RUST010` | 156 |
| `RUST011` | 16 |
| `RUST013` | 19 |
| `RUST021` | 1 |
| `TRACE002` | 32 |
| `TRACE003` | 202 |
| `TRACE004` | 190 |
## Premiers écarts 1. `audit_rust_general_rules.py` pour les règles Rust réutilisables ;
2. `audit_rust_export_completeness.py` pour la fermeture des façades ;
3. `audit_khadhroony_workspace_rules.py` pour les contrats propres au projet.
- `RUST010` `kb_app_demo/src/demo_backfill.rs:6` — ordinary `use` requires a trait-import justification marker ## Façades et réexports
- `RUST010` `kb_app_demo/src/demo_backfill.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_backfill.rs:8` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_config.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_config.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_core_extraction.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_core_extraction.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_core_extraction.rs:8` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_decode_replay.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_decode_replay.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_decode_replay.rs:8` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_execution_solana_core.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_execution_solana_core.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_execution_solana_core.rs:8` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_execution_spl.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_http.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_http.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_spl_ata.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_spl_token.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_spl_token_2022.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_sql_common.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_sql_common.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_sql_diag.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_sql_pg_core.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_sql_pg_raw.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_sql_replay_candidates.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_ws.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_ws.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_ws.rs:8` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/demo_ws.rs:993` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/frontend_log.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/lib.rs:13` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/lib.rs:14` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/main.rs:12` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/splash.rs:9` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_app_demo/src/splash.rs:10` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_config/src/settings.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_config/src/settings.rs:1223` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_api/src/contracts.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_metadata_metaplex_token_metadata/src/canonical.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_metadata_metaplex_token_metadata/src/decoder.rs:144` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_metadata_metaplex_token_metadata/src/instruction.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_metadata_metaplex_token_metadata/src/instruction.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_solana_core/src/address_lookup_table.rs:326` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_solana_core/src/compute_budget.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_solana_core/src/compute_budget.rs:673` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_solana_core/src/config.rs:322` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_solana_core/src/feature.rs:167` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_solana_core/src/loaders.rs:992` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_solana_core/src/payload.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_solana_core/src/payload.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_solana_core/src/slashing.rs:461` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_solana_core/src/stake.rs:805` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_solana_core/src/system.rs:438` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_solana_core/src/vote.rs:707` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_solana_core/src/zk_elgamal.rs:522` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_solana_core/src/zk_token_proof.rs:693` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_associated_token_account/src/decoder.rs:335` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_associated_token_account/src/instruction.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_associated_token_account/src/instruction.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_elgamal_registry/src/decoder.rs:95` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_elgamal_registry/src/decoder.rs:162` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_elgamal_registry/src/registry.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_elgamal_registry/src/registry.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_elgamal_registry/src/state.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_elgamal_registry/src/state.rs:49` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_memo/src/decoder.rs:160` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_memo/src/memo.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_memo/src/memo.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_token/src/decoder.rs:144` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_token/src/token.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_token/src/token.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_token_2022/src/decoder.rs:144` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_token_2022/src/state.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_token_2022/src/state.rs:916` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_token_2022/src/token.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_decoder_spl_token_2022/src/token.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_execution_api/src/execution.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_execution_api/src/executor.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_execution_safety/src/safety.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_execution_solana/src/nonce.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_execution_solana/src/transaction.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_execution_solana/src/transaction.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_execution_solana/src/transaction.rs:654` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_execution_solana/src/transaction.rs:655` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_solana_core/src/address_lookup_table.rs:321` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_solana_core/src/builder.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_solana_core/src/builder.rs:1374` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_solana_core/src/intent.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_solana_core/src/native_admin.rs:381` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_solana_core/src/precompiles.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_solana_core/src/slashing.rs:346` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_solana_core/src/stake.rs:1497` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_solana_core/src/validation.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_solana_core/src/validation.rs:108` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_solana_core/src/vote.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_solana_core/src/vote.rs:1846` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_spl_associated_token_account/src/intent.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_spl_elgamal_registry/src/builder.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_spl_elgamal_registry/src/builder.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_spl_elgamal_registry/src/intent.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_spl_memo/src/builder.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_spl_memo/src/builder.rs:194` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_spl_memo/src/intent.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_spl_token/src/builder.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_spl_token/src/intent.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_spl_token_2022/src/builder.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_spl_token_2022/src/confidential.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_spl_token_2022/src/confidential.rs:425` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_executor_spl_token_2022/src/intent.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_logging/src/tracing_runtime.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_logging/src/tracing_runtime.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_logging/src/tracing_runtime.rs:8` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_logging/src/tracing_runtime.rs:676` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_logging/src/tracing_runtime.rs:677` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_model/src/canonical_transaction.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_model/src/canonical_transaction.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_model/src/decoded.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_model/src/materialized.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_model/src/nomenclature.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_model/src/observation.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_model/src/solana.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_pipeline/src/backfill.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_pipeline/src/backfill.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_pipeline/src/backfill.rs:8` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_pipeline/src/core_extraction.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_pipeline/src/core_extraction.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_pipeline/src/core_extraction.rs:8` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_pipeline/src/decode_replay.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_pipeline/src/decode_replay.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_pipeline/src/solana_elgamal_registry_stateful.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_pipeline/src/solana_elgamal_registry_stateful.rs:227` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_pipeline/src/solana_stateful.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_pipeline/src/solana_token_stateful.rs:392` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_pipeline/src/solana_token_stateful.rs:470` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_rpc/src/execution_rpc.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_rpc/src/execution_rpc.rs:2251` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_rpc/src/get_transaction.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_rpc/src/standard_http.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_rpc/src/ws_client.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_rpc/src/ws_client.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_rpc/src/ws_session.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_rpc/src/ws_session.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_rpc/src/ws_session.rs:1219` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_rpc/src/ws_session.rs:1220` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_store_pg/src/queries/core_extraction_queries.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_store_pg/src/queries/core_queries.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_store_pg/src/queries/decode_pipeline_queries.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_store_pg/src/queries/table_diagnostics_queries.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_wallet/src/wallet.rs:6` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_wallet/src/wallet.rs:7` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_wallet/src/wallet.rs:261` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_wallet/src/wallet.rs:294` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_wallet/src/wallet.rs:299` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_wallet/src/wallet.rs:411` — ordinary `use` requires a trait-import justification marker
- `RUST010` `kb_wallet/src/wallet.rs:524` — ordinary `use` requires a trait-import justification marker
- `RUST011` `kb_executor_solana_core/src/lib.rs:129` — grouped re-export is forbidden
- `RUST011` `kb_executor_solana_core/src/lib.rs:137` — grouped re-export is forbidden
- `RUST011` `kb_executor_solana_core/src/lib.rs:145` — grouped re-export is forbidden
- `RUST011` `kb_executor_solana_core/src/lib.rs:159` — grouped re-export is forbidden
- `RUST011` `kb_executor_spl_token/src/lib.rs:29` — grouped re-export is forbidden
- `RUST011` `kb_executor_spl_token_2022/src/lib.rs:16` — grouped re-export is forbidden
- `RUST011` `kb_executor_spl_token_2022/src/lib.rs:47` — grouped re-export is forbidden
- `RUST011` `kb_rpc/src/lib.rs:167` — grouped re-export is forbidden
- `RUST011` `kb_rpc/src/lib.rs:175` — grouped re-export is forbidden
- `RUST011` `kb_rpc/src/lib.rs:180` — grouped re-export is forbidden
- `RUST011` `kb_rpc/src/lib.rs:188` — grouped re-export is forbidden
- `RUST011` `kb_rpc/src/lib.rs:198` — grouped re-export is forbidden
- `RUST011` `kb_rpc/src/lib.rs:204` — grouped re-export is forbidden
- `RUST011` `kb_rpc/src/lib.rs:209` — grouped re-export is forbidden
- `RUST011` `kb_rpc/src/lib.rs:232` — grouped re-export is forbidden
- `RUST011` `kb_rpc/src/lib.rs:257` — grouped re-export is forbidden
- `RUST013` `kb_decoder_metadata_metaplex_token_metadata/src/canonical.rs:6` — grouped imports are forbidden
- `RUST013` `kb_decoder_spl_token_2022/src/state.rs:916` — grouped imports are forbidden
- `RUST013` `kb_executor_solana_core/src/lib.rs:129` — grouped imports are forbidden
- `RUST013` `kb_executor_solana_core/src/lib.rs:137` — grouped imports are forbidden
- `RUST013` `kb_executor_solana_core/src/lib.rs:145` — grouped imports are forbidden
- `RUST013` `kb_executor_solana_core/src/lib.rs:159` — grouped imports are forbidden
- `RUST013` `kb_executor_spl_token/src/lib.rs:29` — grouped imports are forbidden
- `RUST013` `kb_executor_spl_token_2022/src/confidential.rs:425` — grouped imports are forbidden
- `RUST013` `kb_executor_spl_token_2022/src/lib.rs:16` — grouped imports are forbidden
- `RUST013` `kb_executor_spl_token_2022/src/lib.rs:47` — grouped imports are forbidden
- `RUST013` `kb_rpc/src/lib.rs:167` — grouped imports are forbidden
- `RUST013` `kb_rpc/src/lib.rs:175` — grouped imports are forbidden
- `RUST013` `kb_rpc/src/lib.rs:180` — grouped imports are forbidden
- `RUST013` `kb_rpc/src/lib.rs:188` — grouped imports are forbidden
- `RUST013` `kb_rpc/src/lib.rs:198` — grouped imports are forbidden
- `RUST013` `kb_rpc/src/lib.rs:204` — grouped imports are forbidden
- `RUST013` `kb_rpc/src/lib.rs:209` — grouped imports are forbidden
- `RUST013` `kb_rpc/src/lib.rs:232` — grouped imports are forbidden
- `RUST013` `kb_rpc/src/lib.rs:257` — grouped imports are forbidden
- `RUST021` `kb_app_demo/src/lib.rs:42` — crate-root re-export requires adjacent rustdoc
- `TRACE002` `kb_app_demo/src/lib.rs:1` — TRACING_TARGET must be re-exported with `pub(crate) use`
- `TRACE002` `kb_decoder_metadata_metaplex_token_metadata/src/lib.rs:1` — TRACING_TARGET must be re-exported with `pub(crate) use`
- `TRACE002` `kb_decoder_solana_core/src/lib.rs:1` — TRACING_TARGET must be re-exported with `pub(crate) use`
- `TRACE002` `kb_decoder_spl_associated_token_account/src/lib.rs:1` — TRACING_TARGET must be re-exported with `pub(crate) use`
- `TRACE002` `kb_decoder_spl_elgamal_registry/src/lib.rs:1` — TRACING_TARGET must be re-exported with `pub(crate) use`
- `TRACE002` `kb_decoder_spl_memo/src/lib.rs:1` — TRACING_TARGET must be re-exported with `pub(crate) use`
- `TRACE002` `kb_decoder_spl_token/src/lib.rs:1` — TRACING_TARGET must be re-exported with `pub(crate) use`
- `TRACE002` `kb_decoder_spl_token_2022/src/lib.rs:1` — TRACING_TARGET must be re-exported with `pub(crate) use`
Le rapport est tronqué aux 200 premiers écarts sur 616. Tous les modules sont privés avec `mod`. Une API de crate est formée uniquement par des
réexports explicites depuis `lib.rs` ou `main.rs`.
## Stratégie de correction Les réexports dun module interne utilisent `self::`, ne sont jamais groupés, ne changent
jamais le nom du symbole avec `as` et possèdent une rustdoc adjacente. Un bloc homogène de
`pub use` ou `pub(crate) use` ne contient aucune ligne vide.
La mise en conformité est découpée avant toute nouvelle prérelease : Laudit de complétude suit les réexports transitifs à travers les façades privées. Il vérifie
donc quun type déclaré dans un sous-module atteint réellement la racine de sa crate sans
exiger un faux accès public au module qui le contient. Les constantes de suivi des scaffolds
de migration restent internes à leur inventaire et ne font pas partie de lAPI publique.
1. `pre.035-delta-fix-002` : séparation des règles et audit automatisé reproductible ; ## Nomenclature de `kb-lib`
2. correctifs suivants : points d'entrée de crates, réexports `pub`/`pub(crate)`, rustdocs et chemins `crate::...` ;
3. correctifs suivants : imports de traits et suppression des imports ordinaires/groupés ; | Famille | Constante | Type ou trait | Fonction libre |
4. correctifs suivants : `DC_METADATA_MTM_TRACING_TARGET`, dépendances `tracing`, macros et matrice de routes ; |---|---|---|---|
5. correctifs suivants : helpers dupliqués et mutualisation inter-crates ; | Décodeur | `DC_` | `Dc` | `decoder_` |
6. fermeture : `cargo fmt --all`, audit strict, tests workspace et Clippy global. | Matérialiseur | `MT_` | `Mt` | `materializer_` |
| Exécuteur | `EX_` | `Ex` | `executor_` |
| Modèle | `MD_` | `Md` | `model_` |
Les méthodes inhérentes et les helpers strictement privés ne sont pas soumis à un préfixe
global. Les symboles `pub` et `pub(crate)` le sont, car ils peuvent entrer en collision après
la fusion des anciennes crates dans `kb-lib`.
Les 98 frontières de décodeurs encore en attente utilisent des constantes uniques
`DC_<FAMILLE>_<SURFACE>_LEGACY_CRATE` et
`DC_<FAMILLE>_<SURFACE>_MIGRATION_STATUS`. Elles sont référencées par un inventaire interne
pour que `cargo check` ne produise pas davertissements de code mort.
## Tracing
Une crate opérationnelle autonome garde un unique `TRACING_TARGET` dans `constants.rs` et le
réexporte avec :
```rust
pub(crate) use self::constants::TRACING_TARGET;
```
Un composant opérationnel de `kb-lib` utilise un nom préfixé, par exemple
`DC_SPL_TOKEN2022_TRACING_TARGET` ou `MT_TOKEN_ACCOUNTS_TRACING_TARGET`, réexporté
transitivement jusquà `kb-lib/src/lib.rs`. Sa valeur suit exactement le chemin hiérarchique
du composant, par exemple `kb-lib.decoder.spl.token2022`.
## Validation
Laudit strict exige le `Cargo.lock` versionné de lapplication et vérifie exclusivement :
```text
wincode 0.5.5
solana-wincode-varint 1.0.0
```
Une livraison sans `Cargo.lock` peut contrôler le reste avec `--report-only`, mais elle ne
doit pas annoncer laudit strict comme propre tant que le lock réel na pas été utilisé.
La fermeture dune tranche demande ensuite :
```bash
cargo fmt --all
python3 scripts/audit_rust_workspace_rules.py
cargo check --workspace
cargo test --workspace
cargo clippy --workspace --all-targets
```
Aucune nouvelle prérelease ne doit être créée tant que cette séquence n'est pas terminée et validée localement.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/SURFACE_CRATE_MATRIX.md --> <!-- file: docs/SURFACE_CRATE_MATRIX.md -->
<!-- version: 5 --> <!-- version: 6 -->
# Matrice des modules réservés # Matrice des modules réservés
@@ -29,7 +29,7 @@ Ce document liste les crates actuellement présents dans le workspace. Un crate
| `spl_single_pool` | `kb_decoder_spl_single_pool` | `kb_executor_spl_single_pool` | | `spl_single_pool` | `kb_decoder_spl_single_pool` | `kb_executor_spl_single_pool` |
| `spl_stake_pool` | `kb_decoder_spl_stake_pool` | `kb_executor_spl_stake_pool` | | `spl_stake_pool` | `kb_decoder_spl_stake_pool` | `kb_executor_spl_stake_pool` |
| `spl_token` | `kb_decoder_spl_token` | `kb_executor_spl_token` | | `spl_token` | `kb_decoder_spl_token` | `kb_executor_spl_token` |
| `spl_token_2022` | `kb_decoder_spl_token_2022` | `kb_executor_spl_token_2022` | | `spl_token2022` | `kb_decoder_spl_token_2022` | `kb_executor_spl_token_2022` |
## Amm ## Amm

View File

@@ -1,5 +1,5 @@
<!-- file: docs/TRACING_CONTRACT.md --> <!-- file: docs/TRACING_CONTRACT.md -->
<!-- version: 20 --> <!-- version: 21 -->
# Contrat de tracing par crate et composant # Contrat de tracing par crate et composant
@@ -29,7 +29,7 @@ Toute crate opérationnelle hors `kb-lib` qui déclare `tracing.workspace = true
- réexporter la constante depuis sa façade puis appeler les macros avec `target: crate::TRACING_TARGET` ; - réexporter la constante depuis sa façade puis appeler les macros avec `target: crate::TRACING_TARGET` ;
- déplacer la granularité interne dans des champs structurés. - déplacer la granularité interne dans des champs structurés.
`kb-lib` constitue une exception architecturale volontaire : chaque décodeur, matérialiseur ou exécuteur opérationnel possède son propre `constants.rs` et un target hiérarchique `kb-lib.<famille>.<surface>`. La façade de `kb-lib` réexporte chaque target sous un alias interne préfixé afin que plusieurs composants puissent coexister sans collision. `kb-lib` constitue une exception architecturale volontaire : chaque décodeur, matérialiseur ou exécuteur opérationnel possède son propre `constants.rs` et un target hiérarchique `kb-lib.<famille>.<surface>`. Le target reçoit son nom préfixé canonique dans son module propriétaire, puis la façade de `kb-lib` le réexporte sans alias afin que plusieurs composants puissent coexister sans collision.
Exemple : Exemple :
@@ -74,7 +74,7 @@ kb-logging
kb-store kb-store
``` ```
Laudit `audit_khadhroony_workspace_rules.py` vérifie les targets de crates et les targets hiérarchiques de `kb-lib`. Il interdit également les faux usages `let _target` et impose que chaque macro de `kb-lib` utilise un alias réexporté par la façade. Laudit `audit_khadhroony_workspace_rules.py` vérifie les targets de crates et les targets hiérarchiques de `kb-lib`. Il interdit également les faux usages `let _target` et impose que chaque macro de `kb-lib` utilise le nom préfixé réexporté sans transformation par la façade.
Les routes sont filtrées au niveau de leur writer plutôt que par un `Filtered` layer distinct. Un seul filtre dadmission agrégé empêche en amont le formatage des événements refusés par toutes les routes. Cette architecture préserve toutes les sorties globales et par crate au-delà de la limite interne de 64 identifiants de filtres de `tracing-subscriber`. Le test `more_than_64_routes_compose_without_filtered_layer_ids` protège explicitement ce contrat. Les routes sont filtrées au niveau de leur writer plutôt que par un `Filtered` layer distinct. Un seul filtre dadmission agrégé empêche en amont le formatage des événements refusés par toutes les routes. Cette architecture préserve toutes les sorties globales et par crate au-delà de la limite interne de 64 identifiants de filtres de `tracing-subscriber`. Le test `more_than_64_routes_compose_without_filtered_layer_ids` protège explicitement ce contrat.
@@ -161,4 +161,4 @@ Lajout ou la suppression de `tracing.workspace = true` impose dans le même d
4. la mise à jour des tests de contrat ; 4. la mise à jour des tests de contrat ;
5. la mise à jour de la liste ci-dessus. 5. la mise à jour de la liste ci-dessus.
Pour un composant de `kb-lib`, les mêmes obligations sappliquent au target hiérarchique, à son alias de façade et à ses routes dédiées. Pour un composant de `kb-lib`, les mêmes obligations sappliquent au target hiérarchique, à son nom préfixé de façade et à ses routes dédiées.

View File

@@ -1,5 +1,5 @@
<!-- file: kb-lib/README.md --> <!-- file: kb-lib/README.md -->
<!-- version: 7 --> <!-- version: 8 -->
# kb-lib # kb-lib
@@ -69,7 +69,7 @@ cumulés. Les comptes, autorités, offsets de preuve, suffixes et chemins outer/
ordonnés et exacts. Une transaction échouée produit une intention non commitée. Le parseur public ordonnés et exacts. Une transaction échouée produit une intention non commitée. Le parseur public
`decoder_spl_token2022_parse_token2022_state()` distingue Mint, Account et Multisig, conserve la base exacte et expose `decoder_spl_token2022_parse_token2022_state()` distingue Mint, Account et Multisig, conserve la base exacte et expose
les entrées TLV ordonnées sans inventer létat dun programme externe pointé. La matrice normative les entrées TLV ordonnées sans inventer létat dun programme externe pointé. La matrice normative
est `docs/SPL_TOKEN_2022_MATRIX.json`. est `docs/SPL_TOKEN2022_MATRIX.json`.
## Décodeur du registre ElGamal ## Décodeur du registre ElGamal
@@ -102,7 +102,7 @@ politique dexécution définitivement interdite. La matrice normative est
- `MtApiEventMaterializer`, `MtApiMaterializerIdentity`, `MtApiMaterializationTransactionPolicy`, `MtApiMaterializerExecutionResult` et `MtApiMaterializedOutput` : contrat complet utilisable par un matérialiseur interne ou externe ; - `MtApiEventMaterializer`, `MtApiMaterializerIdentity`, `MtApiMaterializationTransactionPolicy`, `MtApiMaterializerExecutionResult` et `MtApiMaterializedOutput` : contrat complet utilisable par un matérialiseur interne ou externe ;
- `MtLifecycleMaterializer`, `MtAdminMaterializer`, `MtComplianceAuditMaterializer` et `MtStakingMaterializer` : matérialisateurs Solana natifs concrets ; - `MtLifecycleMaterializer`, `MtAdminMaterializer`, `MtComplianceAuditMaterializer` et `MtStakingMaterializer` : matérialisateurs Solana natifs concrets ;
- `materialize_token2022_admin_state_snapshots()` et `materialize_elgamal_registry_state_snapshot()` : projections stateful dadministration déjà exposées ; - `materializer_admin_materialize_token2022_state_snapshots()` et `materializer_admin_materialize_elgamal_registry_state_snapshot()` : projections stateful dadministration déjà exposées ;
- `DcSolanaCoreDecoder` : décodeur concret natif ; - `DcSolanaCoreDecoder` : décodeur concret natif ;
- `DcSplMemoDecoder` : décodeur exact des trois générations SPL Memo ; - `DcSplMemoDecoder` : décodeur exact des trois générations SPL Memo ;
- `DcSplTokenDecoder` : décodeur exact du programme SPL Token classique ; - `DcSplTokenDecoder` : décodeur exact du programme SPL Token classique ;

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder.rs // file: kb-lib/src/decoder.rs
// version: 6 // version: 7
//! Consolidated decoder modules. //! Consolidated decoder modules.
@@ -33,6 +33,38 @@ mod vesting;
mod wallet; mod wallet;
mod weighted; mod weighted;
/// Internal inventory of pending decoder migration boundaries.
#[allow(dead_code)]
pub(crate) const DC_MIGRATION_BOUNDARIES: &[&[(&str, &str)]] = &[
self::adapter::DC_ADAPTER_MIGRATION_BOUNDARIES,
self::admin::DC_ADMIN_MIGRATION_BOUNDARIES,
self::amm::DC_AMM_MIGRATION_BOUNDARIES,
self::anchor::DC_ANCHOR_MIGRATION_BOUNDARIES,
self::bridge::DC_BRIDGE_MIGRATION_BOUNDARIES,
self::clmm::DC_CLMM_MIGRATION_BOUNDARIES,
self::cpmm::DC_CPMM_MIGRATION_BOUNDARIES,
self::dlmm::DC_DLMM_MIGRATION_BOUNDARIES,
self::fees::DC_FEES_MIGRATION_BOUNDARIES,
self::governance::DC_GOVERNANCE_MIGRATION_BOUNDARIES,
self::launchpad::DC_LAUNCHPAD_MIGRATION_BOUNDARIES,
self::lending::DC_LENDING_MIGRATION_BOUNDARIES,
self::lock::DC_LOCK_MIGRATION_BOUNDARIES,
self::metadata::DC_METADATA_MIGRATION_BOUNDARIES,
self::nft::DC_NFT_MIGRATION_BOUNDARIES,
self::orderbook::DC_ORDERBOOK_MIGRATION_BOUNDARIES,
self::perpetuals::DC_PERPETUALS_MIGRATION_BOUNDARIES,
self::router::DC_ROUTER_MIGRATION_BOUNDARIES,
self::rwa::DC_RWA_MIGRATION_BOUNDARIES,
self::spl::DC_SPL_MIGRATION_BOUNDARIES,
self::stable::DC_STABLE_MIGRATION_BOUNDARIES,
self::staking::DC_STAKING_MIGRATION_BOUNDARIES,
self::treasury::DC_TREASURY_MIGRATION_BOUNDARIES,
self::vault::DC_VAULT_MIGRATION_BOUNDARIES,
self::vesting::DC_VESTING_MIGRATION_BOUNDARIES,
self::wallet::DC_WALLET_MIGRATION_BOUNDARIES,
self::weighted::DC_WEIGHTED_MIGRATION_BOUNDARIES,
];
/// Approve Collection Authority discriminator. /// Approve Collection Authority discriminator.
pub(crate) use self::metadata::DC_METADATA_MTM_APPROVE_COLLECTION_AUTHORITY_DISCRIMINATOR; pub(crate) use self::metadata::DC_METADATA_MTM_APPROVE_COLLECTION_AUTHORITY_DISCRIMINATOR;
/// Approve Use Authority discriminator. /// Approve Use Authority discriminator.
@@ -95,7 +127,6 @@ pub(crate) use self::metadata::DC_METADATA_MTM_LOCK_DISCRIMINATOR;
pub(crate) use self::metadata::DC_METADATA_MTM_MAX_BASE64_BYTES; pub(crate) use self::metadata::DC_METADATA_MTM_MAX_BASE64_BYTES;
/// Maximum number of instruction accounts accepted by this decoder. /// Maximum number of instruction accounts accepted by this decoder.
pub(crate) use self::metadata::DC_METADATA_MTM_MAX_INSTRUCTION_ACCOUNTS; pub(crate) use self::metadata::DC_METADATA_MTM_MAX_INSTRUCTION_ACCOUNTS;
/// Tracing target for this decoder.
/// Maximum retained instruction payload size. /// Maximum retained instruction payload size.
pub(crate) use self::metadata::DC_METADATA_MTM_MAX_INSTRUCTION_BYTES; pub(crate) use self::metadata::DC_METADATA_MTM_MAX_INSTRUCTION_BYTES;
/// Migrate discriminator. /// Migrate discriminator.

View File

@@ -1,6 +1,12 @@
// file: kb-lib/src/decoder/adapter.rs // file: kb-lib/src/decoder/adapter.rs
// version: 1 // version: 2
//! `adapter` decoder family. //! `adapter` decoder family.
mod saber_decimal_wrapper; mod saber_decimal_wrapper;
/// Pending `adapter` decoder migration boundaries.
pub(crate) const DC_ADAPTER_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[(
self::saber_decimal_wrapper::DC_ADAPTER_SABER_DECIMAL_WRAPPER_LEGACY_CRATE,
self::saber_decimal_wrapper::DC_ADAPTER_SABER_DECIMAL_WRAPPER_MIGRATION_STATUS,
)];

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/adapter/saber_decimal_wrapper.rs // file: kb-lib/src/decoder/adapter/saber_decimal_wrapper.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_adapter_saber_decimal_wrapper`. //! Migration boundary for legacy crate `kb_decoder_adapter_saber_decimal_wrapper`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_adapter_saber_decimal_wrapper"; pub(crate) const DC_ADAPTER_SABER_DECIMAL_WRAPPER_LEGACY_CRATE: &str =
"kb_decoder_adapter_saber_decimal_wrapper";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_ADAPTER_SABER_DECIMAL_WRAPPER_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,7 +1,19 @@
// file: kb-lib/src/decoder/admin.rs // file: kb-lib/src/decoder/admin.rs
// version: 1 // version: 2
//! `admin` decoder family. //! `admin` decoder family.
mod jupiter_lock; mod jupiter_lock;
mod pump_fees; mod pump_fees;
/// Pending `admin` decoder migration boundaries.
pub(crate) const DC_ADMIN_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[
(
self::jupiter_lock::DC_ADMIN_JUPITER_LOCK_LEGACY_CRATE,
self::jupiter_lock::DC_ADMIN_JUPITER_LOCK_MIGRATION_STATUS,
),
(
self::pump_fees::DC_ADMIN_PUMP_FEES_LEGACY_CRATE,
self::pump_fees::DC_ADMIN_PUMP_FEES_MIGRATION_STATUS,
),
];

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/admin/jupiter_lock.rs // file: kb-lib/src/decoder/admin/jupiter_lock.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_admin_jupiter_lock`. //! Migration boundary for legacy crate `kb_decoder_admin_jupiter_lock`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_admin_jupiter_lock"; pub(crate) const DC_ADMIN_JUPITER_LOCK_LEGACY_CRATE: &str = "kb_decoder_admin_jupiter_lock";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_ADMIN_JUPITER_LOCK_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/admin/pump_fees.rs // file: kb-lib/src/decoder/admin/pump_fees.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_admin_pump_fees`. //! Migration boundary for legacy crate `kb_decoder_admin_pump_fees`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_admin_pump_fees"; pub(crate) const DC_ADMIN_PUMP_FEES_LEGACY_CRATE: &str = "kb_decoder_admin_pump_fees";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_ADMIN_PUMP_FEES_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/amm.rs // file: kb-lib/src/decoder/amm.rs
// version: 1 // version: 2
//! `amm` decoder family. //! `amm` decoder family.
@@ -29,3 +29,108 @@ mod virtuals;
mod woofi; mod woofi;
mod zero_fi; mod zero_fi;
mod zora; mod zora;
/// Pending `amm` decoder migration boundaries.
pub(crate) const DC_AMM_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[
(
self::aldrin_v1::DC_AMM_ALDRIN_V1_LEGACY_CRATE,
self::aldrin_v1::DC_AMM_ALDRIN_V1_MIGRATION_STATUS,
),
(
self::aldrin_v2::DC_AMM_ALDRIN_V2_LEGACY_CRATE,
self::aldrin_v2::DC_AMM_ALDRIN_V2_MIGRATION_STATUS,
),
(
self::alphaq::DC_AMM_ALPHAQ_LEGACY_CRATE,
self::alphaq::DC_AMM_ALPHAQ_MIGRATION_STATUS,
),
(
self::believe::DC_AMM_BELIEVE_LEGACY_CRATE,
self::believe::DC_AMM_BELIEVE_MIGRATION_STATUS,
),
(
self::bonk_swap::DC_AMM_BONK_SWAP_LEGACY_CRATE,
self::bonk_swap::DC_AMM_BONK_SWAP_MIGRATION_STATUS,
),
(
self::fluxbeam::DC_AMM_FLUXBEAM_LEGACY_CRATE,
self::fluxbeam::DC_AMM_FLUXBEAM_MIGRATION_STATUS,
),
(
self::goon_fi::DC_AMM_GOON_FI_LEGACY_CRATE,
self::goon_fi::DC_AMM_GOON_FI_MIGRATION_STATUS,
),
(
self::goosefx_gamma::DC_AMM_GOOSEFX_GAMMA_LEGACY_CRATE,
self::goosefx_gamma::DC_AMM_GOOSEFX_GAMMA_MIGRATION_STATUS,
),
(
self::goosefx_v2::DC_AMM_GOOSEFX_V2_LEGACY_CRATE,
self::goosefx_v2::DC_AMM_GOOSEFX_V2_MIGRATION_STATUS,
),
(
self::guac_swap::DC_AMM_GUAC_SWAP_LEGACY_CRATE,
self::guac_swap::DC_AMM_GUAC_SWAP_MIGRATION_STATUS,
),
(
self::lifinity_swap_v2::DC_AMM_LIFINITY_SWAP_V2_LEGACY_CRATE,
self::lifinity_swap_v2::DC_AMM_LIFINITY_SWAP_V2_MIGRATION_STATUS,
),
(
self::metadao_futarchy_amm::DC_AMM_METADAO_FUTARCHY_AMM_LEGACY_CRATE,
self::metadao_futarchy_amm::DC_AMM_METADAO_FUTARCHY_AMM_MIGRATION_STATUS,
),
(
self::metadao_v0_5::DC_AMM_METADAO_V0_5_LEGACY_CRATE,
self::metadao_v0_5::DC_AMM_METADAO_V0_5_MIGRATION_STATUS,
),
(
self::meteora_damm_v1::DC_AMM_METEORA_DAMM_V1_LEGACY_CRATE,
self::meteora_damm_v1::DC_AMM_METEORA_DAMM_V1_MIGRATION_STATUS,
),
(
self::meteora_damm_v2::DC_AMM_METEORA_DAMM_V2_LEGACY_CRATE,
self::meteora_damm_v2::DC_AMM_METEORA_DAMM_V2_MIGRATION_STATUS,
),
(
self::obric_v2::DC_AMM_OBRIC_V2_LEGACY_CRATE,
self::obric_v2::DC_AMM_OBRIC_V2_MIGRATION_STATUS,
),
(
self::one_dex::DC_AMM_ONE_DEX_LEGACY_CRATE,
self::one_dex::DC_AMM_ONE_DEX_MIGRATION_STATUS,
),
(
self::pump_swap::DC_AMM_PUMP_SWAP_LEGACY_CRATE,
self::pump_swap::DC_AMM_PUMP_SWAP_MIGRATION_STATUS,
),
(
self::raydium_lp_v4::DC_AMM_RAYDIUM_LP_V4_LEGACY_CRATE,
self::raydium_lp_v4::DC_AMM_RAYDIUM_LP_V4_MIGRATION_STATUS,
),
(
self::solfi::DC_AMM_SOLFI_LEGACY_CRATE,
self::solfi::DC_AMM_SOLFI_MIGRATION_STATUS,
),
(
self::solfi_v2::DC_AMM_SOLFI_V2_LEGACY_CRATE,
self::solfi_v2::DC_AMM_SOLFI_V2_MIGRATION_STATUS,
),
(
self::vertigo::DC_AMM_VERTIGO_LEGACY_CRATE,
self::vertigo::DC_AMM_VERTIGO_MIGRATION_STATUS,
),
(
self::virtuals::DC_AMM_VIRTUALS_LEGACY_CRATE,
self::virtuals::DC_AMM_VIRTUALS_MIGRATION_STATUS,
),
(
self::woofi::DC_AMM_WOOFI_LEGACY_CRATE,
self::woofi::DC_AMM_WOOFI_MIGRATION_STATUS,
),
(
self::zero_fi::DC_AMM_ZERO_FI_LEGACY_CRATE,
self::zero_fi::DC_AMM_ZERO_FI_MIGRATION_STATUS,
),
(self::zora::DC_AMM_ZORA_LEGACY_CRATE, self::zora::DC_AMM_ZORA_MIGRATION_STATUS),
];

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/aldrin_v1.rs // file: kb-lib/src/decoder/amm/aldrin_v1.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_aldrin_v1`. //! Migration boundary for legacy crate `kb_decoder_amm_aldrin_v1`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_aldrin_v1"; pub(crate) const DC_AMM_ALDRIN_V1_LEGACY_CRATE: &str = "kb_decoder_amm_aldrin_v1";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_ALDRIN_V1_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/aldrin_v2.rs // file: kb-lib/src/decoder/amm/aldrin_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_aldrin_v2`. //! Migration boundary for legacy crate `kb_decoder_amm_aldrin_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_aldrin_v2"; pub(crate) const DC_AMM_ALDRIN_V2_LEGACY_CRATE: &str = "kb_decoder_amm_aldrin_v2";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_ALDRIN_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/alphaq.rs // file: kb-lib/src/decoder/amm/alphaq.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_alphaq`. //! Migration boundary for legacy crate `kb_decoder_amm_alphaq`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_alphaq"; pub(crate) const DC_AMM_ALPHAQ_LEGACY_CRATE: &str = "kb_decoder_amm_alphaq";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_ALPHAQ_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/believe.rs // file: kb-lib/src/decoder/amm/believe.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_believe`. //! Migration boundary for legacy crate `kb_decoder_amm_believe`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_believe"; pub(crate) const DC_AMM_BELIEVE_LEGACY_CRATE: &str = "kb_decoder_amm_believe";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_BELIEVE_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/bonk_swap.rs // file: kb-lib/src/decoder/amm/bonk_swap.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_bonk_swap`. //! Migration boundary for legacy crate `kb_decoder_amm_bonk_swap`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_bonk_swap"; pub(crate) const DC_AMM_BONK_SWAP_LEGACY_CRATE: &str = "kb_decoder_amm_bonk_swap";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_BONK_SWAP_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/fluxbeam.rs // file: kb-lib/src/decoder/amm/fluxbeam.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_fluxbeam`. //! Migration boundary for legacy crate `kb_decoder_amm_fluxbeam`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_fluxbeam"; pub(crate) const DC_AMM_FLUXBEAM_LEGACY_CRATE: &str = "kb_decoder_amm_fluxbeam";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_FLUXBEAM_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/goon_fi.rs // file: kb-lib/src/decoder/amm/goon_fi.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_goon_fi`. //! Migration boundary for legacy crate `kb_decoder_amm_goon_fi`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_goon_fi"; pub(crate) const DC_AMM_GOON_FI_LEGACY_CRATE: &str = "kb_decoder_amm_goon_fi";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_GOON_FI_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/goosefx_gamma.rs // file: kb-lib/src/decoder/amm/goosefx_gamma.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_goosefx_gamma`. //! Migration boundary for legacy crate `kb_decoder_amm_goosefx_gamma`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_goosefx_gamma"; pub(crate) const DC_AMM_GOOSEFX_GAMMA_LEGACY_CRATE: &str = "kb_decoder_amm_goosefx_gamma";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_GOOSEFX_GAMMA_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/goosefx_v2.rs // file: kb-lib/src/decoder/amm/goosefx_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_goosefx_v2`. //! Migration boundary for legacy crate `kb_decoder_amm_goosefx_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_goosefx_v2"; pub(crate) const DC_AMM_GOOSEFX_V2_LEGACY_CRATE: &str = "kb_decoder_amm_goosefx_v2";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_GOOSEFX_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/guac_swap.rs // file: kb-lib/src/decoder/amm/guac_swap.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_guac_swap`. //! Migration boundary for legacy crate `kb_decoder_amm_guac_swap`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_guac_swap"; pub(crate) const DC_AMM_GUAC_SWAP_LEGACY_CRATE: &str = "kb_decoder_amm_guac_swap";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_GUAC_SWAP_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/lifinity_swap_v2.rs // file: kb-lib/src/decoder/amm/lifinity_swap_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_lifinity_swap_v2`. //! Migration boundary for legacy crate `kb_decoder_amm_lifinity_swap_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_lifinity_swap_v2"; pub(crate) const DC_AMM_LIFINITY_SWAP_V2_LEGACY_CRATE: &str = "kb_decoder_amm_lifinity_swap_v2";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_LIFINITY_SWAP_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/amm/metadao_futarchy_amm.rs // file: kb-lib/src/decoder/amm/metadao_futarchy_amm.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_metadao_futarchy_amm`. //! Migration boundary for legacy crate `kb_decoder_amm_metadao_futarchy_amm`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_metadao_futarchy_amm"; pub(crate) const DC_AMM_METADAO_FUTARCHY_AMM_LEGACY_CRATE: &str =
"kb_decoder_amm_metadao_futarchy_amm";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_METADAO_FUTARCHY_AMM_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/metadao_v0_5.rs // file: kb-lib/src/decoder/amm/metadao_v0_5.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_metadao_v0_5`. //! Migration boundary for legacy crate `kb_decoder_amm_metadao_v0_5`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_metadao_v0_5"; pub(crate) const DC_AMM_METADAO_V0_5_LEGACY_CRATE: &str = "kb_decoder_amm_metadao_v0_5";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_METADAO_V0_5_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/meteora_damm_v1.rs // file: kb-lib/src/decoder/amm/meteora_damm_v1.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_meteora_damm_v1`. //! Migration boundary for legacy crate `kb_decoder_amm_meteora_damm_v1`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_meteora_damm_v1"; pub(crate) const DC_AMM_METEORA_DAMM_V1_LEGACY_CRATE: &str = "kb_decoder_amm_meteora_damm_v1";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_METEORA_DAMM_V1_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/meteora_damm_v2.rs // file: kb-lib/src/decoder/amm/meteora_damm_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_meteora_damm_v2`. //! Migration boundary for legacy crate `kb_decoder_amm_meteora_damm_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_meteora_damm_v2"; pub(crate) const DC_AMM_METEORA_DAMM_V2_LEGACY_CRATE: &str = "kb_decoder_amm_meteora_damm_v2";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_METEORA_DAMM_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/obric_v2.rs // file: kb-lib/src/decoder/amm/obric_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_obric_v2`. //! Migration boundary for legacy crate `kb_decoder_amm_obric_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_obric_v2"; pub(crate) const DC_AMM_OBRIC_V2_LEGACY_CRATE: &str = "kb_decoder_amm_obric_v2";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_OBRIC_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/one_dex.rs // file: kb-lib/src/decoder/amm/one_dex.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_one_dex`. //! Migration boundary for legacy crate `kb_decoder_amm_one_dex`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_one_dex"; pub(crate) const DC_AMM_ONE_DEX_LEGACY_CRATE: &str = "kb_decoder_amm_one_dex";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_ONE_DEX_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/pump_swap.rs // file: kb-lib/src/decoder/amm/pump_swap.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_pump_swap`. //! Migration boundary for legacy crate `kb_decoder_amm_pump_swap`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_pump_swap"; pub(crate) const DC_AMM_PUMP_SWAP_LEGACY_CRATE: &str = "kb_decoder_amm_pump_swap";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_PUMP_SWAP_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/raydium_lp_v4.rs // file: kb-lib/src/decoder/amm/raydium_lp_v4.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_raydium_lp_v4`. //! Migration boundary for legacy crate `kb_decoder_amm_raydium_lp_v4`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_raydium_lp_v4"; pub(crate) const DC_AMM_RAYDIUM_LP_V4_LEGACY_CRATE: &str = "kb_decoder_amm_raydium_lp_v4";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_RAYDIUM_LP_V4_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/solfi.rs // file: kb-lib/src/decoder/amm/solfi.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_solfi`. //! Migration boundary for legacy crate `kb_decoder_amm_solfi`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_solfi"; pub(crate) const DC_AMM_SOLFI_LEGACY_CRATE: &str = "kb_decoder_amm_solfi";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_SOLFI_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/solfi_v2.rs // file: kb-lib/src/decoder/amm/solfi_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_solfi_v2`. //! Migration boundary for legacy crate `kb_decoder_amm_solfi_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_solfi_v2"; pub(crate) const DC_AMM_SOLFI_V2_LEGACY_CRATE: &str = "kb_decoder_amm_solfi_v2";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_SOLFI_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/vertigo.rs // file: kb-lib/src/decoder/amm/vertigo.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_vertigo`. //! Migration boundary for legacy crate `kb_decoder_amm_vertigo`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_vertigo"; pub(crate) const DC_AMM_VERTIGO_LEGACY_CRATE: &str = "kb_decoder_amm_vertigo";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_VERTIGO_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/virtuals.rs // file: kb-lib/src/decoder/amm/virtuals.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_virtuals`. //! Migration boundary for legacy crate `kb_decoder_amm_virtuals`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_virtuals"; pub(crate) const DC_AMM_VIRTUALS_LEGACY_CRATE: &str = "kb_decoder_amm_virtuals";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_VIRTUALS_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/woofi.rs // file: kb-lib/src/decoder/amm/woofi.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_woofi`. //! Migration boundary for legacy crate `kb_decoder_amm_woofi`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_woofi"; pub(crate) const DC_AMM_WOOFI_LEGACY_CRATE: &str = "kb_decoder_amm_woofi";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_WOOFI_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/zero_fi.rs // file: kb-lib/src/decoder/amm/zero_fi.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_zero_fi`. //! Migration boundary for legacy crate `kb_decoder_amm_zero_fi`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_zero_fi"; pub(crate) const DC_AMM_ZERO_FI_LEGACY_CRATE: &str = "kb_decoder_amm_zero_fi";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_ZERO_FI_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/amm/zora.rs // file: kb-lib/src/decoder/amm/zora.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_amm_zora`. //! Migration boundary for legacy crate `kb_decoder_amm_zora`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_amm_zora"; pub(crate) const DC_AMM_ZORA_LEGACY_CRATE: &str = "kb_decoder_amm_zora";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_AMM_ZORA_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,6 +1,12 @@
// file: kb-lib/src/decoder/anchor.rs // file: kb-lib/src/decoder/anchor.rs
// version: 1 // version: 2
//! `anchor` decoder family. //! `anchor` decoder family.
mod core; mod core;
/// Pending `anchor` decoder migration boundaries.
pub(crate) const DC_ANCHOR_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[(
self::core::DC_ANCHOR_CORE_LEGACY_CRATE,
self::core::DC_ANCHOR_CORE_MIGRATION_STATUS,
)];

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/anchor/core.rs // file: kb-lib/src/decoder/anchor/core.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_anchor`. //! Migration boundary for legacy crate `kb_decoder_anchor`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_anchor"; pub(crate) const DC_ANCHOR_CORE_LEGACY_CRATE: &str = "kb_decoder_anchor";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_ANCHOR_CORE_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/bridge.rs // file: kb-lib/src/decoder/bridge.rs
// version: 1 // version: 2
//! `bridge` decoder family. //! `bridge` decoder family.
@@ -7,3 +7,23 @@ mod circle_cctp_token_messenger_minter;
mod circle_cctp_token_messenger_minter_v2; mod circle_cctp_token_messenger_minter_v2;
mod layer_zero_endpoint; mod layer_zero_endpoint;
mod layer_zero_executor; mod layer_zero_executor;
/// Pending `bridge` decoder migration boundaries.
pub(crate) const DC_BRIDGE_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[
(
self::circle_cctp_token_messenger_minter::DC_BRIDGE_CIRCLE_CCTP_TOKEN_MESSENGER_MINTER_LEGACY_CRATE,
self::circle_cctp_token_messenger_minter::DC_BRIDGE_CIRCLE_CCTP_TOKEN_MESSENGER_MINTER_MIGRATION_STATUS,
),
(
self::circle_cctp_token_messenger_minter_v2::DC_BRIDGE_CIRCLE_CCTP_TOKEN_MESSENGER_MINTER_V2_LEGACY_CRATE,
self::circle_cctp_token_messenger_minter_v2::DC_BRIDGE_CIRCLE_CCTP_TOKEN_MESSENGER_MINTER_V2_MIGRATION_STATUS,
),
(
self::layer_zero_endpoint::DC_BRIDGE_LAYER_ZERO_ENDPOINT_LEGACY_CRATE,
self::layer_zero_endpoint::DC_BRIDGE_LAYER_ZERO_ENDPOINT_MIGRATION_STATUS,
),
(
self::layer_zero_executor::DC_BRIDGE_LAYER_ZERO_EXECUTOR_LEGACY_CRATE,
self::layer_zero_executor::DC_BRIDGE_LAYER_ZERO_EXECUTOR_MIGRATION_STATUS,
),
];

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/bridge/circle_cctp_token_messenger_minter.rs // file: kb-lib/src/decoder/bridge/circle_cctp_token_messenger_minter.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_bridge_circle_cctp_token_messenger_minter`. //! Migration boundary for legacy crate `kb_decoder_bridge_circle_cctp_token_messenger_minter`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_bridge_circle_cctp_token_messenger_minter"; pub(crate) const DC_BRIDGE_CIRCLE_CCTP_TOKEN_MESSENGER_MINTER_LEGACY_CRATE: &str =
"kb_decoder_bridge_circle_cctp_token_messenger_minter";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_BRIDGE_CIRCLE_CCTP_TOKEN_MESSENGER_MINTER_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/bridge/circle_cctp_token_messenger_minter_v2.rs // file: kb-lib/src/decoder/bridge/circle_cctp_token_messenger_minter_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_bridge_circle_cctp_token_messenger_minter_v2`. //! Migration boundary for legacy crate `kb_decoder_bridge_circle_cctp_token_messenger_minter_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_bridge_circle_cctp_token_messenger_minter_v2"; pub(crate) const DC_BRIDGE_CIRCLE_CCTP_TOKEN_MESSENGER_MINTER_V2_LEGACY_CRATE: &str =
"kb_decoder_bridge_circle_cctp_token_messenger_minter_v2";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_BRIDGE_CIRCLE_CCTP_TOKEN_MESSENGER_MINTER_V2_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/bridge/layer_zero_endpoint.rs // file: kb-lib/src/decoder/bridge/layer_zero_endpoint.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_bridge_layer_zero_endpoint`. //! Migration boundary for legacy crate `kb_decoder_bridge_layer_zero_endpoint`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_bridge_layer_zero_endpoint"; pub(crate) const DC_BRIDGE_LAYER_ZERO_ENDPOINT_LEGACY_CRATE: &str =
"kb_decoder_bridge_layer_zero_endpoint";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_BRIDGE_LAYER_ZERO_ENDPOINT_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/bridge/layer_zero_executor.rs // file: kb-lib/src/decoder/bridge/layer_zero_executor.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_bridge_layer_zero_executor`. //! Migration boundary for legacy crate `kb_decoder_bridge_layer_zero_executor`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_bridge_layer_zero_executor"; pub(crate) const DC_BRIDGE_LAYER_ZERO_EXECUTOR_LEGACY_CRATE: &str =
"kb_decoder_bridge_layer_zero_executor";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_BRIDGE_LAYER_ZERO_EXECUTOR_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/clmm.rs // file: kb-lib/src/decoder/clmm.rs
// version: 1 // version: 2
//! `clmm` decoder family. //! `clmm` decoder family.
@@ -9,3 +9,31 @@ mod orca_whirlpool;
mod pancake_swap; mod pancake_swap;
mod raydium; mod raydium;
mod stabble; mod stabble;
/// Pending `clmm` decoder migration boundaries.
pub(crate) const DC_CLMM_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[
(
self::byreal::DC_CLMM_BYREAL_LEGACY_CRATE,
self::byreal::DC_CLMM_BYREAL_MIGRATION_STATUS,
),
(
self::fusion::DC_CLMM_FUSION_LEGACY_CRATE,
self::fusion::DC_CLMM_FUSION_MIGRATION_STATUS,
),
(
self::orca_whirlpool::DC_CLMM_ORCA_WHIRLPOOL_LEGACY_CRATE,
self::orca_whirlpool::DC_CLMM_ORCA_WHIRLPOOL_MIGRATION_STATUS,
),
(
self::pancake_swap::DC_CLMM_PANCAKE_SWAP_LEGACY_CRATE,
self::pancake_swap::DC_CLMM_PANCAKE_SWAP_MIGRATION_STATUS,
),
(
self::raydium::DC_CLMM_RAYDIUM_LEGACY_CRATE,
self::raydium::DC_CLMM_RAYDIUM_MIGRATION_STATUS,
),
(
self::stabble::DC_CLMM_STABBLE_LEGACY_CRATE,
self::stabble::DC_CLMM_STABBLE_MIGRATION_STATUS,
),
];

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/clmm/byreal.rs // file: kb-lib/src/decoder/clmm/byreal.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_clmm_byreal`. //! Migration boundary for legacy crate `kb_decoder_clmm_byreal`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_clmm_byreal"; pub(crate) const DC_CLMM_BYREAL_LEGACY_CRATE: &str = "kb_decoder_clmm_byreal";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_CLMM_BYREAL_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/clmm/fusion.rs // file: kb-lib/src/decoder/clmm/fusion.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_clmm_fusion`. //! Migration boundary for legacy crate `kb_decoder_clmm_fusion`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_clmm_fusion"; pub(crate) const DC_CLMM_FUSION_LEGACY_CRATE: &str = "kb_decoder_clmm_fusion";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_CLMM_FUSION_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/clmm/orca_whirlpool.rs // file: kb-lib/src/decoder/clmm/orca_whirlpool.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_clmm_orca_whirlpool`. //! Migration boundary for legacy crate `kb_decoder_clmm_orca_whirlpool`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_clmm_orca_whirlpool"; pub(crate) const DC_CLMM_ORCA_WHIRLPOOL_LEGACY_CRATE: &str = "kb_decoder_clmm_orca_whirlpool";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_CLMM_ORCA_WHIRLPOOL_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/clmm/pancake_swap.rs // file: kb-lib/src/decoder/clmm/pancake_swap.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_clmm_pancake_swap`. //! Migration boundary for legacy crate `kb_decoder_clmm_pancake_swap`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_clmm_pancake_swap"; pub(crate) const DC_CLMM_PANCAKE_SWAP_LEGACY_CRATE: &str = "kb_decoder_clmm_pancake_swap";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_CLMM_PANCAKE_SWAP_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/clmm/raydium.rs // file: kb-lib/src/decoder/clmm/raydium.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_clmm_raydium`. //! Migration boundary for legacy crate `kb_decoder_clmm_raydium`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_clmm_raydium"; pub(crate) const DC_CLMM_RAYDIUM_LEGACY_CRATE: &str = "kb_decoder_clmm_raydium";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_CLMM_RAYDIUM_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/clmm/stabble.rs // file: kb-lib/src/decoder/clmm/stabble.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_clmm_stabble`. //! Migration boundary for legacy crate `kb_decoder_clmm_stabble`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_clmm_stabble"; pub(crate) const DC_CLMM_STABBLE_LEGACY_CRATE: &str = "kb_decoder_clmm_stabble";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_CLMM_STABBLE_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,6 +1,12 @@
// file: kb-lib/src/decoder/cpmm.rs // file: kb-lib/src/decoder/cpmm.rs
// version: 1 // version: 2
//! `cpmm` decoder family. //! `cpmm` decoder family.
mod raydium; mod raydium;
/// Pending `cpmm` decoder migration boundaries.
pub(crate) const DC_CPMM_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[(
self::raydium::DC_CPMM_RAYDIUM_LEGACY_CRATE,
self::raydium::DC_CPMM_RAYDIUM_MIGRATION_STATUS,
)];

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/cpmm/raydium.rs // file: kb-lib/src/decoder/cpmm/raydium.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_cpmm_raydium`. //! Migration boundary for legacy crate `kb_decoder_cpmm_raydium`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_cpmm_raydium"; pub(crate) const DC_CPMM_RAYDIUM_LEGACY_CRATE: &str = "kb_decoder_cpmm_raydium";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_CPMM_RAYDIUM_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,6 +1,12 @@
// file: kb-lib/src/decoder/dlmm.rs // file: kb-lib/src/decoder/dlmm.rs
// version: 1 // version: 2
//! `dlmm` decoder family. //! `dlmm` decoder family.
mod meteora; mod meteora;
/// Pending `dlmm` decoder migration boundaries.
pub(crate) const DC_DLMM_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[(
self::meteora::DC_DLMM_METEORA_LEGACY_CRATE,
self::meteora::DC_DLMM_METEORA_MIGRATION_STATUS,
)];

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/dlmm/meteora.rs // file: kb-lib/src/decoder/dlmm/meteora.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_dlmm_meteora`. //! Migration boundary for legacy crate `kb_decoder_dlmm_meteora`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_dlmm_meteora"; pub(crate) const DC_DLMM_METEORA_LEGACY_CRATE: &str = "kb_decoder_dlmm_meteora";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_DLMM_METEORA_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,7 +1,19 @@
// file: kb-lib/src/decoder/fees.rs // file: kb-lib/src/decoder/fees.rs
// version: 1 // version: 2
//! `fees` decoder family. //! `fees` decoder family.
mod bags_fee_share_v1; mod bags_fee_share_v1;
mod bags_fee_share_v2; mod bags_fee_share_v2;
/// Pending `fees` decoder migration boundaries.
pub(crate) const DC_FEES_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[
(
self::bags_fee_share_v1::DC_FEES_BAGS_FEE_SHARE_V1_LEGACY_CRATE,
self::bags_fee_share_v1::DC_FEES_BAGS_FEE_SHARE_V1_MIGRATION_STATUS,
),
(
self::bags_fee_share_v2::DC_FEES_BAGS_FEE_SHARE_V2_LEGACY_CRATE,
self::bags_fee_share_v2::DC_FEES_BAGS_FEE_SHARE_V2_MIGRATION_STATUS,
),
];

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/fees/bags_fee_share_v1.rs // file: kb-lib/src/decoder/fees/bags_fee_share_v1.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_fees_bags_fee_share_v1`. //! Migration boundary for legacy crate `kb_decoder_fees_bags_fee_share_v1`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_fees_bags_fee_share_v1"; pub(crate) const DC_FEES_BAGS_FEE_SHARE_V1_LEGACY_CRATE: &str = "kb_decoder_fees_bags_fee_share_v1";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_FEES_BAGS_FEE_SHARE_V1_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/fees/bags_fee_share_v2.rs // file: kb-lib/src/decoder/fees/bags_fee_share_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_fees_bags_fee_share_v2`. //! Migration boundary for legacy crate `kb_decoder_fees_bags_fee_share_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_fees_bags_fee_share_v2"; pub(crate) const DC_FEES_BAGS_FEE_SHARE_V2_LEGACY_CRATE: &str = "kb_decoder_fees_bags_fee_share_v2";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_FEES_BAGS_FEE_SHARE_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,6 +1,12 @@
// file: kb-lib/src/decoder/governance.rs // file: kb-lib/src/decoder/governance.rs
// version: 1 // version: 2
//! `governance` decoder family. //! `governance` decoder family.
mod metadao_bid_wall; mod metadao_bid_wall;
/// Pending `governance` decoder migration boundaries.
pub(crate) const DC_GOVERNANCE_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[(
self::metadao_bid_wall::DC_GOVERNANCE_METADAO_BID_WALL_LEGACY_CRATE,
self::metadao_bid_wall::DC_GOVERNANCE_METADAO_BID_WALL_MIGRATION_STATUS,
)];

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/governance/metadao_bid_wall.rs // file: kb-lib/src/decoder/governance/metadao_bid_wall.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_governance_metadao_bid_wall`. //! Migration boundary for legacy crate `kb_decoder_governance_metadao_bid_wall`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_governance_metadao_bid_wall"; pub(crate) const DC_GOVERNANCE_METADAO_BID_WALL_LEGACY_CRATE: &str =
"kb_decoder_governance_metadao_bid_wall";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_GOVERNANCE_METADAO_BID_WALL_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/launchpad.rs // file: kb-lib/src/decoder/launchpad.rs
// version: 1 // version: 2
//! `launchpad` decoder family. //! `launchpad` decoder family.
@@ -12,3 +12,43 @@ mod printr;
mod pump_fun; mod pump_fun;
mod pump_pumpup_ai; mod pump_pumpup_ai;
mod raydium_launchlab; mod raydium_launchlab;
/// Pending `launchpad` decoder migration boundaries.
pub(crate) const DC_LAUNCHPAD_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[
(
self::boop_fun::DC_LAUNCHPAD_BOOP_FUN_LEGACY_CRATE,
self::boop_fun::DC_LAUNCHPAD_BOOP_FUN_MIGRATION_STATUS,
),
(
self::metadao_ico::DC_LAUNCHPAD_METADAO_ICO_LEGACY_CRATE,
self::metadao_ico::DC_LAUNCHPAD_METADAO_ICO_MIGRATION_STATUS,
),
(
self::meteora_dbc::DC_LAUNCHPAD_METEORA_DBC_LEGACY_CRATE,
self::meteora_dbc::DC_LAUNCHPAD_METEORA_DBC_MIGRATION_STATUS,
),
(
self::moonit::DC_LAUNCHPAD_MOONIT_LEGACY_CRATE,
self::moonit::DC_LAUNCHPAD_MOONIT_MIGRATION_STATUS,
),
(
self::orca_wavebreak::DC_LAUNCHPAD_ORCA_WAVEBREAK_LEGACY_CRATE,
self::orca_wavebreak::DC_LAUNCHPAD_ORCA_WAVEBREAK_MIGRATION_STATUS,
),
(
self::printr::DC_LAUNCHPAD_PRINTR_LEGACY_CRATE,
self::printr::DC_LAUNCHPAD_PRINTR_MIGRATION_STATUS,
),
(
self::pump_fun::DC_LAUNCHPAD_PUMP_FUN_LEGACY_CRATE,
self::pump_fun::DC_LAUNCHPAD_PUMP_FUN_MIGRATION_STATUS,
),
(
self::pump_pumpup_ai::DC_LAUNCHPAD_PUMP_PUMPUP_AI_LEGACY_CRATE,
self::pump_pumpup_ai::DC_LAUNCHPAD_PUMP_PUMPUP_AI_MIGRATION_STATUS,
),
(
self::raydium_launchlab::DC_LAUNCHPAD_RAYDIUM_LAUNCHLAB_LEGACY_CRATE,
self::raydium_launchlab::DC_LAUNCHPAD_RAYDIUM_LAUNCHLAB_MIGRATION_STATUS,
),
];

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/launchpad/boop_fun.rs // file: kb-lib/src/decoder/launchpad/boop_fun.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_launchpad_boop_fun`. //! Migration boundary for legacy crate `kb_decoder_launchpad_boop_fun`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_launchpad_boop_fun"; pub(crate) const DC_LAUNCHPAD_BOOP_FUN_LEGACY_CRATE: &str = "kb_decoder_launchpad_boop_fun";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LAUNCHPAD_BOOP_FUN_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/launchpad/metadao_ico.rs // file: kb-lib/src/decoder/launchpad/metadao_ico.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_launchpad_metadao_ico`. //! Migration boundary for legacy crate `kb_decoder_launchpad_metadao_ico`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_launchpad_metadao_ico"; pub(crate) const DC_LAUNCHPAD_METADAO_ICO_LEGACY_CRATE: &str = "kb_decoder_launchpad_metadao_ico";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LAUNCHPAD_METADAO_ICO_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/launchpad/meteora_dbc.rs // file: kb-lib/src/decoder/launchpad/meteora_dbc.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_launchpad_meteora_dbc`. //! Migration boundary for legacy crate `kb_decoder_launchpad_meteora_dbc`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_launchpad_meteora_dbc"; pub(crate) const DC_LAUNCHPAD_METEORA_DBC_LEGACY_CRATE: &str = "kb_decoder_launchpad_meteora_dbc";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LAUNCHPAD_METEORA_DBC_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/launchpad/moonit.rs // file: kb-lib/src/decoder/launchpad/moonit.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_launchpad_moonit`. //! Migration boundary for legacy crate `kb_decoder_launchpad_moonit`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_launchpad_moonit"; pub(crate) const DC_LAUNCHPAD_MOONIT_LEGACY_CRATE: &str = "kb_decoder_launchpad_moonit";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LAUNCHPAD_MOONIT_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/launchpad/orca_wavebreak.rs // file: kb-lib/src/decoder/launchpad/orca_wavebreak.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_launchpad_orca_wavebreak`. //! Migration boundary for legacy crate `kb_decoder_launchpad_orca_wavebreak`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_launchpad_orca_wavebreak"; pub(crate) const DC_LAUNCHPAD_ORCA_WAVEBREAK_LEGACY_CRATE: &str =
"kb_decoder_launchpad_orca_wavebreak";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LAUNCHPAD_ORCA_WAVEBREAK_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/launchpad/printr.rs // file: kb-lib/src/decoder/launchpad/printr.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_launchpad_printr`. //! Migration boundary for legacy crate `kb_decoder_launchpad_printr`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_launchpad_printr"; pub(crate) const DC_LAUNCHPAD_PRINTR_LEGACY_CRATE: &str = "kb_decoder_launchpad_printr";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LAUNCHPAD_PRINTR_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/launchpad/pump_fun.rs // file: kb-lib/src/decoder/launchpad/pump_fun.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_launchpad_pump_fun`. //! Migration boundary for legacy crate `kb_decoder_launchpad_pump_fun`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_launchpad_pump_fun"; pub(crate) const DC_LAUNCHPAD_PUMP_FUN_LEGACY_CRATE: &str = "kb_decoder_launchpad_pump_fun";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LAUNCHPAD_PUMP_FUN_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/launchpad/pump_pumpup_ai.rs // file: kb-lib/src/decoder/launchpad/pump_pumpup_ai.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_launchpad_pump_pumpup_ai`. //! Migration boundary for legacy crate `kb_decoder_launchpad_pump_pumpup_ai`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_launchpad_pump_pumpup_ai"; pub(crate) const DC_LAUNCHPAD_PUMP_PUMPUP_AI_LEGACY_CRATE: &str =
"kb_decoder_launchpad_pump_pumpup_ai";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LAUNCHPAD_PUMP_PUMPUP_AI_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/launchpad/raydium_launchlab.rs // file: kb-lib/src/decoder/launchpad/raydium_launchlab.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_launchpad_raydium_launchlab`. //! Migration boundary for legacy crate `kb_decoder_launchpad_raydium_launchlab`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_launchpad_raydium_launchlab"; pub(crate) const DC_LAUNCHPAD_RAYDIUM_LAUNCHLAB_LEGACY_CRATE: &str =
"kb_decoder_launchpad_raydium_launchlab";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LAUNCHPAD_RAYDIUM_LAUNCHLAB_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/lending.rs // file: kb-lib/src/decoder/lending.rs
// version: 1 // version: 2
//! `lending` decoder family. //! `lending` decoder family.
@@ -10,3 +10,35 @@ mod jupiter_lend_flash_loan;
mod jupiter_lend_liquidity; mod jupiter_lend_liquidity;
mod kamino; mod kamino;
mod marginfi_v2; mod marginfi_v2;
/// Pending `lending` decoder migration boundaries.
pub(crate) const DC_LENDING_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[
(
self::clone::DC_LENDING_CLONE_LEGACY_CRATE,
self::clone::DC_LENDING_CLONE_MIGRATION_STATUS,
),
(
self::jupiter_lend_borrow::DC_LENDING_JUPITER_LEND_BORROW_LEGACY_CRATE,
self::jupiter_lend_borrow::DC_LENDING_JUPITER_LEND_BORROW_MIGRATION_STATUS,
),
(
self::jupiter_lend_earn::DC_LENDING_JUPITER_LEND_EARN_LEGACY_CRATE,
self::jupiter_lend_earn::DC_LENDING_JUPITER_LEND_EARN_MIGRATION_STATUS,
),
(
self::jupiter_lend_flash_loan::DC_LENDING_JUPITER_LEND_FLASH_LOAN_LEGACY_CRATE,
self::jupiter_lend_flash_loan::DC_LENDING_JUPITER_LEND_FLASH_LOAN_MIGRATION_STATUS,
),
(
self::jupiter_lend_liquidity::DC_LENDING_JUPITER_LEND_LIQUIDITY_LEGACY_CRATE,
self::jupiter_lend_liquidity::DC_LENDING_JUPITER_LEND_LIQUIDITY_MIGRATION_STATUS,
),
(
self::kamino::DC_LENDING_KAMINO_LEGACY_CRATE,
self::kamino::DC_LENDING_KAMINO_MIGRATION_STATUS,
),
(
self::marginfi_v2::DC_LENDING_MARGINFI_V2_LEGACY_CRATE,
self::marginfi_v2::DC_LENDING_MARGINFI_V2_MIGRATION_STATUS,
),
];

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/lending/clone.rs // file: kb-lib/src/decoder/lending/clone.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_lending_clone`. //! Migration boundary for legacy crate `kb_decoder_lending_clone`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_lending_clone"; pub(crate) const DC_LENDING_CLONE_LEGACY_CRATE: &str = "kb_decoder_lending_clone";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LENDING_CLONE_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/lending/jupiter_lend_borrow.rs // file: kb-lib/src/decoder/lending/jupiter_lend_borrow.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_lending_jupiter_lend_borrow`. //! Migration boundary for legacy crate `kb_decoder_lending_jupiter_lend_borrow`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_lending_jupiter_lend_borrow"; pub(crate) const DC_LENDING_JUPITER_LEND_BORROW_LEGACY_CRATE: &str =
"kb_decoder_lending_jupiter_lend_borrow";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LENDING_JUPITER_LEND_BORROW_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/lending/jupiter_lend_earn.rs // file: kb-lib/src/decoder/lending/jupiter_lend_earn.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_lending_jupiter_lend_earn`. //! Migration boundary for legacy crate `kb_decoder_lending_jupiter_lend_earn`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_lending_jupiter_lend_earn"; pub(crate) const DC_LENDING_JUPITER_LEND_EARN_LEGACY_CRATE: &str =
"kb_decoder_lending_jupiter_lend_earn";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LENDING_JUPITER_LEND_EARN_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/lending/jupiter_lend_flash_loan.rs // file: kb-lib/src/decoder/lending/jupiter_lend_flash_loan.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_lending_jupiter_lend_flash_loan`. //! Migration boundary for legacy crate `kb_decoder_lending_jupiter_lend_flash_loan`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_lending_jupiter_lend_flash_loan"; pub(crate) const DC_LENDING_JUPITER_LEND_FLASH_LOAN_LEGACY_CRATE: &str =
"kb_decoder_lending_jupiter_lend_flash_loan";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LENDING_JUPITER_LEND_FLASH_LOAN_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/lending/jupiter_lend_liquidity.rs // file: kb-lib/src/decoder/lending/jupiter_lend_liquidity.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_lending_jupiter_lend_liquidity`. //! Migration boundary for legacy crate `kb_decoder_lending_jupiter_lend_liquidity`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_lending_jupiter_lend_liquidity"; pub(crate) const DC_LENDING_JUPITER_LEND_LIQUIDITY_LEGACY_CRATE: &str =
"kb_decoder_lending_jupiter_lend_liquidity";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LENDING_JUPITER_LEND_LIQUIDITY_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/lending/kamino.rs // file: kb-lib/src/decoder/lending/kamino.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_lending_kamino`. //! Migration boundary for legacy crate `kb_decoder_lending_kamino`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_lending_kamino"; pub(crate) const DC_LENDING_KAMINO_LEGACY_CRATE: &str = "kb_decoder_lending_kamino";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LENDING_KAMINO_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/lending/marginfi_v2.rs // file: kb-lib/src/decoder/lending/marginfi_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_lending_marginfi_v2`. //! Migration boundary for legacy crate `kb_decoder_lending_marginfi_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_lending_marginfi_v2"; pub(crate) const DC_LENDING_MARGINFI_V2_LEGACY_CRATE: &str = "kb_decoder_lending_marginfi_v2";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LENDING_MARGINFI_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,6 +1,12 @@
// file: kb-lib/src/decoder/lock.rs // file: kb-lib/src/decoder/lock.rs
// version: 1 // version: 2
//! `lock` decoder family. //! `lock` decoder family.
mod raydium_lp; mod raydium_lp;
/// Pending `lock` decoder migration boundaries.
pub(crate) const DC_LOCK_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[(
self::raydium_lp::DC_LOCK_RAYDIUM_LP_LEGACY_CRATE,
self::raydium_lp::DC_LOCK_RAYDIUM_LP_MIGRATION_STATUS,
)];

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/lock/raydium_lp.rs // file: kb-lib/src/decoder/lock/raydium_lp.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_lock_raydium_lp`. //! Migration boundary for legacy crate `kb_decoder_lock_raydium_lp`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_lock_raydium_lp"; pub(crate) const DC_LOCK_RAYDIUM_LP_LEGACY_CRATE: &str = "kb_decoder_lock_raydium_lp";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_LOCK_RAYDIUM_LP_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,11 +1,17 @@
// file: kb-lib/src/decoder/metadata.rs // file: kb-lib/src/decoder/metadata.rs
// version: 2 // version: 3
//! `metadata` decoder family. //! `metadata` decoder family.
mod metaplex_token_metadata; mod metaplex_token_metadata;
mod spl_name_service; mod spl_name_service;
/// Pending `metadata` decoder migration boundaries.
pub(crate) const DC_METADATA_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[(
self::spl_name_service::DC_METADATA_SPL_NAME_SERVICE_LEGACY_CRATE,
self::spl_name_service::DC_METADATA_SPL_NAME_SERVICE_MIGRATION_STATUS,
)];
/// Approve Collection Authority discriminator. /// Approve Collection Authority discriminator.
pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_APPROVE_COLLECTION_AUTHORITY_DISCRIMINATOR; pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_APPROVE_COLLECTION_AUTHORITY_DISCRIMINATOR;
/// Approve Use Authority discriminator. /// Approve Use Authority discriminator.
@@ -68,7 +74,6 @@ pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_LOCK_DISCRIMINATOR
pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_MAX_BASE64_BYTES; pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_MAX_BASE64_BYTES;
/// Maximum number of instruction accounts accepted by this decoder. /// Maximum number of instruction accounts accepted by this decoder.
pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_MAX_INSTRUCTION_ACCOUNTS; pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_MAX_INSTRUCTION_ACCOUNTS;
/// Tracing target for this decoder.
/// Maximum retained instruction payload size. /// Maximum retained instruction payload size.
pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_MAX_INSTRUCTION_BYTES; pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_MAX_INSTRUCTION_BYTES;
/// Migrate discriminator. /// Migrate discriminator.

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/metadata/metaplex_token_metadata.rs // file: kb-lib/src/decoder/metadata/metaplex_token_metadata.rs
// version: 2 // version: 3
//! Contextual instruction and bounded account decoder for Metaplex Token Metadata. //! Contextual instruction and bounded account decoder for Metaplex Token Metadata.
@@ -71,7 +71,6 @@ pub(crate) use self::constants::DC_METADATA_MTM_LOCK_DISCRIMINATOR;
pub(crate) use self::constants::DC_METADATA_MTM_MAX_BASE64_BYTES; pub(crate) use self::constants::DC_METADATA_MTM_MAX_BASE64_BYTES;
/// Maximum number of instruction accounts accepted by this decoder. /// Maximum number of instruction accounts accepted by this decoder.
pub(crate) use self::constants::DC_METADATA_MTM_MAX_INSTRUCTION_ACCOUNTS; pub(crate) use self::constants::DC_METADATA_MTM_MAX_INSTRUCTION_ACCOUNTS;
/// Tracing target for this decoder.
/// Maximum retained instruction payload size. /// Maximum retained instruction payload size.
pub(crate) use self::constants::DC_METADATA_MTM_MAX_INSTRUCTION_BYTES; pub(crate) use self::constants::DC_METADATA_MTM_MAX_INSTRUCTION_BYTES;
/// Migrate discriminator. /// Migrate discriminator.

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/metadata/spl_name_service.rs // file: kb-lib/src/decoder/metadata/spl_name_service.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_metadata_spl_name_service`. //! Migration boundary for legacy crate `kb_decoder_metadata_spl_name_service`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_metadata_spl_name_service"; pub(crate) const DC_METADATA_SPL_NAME_SERVICE_LEGACY_CRATE: &str =
"kb_decoder_metadata_spl_name_service";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_METADATA_SPL_NAME_SERVICE_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,6 +1,12 @@
// file: kb-lib/src/decoder/nft.rs // file: kb-lib/src/decoder/nft.rs
// version: 1 // version: 2
//! `nft` decoder family. //! `nft` decoder family.
mod metaplex_bubblegum; mod metaplex_bubblegum;
/// Pending `nft` decoder migration boundaries.
pub(crate) const DC_NFT_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[(
self::metaplex_bubblegum::DC_NFT_METAPLEX_BUBBLEGUM_LEGACY_CRATE,
self::metaplex_bubblegum::DC_NFT_METAPLEX_BUBBLEGUM_MIGRATION_STATUS,
)];

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/nft/metaplex_bubblegum.rs // file: kb-lib/src/decoder/nft/metaplex_bubblegum.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_nft_metaplex_bubblegum`. //! Migration boundary for legacy crate `kb_decoder_nft_metaplex_bubblegum`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_nft_metaplex_bubblegum"; pub(crate) const DC_NFT_METAPLEX_BUBBLEGUM_LEGACY_CRATE: &str = "kb_decoder_nft_metaplex_bubblegum";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_NFT_METAPLEX_BUBBLEGUM_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,8 +1,24 @@
// file: kb-lib/src/decoder/orderbook.rs // file: kb-lib/src/decoder/orderbook.rs
// version: 1 // version: 2
//! `orderbook` decoder family. //! `orderbook` decoder family.
mod jupiter_limit_order; mod jupiter_limit_order;
mod jupiter_limit_order_v2; mod jupiter_limit_order_v2;
mod openbook_v2; mod openbook_v2;
/// Pending `orderbook` decoder migration boundaries.
pub(crate) const DC_ORDERBOOK_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[
(
self::jupiter_limit_order::DC_ORDERBOOK_JUPITER_LIMIT_ORDER_LEGACY_CRATE,
self::jupiter_limit_order::DC_ORDERBOOK_JUPITER_LIMIT_ORDER_MIGRATION_STATUS,
),
(
self::jupiter_limit_order_v2::DC_ORDERBOOK_JUPITER_LIMIT_ORDER_V2_LEGACY_CRATE,
self::jupiter_limit_order_v2::DC_ORDERBOOK_JUPITER_LIMIT_ORDER_V2_MIGRATION_STATUS,
),
(
self::openbook_v2::DC_ORDERBOOK_OPENBOOK_V2_LEGACY_CRATE,
self::openbook_v2::DC_ORDERBOOK_OPENBOOK_V2_MIGRATION_STATUS,
),
];

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/orderbook/jupiter_limit_order.rs // file: kb-lib/src/decoder/orderbook/jupiter_limit_order.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_orderbook_jupiter_limit_order`. //! Migration boundary for legacy crate `kb_decoder_orderbook_jupiter_limit_order`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_orderbook_jupiter_limit_order"; pub(crate) const DC_ORDERBOOK_JUPITER_LIMIT_ORDER_LEGACY_CRATE: &str =
"kb_decoder_orderbook_jupiter_limit_order";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_ORDERBOOK_JUPITER_LIMIT_ORDER_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/orderbook/jupiter_limit_order_v2.rs // file: kb-lib/src/decoder/orderbook/jupiter_limit_order_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_orderbook_jupiter_limit_order_v2`. //! Migration boundary for legacy crate `kb_decoder_orderbook_jupiter_limit_order_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_orderbook_jupiter_limit_order_v2"; pub(crate) const DC_ORDERBOOK_JUPITER_LIMIT_ORDER_V2_LEGACY_CRATE: &str =
"kb_decoder_orderbook_jupiter_limit_order_v2";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_ORDERBOOK_JUPITER_LIMIT_ORDER_V2_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/orderbook/openbook_v2.rs // file: kb-lib/src/decoder/orderbook/openbook_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_orderbook_openbook_v2`. //! Migration boundary for legacy crate `kb_decoder_orderbook_openbook_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_orderbook_openbook_v2"; pub(crate) const DC_ORDERBOOK_OPENBOOK_V2_LEGACY_CRATE: &str = "kb_decoder_orderbook_openbook_v2";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_ORDERBOOK_OPENBOOK_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,8 +1,24 @@
// file: kb-lib/src/decoder/perpetuals.rs // file: kb-lib/src/decoder/perpetuals.rs
// version: 1 // version: 2
//! `perpetuals` decoder family. //! `perpetuals` decoder family.
mod drift_v2; mod drift_v2;
mod jupiter; mod jupiter;
mod zeta; mod zeta;
/// Pending `perpetuals` decoder migration boundaries.
pub(crate) const DC_PERPETUALS_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[
(
self::drift_v2::DC_PERPETUALS_DRIFT_V2_LEGACY_CRATE,
self::drift_v2::DC_PERPETUALS_DRIFT_V2_MIGRATION_STATUS,
),
(
self::jupiter::DC_PERPETUALS_JUPITER_LEGACY_CRATE,
self::jupiter::DC_PERPETUALS_JUPITER_MIGRATION_STATUS,
),
(
self::zeta::DC_PERPETUALS_ZETA_LEGACY_CRATE,
self::zeta::DC_PERPETUALS_ZETA_MIGRATION_STATUS,
),
];

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/perpetuals/drift_v2.rs // file: kb-lib/src/decoder/perpetuals/drift_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_perpetuals_drift_v2`. //! Migration boundary for legacy crate `kb_decoder_perpetuals_drift_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_perpetuals_drift_v2"; pub(crate) const DC_PERPETUALS_DRIFT_V2_LEGACY_CRATE: &str = "kb_decoder_perpetuals_drift_v2";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_PERPETUALS_DRIFT_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/perpetuals/jupiter.rs // file: kb-lib/src/decoder/perpetuals/jupiter.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_perpetuals_jupiter`. //! Migration boundary for legacy crate `kb_decoder_perpetuals_jupiter`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_perpetuals_jupiter"; pub(crate) const DC_PERPETUALS_JUPITER_LEGACY_CRATE: &str = "kb_decoder_perpetuals_jupiter";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_PERPETUALS_JUPITER_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,10 +1,10 @@
// file: kb-lib/src/decoder/perpetuals/zeta.rs // file: kb-lib/src/decoder/perpetuals/zeta.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_perpetuals_zeta`. //! Migration boundary for legacy crate `kb_decoder_perpetuals_zeta`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_perpetuals_zeta"; pub(crate) const DC_PERPETUALS_ZETA_LEGACY_CRATE: &str = "kb_decoder_perpetuals_zeta";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_PERPETUALS_ZETA_MIGRATION_STATUS: &str = "source-preserved-pending-port";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/router.rs // file: kb-lib/src/decoder/router.rs
// version: 1 // version: 2
//! `router` decoder family. //! `router` decoder family.
@@ -9,3 +9,31 @@ mod jupiter_aggregator_v6;
mod jupiter_dca; mod jupiter_dca;
mod okx_labs_v1; mod okx_labs_v1;
mod okx_labs_v2; mod okx_labs_v2;
/// Pending `router` decoder migration boundaries.
pub(crate) const DC_ROUTER_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[
(
self::dflow_aggregator_v4::DC_ROUTER_DFLOW_AGGREGATOR_V4_LEGACY_CRATE,
self::dflow_aggregator_v4::DC_ROUTER_DFLOW_AGGREGATOR_V4_MIGRATION_STATUS,
),
(
self::jupiter_aggregator_v4::DC_ROUTER_JUPITER_AGGREGATOR_V4_LEGACY_CRATE,
self::jupiter_aggregator_v4::DC_ROUTER_JUPITER_AGGREGATOR_V4_MIGRATION_STATUS,
),
(
self::jupiter_aggregator_v6::DC_ROUTER_JUPITER_AGGREGATOR_V6_LEGACY_CRATE,
self::jupiter_aggregator_v6::DC_ROUTER_JUPITER_AGGREGATOR_V6_MIGRATION_STATUS,
),
(
self::jupiter_dca::DC_ROUTER_JUPITER_DCA_LEGACY_CRATE,
self::jupiter_dca::DC_ROUTER_JUPITER_DCA_MIGRATION_STATUS,
),
(
self::okx_labs_v1::DC_ROUTER_OKX_LABS_V1_LEGACY_CRATE,
self::okx_labs_v1::DC_ROUTER_OKX_LABS_V1_MIGRATION_STATUS,
),
(
self::okx_labs_v2::DC_ROUTER_OKX_LABS_V2_LEGACY_CRATE,
self::okx_labs_v2::DC_ROUTER_OKX_LABS_V2_MIGRATION_STATUS,
),
];

View File

@@ -1,10 +1,12 @@
// file: kb-lib/src/decoder/router/dflow_aggregator_v4.rs // file: kb-lib/src/decoder/router/dflow_aggregator_v4.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_decoder_router_dflow_aggregator_v4`. //! Migration boundary for legacy crate `kb_decoder_router_dflow_aggregator_v4`.
/// Legacy crate name retained for migration and compatibility tracking. /// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_decoder_router_dflow_aggregator_v4"; pub(crate) const DC_ROUTER_DFLOW_AGGREGATOR_V4_LEGACY_CRATE: &str =
"kb_decoder_router_dflow_aggregator_v4";
/// Current porting status. /// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; pub(crate) const DC_ROUTER_DFLOW_AGGREGATOR_V4_MIGRATION_STATUS: &str =
"source-preserved-pending-port";

Some files were not shown because too many files have changed in this diff Show More