diff --git a/ROADMAP.md b/ROADMAP.md index 56e5610..13aa404 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,5 +1,5 @@ - + # 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] 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] 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 Token‑2022/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] Poursuivre avec le décodeur Metaplex Token Metadata après validation. @@ -137,5 +137,8 @@ - [x] Étendre l’audit 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] 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 l’audit 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 d’inté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. diff --git a/RULES.md b/RULES.md index 91450e0..570f01d 100644 --- a/RULES.md +++ b/RULES.md @@ -1,5 +1,5 @@ - + # 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. - 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 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 s’appliquent aux constantes, types, traits et fonctions libres exposés à la crate ou hors de la crate. ## 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 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`. ## Index court de programme diff --git a/RUST_RULES.md b/RUST_RULES.md index c1262df..fc19698 100644 --- a/RUST_RULES.md +++ b/RUST_RULES.md @@ -1,5 +1,5 @@ - + # 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. - 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 d’entré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. +- Un réexport d’un 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 -- 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 d’entré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(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. diff --git a/docs/CORE_PROGRAM_IDS.md b/docs/CORE_PROGRAM_IDS.md index 14798f3..62a2a20 100644 --- a/docs/CORE_PROGRAM_IDS.md +++ b/docs/CORE_PROGRAM_IDS.md @@ -1,5 +1,5 @@ - + # 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_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_token_2022_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_v2022` | `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb` | `token2022` | `program` | `kb_decoder_spl_token_2022` | `core_handled` | +| `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` | diff --git a/docs/PROGRAM_REGISTRY_CONTROL.md b/docs/PROGRAM_REGISTRY_CONTROL.md index 8dfb277..77bfad4 100644 --- a/docs/PROGRAM_REGISTRY_CONTROL.md +++ b/docs/PROGRAM_REGISTRY_CONTROL.md @@ -1,5 +1,5 @@ - + # 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_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_token_2022_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_v2022` | `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb` | `token2022` | `program` | `kb_decoder_spl_token_2022` | `core_handled` | +| `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` | diff --git a/docs/RUST_WORKSPACE_RULE_AUDIT.md b/docs/RUST_WORKSPACE_RULE_AUDIT.md index 8be870f..ffcb7a4 100644 --- a/docs/RUST_WORKSPACE_RULE_AUDIT.md +++ b/docs/RUST_WORKSPACE_RULE_AUDIT.md @@ -1,236 +1,85 @@ - + # Audit des règles Rust du workspace -Violations détectées : **616**. +L’entrée unique est : -## Synthèse +```bash +python3 scripts/audit_rust_workspace_rules.py +``` -| Code | Nombre | -|------------|-------:| -| `RUST010` | 156 | -| `RUST011` | 16 | -| `RUST013` | 19 | -| `RUST021` | 1 | -| `TRACE002` | 32 | -| `TRACE003` | 202 | -| `TRACE004` | 190 | +Elle exécute trois contrôles obligatoires : -## 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 -- `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` +## Façades et réexports -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 d’un 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 : +L’audit de complétude suit les réexports transitifs à travers les façades privées. Il vérifie +donc qu’un 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 l’API publique. -1. `pre.035-delta-fix-002` : séparation des règles et audit automatisé reproductible ; -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 ; -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 ; -6. fermeture : `cargo fmt --all`, audit strict, tests workspace et Clippy global. +## Nomenclature de `kb-lib` + +| Famille | Constante | Type ou trait | Fonction libre | +|---|---|---|---| +| Décodeur | `DC_` | `Dc` | `decoder_` | +| 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___LEGACY_CRATE` et +`DC___MIGRATION_STATUS`. Elles sont référencées par un inventaire interne +pour que `cargo check` ne produise pas d’avertissements 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 + +L’audit strict exige le `Cargo.lock` versionné de l’application 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 l’audit strict comme propre tant que le lock réel n’a pas été utilisé. + +La fermeture d’une 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. diff --git a/docs/SURFACE_CRATE_MATRIX.md b/docs/SURFACE_CRATE_MATRIX.md index eb20c49..a6cadd2 100644 --- a/docs/SURFACE_CRATE_MATRIX.md +++ b/docs/SURFACE_CRATE_MATRIX.md @@ -1,5 +1,5 @@ - + # 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_stake_pool` | `kb_decoder_spl_stake_pool` | `kb_executor_spl_stake_pool` | | `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 diff --git a/docs/TRACING_CONTRACT.md b/docs/TRACING_CONTRACT.md index 006643a..c5c6962 100644 --- a/docs/TRACING_CONTRACT.md +++ b/docs/TRACING_CONTRACT.md @@ -1,5 +1,5 @@ - + # 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` ; - 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..`. 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..`. 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 : @@ -74,7 +74,7 @@ kb-logging kb-store ``` -L’audit `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. +L’audit `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 d’admission 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 @@ L’ajout ou la suppression de `tracing.workspace = true` impose dans le même d 4. la mise à jour des tests de contrat ; 5. la mise à jour de la liste ci-dessus. -Pour un composant de `kb-lib`, les mêmes obligations s’appliquent 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 s’appliquent au target hiérarchique, à son nom préfixé de façade et à ses routes dédiées. diff --git a/kb-lib/README.md b/kb-lib/README.md index 57b1064..e026e79 100644 --- a/kb-lib/README.md +++ b/kb-lib/README.md @@ -1,5 +1,5 @@ - + # 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 `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 d’un programme externe pointé. La matrice normative -est `docs/SPL_TOKEN_2022_MATRIX.json`. +est `docs/SPL_TOKEN2022_MATRIX.json`. ## Décodeur du registre ElGamal @@ -102,7 +102,7 @@ politique d’exécution définitivement interdite. La matrice normative est - `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 ; -- `materialize_token2022_admin_state_snapshots()` et `materialize_elgamal_registry_state_snapshot()` : projections stateful d’administration déjà exposées ; +- `materializer_admin_materialize_token2022_state_snapshots()` et `materializer_admin_materialize_elgamal_registry_state_snapshot()` : projections stateful d’administration déjà exposées ; - `DcSolanaCoreDecoder` : décodeur concret natif ; - `DcSplMemoDecoder` : décodeur exact des trois générations SPL Memo ; - `DcSplTokenDecoder` : décodeur exact du programme SPL Token classique ; diff --git a/kb-lib/src/decoder.rs b/kb-lib/src/decoder.rs index cede0e6..bb4c730 100644 --- a/kb-lib/src/decoder.rs +++ b/kb-lib/src/decoder.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/decoder.rs -// version: 6 +// version: 7 //! Consolidated decoder modules. @@ -33,6 +33,38 @@ mod vesting; mod wallet; 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. pub(crate) use self::metadata::DC_METADATA_MTM_APPROVE_COLLECTION_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; /// Maximum number of instruction accounts accepted by this decoder. pub(crate) use self::metadata::DC_METADATA_MTM_MAX_INSTRUCTION_ACCOUNTS; -/// Tracing target for this decoder. /// Maximum retained instruction payload size. pub(crate) use self::metadata::DC_METADATA_MTM_MAX_INSTRUCTION_BYTES; /// Migrate discriminator. diff --git a/kb-lib/src/decoder/adapter.rs b/kb-lib/src/decoder/adapter.rs index f6d1336..8cc6938 100644 --- a/kb-lib/src/decoder/adapter.rs +++ b/kb-lib/src/decoder/adapter.rs @@ -1,6 +1,12 @@ // file: kb-lib/src/decoder/adapter.rs -// version: 1 +// version: 2 //! `adapter` decoder family. 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, +)]; diff --git a/kb-lib/src/decoder/adapter/saber_decimal_wrapper.rs b/kb-lib/src/decoder/adapter/saber_decimal_wrapper.rs index 348f001..ef2e6bb 100644 --- a/kb-lib/src/decoder/adapter/saber_decimal_wrapper.rs +++ b/kb-lib/src/decoder/adapter/saber_decimal_wrapper.rs @@ -1,10 +1,12 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_ADAPTER_SABER_DECIMAL_WRAPPER_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/admin.rs b/kb-lib/src/decoder/admin.rs index 671be3c..c584de8 100644 --- a/kb-lib/src/decoder/admin.rs +++ b/kb-lib/src/decoder/admin.rs @@ -1,7 +1,19 @@ // file: kb-lib/src/decoder/admin.rs -// version: 1 +// version: 2 //! `admin` decoder family. mod jupiter_lock; 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, + ), +]; diff --git a/kb-lib/src/decoder/admin/jupiter_lock.rs b/kb-lib/src/decoder/admin/jupiter_lock.rs index 1364b72..ae4db4c 100644 --- a/kb-lib/src/decoder/admin/jupiter_lock.rs +++ b/kb-lib/src/decoder/admin/jupiter_lock.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/admin/jupiter_lock.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_admin_jupiter_lock`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_ADMIN_JUPITER_LOCK_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/admin/pump_fees.rs b/kb-lib/src/decoder/admin/pump_fees.rs index c94c4cb..eb6adff 100644 --- a/kb-lib/src/decoder/admin/pump_fees.rs +++ b/kb-lib/src/decoder/admin/pump_fees.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/admin/pump_fees.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_admin_pump_fees`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_ADMIN_PUMP_FEES_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm.rs b/kb-lib/src/decoder/amm.rs index 9560350..ee64beb 100644 --- a/kb-lib/src/decoder/amm.rs +++ b/kb-lib/src/decoder/amm.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/decoder/amm.rs -// version: 1 +// version: 2 //! `amm` decoder family. @@ -29,3 +29,108 @@ mod virtuals; mod woofi; mod zero_fi; 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), +]; diff --git a/kb-lib/src/decoder/amm/aldrin_v1.rs b/kb-lib/src/decoder/amm/aldrin_v1.rs index c59f5da..84727a5 100644 --- a/kb-lib/src/decoder/amm/aldrin_v1.rs +++ b/kb-lib/src/decoder/amm/aldrin_v1.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/aldrin_v1.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_aldrin_v1`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_ALDRIN_V1_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/aldrin_v2.rs b/kb-lib/src/decoder/amm/aldrin_v2.rs index c9f848b..c82616f 100644 --- a/kb-lib/src/decoder/amm/aldrin_v2.rs +++ b/kb-lib/src/decoder/amm/aldrin_v2.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/aldrin_v2.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_aldrin_v2`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_ALDRIN_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/alphaq.rs b/kb-lib/src/decoder/amm/alphaq.rs index 6dda808..3ebf929 100644 --- a/kb-lib/src/decoder/amm/alphaq.rs +++ b/kb-lib/src/decoder/amm/alphaq.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/alphaq.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_alphaq`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_ALPHAQ_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/believe.rs b/kb-lib/src/decoder/amm/believe.rs index 9681f27..52cdf50 100644 --- a/kb-lib/src/decoder/amm/believe.rs +++ b/kb-lib/src/decoder/amm/believe.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/believe.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_believe`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_BELIEVE_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/bonk_swap.rs b/kb-lib/src/decoder/amm/bonk_swap.rs index 2411554..7d7bb76 100644 --- a/kb-lib/src/decoder/amm/bonk_swap.rs +++ b/kb-lib/src/decoder/amm/bonk_swap.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/bonk_swap.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_bonk_swap`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_BONK_SWAP_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/fluxbeam.rs b/kb-lib/src/decoder/amm/fluxbeam.rs index 14bd937..28a6bfb 100644 --- a/kb-lib/src/decoder/amm/fluxbeam.rs +++ b/kb-lib/src/decoder/amm/fluxbeam.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/fluxbeam.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_fluxbeam`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_FLUXBEAM_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/goon_fi.rs b/kb-lib/src/decoder/amm/goon_fi.rs index c1b3d05..4a4e5bc 100644 --- a/kb-lib/src/decoder/amm/goon_fi.rs +++ b/kb-lib/src/decoder/amm/goon_fi.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/goon_fi.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_goon_fi`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_GOON_FI_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/goosefx_gamma.rs b/kb-lib/src/decoder/amm/goosefx_gamma.rs index a6d4dc0..319639d 100644 --- a/kb-lib/src/decoder/amm/goosefx_gamma.rs +++ b/kb-lib/src/decoder/amm/goosefx_gamma.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/goosefx_gamma.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_goosefx_gamma`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_GOOSEFX_GAMMA_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/goosefx_v2.rs b/kb-lib/src/decoder/amm/goosefx_v2.rs index 436909b..361c9ee 100644 --- a/kb-lib/src/decoder/amm/goosefx_v2.rs +++ b/kb-lib/src/decoder/amm/goosefx_v2.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/goosefx_v2.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_goosefx_v2`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_GOOSEFX_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/guac_swap.rs b/kb-lib/src/decoder/amm/guac_swap.rs index f5766ea..4b2c914 100644 --- a/kb-lib/src/decoder/amm/guac_swap.rs +++ b/kb-lib/src/decoder/amm/guac_swap.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/guac_swap.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_guac_swap`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_GUAC_SWAP_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/lifinity_swap_v2.rs b/kb-lib/src/decoder/amm/lifinity_swap_v2.rs index 229c16c..a1659ee 100644 --- a/kb-lib/src/decoder/amm/lifinity_swap_v2.rs +++ b/kb-lib/src/decoder/amm/lifinity_swap_v2.rs @@ -1,10 +1,10 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_LIFINITY_SWAP_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/metadao_futarchy_amm.rs b/kb-lib/src/decoder/amm/metadao_futarchy_amm.rs index ae60d50..d506acb 100644 --- a/kb-lib/src/decoder/amm/metadao_futarchy_amm.rs +++ b/kb-lib/src/decoder/amm/metadao_futarchy_amm.rs @@ -1,10 +1,12 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_METADAO_FUTARCHY_AMM_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/metadao_v0_5.rs b/kb-lib/src/decoder/amm/metadao_v0_5.rs index d45301b..5a664cf 100644 --- a/kb-lib/src/decoder/amm/metadao_v0_5.rs +++ b/kb-lib/src/decoder/amm/metadao_v0_5.rs @@ -1,10 +1,10 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_METADAO_V0_5_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/meteora_damm_v1.rs b/kb-lib/src/decoder/amm/meteora_damm_v1.rs index ed3e442..d292aab 100644 --- a/kb-lib/src/decoder/amm/meteora_damm_v1.rs +++ b/kb-lib/src/decoder/amm/meteora_damm_v1.rs @@ -1,10 +1,10 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_METEORA_DAMM_V1_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/meteora_damm_v2.rs b/kb-lib/src/decoder/amm/meteora_damm_v2.rs index e2f5a78..b3cb19d 100644 --- a/kb-lib/src/decoder/amm/meteora_damm_v2.rs +++ b/kb-lib/src/decoder/amm/meteora_damm_v2.rs @@ -1,10 +1,10 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_METEORA_DAMM_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/obric_v2.rs b/kb-lib/src/decoder/amm/obric_v2.rs index 1019ce1..52d7607 100644 --- a/kb-lib/src/decoder/amm/obric_v2.rs +++ b/kb-lib/src/decoder/amm/obric_v2.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/obric_v2.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_obric_v2`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_OBRIC_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/one_dex.rs b/kb-lib/src/decoder/amm/one_dex.rs index 3d3033d..61f7623 100644 --- a/kb-lib/src/decoder/amm/one_dex.rs +++ b/kb-lib/src/decoder/amm/one_dex.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/one_dex.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_one_dex`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_ONE_DEX_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/pump_swap.rs b/kb-lib/src/decoder/amm/pump_swap.rs index 79a7c8c..1aeee2e 100644 --- a/kb-lib/src/decoder/amm/pump_swap.rs +++ b/kb-lib/src/decoder/amm/pump_swap.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/pump_swap.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_pump_swap`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_PUMP_SWAP_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/raydium_lp_v4.rs b/kb-lib/src/decoder/amm/raydium_lp_v4.rs index 7d7157f..6199d05 100644 --- a/kb-lib/src/decoder/amm/raydium_lp_v4.rs +++ b/kb-lib/src/decoder/amm/raydium_lp_v4.rs @@ -1,10 +1,10 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_RAYDIUM_LP_V4_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/solfi.rs b/kb-lib/src/decoder/amm/solfi.rs index 4a5803b..01bf45a 100644 --- a/kb-lib/src/decoder/amm/solfi.rs +++ b/kb-lib/src/decoder/amm/solfi.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/solfi.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_solfi`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_SOLFI_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/solfi_v2.rs b/kb-lib/src/decoder/amm/solfi_v2.rs index 8469ecf..bf1281f 100644 --- a/kb-lib/src/decoder/amm/solfi_v2.rs +++ b/kb-lib/src/decoder/amm/solfi_v2.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/solfi_v2.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_solfi_v2`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_SOLFI_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/vertigo.rs b/kb-lib/src/decoder/amm/vertigo.rs index 03573d3..bbcf135 100644 --- a/kb-lib/src/decoder/amm/vertigo.rs +++ b/kb-lib/src/decoder/amm/vertigo.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/vertigo.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_vertigo`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_VERTIGO_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/virtuals.rs b/kb-lib/src/decoder/amm/virtuals.rs index c4085fa..ad96fb6 100644 --- a/kb-lib/src/decoder/amm/virtuals.rs +++ b/kb-lib/src/decoder/amm/virtuals.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/virtuals.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_virtuals`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_VIRTUALS_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/woofi.rs b/kb-lib/src/decoder/amm/woofi.rs index 26f7cd3..9ec9367 100644 --- a/kb-lib/src/decoder/amm/woofi.rs +++ b/kb-lib/src/decoder/amm/woofi.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/woofi.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_woofi`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_WOOFI_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/zero_fi.rs b/kb-lib/src/decoder/amm/zero_fi.rs index 89dcde4..0b5ccc8 100644 --- a/kb-lib/src/decoder/amm/zero_fi.rs +++ b/kb-lib/src/decoder/amm/zero_fi.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/zero_fi.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_zero_fi`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_ZERO_FI_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/amm/zora.rs b/kb-lib/src/decoder/amm/zora.rs index c70003e..75f9b66 100644 --- a/kb-lib/src/decoder/amm/zora.rs +++ b/kb-lib/src/decoder/amm/zora.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/amm/zora.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_amm_zora`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_AMM_ZORA_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/anchor.rs b/kb-lib/src/decoder/anchor.rs index 2a52d7a..d0113e9 100644 --- a/kb-lib/src/decoder/anchor.rs +++ b/kb-lib/src/decoder/anchor.rs @@ -1,6 +1,12 @@ // file: kb-lib/src/decoder/anchor.rs -// version: 1 +// version: 2 //! `anchor` decoder family. 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, +)]; diff --git a/kb-lib/src/decoder/anchor/core.rs b/kb-lib/src/decoder/anchor/core.rs index 5f8aced..a8726cc 100644 --- a/kb-lib/src/decoder/anchor/core.rs +++ b/kb-lib/src/decoder/anchor/core.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/anchor/core.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_anchor`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_ANCHOR_CORE_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/bridge.rs b/kb-lib/src/decoder/bridge.rs index 1d688ec..277d3f3 100644 --- a/kb-lib/src/decoder/bridge.rs +++ b/kb-lib/src/decoder/bridge.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/decoder/bridge.rs -// version: 1 +// version: 2 //! `bridge` decoder family. @@ -7,3 +7,23 @@ mod circle_cctp_token_messenger_minter; mod circle_cctp_token_messenger_minter_v2; mod layer_zero_endpoint; 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, + ), +]; diff --git a/kb-lib/src/decoder/bridge/circle_cctp_token_messenger_minter.rs b/kb-lib/src/decoder/bridge/circle_cctp_token_messenger_minter.rs index 6ac6abd..29f34c6 100644 --- a/kb-lib/src/decoder/bridge/circle_cctp_token_messenger_minter.rs +++ b/kb-lib/src/decoder/bridge/circle_cctp_token_messenger_minter.rs @@ -1,10 +1,12 @@ // 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`. /// 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. -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"; diff --git a/kb-lib/src/decoder/bridge/circle_cctp_token_messenger_minter_v2.rs b/kb-lib/src/decoder/bridge/circle_cctp_token_messenger_minter_v2.rs index 97ca630..d1af2a8 100644 --- a/kb-lib/src/decoder/bridge/circle_cctp_token_messenger_minter_v2.rs +++ b/kb-lib/src/decoder/bridge/circle_cctp_token_messenger_minter_v2.rs @@ -1,10 +1,12 @@ // 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`. /// 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. -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"; diff --git a/kb-lib/src/decoder/bridge/layer_zero_endpoint.rs b/kb-lib/src/decoder/bridge/layer_zero_endpoint.rs index 1a2815b..f13f526 100644 --- a/kb-lib/src/decoder/bridge/layer_zero_endpoint.rs +++ b/kb-lib/src/decoder/bridge/layer_zero_endpoint.rs @@ -1,10 +1,12 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_BRIDGE_LAYER_ZERO_ENDPOINT_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/bridge/layer_zero_executor.rs b/kb-lib/src/decoder/bridge/layer_zero_executor.rs index 59c5f19..f785a8a 100644 --- a/kb-lib/src/decoder/bridge/layer_zero_executor.rs +++ b/kb-lib/src/decoder/bridge/layer_zero_executor.rs @@ -1,10 +1,12 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_BRIDGE_LAYER_ZERO_EXECUTOR_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/clmm.rs b/kb-lib/src/decoder/clmm.rs index 3052e29..ac6c3ea 100644 --- a/kb-lib/src/decoder/clmm.rs +++ b/kb-lib/src/decoder/clmm.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/decoder/clmm.rs -// version: 1 +// version: 2 //! `clmm` decoder family. @@ -9,3 +9,31 @@ mod orca_whirlpool; mod pancake_swap; mod raydium; 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, + ), +]; diff --git a/kb-lib/src/decoder/clmm/byreal.rs b/kb-lib/src/decoder/clmm/byreal.rs index efddb16..b251125 100644 --- a/kb-lib/src/decoder/clmm/byreal.rs +++ b/kb-lib/src/decoder/clmm/byreal.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/clmm/byreal.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_clmm_byreal`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_CLMM_BYREAL_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/clmm/fusion.rs b/kb-lib/src/decoder/clmm/fusion.rs index 462ed4d..2ce9b6d 100644 --- a/kb-lib/src/decoder/clmm/fusion.rs +++ b/kb-lib/src/decoder/clmm/fusion.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/clmm/fusion.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_clmm_fusion`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_CLMM_FUSION_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/clmm/orca_whirlpool.rs b/kb-lib/src/decoder/clmm/orca_whirlpool.rs index f883d91..ae44a8e 100644 --- a/kb-lib/src/decoder/clmm/orca_whirlpool.rs +++ b/kb-lib/src/decoder/clmm/orca_whirlpool.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/clmm/orca_whirlpool.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_clmm_orca_whirlpool`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_CLMM_ORCA_WHIRLPOOL_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/clmm/pancake_swap.rs b/kb-lib/src/decoder/clmm/pancake_swap.rs index e5b6747..db59e43 100644 --- a/kb-lib/src/decoder/clmm/pancake_swap.rs +++ b/kb-lib/src/decoder/clmm/pancake_swap.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/clmm/pancake_swap.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_clmm_pancake_swap`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_CLMM_PANCAKE_SWAP_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/clmm/raydium.rs b/kb-lib/src/decoder/clmm/raydium.rs index d430148..11ceb07 100644 --- a/kb-lib/src/decoder/clmm/raydium.rs +++ b/kb-lib/src/decoder/clmm/raydium.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/clmm/raydium.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_clmm_raydium`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_CLMM_RAYDIUM_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/clmm/stabble.rs b/kb-lib/src/decoder/clmm/stabble.rs index 35aaef1..934ec09 100644 --- a/kb-lib/src/decoder/clmm/stabble.rs +++ b/kb-lib/src/decoder/clmm/stabble.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/clmm/stabble.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_clmm_stabble`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_CLMM_STABBLE_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/cpmm.rs b/kb-lib/src/decoder/cpmm.rs index 3895c9e..33e0882 100644 --- a/kb-lib/src/decoder/cpmm.rs +++ b/kb-lib/src/decoder/cpmm.rs @@ -1,6 +1,12 @@ // file: kb-lib/src/decoder/cpmm.rs -// version: 1 +// version: 2 //! `cpmm` decoder family. 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, +)]; diff --git a/kb-lib/src/decoder/cpmm/raydium.rs b/kb-lib/src/decoder/cpmm/raydium.rs index fe83f3c..fcc9b3a 100644 --- a/kb-lib/src/decoder/cpmm/raydium.rs +++ b/kb-lib/src/decoder/cpmm/raydium.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/cpmm/raydium.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_cpmm_raydium`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_CPMM_RAYDIUM_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/dlmm.rs b/kb-lib/src/decoder/dlmm.rs index b878ca3..ce377bc 100644 --- a/kb-lib/src/decoder/dlmm.rs +++ b/kb-lib/src/decoder/dlmm.rs @@ -1,6 +1,12 @@ // file: kb-lib/src/decoder/dlmm.rs -// version: 1 +// version: 2 //! `dlmm` decoder family. 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, +)]; diff --git a/kb-lib/src/decoder/dlmm/meteora.rs b/kb-lib/src/decoder/dlmm/meteora.rs index 73a2b50..7a734f5 100644 --- a/kb-lib/src/decoder/dlmm/meteora.rs +++ b/kb-lib/src/decoder/dlmm/meteora.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/dlmm/meteora.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_dlmm_meteora`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_DLMM_METEORA_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/fees.rs b/kb-lib/src/decoder/fees.rs index e99509e..c5c89f0 100644 --- a/kb-lib/src/decoder/fees.rs +++ b/kb-lib/src/decoder/fees.rs @@ -1,7 +1,19 @@ // file: kb-lib/src/decoder/fees.rs -// version: 1 +// version: 2 //! `fees` decoder family. mod bags_fee_share_v1; 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, + ), +]; diff --git a/kb-lib/src/decoder/fees/bags_fee_share_v1.rs b/kb-lib/src/decoder/fees/bags_fee_share_v1.rs index 8f1ab4f..a9be436 100644 --- a/kb-lib/src/decoder/fees/bags_fee_share_v1.rs +++ b/kb-lib/src/decoder/fees/bags_fee_share_v1.rs @@ -1,10 +1,10 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_FEES_BAGS_FEE_SHARE_V1_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/fees/bags_fee_share_v2.rs b/kb-lib/src/decoder/fees/bags_fee_share_v2.rs index a669c83..b8d1c9c 100644 --- a/kb-lib/src/decoder/fees/bags_fee_share_v2.rs +++ b/kb-lib/src/decoder/fees/bags_fee_share_v2.rs @@ -1,10 +1,10 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_FEES_BAGS_FEE_SHARE_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/governance.rs b/kb-lib/src/decoder/governance.rs index d0a2e40..e138a5d 100644 --- a/kb-lib/src/decoder/governance.rs +++ b/kb-lib/src/decoder/governance.rs @@ -1,6 +1,12 @@ // file: kb-lib/src/decoder/governance.rs -// version: 1 +// version: 2 //! `governance` decoder family. 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, +)]; diff --git a/kb-lib/src/decoder/governance/metadao_bid_wall.rs b/kb-lib/src/decoder/governance/metadao_bid_wall.rs index c9ea897..ac75364 100644 --- a/kb-lib/src/decoder/governance/metadao_bid_wall.rs +++ b/kb-lib/src/decoder/governance/metadao_bid_wall.rs @@ -1,10 +1,12 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_GOVERNANCE_METADAO_BID_WALL_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/launchpad.rs b/kb-lib/src/decoder/launchpad.rs index 0c30872..717882f 100644 --- a/kb-lib/src/decoder/launchpad.rs +++ b/kb-lib/src/decoder/launchpad.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/decoder/launchpad.rs -// version: 1 +// version: 2 //! `launchpad` decoder family. @@ -12,3 +12,43 @@ mod printr; mod pump_fun; mod pump_pumpup_ai; 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, + ), +]; diff --git a/kb-lib/src/decoder/launchpad/boop_fun.rs b/kb-lib/src/decoder/launchpad/boop_fun.rs index 452d8dc..cf71c71 100644 --- a/kb-lib/src/decoder/launchpad/boop_fun.rs +++ b/kb-lib/src/decoder/launchpad/boop_fun.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/launchpad/boop_fun.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_launchpad_boop_fun`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LAUNCHPAD_BOOP_FUN_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/launchpad/metadao_ico.rs b/kb-lib/src/decoder/launchpad/metadao_ico.rs index b954102..f923bf1 100644 --- a/kb-lib/src/decoder/launchpad/metadao_ico.rs +++ b/kb-lib/src/decoder/launchpad/metadao_ico.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/launchpad/metadao_ico.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_launchpad_metadao_ico`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LAUNCHPAD_METADAO_ICO_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/launchpad/meteora_dbc.rs b/kb-lib/src/decoder/launchpad/meteora_dbc.rs index 1ea5fc1..f96606f 100644 --- a/kb-lib/src/decoder/launchpad/meteora_dbc.rs +++ b/kb-lib/src/decoder/launchpad/meteora_dbc.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/launchpad/meteora_dbc.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_launchpad_meteora_dbc`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LAUNCHPAD_METEORA_DBC_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/launchpad/moonit.rs b/kb-lib/src/decoder/launchpad/moonit.rs index 1cb1e4d..8ac589d 100644 --- a/kb-lib/src/decoder/launchpad/moonit.rs +++ b/kb-lib/src/decoder/launchpad/moonit.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/launchpad/moonit.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_launchpad_moonit`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LAUNCHPAD_MOONIT_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/launchpad/orca_wavebreak.rs b/kb-lib/src/decoder/launchpad/orca_wavebreak.rs index 2aefc1c..14498b4 100644 --- a/kb-lib/src/decoder/launchpad/orca_wavebreak.rs +++ b/kb-lib/src/decoder/launchpad/orca_wavebreak.rs @@ -1,10 +1,12 @@ // file: kb-lib/src/decoder/launchpad/orca_wavebreak.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_launchpad_orca_wavebreak`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LAUNCHPAD_ORCA_WAVEBREAK_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/launchpad/printr.rs b/kb-lib/src/decoder/launchpad/printr.rs index c21d092..0945f57 100644 --- a/kb-lib/src/decoder/launchpad/printr.rs +++ b/kb-lib/src/decoder/launchpad/printr.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/launchpad/printr.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_launchpad_printr`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LAUNCHPAD_PRINTR_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/launchpad/pump_fun.rs b/kb-lib/src/decoder/launchpad/pump_fun.rs index 2aa8db6..cad9b0a 100644 --- a/kb-lib/src/decoder/launchpad/pump_fun.rs +++ b/kb-lib/src/decoder/launchpad/pump_fun.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/launchpad/pump_fun.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_launchpad_pump_fun`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LAUNCHPAD_PUMP_FUN_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/launchpad/pump_pumpup_ai.rs b/kb-lib/src/decoder/launchpad/pump_pumpup_ai.rs index 97e7381..7c565d9 100644 --- a/kb-lib/src/decoder/launchpad/pump_pumpup_ai.rs +++ b/kb-lib/src/decoder/launchpad/pump_pumpup_ai.rs @@ -1,10 +1,12 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LAUNCHPAD_PUMP_PUMPUP_AI_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/launchpad/raydium_launchlab.rs b/kb-lib/src/decoder/launchpad/raydium_launchlab.rs index a477d45..5ae9702 100644 --- a/kb-lib/src/decoder/launchpad/raydium_launchlab.rs +++ b/kb-lib/src/decoder/launchpad/raydium_launchlab.rs @@ -1,10 +1,12 @@ // file: kb-lib/src/decoder/launchpad/raydium_launchlab.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_launchpad_raydium_launchlab`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LAUNCHPAD_RAYDIUM_LAUNCHLAB_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/lending.rs b/kb-lib/src/decoder/lending.rs index e6734b9..5d15845 100644 --- a/kb-lib/src/decoder/lending.rs +++ b/kb-lib/src/decoder/lending.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/decoder/lending.rs -// version: 1 +// version: 2 //! `lending` decoder family. @@ -10,3 +10,35 @@ mod jupiter_lend_flash_loan; mod jupiter_lend_liquidity; mod kamino; 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, + ), +]; diff --git a/kb-lib/src/decoder/lending/clone.rs b/kb-lib/src/decoder/lending/clone.rs index 2dabd03..5e0f511 100644 --- a/kb-lib/src/decoder/lending/clone.rs +++ b/kb-lib/src/decoder/lending/clone.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/lending/clone.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_lending_clone`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LENDING_CLONE_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/lending/jupiter_lend_borrow.rs b/kb-lib/src/decoder/lending/jupiter_lend_borrow.rs index ee5c08d..23d7e32 100644 --- a/kb-lib/src/decoder/lending/jupiter_lend_borrow.rs +++ b/kb-lib/src/decoder/lending/jupiter_lend_borrow.rs @@ -1,10 +1,12 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LENDING_JUPITER_LEND_BORROW_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/lending/jupiter_lend_earn.rs b/kb-lib/src/decoder/lending/jupiter_lend_earn.rs index eec4405..700f48d 100644 --- a/kb-lib/src/decoder/lending/jupiter_lend_earn.rs +++ b/kb-lib/src/decoder/lending/jupiter_lend_earn.rs @@ -1,10 +1,12 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LENDING_JUPITER_LEND_EARN_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/lending/jupiter_lend_flash_loan.rs b/kb-lib/src/decoder/lending/jupiter_lend_flash_loan.rs index b5df193..72cc678 100644 --- a/kb-lib/src/decoder/lending/jupiter_lend_flash_loan.rs +++ b/kb-lib/src/decoder/lending/jupiter_lend_flash_loan.rs @@ -1,10 +1,12 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LENDING_JUPITER_LEND_FLASH_LOAN_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/lending/jupiter_lend_liquidity.rs b/kb-lib/src/decoder/lending/jupiter_lend_liquidity.rs index f4bf409..1e0571d 100644 --- a/kb-lib/src/decoder/lending/jupiter_lend_liquidity.rs +++ b/kb-lib/src/decoder/lending/jupiter_lend_liquidity.rs @@ -1,10 +1,12 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LENDING_JUPITER_LEND_LIQUIDITY_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/lending/kamino.rs b/kb-lib/src/decoder/lending/kamino.rs index 6635f29..09f2e0e 100644 --- a/kb-lib/src/decoder/lending/kamino.rs +++ b/kb-lib/src/decoder/lending/kamino.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/lending/kamino.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_lending_kamino`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LENDING_KAMINO_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/lending/marginfi_v2.rs b/kb-lib/src/decoder/lending/marginfi_v2.rs index 2cd4ee2..f1507da 100644 --- a/kb-lib/src/decoder/lending/marginfi_v2.rs +++ b/kb-lib/src/decoder/lending/marginfi_v2.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/lending/marginfi_v2.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_lending_marginfi_v2`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LENDING_MARGINFI_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/lock.rs b/kb-lib/src/decoder/lock.rs index 160fc6c..5f4645d 100644 --- a/kb-lib/src/decoder/lock.rs +++ b/kb-lib/src/decoder/lock.rs @@ -1,6 +1,12 @@ // file: kb-lib/src/decoder/lock.rs -// version: 1 +// version: 2 //! `lock` decoder family. 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, +)]; diff --git a/kb-lib/src/decoder/lock/raydium_lp.rs b/kb-lib/src/decoder/lock/raydium_lp.rs index 15be905..d163eea 100644 --- a/kb-lib/src/decoder/lock/raydium_lp.rs +++ b/kb-lib/src/decoder/lock/raydium_lp.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/lock/raydium_lp.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_lock_raydium_lp`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_LOCK_RAYDIUM_LP_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/metadata.rs b/kb-lib/src/decoder/metadata.rs index 8270576..fd96c9a 100644 --- a/kb-lib/src/decoder/metadata.rs +++ b/kb-lib/src/decoder/metadata.rs @@ -1,11 +1,17 @@ // file: kb-lib/src/decoder/metadata.rs -// version: 2 +// version: 3 //! `metadata` decoder family. mod metaplex_token_metadata; 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. pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_APPROVE_COLLECTION_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; /// Maximum number of instruction accounts accepted by this decoder. pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_MAX_INSTRUCTION_ACCOUNTS; -/// Tracing target for this decoder. /// Maximum retained instruction payload size. pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_MAX_INSTRUCTION_BYTES; /// Migrate discriminator. diff --git a/kb-lib/src/decoder/metadata/metaplex_token_metadata.rs b/kb-lib/src/decoder/metadata/metaplex_token_metadata.rs index 136668b..28740ca 100644 --- a/kb-lib/src/decoder/metadata/metaplex_token_metadata.rs +++ b/kb-lib/src/decoder/metadata/metaplex_token_metadata.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/decoder/metadata/metaplex_token_metadata.rs -// version: 2 +// version: 3 //! 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; /// Maximum number of instruction accounts accepted by this decoder. pub(crate) use self::constants::DC_METADATA_MTM_MAX_INSTRUCTION_ACCOUNTS; -/// Tracing target for this decoder. /// Maximum retained instruction payload size. pub(crate) use self::constants::DC_METADATA_MTM_MAX_INSTRUCTION_BYTES; /// Migrate discriminator. diff --git a/kb-lib/src/decoder/metadata/spl_name_service.rs b/kb-lib/src/decoder/metadata/spl_name_service.rs index 11dce57..90bc049 100644 --- a/kb-lib/src/decoder/metadata/spl_name_service.rs +++ b/kb-lib/src/decoder/metadata/spl_name_service.rs @@ -1,10 +1,12 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_METADATA_SPL_NAME_SERVICE_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/nft.rs b/kb-lib/src/decoder/nft.rs index 96c59e8..9b0a683 100644 --- a/kb-lib/src/decoder/nft.rs +++ b/kb-lib/src/decoder/nft.rs @@ -1,6 +1,12 @@ // file: kb-lib/src/decoder/nft.rs -// version: 1 +// version: 2 //! `nft` decoder family. 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, +)]; diff --git a/kb-lib/src/decoder/nft/metaplex_bubblegum.rs b/kb-lib/src/decoder/nft/metaplex_bubblegum.rs index 182571b..675f430 100644 --- a/kb-lib/src/decoder/nft/metaplex_bubblegum.rs +++ b/kb-lib/src/decoder/nft/metaplex_bubblegum.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/nft/metaplex_bubblegum.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_nft_metaplex_bubblegum`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_NFT_METAPLEX_BUBBLEGUM_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/orderbook.rs b/kb-lib/src/decoder/orderbook.rs index c9204aa..46dfce4 100644 --- a/kb-lib/src/decoder/orderbook.rs +++ b/kb-lib/src/decoder/orderbook.rs @@ -1,8 +1,24 @@ // file: kb-lib/src/decoder/orderbook.rs -// version: 1 +// version: 2 //! `orderbook` decoder family. mod jupiter_limit_order; mod jupiter_limit_order_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, + ), +]; diff --git a/kb-lib/src/decoder/orderbook/jupiter_limit_order.rs b/kb-lib/src/decoder/orderbook/jupiter_limit_order.rs index 18ebf24..3ad7923 100644 --- a/kb-lib/src/decoder/orderbook/jupiter_limit_order.rs +++ b/kb-lib/src/decoder/orderbook/jupiter_limit_order.rs @@ -1,10 +1,12 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_ORDERBOOK_JUPITER_LIMIT_ORDER_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/orderbook/jupiter_limit_order_v2.rs b/kb-lib/src/decoder/orderbook/jupiter_limit_order_v2.rs index 4d9ebd7..a375865 100644 --- a/kb-lib/src/decoder/orderbook/jupiter_limit_order_v2.rs +++ b/kb-lib/src/decoder/orderbook/jupiter_limit_order_v2.rs @@ -1,10 +1,12 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_ORDERBOOK_JUPITER_LIMIT_ORDER_V2_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/orderbook/openbook_v2.rs b/kb-lib/src/decoder/orderbook/openbook_v2.rs index 5a40204..5b291be 100644 --- a/kb-lib/src/decoder/orderbook/openbook_v2.rs +++ b/kb-lib/src/decoder/orderbook/openbook_v2.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/orderbook/openbook_v2.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_orderbook_openbook_v2`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_ORDERBOOK_OPENBOOK_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/perpetuals.rs b/kb-lib/src/decoder/perpetuals.rs index d60238b..519841d 100644 --- a/kb-lib/src/decoder/perpetuals.rs +++ b/kb-lib/src/decoder/perpetuals.rs @@ -1,8 +1,24 @@ // file: kb-lib/src/decoder/perpetuals.rs -// version: 1 +// version: 2 //! `perpetuals` decoder family. mod drift_v2; mod jupiter; 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, + ), +]; diff --git a/kb-lib/src/decoder/perpetuals/drift_v2.rs b/kb-lib/src/decoder/perpetuals/drift_v2.rs index 7cf6f36..b844983 100644 --- a/kb-lib/src/decoder/perpetuals/drift_v2.rs +++ b/kb-lib/src/decoder/perpetuals/drift_v2.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/perpetuals/drift_v2.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_perpetuals_drift_v2`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_PERPETUALS_DRIFT_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/perpetuals/jupiter.rs b/kb-lib/src/decoder/perpetuals/jupiter.rs index 6900b7e..4b02879 100644 --- a/kb-lib/src/decoder/perpetuals/jupiter.rs +++ b/kb-lib/src/decoder/perpetuals/jupiter.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/perpetuals/jupiter.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_perpetuals_jupiter`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_PERPETUALS_JUPITER_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/perpetuals/zeta.rs b/kb-lib/src/decoder/perpetuals/zeta.rs index 9ed6d85..1428700 100644 --- a/kb-lib/src/decoder/perpetuals/zeta.rs +++ b/kb-lib/src/decoder/perpetuals/zeta.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/perpetuals/zeta.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_perpetuals_zeta`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_PERPETUALS_ZETA_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/router.rs b/kb-lib/src/decoder/router.rs index db89189..3dca690 100644 --- a/kb-lib/src/decoder/router.rs +++ b/kb-lib/src/decoder/router.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/decoder/router.rs -// version: 1 +// version: 2 //! `router` decoder family. @@ -9,3 +9,31 @@ mod jupiter_aggregator_v6; mod jupiter_dca; mod okx_labs_v1; 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, + ), +]; diff --git a/kb-lib/src/decoder/router/dflow_aggregator_v4.rs b/kb-lib/src/decoder/router/dflow_aggregator_v4.rs index ea335f5..e79309a 100644 --- a/kb-lib/src/decoder/router/dflow_aggregator_v4.rs +++ b/kb-lib/src/decoder/router/dflow_aggregator_v4.rs @@ -1,10 +1,12 @@ // 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`. /// 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. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_ROUTER_DFLOW_AGGREGATOR_V4_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/router/jupiter_aggregator_v4.rs b/kb-lib/src/decoder/router/jupiter_aggregator_v4.rs index 15fac7c..581dd33 100644 --- a/kb-lib/src/decoder/router/jupiter_aggregator_v4.rs +++ b/kb-lib/src/decoder/router/jupiter_aggregator_v4.rs @@ -1,10 +1,12 @@ // file: kb-lib/src/decoder/router/jupiter_aggregator_v4.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_router_jupiter_aggregator_v4`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_router_jupiter_aggregator_v4"; +pub(crate) const DC_ROUTER_JUPITER_AGGREGATOR_V4_LEGACY_CRATE: &str = + "kb_decoder_router_jupiter_aggregator_v4"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_ROUTER_JUPITER_AGGREGATOR_V4_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/router/jupiter_aggregator_v6.rs b/kb-lib/src/decoder/router/jupiter_aggregator_v6.rs index ee4d9c7..335577e 100644 --- a/kb-lib/src/decoder/router/jupiter_aggregator_v6.rs +++ b/kb-lib/src/decoder/router/jupiter_aggregator_v6.rs @@ -1,10 +1,12 @@ // file: kb-lib/src/decoder/router/jupiter_aggregator_v6.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_router_jupiter_aggregator_v6`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_router_jupiter_aggregator_v6"; +pub(crate) const DC_ROUTER_JUPITER_AGGREGATOR_V6_LEGACY_CRATE: &str = + "kb_decoder_router_jupiter_aggregator_v6"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_ROUTER_JUPITER_AGGREGATOR_V6_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/router/jupiter_dca.rs b/kb-lib/src/decoder/router/jupiter_dca.rs index 5c7cc29..e3a114c 100644 --- a/kb-lib/src/decoder/router/jupiter_dca.rs +++ b/kb-lib/src/decoder/router/jupiter_dca.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/router/jupiter_dca.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_router_jupiter_dca`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_router_jupiter_dca"; +pub(crate) const DC_ROUTER_JUPITER_DCA_LEGACY_CRATE: &str = "kb_decoder_router_jupiter_dca"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_ROUTER_JUPITER_DCA_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/router/okx_labs_v1.rs b/kb-lib/src/decoder/router/okx_labs_v1.rs index 0abbe74..1ececb6 100644 --- a/kb-lib/src/decoder/router/okx_labs_v1.rs +++ b/kb-lib/src/decoder/router/okx_labs_v1.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/router/okx_labs_v1.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_router_okx_labs_v1`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_router_okx_labs_v1"; +pub(crate) const DC_ROUTER_OKX_LABS_V1_LEGACY_CRATE: &str = "kb_decoder_router_okx_labs_v1"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_ROUTER_OKX_LABS_V1_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/router/okx_labs_v2.rs b/kb-lib/src/decoder/router/okx_labs_v2.rs index 59839ea..9874b7c 100644 --- a/kb-lib/src/decoder/router/okx_labs_v2.rs +++ b/kb-lib/src/decoder/router/okx_labs_v2.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/router/okx_labs_v2.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_router_okx_labs_v2`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_router_okx_labs_v2"; +pub(crate) const DC_ROUTER_OKX_LABS_V2_LEGACY_CRATE: &str = "kb_decoder_router_okx_labs_v2"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_ROUTER_OKX_LABS_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/rwa.rs b/kb-lib/src/decoder/rwa.rs index 007477d..fbae840 100644 --- a/kb-lib/src/decoder/rwa.rs +++ b/kb-lib/src/decoder/rwa.rs @@ -1,6 +1,12 @@ // file: kb-lib/src/decoder/rwa.rs -// version: 1 +// version: 2 //! `rwa` decoder family. mod ondo_global_markets; + +/// Pending `rwa` decoder migration boundaries. +pub(crate) const DC_RWA_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[( + self::ondo_global_markets::DC_RWA_ONDO_GLOBAL_MARKETS_LEGACY_CRATE, + self::ondo_global_markets::DC_RWA_ONDO_GLOBAL_MARKETS_MIGRATION_STATUS, +)]; diff --git a/kb-lib/src/decoder/rwa/ondo_global_markets.rs b/kb-lib/src/decoder/rwa/ondo_global_markets.rs index 446eb84..47fc49b 100644 --- a/kb-lib/src/decoder/rwa/ondo_global_markets.rs +++ b/kb-lib/src/decoder/rwa/ondo_global_markets.rs @@ -1,10 +1,12 @@ // file: kb-lib/src/decoder/rwa/ondo_global_markets.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_rwa_ondo_global_markets`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_rwa_ondo_global_markets"; +pub(crate) const DC_RWA_ONDO_GLOBAL_MARKETS_LEGACY_CRATE: &str = + "kb_decoder_rwa_ondo_global_markets"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_RWA_ONDO_GLOBAL_MARKETS_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/spl.rs b/kb-lib/src/decoder/spl.rs index b91d2a1..b0505bf 100644 --- a/kb-lib/src/decoder/spl.rs +++ b/kb-lib/src/decoder/spl.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/decoder/spl.rs -// version: 5 +// version: 6 //! `spl` decoder family. @@ -13,6 +13,23 @@ mod stake_pool; mod token; mod token2022; +/// Pending `spl` decoder migration boundaries. +pub(crate) const DC_SPL_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[ + ( + self::account_compression::DC_SPL_ACCOUNT_COMPRESSION_LEGACY_CRATE, + self::account_compression::DC_SPL_ACCOUNT_COMPRESSION_MIGRATION_STATUS, + ), + (self::noop::DC_SPL_NOOP_LEGACY_CRATE, self::noop::DC_SPL_NOOP_MIGRATION_STATUS), + ( + self::single_pool::DC_SPL_SINGLE_POOL_LEGACY_CRATE, + self::single_pool::DC_SPL_SINGLE_POOL_MIGRATION_STATUS, + ), + ( + self::stake_pool::DC_SPL_STAKE_POOL_LEGACY_CRATE, + self::stake_pool::DC_SPL_STAKE_POOL_MIGRATION_STATUS, + ), +]; + /// Current stable Associated Token Account decoded event contract version. pub(crate) use self::associated_token_account::DC_SPL_ATA_EVENT_VERSION; /// Exact Associated Token Account instructions published by the official interface. diff --git a/kb-lib/src/decoder/spl/account_compression.rs b/kb-lib/src/decoder/spl/account_compression.rs index 520407a..60490e7 100644 --- a/kb-lib/src/decoder/spl/account_compression.rs +++ b/kb-lib/src/decoder/spl/account_compression.rs @@ -1,10 +1,12 @@ // file: kb-lib/src/decoder/spl/account_compression.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_spl_account_compression`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_spl_account_compression"; +pub(crate) const DC_SPL_ACCOUNT_COMPRESSION_LEGACY_CRATE: &str = + "kb_decoder_spl_account_compression"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_SPL_ACCOUNT_COMPRESSION_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/spl/noop.rs b/kb-lib/src/decoder/spl/noop.rs index 48c8360..2fd3848 100644 --- a/kb-lib/src/decoder/spl/noop.rs +++ b/kb-lib/src/decoder/spl/noop.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/spl/noop.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_spl_noop`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_spl_noop"; +pub(crate) const DC_SPL_NOOP_LEGACY_CRATE: &str = "kb_decoder_spl_noop"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_SPL_NOOP_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/spl/single_pool.rs b/kb-lib/src/decoder/spl/single_pool.rs index 5438ec3..c18b052 100644 --- a/kb-lib/src/decoder/spl/single_pool.rs +++ b/kb-lib/src/decoder/spl/single_pool.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/spl/single_pool.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_spl_single_pool`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_spl_single_pool"; +pub(crate) const DC_SPL_SINGLE_POOL_LEGACY_CRATE: &str = "kb_decoder_spl_single_pool"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_SPL_SINGLE_POOL_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/spl/stake_pool.rs b/kb-lib/src/decoder/spl/stake_pool.rs index 3888d2d..6a6cb2e 100644 --- a/kb-lib/src/decoder/spl/stake_pool.rs +++ b/kb-lib/src/decoder/spl/stake_pool.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/spl/stake_pool.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_spl_stake_pool`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_spl_stake_pool"; +pub(crate) const DC_SPL_STAKE_POOL_LEGACY_CRATE: &str = "kb_decoder_spl_stake_pool"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_SPL_STAKE_POOL_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/stable.rs b/kb-lib/src/decoder/stable.rs index ba8e2ea..a45dc05 100644 --- a/kb-lib/src/decoder/stable.rs +++ b/kb-lib/src/decoder/stable.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/decoder/stable.rs -// version: 1 +// version: 2 //! `stable` decoder family. @@ -7,3 +7,23 @@ mod swap_hylo_exchange; mod swap_jupiter_stable; mod swap_numeraire; mod swap_stabble; + +/// Pending `stable` decoder migration boundaries. +pub(crate) const DC_STABLE_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[ + ( + self::swap_hylo_exchange::DC_STABLE_SWAP_HYLO_EXCHANGE_LEGACY_CRATE, + self::swap_hylo_exchange::DC_STABLE_SWAP_HYLO_EXCHANGE_MIGRATION_STATUS, + ), + ( + self::swap_jupiter_stable::DC_STABLE_SWAP_JUPITER_STABLE_LEGACY_CRATE, + self::swap_jupiter_stable::DC_STABLE_SWAP_JUPITER_STABLE_MIGRATION_STATUS, + ), + ( + self::swap_numeraire::DC_STABLE_SWAP_NUMERAIRE_LEGACY_CRATE, + self::swap_numeraire::DC_STABLE_SWAP_NUMERAIRE_MIGRATION_STATUS, + ), + ( + self::swap_stabble::DC_STABLE_SWAP_STABBLE_LEGACY_CRATE, + self::swap_stabble::DC_STABLE_SWAP_STABBLE_MIGRATION_STATUS, + ), +]; diff --git a/kb-lib/src/decoder/stable/swap_hylo_exchange.rs b/kb-lib/src/decoder/stable/swap_hylo_exchange.rs index ffeb0b7..5eef258 100644 --- a/kb-lib/src/decoder/stable/swap_hylo_exchange.rs +++ b/kb-lib/src/decoder/stable/swap_hylo_exchange.rs @@ -1,10 +1,12 @@ // file: kb-lib/src/decoder/stable/swap_hylo_exchange.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_stable_swap_hylo_exchange`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_stable_swap_hylo_exchange"; +pub(crate) const DC_STABLE_SWAP_HYLO_EXCHANGE_LEGACY_CRATE: &str = + "kb_decoder_stable_swap_hylo_exchange"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_STABLE_SWAP_HYLO_EXCHANGE_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/stable/swap_jupiter_stable.rs b/kb-lib/src/decoder/stable/swap_jupiter_stable.rs index a0f3248..e219e55 100644 --- a/kb-lib/src/decoder/stable/swap_jupiter_stable.rs +++ b/kb-lib/src/decoder/stable/swap_jupiter_stable.rs @@ -1,10 +1,12 @@ // file: kb-lib/src/decoder/stable/swap_jupiter_stable.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_stable_swap_jupiter_stable`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_stable_swap_jupiter_stable"; +pub(crate) const DC_STABLE_SWAP_JUPITER_STABLE_LEGACY_CRATE: &str = + "kb_decoder_stable_swap_jupiter_stable"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_STABLE_SWAP_JUPITER_STABLE_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/stable/swap_numeraire.rs b/kb-lib/src/decoder/stable/swap_numeraire.rs index a460c30..36adc79 100644 --- a/kb-lib/src/decoder/stable/swap_numeraire.rs +++ b/kb-lib/src/decoder/stable/swap_numeraire.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/stable/swap_numeraire.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_stable_swap_numeraire`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_stable_swap_numeraire"; +pub(crate) const DC_STABLE_SWAP_NUMERAIRE_LEGACY_CRATE: &str = "kb_decoder_stable_swap_numeraire"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_STABLE_SWAP_NUMERAIRE_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/stable/swap_stabble.rs b/kb-lib/src/decoder/stable/swap_stabble.rs index 30e4be2..718c4e3 100644 --- a/kb-lib/src/decoder/stable/swap_stabble.rs +++ b/kb-lib/src/decoder/stable/swap_stabble.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/stable/swap_stabble.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_stable_swap_stabble`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_stable_swap_stabble"; +pub(crate) const DC_STABLE_SWAP_STABBLE_LEGACY_CRATE: &str = "kb_decoder_stable_swap_stabble"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_STABLE_SWAP_STABBLE_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/staking.rs b/kb-lib/src/decoder/staking.rs index 2d543f2..a2f1a22 100644 --- a/kb-lib/src/decoder/staking.rs +++ b/kb-lib/src/decoder/staking.rs @@ -1,8 +1,24 @@ // file: kb-lib/src/decoder/staking.rs -// version: 1 +// version: 2 //! `staking` decoder family. mod kamino_farm; mod marinade_finance; mod solayer; + +/// Pending `staking` decoder migration boundaries. +pub(crate) const DC_STAKING_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[ + ( + self::kamino_farm::DC_STAKING_KAMINO_FARM_LEGACY_CRATE, + self::kamino_farm::DC_STAKING_KAMINO_FARM_MIGRATION_STATUS, + ), + ( + self::marinade_finance::DC_STAKING_MARINADE_FINANCE_LEGACY_CRATE, + self::marinade_finance::DC_STAKING_MARINADE_FINANCE_MIGRATION_STATUS, + ), + ( + self::solayer::DC_STAKING_SOLAYER_LEGACY_CRATE, + self::solayer::DC_STAKING_SOLAYER_MIGRATION_STATUS, + ), +]; diff --git a/kb-lib/src/decoder/staking/kamino_farm.rs b/kb-lib/src/decoder/staking/kamino_farm.rs index 9d5f8af..4572a18 100644 --- a/kb-lib/src/decoder/staking/kamino_farm.rs +++ b/kb-lib/src/decoder/staking/kamino_farm.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/staking/kamino_farm.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_staking_kamino_farm`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_staking_kamino_farm"; +pub(crate) const DC_STAKING_KAMINO_FARM_LEGACY_CRATE: &str = "kb_decoder_staking_kamino_farm"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_STAKING_KAMINO_FARM_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/staking/marinade_finance.rs b/kb-lib/src/decoder/staking/marinade_finance.rs index 6d550bd..bcd36bf 100644 --- a/kb-lib/src/decoder/staking/marinade_finance.rs +++ b/kb-lib/src/decoder/staking/marinade_finance.rs @@ -1,10 +1,12 @@ // file: kb-lib/src/decoder/staking/marinade_finance.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_staking_marinade_finance`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_staking_marinade_finance"; +pub(crate) const DC_STAKING_MARINADE_FINANCE_LEGACY_CRATE: &str = + "kb_decoder_staking_marinade_finance"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_STAKING_MARINADE_FINANCE_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/staking/solayer.rs b/kb-lib/src/decoder/staking/solayer.rs index e5bd11a..210fb21 100644 --- a/kb-lib/src/decoder/staking/solayer.rs +++ b/kb-lib/src/decoder/staking/solayer.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/staking/solayer.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_staking_solayer`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_staking_solayer"; +pub(crate) const DC_STAKING_SOLAYER_LEGACY_CRATE: &str = "kb_decoder_staking_solayer"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_STAKING_SOLAYER_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/treasury.rs b/kb-lib/src/decoder/treasury.rs index e346807..627e7fd 100644 --- a/kb-lib/src/decoder/treasury.rs +++ b/kb-lib/src/decoder/treasury.rs @@ -1,6 +1,12 @@ // file: kb-lib/src/decoder/treasury.rs -// version: 1 +// version: 2 //! `treasury` decoder family. mod helium_treasury_management; + +/// Pending `treasury` decoder migration boundaries. +pub(crate) const DC_TREASURY_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[( + self::helium_treasury_management::DC_TREASURY_HELIUM_TREASURY_MANAGEMENT_LEGACY_CRATE, + self::helium_treasury_management::DC_TREASURY_HELIUM_TREASURY_MANAGEMENT_MIGRATION_STATUS, +)]; diff --git a/kb-lib/src/decoder/treasury/helium_treasury_management.rs b/kb-lib/src/decoder/treasury/helium_treasury_management.rs index 19a8abb..d18d8e2 100644 --- a/kb-lib/src/decoder/treasury/helium_treasury_management.rs +++ b/kb-lib/src/decoder/treasury/helium_treasury_management.rs @@ -1,10 +1,12 @@ // file: kb-lib/src/decoder/treasury/helium_treasury_management.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_treasury_helium_treasury_management`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_treasury_helium_treasury_management"; +pub(crate) const DC_TREASURY_HELIUM_TREASURY_MANAGEMENT_LEGACY_CRATE: &str = + "kb_decoder_treasury_helium_treasury_management"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_TREASURY_HELIUM_TREASURY_MANAGEMENT_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/vault.rs b/kb-lib/src/decoder/vault.rs index a94e727..67d9134 100644 --- a/kb-lib/src/decoder/vault.rs +++ b/kb-lib/src/decoder/vault.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/decoder/vault.rs -// version: 1 +// version: 2 //! `vault` decoder family. @@ -9,3 +9,31 @@ mod kamino; mod kamino_v2; mod kamino_yvaults; mod meteora; + +/// Pending `vault` decoder migration boundaries. +pub(crate) const DC_VAULT_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[ + ( + self::carrot_defi::DC_VAULT_CARROT_DEFI_LEGACY_CRATE, + self::carrot_defi::DC_VAULT_CARROT_DEFI_MIGRATION_STATUS, + ), + ( + self::hylo_stability_pool::DC_VAULT_HYLO_STABILITY_POOL_LEGACY_CRATE, + self::hylo_stability_pool::DC_VAULT_HYLO_STABILITY_POOL_MIGRATION_STATUS, + ), + ( + self::kamino::DC_VAULT_KAMINO_LEGACY_CRATE, + self::kamino::DC_VAULT_KAMINO_MIGRATION_STATUS, + ), + ( + self::kamino_v2::DC_VAULT_KAMINO_V2_LEGACY_CRATE, + self::kamino_v2::DC_VAULT_KAMINO_V2_MIGRATION_STATUS, + ), + ( + self::kamino_yvaults::DC_VAULT_KAMINO_YVAULTS_LEGACY_CRATE, + self::kamino_yvaults::DC_VAULT_KAMINO_YVAULTS_MIGRATION_STATUS, + ), + ( + self::meteora::DC_VAULT_METEORA_LEGACY_CRATE, + self::meteora::DC_VAULT_METEORA_MIGRATION_STATUS, + ), +]; diff --git a/kb-lib/src/decoder/vault/carrot_defi.rs b/kb-lib/src/decoder/vault/carrot_defi.rs index 5270f6d..807108b 100644 --- a/kb-lib/src/decoder/vault/carrot_defi.rs +++ b/kb-lib/src/decoder/vault/carrot_defi.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/vault/carrot_defi.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_vault_carrot_defi`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_vault_carrot_defi"; +pub(crate) const DC_VAULT_CARROT_DEFI_LEGACY_CRATE: &str = "kb_decoder_vault_carrot_defi"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_VAULT_CARROT_DEFI_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/vault/hylo_stability_pool.rs b/kb-lib/src/decoder/vault/hylo_stability_pool.rs index f7b9ec5..ce305a6 100644 --- a/kb-lib/src/decoder/vault/hylo_stability_pool.rs +++ b/kb-lib/src/decoder/vault/hylo_stability_pool.rs @@ -1,10 +1,12 @@ // file: kb-lib/src/decoder/vault/hylo_stability_pool.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_vault_hylo_stability_pool`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_vault_hylo_stability_pool"; +pub(crate) const DC_VAULT_HYLO_STABILITY_POOL_LEGACY_CRATE: &str = + "kb_decoder_vault_hylo_stability_pool"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_VAULT_HYLO_STABILITY_POOL_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/vault/kamino.rs b/kb-lib/src/decoder/vault/kamino.rs index e197850..533804a 100644 --- a/kb-lib/src/decoder/vault/kamino.rs +++ b/kb-lib/src/decoder/vault/kamino.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/vault/kamino.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_vault_kamino`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_vault_kamino"; +pub(crate) const DC_VAULT_KAMINO_LEGACY_CRATE: &str = "kb_decoder_vault_kamino"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_VAULT_KAMINO_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/vault/kamino_v2.rs b/kb-lib/src/decoder/vault/kamino_v2.rs index dbdc10b..602c378 100644 --- a/kb-lib/src/decoder/vault/kamino_v2.rs +++ b/kb-lib/src/decoder/vault/kamino_v2.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/vault/kamino_v2.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_vault_kamino_v2`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_vault_kamino_v2"; +pub(crate) const DC_VAULT_KAMINO_V2_LEGACY_CRATE: &str = "kb_decoder_vault_kamino_v2"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_VAULT_KAMINO_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/vault/kamino_yvaults.rs b/kb-lib/src/decoder/vault/kamino_yvaults.rs index 5bfe555..16c5177 100644 --- a/kb-lib/src/decoder/vault/kamino_yvaults.rs +++ b/kb-lib/src/decoder/vault/kamino_yvaults.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/vault/kamino_yvaults.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_vault_kamino_yvaults`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_vault_kamino_yvaults"; +pub(crate) const DC_VAULT_KAMINO_YVAULTS_LEGACY_CRATE: &str = "kb_decoder_vault_kamino_yvaults"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_VAULT_KAMINO_YVAULTS_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/vault/meteora.rs b/kb-lib/src/decoder/vault/meteora.rs index 3ef46b7..9591421 100644 --- a/kb-lib/src/decoder/vault/meteora.rs +++ b/kb-lib/src/decoder/vault/meteora.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/vault/meteora.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_vault_meteora`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_vault_meteora"; +pub(crate) const DC_VAULT_METEORA_LEGACY_CRATE: &str = "kb_decoder_vault_meteora"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_VAULT_METEORA_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/vesting.rs b/kb-lib/src/decoder/vesting.rs index 3904370..d6fc0b1 100644 --- a/kb-lib/src/decoder/vesting.rs +++ b/kb-lib/src/decoder/vesting.rs @@ -1,6 +1,12 @@ // file: kb-lib/src/decoder/vesting.rs -// version: 1 +// version: 2 //! `vesting` decoder family. mod streamflow; + +/// Pending `vesting` decoder migration boundaries. +pub(crate) const DC_VESTING_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[( + self::streamflow::DC_VESTING_STREAMFLOW_LEGACY_CRATE, + self::streamflow::DC_VESTING_STREAMFLOW_MIGRATION_STATUS, +)]; diff --git a/kb-lib/src/decoder/vesting/streamflow.rs b/kb-lib/src/decoder/vesting/streamflow.rs index 6dba305..681ac4f 100644 --- a/kb-lib/src/decoder/vesting/streamflow.rs +++ b/kb-lib/src/decoder/vesting/streamflow.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/vesting/streamflow.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_vesting_streamflow`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_vesting_streamflow"; +pub(crate) const DC_VESTING_STREAMFLOW_LEGACY_CRATE: &str = "kb_decoder_vesting_streamflow"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_VESTING_STREAMFLOW_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/wallet.rs b/kb-lib/src/decoder/wallet.rs index b311150..9a2de20 100644 --- a/kb-lib/src/decoder/wallet.rs +++ b/kb-lib/src/decoder/wallet.rs @@ -1,6 +1,12 @@ // file: kb-lib/src/decoder/wallet.rs -// version: 1 +// version: 2 //! `wallet` decoder family. mod jupiter_apepro_smart_wallet; + +/// Pending `wallet` decoder migration boundaries. +pub(crate) const DC_WALLET_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[( + self::jupiter_apepro_smart_wallet::DC_WALLET_JUPITER_APEPRO_SMART_WALLET_LEGACY_CRATE, + self::jupiter_apepro_smart_wallet::DC_WALLET_JUPITER_APEPRO_SMART_WALLET_MIGRATION_STATUS, +)]; diff --git a/kb-lib/src/decoder/wallet/jupiter_apepro_smart_wallet.rs b/kb-lib/src/decoder/wallet/jupiter_apepro_smart_wallet.rs index 07d4892..80d2690 100644 --- a/kb-lib/src/decoder/wallet/jupiter_apepro_smart_wallet.rs +++ b/kb-lib/src/decoder/wallet/jupiter_apepro_smart_wallet.rs @@ -1,10 +1,12 @@ // file: kb-lib/src/decoder/wallet/jupiter_apepro_smart_wallet.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_wallet_jupiter_apepro_smart_wallet`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_wallet_jupiter_apepro_smart_wallet"; +pub(crate) const DC_WALLET_JUPITER_APEPRO_SMART_WALLET_LEGACY_CRATE: &str = + "kb_decoder_wallet_jupiter_apepro_smart_wallet"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_WALLET_JUPITER_APEPRO_SMART_WALLET_MIGRATION_STATUS: &str = + "source-preserved-pending-port"; diff --git a/kb-lib/src/decoder/weighted.rs b/kb-lib/src/decoder/weighted.rs index 0d87088..ed2c9ea 100644 --- a/kb-lib/src/decoder/weighted.rs +++ b/kb-lib/src/decoder/weighted.rs @@ -1,6 +1,12 @@ // file: kb-lib/src/decoder/weighted.rs -// version: 1 +// version: 2 //! `weighted` decoder family. mod swap_stabble; + +/// Pending `weighted` decoder migration boundaries. +pub(crate) const DC_WEIGHTED_MIGRATION_BOUNDARIES: &[(&str, &str)] = &[( + self::swap_stabble::DC_WEIGHTED_SWAP_STABBLE_LEGACY_CRATE, + self::swap_stabble::DC_WEIGHTED_SWAP_STABBLE_MIGRATION_STATUS, +)]; diff --git a/kb-lib/src/decoder/weighted/swap_stabble.rs b/kb-lib/src/decoder/weighted/swap_stabble.rs index 99366aa..c17982d 100644 --- a/kb-lib/src/decoder/weighted/swap_stabble.rs +++ b/kb-lib/src/decoder/weighted/swap_stabble.rs @@ -1,10 +1,10 @@ // file: kb-lib/src/decoder/weighted/swap_stabble.rs -// version: 1 +// version: 2 //! Migration boundary for legacy crate `kb_decoder_weighted_swap_stabble`. /// Legacy crate name retained for migration and compatibility tracking. -const LEGACY_CRATE: &str = "kb_decoder_weighted_swap_stabble"; +pub(crate) const DC_WEIGHTED_SWAP_STABBLE_LEGACY_CRATE: &str = "kb_decoder_weighted_swap_stabble"; /// Current porting status. -const MIGRATION_STATUS: &str = "source-preserved-pending-port"; +pub(crate) const DC_WEIGHTED_SWAP_STABBLE_MIGRATION_STATUS: &str = "source-preserved-pending-port"; diff --git a/kb-lib/src/lib.rs b/kb-lib/src/lib.rs index dd2c345..6a45144 100644 --- a/kb-lib/src/lib.rs +++ b/kb-lib/src/lib.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/lib.rs -// version: 13 +// version: 14 //! Consolidated decoder, executor, materializer and shared model library. #![warn(missing_docs)] @@ -73,7 +73,6 @@ pub(crate) use self::decoder::DC_METADATA_MTM_LOCK_DISCRIMINATOR; pub(crate) use self::decoder::DC_METADATA_MTM_MAX_BASE64_BYTES; /// Maximum number of instruction accounts accepted by this decoder. pub(crate) use self::decoder::DC_METADATA_MTM_MAX_INSTRUCTION_ACCOUNTS; -/// Tracing target for this decoder. /// Maximum retained instruction payload size. pub(crate) use self::decoder::DC_METADATA_MTM_MAX_INSTRUCTION_BYTES; /// Migrate discriminator. @@ -692,20 +691,10 @@ pub use self::materializer::MtStakingMaterializer; pub use self::materializer::MtTokenAccountsMaterializer; /// Stable committed Memo transaction annotation materializer. pub use self::materializer::MtTransactionAnnotationMaterializer; -/// Materializes one canonical non-Metadata Metaplex account snapshot. -pub use self::materializer::materialize_metaplex_account_snapshot; -/// Materializes one canonical Metaplex Metadata account snapshot. -pub use self::materializer::materialize_metaplex_metadata_snapshot; -/// Materializes exact Token-2022 administration account snapshots. -pub use self::materializer::materialize_token2022_admin_state_snapshots; -/// Materializes authoritative Token-2022 fee extension snapshots. -pub use self::materializer::materialize_token2022_fee_state_snapshots; -/// Materializes Token-2022 embedded metadata and group snapshots. -pub use self::materializer::materialize_token2022_metadata_snapshot; -/// Materializes one bounded Token-2022 account state snapshot. -pub use self::materializer::materialize_token2022_state_snapshot; /// Materializes one exact SPL ElGamal registry account snapshot. pub use self::materializer::materializer_admin_materialize_elgamal_registry_state_snapshot; +/// Materializes exact Token-2022 administration account snapshots. +pub use self::materializer::materializer_admin_materialize_token2022_state_snapshots; /// Returns true when a materializer explicitly accepts one decoded family. pub use self::materializer::materializer_api_accepts_family; /// Returns true when a materializer accepts one exact decoded observation. @@ -714,6 +703,16 @@ pub use self::materializer::materializer_api_accepts_observation; pub use self::materializer::materializer_api_validate_materialization_policy; /// Rejects mutable business outputs derived from failed or uncommitted observations. pub use self::materializer::materializer_api_validate_materialized_output_policy; +/// Materializes authoritative Token-2022 fee extension snapshots. +pub use self::materializer::materializer_fees_materialize_token2022_state_snapshots; +/// Materializes one canonical non-Metadata Metaplex account snapshot. +pub use self::materializer::materializer_metadata_materialize_metaplex_account_snapshot; +/// Materializes one canonical Metaplex Metadata account snapshot. +pub use self::materializer::materializer_metadata_materialize_metaplex_metadata_snapshot; +/// Materializes Token-2022 embedded metadata and group snapshots. +pub use self::materializer::materializer_metadata_materialize_token2022_snapshot; +/// Materializes one bounded Token-2022 account state snapshot. +pub use self::materializer::materializer_token_materialize_token2022_state_snapshot; /// Current canonical transaction document version. pub use self::model::MD_CANONICAL_TRANSACTION_FORMAT_VERSION; /// Source-neutral replay contracts. diff --git a/kb-lib/src/materializer.rs b/kb-lib/src/materializer.rs index 4785c2a..1e49d4b 100644 --- a/kb-lib/src/materializer.rs +++ b/kb-lib/src/materializer.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/materializer.rs -// version: 2 +// version: 3 //! Consolidated materializer modules. @@ -60,10 +60,10 @@ pub(crate) use self::transaction::MT_TRANSACTION_ANNOTATIONS_TRACING_TARGET; /// Stable native and SPL administration materializer. pub use self::admin::MtAdminMaterializer; -/// Materializes exact Token-2022 administration account snapshots. -pub use self::admin::materialize_token2022_admin_state_snapshots; /// Materializes one exact SPL ElGamal registry account snapshot. pub use self::admin::materializer_admin_materialize_elgamal_registry_state_snapshot; +/// Materializes exact Token-2022 administration account snapshots. +pub use self::admin::materializer_admin_materialize_token2022_state_snapshots; /// Stable decoded observation materializer contract used by the common pipeline. pub use self::api::MtApiEventMaterializer; /// Explicit policy applied to successful and failed source transactions. @@ -93,17 +93,17 @@ pub use self::compliance::MtComplianceAuditMaterializer; /// Fee materializer for committed Token-2022 fee observations. pub use self::fees::MtFeesMaterializer; /// Materializes authoritative Token-2022 fee extension snapshots. -pub use self::fees::materialize_token2022_fee_state_snapshots; +pub use self::fees::materializer_fees_materialize_token2022_state_snapshots; /// Stable native lifecycle materializer. pub use self::lifecycle::MtLifecycleMaterializer; /// Token-2022 and Metaplex metadata snapshot materializer. pub use self::metadata::MtMetadataMaterializer; /// Materializes one canonical non-Metadata Metaplex account snapshot. -pub use self::metadata::materialize_metaplex_account_snapshot; +pub use self::metadata::materializer_metadata_materialize_metaplex_account_snapshot; /// Materializes one canonical Metaplex Metadata account snapshot. -pub use self::metadata::materialize_metaplex_metadata_snapshot; +pub use self::metadata::materializer_metadata_materialize_metaplex_metadata_snapshot; /// Materializes Token-2022 embedded metadata and group snapshots. -pub use self::metadata::materialize_token2022_metadata_snapshot; +pub use self::metadata::materializer_metadata_materialize_token2022_snapshot; /// Stable SPL Token and ATA risk materializer. pub use self::risk::MtRiskMaterializer; /// Stable native stake and vote materializer. @@ -111,6 +111,6 @@ pub use self::staking::MtStakingMaterializer; /// Stable Token, ATA and Token-2022 account materializer. pub use self::token::MtTokenAccountsMaterializer; /// Materializes one bounded Token-2022 account state snapshot. -pub use self::token::materialize_token2022_state_snapshot; +pub use self::token::materializer_token_materialize_token2022_state_snapshot; /// Stable committed Memo transaction annotation materializer. pub use self::transaction::MtTransactionAnnotationMaterializer; diff --git a/kb-lib/src/materializer/admin.rs b/kb-lib/src/materializer/admin.rs index 6752f17..d7de52c 100644 --- a/kb-lib/src/materializer/admin.rs +++ b/kb-lib/src/materializer/admin.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/materializer/admin.rs -// version: 3 +// version: 4 //! `admin` materializer family. @@ -13,7 +13,7 @@ pub(crate) use self::constants::MT_ADMIN_TRACING_TARGET; /// Stable native and SPL administration materializer. pub use self::core::MtAdminMaterializer; -/// Materializes exact Token-2022 administration account snapshots. -pub use self::core::materialize_token2022_admin_state_snapshots; /// Materializes one exact SPL ElGamal registry account snapshot. pub use self::core::materializer_admin_materialize_elgamal_registry_state_snapshot; +/// Materializes exact Token-2022 administration account snapshots. +pub use self::core::materializer_admin_materialize_token2022_state_snapshots; diff --git a/kb-lib/src/materializer/admin/core.rs b/kb-lib/src/materializer/admin/core.rs index 87d5b32..9e7db2a 100644 --- a/kb-lib/src/materializer/admin/core.rs +++ b/kb-lib/src/materializer/admin/core.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/materializer/admin/core.rs -// version: 15 +// version: 16 //! Stable administrative projections derived from exact committed observations. @@ -905,7 +905,7 @@ mod tests { } /// Materialize authoritative Token-2022 administrative extension snapshots. -pub fn materialize_token2022_admin_state_snapshots( +pub fn materializer_admin_materialize_token2022_state_snapshots( account_key: &str, slot: u64, state: &crate::DcToken2022State, @@ -1012,8 +1012,10 @@ mod token2022_admin_state_tests { #[test] fn admin_snapshots_are_owned_once_filtered_and_idempotent() { let state = mint_state(); - let first = crate::materialize_token2022_admin_state_snapshots("mint111", 44, &state); - let second = crate::materialize_token2022_admin_state_snapshots("mint111", 44, &state); + let first = + crate::materializer_admin_materialize_token2022_state_snapshots("mint111", 44, &state); + let second = + crate::materializer_admin_materialize_token2022_state_snapshots("mint111", 44, &state); assert_eq!(first, second); assert_eq!(first.as_ref().map(std::vec::Vec::len), std::result::Result::Ok(2)); assert_eq!( @@ -1033,7 +1035,10 @@ mod token2022_admin_state_tests { #[test] fn admin_snapshots_reject_empty_identity_and_wrong_state_kind() { let state = mint_state(); - assert!(crate::materialize_token2022_admin_state_snapshots("", 44, &state).is_err()); + assert!( + crate::materializer_admin_materialize_token2022_state_snapshots("", 44, &state) + .is_err() + ); let account_state = crate::DcToken2022State { kind: crate::DcToken2022StateKind::Account, base_fields: serde_json::json!({}), @@ -1042,8 +1047,12 @@ mod token2022_admin_state_tests { extensions: state.extensions[..1].to_vec(), }; assert!( - crate::materialize_token2022_admin_state_snapshots("account111", 44, &account_state,) - .is_err() + crate::materializer_admin_materialize_token2022_state_snapshots( + "account111", + 44, + &account_state, + ) + .is_err() ); } } diff --git a/kb-lib/src/materializer/fees.rs b/kb-lib/src/materializer/fees.rs index 80f3fca..412fc9d 100644 --- a/kb-lib/src/materializer/fees.rs +++ b/kb-lib/src/materializer/fees.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/materializer/fees.rs -// version: 2 +// version: 3 //! `fees` materializer family. @@ -8,4 +8,4 @@ mod core; /// Fee materializer for committed Token-2022 fee observations. pub use self::core::MtFeesMaterializer; /// Materializes authoritative Token-2022 fee extension snapshots. -pub use self::core::materialize_token2022_fee_state_snapshots; +pub use self::core::materializer_fees_materialize_token2022_state_snapshots; diff --git a/kb-lib/src/materializer/fees/core.rs b/kb-lib/src/materializer/fees/core.rs index 7041a3d..575ee0f 100644 --- a/kb-lib/src/materializer/fees/core.rs +++ b/kb-lib/src/materializer/fees/core.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/materializer/fees/core.rs -// version: 2 +// version: 3 //! Stable fee projections derived from exact committed Token-2022 observations. @@ -151,7 +151,7 @@ fn contains(entries: &[&str], entry_code: &str) -> bool { } /// Materialize authoritative Token-2022 fee extension snapshots without decrypting confidential values. -pub fn materialize_token2022_fee_state_snapshots( +pub fn materializer_fees_materialize_token2022_state_snapshots( account_key: &str, slot: u64, state: &crate::DcToken2022State, @@ -371,8 +371,10 @@ mod tests { value_fields: serde_json::json!({"withheldAmount":"7"}), }], }; - let first = crate::materialize_token2022_fee_state_snapshots("mint111", 42, &mint); - let second = crate::materialize_token2022_fee_state_snapshots("mint111", 42, &mint); + let first = + crate::materializer_fees_materialize_token2022_state_snapshots("mint111", 42, &mint); + let second = + crate::materializer_fees_materialize_token2022_state_snapshots("mint111", 42, &mint); assert!(first.is_ok()); assert_eq!(first, second); let outputs = match first { @@ -399,7 +401,11 @@ mod tests { value_fields: serde_json::json!({"withheldAmount":"ciphertext"}), }], }; - let result = crate::materialize_token2022_fee_state_snapshots("account111", 43, &account); + let result = crate::materializer_fees_materialize_token2022_state_snapshots( + "account111", + 43, + &account, + ); assert!(result.is_ok()); let outputs = match result { std::result::Result::Ok(outputs) => outputs, @@ -425,8 +431,16 @@ mod tests { }], }; assert!( - crate::materialize_token2022_fee_state_snapshots("account111", 44, &wrong,).is_err() + crate::materializer_fees_materialize_token2022_state_snapshots( + "account111", + 44, + &wrong, + ) + .is_err() + ); + assert!( + crate::materializer_fees_materialize_token2022_state_snapshots("", 44, &wrong,) + .is_err() ); - assert!(crate::materialize_token2022_fee_state_snapshots("", 44, &wrong,).is_err()); } } diff --git a/kb-lib/src/materializer/metadata.rs b/kb-lib/src/materializer/metadata.rs index e916720..1eca606 100644 --- a/kb-lib/src/materializer/metadata.rs +++ b/kb-lib/src/materializer/metadata.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/materializer/metadata.rs -// version: 2 +// version: 3 //! `metadata` materializer family. @@ -8,8 +8,8 @@ mod core; /// Token-2022 and Metaplex metadata snapshot materializer. pub use self::core::MtMetadataMaterializer; /// Materializes one canonical non-Metadata Metaplex account snapshot. -pub use self::core::materialize_metaplex_account_snapshot; +pub use self::core::materializer_metadata_materialize_metaplex_account_snapshot; /// Materializes one canonical Metaplex Metadata account snapshot. -pub use self::core::materialize_metaplex_metadata_snapshot; +pub use self::core::materializer_metadata_materialize_metaplex_metadata_snapshot; /// Materializes Token-2022 embedded metadata and group snapshots. -pub use self::core::materialize_token2022_metadata_snapshot; +pub use self::core::materializer_metadata_materialize_token2022_snapshot; diff --git a/kb-lib/src/materializer/metadata/core.rs b/kb-lib/src/materializer/metadata/core.rs index 4a983dd..0bd3aa4 100644 --- a/kb-lib/src/materializer/metadata/core.rs +++ b/kb-lib/src/materializer/metadata/core.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/materializer/metadata/core.rs -// version: 2 +// version: 3 //! Stable Token-2022 and Metaplex metadata snapshot materializer. @@ -35,7 +35,7 @@ impl crate::MtMaterializer for crate::MtMetadataMaterializer { } /// Materialize embedded Token-2022 metadata, group, and group-member extensions. -pub fn materialize_token2022_metadata_snapshot( +pub fn materializer_metadata_materialize_token2022_snapshot( account_key: &str, slot: u64, state: &crate::DcToken2022State, @@ -97,7 +97,7 @@ pub fn materialize_token2022_metadata_snapshot( /// /// Account snapshots are authoritative for current state. Instruction observations may describe /// mutations, but must not emit a second competing metadata-state projection. -pub fn materialize_metaplex_metadata_snapshot( +pub fn materializer_metadata_materialize_metaplex_metadata_snapshot( snapshot: &crate::DcMetadataMtmCanonicalMetadataAccountSnapshot, ) -> std::result::Result { if !snapshot.provenance.committed { @@ -205,8 +205,10 @@ mod tests_metaplex_metadata_state { #[test] fn account_snapshot_is_one_stable_authoritative_metadata_projection() { - let first = crate::materialize_metaplex_metadata_snapshot(&snapshot(true)); - let second = crate::materialize_metaplex_metadata_snapshot(&snapshot(true)); + let first = + crate::materializer_metadata_materialize_metaplex_metadata_snapshot(&snapshot(true)); + let second = + crate::materializer_metadata_materialize_metaplex_metadata_snapshot(&snapshot(true)); assert_eq!(first, second); assert_eq!( first.as_ref().map(|value| return value.output_key.as_str()), @@ -235,7 +237,10 @@ mod tests_metaplex_metadata_state { #[test] fn uncommitted_or_non_metadata_state_is_rejected() { - assert!(crate::materialize_metaplex_metadata_snapshot(&snapshot(false)).is_err()); + assert!( + crate::materializer_metadata_materialize_metaplex_metadata_snapshot(&snapshot(false)) + .is_err() + ); let mut wrong = snapshot(true); wrong.state = crate::DcMetadataMtmCanonicalMetadataAccountState::EditionMarker( crate::DcMetadataMtmEditionMarkerAccountSnapshot { @@ -252,7 +257,9 @@ mod tests_metaplex_metadata_state { payload_json: serde_json::json!({}), }, ); - assert!(crate::materialize_metaplex_metadata_snapshot(&wrong).is_err()); + assert!( + crate::materializer_metadata_materialize_metaplex_metadata_snapshot(&wrong).is_err() + ); } } @@ -260,7 +267,7 @@ mod tests_metaplex_metadata_state { /// /// Every account address maps to one stable state key. Historical layouts remain materializable /// with an explicit historical lifecycle, while execution policy remains independently disabled. -pub fn materialize_metaplex_account_snapshot( +pub fn materializer_metadata_materialize_metaplex_account_snapshot( snapshot: &crate::DcMetadataMtmCanonicalMetadataAccountSnapshot, ) -> std::result::Result { if !snapshot.provenance.committed { @@ -404,8 +411,9 @@ mod tests_metaplex_account_state { }, provenance(), ); - let first = crate::materialize_metaplex_account_snapshot(&edition); - let second = crate::materialize_metaplex_account_snapshot(&reservation); + let first = crate::materializer_metadata_materialize_metaplex_account_snapshot(&edition); + let second = + crate::materializer_metadata_materialize_metaplex_account_snapshot(&reservation); assert_eq!( first.as_ref().map(|value| return value.payload_json["lifecycle"].clone()), std::result::Result::Ok(serde_json::json!("historical")) @@ -439,7 +447,7 @@ mod tests_metaplex_account_state { }, provenance(), ); - let output = crate::materialize_metaplex_account_snapshot(&token); + let output = crate::materializer_metadata_materialize_metaplex_account_snapshot(&token); assert_eq!( output.as_ref().map(|value| return value.payload_json["factOwner"].clone()), std::result::Result::Ok(serde_json::json!("kb_materializer_lifecycle")) @@ -469,9 +477,11 @@ mod tests_metaplex_account_state { provenance(), ); marker.provenance.committed = false; - assert!(crate::materialize_metaplex_account_snapshot(&marker).is_err()); assert!( - crate::materialize_metaplex_account_snapshot( + crate::materializer_metadata_materialize_metaplex_account_snapshot(&marker).is_err() + ); + assert!( + crate::materializer_metadata_materialize_metaplex_account_snapshot( &super::tests_metaplex_metadata_state::snapshot(true) ) .is_err() @@ -509,7 +519,8 @@ mod tests_token2022_state { }, ], }; - let outputs = crate::materialize_token2022_metadata_snapshot("mint111", 9, &state); + let outputs = + crate::materializer_metadata_materialize_token2022_snapshot("mint111", 9, &state); assert_eq!(outputs.as_ref().map(|values| return values.len()), std::result::Result::Ok(3)); assert_eq!( outputs @@ -545,11 +556,15 @@ mod tests_token2022_state { value_fields: serde_json::json!({}), }], }; - let first = crate::materialize_token2022_metadata_snapshot("mint111", 9, &state); - let second = crate::materialize_token2022_metadata_snapshot("mint111", 9, &state); + let first = + crate::materializer_metadata_materialize_token2022_snapshot("mint111", 9, &state); + let second = + crate::materializer_metadata_materialize_token2022_snapshot("mint111", 9, &state); assert_eq!(first, second); assert_eq!(first.as_ref().map(|values| return values.len()), std::result::Result::Ok(0)); - assert!(crate::materialize_token2022_metadata_snapshot("", 9, &state).is_err()); + assert!( + crate::materializer_metadata_materialize_token2022_snapshot("", 9, &state).is_err() + ); let account_state = crate::DcToken2022State { kind: crate::DcToken2022StateKind::Account, base_fields: serde_json::json!({}), @@ -558,8 +573,12 @@ mod tests_token2022_state { extensions: std::vec::Vec::new(), }; assert!( - crate::materialize_token2022_metadata_snapshot("account111", 9, &account_state) - .is_err() + crate::materializer_metadata_materialize_token2022_snapshot( + "account111", + 9, + &account_state + ) + .is_err() ); } } diff --git a/kb-lib/src/materializer/token.rs b/kb-lib/src/materializer/token.rs index cfd8112..d209082 100644 --- a/kb-lib/src/materializer/token.rs +++ b/kb-lib/src/materializer/token.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/materializer/token.rs -// version: 2 +// version: 3 //! `token` materializer family. @@ -17,4 +17,4 @@ pub(crate) use self::constants::MT_TOKEN_ACCOUNTS_TRACING_TARGET; /// Stable Token, ATA and Token-2022 account materializer. pub use self::accounts::MtTokenAccountsMaterializer; /// Materializes one bounded Token-2022 account state snapshot. -pub use self::accounts::materialize_token2022_state_snapshot; +pub use self::accounts::materializer_token_materialize_token2022_state_snapshot; diff --git a/kb-lib/src/materializer/token/accounts.rs b/kb-lib/src/materializer/token/accounts.rs index 55797d2..db2e4eb 100644 --- a/kb-lib/src/materializer/token/accounts.rs +++ b/kb-lib/src/materializer/token/accounts.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/materializer/token/accounts.rs -// version: 2 +// version: 3 //! Stable committed SPL Token mutation and ATA lifecycle projections. @@ -395,7 +395,7 @@ fn account_key_for_role(accounts: &serde_json::Value, role: &str) -> serde_json: } /// Materialize one already parsed Token-2022 account snapshot without inferring hidden state. -pub fn materialize_token2022_state_snapshot( +pub fn materializer_token_materialize_token2022_state_snapshot( account_key: &str, slot: u64, state: &crate::DcToken2022State, @@ -801,7 +801,9 @@ mod tests { }, ], }; - let output = match crate::materialize_token2022_state_snapshot("mint111", 99, &state) { + let output = match crate::materializer_token_materialize_token2022_state_snapshot( + "mint111", 99, &state, + ) { std::result::Result::Ok(value) => value, std::result::Result::Err(error) => panic!("snapshot failed: {error}"), }; @@ -823,9 +825,13 @@ mod tests { account_type: std::option::Option::None, extensions: std::vec::Vec::new(), }; - let first = crate::materialize_token2022_state_snapshot("account111", 7, &state); - let second = crate::materialize_token2022_state_snapshot("account111", 7, &state); + let first = + crate::materializer_token_materialize_token2022_state_snapshot("account111", 7, &state); + let second = + crate::materializer_token_materialize_token2022_state_snapshot("account111", 7, &state); assert_eq!(first, second); - assert!(crate::materialize_token2022_state_snapshot("", 7, &state).is_err()); + assert!( + crate::materializer_token_materialize_token2022_state_snapshot("", 7, &state).is_err() + ); } } diff --git a/kb-lib/src/materializer/transaction/annotations.rs b/kb-lib/src/materializer/transaction/annotations.rs index 6be4ada..8c82394 100644 --- a/kb-lib/src/materializer/transaction/annotations.rs +++ b/kb-lib/src/materializer/transaction/annotations.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/materializer/transaction/annotations.rs -// version: 2 +// version: 3 //! Exact committed SPL Memo transaction annotation projection. @@ -601,10 +601,7 @@ mod tests { std::result::Result::Err(error) => panic!("memo matrix is invalid JSON: {error}"), }; assert_eq!(matrix["matrixVersion"], 4); - assert_eq!( - matrix["materializationContract"]["crate"], - "kb_materializer_transaction_annotations" - ); + assert_eq!(matrix["materializationContract"]["crate"], "kb-lib"); assert_eq!( matrix["materializationContract"]["transactionPolicy"], "SuccessfulCommittedOnly" diff --git a/kb-lib/src/model.rs b/kb-lib/src/model.rs index d917462..e9d4dec 100644 --- a/kb-lib/src/model.rs +++ b/kb-lib/src/model.rs @@ -1,5 +1,5 @@ // file: kb-lib/src/model.rs -// version: 1 +// version: 2 //! Shared canonical models consolidated from `kb_model`. @@ -64,6 +64,10 @@ pub use self::nomenclature::MdProtocolCode; pub use self::nomenclature::MdSurfaceCode; /// Generic program observation derived from a Solana instruction. pub use self::observation::MdProgramObservation; +/// Version of the normalized core replay contract. +pub use self::replay::MD_CORE_REPLAY_INPUT_CONTRACT_VERSION; +/// Decoder replay input containing one instruction plus extracted transaction context. +pub use self::replay::MdCoreInstructionReplayInput; /// Stable top-level or inner instruction path. pub use self::solana::MdInstructionPath; /// Solana program id. @@ -74,8 +78,3 @@ pub use self::solana::MdPubkey; pub use self::solana::MdSignature; /// Solana slot. pub use self::solana::MdSlot; - -/// Version of the normalized core replay contract. -pub use self::replay::MD_CORE_REPLAY_INPUT_CONTRACT_VERSION; -/// Decoder replay input containing one instruction plus extracted transaction context. -pub use self::replay::MdCoreInstructionReplayInput; diff --git a/kb-lib/tests/external_materializer_api.rs b/kb-lib/tests/external_materializer_api.rs index 60a8f5e..1e06a09 100644 --- a/kb-lib/tests/external_materializer_api.rs +++ b/kb-lib/tests/external_materializer_api.rs @@ -1,5 +1,5 @@ // file: kb-lib/tests/external_materializer_api.rs -// version: 2 +// version: 3 //! Downstream-style compilation contract for externally implemented materializers. @@ -53,10 +53,10 @@ fn external_materializer_uses_only_the_public_kb_lib_contract() { assert_event_materializer::(); assert_legacy_materializer::(); let _ = kb_lib::materializer_admin_materialize_elgamal_registry_state_snapshot; - let _ = kb_lib::materialize_metaplex_account_snapshot; - let _ = kb_lib::materialize_metaplex_metadata_snapshot; - let _ = kb_lib::materialize_token2022_admin_state_snapshots; - let _ = kb_lib::materialize_token2022_fee_state_snapshots; - let _ = kb_lib::materialize_token2022_metadata_snapshot; - let _ = kb_lib::materialize_token2022_state_snapshot; + let _ = kb_lib::materializer_metadata_materialize_metaplex_account_snapshot; + let _ = kb_lib::materializer_metadata_materialize_metaplex_metadata_snapshot; + let _ = kb_lib::materializer_admin_materialize_token2022_state_snapshots; + let _ = kb_lib::materializer_fees_materialize_token2022_state_snapshots; + let _ = kb_lib::materializer_metadata_materialize_token2022_snapshot; + let _ = kb_lib::materializer_token_materialize_token2022_state_snapshot; } diff --git a/kb-program-ids/src/lib.rs b/kb-program-ids/src/lib.rs index 422fe48..19bd731 100644 --- a/kb-program-ids/src/lib.rs +++ b/kb-program-ids/src/lib.rs @@ -1,5 +1,5 @@ // file: kb-program-ids/src/lib.rs -// version: 8 +// version: 9 #![forbid(unsafe_code)] #![deny(unreachable_pub)] @@ -11,89 +11,89 @@ mod constants; mod programs; /// Internal list of executable native programs. -pub(crate) use constants::NATIVE_PROGRAM_ID_ENTRIES; +pub(crate) use self::constants::NATIVE_PROGRAM_ID_ENTRIES; /// Internal list of native well-known accounts. -pub(crate) use constants::NATIVE_WELL_KNOWN_ACCOUNT_ID_ENTRIES; +pub(crate) use self::constants::NATIVE_WELL_KNOWN_ACCOUNT_ID_ENTRIES; /// Internal list of currently registered identifiers. -pub(crate) use constants::PROGRAM_ID_ENTRIES; +pub(crate) use self::constants::PROGRAM_ID_ENTRIES; /// Address Lookup Table program identifier. -pub use constants::ADDRESS_LOOKUP_TABLE_PROGRAM_ID; +pub use self::constants::ADDRESS_LOOKUP_TABLE_PROGRAM_ID; /// SPL Associated Token Account program identifier. -pub use constants::ASSOCIATED_TOKEN_PROGRAM_ID; +pub use self::constants::ASSOCIATED_TOKEN_PROGRAM_ID; /// Deprecated BPF Loader program identifier. -pub use constants::BPF_LOADER_DEPRECATED_PROGRAM_ID; +pub use self::constants::BPF_LOADER_DEPRECATED_PROGRAM_ID; /// BPF Loader version 2 program identifier. -pub use constants::BPF_LOADER_PROGRAM_ID; +pub use self::constants::BPF_LOADER_PROGRAM_ID; /// Upgradeable BPF Loader program identifier. -pub use constants::BPF_LOADER_UPGRADEABLE_PROGRAM_ID; +pub use self::constants::BPF_LOADER_UPGRADEABLE_PROGRAM_ID; /// Compute Budget program identifier. -pub use constants::COMPUTE_BUDGET_PROGRAM_ID; +pub use self::constants::COMPUTE_BUDGET_PROGRAM_ID; /// Config program identifier. -pub use constants::CONFIG_PROGRAM_ID; +pub use self::constants::CONFIG_PROGRAM_ID; /// Ed25519 precompile program identifier. -pub use constants::ED25519_PROGRAM_ID; +pub use self::constants::ED25519_PROGRAM_ID; /// Feature program identifier. -pub use constants::FEATURE_PROGRAM_ID; +pub use self::constants::FEATURE_PROGRAM_ID; /// Incinerator well-known account identifier. -pub use constants::INCINERATOR_PROGRAM_ID; +pub use self::constants::INCINERATOR_PROGRAM_ID; /// Loader version 4 program identifier. -pub use constants::LOADER_V4_PROGRAM_ID; +pub use self::constants::LOADER_V4_PROGRAM_ID; /// Metaplex Token Metadata program identifier. -pub use constants::METADATA_METAPLEX_TOKEN_METADATA_PROGRAM_ID; +pub use self::constants::METADATA_METAPLEX_TOKEN_METADATA_PROGRAM_ID; /// Native Loader program identifier. -pub use constants::NATIVE_LOADER_PROGRAM_ID; +pub use self::constants::NATIVE_LOADER_PROGRAM_ID; /// Secp256k1 precompile program identifier. -pub use constants::SECP256K1_PROGRAM_ID; +pub use self::constants::SECP256K1_PROGRAM_ID; /// Secp256r1 precompile program identifier. -pub use constants::SECP256R1_PROGRAM_ID; +pub use self::constants::SECP256R1_PROGRAM_ID; /// Enshrined stateless Slashing program identifier. -pub use constants::SLASHING_PROGRAM_ID; +pub use self::constants::SLASHING_PROGRAM_ID; /// Historical SPL Memo v1 program identifier. -pub use constants::SPL_MEMO_V1_PROGRAM_ID; +pub use self::constants::SPL_MEMO_V1_PROGRAM_ID; /// Historical SPL Memo v3 program identifier. -pub use constants::SPL_MEMO_V3_PROGRAM_ID; +pub use self::constants::SPL_MEMO_V3_PROGRAM_ID; /// Current SPL Memo v4 program identifier. -pub use constants::SPL_MEMO_V4_PROGRAM_ID; +pub use self::constants::SPL_MEMO_V4_PROGRAM_ID; /// Classic SPL Token program identifier. -pub use constants::SPL_TOKEN_PROGRAM_ID; +pub use self::constants::SPL_TOKEN_PROGRAM_ID; /// SPL Token-2022 ElGamal public-key registry program identifier. -pub use constants::SPL_TOKEN2022_ELGAMAL_REGISTRY_PROGRAM_ID; +pub use self::constants::SPL_TOKEN2022_ELGAMAL_REGISTRY_PROGRAM_ID; /// SPL Token-2022 program identifier. -pub use constants::SPL_TOKEN2022_PROGRAM_ID; +pub use self::constants::SPL_TOKEN2022_PROGRAM_ID; /// Historical Stake configuration account identifier. -pub use constants::STAKE_CONFIG_ACCOUNT_ID; +pub use self::constants::STAKE_CONFIG_ACCOUNT_ID; /// Compatibility alias for the historical Stake configuration account identifier. -pub use constants::STAKE_CONFIG_PROGRAM_ID; +pub use self::constants::STAKE_CONFIG_PROGRAM_ID; /// Stake program identifier. -pub use constants::STAKE_PROGRAM_ID; +pub use self::constants::STAKE_PROGRAM_ID; /// System program identifier. -pub use constants::SYSTEM_PROGRAM_ID; +pub use self::constants::SYSTEM_PROGRAM_ID; /// Clock sysvar account identifier. -pub use constants::SYSVAR_CLOCK_PROGRAM_ID; +pub use self::constants::SYSVAR_CLOCK_PROGRAM_ID; /// Instructions sysvar account identifier. -pub use constants::SYSVAR_INSTRUCTIONS_PROGRAM_ID; +pub use self::constants::SYSVAR_INSTRUCTIONS_PROGRAM_ID; /// Rent sysvar account identifier. -pub use constants::SYSVAR_RENT_PROGRAM_ID; +pub use self::constants::SYSVAR_RENT_PROGRAM_ID; /// Slot Hashes sysvar account identifier. -pub use constants::SYSVAR_SLOT_HASHES_PROGRAM_ID; +pub use self::constants::SYSVAR_SLOT_HASHES_PROGRAM_ID; /// Stake History sysvar account identifier. -pub use constants::SYSVAR_STAKE_HISTORY_PROGRAM_ID; +pub use self::constants::SYSVAR_STAKE_HISTORY_PROGRAM_ID; /// Vote program identifier. -pub use constants::VOTE_PROGRAM_ID; +pub use self::constants::VOTE_PROGRAM_ID; /// ZK ElGamal Proof program identifier. -pub use constants::ZK_ELGAMAL_PROOF_PROGRAM_ID; +pub use self::constants::ZK_ELGAMAL_PROOF_PROGRAM_ID; /// ZK Token Proof program identifier. -pub use constants::ZK_TOKEN_PROOF_PROGRAM_ID; +pub use self::constants::ZK_TOKEN_PROOF_PROGRAM_ID; /// One enumerable program identifier entry. -pub use programs::ProgramIdEntry; +pub use self::programs::ProgramIdEntry; /// Returns every program identifier currently registered by this crate. -pub use programs::entries; +pub use self::programs::entries; /// Finds one registered program or well-known account by exact Base58 identifier. -pub use programs::find_registered_program_id; +pub use self::programs::find_registered_program_id; /// Returns every executable runtime-native, loader, precompile and historical native program identifier. -pub use programs::native_program_ids; +pub use self::programs::native_program_ids; /// Returns native well-known accounts that are not executable programs. -pub use programs::native_well_known_account_ids; +pub use self::programs::native_well_known_account_ids; /// Returns every program identifier currently registered by this crate. -pub use programs::registered_program_ids; +pub use self::programs::registered_program_ids; diff --git a/kb-store/src/contracts.rs b/kb-store/src/contracts.rs index 61243fe..d25605b 100644 --- a/kb-store/src/contracts.rs +++ b/kb-store/src/contracts.rs @@ -1,5 +1,5 @@ // file: kb-store/src/contracts.rs -// version: 1 +// version: 2 //! Backend-neutral storage contracts used by pipeline crates. @@ -11,142 +11,142 @@ mod pagination; mod repository; /// Core account key insert contract. -pub use crate::contracts::dto::CoreAccountKeyInsert; +pub use self::dto::CoreAccountKeyInsert; /// Core account key source category. -pub use crate::contracts::dto::CoreAccountKeySource; +pub use self::dto::CoreAccountKeySource; /// Core balance change insert contract. -pub use crate::contracts::dto::CoreBalanceChangeInsert; +pub use self::dto::CoreBalanceChangeInsert; /// Core balance change kind. -pub use crate::contracts::dto::CoreBalanceChangeKind; +pub use self::dto::CoreBalanceChangeKind; /// Complete normalized core extraction write bundle. -pub use crate::contracts::dto::CoreExtractionBundle; +pub use self::dto::CoreExtractionBundle; /// Failure details persisted for one canonical to core extraction attempt. -pub use crate::contracts::dto::CoreExtractionFailure; +pub use self::dto::CoreExtractionFailure; /// Bounded canonical transaction selection filter for core extraction. -pub use crate::contracts::dto::CoreExtractionSelectionFilter; +pub use self::dto::CoreExtractionSelectionFilter; /// Core inner instruction insert contract. -pub use crate::contracts::dto::CoreInnerInstructionInsert; +pub use self::dto::CoreInnerInstructionInsert; /// Core instruction insert contract. -pub use crate::contracts::dto::CoreInstructionInsert; +pub use self::dto::CoreInstructionInsert; /// Core instruction lifecycle mark request. -pub use crate::contracts::dto::CoreInstructionLifecycleMark; +pub use self::dto::CoreInstructionLifecycleMark; /// Core instruction processing state. -pub use crate::contracts::dto::CoreInstructionProcessingState; +pub use self::dto::CoreInstructionProcessingState; /// Core instruction replay filter contract. -pub use crate::contracts::dto::CoreInstructionReplayFilter; +pub use self::dto::CoreInstructionReplayFilter; /// Core log insert contract. -pub use crate::contracts::dto::CoreLogInsert; +pub use self::dto::CoreLogInsert; /// Core transaction insert contract. -pub use crate::contracts::dto::CoreTransactionInsert; +pub use self::dto::CoreTransactionInsert; /// One machine-readable decoder coverage declaration row. -pub use crate::contracts::dto::DecodeCoverageDeclarationInsert; +pub use self::dto::DecodeCoverageDeclarationInsert; /// One observed coverage classification row owned by one decode attempt. -pub use crate::contracts::dto::DecodeCoverageObservationInsert; +pub use self::dto::DecodeCoverageObservationInsert; /// One row of aggregated decoder coverage diagnostics. -pub use crate::contracts::dto::DecodeCoverageSummaryRow; +pub use self::dto::DecodeCoverageSummaryRow; /// Failed decode attempt persisted in the common ledger. -pub use crate::contracts::dto::DecodeFailure; +pub use self::dto::DecodeFailure; /// One processor-owned decoded observation row. -pub use crate::contracts::dto::DecodeObservationInsert; +pub use self::dto::DecodeObservationInsert; /// Atomic persistence bundle for one decoder and one contextual input. -pub use crate::contracts::dto::DecodePersistenceBundle; +pub use self::dto::DecodePersistenceBundle; /// Bounded contextual instruction selection filter for decode campaigns. -pub use crate::contracts::dto::DecodeSelectionFilter; +pub use self::dto::DecodeSelectionFilter; /// Decoded event insert contract. -pub use crate::contracts::dto::DecodedEventInsert; +pub use self::dto::DecodedEventInsert; /// Insert or upsert result contract returned by repositories. -pub use crate::contracts::dto::InsertOutcome; +pub use self::dto::InsertOutcome; /// Maximum number of materialized rows returned by one bounded query. -pub use crate::contracts::dto::MAX_MATERIALIZED_EVENT_QUERY_ROWS; +pub use self::dto::MAX_MATERIALIZED_EVENT_QUERY_ROWS; /// Atomic persistence bundle for one materializer and one decoded observation. -pub use crate::contracts::dto::MaterializationPersistenceBundle; +pub use self::dto::MaterializationPersistenceBundle; /// Bounded read-only materialized event selection. -pub use crate::contracts::dto::MaterializedEventFilter; +pub use self::dto::MaterializedEventFilter; /// Materialized event insert contract. -pub use crate::contracts::dto::MaterializedEventInsert; +pub use self::dto::MaterializedEventInsert; /// One materialized output returned by a bounded query. -pub use crate::contracts::dto::MaterializedEventQueryRow; +pub use self::dto::MaterializedEventQueryRow; /// One processor-owned materialized output row. -pub use crate::contracts::dto::MaterializedOutputInsert; +pub use self::dto::MaterializedOutputInsert; /// Stable processing ledger identity. -pub use crate::contracts::dto::ProcessingLedgerIdentity; +pub use self::dto::ProcessingLedgerIdentity; /// Processing ledger mark request contract. -pub use crate::contracts::dto::ProcessingLedgerMark; +pub use self::dto::ProcessingLedgerMark; /// Stable processing ledger status. -pub use crate::contracts::dto::ProcessingLedgerStatus; +pub use self::dto::ProcessingLedgerStatus; /// Raw payload lifecycle mark request. -pub use crate::contracts::dto::RawPayloadLifecycleMark; +pub use self::dto::RawPayloadLifecycleMark; /// Raw payload processing state. -pub use crate::contracts::dto::RawPayloadProcessingState; +pub use self::dto::RawPayloadProcessingState; /// Raw payload retention state. -pub use crate::contracts::dto::RawPayloadRetentionState; +pub use self::dto::RawPayloadRetentionState; /// Canonical raw Solana transaction insert contract. -pub use crate::contracts::dto::RawTransactionInsert; +pub use self::dto::RawTransactionInsert; /// Store backend diagnostic contract. -pub use crate::contracts::dto::StoreBackendDescriptor; +pub use self::dto::StoreBackendDescriptor; /// Store backend kind contract. -pub use crate::contracts::dto::StoreBackendKind; +pub use self::dto::StoreBackendKind; /// Store migration diagnostic snapshot contract. -pub use crate::contracts::dto::StoreMigrationSnapshot; +pub use self::dto::StoreMigrationSnapshot; /// Store migration status contract. -pub use crate::contracts::dto::StoreMigrationStatus; +pub use self::dto::StoreMigrationStatus; /// Transaction acquisition observation insert contract. -pub use crate::contracts::dto::TransactionObservationInsert; +pub use self::dto::TransactionObservationInsert; /// Transaction acquisition observation origin. -pub use crate::contracts::dto::TransactionObservationOrigin; +pub use self::dto::TransactionObservationOrigin; /// Transaction acquisition observation status. -pub use crate::contracts::dto::TransactionObservationStatus; +pub use self::dto::TransactionObservationStatus; /// Core account key SQL-like row contract. -pub use crate::contracts::entity::CoreAccountKeyRow; +pub use self::entity::CoreAccountKeyRow; /// Core balance change SQL-like row contract. -pub use crate::contracts::entity::CoreBalanceChangeRow; +pub use self::entity::CoreBalanceChangeRow; /// Core inner instruction SQL-like row contract. -pub use crate::contracts::entity::CoreInnerInstructionRow; +pub use self::entity::CoreInnerInstructionRow; /// Core instruction SQL-like row contract. -pub use crate::contracts::entity::CoreInstructionRow; +pub use self::entity::CoreInstructionRow; /// Core log SQL-like row contract. -pub use crate::contracts::entity::CoreLogRow; +pub use self::entity::CoreLogRow; /// Core transaction SQL-like row contract. -pub use crate::contracts::entity::CoreTransactionRow; +pub use self::entity::CoreTransactionRow; /// Decoded event SQL-like row contract. -pub use crate::contracts::entity::DecodedEventRow; +pub use self::entity::DecodedEventRow; /// Materialized event SQL-like row contract. -pub use crate::contracts::entity::MaterializedEventRow; +pub use self::entity::MaterializedEventRow; /// Processing ledger SQL-like row contract. -pub use crate::contracts::entity::ProcessingLedgerRow; +pub use self::entity::ProcessingLedgerRow; /// Canonical raw Solana transaction SQL-like row contract. -pub use crate::contracts::entity::RawTransactionRow; +pub use self::entity::RawTransactionRow; /// Transaction acquisition observation SQL-like row contract. -pub use crate::contracts::entity::TransactionObservationRow; +pub use self::entity::TransactionObservationRow; /// Storage error helper functions. -pub use crate::contracts::error::storage_contract_error; +pub use self::error::storage_contract_error; /// Store backend health snapshot. -pub use crate::contracts::health::StoreHealthSnapshot; +pub use self::health::StoreHealthSnapshot; /// Store backend health status. -pub use crate::contracts::health::StoreHealthStatus; +pub use self::health::StoreHealthStatus; /// Default repository page size. -pub use crate::contracts::pagination::DEFAULT_PAGE_SIZE; +pub use self::pagination::DEFAULT_PAGE_SIZE; /// Maximum repository page size. -pub use crate::contracts::pagination::MAX_PAGE_SIZE; +pub use self::pagination::MAX_PAGE_SIZE; /// Page request contract for repository list operations. -pub use crate::contracts::pagination::PageRequest; +pub use self::pagination::PageRequest; /// Sort direction for repository list operations. -pub use crate::contracts::pagination::SortDirection; +pub use self::pagination::SortDirection; /// Canonical transaction to core extraction storage behavior. -pub use crate::contracts::repository::CoreExtractionStore; +pub use self::repository::CoreExtractionStore; /// Core Solana storage behavior. -pub use crate::contracts::repository::CoreTransactionStore; +pub use self::repository::CoreTransactionStore; /// Contextual instruction decode and materialization storage behavior. -pub use crate::contracts::repository::DecodePipelineStore; +pub use self::repository::DecodePipelineStore; /// Decoded event storage behavior. -pub use crate::contracts::repository::DecodedEventStore; +pub use self::repository::DecodedEventStore; /// Materialized event storage behavior. -pub use crate::contracts::repository::MaterializedEventStore; +pub use self::repository::MaterializedEventStore; /// Processing ledger storage behavior. -pub use crate::contracts::repository::ProcessingLedgerStore; +pub use self::repository::ProcessingLedgerStore; /// Program observation storage behavior. -pub use crate::contracts::repository::ProgramObservationStore; +pub use self::repository::ProgramObservationStore; /// Raw transaction storage behavior. -pub use crate::contracts::repository::RawTransactionStore; +pub use self::repository::RawTransactionStore; /// Store health storage behavior. -pub use crate::contracts::repository::StoreHealthStore; +pub use self::repository::StoreHealthStore; diff --git a/kb-store/src/contracts/dto.rs b/kb-store/src/contracts/dto.rs index d883af8..f1555dd 100644 --- a/kb-store/src/contracts/dto.rs +++ b/kb-store/src/contracts/dto.rs @@ -1,5 +1,5 @@ // file: kb-store/src/contracts/dto.rs -// version: 1 +// version: 2 //! Backend-neutral DTO exports for storage repository contracts. @@ -12,88 +12,88 @@ mod raw; mod store; /// Core account key insert contract. -pub use crate::contracts::dto::core::CoreAccountKeyInsert; +pub use self::core::CoreAccountKeyInsert; /// Core account key source category. -pub use crate::contracts::dto::core::CoreAccountKeySource; +pub use self::core::CoreAccountKeySource; /// Core balance change insert contract. -pub use crate::contracts::dto::core::CoreBalanceChangeInsert; +pub use self::core::CoreBalanceChangeInsert; /// Core balance change kind. -pub use crate::contracts::dto::core::CoreBalanceChangeKind; +pub use self::core::CoreBalanceChangeKind; /// Core inner instruction insert contract. -pub use crate::contracts::dto::core::CoreInnerInstructionInsert; +pub use self::core::CoreInnerInstructionInsert; /// Core instruction insert contract. -pub use crate::contracts::dto::core::CoreInstructionInsert; +pub use self::core::CoreInstructionInsert; /// Core instruction lifecycle mark request. -pub use crate::contracts::dto::core::CoreInstructionLifecycleMark; +pub use self::core::CoreInstructionLifecycleMark; /// Core instruction processing state. -pub use crate::contracts::dto::core::CoreInstructionProcessingState; +pub use self::core::CoreInstructionProcessingState; /// Core instruction replay filter contract. -pub use crate::contracts::dto::core::CoreInstructionReplayFilter; +pub use self::core::CoreInstructionReplayFilter; /// Core log insert contract. -pub use crate::contracts::dto::core::CoreLogInsert; +pub use self::core::CoreLogInsert; /// Core transaction insert contract. -pub use crate::contracts::dto::core::CoreTransactionInsert; +pub use self::core::CoreTransactionInsert; /// Complete normalized core extraction write bundle. -pub use crate::contracts::dto::core_extraction::CoreExtractionBundle; +pub use self::core_extraction::CoreExtractionBundle; /// Failure details persisted for one canonical to core extraction attempt. -pub use crate::contracts::dto::core_extraction::CoreExtractionFailure; +pub use self::core_extraction::CoreExtractionFailure; /// Bounded canonical transaction selection filter for core extraction. -pub use crate::contracts::dto::core_extraction::CoreExtractionSelectionFilter; +pub use self::core_extraction::CoreExtractionSelectionFilter; /// Stable processing ledger identity. -pub use crate::contracts::dto::core_extraction::ProcessingLedgerIdentity; +pub use self::core_extraction::ProcessingLedgerIdentity; /// Stable processing ledger status. -pub use crate::contracts::dto::core_extraction::ProcessingLedgerStatus; +pub use self::core_extraction::ProcessingLedgerStatus; /// One machine-readable decoder coverage declaration row. -pub use crate::contracts::dto::decode::DecodeCoverageDeclarationInsert; +pub use self::decode::DecodeCoverageDeclarationInsert; /// One observed coverage classification row owned by one decode attempt. -pub use crate::contracts::dto::decode::DecodeCoverageObservationInsert; +pub use self::decode::DecodeCoverageObservationInsert; /// One row of aggregated decoder coverage diagnostics. -pub use crate::contracts::dto::decode::DecodeCoverageSummaryRow; +pub use self::decode::DecodeCoverageSummaryRow; /// Failed decode attempt persisted in the common ledger. -pub use crate::contracts::dto::decode::DecodeFailure; +pub use self::decode::DecodeFailure; /// One processor-owned decoded observation row. -pub use crate::contracts::dto::decode::DecodeObservationInsert; +pub use self::decode::DecodeObservationInsert; /// Atomic persistence bundle for one decoder and one contextual input. -pub use crate::contracts::dto::decode::DecodePersistenceBundle; +pub use self::decode::DecodePersistenceBundle; /// Bounded contextual instruction selection filter for decode campaigns. -pub use crate::contracts::dto::decode::DecodeSelectionFilter; +pub use self::decode::DecodeSelectionFilter; /// Maximum number of materialized rows returned by one bounded query. -pub use crate::contracts::dto::decode::MAX_MATERIALIZED_EVENT_QUERY_ROWS; +pub use self::decode::MAX_MATERIALIZED_EVENT_QUERY_ROWS; /// Atomic persistence bundle for one materializer and one decoded observation. -pub use crate::contracts::dto::decode::MaterializationPersistenceBundle; +pub use self::decode::MaterializationPersistenceBundle; /// Bounded read-only materialized event selection. -pub use crate::contracts::dto::decode::MaterializedEventFilter; +pub use self::decode::MaterializedEventFilter; /// One materialized output returned by a bounded query. -pub use crate::contracts::dto::decode::MaterializedEventQueryRow; +pub use self::decode::MaterializedEventQueryRow; /// One processor-owned materialized output row. -pub use crate::contracts::dto::decode::MaterializedOutputInsert; +pub use self::decode::MaterializedOutputInsert; /// Decoded event insert contract. -pub use crate::contracts::dto::event::DecodedEventInsert; +pub use self::event::DecodedEventInsert; /// Insert or upsert result contract returned by repositories. -pub use crate::contracts::dto::event::InsertOutcome; +pub use self::event::InsertOutcome; /// Materialized event insert contract. -pub use crate::contracts::dto::event::MaterializedEventInsert; +pub use self::event::MaterializedEventInsert; /// Processing ledger mark request contract. -pub use crate::contracts::dto::ledger::ProcessingLedgerMark; +pub use self::ledger::ProcessingLedgerMark; /// Raw payload lifecycle mark request. -pub use crate::contracts::dto::raw::RawPayloadLifecycleMark; +pub use self::raw::RawPayloadLifecycleMark; /// Raw payload processing state. -pub use crate::contracts::dto::raw::RawPayloadProcessingState; +pub use self::raw::RawPayloadProcessingState; /// Raw payload retention state. -pub use crate::contracts::dto::raw::RawPayloadRetentionState; +pub use self::raw::RawPayloadRetentionState; /// Canonical raw Solana transaction insert contract. -pub use crate::contracts::dto::raw::RawTransactionInsert; +pub use self::raw::RawTransactionInsert; /// Transaction acquisition observation insert contract. -pub use crate::contracts::dto::raw::TransactionObservationInsert; +pub use self::raw::TransactionObservationInsert; /// Transaction acquisition observation origin. -pub use crate::contracts::dto::raw::TransactionObservationOrigin; +pub use self::raw::TransactionObservationOrigin; /// Transaction acquisition observation status. -pub use crate::contracts::dto::raw::TransactionObservationStatus; +pub use self::raw::TransactionObservationStatus; /// Store backend diagnostic contract. -pub use crate::contracts::dto::store::StoreBackendDescriptor; +pub use self::store::StoreBackendDescriptor; /// Store backend kind contract. -pub use crate::contracts::dto::store::StoreBackendKind; +pub use self::store::StoreBackendKind; /// Store migration diagnostic snapshot contract. -pub use crate::contracts::dto::store::StoreMigrationSnapshot; +pub use self::store::StoreMigrationSnapshot; /// Store migration status contract. -pub use crate::contracts::dto::store::StoreMigrationStatus; +pub use self::store::StoreMigrationStatus; diff --git a/kb-store/src/contracts/entity.rs b/kb-store/src/contracts/entity.rs index fa272b7..c779318 100644 --- a/kb-store/src/contracts/entity.rs +++ b/kb-store/src/contracts/entity.rs @@ -1,5 +1,5 @@ // file: kb-store/src/contracts/entity.rs -// version: 1 +// version: 2 //! Backend-neutral SQL-like entity exports for storage adapters. @@ -9,24 +9,24 @@ mod ledger; mod raw; /// Core account key SQL-like row contract. -pub use crate::contracts::entity::core::CoreAccountKeyRow; +pub use self::core::CoreAccountKeyRow; /// Core balance change SQL-like row contract. -pub use crate::contracts::entity::core::CoreBalanceChangeRow; +pub use self::core::CoreBalanceChangeRow; /// Core inner instruction SQL-like row contract. -pub use crate::contracts::entity::core::CoreInnerInstructionRow; +pub use self::core::CoreInnerInstructionRow; /// Core instruction SQL-like row contract. -pub use crate::contracts::entity::core::CoreInstructionRow; +pub use self::core::CoreInstructionRow; /// Core log SQL-like row contract. -pub use crate::contracts::entity::core::CoreLogRow; +pub use self::core::CoreLogRow; /// Core transaction SQL-like row contract. -pub use crate::contracts::entity::core::CoreTransactionRow; +pub use self::core::CoreTransactionRow; /// Decoded event SQL-like row contract. -pub use crate::contracts::entity::event::DecodedEventRow; +pub use self::event::DecodedEventRow; /// Materialized event SQL-like row contract. -pub use crate::contracts::entity::event::MaterializedEventRow; +pub use self::event::MaterializedEventRow; /// Processing ledger SQL-like row contract. -pub use crate::contracts::entity::ledger::ProcessingLedgerRow; +pub use self::ledger::ProcessingLedgerRow; /// Canonical raw Solana transaction SQL-like row contract. -pub use crate::contracts::entity::raw::RawTransactionRow; +pub use self::raw::RawTransactionRow; /// Transaction acquisition observation SQL-like row contract. -pub use crate::contracts::entity::raw::TransactionObservationRow; +pub use self::raw::TransactionObservationRow; diff --git a/kb-store/src/postgres.rs b/kb-store/src/postgres.rs index 0f30b55..a1a9288 100644 --- a/kb-store/src/postgres.rs +++ b/kb-store/src/postgres.rs @@ -1,5 +1,5 @@ // file: kb-store/src/postgres.rs -// version: 2 +// version: 3 //! PostgreSQL storage implementation boundary. @@ -12,100 +12,100 @@ mod store; mod test_serial; /// Allowed Solana table domains encoded in table names. -pub use crate::postgres::migrations::ALLOWED_SOLANA_TABLE_DOMAINS; +pub use self::migrations::ALLOWED_SOLANA_TABLE_DOMAINS; /// Core account key table name. -pub use crate::postgres::migrations::CORE_ACCOUNT_KEYS_TABLE_NAME; +pub use self::migrations::CORE_ACCOUNT_KEYS_TABLE_NAME; /// Core balance change table name. -pub use crate::postgres::migrations::CORE_BALANCE_CHANGES_TABLE_NAME; +pub use self::migrations::CORE_BALANCE_CHANGES_TABLE_NAME; /// Core inner instruction table name. -pub use crate::postgres::migrations::CORE_INNER_INSTRUCTIONS_TABLE_NAME; +pub use self::migrations::CORE_INNER_INSTRUCTIONS_TABLE_NAME; /// Core instruction table name. -pub use crate::postgres::migrations::CORE_INSTRUCTIONS_TABLE_NAME; +pub use self::migrations::CORE_INSTRUCTIONS_TABLE_NAME; /// Core log table name. -pub use crate::postgres::migrations::CORE_LOGS_TABLE_NAME; +pub use self::migrations::CORE_LOGS_TABLE_NAME; /// Core Solana table names introduced by `0.2.4`. -pub use crate::postgres::migrations::CORE_STORE_TABLE_NAMES; +pub use self::migrations::CORE_STORE_TABLE_NAMES; /// Core transaction table name. -pub use crate::postgres::migrations::CORE_TRANSACTIONS_TABLE_NAME; +pub use self::migrations::CORE_TRANSACTIONS_TABLE_NAME; /// Machine-readable decoder coverage declaration table name. -pub use crate::postgres::migrations::DECODE_COVERAGE_DECLARATIONS_TABLE_NAME; +pub use self::migrations::DECODE_COVERAGE_DECLARATIONS_TABLE_NAME; /// Observed decoder coverage classification table name. -pub use crate::postgres::migrations::DECODE_COVERAGE_OBSERVATIONS_TABLE_NAME; +pub use self::migrations::DECODE_COVERAGE_OBSERVATIONS_TABLE_NAME; /// Versioned decoded event table name. -pub use crate::postgres::migrations::DECODE_EVENTS_TABLE_NAME; +pub use self::migrations::DECODE_EVENTS_TABLE_NAME; /// Decode and materialization table names introduced by `0.4.0`. -pub use crate::postgres::migrations::DECODE_STORE_TABLE_NAMES; +pub use self::migrations::DECODE_STORE_TABLE_NAMES; /// Default PostgreSQL schema policy. -pub use crate::postgres::migrations::DEFAULT_SCHEMA_POLICY; +pub use self::migrations::DEFAULT_SCHEMA_POLICY; /// Versioned materialized output table name. -pub use crate::postgres::migrations::MATERIALIZED_EVENTS_TABLE_NAME; +pub use self::migrations::MATERIALIZED_EVENTS_TABLE_NAME; /// PostgreSQL migration strategy used by this crate. -pub use crate::postgres::migrations::MIGRATION_STRATEGY; +pub use self::migrations::MIGRATION_STRATEGY; /// Migration table name used by sqlx when migrations are enabled later. -pub use crate::postgres::migrations::MIGRATION_TABLE_NAME; +pub use self::migrations::MIGRATION_TABLE_NAME; /// Processing ledger table name. -pub use crate::postgres::migrations::PROCESSING_LEDGER_TABLE_NAME; +pub use self::migrations::PROCESSING_LEDGER_TABLE_NAME; /// Table diagnostic metadata. -pub use crate::postgres::migrations::PostgresTableDiagnosticSpec; +pub use self::migrations::PostgresTableDiagnosticSpec; /// Canonical transaction acquisition table names active since `0.3.1`. -pub use crate::postgres::migrations::RAW_STORE_TABLE_NAMES; +pub use self::migrations::RAW_STORE_TABLE_NAMES; /// Canonical raw transaction table name. -pub use crate::postgres::migrations::RAW_TRANSACTIONS_TABLE_NAME; +pub use self::migrations::RAW_TRANSACTIONS_TABLE_NAME; /// Solana application table prefix. -pub use crate::postgres::migrations::SOLANA_TABLE_PREFIX; +pub use self::migrations::SOLANA_TABLE_PREFIX; /// Advisory lock id used while initializing store schemas. -pub use crate::postgres::migrations::STORE_SCHEMA_ADVISORY_LOCK_ID; +pub use self::migrations::STORE_SCHEMA_ADVISORY_LOCK_ID; /// Transaction acquisition observation table name. -pub use crate::postgres::migrations::TRANSACTION_OBSERVATIONS_TABLE_NAME; +pub use self::migrations::TRANSACTION_OBSERVATIONS_TABLE_NAME; /// Core store SQL statements applied by the idempotent initializer. -pub use crate::postgres::migrations::core_store_schema_statements; +pub use self::migrations::core_store_schema_statements; /// Core table diagnostic specs. -pub use crate::postgres::migrations::core_store_table_diagnostic_specs; +pub use self::migrations::core_store_table_diagnostic_specs; /// Decode and materialization SQL statements applied by the idempotent initializer. -pub use crate::postgres::migrations::decode_store_schema_statements; +pub use self::migrations::decode_store_schema_statements; /// Decode and materialization table diagnostic specs. -pub use crate::postgres::migrations::decode_store_table_diagnostic_specs; +pub use self::migrations::decode_store_table_diagnostic_specs; /// Returns true when a Solana table name follows the canonical prefix and domain rules. -pub use crate::postgres::migrations::is_valid_solana_table_name; +pub use self::migrations::is_valid_solana_table_name; /// Canonical transaction acquisition SQL statements applied by the initializer. -pub use crate::postgres::migrations::raw_store_schema_statements; +pub use self::migrations::raw_store_schema_statements; /// Canonical transaction acquisition diagnostic specs. -pub use crate::postgres::migrations::raw_store_table_diagnostic_specs; +pub use self::migrations::raw_store_table_diagnostic_specs; /// Validates core store table names. -pub use crate::postgres::migrations::validate_core_store_table_names; +pub use self::migrations::validate_core_store_table_names; /// Validates decode and materialization store table names. -pub use crate::postgres::migrations::validate_decode_store_table_names; +pub use self::migrations::validate_decode_store_table_names; /// Validates canonical transaction acquisition table names. -pub use crate::postgres::migrations::validate_raw_store_table_names; +pub use self::migrations::validate_raw_store_table_names; /// Validates a canonical Solana table name. -pub use crate::postgres::migrations::validate_solana_table_name; +pub use self::migrations::validate_solana_table_name; /// Maximum number of rows returned by one replay candidate query. -pub use crate::postgres::replay_candidates::MAX_REPLAY_CANDIDATE_ROWS; +pub use self::replay_candidates::MAX_REPLAY_CANDIDATE_ROWS; /// Bounded read-only filter for core entity summaries. -pub use crate::postgres::replay_candidates::PostgresReplayEntityFilter; +pub use self::replay_candidates::PostgresReplayEntityFilter; /// Core entity kind used while filtering replay candidates. -pub use crate::postgres::replay_candidates::PostgresReplayEntityKind; +pub use self::replay_candidates::PostgresReplayEntityKind; /// Aggregated mint, owner or account-key occurrences from core tables. -pub use crate::postgres::replay_candidates::PostgresReplayEntitySummary; +pub use self::replay_candidates::PostgresReplayEntitySummary; /// Bounded read-only filter for program summaries. -pub use crate::postgres::replay_candidates::PostgresReplayProgramFilter; +pub use self::replay_candidates::PostgresReplayProgramFilter; /// Program occurrence scope used while filtering replay candidates. -pub use crate::postgres::replay_candidates::PostgresReplayProgramScope; +pub use self::replay_candidates::PostgresReplayProgramScope; /// Aggregated program occurrences across outer, inner and linked logs. -pub use crate::postgres::replay_candidates::PostgresReplayProgramSummary; +pub use self::replay_candidates::PostgresReplayProgramSummary; /// One raw transaction candidate enriched with core and ledger diagnostics. -pub use crate::postgres::replay_candidates::PostgresReplayTransactionCandidate; +pub use self::replay_candidates::PostgresReplayTransactionCandidate; /// Bounded read-only filter for transaction replay candidates. -pub use crate::postgres::replay_candidates::PostgresReplayTransactionFilter; +pub use self::replay_candidates::PostgresReplayTransactionFilter; /// PostgreSQL diagnostic snapshot. -pub use crate::postgres::store::PostgresBackendDiagnostics; +pub use self::store::PostgresBackendDiagnostics; /// Minimal PostgreSQL store handle. -pub use crate::postgres::store::PostgresStore; +pub use self::store::PostgresStore; /// PostgreSQL store connection options. -pub use crate::postgres::store::PostgresStoreOptions; +pub use self::store::PostgresStoreOptions; /// PostgreSQL table diagnostic snapshot. -pub use crate::postgres::store::PostgresTableDiagnostics; +pub use self::store::PostgresTableDiagnostics; /// PostgreSQL table statistics snapshot. -pub use crate::postgres::store::PostgresTableStatistics; +pub use self::store::PostgresTableStatistics; /// Returns a DSN masked for logs and UI diagnostics. -pub use crate::postgres::store::mask_postgres_dsn; +pub use self::store::mask_postgres_dsn; diff --git a/kb-store/src/postgres/query.rs b/kb-store/src/postgres/query.rs index 0f8bd6a..c3002ae 100644 --- a/kb-store/src/postgres/query.rs +++ b/kb-store/src/postgres/query.rs @@ -1,5 +1,5 @@ // file: kb-store/src/postgres/query.rs -// version: 1 +// version: 2 //! PostgreSQL query modules. @@ -11,42 +11,42 @@ mod raw_queries; mod replay_candidate_queries; mod table_diagnostics_queries; -pub(in crate::postgres) use crate::postgres::query::core_extraction_queries::is_core_extraction_current; -pub(in crate::postgres) use crate::postgres::query::core_extraction_queries::list_raw_transactions_for_core_extraction; -pub(in crate::postgres) use crate::postgres::query::core_extraction_queries::mark_core_extraction_failed; -pub(in crate::postgres) use crate::postgres::query::core_extraction_queries::persist_core_extraction; -pub(in crate::postgres) use crate::postgres::query::core_queries::apply_core_store_schema; -pub(in crate::postgres) use crate::postgres::query::core_queries::insert_core_account_keys; -pub(in crate::postgres) use crate::postgres::query::core_queries::insert_core_balance_changes; -pub(in crate::postgres) use crate::postgres::query::core_queries::insert_core_inner_instructions; -pub(in crate::postgres) use crate::postgres::query::core_queries::insert_core_instructions; -pub(in crate::postgres) use crate::postgres::query::core_queries::insert_core_logs; -pub(in crate::postgres) use crate::postgres::query::core_queries::insert_core_transaction; -pub(in crate::postgres) use crate::postgres::query::core_queries::list_core_instruction_replay_inputs; -pub(in crate::postgres) use crate::postgres::query::core_queries::list_core_instructions_for_replay; -pub(in crate::postgres) use crate::postgres::query::core_queries::update_core_instruction_lifecycle; -pub(in crate::postgres) use crate::postgres::query::decode_pipeline_queries::apply_decode_store_schema; -pub(in crate::postgres) use crate::postgres::query::decode_pipeline_queries::is_decode_current; -pub(in crate::postgres) use crate::postgres::query::decode_pipeline_queries::list_decode_coverage_summary; -pub(in crate::postgres) use crate::postgres::query::decode_pipeline_queries::list_decode_inputs; -pub(in crate::postgres) use crate::postgres::query::decode_pipeline_queries::list_materialized_events; -pub(in crate::postgres) use crate::postgres::query::decode_pipeline_queries::mark_decode_failed; -pub(in crate::postgres) use crate::postgres::query::decode_pipeline_queries::persist_decode_coverage_declarations; -pub(in crate::postgres) use crate::postgres::query::decode_pipeline_queries::persist_decode_result; -pub(in crate::postgres) use crate::postgres::query::decode_pipeline_queries::persist_materialization_result; -pub(in crate::postgres) use crate::postgres::query::health_queries::load_current_schema; -pub(in crate::postgres) use crate::postgres::query::health_queries::load_latest_migration_version; -pub(in crate::postgres) use crate::postgres::query::health_queries::load_migration_table_name; -pub(in crate::postgres) use crate::postgres::query::health_queries::load_server_version; -pub(in crate::postgres) use crate::postgres::query::health_queries::run_health_check; -pub(in crate::postgres) use crate::postgres::query::raw_queries::apply_raw_store_schema; -pub(in crate::postgres) use crate::postgres::query::raw_queries::has_raw_transaction_signature; -pub(in crate::postgres) use crate::postgres::query::raw_queries::has_transaction_observation_key; -pub(in crate::postgres) use crate::postgres::query::raw_queries::insert_raw_transaction; -pub(in crate::postgres) use crate::postgres::query::raw_queries::insert_transaction_observation; -pub(in crate::postgres) use crate::postgres::query::raw_queries::update_raw_payload_lifecycle; -pub(in crate::postgres) use crate::postgres::query::replay_candidate_queries::list_replay_entity_summaries; -pub(in crate::postgres) use crate::postgres::query::replay_candidate_queries::list_replay_program_summaries; -pub(in crate::postgres) use crate::postgres::query::replay_candidate_queries::list_replay_transaction_candidates; -pub(in crate::postgres) use crate::postgres::query::table_diagnostics_queries::load_table_statistics; -pub(in crate::postgres) use crate::postgres::query::table_diagnostics_queries::table_exists; +pub(in crate::postgres) use self::core_extraction_queries::is_core_extraction_current; +pub(in crate::postgres) use self::core_extraction_queries::list_raw_transactions_for_core_extraction; +pub(in crate::postgres) use self::core_extraction_queries::mark_core_extraction_failed; +pub(in crate::postgres) use self::core_extraction_queries::persist_core_extraction; +pub(in crate::postgres) use self::core_queries::apply_core_store_schema; +pub(in crate::postgres) use self::core_queries::insert_core_account_keys; +pub(in crate::postgres) use self::core_queries::insert_core_balance_changes; +pub(in crate::postgres) use self::core_queries::insert_core_inner_instructions; +pub(in crate::postgres) use self::core_queries::insert_core_instructions; +pub(in crate::postgres) use self::core_queries::insert_core_logs; +pub(in crate::postgres) use self::core_queries::insert_core_transaction; +pub(in crate::postgres) use self::core_queries::list_core_instruction_replay_inputs; +pub(in crate::postgres) use self::core_queries::list_core_instructions_for_replay; +pub(in crate::postgres) use self::core_queries::update_core_instruction_lifecycle; +pub(in crate::postgres) use self::decode_pipeline_queries::apply_decode_store_schema; +pub(in crate::postgres) use self::decode_pipeline_queries::is_decode_current; +pub(in crate::postgres) use self::decode_pipeline_queries::list_decode_coverage_summary; +pub(in crate::postgres) use self::decode_pipeline_queries::list_decode_inputs; +pub(in crate::postgres) use self::decode_pipeline_queries::list_materialized_events; +pub(in crate::postgres) use self::decode_pipeline_queries::mark_decode_failed; +pub(in crate::postgres) use self::decode_pipeline_queries::persist_decode_coverage_declarations; +pub(in crate::postgres) use self::decode_pipeline_queries::persist_decode_result; +pub(in crate::postgres) use self::decode_pipeline_queries::persist_materialization_result; +pub(in crate::postgres) use self::health_queries::load_current_schema; +pub(in crate::postgres) use self::health_queries::load_latest_migration_version; +pub(in crate::postgres) use self::health_queries::load_migration_table_name; +pub(in crate::postgres) use self::health_queries::load_server_version; +pub(in crate::postgres) use self::health_queries::run_health_check; +pub(in crate::postgres) use self::raw_queries::apply_raw_store_schema; +pub(in crate::postgres) use self::raw_queries::has_raw_transaction_signature; +pub(in crate::postgres) use self::raw_queries::has_transaction_observation_key; +pub(in crate::postgres) use self::raw_queries::insert_raw_transaction; +pub(in crate::postgres) use self::raw_queries::insert_transaction_observation; +pub(in crate::postgres) use self::raw_queries::update_raw_payload_lifecycle; +pub(in crate::postgres) use self::replay_candidate_queries::list_replay_entity_summaries; +pub(in crate::postgres) use self::replay_candidate_queries::list_replay_program_summaries; +pub(in crate::postgres) use self::replay_candidate_queries::list_replay_transaction_candidates; +pub(in crate::postgres) use self::table_diagnostics_queries::load_table_statistics; +pub(in crate::postgres) use self::table_diagnostics_queries::table_exists; diff --git a/khadhroony-bot3_v0.1.0-pre.010-full-modified.zip b/khadhroony-bot3_v0.1.0-pre.010-full-modified.zip deleted file mode 100644 index 2f136a6..0000000 Binary files a/khadhroony-bot3_v0.1.0-pre.010-full-modified.zip and /dev/null differ diff --git a/restults.txt b/restults.txt new file mode 100644 index 0000000..a4715e3 --- /dev/null +++ b/restults.txt @@ -0,0 +1,9103 @@ +[2026-07-24T14:30:30] sinus@ideatower001@bash:1:~/Projects/khadhroony-bot3 $>> cargo fmt --all +[2026-07-24T14:30:36] sinus@ideatower001@bash:1:~/Projects/khadhroony-bot3 $>> python3 scripts/audit_rust_workspace_rules.py +General Rust rule audit: clean +Rust export completeness audit: 0 candidate(s) +Khadhroony workspace rule audit: clean +[2026-07-24T14:30:48] sinus@ideatower001@bash:1:~/Projects/khadhroony-bot3 $>> cargo check -p kb-program-ids + Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.05s +[2026-07-24T14:30:55] sinus@ideatower001@bash:1:~/Projects/khadhroony-bot3 $>> cargo test -p kb-program-ids + Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s + Running unittests src/lib.rs (../target/debug/deps/kb_program_ids-56f2c6c29c7c1a78) + +running 6 tests +test programs::tests::compatibility_api_and_core_constants_are_complete ... ok +test programs::tests::protocol_primitives_are_registered_without_joining_native_surfaces ... ok +test programs::tests::native_registry_contains_exactly_every_solana_core_surface ... ok +test programs::tests::registry_lookup_finds_system_program ... ok +test programs::tests::stake_config_is_a_well_known_account_not_an_executable_program ... ok +test programs::tests::registry_entries_are_unique_and_non_empty ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests kb_program_ids + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + +[2026-07-24T14:31:01] sinus@ideatower001@bash:1:~/Projects/khadhroony-bot3 $>> cargo check -p kb-store +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/adapter/saber_decimal_wrapper.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_adapter_saber_decimal_wrapper"; + | ^^^^^^^^^^^^ + | + = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/adapter/saber_decimal_wrapper.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/admin/jupiter_lock.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_admin_jupiter_lock"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/admin/jupiter_lock.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/admin/pump_fees.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_admin_pump_fees"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/admin/pump_fees.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/aldrin_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_aldrin_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/aldrin_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/aldrin_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_aldrin_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/aldrin_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/alphaq.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_alphaq"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/alphaq.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/believe.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_believe"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/believe.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/bonk_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_bonk_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/bonk_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/fluxbeam.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_fluxbeam"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/fluxbeam.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goon_fi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goon_fi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goon_fi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goosefx_gamma.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goosefx_gamma"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goosefx_gamma.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goosefx_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goosefx_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goosefx_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/guac_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_guac_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/guac_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/lifinity_swap_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_lifinity_swap_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/lifinity_swap_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/metadao_futarchy_amm.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_metadao_futarchy_amm"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/metadao_futarchy_amm.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/metadao_v0_5.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_metadao_v0_5"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/metadao_v0_5.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/meteora_damm_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_meteora_damm_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/meteora_damm_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/meteora_damm_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_meteora_damm_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/meteora_damm_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/obric_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_obric_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/obric_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/one_dex.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_one_dex"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/one_dex.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/pump_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_pump_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/pump_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/raydium_lp_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_raydium_lp_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/raydium_lp_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/solfi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_solfi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/solfi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/solfi_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_solfi_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/solfi_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/vertigo.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_vertigo"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/vertigo.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/virtuals.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_virtuals"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/virtuals.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/woofi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_woofi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/woofi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/zero_fi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_zero_fi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/zero_fi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/zora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_zora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/zora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_circle_cctp_token_messenger_minter"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_circle_cctp_token_messenger_minter_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/layer_zero_endpoint.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_layer_zero_endpoint"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/layer_zero_endpoint.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/layer_zero_executor.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_layer_zero_executor"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/layer_zero_executor.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/byreal.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_byreal"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/byreal.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/fusion.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_fusion"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/fusion.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/orca_whirlpool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_orca_whirlpool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/orca_whirlpool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/pancake_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_pancake_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/pancake_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/raydium.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_raydium"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/raydium.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/cpmm/raydium.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_cpmm_raydium"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/cpmm/raydium.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/dlmm/meteora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_dlmm_meteora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/dlmm/meteora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_fees_bags_fee_share_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_fees_bags_fee_share_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/governance/metadao_bid_wall.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_governance_metadao_bid_wall"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/governance/metadao_bid_wall.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/boop_fun.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_boop_fun"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/boop_fun.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/metadao_ico.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_metadao_ico"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/metadao_ico.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/meteora_dbc.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_meteora_dbc"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/meteora_dbc.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/moonit.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_moonit"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/moonit.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/orca_wavebreak.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_orca_wavebreak"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/orca_wavebreak.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/printr.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_printr"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/printr.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/pump_fun.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_pump_fun"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/pump_fun.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/pump_pumpup_ai.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_pump_pumpup_ai"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/pump_pumpup_ai.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/raydium_launchlab.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_raydium_launchlab"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/raydium_launchlab.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/clone.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_clone"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/clone.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_borrow.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_borrow"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_borrow.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_earn.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_earn"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_earn.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_flash_loan.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_flash_loan"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_flash_loan.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_liquidity.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_liquidity"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_liquidity.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/kamino.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_kamino"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/kamino.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/marginfi_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_marginfi_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/marginfi_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lock/raydium_lp.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lock_raydium_lp"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lock/raydium_lp.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/metadata/metaplex_token_metadata.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_metadata_metaplex_token_metadata"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/metadata/metaplex_token_metadata.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/metadata/spl_name_service.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_metadata_spl_name_service"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/metadata/spl_name_service.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/nft/metaplex_bubblegum.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_nft_metaplex_bubblegum"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/nft/metaplex_bubblegum.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_jupiter_limit_order"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_jupiter_limit_order_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/openbook_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_openbook_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/openbook_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/drift_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_drift_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/drift_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/jupiter.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_jupiter"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/jupiter.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/zeta.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_zeta"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/zeta.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/dflow_aggregator_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_dflow_aggregator_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/dflow_aggregator_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_aggregator_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v6.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_aggregator_v6"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v6.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_dca.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_dca"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_dca.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/okx_labs_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_okx_labs_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/okx_labs_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/okx_labs_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_okx_labs_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/okx_labs_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/rwa/ondo_global_markets.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_rwa_ondo_global_markets"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/rwa/ondo_global_markets.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/solana/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_solana_core"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/solana/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/account_compression.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_account_compression"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/account_compression.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/associated_token_account.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_associated_token_account"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/associated_token_account.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/elgamal_registry.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_elgamal_registry"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/elgamal_registry.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/memo.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_memo"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/memo.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/noop.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_noop"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/noop.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/single_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_single_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/single_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/stake_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_stake_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/stake_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/token.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_token"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/token.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/token2022.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_token2022"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/token2022.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_hylo_exchange.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_hylo_exchange"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_hylo_exchange.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_jupiter_stable.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_jupiter_stable"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_jupiter_stable.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_numeraire.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_numeraire"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_numeraire.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/kamino_farm.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_kamino_farm"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/kamino_farm.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/marinade_finance.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_marinade_finance"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/marinade_finance.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/solayer.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_solayer"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/solayer.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/treasury/helium_treasury_management.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_treasury_helium_treasury_management"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/treasury/helium_treasury_management.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/carrot_defi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_carrot_defi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/carrot_defi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/hylo_stability_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_hylo_stability_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/hylo_stability_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino_yvaults.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino_yvaults"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino_yvaults.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/meteora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_meteora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/meteora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vesting/streamflow.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vesting_streamflow"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vesting/streamflow.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/wallet/jupiter_apepro_smart_wallet.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_wallet_jupiter_apepro_smart_wallet"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/wallet/jupiter_apepro_smart_wallet.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/weighted/swap_stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_weighted_swap_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/weighted/swap_stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/bridge/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_bridge"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/bridge/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/governance/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_governance"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/governance/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/lending/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_lending"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/lending/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/liquidity/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_liquidity"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/liquidity/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/nft/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_nft"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/nft/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/oracle/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_oracle"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/oracle/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/orderbook/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_orderbook"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/orderbook/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/perpetuals/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_perpetuals"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/perpetuals/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/pool/state.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_pool_state"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/pool/state.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/rewards/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_rewards"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/rewards/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/routing/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_routing"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/routing/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/token/metadata_risk.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_token_metadata_risk"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/token/metadata_risk.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/trades/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_trades"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/trades/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/vault/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_vault"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/vault/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: `kb-lib` (lib) generated 236 warnings + Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.27s +[2026-07-24T14:31:07] sinus@ideatower001@bash:1:~/Projects/khadhroony-bot3 $>> KB_POSTGRES_TEST_URL='postgres://solana:solana@localhost:5432/solana_test' cargo test -p kb-store -- --nocapture +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/adapter/saber_decimal_wrapper.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_adapter_saber_decimal_wrapper"; + | ^^^^^^^^^^^^ + | + = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/adapter/saber_decimal_wrapper.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/admin/jupiter_lock.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_admin_jupiter_lock"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/admin/jupiter_lock.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/admin/pump_fees.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_admin_pump_fees"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/admin/pump_fees.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/aldrin_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_aldrin_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/aldrin_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/aldrin_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_aldrin_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/aldrin_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/alphaq.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_alphaq"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/alphaq.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/believe.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_believe"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/believe.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/bonk_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_bonk_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/bonk_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/fluxbeam.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_fluxbeam"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/fluxbeam.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goon_fi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goon_fi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goon_fi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goosefx_gamma.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goosefx_gamma"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goosefx_gamma.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goosefx_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goosefx_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goosefx_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/guac_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_guac_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/guac_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/lifinity_swap_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_lifinity_swap_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/lifinity_swap_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/metadao_futarchy_amm.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_metadao_futarchy_amm"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/metadao_futarchy_amm.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/metadao_v0_5.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_metadao_v0_5"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/metadao_v0_5.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/meteora_damm_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_meteora_damm_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/meteora_damm_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/meteora_damm_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_meteora_damm_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/meteora_damm_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/obric_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_obric_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/obric_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/one_dex.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_one_dex"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/one_dex.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/pump_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_pump_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/pump_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/raydium_lp_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_raydium_lp_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/raydium_lp_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/solfi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_solfi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/solfi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/solfi_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_solfi_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/solfi_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/vertigo.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_vertigo"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/vertigo.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/virtuals.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_virtuals"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/virtuals.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/woofi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_woofi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/woofi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/zero_fi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_zero_fi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/zero_fi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/zora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_zora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/zora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_circle_cctp_token_messenger_minter"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_circle_cctp_token_messenger_minter_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/layer_zero_endpoint.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_layer_zero_endpoint"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/layer_zero_endpoint.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/layer_zero_executor.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_layer_zero_executor"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/layer_zero_executor.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/byreal.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_byreal"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/byreal.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/fusion.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_fusion"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/fusion.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/orca_whirlpool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_orca_whirlpool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/orca_whirlpool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/pancake_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_pancake_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/pancake_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/raydium.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_raydium"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/raydium.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/cpmm/raydium.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_cpmm_raydium"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/cpmm/raydium.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/dlmm/meteora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_dlmm_meteora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/dlmm/meteora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_fees_bags_fee_share_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_fees_bags_fee_share_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/governance/metadao_bid_wall.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_governance_metadao_bid_wall"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/governance/metadao_bid_wall.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/boop_fun.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_boop_fun"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/boop_fun.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/metadao_ico.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_metadao_ico"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/metadao_ico.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/meteora_dbc.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_meteora_dbc"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/meteora_dbc.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/moonit.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_moonit"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/moonit.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/orca_wavebreak.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_orca_wavebreak"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/orca_wavebreak.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/printr.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_printr"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/printr.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/pump_fun.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_pump_fun"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/pump_fun.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/pump_pumpup_ai.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_pump_pumpup_ai"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/pump_pumpup_ai.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/raydium_launchlab.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_raydium_launchlab"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/raydium_launchlab.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/clone.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_clone"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/clone.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_borrow.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_borrow"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_borrow.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_earn.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_earn"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_earn.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_flash_loan.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_flash_loan"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_flash_loan.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_liquidity.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_liquidity"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_liquidity.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/kamino.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_kamino"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/kamino.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/marginfi_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_marginfi_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/marginfi_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lock/raydium_lp.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lock_raydium_lp"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lock/raydium_lp.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/metadata/metaplex_token_metadata.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_metadata_metaplex_token_metadata"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/metadata/metaplex_token_metadata.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/metadata/spl_name_service.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_metadata_spl_name_service"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/metadata/spl_name_service.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/nft/metaplex_bubblegum.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_nft_metaplex_bubblegum"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/nft/metaplex_bubblegum.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_jupiter_limit_order"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_jupiter_limit_order_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/openbook_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_openbook_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/openbook_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/drift_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_drift_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/drift_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/jupiter.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_jupiter"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/jupiter.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/zeta.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_zeta"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/zeta.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/dflow_aggregator_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_dflow_aggregator_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/dflow_aggregator_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_aggregator_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v6.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_aggregator_v6"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v6.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_dca.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_dca"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_dca.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/okx_labs_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_okx_labs_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/okx_labs_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/okx_labs_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_okx_labs_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/okx_labs_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/rwa/ondo_global_markets.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_rwa_ondo_global_markets"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/rwa/ondo_global_markets.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/solana/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_solana_core"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/solana/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/account_compression.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_account_compression"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/account_compression.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/associated_token_account.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_associated_token_account"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/associated_token_account.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/elgamal_registry.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_elgamal_registry"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/elgamal_registry.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/memo.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_memo"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/memo.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/noop.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_noop"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/noop.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/single_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_single_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/single_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/stake_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_stake_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/stake_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/token.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_token"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/token.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/token2022.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_token2022"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/token2022.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_hylo_exchange.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_hylo_exchange"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_hylo_exchange.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_jupiter_stable.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_jupiter_stable"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_jupiter_stable.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_numeraire.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_numeraire"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_numeraire.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/kamino_farm.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_kamino_farm"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/kamino_farm.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/marinade_finance.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_marinade_finance"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/marinade_finance.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/solayer.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_solayer"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/solayer.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/treasury/helium_treasury_management.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_treasury_helium_treasury_management"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/treasury/helium_treasury_management.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/carrot_defi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_carrot_defi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/carrot_defi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/hylo_stability_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_hylo_stability_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/hylo_stability_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino_yvaults.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino_yvaults"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino_yvaults.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/meteora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_meteora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/meteora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vesting/streamflow.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vesting_streamflow"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vesting/streamflow.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/wallet/jupiter_apepro_smart_wallet.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_wallet_jupiter_apepro_smart_wallet"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/wallet/jupiter_apepro_smart_wallet.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/weighted/swap_stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_weighted_swap_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/weighted/swap_stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/bridge/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_bridge"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/bridge/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/governance/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_governance"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/governance/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/lending/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_lending"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/lending/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/liquidity/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_liquidity"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/liquidity/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/nft/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_nft"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/nft/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/oracle/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_oracle"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/oracle/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/orderbook/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_orderbook"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/orderbook/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/perpetuals/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_perpetuals"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/perpetuals/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/pool/state.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_pool_state"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/pool/state.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/rewards/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_rewards"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/rewards/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/routing/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_routing"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/routing/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/token/metadata_risk.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_token_metadata_risk"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/token/metadata_risk.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/trades/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_trades"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/trades/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/vault/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_vault"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/vault/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: `kb-lib` (lib) generated 236 warnings + Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s + Running unittests src/lib.rs (../target/debug/deps/kb_store-2a2f618da6a2e8cb) + +running 84 tests +test contracts::dto::core::tests::core_balance_change_rejects_empty_optional_mint ... ok +test contracts::dto::core::tests::replay_filter_rejects_inverted_slots ... ok +test contracts::dto::core::tests::replay_input_rejects_empty_key ... ok +test contracts::dto::core::tests::core_log_rejects_empty_text ... ok +test contracts::dto::core::tests::core_transaction_accepts_optional_raw_lineage ... ok +test contracts::dto::core::tests::replay_input_accepts_ordered_outer_instruction_array ... ok +test contracts::dto::core::tests::core_transaction_rejects_empty_signature ... ok +test contracts::dto::core::tests::replay_filter_rejects_empty_program_id ... ok +test contracts::dto::core::tests::core_account_key_rejects_empty_key ... ok +test contracts::dto::core::tests::core_instruction_rejects_empty_program_id ... ok +test contracts::dto::core::tests::core_instruction_defaults_to_pending ... ok +test contracts::dto::core::tests::lifecycle_mark_rejects_empty_path ... ok +test contracts::dto::core::tests::core_inner_instruction_rejects_empty_parent_path ... ok +test contracts::dto::core::tests::replay_input_rejects_non_array_outer_instruction_context ... ok +test contracts::dto::core_extraction::tests::ledger_identity_requires_input_hash ... ok +test contracts::dto::core_extraction::tests::pending_filter_requires_positive_limit ... ok +test contracts::dto::core_extraction::tests::selection_filter_rejects_inverted_slots ... ok +test contracts::dto::decode::tests::actionable_filter_requires_positive_limit ... ok +test contracts::dto::decode::tests::failed_decoded_observation_cannot_be_committed ... ok +test contracts::dto::decode::tests::incomplete_signature_filter_preserves_signature_limit_semantics ... ok +test contracts::dto::decode::tests::materialized_event_filter_is_bounded_and_trims_optional_text ... ok +test contracts::dto::decode::tests::selection_filter_rejects_inverted_slots ... ok +test contracts::dto::event::tests::insert_outcome_total_counts_all_buckets ... ok +test contracts::dto::event::tests::materialized_event_rejects_empty_family ... ok +test contracts::dto::ledger::tests::ledger_mark_accepts_minimal_values ... ok +test contracts::dto::ledger::tests::ledger_mark_rejects_empty_input_key ... ok +test contracts::dto::raw::tests::raw_lifecycle_rejects_empty_reason_when_present ... ok +test contracts::dto::raw::tests::raw_transaction_accepts_canonical_payload ... ok +test contracts::dto::raw::tests::raw_transaction_rejects_empty_signature ... ok +test contracts::dto::raw::tests::raw_transaction_rejects_zero_format_version ... ok +test contracts::dto::raw::tests::transaction_observation_rejects_empty_provider ... ok +test contracts::dto::raw::tests::transaction_observation_accepts_signatureless_failure_candidate ... ok +test contracts::dto::store::tests::migration_snapshot_keeps_pending_versions ... ok +test contracts::dto::store::tests::store_descriptor_rejects_empty_label ... ok +test contracts::error::tests::storage_error_falls_back_to_db_for_empty_code ... ok +test contracts::error::tests::storage_error_preserves_non_empty_code ... ok +test contracts::health::tests::health_snapshot_rejects_empty_backend ... ok +test contracts::pagination::tests::first_page_uses_default_limit ... ok +test contracts::pagination::tests::page_request_rejects_limit_above_maximum ... ok +test contracts::pagination::tests::page_request_rejects_zero_limit ... ok +test postgres::migrations::tests::core_store_table_names_are_valid ... ok +test postgres::migrations::tests::core_store_schema_uses_prefixed_constraint_and_index_names ... ok +test postgres::migrations::tests::decode_store_table_names_are_valid ... ok +test postgres::migrations::tests::decode_store_schema_contains_no_create_schema_statement ... ok +test postgres::migrations::tests::raw_store_table_names_are_valid ... ok +test postgres::migrations::tests::raw_store_schema_uses_prefixed_index_names ... ok +test postgres::migrations::tests::table_name_rejects_explicit_schema ... ok +test postgres::migrations::tests::table_name_rejects_missing_table_suffix ... ok +test postgres::migrations::tests::table_name_rejects_unknown_domain ... ok +test contracts::dto::raw::tests::raw_transaction_builds_from_canonical_model ... ok +test postgres::migrations::tests::table_name_rejects_uppercase ... ok +test postgres::migrations::tests::raw_store_schema_contains_no_create_schema_statement ... ok +test postgres::migrations::tests::core_store_schema_contains_no_create_schema_statement ... ok +test postgres::migrations::tests::valid_table_name_accepts_domain_prefix ... ok +test postgres::query::core_extraction_queries::tests::processing_state_serializes_to_expected_sql ... ok +test postgres::query::core_extraction_queries::tests::slot_rejects_values_above_bigint ... ok +test postgres::query::core_queries::tests::account_key_source_serializes_to_lower_snake_case ... ok +test postgres::query::core_queries::tests::balance_change_kind_serializes_to_lower_snake_case ... ok +test postgres::query::core_queries::tests::instruction_processing_state_serializes_to_lower_snake_case ... ok +test postgres::query::core_queries::tests::outer_instruction_context_query_is_read_only_and_numeric ... ok +test postgres::query::core_queries::tests::sql_slot_rejects_values_above_bigint ... ok +test postgres::query::raw_queries::tests::observation_status_serializes_to_lower_snake_case ... ok +test postgres::query::raw_queries::tests::processing_state_serializes_to_lower_snake_case ... ok +test postgres::query::raw_queries::tests::retention_state_serializes_to_lower_snake_case ... ok +test postgres::query::raw_queries::tests::observation_origin_serializes_to_lower_snake_case ... ok +test postgres::query::raw_queries::tests::sql_slot_rejects_values_above_bigint ... ok +test postgres::replay_candidates::tests::program_filter_rejects_limit_above_maximum ... ok +test postgres::replay_candidates::tests::transaction_filter_rejects_inverted_slots ... ok +test postgres::store::tests::mask_postgres_dsn_masks_plain_password_dsn ... ok +test postgres::store::tests::mask_postgres_dsn_masks_query_string ... ok +test postgres::replay_candidates::tests::transaction_filter_requires_complete_entity_pair ... ok +test postgres::store::tests::mask_postgres_dsn_masks_userinfo ... ok +test postgres::store::tests::options_reject_empty_database_url ... ok +test postgres::store::tests::options_reject_zero_max_connections ... ok +test postgres::store::tests::options_reject_zero_connect_timeout ... ok +test postgres::query::core_extraction_queries::tests::optional_postgres_core_extraction_rolls_back_partial_graph_from_env ... ok +test postgres::query::core_queries::tests::optional_postgres_core_store_roundtrip_from_env ... ok +test postgres::query::decode_pipeline_queries::tests::decoded_events_and_ledger_roll_back_together ... ok +test postgres::query::decode_pipeline_queries::tests::optional_postgres_coverage_declarations_report_insert_skip_and_update_from_env ... ok +test postgres::query::decode_pipeline_queries::tests::optional_postgres_materialized_event_query_is_bounded_and_typed_from_env ... ok +test postgres::query::decode_pipeline_queries::tests::optional_postgres_same_version_and_hash_is_current_from_env ... ok +test postgres::query::raw_queries::tests::optional_postgres_canonical_store_roundtrip_from_env ... ok +test postgres::query::replay_candidate_queries::tests::optional_postgres_replay_candidate_queries_from_env ... ok +test postgres::store::tests::optional_postgres_healthcheck_from_env ... ok + +test result: ok. 84 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.83s + + Doc-tests kb_store + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + +[2026-07-24T14:31:13] sinus@ideatower001@bash:1:~/Projects/khadhroony-bot3 $>> cargo check -p kb-lib +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/adapter/saber_decimal_wrapper.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_adapter_saber_decimal_wrapper"; + | ^^^^^^^^^^^^ + | + = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/adapter/saber_decimal_wrapper.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/admin/jupiter_lock.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_admin_jupiter_lock"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/admin/jupiter_lock.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/admin/pump_fees.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_admin_pump_fees"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/admin/pump_fees.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/aldrin_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_aldrin_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/aldrin_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/aldrin_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_aldrin_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/aldrin_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/alphaq.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_alphaq"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/alphaq.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/believe.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_believe"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/believe.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/bonk_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_bonk_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/bonk_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/fluxbeam.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_fluxbeam"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/fluxbeam.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goon_fi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goon_fi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goon_fi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goosefx_gamma.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goosefx_gamma"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goosefx_gamma.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goosefx_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goosefx_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goosefx_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/guac_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_guac_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/guac_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/lifinity_swap_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_lifinity_swap_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/lifinity_swap_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/metadao_futarchy_amm.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_metadao_futarchy_amm"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/metadao_futarchy_amm.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/metadao_v0_5.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_metadao_v0_5"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/metadao_v0_5.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/meteora_damm_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_meteora_damm_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/meteora_damm_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/meteora_damm_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_meteora_damm_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/meteora_damm_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/obric_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_obric_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/obric_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/one_dex.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_one_dex"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/one_dex.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/pump_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_pump_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/pump_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/raydium_lp_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_raydium_lp_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/raydium_lp_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/solfi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_solfi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/solfi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/solfi_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_solfi_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/solfi_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/vertigo.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_vertigo"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/vertigo.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/virtuals.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_virtuals"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/virtuals.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/woofi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_woofi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/woofi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/zero_fi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_zero_fi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/zero_fi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/zora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_zora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/zora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_circle_cctp_token_messenger_minter"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_circle_cctp_token_messenger_minter_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/layer_zero_endpoint.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_layer_zero_endpoint"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/layer_zero_endpoint.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/layer_zero_executor.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_layer_zero_executor"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/layer_zero_executor.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/byreal.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_byreal"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/byreal.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/fusion.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_fusion"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/fusion.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/orca_whirlpool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_orca_whirlpool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/orca_whirlpool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/pancake_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_pancake_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/pancake_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/raydium.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_raydium"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/raydium.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/cpmm/raydium.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_cpmm_raydium"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/cpmm/raydium.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/dlmm/meteora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_dlmm_meteora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/dlmm/meteora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_fees_bags_fee_share_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_fees_bags_fee_share_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/governance/metadao_bid_wall.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_governance_metadao_bid_wall"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/governance/metadao_bid_wall.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/boop_fun.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_boop_fun"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/boop_fun.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/metadao_ico.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_metadao_ico"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/metadao_ico.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/meteora_dbc.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_meteora_dbc"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/meteora_dbc.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/moonit.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_moonit"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/moonit.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/orca_wavebreak.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_orca_wavebreak"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/orca_wavebreak.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/printr.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_printr"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/printr.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/pump_fun.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_pump_fun"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/pump_fun.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/pump_pumpup_ai.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_pump_pumpup_ai"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/pump_pumpup_ai.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/raydium_launchlab.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_raydium_launchlab"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/raydium_launchlab.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/clone.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_clone"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/clone.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_borrow.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_borrow"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_borrow.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_earn.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_earn"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_earn.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_flash_loan.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_flash_loan"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_flash_loan.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_liquidity.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_liquidity"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_liquidity.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/kamino.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_kamino"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/kamino.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/marginfi_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_marginfi_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/marginfi_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lock/raydium_lp.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lock_raydium_lp"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lock/raydium_lp.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/metadata/metaplex_token_metadata.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_metadata_metaplex_token_metadata"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/metadata/metaplex_token_metadata.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/metadata/spl_name_service.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_metadata_spl_name_service"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/metadata/spl_name_service.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/nft/metaplex_bubblegum.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_nft_metaplex_bubblegum"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/nft/metaplex_bubblegum.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_jupiter_limit_order"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_jupiter_limit_order_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/openbook_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_openbook_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/openbook_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/drift_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_drift_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/drift_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/jupiter.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_jupiter"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/jupiter.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/zeta.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_zeta"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/zeta.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/dflow_aggregator_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_dflow_aggregator_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/dflow_aggregator_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_aggregator_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v6.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_aggregator_v6"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v6.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_dca.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_dca"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_dca.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/okx_labs_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_okx_labs_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/okx_labs_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/okx_labs_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_okx_labs_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/okx_labs_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/rwa/ondo_global_markets.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_rwa_ondo_global_markets"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/rwa/ondo_global_markets.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/solana/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_solana_core"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/solana/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/account_compression.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_account_compression"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/account_compression.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/associated_token_account.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_associated_token_account"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/associated_token_account.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/elgamal_registry.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_elgamal_registry"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/elgamal_registry.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/memo.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_memo"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/memo.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/noop.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_noop"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/noop.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/single_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_single_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/single_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/stake_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_stake_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/stake_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/token.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_token"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/token.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/token2022.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_token2022"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/token2022.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_hylo_exchange.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_hylo_exchange"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_hylo_exchange.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_jupiter_stable.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_jupiter_stable"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_jupiter_stable.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_numeraire.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_numeraire"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_numeraire.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/kamino_farm.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_kamino_farm"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/kamino_farm.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/marinade_finance.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_marinade_finance"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/marinade_finance.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/solayer.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_solayer"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/solayer.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/treasury/helium_treasury_management.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_treasury_helium_treasury_management"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/treasury/helium_treasury_management.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/carrot_defi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_carrot_defi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/carrot_defi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/hylo_stability_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_hylo_stability_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/hylo_stability_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino_yvaults.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino_yvaults"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino_yvaults.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/meteora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_meteora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/meteora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vesting/streamflow.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vesting_streamflow"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vesting/streamflow.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/wallet/jupiter_apepro_smart_wallet.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_wallet_jupiter_apepro_smart_wallet"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/wallet/jupiter_apepro_smart_wallet.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/weighted/swap_stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_weighted_swap_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/weighted/swap_stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/bridge/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_bridge"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/bridge/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/governance/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_governance"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/governance/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/lending/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_lending"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/lending/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/liquidity/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_liquidity"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/liquidity/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/nft/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_nft"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/nft/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/oracle/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_oracle"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/oracle/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/orderbook/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_orderbook"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/orderbook/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/perpetuals/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_perpetuals"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/perpetuals/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/pool/state.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_pool_state"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/pool/state.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/rewards/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_rewards"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/rewards/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/routing/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_routing"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/routing/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/token/metadata_risk.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_token_metadata_risk"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/token/metadata_risk.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/trades/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_trades"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/trades/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/vault/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_vault"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/vault/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: `kb-lib` (lib) generated 236 warnings + Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.50s +[2026-07-24T14:31:26] sinus@ideatower001@bash:1:~/Projects/khadhroony-bot3 $>> cargo test -p kb-lib +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/adapter/saber_decimal_wrapper.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_adapter_saber_decimal_wrapper"; + | ^^^^^^^^^^^^ + | + = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/adapter/saber_decimal_wrapper.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/admin/jupiter_lock.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_admin_jupiter_lock"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/admin/jupiter_lock.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/admin/pump_fees.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_admin_pump_fees"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/admin/pump_fees.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/aldrin_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_aldrin_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/aldrin_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/aldrin_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_aldrin_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/aldrin_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/alphaq.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_alphaq"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/alphaq.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/believe.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_believe"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/believe.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/bonk_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_bonk_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/bonk_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/fluxbeam.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_fluxbeam"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/fluxbeam.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goon_fi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goon_fi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goon_fi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goosefx_gamma.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goosefx_gamma"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goosefx_gamma.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goosefx_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goosefx_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goosefx_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/guac_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_guac_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/guac_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/lifinity_swap_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_lifinity_swap_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/lifinity_swap_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/metadao_futarchy_amm.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_metadao_futarchy_amm"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/metadao_futarchy_amm.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/metadao_v0_5.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_metadao_v0_5"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/metadao_v0_5.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/meteora_damm_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_meteora_damm_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/meteora_damm_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/meteora_damm_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_meteora_damm_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/meteora_damm_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/obric_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_obric_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/obric_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/one_dex.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_one_dex"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/one_dex.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/pump_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_pump_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/pump_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/raydium_lp_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_raydium_lp_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/raydium_lp_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/solfi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_solfi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/solfi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/solfi_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_solfi_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/solfi_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/vertigo.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_vertigo"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/vertigo.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/virtuals.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_virtuals"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/virtuals.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/woofi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_woofi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/woofi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/zero_fi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_zero_fi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/zero_fi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/zora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_zora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/zora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_circle_cctp_token_messenger_minter"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_circle_cctp_token_messenger_minter_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/layer_zero_endpoint.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_layer_zero_endpoint"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/layer_zero_endpoint.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/layer_zero_executor.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_layer_zero_executor"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/layer_zero_executor.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/byreal.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_byreal"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/byreal.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/fusion.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_fusion"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/fusion.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/orca_whirlpool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_orca_whirlpool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/orca_whirlpool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/pancake_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_pancake_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/pancake_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/raydium.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_raydium"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/raydium.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/cpmm/raydium.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_cpmm_raydium"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/cpmm/raydium.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/dlmm/meteora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_dlmm_meteora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/dlmm/meteora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_fees_bags_fee_share_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_fees_bags_fee_share_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/governance/metadao_bid_wall.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_governance_metadao_bid_wall"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/governance/metadao_bid_wall.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/boop_fun.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_boop_fun"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/boop_fun.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/metadao_ico.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_metadao_ico"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/metadao_ico.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/meteora_dbc.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_meteora_dbc"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/meteora_dbc.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/moonit.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_moonit"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/moonit.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/orca_wavebreak.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_orca_wavebreak"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/orca_wavebreak.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/printr.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_printr"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/printr.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/pump_fun.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_pump_fun"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/pump_fun.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/pump_pumpup_ai.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_pump_pumpup_ai"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/pump_pumpup_ai.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/raydium_launchlab.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_raydium_launchlab"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/raydium_launchlab.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/clone.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_clone"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/clone.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_borrow.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_borrow"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_borrow.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_earn.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_earn"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_earn.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_flash_loan.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_flash_loan"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_flash_loan.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_liquidity.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_liquidity"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_liquidity.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/kamino.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_kamino"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/kamino.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/marginfi_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_marginfi_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/marginfi_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lock/raydium_lp.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lock_raydium_lp"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lock/raydium_lp.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/metadata/metaplex_token_metadata.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_metadata_metaplex_token_metadata"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/metadata/metaplex_token_metadata.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/metadata/spl_name_service.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_metadata_spl_name_service"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/metadata/spl_name_service.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/nft/metaplex_bubblegum.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_nft_metaplex_bubblegum"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/nft/metaplex_bubblegum.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_jupiter_limit_order"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_jupiter_limit_order_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/openbook_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_openbook_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/openbook_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/drift_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_drift_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/drift_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/jupiter.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_jupiter"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/jupiter.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/zeta.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_zeta"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/zeta.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/dflow_aggregator_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_dflow_aggregator_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/dflow_aggregator_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_aggregator_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v6.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_aggregator_v6"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v6.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_dca.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_dca"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_dca.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/okx_labs_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_okx_labs_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/okx_labs_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/okx_labs_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_okx_labs_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/okx_labs_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/rwa/ondo_global_markets.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_rwa_ondo_global_markets"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/rwa/ondo_global_markets.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/solana/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_solana_core"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/solana/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/account_compression.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_account_compression"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/account_compression.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/associated_token_account.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_associated_token_account"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/associated_token_account.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/elgamal_registry.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_elgamal_registry"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/elgamal_registry.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/memo.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_memo"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/memo.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/noop.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_noop"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/noop.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/single_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_single_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/single_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/stake_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_stake_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/stake_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/token.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_token"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/token.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/token2022.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_token2022"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/token2022.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_hylo_exchange.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_hylo_exchange"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_hylo_exchange.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_jupiter_stable.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_jupiter_stable"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_jupiter_stable.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_numeraire.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_numeraire"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_numeraire.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/kamino_farm.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_kamino_farm"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/kamino_farm.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/marinade_finance.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_marinade_finance"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/marinade_finance.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/solayer.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_solayer"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/solayer.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/treasury/helium_treasury_management.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_treasury_helium_treasury_management"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/treasury/helium_treasury_management.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/carrot_defi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_carrot_defi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/carrot_defi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/hylo_stability_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_hylo_stability_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/hylo_stability_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino_yvaults.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino_yvaults"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino_yvaults.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/meteora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_meteora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/meteora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vesting/streamflow.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vesting_streamflow"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vesting/streamflow.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/wallet/jupiter_apepro_smart_wallet.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_wallet_jupiter_apepro_smart_wallet"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/wallet/jupiter_apepro_smart_wallet.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/weighted/swap_stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_weighted_swap_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/weighted/swap_stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/bridge/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_bridge"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/bridge/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/governance/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_governance"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/governance/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/lending/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_lending"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/lending/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/liquidity/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_liquidity"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/liquidity/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/nft/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_nft"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/nft/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/oracle/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_oracle"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/oracle/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/orderbook/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_orderbook"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/orderbook/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/perpetuals/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_perpetuals"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/perpetuals/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/pool/state.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_pool_state"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/pool/state.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/rewards/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_rewards"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/rewards/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/routing/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_routing"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/routing/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/token/metadata_risk.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_token_metadata_risk"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/token/metadata_risk.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/trades/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_trades"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/trades/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/vault/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_vault"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/vault/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: `kb-lib` (lib) generated 236 warnings +warning: `kb-lib` (lib test) generated 236 warnings (236 duplicates) + Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s + Running unittests src/lib.rs (../target/debug/deps/kb_lib-fe2e76c783caa3b0) + +running 415 tests +test decoder::api::contracts::tests::discriminator_uses_first_eight_bytes ... ok +test decoder::api::contracts::tests::failed_observation_cannot_be_committed ... ok +test decoder::api::contracts::tests::contextual_input_serialization_is_deterministic_with_outer_context ... ok +test decoder::api::contracts::tests::contextual_input_hash_is_stable ... ok +test decoder::api::contracts::tests::contextual_input_hash_changes_when_outer_context_changes ... ok +test decoder::metadata::metaplex_token_metadata::account::tests::edition_and_master_edition_accounts_decode_with_exact_pda ... ok +test decoder::metadata::metaplex_token_metadata::account::tests::historical_master_edition_v1_and_invalid_boundaries_are_explicit ... ok +test decoder::metadata::metaplex_token_metadata::account::tests::edition_marker_v2_decodes_extensible_bitmap_and_rejects_boundaries ... ok +test decoder::metadata::metaplex_token_metadata::account::tests::published_account_key_inventory_is_exact_and_exhaustive ... ok +test decoder::metadata::metaplex_token_metadata::account::tests::historical_reservation_lists_reject_wrong_pda_key_bounds_and_suffix ... ok +test decoder::metadata::metaplex_token_metadata::account::tests::historical_reservation_lists_decode_v1_and_v2_exactly ... ok +test decoder::metadata::metaplex_token_metadata::account::tests::edition_marker_v1_decodes_group_bitmap_and_exact_pda ... ok +test decoder::metadata::metaplex_token_metadata::account::tests::metadata_account_decodes_with_exact_owner_and_pda ... ok +test decoder::metadata::metaplex_token_metadata::account::tests::authority_records_decode_exact_values_and_reject_invalid_boundaries ... ok +test decoder::metadata::metaplex_token_metadata::account::tests::metadata_account_rejects_foreign_owner_wrong_pda_and_bounds ... ok +test decoder::metadata::metaplex_token_metadata::account::tests::delegate_records_decode_exact_role_seeds_and_pdas ... ok +test decoder::metadata::metaplex_token_metadata::account::tests::token_owned_escrow_rejects_wrong_pda_bump_key_and_length ... ok +test decoder::metadata::metaplex_token_metadata::canonical::tests::active_and_experimental_layouts_keep_distinct_policies ... ok +test decoder::metadata::metaplex_token_metadata::account::tests::token_owned_escrow_decodes_token_owner_and_creator_authorities ... ok +test decoder::metadata::metaplex_token_metadata::canonical::tests::historical_state_is_materializable_but_never_executable ... ok +test decoder::metadata::metaplex_token_metadata::account::tests::token_record_decodes_programmable_state_delegate_and_exact_pda ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::collection_size_variants_reject_truncated_wire_invalid_flags_and_suffixes ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::decoder_identity_program_boundary_and_coverage_are_exact ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::creator_signature_and_primary_sale_family_reject_invalid_flags_and_suffixes ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::collection_authority_administration_rejects_invalid_flags_and_suffixes ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::creator_signature_and_primary_sale_family_decode_exact_contracts ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::collection_verification_rejects_invalid_flags_and_suffixes ... ok +test decoder::metadata::metaplex_token_metadata::account::tests::token_record_rejects_foreign_owner_wrong_pda_bump_key_and_length ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::create_metadata_account_v3_decodes_official_borsh_wire ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::historical_create_metadata_account_v2_rejects_truncated_wire_and_invalid_flags ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::collection_size_variants_decode_exact_contracts ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::collection_verification_family_decodes_exact_account_contracts ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::collection_authority_administration_decodes_exact_account_contracts ... ok +test decoder::metadata::metaplex_token_metadata::account::tests::account_audit_matrix_covers_every_key_without_duplicate_discriminants ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::historical_v1_create_and_update_decode_exact_wires ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::escrow_and_collect_family_reject_truncated_invalid_and_suffix_wires ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::legacy_delegated_freeze_and_thaw_decode_exact_contracts ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::metadata_normalization_and_creator_unverification_decode_exact_contracts ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::historical_v1_wires_reject_truncation_and_invalid_accounts ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::legacy_delegated_freeze_and_thaw_reject_invalid_flags_and_suffixes ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::metadata_normalization_family_rejects_invalid_flags_and_suffixes ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::modern_update_rejects_truncated_invalid_and_suffix_wires ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::master_edition_creation_and_conversion_decode_exact_contracts ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::historical_create_metadata_account_v2_decodes_bounded_data_v2 ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::modern_print_rejects_truncated_invalid_and_suffix_wires ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::omitted_historical_discriminators_reject_invalid_wires ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::modern_update_variants_decode_exact_contract ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::modern_mint_decodes_exact_contract ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::legacy_nft_burn_and_printing_token_mint_reject_invalid_flags_and_suffixes ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::master_edition_group_rejects_truncated_wire_invalid_flags_and_suffixes ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::modern_create_decodes_exact_contract ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::modern_create_rejects_truncated_invalid_and_suffix_wires ... ok +test decoder::solana::core::address_lookup_table::tests::coverage_uses_official_encoder_discriminants ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::unknown_truncated_suffix_and_invalid_accounts_fail_closed ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::legacy_nft_burn_and_printing_token_mint_decode_exact_contracts ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::sized_collection_verification_rejects_non_writable_collection_and_suffix ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::modern_mint_rejects_truncated_invalid_and_suffix_wires ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::modern_use_verify_and_unverify_decode_exact_contracts ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::update_metadata_account_v2_preserves_failed_transaction_as_uncommitted ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::resize_and_migrate_reject_invalid_wires ... ok +test decoder::solana::core::address_lookup_table::tests::extend_accepts_only_absent_or_complete_funding_pair ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::modern_use_verify_and_unverify_reject_invalid_wires ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::printed_edition_mint_variants_reject_truncated_wire_invalid_flags_and_suffixes ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::modern_print_v1_and_v2_decode_exact_contracts ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::escrow_and_collect_family_decode_exact_contracts ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::programmable_delegate_and_revoke_reject_truncated_invalid_and_suffix_wires ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::programmable_lifecycle_rejects_truncated_invalid_and_suffix_wires ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::printed_edition_mint_variants_decode_exact_contracts ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::resize_and_migrate_decode_exact_contracts ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::use_authority_family_rejects_truncated_wire_invalid_flags_and_suffixes ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::audit_matrix_remains_machine_readable_and_bounded ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::sized_collection_verification_family_preserves_writable_collection_contracts ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::programmable_delegate_and_revoke_decode_exact_contracts ... ok +test decoder::solana::core::address_lookup_table::tests::every_official_variant_decodes ... ok +test decoder::solana::core::address_lookup_table::tests::failed_transaction_is_decoded_as_uncommitted_lifecycle_intent ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::use_authority_family_decodes_parameters_and_exact_account_contracts ... ok +test decoder::solana::core::compute_budget::tests::coverage_declares_current_and_historical_entries ... ok +test decoder::solana::core::address_lookup_table::tests::truncated_unknown_and_trailing_payloads_are_distinguished ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::omitted_historical_discriminators_decode_exact_contracts ... ok +test decoder::metadata::metaplex_token_metadata::decoder::tests::programmable_lifecycle_transfer_lock_unlock_burn_and_close_decode_exact_contracts ... ok +test decoder::solana::core::compute_budget::tests::reserved_unused_tag_is_ignored_without_false_event ... ok +test decoder::solana::core::compute_budget::tests::current_variants_accept_and_preserve_runtime_ignored_trailing_bytes ... ok +test decoder::solana::core::compute_budget::tests::truncated_and_unknown_payloads_are_distinguished ... ok +test decoder::solana::core::config::tests::coverage_declares_one_generic_store_surface ... ok +test decoder::solana::core::compute_budget::tests::official_current_encoder_matches_documented_layout ... ok +test decoder::solana::core::compute_budget::tests::failed_transaction_event_is_not_committed ... ok +test decoder::solana::core::compute_budget::tests::historical_request_units_is_decoded ... ok +test decoder::solana::core::config::tests::valid_generic_store_is_recognized_exactly ... ok +test decoder::solana::core::config::tests::failed_config_store_is_decoded_as_uncommitted_intent ... ok +test decoder::solana::core::config::tests::malformed_compact_length_keys_and_bool_fail_safely ... ok +test decoder::solana::core::config::tests::empty_key_set_and_opaque_data_decode_without_invented_semantics ... ok +test decoder::solana::core::compute_budget::tests::all_current_variants_decode_with_exact_numeric_values ... ok +test decoder::solana::core::config::tests::encoded_signer_keys_are_resolved_in_official_account_order ... ok +test decoder::solana::core::decoder::tests::every_native_registry_program_has_one_surface ... ok +test decoder::solana::core::decoder::tests::deprecated_stake_config_account_is_not_an_instruction_surface ... ok +test decoder::solana::core::config::tests::missing_or_mismatched_signer_accounts_fail ... ok +test decoder::solana::core::compute_budget::tests::transaction_profile_aggregates_outer_compute_budget_instructions_once ... ok +test decoder::solana::core::decoder::tests::slashing_program_is_dispatched_to_exact_decoder ... ok +test decoder::solana::core::decoder::tests::unrelated_program_is_not_dispatched ... ok +test decoder::solana::core::decoder::tests::every_native_surface_has_declared_coverage_without_fallback_entries ... ok +test decoder::solana::core::decoder::tests::coverage_entries_are_unique_and_reference_declared_surfaces ... ok +test decoder::solana::core::decoder::tests::stake_program_is_dispatched_without_false_decode_for_unknown_tag ... ok +test decoder::solana::core::feature::tests::coverage_declares_the_single_official_instruction ... ok +test decoder::solana::core::decoder::tests::vote_program_is_dispatched_without_false_decode_for_unknown_tag ... ok +test decoder::solana::core::decoder::tests::zk_token_proof_program_dispatches_to_current_noop_fallback ... ok +test decoder::solana::core::loaders::tests::coverage_declares_every_loader_entry ... ok +test decoder::solana::core::feature::tests::official_payload_is_recognized_exactly ... ok +test decoder::solana::core::feature::tests::failed_feature_revoke_is_uncommitted ... ok +test decoder::solana::core::feature::tests::revoke_pending_activation_decodes_exact_official_layout ... ok +test decoder::solana::core::loaders::tests::failed_loader_lifecycle_is_uncommitted ... ok +test decoder::solana::core::feature::tests::unknown_truncated_trailing_and_wrong_fixed_accounts_are_safe ... ok +test decoder::solana::core::loaders::tests::extend_rejects_incomplete_optional_funding_pair ... ok +test decoder::solana::core::loaders::tests::native_loader_direct_invocation_is_ignored_without_false_event ... ok +test decoder::solana::core::loaders::tests::upgradeable_wincode_rejects_trailing_bytes ... ok +test decoder::solana::core::decoder::tests::native_decoder_matrix_matches_registry_surfaces_and_coverage ... ok +test decoder::solana::core::precompiles::tests::checked_slice_rejects_offset_length_addition_overflow ... ok +test decoder::solana::core::loaders::tests::malformed_lengths_unknown_tags_and_invalid_boole_are_safe ... ok +test decoder::solana::core::precompiles::tests::coverage_declares_exactly_three_signature_precompile_surfaces ... ok +test decoder::solana::core::loaders::tests::immutable_write_accepts_mainnet_u32_vector_wire ... ok +test decoder::solana::core::precompiles::tests::absent_instruction_indexes_fail_for_all_precompiles ... ok +test decoder::solana::core::precompiles::tests::ed25519_current_reference_decodes_exact_component_sizes_and_padding ... ok +test decoder::solana::core::loaders::tests::upgradeable_legacy_optional_fields_are_defaulted ... ok +test decoder::solana::core::loaders::tests::immutable_generations_decode_write_and_finalize ... ok +test decoder::solana::core::precompiles::tests::failed_transaction_is_decoded_without_commit_or_runtime_validity_claim ... ok +test decoder::solana::core::loaders::tests::loader_v4_decodes_every_official_variant ... ok +test decoder::solana::core::precompiles::tests::header_and_offsets_truncation_fail_deterministically ... ok +test decoder::solana::core::precompiles::tests::out_of_bounds_message_lengths_fail_for_all_precompiles ... ok +test decoder::solana::core::precompiles::tests::inconsistent_zero_count_and_runtime_r1_count_limit_fail ... ok +test decoder::solana::core::slashing::tests::coverage_declares_exactly_two_official_instructions ... ok +test decoder::solana::core::precompiles::tests::official_zero_signature_rules_are_preserved ... ok +test decoder::solana::core::precompiles::tests::secp256k1_treats_u8_max_as_an_explicit_outer_index_not_a_sentinel ... ok +test decoder::solana::core::precompiles::tests::secp256k1_current_reference_is_explicit_and_retains_recovery_id ... ok +test decoder::solana::core::precompiles::tests::missing_or_invalid_external_base64_fails_for_all_precompiles ... ok +test decoder::solana::core::precompiles::tests::secp256r1_current_reference_decodes_compressed_public_key ... ok +test decoder::solana::core::precompiles::tests::all_precompiles_support_mixed_component_references ... ok +test decoder::solana::core::precompiles::tests::out_of_bounds_offsets_fail_for_all_precompiles ... ok +test decoder::solana::core::slashing::tests::close_violation_report_decodes_exact_runtime_contract ... ok +test decoder::solana::core::stake::tests::coverage_declares_every_official_stake_instruction ... ok +test decoder::solana::core::loaders::tests::upgradeable_loader_decodes_every_official_variant ... ok +test decoder::solana::core::precompiles::tests::secp256k1_decodes_multiple_signatures ... ok +test decoder::solana::core::slashing::tests::wrong_fixed_accounts_fail_safely ... ok +test decoder::solana::core::stake::tests::deprecated_redelegate_is_an_uncommitted_historical_intent ... ok +test decoder::solana::core::stake::tests::truncated_unknown_trailing_and_missing_accounts_fail_safely ... ok +test decoder::solana::core::slashing::tests::failed_transaction_is_decoded_without_runtime_or_mutation_claim ... ok +test decoder::solana::core::stake::tests::wire_mirror_matches_the_official_legacy_layout ... ok +test decoder::solana::core::stake::tests::failed_stake_instruction_is_decoded_as_uncommitted_intent ... ok +test decoder::solana::core::slashing::tests::malformed_unknown_and_trailing_payloads_fail_safely ... ok +test decoder::solana::core::system::tests::coverage_declares_all_current_system_variants ... ok +test decoder::solana::core::precompiles::tests::all_precompiles_resolve_external_outer_instruction_data ... ok +test decoder::solana::core::precompiles::tests::empty_and_large_messages_are_hashed_without_full_message_retention ... ok +test decoder::solana::core::system::tests::additional_accounts_are_preserved_without_rejecting_valid_system_instructions ... ok +test decoder::solana::core::stake::tests::legacy_and_current_account_layouts_are_preserved ... ok +test decoder::solana::core::slashing::tests::duplicate_block_proof_decodes_exact_official_layout ... ok +test decoder::solana::core::system::tests::unknown_tag_is_unsupported_and_hashable_for_replay ... ok +test decoder::solana::core::slashing::tests::duplicate_block_proof_reports_preceding_ed25519_context ... ok +test decoder::solana::core::precompiles::tests::event_kind_and_serialization_are_stable ... ok +test decoder::solana::core::precompiles::tests::ed25519_and_secp256r1_decode_multiple_signatures ... ok +test decoder::solana::core::system::tests::missing_accounts_and_truncated_payload_fail_without_panic ... ok +test decoder::solana::core::vote::tests::coverage_declares_every_official_vote_instruction ... ok +test decoder::solana::core::system::tests::event_serialization_is_deterministic ... ok +test decoder::solana::core::system::tests::failed_transaction_is_decoded_as_uncommitted_intent ... ok +test decoder::solana::core::slashing::tests::serialization_is_deterministic ... ok +test decoder::solana::core::zk_elgamal::tests::coverage_declares_all_thirteen_official_instructions ... ok +test decoder::solana::core::vote::tests::initialize_account_v2_collectors_are_instruction_accounts ... ok +test decoder::solana::core::zk_elgamal::tests::invalid_inline_sizes_unknown_tags_and_empty_payload_fail_safely ... ok +test decoder::solana::core::vote::tests::voter_with_bls_arguments_are_preserved_exactly ... ok +test decoder::solana::core::vote::tests::truncated_unknown_and_trailing_payloads_are_distinguished ... ok +test decoder::solana::core::zk_elgamal::tests::close_context_state_accepts_runtime_trailing_bytes_and_rejects_same_destination ... ok +test decoder::solana::core::zk_elgamal::tests::failed_transaction_never_claims_runtime_verification_or_commit ... ok +test decoder::solana::core::vote::tests::missing_or_wrong_fixed_accounts_fail_safely ... ok +test decoder::solana::core::zk_elgamal::tests::proof_account_mode_requires_the_proof_account ... ok +test decoder::solana::core::stake::tests::current_bpf_account_layouts_decode_without_legacy_sysvars ... ok +test decoder::solana::core::vote::tests::failed_vote_instruction_is_decoded_as_uncommitted_intent ... ok +test decoder::solana::core::zk_token_proof::tests::coverage_declares_seventeen_historical_entries_and_current_noop_fallback ... ok +test decoder::solana::core::zk_elgamal::tests::proof_account_mode_decodes_offset_and_context_request ... ok +test decoder::solana::core::zk_token_proof::tests::close_context_state_preserves_historical_intent_without_claiming_mutation ... ok +test decoder::solana::core::zk_elgamal::tests::official_discriminants_map_to_stable_entry_codes ... ok +test decoder::solana::core::zk_token_proof::tests::inner_invocation_never_claims_historical_verification ... ok +test decoder::spl::associated_token_account::decoder::tests::exact_dispatch_and_coverage_are_compiled ... ok +test decoder::solana::core::zk_token_proof::tests::failed_transaction_is_non_committed_and_never_claims_verification ... ok +test decoder::solana::core::zk_elgamal::tests::serialization_is_deterministic ... ok +test decoder::solana::core::zk_token_proof::tests::proof_account_mode_is_structured_and_historical_feature_gate_is_explicit ... ok +test decoder::solana::core::zk_token_proof::tests::malformed_historical_shapes_decode_as_current_noop_instead_of_false_failure ... ok +test decoder::solana::core::system::tests::every_official_variant_decodes ... ok +test decoder::solana::core::zk_token_proof::tests::historical_account_arity_is_reported_without_overriding_current_noop_acceptance ... ok +test decoder::spl::associated_token_account::decoder::tests::official_builders_match_matrix_wire_and_account_contracts ... ok +test decoder::spl::elgamal_registry::decoder::tests::exact_program_boundary_and_interface_id_are_preserved ... ok +test decoder::spl::elgamal_registry::decoder::tests::malformed_unknown_and_suffixed_wire_fail_closed ... ok +test decoder::solana::core::zk_token_proof::tests::historical_transfer_fee_gates_are_explicit ... ok +test decoder::spl::elgamal_registry::state::tests::registry_state_rejects_every_non_exact_length ... ok +test decoder::solana::core::zk_token_proof::tests::serialization_is_deterministic ... ok +test decoder::spl::elgamal_registry::state::tests::exact_registry_state_preserves_owner_key_and_wire ... ok +test decoder::spl::elgamal_registry::decoder::tests::create_and_update_decode_exact_offsets_and_commit_state ... ok +test decoder::spl::associated_token_account::decoder::tests::unknown_and_suffixed_wire_fail_with_bounded_diagnostics ... ok +test decoder::spl::memo::decoder::tests::exact_support_and_interface_ids_cover_all_generations ... ok +test decoder::solana::core::zk_token_proof::tests::official_discriminants_map_to_stable_entry_codes ... ok +test decoder::spl::memo::decoder::tests::decodes_empty_ascii_unicode_outer_and_inner_payloads ... ok +test decoder::spl::associated_token_account::decoder::tests::token2022_inner_failed_idempotent_remains_an_uncommitted_intent ... ok +test decoder::spl::memo::decoder::tests::unknown_program_is_incompatible_and_never_emits_an_observation ... ok +test decoder::spl::memo::decoder::tests::payload_hash_is_canonical_sha256 ... ok +test decoder::spl::memo::decoder::tests::invalid_utf8_and_failed_transactions_are_explicit_uncommitted_intents ... ok +test decoder::spl::token2022::decoder::tests::classic_token_and_unknown_programs_never_emit_token2022_events ... ok +test decoder::spl::memo::decoder::tests::payload_bound_accepts_limit_and_rejects_oversize_and_malformed_base64 ... ok +test decoder::spl::token2022::decoder::tests::audited_extension_families_reject_unknown_truncated_and_suffixed_wire ... ok +test decoder::spl::memo::decoder::tests::preserves_duplicate_writable_and_multiple_signer_accounts_in_order ... ok +test decoder::spl::token2022::decoder::tests::confidential_mint_burn_and_permissioned_confidential_burn_reject_invalid_wire ... ok +test decoder::spl::memo::decoder::tests::v1_ignores_accounts_while_v3_and_v4_require_every_account_to_sign ... ok +test decoder::spl::token2022::decoder::tests::confidential_transfer_fee_leaves_reject_invalid_wire ... ok +test decoder::spl::associated_token_account::decoder::tests::wrong_address_flags_duplicates_extra_and_missing_accounts_stay_decodable ... ok +test decoder::spl::associated_token_account::decoder::tests::create_and_legacy_empty_create_decode_with_canonical_address ... ok +test decoder::spl::token2022::decoder::tests::confidential_transfer_complex_public_leaves_reject_invalid_wire ... ok +test decoder::solana::core::stake::tests::every_official_stake_variant_decodes ... ok +test decoder::spl::token2022::decoder::tests::confidential_transfer_simple_public_leaves_reject_invalid_wire ... ok +test decoder::spl::associated_token_account::decoder::tests::published_interface_and_matrix_variants_are_equal ... ok +test decoder::spl::memo::decoder::tests::matrix_is_machine_readable_and_covers_required_cases ... ok +test decoder::spl::associated_token_account::decoder::tests::recover_nested_preserves_mint_roles_and_validates_all_three_pdas ... ok +test decoder::spl::associated_token_account::decoder::tests::matrix_pda_vectors_match_the_official_helper ... ok +test decoder::spl::token2022::decoder::tests::embedded_interfaces_reject_truncation_suffix_and_unbounded_metadata_strings ... ok +test decoder::spl::associated_token_account::decoder::tests::program_ids_accounts_and_pda_seed_order_are_explicit ... ok +test decoder::spl::token2022::decoder::tests::interest_bearing_wire_rejects_unknown_truncated_and_suffixed_forms ... ok +test decoder::spl::token2022::decoder::tests::confidential_mint_burn_and_permissioned_confidential_burn_decode_exactly ... ok +test decoder::spl::token2022::decoder::tests::failed_inner_token2022_instruction_remains_uncommitted ... ok +test decoder::spl::token2022::decoder::tests::confidential_transfer_complex_public_leaves_decode_exactly ... ok +test decoder::spl::token2022::decoder::tests::compliance_extensions_decode_exact_toggle_and_state_contracts ... ok +test decoder::spl::token2022::decoder::tests::exact_token2022_dispatch_decodes_checked_transfer ... ok +test decoder::solana::core::zk_elgamal::tests::every_inline_proof_layout_is_bounded_by_official_pod_sizes ... ok +test decoder::spl::token2022::decoder::tests::confidential_transfer_fee_leaves_decode_exactly ... ok +test decoder::solana::core::vote::tests::every_official_vote_variant_decodes ... ok +test decoder::spl::token2022::decoder::tests::interest_bearing_non_transferable_permanent_delegate_and_reallocate_decode_exactly ... ok +test decoder::spl::token2022::decoder::tests::confidential_transfer_simple_public_leaves_decode_exactly ... ok +test decoder::spl::token2022::decoder::tests::embedded_metadata_and_group_interfaces_decode_as_token2022_leaves ... ok +test decoder::spl::token2022::decoder::tests::pointer_and_transfer_hook_extensions_reject_unknown_truncated_and_suffixed_wire ... ok +test decoder::spl::token2022::state::tests::audited_fixed_extension_lengths_and_values_fail_closed ... ok +test decoder::spl::token2022::decoder::tests::scaled_ui_pausable_and_permissioned_burn_reject_invalid_exact_wire ... ok +test decoder::spl::token2022::state::tests::confidential_fee_and_mint_burn_states_fail_closed ... ok +test decoder::spl::token2022::state::tests::confidential_transfer_state_extensions_reject_invalid_lengths_and_flags ... ok +test decoder::spl::token2022::state::tests::confidential_fee_and_mint_burn_states_decode_exact_public_fields ... ok +test decoder::spl::token2022::state::tests::confidential_transfer_state_extensions_decode_exact_public_fields ... ok +test decoder::spl::token2022::state::tests::extended_mint_and_account_preserve_ordered_known_and_unknown_tlv ... ok +test decoder::spl::token2022::state::tests::exact_base_mint_account_and_multisig_layouts_are_preserved ... ok +test decoder::spl::token2022::decoder::tests::scaled_ui_pausable_and_permissioned_burn_decode_exact_non_confidential_leaves ... ok +test decoder::spl::token2022::decoder::tests::transfer_fee_extension_decodes_all_six_published_subinstructions ... ok +test decoder::solana::core::zk_token_proof::tests::every_historical_inline_layout_matches_the_audited_wire_table ... ok +test decoder::spl::token2022::state::tests::fixed_extension_payloads_are_structured_and_kind_checked ... ok +test decoder::spl::token2022::state::tests::interest_scaled_ui_and_pausable_states_fail_closed ... ok +test decoder::spl::token2022::state::tests::interest_scaled_ui_and_pausable_states_decode_exact_public_fields ... ok +test decoder::spl::token2022::state::tests::malformed_padding_account_type_tlv_and_duplicates_fail_closed ... ok +test decoder::spl::token2022::decoder::tests::pointer_and_transfer_hook_extensions_decode_all_published_leaves ... ok +test decoder::spl::token2022::state::tests::token_group_and_member_states_reject_invalid_lengths_and_size ... ok +test decoder::spl::token2022::state::tests::token_group_and_member_states_decode_exact_public_fields ... ok +test decoder::spl::token2022::state::tests::token_metadata_state_rejects_truncation_invalid_utf8_duplicates_and_trailing_bytes ... ok +test decoder::spl::token2022::state::tests::state_lengths_and_tlv_count_are_bounded ... ok +test decoder::spl::token2022::state::tests::token_metadata_state_decodes_name_symbol_uri_and_additional_fields ... ok +test decoder::spl::token2022::state::tests::transfer_fee_state_extensions_reject_invalid_lengths_and_basis_points ... ok +test decoder::spl::token::decoder::tests::exact_support_program_id_and_interface_match ... ok +test decoder::spl::token::decoder::tests::suffix_unknown_empty_truncated_and_invalid_utf8_are_bounded ... ok +test decoder::spl::token::decoder::tests::batch_preserves_order_slices_paths_and_rejects_nested_batch ... ok +test decoder::spl::token2022::state::tests::transfer_fee_state_extensions_decode_exact_public_fields ... ok +test decoder::spl::token::decoder::tests::failed_transfer_is_an_exact_uncommitted_inner_intent_without_invented_mint ... ok +test decoder::spl::token::decoder::tests::authority_forms_and_multisig_threshold_diagnostics_are_explicit ... ok +test decoder::spl::token2022::decoder::tests::matrix_requires_bounded_token_metadata_string_decoding ... ok +test decoder::spl::token2022::decoder::tests::initial_matrix_has_exact_program_boundary_and_candidate_inventory ... ok +test decoder::spl::token2022::decoder::tests::matrix_partitions_every_base_tag_by_exact_processor_suffix_policy ... ok +test decoder::spl::token2022::decoder::tests::matrix_maps_every_base_tag_to_exact_official_builder_accounts ... ok +test decoder::spl::token2022::decoder::tests::matrix_records_exact_public_wire_for_all_non_extension_envelopes ... ok +test executor::api::execution::tests::mainnet_cluster_serializes_with_current_name ... ok +test decoder::spl::token2022::decoder::tests::extension_types_are_contiguous_and_external_interfaces_stay_explicit ... ok +test decoder::spl::token2022::decoder::tests::matrix_leaf_inventory_equals_compiled_decoder_coverage ... ok +test decoder::spl::token::decoder::tests::every_published_tag_decodes_and_matches_official_unpack ... ok +test materializer::admin::core::elgamal_registry_state_tests::exact_registry_snapshot_preserves_public_state_without_claiming_proof_validation ... ok +test materializer::admin::core::elgamal_registry_state_tests::registry_snapshot_is_idempotent_and_requires_account_identity ... ok +test decoder::spl::token::decoder::tests::coverage_matrix_and_compiled_entries_are_equal ... ok +test materializer::admin::core::tests::ata_instructions_do_not_create_admin_outputs ... ok +test decoder::spl::token::decoder::tests::cluster_evidence_scopes_recent_instruction_deployment_exactly ... ok +test materializer::admin::core::tests::elgamal_registry_foreign_program_and_failed_transaction_are_refused ... ok +test materializer::admin::core::tests::config_store_preserves_bounded_opaque_audit_fields ... ok +test materializer::admin::core::tests::classic_token_authority_and_multisig_create_distinct_admin_outputs ... ok +test materializer::admin::core::tests::failed_admin_mutation_is_refused ... ok +test materializer::admin::core::tests::seeded_assign_preserves_base_seed_and_owner ... ok +test materializer::admin::core::tests::system_assign_creates_owner_projection ... ok +test materializer::admin::core::tests::elgamal_registry_create_and_update_have_one_admin_owner ... ok +test materializer::admin::core::tests::token2022_authority_change_uses_the_admin_owner_once ... ok +test materializer::admin::core::tests::token2022_extension_admin_rejects_foreign_program_and_failed_transaction ... ok +test materializer::admin::core::tests::loader_authority_variants_create_exact_admin_outputs ... ok +test materializer::admin::core::tests::output_serialization_is_deterministic ... ok +test materializer::admin::core::tests::unrelated_admin_observation_is_ignored ... ok +test materializer::admin::core::token2022_admin_state_tests::admin_snapshots_reject_empty_identity_and_wrong_state_kind ... ok +test materializer::api::contracts::tests::failed_audit_cannot_emit_successful_trade_output ... ok +test materializer::admin::core::tests::token2022_pointer_and_hook_admin_events_have_one_owner ... ok +test materializer::api::contracts::tests::failed_trade_is_refused_before_materialization ... ok +test materializer::admin::core::token2022_admin_state_tests::admin_snapshots_are_owned_once_filtered_and_idempotent ... ok +test materializer::compliance::audit::tests::failed_code_mutation_is_refused ... ok +test materializer::compliance::audit::tests::compute_budget_profile_is_emitted_only_by_profile_emitter ... ok +test materializer::compliance::audit::tests::failed_compute_budget_profile_remains_audit_materializable ... ok +test materializer::compliance::audit::tests::unrelated_audit_observation_is_ignored ... ok +test materializer::compliance::audit::tests::loader_v4_copy_preserves_source_and_bounded_ranges ... ok +test materializer::fees::core::tests::classic_token_and_program_surface_mismatches_are_ignored ... ok +test decoder::spl::token2022::decoder::tests::initial_matrix_tags_are_unique_and_include_recent_surface ... ok +test materializer::fees::core::tests::committed_confidential_fee_instruction_is_projected_without_decryption ... ok +test materializer::fees::core::tests::committed_token2022_fee_instruction_creates_one_stable_output ... ok +test materializer::compliance::audit::tests::loader_write_variants_create_bounded_code_audits ... ok +test materializer::fees::core::tests::confidential_transfer_with_fee_is_instructionally_self_contained ... ok +test materializer::fees::core::tests::failed_token2022_fee_instruction_is_refused ... ok +test materializer::fees::core::tests::confidential_fee_amount_preserves_ciphertext_without_decryption_claim ... ok +test materializer::fees::core::tests::fee_state_snapshot_rejects_wrong_state_kind_and_empty_identity ... ok +test materializer::fees::core::tests::transfer_checked_with_fee_is_self_contained_but_state_mutations_are_not ... ok +test materializer::compliance::audit::tests::output_serialization_is_deterministic ... ok +test materializer::fees::core::tests::public_fee_state_snapshots_are_owned_once_and_idempotent ... ok +test materializer::lifecycle::core::tests::ata_lifecycle_is_owned_by_token_accounts_materializer_only ... ok +test materializer::lifecycle::core::tests::historical_zk_token_proof_is_not_materialized ... ok +test materializer::lifecycle::core::tests::loader_write_and_admin_events_are_not_lifecycle_projections ... ok +test materializer::lifecycle::core::tests::failed_native_lifecycle_is_refused ... ok +test materializer::lifecycle::core::tests::output_serialization_is_deterministic ... ok +test materializer::lifecycle::core::tests::nonce_withdrawal_preserves_conditional_closure_semantics ... ok +test materializer::lifecycle::core::tests::every_committed_system_account_operation_creates_a_lifecycle_projection ... ok +test materializer::lifecycle::core::tests::successful_alt_lifecycle_creates_one_stable_output ... ok +test materializer::lifecycle::core::tests::every_committed_system_nonce_operation_creates_a_lifecycle_projection ... ok +test materializer::lifecycle::core::tests::successful_feature_revoke_creates_feature_gate_projection ... ok +test decoder::spl::token2022::decoder::tests::matrix_matches_the_pinned_processor_dispatch_shape ... ok +test materializer::lifecycle::core::tests::successful_slashing_close_creates_stable_closure_projection ... ok +test materializer::lifecycle::core::tests::successful_loader_lifecycle_creates_program_projection ... ok +test materializer::lifecycle::core::tests::unrelated_lifecycle_is_ignored ... ok +test materializer::lifecycle::core::tests::system_account_creation_does_not_duplicate_balance_changes ... ok +test decoder::spl::token2022::decoder::tests::matrix_records_operator_resolution_and_keeps_elgamal_technically_separate ... ok +test materializer::lifecycle::core::tests::successful_slashing_proof_initializes_violation_report_projection ... ok +test materializer::lifecycle::core::tests::zk_context_close_creates_a_stable_lifecycle_projection ... ok +test materializer::metadata::core::tests_metaplex_account_state::programmable_delegate_authority_and_escrow_keep_unique_fact_owners ... ok +test materializer::metadata::core::tests_metaplex_account_state::historical_edition_and_reservation_are_stable_materializable_state ... ok +test materializer::lifecycle::core::tests::zk_context_is_materialized_only_when_requested ... ok +test materializer::metadata::core::tests_metaplex_account_state::uncommitted_and_metadata_snapshots_use_explicit_boundaries ... ok +test materializer::metadata::core::tests_metaplex_metadata_state::uncommitted_or_non_metadata_state_is_rejected ... ok +test materializer::metadata::core::tests_token2022_state::snapshot_is_idempotent_filters_unrelated_extensions_and_requires_mint_identity ... ok +test materializer::metadata::core::tests_token2022_state::embedded_metadata_group_and_member_have_distinct_stable_outputs ... ok +test materializer::risk::core::tests::failed_or_invalid_nested_ata_recovery_creates_no_risk_fact ... ok +test materializer::metadata::core::tests_metaplex_metadata_state::account_snapshot_is_one_stable_authoritative_metadata_projection ... ok +test materializer::risk::core::tests::approval_and_authority_revocation_are_fact_only_without_score ... ok +test materializer::risk::core::tests::failed_risk_fact_is_refused ... ok +test materializer::risk::core::tests::committed_nested_ata_recovery_creates_one_fact_without_score ... ok +test materializer::staking::core::tests::failed_staking_mutation_is_refused ... ok +test materializer::risk::core::tests::only_structurally_weak_multisig_creates_risk_fact ... ok +test materializer::risk::core::tests::token2022_revocation_is_owned_once_without_an_invented_score ... ok +test materializer::staking::core::tests::output_serialization_is_deterministic ... ok +test materializer::risk::core::tests::confidential_credit_toggles_are_fact_only_and_keep_wire_parameters ... ok +test materializer::staking::core::tests::stake_initialize_creates_instructional_staking_projection ... ok +test materializer::risk::core::tests::token2022_compliance_toggles_are_projected_as_fact_only_risk_rows ... ok +test materializer::risk::core::tests::token2022_restriction_and_pause_facts_have_unique_stable_kinds ... ok +test materializer::staking::core::tests::stake_value_projection_does_not_duplicate_lamport_changes ... ok +test materializer::staking::core::tests::stake_authority_and_lockup_events_are_projected ... ok +test materializer::staking::core::tests::unrelated_or_disabled_observations_are_ignored ... ok +test materializer::token::accounts::tests::batch_parent_admin_and_conversion_events_are_not_duplicated ... ok +test materializer::token::accounts::tests::committed_checked_transfer_preserves_exact_amount_mint_and_path ... ok +test materializer::staking::core::tests::vote_state_and_reward_outputs_are_distinguished ... ok +test materializer::staking::core::tests::vote_account_and_authority_events_are_projected ... ok +test materializer::token::accounts::tests::committed_token2022_transfer_has_the_same_single_projection_owner ... ok +test materializer::token::accounts::tests::failed_mutation_is_refused ... ok +test materializer::token::accounts::tests::ata_parent_and_classic_token_cpi_children_own_distinct_facts ... ok +test materializer::risk::core::tests::ata_matrix_declares_the_single_compiled_risk_fact ... ok +test materializer::token::accounts::tests::every_ata_variant_has_one_exact_lifecycle_projection ... ok +test materializer::token::accounts::tests::idempotent_parent_does_not_invent_created_or_reused_branch ... ok +test materializer::token::accounts::tests::token2022_state_snapshot_is_idempotent_and_rejects_missing_identity ... ok +test materializer::token::accounts::tests::token2022_state_snapshot_preserves_base_and_ordered_extensions ... ok +test materializer::transaction::annotations::tests::exact_v1_v3_and_v4_surfaces_are_accepted ... ok +test materializer::token::accounts::tests::uncommitted_or_invalid_ata_lifecycle_is_refused ... ok +test materializer::token::accounts::tests::second_ata_materialization_is_byte_for_byte_idempotent ... ok +test materializer::transaction::annotations::tests::foreign_audit_observation_is_not_accepted ... ok +test materializer::transaction::annotations::tests::failed_or_uncommitted_memo_is_refused_without_output ... ok +test materializer::transaction::annotations::tests::malformed_committed_payload_fails_closed ... ok +test materializer::transaction::annotations::tests::v1_observed_accounts_are_not_claimed_as_runtime_verified ... ok +test materializer::transaction::annotations::tests::committed_v4_memo_becomes_deterministic_transaction_annotation ... ok +test model::canonical_transaction::tests::token_decimal_amount_is_derived_without_source_ui_formatting ... ok +test model::canonical_transaction::tests::validation_rejects_inconsistent_status_and_error ... ok +test model::canonical_transaction::tests::validation_rejects_signature_with_public_key_length ... ok +test materializer::token::accounts::tests::ata_matrix_and_compiled_token_account_projection_ownership_are_equal ... ok +test materializer::transaction::annotations::tests::machine_readable_matrix_declares_transaction_annotation_policy ... ok +test model::canonical_transaction::tests::canonical_json_contains_no_provider_fields ... ok +test model::canonical_transaction::tests::canonical_hash_is_stable ... ok +test model::canonical_transaction::tests::canonical_hash_sorts_nested_error_objects ... ok +test executor::api::execution::export_bindings_exapiexecutionblockhashkind ... ok +test executor::api::execution::export_bindings_exapiexecutioncluster ... ok +test executor::api::execution::export_bindings_exapiexecutioncapability ... ok +test executor::api::execution::export_bindings_exapiexecutionconfirmationstatus ... ok +test executor::api::execution::export_bindings_exapiexecutioncostlimit ... ok +test executor::api::execution::export_bindings_exapiexecutionsimulationpolicy ... ok +test executor::api::execution::export_bindings_exapiplannedaccount ... ok +test executor::api::executor::export_bindings_exapiexecutionplan ... ok +test executor::api::executor::export_bindings_exapiexecutionsupport ... ok +test model::decoded::export_bindings_mddecoderconfidence ... ok +test model::decoded::export_bindings_mdeventsourcekind ... ok +test model::nomenclature::export_bindings_mdeventcode ... ok +test model::nomenclature::export_bindings_mdeventfamily ... ok +test model::nomenclature::export_bindings_mdeventname ... ok +test model::nomenclature::export_bindings_mdprogramcode ... ok +test model::nomenclature::export_bindings_mdprotocolcode ... ok +test model::nomenclature::export_bindings_mdsurfacecode ... ok +test executor::api::execution::export_bindings_exapiexecutionclusterpolicy ... ok +test executor::api::execution::export_bindings_exapiexecutionconfirmationresult ... ok +test model::solana::export_bindings_mdinstructionpath ... ok +test executor::api::execution::export_bindings_exapipostexecutiondiagnostic ... ok +test executor::api::execution::export_bindings_exapiexecutionsendresult ... ok +test executor::api::execution::export_bindings_exapiplannedinstruction ... ok +test executor::api::execution::export_bindings_exapipostexecutionvalidationpolicy ... ok +test model::solana::export_bindings_mdprogramid ... ok +test executor::api::execution::export_bindings_exapirequiredsigner ... ok +test model::solana::export_bindings_mdpubkey ... ok +test executor::api::executor::export_bindings_exapiexecutionrequest ... ok +test model::solana::export_bindings_mdsignature ... ok +test model::solana::export_bindings_mdslot ... ok +test model::materialized::export_bindings_mdmaterializedeventfamily ... ok +test executor::api::execution::export_bindings_exapiexecutionblockhashpolicy ... ok +test executor::api::execution::export_bindings_exapiexecutionsimulationresult ... ok +test executor::api::execution::export_bindings_exapiexecutionpolicy ... ok +test model::materialized::export_bindings_mdmaterializedevent ... ok +test model::decoded::export_bindings_mddecodedprotocolevent ... ok +test model::observation::export_bindings_mdprogramobservation ... ok +test executor::api::execution::export_bindings_exapipreparedexecutionplan ... ok + +test result: ok. 415 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.07s + + Running tests/external_decoder_api.rs (../target/debug/deps/external_decoder_api-7cdf22f25823d46a) + +running 1 test +test external_decoder_uses_only_the_public_kb_lib_contract ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/external_executor_api.rs (../target/debug/deps/external_executor_api-ff115a9a49335d58) + +running 1 test +test external_executor_uses_only_the_public_kb_lib_contract ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/external_materializer_api.rs (../target/debug/deps/external_materializer_api-8511294a1d0525a9) + +running 1 test +test external_materializer_uses_only_the_public_kb_lib_contract ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests kb_lib + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + +[2026-07-24T14:31:33] sinus@ideatower001@bash:1:~/Projects/khadhroony-bot3 $>> cargo clippy --all-targets +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/adapter/saber_decimal_wrapper.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_adapter_saber_decimal_wrapper"; + | ^^^^^^^^^^^^ + | + = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/adapter/saber_decimal_wrapper.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/admin/jupiter_lock.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_admin_jupiter_lock"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/admin/jupiter_lock.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/admin/pump_fees.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_admin_pump_fees"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/admin/pump_fees.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/aldrin_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_aldrin_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/aldrin_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/aldrin_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_aldrin_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/aldrin_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/alphaq.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_alphaq"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/alphaq.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/believe.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_believe"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/believe.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/bonk_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_bonk_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/bonk_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/fluxbeam.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_fluxbeam"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/fluxbeam.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goon_fi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goon_fi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goon_fi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goosefx_gamma.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goosefx_gamma"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goosefx_gamma.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goosefx_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goosefx_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goosefx_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/guac_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_guac_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/guac_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/lifinity_swap_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_lifinity_swap_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/lifinity_swap_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/metadao_futarchy_amm.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_metadao_futarchy_amm"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/metadao_futarchy_amm.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/metadao_v0_5.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_metadao_v0_5"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/metadao_v0_5.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/meteora_damm_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_meteora_damm_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/meteora_damm_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/meteora_damm_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_meteora_damm_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/meteora_damm_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/obric_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_obric_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/obric_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/one_dex.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_one_dex"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/one_dex.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/pump_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_pump_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/pump_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/raydium_lp_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_raydium_lp_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/raydium_lp_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/solfi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_solfi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/solfi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/solfi_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_solfi_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/solfi_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/vertigo.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_vertigo"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/vertigo.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/virtuals.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_virtuals"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/virtuals.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/woofi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_woofi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/woofi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/zero_fi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_zero_fi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/zero_fi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/zora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_zora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/zora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_circle_cctp_token_messenger_minter"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_circle_cctp_token_messenger_minter_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/layer_zero_endpoint.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_layer_zero_endpoint"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/layer_zero_endpoint.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/layer_zero_executor.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_layer_zero_executor"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/layer_zero_executor.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/byreal.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_byreal"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/byreal.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/fusion.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_fusion"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/fusion.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/orca_whirlpool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_orca_whirlpool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/orca_whirlpool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/pancake_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_pancake_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/pancake_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/raydium.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_raydium"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/raydium.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/cpmm/raydium.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_cpmm_raydium"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/cpmm/raydium.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/dlmm/meteora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_dlmm_meteora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/dlmm/meteora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_fees_bags_fee_share_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_fees_bags_fee_share_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/governance/metadao_bid_wall.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_governance_metadao_bid_wall"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/governance/metadao_bid_wall.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/boop_fun.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_boop_fun"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/boop_fun.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/metadao_ico.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_metadao_ico"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/metadao_ico.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/meteora_dbc.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_meteora_dbc"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/meteora_dbc.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/moonit.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_moonit"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/moonit.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/orca_wavebreak.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_orca_wavebreak"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/orca_wavebreak.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/printr.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_printr"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/printr.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/pump_fun.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_pump_fun"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/pump_fun.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/pump_pumpup_ai.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_pump_pumpup_ai"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/pump_pumpup_ai.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/raydium_launchlab.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_raydium_launchlab"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/raydium_launchlab.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/clone.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_clone"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/clone.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_borrow.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_borrow"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_borrow.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_earn.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_earn"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_earn.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_flash_loan.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_flash_loan"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_flash_loan.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_liquidity.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_liquidity"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_liquidity.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/kamino.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_kamino"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/kamino.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/marginfi_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_marginfi_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/marginfi_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lock/raydium_lp.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lock_raydium_lp"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lock/raydium_lp.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/metadata/metaplex_token_metadata.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_metadata_metaplex_token_metadata"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/metadata/metaplex_token_metadata.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/metadata/spl_name_service.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_metadata_spl_name_service"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/metadata/spl_name_service.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/nft/metaplex_bubblegum.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_nft_metaplex_bubblegum"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/nft/metaplex_bubblegum.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_jupiter_limit_order"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_jupiter_limit_order_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/openbook_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_openbook_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/openbook_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/drift_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_drift_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/drift_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/jupiter.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_jupiter"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/jupiter.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/zeta.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_zeta"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/zeta.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/dflow_aggregator_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_dflow_aggregator_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/dflow_aggregator_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_aggregator_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v6.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_aggregator_v6"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v6.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_dca.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_dca"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_dca.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/okx_labs_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_okx_labs_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/okx_labs_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/okx_labs_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_okx_labs_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/okx_labs_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/rwa/ondo_global_markets.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_rwa_ondo_global_markets"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/rwa/ondo_global_markets.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/solana/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_solana_core"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/solana/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/account_compression.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_account_compression"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/account_compression.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/associated_token_account.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_associated_token_account"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/associated_token_account.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/elgamal_registry.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_elgamal_registry"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/elgamal_registry.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/memo.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_memo"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/memo.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/noop.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_noop"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/noop.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/single_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_single_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/single_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/stake_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_stake_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/stake_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/token.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_token"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/token.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/token2022.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_token2022"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/token2022.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_hylo_exchange.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_hylo_exchange"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_hylo_exchange.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_jupiter_stable.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_jupiter_stable"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_jupiter_stable.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_numeraire.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_numeraire"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_numeraire.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/kamino_farm.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_kamino_farm"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/kamino_farm.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/marinade_finance.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_marinade_finance"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/marinade_finance.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/solayer.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_solayer"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/solayer.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/treasury/helium_treasury_management.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_treasury_helium_treasury_management"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/treasury/helium_treasury_management.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/carrot_defi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_carrot_defi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/carrot_defi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/hylo_stability_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_hylo_stability_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/hylo_stability_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino_yvaults.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino_yvaults"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino_yvaults.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/meteora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_meteora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/meteora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vesting/streamflow.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vesting_streamflow"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vesting/streamflow.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/wallet/jupiter_apepro_smart_wallet.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_wallet_jupiter_apepro_smart_wallet"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/wallet/jupiter_apepro_smart_wallet.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/weighted/swap_stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_weighted_swap_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/weighted/swap_stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/bridge/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_bridge"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/bridge/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/governance/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_governance"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/governance/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/lending/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_lending"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/lending/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/liquidity/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_liquidity"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/liquidity/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/nft/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_nft"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/nft/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/oracle/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_oracle"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/oracle/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/orderbook/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_orderbook"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/orderbook/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/perpetuals/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_perpetuals"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/perpetuals/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/pool/state.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_pool_state"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/pool/state.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/rewards/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_rewards"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/rewards/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/routing/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_routing"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/routing/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/token/metadata_risk.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_token_metadata_risk"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/token/metadata_risk.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/trades/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_trades"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/trades/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/vault/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_vault"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/vault/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: `kb-lib` (lib) generated 236 warnings +warning: `kb-lib` (lib test) generated 236 warnings (236 duplicates) + Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.25s +[2026-07-24T14:31:43] sinus@ideatower001@bash:1:~/Projects/khadhroony-bot3 $>> cargo check --workspace +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/adapter/saber_decimal_wrapper.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_adapter_saber_decimal_wrapper"; + | ^^^^^^^^^^^^ + | + = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/adapter/saber_decimal_wrapper.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/admin/jupiter_lock.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_admin_jupiter_lock"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/admin/jupiter_lock.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/admin/pump_fees.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_admin_pump_fees"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/admin/pump_fees.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/aldrin_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_aldrin_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/aldrin_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/aldrin_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_aldrin_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/aldrin_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/alphaq.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_alphaq"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/alphaq.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/believe.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_believe"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/believe.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/bonk_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_bonk_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/bonk_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/fluxbeam.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_fluxbeam"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/fluxbeam.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goon_fi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goon_fi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goon_fi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goosefx_gamma.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goosefx_gamma"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goosefx_gamma.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/goosefx_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_goosefx_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/goosefx_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/guac_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_guac_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/guac_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/lifinity_swap_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_lifinity_swap_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/lifinity_swap_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/metadao_futarchy_amm.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_metadao_futarchy_amm"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/metadao_futarchy_amm.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/metadao_v0_5.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_metadao_v0_5"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/metadao_v0_5.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/meteora_damm_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_meteora_damm_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/meteora_damm_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/meteora_damm_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_meteora_damm_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/meteora_damm_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/obric_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_obric_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/obric_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/one_dex.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_one_dex"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/one_dex.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/pump_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_pump_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/pump_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/raydium_lp_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_raydium_lp_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/raydium_lp_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/solfi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_solfi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/solfi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/solfi_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_solfi_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/solfi_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/vertigo.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_vertigo"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/vertigo.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/virtuals.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_virtuals"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/virtuals.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/woofi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_woofi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/woofi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/zero_fi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_zero_fi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/zero_fi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/amm/zora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_amm_zora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/amm/zora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_circle_cctp_token_messenger_minter"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_circle_cctp_token_messenger_minter_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/layer_zero_endpoint.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_layer_zero_endpoint"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/layer_zero_endpoint.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/bridge/layer_zero_executor.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_bridge_layer_zero_executor"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/bridge/layer_zero_executor.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/byreal.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_byreal"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/byreal.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/fusion.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_fusion"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/fusion.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/orca_whirlpool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_orca_whirlpool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/orca_whirlpool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/pancake_swap.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_pancake_swap"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/pancake_swap.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/raydium.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_raydium"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/raydium.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/clmm/stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_clmm_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/clmm/stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/cpmm/raydium.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_cpmm_raydium"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/cpmm/raydium.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/dlmm/meteora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_dlmm_meteora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/dlmm/meteora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_fees_bags_fee_share_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_fees_bags_fee_share_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/fees/bags_fee_share_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/governance/metadao_bid_wall.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_governance_metadao_bid_wall"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/governance/metadao_bid_wall.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/boop_fun.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_boop_fun"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/boop_fun.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/metadao_ico.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_metadao_ico"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/metadao_ico.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/meteora_dbc.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_meteora_dbc"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/meteora_dbc.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/moonit.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_moonit"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/moonit.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/orca_wavebreak.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_orca_wavebreak"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/orca_wavebreak.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/printr.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_printr"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/printr.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/pump_fun.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_pump_fun"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/pump_fun.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/pump_pumpup_ai.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_pump_pumpup_ai"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/pump_pumpup_ai.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/launchpad/raydium_launchlab.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_launchpad_raydium_launchlab"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/launchpad/raydium_launchlab.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/clone.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_clone"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/clone.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_borrow.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_borrow"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_borrow.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_earn.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_earn"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_earn.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_flash_loan.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_flash_loan"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_flash_loan.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/jupiter_lend_liquidity.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_liquidity"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/jupiter_lend_liquidity.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/kamino.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_kamino"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/kamino.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lending/marginfi_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lending_marginfi_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lending/marginfi_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/lock/raydium_lp.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_lock_raydium_lp"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/lock/raydium_lp.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/metadata/metaplex_token_metadata.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_metadata_metaplex_token_metadata"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/metadata/metaplex_token_metadata.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/metadata/spl_name_service.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_metadata_spl_name_service"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/metadata/spl_name_service.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/nft/metaplex_bubblegum.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_nft_metaplex_bubblegum"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/nft/metaplex_bubblegum.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_jupiter_limit_order"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_jupiter_limit_order_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/jupiter_limit_order_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/orderbook/openbook_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_orderbook_openbook_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/orderbook/openbook_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/drift_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_drift_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/drift_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/jupiter.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_jupiter"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/jupiter.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/perpetuals/zeta.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_perpetuals_zeta"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/perpetuals/zeta.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/dflow_aggregator_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_dflow_aggregator_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/dflow_aggregator_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v4.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_aggregator_v4"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v4.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v6.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_aggregator_v6"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_aggregator_v6.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/jupiter_dca.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_jupiter_dca"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/jupiter_dca.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/okx_labs_v1.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_okx_labs_v1"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/okx_labs_v1.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/router/okx_labs_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_router_okx_labs_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/router/okx_labs_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/rwa/ondo_global_markets.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_rwa_ondo_global_markets"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/rwa/ondo_global_markets.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/solana/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_solana_core"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/solana/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/account_compression.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_account_compression"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/account_compression.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/associated_token_account.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_associated_token_account"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/associated_token_account.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/elgamal_registry.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_elgamal_registry"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/elgamal_registry.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/memo.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_memo"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/memo.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/noop.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_noop"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/noop.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/single_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_single_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/single_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/stake_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_stake_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/stake_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/token.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_token"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/token.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/spl/token2022.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_spl_token2022"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/spl/token2022.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_hylo_exchange.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_hylo_exchange"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_hylo_exchange.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_jupiter_stable.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_jupiter_stable"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_jupiter_stable.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_numeraire.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_numeraire"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_numeraire.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/stable/swap_stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_stable_swap_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/stable/swap_stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/kamino_farm.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_kamino_farm"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/kamino_farm.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/marinade_finance.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_marinade_finance"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/marinade_finance.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/staking/solayer.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_staking_solayer"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/staking/solayer.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/treasury/helium_treasury_management.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_treasury_helium_treasury_management"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/treasury/helium_treasury_management.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/carrot_defi.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_carrot_defi"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/carrot_defi.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/hylo_stability_pool.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_hylo_stability_pool"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/hylo_stability_pool.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino_v2.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino_v2"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino_v2.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/kamino_yvaults.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_kamino_yvaults"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/kamino_yvaults.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vault/meteora.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vault_meteora"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vault/meteora.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/vesting/streamflow.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_vesting_streamflow"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/vesting/streamflow.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/wallet/jupiter_apepro_smart_wallet.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_wallet_jupiter_apepro_smart_wallet"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/wallet/jupiter_apepro_smart_wallet.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/executor/weighted/swap_stabble.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_executor_weighted_swap_stabble"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/executor/weighted/swap_stabble.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/bridge/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_bridge"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/bridge/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/governance/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_governance"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/governance/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/lending/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_lending"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/lending/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/liquidity/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_liquidity"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/liquidity/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/nft/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_nft"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/nft/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/oracle/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_oracle"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/oracle/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/orderbook/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_orderbook"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/orderbook/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/perpetuals/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_perpetuals"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/perpetuals/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/pool/state.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_pool_state"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/pool/state.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/rewards/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_rewards"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/rewards/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/routing/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_routing"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/routing/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/token/metadata_risk.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_token_metadata_risk"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/token/metadata_risk.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/trades/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_trades"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/trades/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: constant `LEGACY_CRATE` is never used + --> kb-lib/src/materializer/vault/core.rs:7:7 + | +7 | const LEGACY_CRATE: &str = "kb_materializer_vault"; + | ^^^^^^^^^^^^ + +warning: constant `MIGRATION_STATUS` is never used + --> kb-lib/src/materializer/vault/core.rs:10:7 + | +10 | const MIGRATION_STATUS: &str = "source-preserved-pending-port"; + | ^^^^^^^^^^^^^^^^ + +warning: `kb-lib` (lib) generated 236 warnings + Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.20s +[2026-07-24T14:31:48] sinus@ideatower001@bash:1:~/Projects/khadhroony-bot3 $>> python3 scripts/audit_rust_workspace_rules.py +General Rust rule audit: clean +Rust export completeness audit: 0 candidate(s) +Khadhroony workspace rule audit: clean diff --git a/scripts/audit_khadhroony_workspace_rules.py b/scripts/audit_khadhroony_workspace_rules.py index d37608d..7af3526 100755 --- a/scripts/audit_khadhroony_workspace_rules.py +++ b/scripts/audit_khadhroony_workspace_rules.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # file: scripts/audit_khadhroony_workspace_rules.py -# version: 4 +# version: 5 """Audit mechanically verifiable rules specific to khadhroony-bot3.""" @@ -66,16 +66,16 @@ def audit_tracing(root: pathlib.Path) -> list[Violation]: if not crate_root.exists(): crate_root = crate / "src/main.rs" relative_root = crate_root.relative_to(root).as_posix() - if not crate_root.exists() or "pub(crate) use crate::constants::TRACING_TARGET;" not in crate_root.read_text(encoding="utf-8"): + if not crate_root.exists() or "pub(crate) use self::constants::TRACING_TARGET;" not in crate_root.read_text(encoding="utf-8"): violations.append(Violation("KH_TRACE002", relative_root, 1, "missing crate-root TRACING_TARGET re-export")) for path in crate.glob("src/**/*.rs"): relative = path.relative_to(root).as_posix() for index, line in enumerate(path.read_text(encoding="utf-8").splitlines(), 1): if "khbot." in line: violations.append(Violation("KH_TRACE003", relative, index, "legacy khbot tracing target is forbidden")) - if "crate::constants::TRACING_TARGET" in line and path.name not in {"lib.rs", "main.rs"}: + if "crate::constants::TRACING_TARGET" in line: violations.append(Violation("KH_TRACE004", relative, index, "use crate::TRACING_TARGET outside crate root")) - if re.search(r"(?:crate::[A-Za-z0-9_]+::|(? list[Violation]: if not crate_root.exists(): return violations root_text = crate_root.read_text(encoding="utf-8") - aliases = set() - alias_pattern = re.compile( - r"^pub\(crate\) use crate::[A-Za-z0-9_:]+::" - r"([A-Z][A-Z0-9_]+)(?: as ([A-Z][A-Z0-9_]+))?;$", + re_exports = set() + re_export_pattern = re.compile( + r"^pub\(crate\) use self::[A-Za-z0-9_:]+::" + r"([A-Z][A-Z0-9_]+);$", re.MULTILINE, ) - for match in alias_pattern.finditer(root_text): - exported_name = match.group(2) if match.group(2) is not None else match.group(1) - if exported_name.endswith("_TRACING_TARGET"): - aliases.add(exported_name) + for match in re_export_pattern.finditer(root_text): + if match.group(1).endswith("_TRACING_TARGET"): + re_exports.add(match.group(1)) target_pattern = re.compile( - r'^pub\(crate\) const TRACING_TARGET: &str = "([^"]+)";$', + r'^pub\(crate\) const ([A-Z][A-Z0-9_]+_TRACING_TARGET): &str = "([^"]+)";$', re.MULTILINE, ) for constants in sorted((crate / "src").rglob("constants.rs")): @@ -112,13 +111,13 @@ def audit_kb_lib_tracing(root: pathlib.Path) -> list[Violation]: component = constants.parent.relative_to(crate / "src") expected = "kb-lib." + ".".join(component.parts) relative = constants.relative_to(root).as_posix() - if match.group(1) != expected: + if match.group(2) != expected: violations.append( Violation( "KH_TRACE101", relative, text[: match.start()].count("\n") + 1, - f"expected hierarchical target `{expected}`", + f"`{match.group(1)}` must use hierarchical target `{expected}`", ) ) macro_pattern = re.compile( @@ -138,7 +137,7 @@ def audit_kb_lib_tracing(root: pathlib.Path) -> list[Violation]: ) ) for match in macro_pattern.finditer(text): - if match.group(1) not in aliases: + if match.group(1) not in re_exports: violations.append( Violation( "KH_TRACE103", @@ -164,6 +163,85 @@ def audit_solana_types(root: pathlib.Path) -> list[Violation]: return violations +def audit_kb_lib_symbol_prefixes(root: pathlib.Path) -> list[Violation]: + """Require stable family prefixes on non-method kb-lib declarations.""" + + violations: list[Violation] = [] + families = { + "decoder": ("DC_", "Dc", "decoder_"), + "executor": ("EX_", "Ex", "executor_"), + "materializer": ("MT_", "Mt", "materializer_"), + "model": ("MD_", "Md", "model_"), + } + declaration = re.compile( + r"^pub(?:\(crate\))?\s+" + r"(?:(?:async|const|unsafe)\s+)*" + r"(const|static|type|struct|enum|trait|union|fn)\s+" + r"([A-Za-z_][A-Za-z0-9_]*)" + ) + for family, prefixes in families.items(): + family_root = root / "kb-lib/src" / family + paths = [family_root.with_suffix(".rs")] + if family_root.is_dir(): + paths.extend(sorted(family_root.rglob("*.rs"))) + for path in paths: + if not path.is_file(): + continue + relative = path.relative_to(root).as_posix() + for index, line in enumerate(path.read_text(encoding="utf-8").splitlines(), 1): + match = declaration.match(line) + if match is None: + continue + kind = match.group(1) + name = match.group(2) + expected = prefixes[0] if kind in {"const", "static"} else prefixes[2] if kind == "fn" else prefixes[1] + if not name.startswith(expected): + violations.append( + Violation( + "KH_NAME001", + relative, + index, + f"`{name}` must start with `{expected}` for the {family} family", + ) + ) + return violations + + +def audit_token2022_naming(root: pathlib.Path) -> list[Violation]: + """Reject obsolete internal Token2022 spellings while preserving legacy evidence.""" + + violations: list[Violation] = [] + obsolete = ( + "kb-lib.decoder.spl.token_2022", + "docs/SPL_TOKEN_2022_", + "`core_spl_token_2022", + "`spl_token_2022`", + ) + candidates = [ + root / "README.md", + root / "ROADMAP.md", + root / "RULES.md", + root / "kb-lib/README.md", + ] + candidates.extend(sorted((root / "docs").glob("*.md"))) + for path in candidates: + if not path.is_file() or path.name == "RUST_WORKSPACE_RULE_AUDIT.md": + continue + relative = path.relative_to(root).as_posix() + for index, line in enumerate(path.read_text(encoding="utf-8").splitlines(), 1): + for spelling in obsolete: + if spelling in line: + violations.append( + Violation( + "KH_NAME002", + relative, + index, + f"obsolete internal Token2022 spelling `{spelling}`", + ) + ) + return violations + + def audit_wincode_resolution(root: pathlib.Path) -> list[Violation]: """Require the currently compatible Solana wincode dependency family.""" @@ -238,6 +316,8 @@ def main() -> int: violations = ( audit_tracing(root) + audit_kb_lib_tracing(root) + + audit_kb_lib_symbol_prefixes(root) + + audit_token2022_naming(root) + audit_solana_types(root) + audit_wincode_resolution(root) ) diff --git a/scripts/audit_rust_export_completeness.py b/scripts/audit_rust_export_completeness.py index d877e76..1e605cf 100755 --- a/scripts/audit_rust_export_completeness.py +++ b/scripts/audit_rust_export_completeness.py @@ -1,13 +1,12 @@ #!/usr/bin/env python3 # file: scripts/audit_rust_export_completeness.py -# version: 2 +# version: 3 -"""Report missing crate-root exports and replaceable long internal paths. +"""Audit missing crate-root exports and replaceable long internal paths. -The audit distinguishes declarations from their crate-root aliases. Crate-root -files are excluded from long-path findings because re-export declarations must -name their source module. Findings remain advisory until the affected crate is -compiled. +The audit resolves explicit transitive `self::` re-exports through private +module façades. Crate-root files are excluded from long-path findings because +re-export declarations must name their source module. """ from __future__ import annotations @@ -86,17 +85,35 @@ def declaration_candidates(crate: pathlib.Path, path: pathlib.Path) -> list[Decl return found -def root_exports(crate_root: pathlib.Path) -> dict[tuple[str, str], str]: - """Return source module/name pairs and their crate-root aliases.""" +def transitive_root_exports(crate: pathlib.Path) -> dict[tuple[str, str], str]: + """Return declarations that reach the crate root through explicit re-exports.""" - exports: dict[tuple[str, str], str] = {} + edges: dict[tuple[str, str], set[tuple[str, str]]] = {} pattern = re.compile( - r"^\s*pub(?:\(crate\))?\s+use\s+crate::([A-Za-z_][A-Za-z0-9_:]*)::([A-Za-z_][A-Za-z0-9_]*)(?:\s+as\s+([A-Za-z_][A-Za-z0-9_]*))?\s*;", + r"^\s*pub(?:\(crate\))?\s+use\s+self::([A-Za-z_][A-Za-z0-9_:]*)::([A-Za-z_][A-Za-z0-9_]*)\s*;", re.MULTILINE, ) - for match in pattern.finditer(crate_root.read_text(encoding="utf-8")): - exports[(match.group(1), match.group(2))] = match.group(3) or match.group(2) - return exports + for path in sorted((crate / "src").rglob("*.rs")): + current = "" if path.name in {"lib.rs", "main.rs"} else module_path(crate, path) + for match in pattern.finditer(path.read_text(encoding="utf-8")): + source_module = "::".join(part for part in (current, match.group(1)) if part) + source = (source_module, match.group(2)) + destination = (current, match.group(2)) + edges.setdefault(source, set()).add(destination) + resolved: dict[tuple[str, str], str] = {} + for source in edges: + pending = [source] + visited: set[tuple[str, str]] = set() + while pending: + candidate = pending.pop() + if candidate in visited: + continue + visited.add(candidate) + if candidate[0] == "": + resolved[source] = candidate[1] + break + pending.extend(edges.get(candidate, set())) + return resolved def audit_crate(workspace: pathlib.Path, crate: pathlib.Path) -> list[Candidate]: @@ -105,7 +122,7 @@ def audit_crate(workspace: pathlib.Path, crate: pathlib.Path) -> list[Candidate] crate_root = crate / "src/lib.rs" if not crate_root.is_file(): crate_root = crate / "src/main.rs" - exports = root_exports(crate_root) + exports = transitive_root_exports(crate) candidates: list[Candidate] = [] declarations: dict[tuple[str, str], Declaration] = {} for path in sorted((crate / "src").rglob("*.rs")): @@ -114,7 +131,10 @@ def audit_crate(workspace: pathlib.Path, crate: pathlib.Path) -> list[Candidate] for declaration in declaration_candidates(crate, path): key = (declaration.module, declaration.name) declarations[key] = declaration - if key not in exports: + is_migration_scaffold = declaration.name.endswith( + ("_LEGACY_CRATE", "_MIGRATION_BOUNDARIES", "_MIGRATION_STATUS") + ) + if key not in exports and not is_migration_scaffold: relative = path.relative_to(workspace).as_posix() candidates.append( Candidate( @@ -149,10 +169,11 @@ def audit_crate(workspace: pathlib.Path, crate: pathlib.Path) -> list[Candidate] def main() -> int: - """Run the advisory export-completeness audit.""" + """Run the export-completeness audit.""" parser = argparse.ArgumentParser() parser.add_argument("--root", default=".") + parser.add_argument("--report-only", action="store_true") parser.add_argument("--summary-only", action="store_true") arguments = parser.parse_args() workspace = pathlib.Path(arguments.root).resolve() @@ -167,7 +188,7 @@ def main() -> int: if not arguments.summary_only: for item in candidates: sys.stdout.write(f"{item.code} {item.path}:{item.line}: {item.message}\n") - return 0 + return 0 if arguments.report_only or not candidates else 1 if __name__ == "__main__": diff --git a/scripts/audit_rust_general_rules.py b/scripts/audit_rust_general_rules.py index 70a828b..6f05070 100755 --- a/scripts/audit_rust_general_rules.py +++ b/scripts/audit_rust_general_rules.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # file: scripts/audit_rust_general_rules.py -# version: 4 +# version: 5 """Audit mechanically verifiable Rust rules shared by all Rust projects.""" @@ -45,6 +45,11 @@ def audit_file(root: pathlib.Path, path: pathlib.Path) -> list[Violation]: text = path.read_text(encoding="utf-8") lines = text.splitlines() violations: list[Violation] = [] + local_modules = { + match.group(1) + for line in lines + if (match := re.fullmatch(r"\s*mod\s+([A-Za-z_][A-Za-z0-9_]*)\s*;", line)) is not None + } expected_header = f"// file: {relative}" if not lines or lines[0] != expected_header: violations.append(Violation("RUST001", relative, 1, f"expected `{expected_header}`")) @@ -54,16 +59,13 @@ def audit_file(root: pathlib.Path, path: pathlib.Path) -> list[Violation]: violations.append(Violation("RUST003", relative, max(len(lines), 1), "file must end with exactly one newline")) for index, line in enumerate(lines, 1): stripped = line.strip() - if stripped.startswith("pub mod ") and ( - relative == "kb-lib/src/lib.rs" and stripped == "pub mod materializer;" - or relative.startswith("kb-lib/src/materializer") - ): + if stripped.startswith("pub mod "): violations.append( Violation( "RUST014", relative, index, - "consolidated materializer modules must remain private", + "modules must remain private and APIs must use explicit re-exports", ) ) if re.match(r"^(?:pub(?:\(crate\))?\s+)?use\s+", stripped) is None: @@ -78,34 +80,62 @@ def audit_file(root: pathlib.Path, path: pathlib.Path) -> list[Violation]: if "{" in stripped or "}" in stripped: code = "RUST011" if is_export else "RUST013" violations.append(Violation(code, relative, index, "grouped use declarations are forbidden")) - if path.name in {"lib.rs", "main.rs"}: - for attribute in ("#![warn(missing_docs)]", "#![deny(unreachable_pub)]", "#![forbid(unsafe_code)]"): - if attribute not in lines[:20]: - violations.append(Violation("RUST020", relative, 1, f"missing `{attribute}`")) - previous_export_line: int | None = None - previous_export_visibility: str | None = None - for index, line in enumerate(lines, 1): - if not (line.startswith("pub use ") or line.startswith("pub(crate) use ")): - continue - previous = lines[index - 2].strip() if index >= 2 else "" - if not previous.startswith("///"): - violations.append(Violation("RUST021", relative, index, "crate-root re-export requires adjacent rustdoc")) + internal_re_export = re.match( + r"^pub(?:\(crate\))?\s+use\s+(?:crate::)?([A-Za-z_][A-Za-z0-9_]*)::", + stripped, + ) + if is_export and ( + re.match(r"^pub(?:\(crate\))?\s+use\s+crate::", stripped) + or ( + internal_re_export is not None + and internal_re_export.group(1) in local_modules + ) + ): + violations.append(Violation("RUST015", relative, index, "internal re-export must start with `self::`")) + if is_export and re.search(r"\s+as\s+[A-Za-z_][A-Za-z0-9_]*\s*;", stripped): + violations.append(Violation("RUST016", relative, index, "re-export aliases are forbidden")) + previous_export_line: int | None = None + previous_export_visibility: str | None = None + blank_since_export = False + for index, line in enumerate(lines, 1): + if not line.strip(): + if previous_export_line is not None: + blank_since_export = True + continue + if line.startswith("///"): + continue + if line.startswith("pub use ") or line.startswith("pub(crate) use "): visibility = "pub(crate)" if line.startswith("pub(crate) use ") else "pub" if ( previous_export_line is not None and previous_export_visibility == visibility - and any(not candidate.strip() for candidate in lines[previous_export_line:index - 1]) + and blank_since_export ): violations.append( Violation( "RUST022", relative, index, - "crate-root re-export block contains an empty line", + "re-export block contains an empty line", ) ) previous_export_line = index previous_export_visibility = visibility + blank_since_export = False + continue + previous_export_line = None + previous_export_visibility = None + blank_since_export = False + if path.name in {"lib.rs", "main.rs"}: + for attribute in ("#![warn(missing_docs)]", "#![deny(unreachable_pub)]", "#![forbid(unsafe_code)]"): + if attribute not in lines[:20]: + violations.append(Violation("RUST020", relative, 1, f"missing `{attribute}`")) + for index, line in enumerate(lines, 1): + if not (line.startswith("pub use ") or line.startswith("pub(crate) use ")): + continue + previous = lines[index - 2].strip() if index >= 2 else "" + if not previous.startswith("///"): + violations.append(Violation("RUST021", relative, index, "crate-root re-export requires adjacent rustdoc")) return violations diff --git a/scripts/audit_rust_workspace_rules.py b/scripts/audit_rust_workspace_rules.py index dcb6f85..007a3e0 100755 --- a/scripts/audit_rust_workspace_rules.py +++ b/scripts/audit_rust_workspace_rules.py @@ -1,8 +1,8 @@ #!/usr/bin/env python3 # file: scripts/audit_rust_workspace_rules.py -# version: 2 +# version: 3 -"""Run both the general Rust and khadhroony-specific workspace audits.""" +"""Run the general, export-completeness and khadhroony workspace audits.""" from __future__ import annotations @@ -12,7 +12,7 @@ import subprocess def main() -> int: - """Run both independent audit scripts.""" + """Run all independent audit scripts.""" parser = argparse.ArgumentParser() parser.add_argument("--root", default=".") @@ -21,6 +21,7 @@ def main() -> int: script_dir = pathlib.Path(__file__).resolve().parent commands = [ ["python3", str(script_dir / "audit_rust_general_rules.py"), "--root", arguments.root], + ["python3", str(script_dir / "audit_rust_export_completeness.py"), "--root", arguments.root], ["python3", str(script_dir / "audit_khadhroony_workspace_rules.py"), "--root", arguments.root], ] if arguments.report_only: