v0.1.0-pre.014

This commit is contained in:
2026-07-24 17:14:02 +02:00
parent 5f6f7df509
commit 60a75c4434
140 changed files with 6217 additions and 1213 deletions

View File

@@ -1,8 +1,17 @@
<!-- file: CHANGELOG.md --> <!-- file: CHANGELOG.md -->
<!-- version: 2 --> <!-- version: 3 -->
# CHANGELOG # CHANGELOG
## 0.1.0-pre.014
- Vérification de la parité exacte des contrats publics `ExApi*` avec `kb_execution_api` de bot2.
- Extension du test aval au contrat dexécution typé et au plan préparé.
- Remplacement des 104 marqueurs temporaires par des squelettes `Ex*Executor`.
- Rattachement des squelettes à leurs Program IDs enregistrés, sans dépendance vers les décodeurs.
- Garantie dinactivité par support `Maybe` et plans réservés à zéro instruction.
- Extension de laudit et ajout dun test central sur les 104 frontières.
## 0.1.0-pre.013 ## 0.1.0-pre.013
- Remplacement des 14 marqueurs temporaires de matérialisation par des squelettes `Mt*Materializer`. - Remplacement des 14 marqueurs temporaires de matérialisation par des squelettes `Mt*Materializer`.

View File

@@ -1,5 +1,5 @@
<!-- file: README.md --> <!-- file: README.md -->
<!-- version: 10 --> <!-- version: 11 -->
# Khadhroony Bot3 # Khadhroony Bot3
@@ -83,3 +83,5 @@ Les identités historiques des processors sont conservées pour la compatibilit
Les modules de matérialisation sont privés. Tous les contrats, types concrets et helpers destinés aux consommateurs externes sont exposés exclusivement par `kb-lib/src/lib.rs`. Des tests aval distincts protègent les contrats dextension `DcApiProtocolDecoder`, `MtApiEventMaterializer` et `ExApiInstructionExecutor`. Les modules de matérialisation sont privés. Tous les contrats, types concrets et helpers destinés aux consommateurs externes sont exposés exclusivement par `kb-lib/src/lib.rs`. Des tests aval distincts protègent les contrats dextension `DcApiProtocolDecoder`, `MtApiEventMaterializer` et `ExApiInstructionExecutor`.
`0.1.0-pre.013` remplace les 14 dernières frontières temporaires de matérialisation par des squelettes `Mt*Materializer`. Ils conservent le contrat historique `MtMaterializer`, implémentent également `MtApiEventMaterializer`, restent volontairement inactifs et ne produisent aucun faux événement via lAPI bot3. Tous les types sont accessibles exclusivement depuis la façade `kb_lib`. `0.1.0-pre.013` remplace les 14 dernières frontières temporaires de matérialisation par des squelettes `Mt*Materializer`. Ils conservent le contrat historique `MtMaterializer`, implémentent également `MtApiEventMaterializer`, restent volontairement inactifs et ne produisent aucun faux événement via lAPI bot3. Tous les types sont accessibles exclusivement depuis la façade `kb_lib`.
`0.1.0-pre.014` confirme la parité de lAPI publique `ExApi*` avec bot2 et remplace les 104 frontières temporaires dexécution par des squelettes `Ex*Executor`. Chaque squelette référence uniquement ses Program IDs enregistrés, annonce `Maybe` sur sa surface et construit exclusivement un plan réservé à zéro instruction. Les exécuteurs opérationnels seront portés séparément, en commençant par Solana Core puis SPL.

View File

@@ -1,5 +1,5 @@
<!-- file: ROADMAP.md --> <!-- file: ROADMAP.md -->
<!-- version: 12 --> <!-- version: 13 -->
# ROADMAP — khadhroony-bot3 # ROADMAP — khadhroony-bot3
@@ -164,5 +164,17 @@
- [x] Exposer les 14 types uniquement depuis la façade `kb-lib/src/lib.rs`. - [x] Exposer les 14 types uniquement depuis la façade `kb-lib/src/lib.rs`.
- [x] Étendre le test aval et laudit contre le retour des marqueurs temporaires. - [x] Étendre le test aval et laudit contre le retour des marqueurs temporaires.
- [x] Aligner `RUST023` sur lordre naturel produit par `rustfmt`. - [x] Aligner `RUST023` sur lordre naturel produit par `rustfmt`.
- [ ] Valider les deux nouveaux tests unitaires, le test aval, Clippy et le workspace avec Cargo sur la machine de développement. - [x] Valider les deux nouveaux tests unitaires, le test aval, Clippy et le workspace avec Cargo sur la machine de développement.
- [ ] Passer à lAPI des exécuteurs, à leurs squelettes puis au port des exécuteurs déjà implémentés dans bot2. - [x] Vérifier la parité de lAPI des exécuteurs avant de restaurer leurs squelettes.
### 0.1.0-pre.014 — API et squelettes des exécuteurs
- [x] Vérifier la parité exacte des contrats `ExApi*` avec `kb_execution_api` de bot2.
- [x] Étendre le test aval au contrat `ExApiTypedInstructionExecutor` et au plan typé public.
- [x] Remplacer les 104 frontières `LEGACY_CRATE`/`MIGRATION_STATUS` par des types `Ex*Executor` concrets.
- [x] Rattacher chaque squelette à ses Program IDs enregistrés sans dépendre des décodeurs.
- [x] Maintenir les squelettes inactifs : support `Maybe` et plan explicite à zéro instruction.
- [x] Exposer les 104 types uniquement depuis la façade `kb-lib/src/lib.rs`.
- [x] Ajouter un test central couvrant les 104 squelettes et étendre laudit contre le retour des marqueurs temporaires.
- [ ] Valider le nouveau test unitaire, le test aval, Clippy et le workspace avec Cargo sur la machine de développement.
- [ ] Porter ensuite les exécuteurs fonctionnels déjà validés dans bot2, en commençant par Solana Core puis SPL.

View File

@@ -1,5 +1,5 @@
<!-- file: RULES.md --> <!-- file: RULES.md -->
<!-- version: 22 --> <!-- version: 23 -->
# Règles spécifiques à `khadhroony-bot3` # Règles spécifiques à `khadhroony-bot3`
@@ -185,6 +185,8 @@ Aucun renommage massif de modules n'est autorisé sans étape de contrôle dédi
- Une surface classifiée peut avoir un module décodeur et un module exécuteur distincts dans `kb-lib`. - Une surface classifiée peut avoir un module décodeur et un module exécuteur distincts dans `kb-lib`.
- Les exécuteurs ne doivent pas dépendre des décodeurs. - Les exécuteurs ne doivent pas dépendre des décodeurs.
- Les exécuteurs utilisent les contrats `ExApi*` réexportés directement par la façade `kb_lib`. - Les exécuteurs utilisent les contrats `ExApi*` réexportés directement par la façade `kb_lib`.
- Un squelette dexécuteur doit exposer un type `Ex*Executor`, référencer uniquement des Program IDs de `kb-program-ids`, annoncer `Maybe` pour sa surface et construire exclusivement un plan réservé à zéro instruction.
- La migration fonctionnelle dun exécuteur doit remplacer ce comportement réservé par des capacités exactes `Supported` ou `Unsupported(reason)` ; aucun statut temporaire `LEGACY_CRATE` ou `MIGRATION_STATUS` ne doit subsister.
- Les garde-fous communs doivent être placés dans les modules de sécurité partagés de `kb-lib`. - Les garde-fous communs doivent être placés dans les modules de sécurité partagés de `kb-lib`.
- Aucun exécuteur ne doit envoyer de transaction sans simulation et validation explicite. - Aucun exécuteur ne doit envoyer de transaction sans simulation et validation explicite.
- Les surfaces non classifiées ne doivent pas avoir de crate exécuteur. - Les surfaces non classifiées ne doivent pas avoir de crate exécuteur.

View File

@@ -1,5 +1,5 @@
<!-- file: kb-lib/README.md --> <!-- file: kb-lib/README.md -->
<!-- version: 9 --> <!-- version: 10 -->
# kb-lib # kb-lib
@@ -136,4 +136,5 @@ Lappel de décodage complet utilise `DcApiInstructionDecoder::decode` après
- Une transaction échouée peut produire une intention structurée, jamais une mutation commitée. - Une transaction échouée peut produire une intention structurée, jamais une mutation commitée.
- Un matérialiseur externe dépend uniquement des contrats et modèles publics de `kb-lib`, jamais dun décodeur concret. - Un matérialiseur externe dépend uniquement des contrats et modèles publics de `kb-lib`, jamais dun décodeur concret.
- Les squelettes réservés répondent uniquement `Maybe` pour leur Program ID et retournent une liste vide ; ils ne prétendent pas décoder une surface avant son port fonctionnel. - Les squelettes réservés répondent uniquement `Maybe` pour leur Program ID et retournent une liste vide ; ils ne prétendent pas décoder une surface avant son port fonctionnel.
- Les exécuteurs sont portés dans des tranches séparées. - Les squelettes dexécuteurs annoncent uniquement `Maybe` pour leurs Program IDs enregistrés et construisent un plan réservé à zéro instruction.
- Les exécuteurs fonctionnels sont portés dans des tranches séparées, sans dépendre des décodeurs.

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor.rs // file: kb-lib/src/executor.rs
// version: 1 // version: 2
//! Consolidated executor modules. //! Consolidated executor modules.
@@ -31,6 +31,65 @@ mod vault;
mod vesting; mod vesting;
mod wallet; mod wallet;
mod weighted; mod weighted;
/// Exposes the reserved `adapter/saber_decimal_wrapper` executor.
pub use self::adapter::ExAdapterSaberDecimalWrapperExecutor;
/// Exposes the reserved `admin/jupiter_lock` executor.
pub use self::admin::ExAdminJupiterLockExecutor;
/// Exposes the reserved `admin/pump_fees` executor.
pub use self::admin::ExAdminPumpFeesExecutor;
/// Exposes the reserved `amm/aldrin_v1` executor.
pub use self::amm::ExAmmAldrinV1Executor;
/// Exposes the reserved `amm/aldrin_v2` executor.
pub use self::amm::ExAmmAldrinV2Executor;
/// Exposes the reserved `amm/alphaq` executor.
pub use self::amm::ExAmmAlphaqExecutor;
/// Exposes the reserved `amm/believe` executor.
pub use self::amm::ExAmmBelieveExecutor;
/// Exposes the reserved `amm/bonk_swap` executor.
pub use self::amm::ExAmmBonkSwapExecutor;
/// Exposes the reserved `amm/fluxbeam` executor.
pub use self::amm::ExAmmFluxbeamExecutor;
/// Exposes the reserved `amm/goon_fi` executor.
pub use self::amm::ExAmmGoonFiExecutor;
/// Exposes the reserved `amm/goosefx_gamma` executor.
pub use self::amm::ExAmmGoosefxGammaExecutor;
/// Exposes the reserved `amm/goosefx_v2` executor.
pub use self::amm::ExAmmGoosefxV2Executor;
/// Exposes the reserved `amm/guac_swap` executor.
pub use self::amm::ExAmmGuacSwapExecutor;
/// Exposes the reserved `amm/lifinity_swap_v2` executor.
pub use self::amm::ExAmmLifinitySwapV2Executor;
/// Exposes the reserved `amm/metadao_futarchy_amm` executor.
pub use self::amm::ExAmmMetadaoFutarchyAmmExecutor;
/// Exposes the reserved `amm/metadao_v0_5` executor.
pub use self::amm::ExAmmMetadaoV05Executor;
/// Exposes the reserved `amm/meteora_damm_v1` executor.
pub use self::amm::ExAmmMeteoraDammV1Executor;
/// Exposes the reserved `amm/meteora_damm_v2` executor.
pub use self::amm::ExAmmMeteoraDammV2Executor;
/// Exposes the reserved `amm/obric_v2` executor.
pub use self::amm::ExAmmObricV2Executor;
/// Exposes the reserved `amm/one_dex` executor.
pub use self::amm::ExAmmOneDexExecutor;
/// Exposes the reserved `amm/pump_swap` executor.
pub use self::amm::ExAmmPumpSwapExecutor;
/// Exposes the reserved `amm/raydium_lp_v4` executor.
pub use self::amm::ExAmmRaydiumLpV4Executor;
/// Exposes the reserved `amm/solfi` executor.
pub use self::amm::ExAmmSolfiExecutor;
/// Exposes the reserved `amm/solfi_v2` executor.
pub use self::amm::ExAmmSolfiV2Executor;
/// Exposes the reserved `amm/vertigo` executor.
pub use self::amm::ExAmmVertigoExecutor;
/// Exposes the reserved `amm/virtuals` executor.
pub use self::amm::ExAmmVirtualsExecutor;
/// Exposes the reserved `amm/woofi` executor.
pub use self::amm::ExAmmWoofiExecutor;
/// Exposes the reserved `amm/zero_fi` executor.
pub use self::amm::ExAmmZeroFiExecutor;
/// Exposes the reserved `amm/zora` executor.
pub use self::amm::ExAmmZoraExecutor;
/// Exposes the blockhash policy kind. /// Exposes the blockhash policy kind.
pub use self::api::ExApiExecutionBlockhashKind; pub use self::api::ExApiExecutionBlockhashKind;
/// Exposes the blockhash policy. /// Exposes the blockhash policy.
@@ -81,3 +140,286 @@ pub use self::api::ExApiTypedInstructionExecutor;
pub use self::api::executor_api_serialize_payload_json; pub use self::api::executor_api_serialize_payload_json;
/// Exposes the pretty JSON payload serializer. /// Exposes the pretty JSON payload serializer.
pub use self::api::executor_api_serialize_payload_json_pretty; pub use self::api::executor_api_serialize_payload_json_pretty;
/// Exposes the reserved `bridge/circle_cctp_token_messenger_minter` executor.
pub use self::bridge::ExBridgeCircleCctpTokenMessengerMinterExecutor;
/// Exposes the reserved `bridge/circle_cctp_token_messenger_minter_v2` executor.
pub use self::bridge::ExBridgeCircleCctpTokenMessengerMinterV2Executor;
/// Exposes the reserved `bridge/layer_zero_endpoint` executor.
pub use self::bridge::ExBridgeLayerZeroEndpointExecutor;
/// Exposes the reserved `bridge/layer_zero_executor` executor.
pub use self::bridge::ExBridgeLayerZeroExecutorExecutor;
/// Exposes the reserved `clmm/byreal` executor.
pub use self::clmm::ExClmmByrealExecutor;
/// Exposes the reserved `clmm/fusion` executor.
pub use self::clmm::ExClmmFusionExecutor;
/// Exposes the reserved `clmm/orca_whirlpool` executor.
pub use self::clmm::ExClmmOrcaWhirlpoolExecutor;
/// Exposes the reserved `clmm/pancake_swap` executor.
pub use self::clmm::ExClmmPancakeSwapExecutor;
/// Exposes the reserved `clmm/raydium` executor.
pub use self::clmm::ExClmmRaydiumExecutor;
/// Exposes the reserved `clmm/stabble` executor.
pub use self::clmm::ExClmmStabbleExecutor;
/// Exposes the reserved `cpmm/raydium` executor.
pub use self::cpmm::ExCpmmRaydiumExecutor;
/// Exposes the reserved `dlmm/meteora` executor.
pub use self::dlmm::ExDlmmMeteoraExecutor;
/// Exposes the reserved `fees/bags_fee_share_v1` executor.
pub use self::fees::ExFeesBagsFeeShareV1Executor;
/// Exposes the reserved `fees/bags_fee_share_v2` executor.
pub use self::fees::ExFeesBagsFeeShareV2Executor;
/// Exposes the reserved `governance/metadao_bid_wall` executor.
pub use self::governance::ExGovernanceMetadaoBidWallExecutor;
/// Exposes the reserved `launchpad/boop_fun` executor.
pub use self::launchpad::ExLaunchpadBoopFunExecutor;
/// Exposes the reserved `launchpad/metadao_ico` executor.
pub use self::launchpad::ExLaunchpadMetadaoIcoExecutor;
/// Exposes the reserved `launchpad/meteora_dbc` executor.
pub use self::launchpad::ExLaunchpadMeteoraDbcExecutor;
/// Exposes the reserved `launchpad/moonit` executor.
pub use self::launchpad::ExLaunchpadMoonitExecutor;
/// Exposes the reserved `launchpad/orca_wavebreak` executor.
pub use self::launchpad::ExLaunchpadOrcaWavebreakExecutor;
/// Exposes the reserved `launchpad/printr` executor.
pub use self::launchpad::ExLaunchpadPrintrExecutor;
/// Exposes the reserved `launchpad/pump_fun` executor.
pub use self::launchpad::ExLaunchpadPumpFunExecutor;
/// Exposes the reserved `launchpad/pump_pumpup_ai` executor.
pub use self::launchpad::ExLaunchpadPumpPumpupAiExecutor;
/// Exposes the reserved `launchpad/raydium_launchlab` executor.
pub use self::launchpad::ExLaunchpadRaydiumLaunchlabExecutor;
/// Exposes the reserved `lending/clone` executor.
pub use self::lending::ExLendingCloneExecutor;
/// Exposes the reserved `lending/jupiter_lend_borrow` executor.
pub use self::lending::ExLendingJupiterLendBorrowExecutor;
/// Exposes the reserved `lending/jupiter_lend_earn` executor.
pub use self::lending::ExLendingJupiterLendEarnExecutor;
/// Exposes the reserved `lending/jupiter_lend_flash_loan` executor.
pub use self::lending::ExLendingJupiterLendFlashLoanExecutor;
/// Exposes the reserved `lending/jupiter_lend_liquidity` executor.
pub use self::lending::ExLendingJupiterLendLiquidityExecutor;
/// Exposes the reserved `lending/kamino` executor.
pub use self::lending::ExLendingKaminoExecutor;
/// Exposes the reserved `lending/marginfi_v2` executor.
pub use self::lending::ExLendingMarginfiV2Executor;
/// Exposes the reserved `lock/raydium_lp` executor.
pub use self::lock::ExLockRaydiumLpExecutor;
/// Exposes the reserved `metadata/metaplex_token_metadata` executor.
pub use self::metadata::ExMetadataMetaplexTokenMetadataExecutor;
/// Exposes the reserved `metadata/spl_name_service` executor.
pub use self::metadata::ExMetadataSplNameServiceExecutor;
/// Exposes the reserved `nft/metaplex_bubblegum` executor.
pub use self::nft::ExNftMetaplexBubblegumExecutor;
/// Exposes the reserved `orderbook/jupiter_limit_order` executor.
pub use self::orderbook::ExOrderbookJupiterLimitOrderExecutor;
/// Exposes the reserved `orderbook/jupiter_limit_order_v2` executor.
pub use self::orderbook::ExOrderbookJupiterLimitOrderV2Executor;
/// Exposes the reserved `orderbook/openbook_v2` executor.
pub use self::orderbook::ExOrderbookOpenbookV2Executor;
/// Exposes the reserved `perpetuals/drift_v2` executor.
pub use self::perpetuals::ExPerpetualsDriftV2Executor;
/// Exposes the reserved `perpetuals/jupiter` executor.
pub use self::perpetuals::ExPerpetualsJupiterExecutor;
/// Exposes the reserved `perpetuals/zeta` executor.
pub use self::perpetuals::ExPerpetualsZetaExecutor;
/// Exposes the reserved `router/dflow_aggregator_v4` executor.
pub use self::router::ExRouterDflowAggregatorV4Executor;
/// Exposes the reserved `router/jupiter_aggregator_v4` executor.
pub use self::router::ExRouterJupiterAggregatorV4Executor;
/// Exposes the reserved `router/jupiter_aggregator_v6` executor.
pub use self::router::ExRouterJupiterAggregatorV6Executor;
/// Exposes the reserved `router/jupiter_dca` executor.
pub use self::router::ExRouterJupiterDcaExecutor;
/// Exposes the reserved `router/okx_labs_v1` executor.
pub use self::router::ExRouterOkxLabsV1Executor;
/// Exposes the reserved `router/okx_labs_v2` executor.
pub use self::router::ExRouterOkxLabsV2Executor;
/// Exposes the reserved `rwa/ondo_global_markets` executor.
pub use self::rwa::ExRwaOndoGlobalMarketsExecutor;
/// Exposes the reserved `solana/core` executor.
pub use self::solana::ExSolanaCoreExecutor;
/// Exposes the reserved `spl/account_compression` executor.
pub use self::spl::ExSplAccountCompressionExecutor;
/// Exposes the reserved `spl/associated_token_account` executor.
pub use self::spl::ExSplAssociatedTokenAccountExecutor;
/// Exposes the reserved `spl/elgamal_registry` executor.
pub use self::spl::ExSplElgamalRegistryExecutor;
/// Exposes the reserved `spl/memo` executor.
pub use self::spl::ExSplMemoExecutor;
/// Exposes the reserved `spl/noop` executor.
pub use self::spl::ExSplNoopExecutor;
/// Exposes the reserved `spl/single_pool` executor.
pub use self::spl::ExSplSinglePoolExecutor;
/// Exposes the reserved `spl/stake_pool` executor.
pub use self::spl::ExSplStakePoolExecutor;
/// Exposes the reserved `spl/token2022` executor.
pub use self::spl::ExSplToken2022Executor;
/// Exposes the reserved `spl/token` executor.
pub use self::spl::ExSplTokenExecutor;
/// Exposes the reserved `stable/swap_hylo_exchange` executor.
pub use self::stable::ExStableSwapHyloExchangeExecutor;
/// Exposes the reserved `stable/swap_jupiter_stable` executor.
pub use self::stable::ExStableSwapJupiterStableExecutor;
/// Exposes the reserved `stable/swap_numeraire` executor.
pub use self::stable::ExStableSwapNumeraireExecutor;
/// Exposes the reserved `stable/swap_stabble` executor.
pub use self::stable::ExStableSwapStabbleExecutor;
/// Exposes the reserved `staking/kamino_farm` executor.
pub use self::staking::ExStakingKaminoFarmExecutor;
/// Exposes the reserved `staking/marinade_finance` executor.
pub use self::staking::ExStakingMarinadeFinanceExecutor;
/// Exposes the reserved `staking/solayer` executor.
pub use self::staking::ExStakingSolayerExecutor;
/// Exposes the reserved `treasury/helium_treasury_management` executor.
pub use self::treasury::ExTreasuryHeliumTreasuryManagementExecutor;
/// Exposes the reserved `vault/carrot_defi` executor.
pub use self::vault::ExVaultCarrotDefiExecutor;
/// Exposes the reserved `vault/hylo_stability_pool` executor.
pub use self::vault::ExVaultHyloStabilityPoolExecutor;
/// Exposes the reserved `vault/kamino` executor.
pub use self::vault::ExVaultKaminoExecutor;
/// Exposes the reserved `vault/kamino_v2` executor.
pub use self::vault::ExVaultKaminoV2Executor;
/// Exposes the reserved `vault/kamino_yvaults` executor.
pub use self::vault::ExVaultKaminoYvaultsExecutor;
/// Exposes the reserved `vault/meteora` executor.
pub use self::vault::ExVaultMeteoraExecutor;
/// Exposes the reserved `vesting/streamflow` executor.
pub use self::vesting::ExVestingStreamflowExecutor;
/// Exposes the reserved `wallet/jupiter_apepro_smart_wallet` executor.
pub use self::wallet::ExWalletJupiterApeproSmartWalletExecutor;
/// Exposes the reserved `weighted/swap_stabble` executor.
pub use self::weighted::ExWeightedSwapStabbleExecutor;
#[cfg(test)]
mod reserved_executor_tests {
#[test]
fn every_reserved_executor_is_registered_and_builds_only_an_empty_plan() {
let executors: [&dyn crate::ExApiInstructionExecutor; 104] = [
&crate::ExAdapterSaberDecimalWrapperExecutor,
&crate::ExAdminJupiterLockExecutor,
&crate::ExAdminPumpFeesExecutor,
&crate::ExAmmAldrinV1Executor,
&crate::ExAmmAldrinV2Executor,
&crate::ExAmmAlphaqExecutor,
&crate::ExAmmBelieveExecutor,
&crate::ExAmmBonkSwapExecutor,
&crate::ExAmmFluxbeamExecutor,
&crate::ExAmmGoonFiExecutor,
&crate::ExAmmGoosefxGammaExecutor,
&crate::ExAmmGoosefxV2Executor,
&crate::ExAmmGuacSwapExecutor,
&crate::ExAmmLifinitySwapV2Executor,
&crate::ExAmmMetadaoFutarchyAmmExecutor,
&crate::ExAmmMetadaoV05Executor,
&crate::ExAmmMeteoraDammV1Executor,
&crate::ExAmmMeteoraDammV2Executor,
&crate::ExAmmObricV2Executor,
&crate::ExAmmOneDexExecutor,
&crate::ExAmmPumpSwapExecutor,
&crate::ExAmmRaydiumLpV4Executor,
&crate::ExAmmSolfiExecutor,
&crate::ExAmmSolfiV2Executor,
&crate::ExAmmVertigoExecutor,
&crate::ExAmmVirtualsExecutor,
&crate::ExAmmWoofiExecutor,
&crate::ExAmmZeroFiExecutor,
&crate::ExAmmZoraExecutor,
&crate::ExBridgeCircleCctpTokenMessengerMinterExecutor,
&crate::ExBridgeCircleCctpTokenMessengerMinterV2Executor,
&crate::ExBridgeLayerZeroEndpointExecutor,
&crate::ExBridgeLayerZeroExecutorExecutor,
&crate::ExClmmByrealExecutor,
&crate::ExClmmFusionExecutor,
&crate::ExClmmOrcaWhirlpoolExecutor,
&crate::ExClmmPancakeSwapExecutor,
&crate::ExClmmRaydiumExecutor,
&crate::ExClmmStabbleExecutor,
&crate::ExCpmmRaydiumExecutor,
&crate::ExDlmmMeteoraExecutor,
&crate::ExFeesBagsFeeShareV1Executor,
&crate::ExFeesBagsFeeShareV2Executor,
&crate::ExGovernanceMetadaoBidWallExecutor,
&crate::ExLaunchpadBoopFunExecutor,
&crate::ExLaunchpadMetadaoIcoExecutor,
&crate::ExLaunchpadMeteoraDbcExecutor,
&crate::ExLaunchpadMoonitExecutor,
&crate::ExLaunchpadOrcaWavebreakExecutor,
&crate::ExLaunchpadPrintrExecutor,
&crate::ExLaunchpadPumpFunExecutor,
&crate::ExLaunchpadPumpPumpupAiExecutor,
&crate::ExLaunchpadRaydiumLaunchlabExecutor,
&crate::ExLendingCloneExecutor,
&crate::ExLendingJupiterLendBorrowExecutor,
&crate::ExLendingJupiterLendEarnExecutor,
&crate::ExLendingJupiterLendFlashLoanExecutor,
&crate::ExLendingJupiterLendLiquidityExecutor,
&crate::ExLendingKaminoExecutor,
&crate::ExLendingMarginfiV2Executor,
&crate::ExLockRaydiumLpExecutor,
&crate::ExMetadataMetaplexTokenMetadataExecutor,
&crate::ExMetadataSplNameServiceExecutor,
&crate::ExNftMetaplexBubblegumExecutor,
&crate::ExOrderbookJupiterLimitOrderExecutor,
&crate::ExOrderbookJupiterLimitOrderV2Executor,
&crate::ExOrderbookOpenbookV2Executor,
&crate::ExPerpetualsDriftV2Executor,
&crate::ExPerpetualsJupiterExecutor,
&crate::ExPerpetualsZetaExecutor,
&crate::ExRouterDflowAggregatorV4Executor,
&crate::ExRouterJupiterAggregatorV4Executor,
&crate::ExRouterJupiterAggregatorV6Executor,
&crate::ExRouterJupiterDcaExecutor,
&crate::ExRouterOkxLabsV1Executor,
&crate::ExRouterOkxLabsV2Executor,
&crate::ExRwaOndoGlobalMarketsExecutor,
&crate::ExSolanaCoreExecutor,
&crate::ExSplAccountCompressionExecutor,
&crate::ExSplAssociatedTokenAccountExecutor,
&crate::ExSplElgamalRegistryExecutor,
&crate::ExSplMemoExecutor,
&crate::ExSplNoopExecutor,
&crate::ExSplSinglePoolExecutor,
&crate::ExSplStakePoolExecutor,
&crate::ExSplTokenExecutor,
&crate::ExSplToken2022Executor,
&crate::ExStableSwapHyloExchangeExecutor,
&crate::ExStableSwapJupiterStableExecutor,
&crate::ExStableSwapNumeraireExecutor,
&crate::ExStableSwapStabbleExecutor,
&crate::ExStakingKaminoFarmExecutor,
&crate::ExStakingMarinadeFinanceExecutor,
&crate::ExStakingSolayerExecutor,
&crate::ExTreasuryHeliumTreasuryManagementExecutor,
&crate::ExVaultCarrotDefiExecutor,
&crate::ExVaultHyloStabilityPoolExecutor,
&crate::ExVaultKaminoExecutor,
&crate::ExVaultKaminoV2Executor,
&crate::ExVaultKaminoYvaultsExecutor,
&crate::ExVaultMeteoraExecutor,
&crate::ExVestingStreamflowExecutor,
&crate::ExWalletJupiterApeproSmartWalletExecutor,
&crate::ExWeightedSwapStabbleExecutor,
];
assert_eq!(executors.len(), 104);
for executor in executors {
assert!(!executor.program_ids().is_empty());
for program_id in executor.program_ids() {
assert!(kb_program_ids::find_registered_program_id(program_id).is_some());
}
let program_id = crate::MdProgramId(executor.program_ids()[0].to_string());
let request = crate::ExApiExecutionRequest {
program_id,
operation_code: "reserved".to_string(),
payload_json: "{}".to_string(),
};
assert_eq!(executor.supports_request(&request), crate::ExApiExecutionSupport::Maybe);
let plan = executor
.build_plan(&request)
.unwrap_or_else(|error| panic!("reserved executor failed: {error}"));
assert_eq!(plan.executor_name, executor.executor_name());
assert_eq!(plan.instruction_count, 0);
assert!(plan.payload_json.contains("reserved_executor"));
}
}
}

View File

@@ -1,6 +1,8 @@
// file: kb-lib/src/executor/adapter.rs // file: kb-lib/src/executor/adapter.rs
// version: 1 // version: 2
//! `adapter` executor family. //! `adapter` executor family.
mod saber_decimal_wrapper; mod saber_decimal_wrapper;
/// Exposes the reserved `adapter/saber_decimal_wrapper` executor.
pub use self::saber_decimal_wrapper::ExAdapterSaberDecimalWrapperExecutor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/adapter/saber_decimal_wrapper.rs // file: kb-lib/src/executor/adapter/saber_decimal_wrapper.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_adapter_saber_decimal_wrapper`. //! Reserved executor for `adapter_saber_decimal_wrapper`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `adapter_saber_decimal_wrapper` program surface.
const LEGACY_CRATE: &str = "kb_executor_adapter_saber_decimal_wrapper"; #[derive(Clone, Debug, Default)]
pub struct ExAdapterSaberDecimalWrapperExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAdapterSaberDecimalWrapperExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_adapter_saber_decimal_wrapper";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::ADAPTER_SABER_DECIMAL_WRAPPER_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"adapter_saber_decimal_wrapper"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_adapter_saber_decimal_wrapper".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,7 +1,11 @@
// file: kb-lib/src/executor/admin.rs // file: kb-lib/src/executor/admin.rs
// version: 1 // version: 2
//! `admin` executor family. //! `admin` executor family.
mod jupiter_lock; mod jupiter_lock;
mod pump_fees; mod pump_fees;
/// Exposes the reserved `admin/jupiter_lock` executor.
pub use self::jupiter_lock::ExAdminJupiterLockExecutor;
/// Exposes the reserved `admin/pump_fees` executor.
pub use self::pump_fees::ExAdminPumpFeesExecutor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/admin/jupiter_lock.rs // file: kb-lib/src/executor/admin/jupiter_lock.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_admin_jupiter_lock`. //! Reserved executor for `admin_jupiter_lock`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `admin_jupiter_lock` program surface.
const LEGACY_CRATE: &str = "kb_executor_admin_jupiter_lock"; #[derive(Clone, Debug, Default)]
pub struct ExAdminJupiterLockExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAdminJupiterLockExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_admin_jupiter_lock";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::ADMIN_JUPITER_LOCK_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"admin_jupiter_lock"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_admin_jupiter_lock".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/admin/pump_fees.rs // file: kb-lib/src/executor/admin/pump_fees.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_admin_pump_fees`. //! Reserved executor for `admin_pump_fees`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `admin_pump_fees` program surface.
const LEGACY_CRATE: &str = "kb_executor_admin_pump_fees"; #[derive(Clone, Debug, Default)]
pub struct ExAdminPumpFeesExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAdminPumpFeesExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_admin_pump_fees";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::ADMIN_PUMP_FEES_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"admin_pump_fees"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_admin_pump_fees".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/amm.rs // file: kb-lib/src/executor/amm.rs
// version: 1 // version: 2
//! `amm` executor family. //! `amm` executor family.
@@ -29,3 +29,55 @@ mod virtuals;
mod woofi; mod woofi;
mod zero_fi; mod zero_fi;
mod zora; mod zora;
/// Exposes the reserved `amm/aldrin_v1` executor.
pub use self::aldrin_v1::ExAmmAldrinV1Executor;
/// Exposes the reserved `amm/aldrin_v2` executor.
pub use self::aldrin_v2::ExAmmAldrinV2Executor;
/// Exposes the reserved `amm/alphaq` executor.
pub use self::alphaq::ExAmmAlphaqExecutor;
/// Exposes the reserved `amm/believe` executor.
pub use self::believe::ExAmmBelieveExecutor;
/// Exposes the reserved `amm/bonk_swap` executor.
pub use self::bonk_swap::ExAmmBonkSwapExecutor;
/// Exposes the reserved `amm/fluxbeam` executor.
pub use self::fluxbeam::ExAmmFluxbeamExecutor;
/// Exposes the reserved `amm/goon_fi` executor.
pub use self::goon_fi::ExAmmGoonFiExecutor;
/// Exposes the reserved `amm/goosefx_gamma` executor.
pub use self::goosefx_gamma::ExAmmGoosefxGammaExecutor;
/// Exposes the reserved `amm/goosefx_v2` executor.
pub use self::goosefx_v2::ExAmmGoosefxV2Executor;
/// Exposes the reserved `amm/guac_swap` executor.
pub use self::guac_swap::ExAmmGuacSwapExecutor;
/// Exposes the reserved `amm/lifinity_swap_v2` executor.
pub use self::lifinity_swap_v2::ExAmmLifinitySwapV2Executor;
/// Exposes the reserved `amm/metadao_futarchy_amm` executor.
pub use self::metadao_futarchy_amm::ExAmmMetadaoFutarchyAmmExecutor;
/// Exposes the reserved `amm/metadao_v0_5` executor.
pub use self::metadao_v0_5::ExAmmMetadaoV05Executor;
/// Exposes the reserved `amm/meteora_damm_v1` executor.
pub use self::meteora_damm_v1::ExAmmMeteoraDammV1Executor;
/// Exposes the reserved `amm/meteora_damm_v2` executor.
pub use self::meteora_damm_v2::ExAmmMeteoraDammV2Executor;
/// Exposes the reserved `amm/obric_v2` executor.
pub use self::obric_v2::ExAmmObricV2Executor;
/// Exposes the reserved `amm/one_dex` executor.
pub use self::one_dex::ExAmmOneDexExecutor;
/// Exposes the reserved `amm/pump_swap` executor.
pub use self::pump_swap::ExAmmPumpSwapExecutor;
/// Exposes the reserved `amm/raydium_lp_v4` executor.
pub use self::raydium_lp_v4::ExAmmRaydiumLpV4Executor;
/// Exposes the reserved `amm/solfi` executor.
pub use self::solfi::ExAmmSolfiExecutor;
/// Exposes the reserved `amm/solfi_v2` executor.
pub use self::solfi_v2::ExAmmSolfiV2Executor;
/// Exposes the reserved `amm/vertigo` executor.
pub use self::vertigo::ExAmmVertigoExecutor;
/// Exposes the reserved `amm/virtuals` executor.
pub use self::virtuals::ExAmmVirtualsExecutor;
/// Exposes the reserved `amm/woofi` executor.
pub use self::woofi::ExAmmWoofiExecutor;
/// Exposes the reserved `amm/zero_fi` executor.
pub use self::zero_fi::ExAmmZeroFiExecutor;
/// Exposes the reserved `amm/zora` executor.
pub use self::zora::ExAmmZoraExecutor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/aldrin_v1.rs // file: kb-lib/src/executor/amm/aldrin_v1.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_aldrin_v1`. //! Reserved executor for `amm_aldrin_v1`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_aldrin_v1` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_aldrin_v1"; #[derive(Clone, Debug, Default)]
pub struct ExAmmAldrinV1Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmAldrinV1Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_aldrin_v1";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_ALDRIN_V1_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_aldrin_v1"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_aldrin_v1".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/aldrin_v2.rs // file: kb-lib/src/executor/amm/aldrin_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_aldrin_v2`. //! Reserved executor for `amm_aldrin_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_aldrin_v2` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_aldrin_v2"; #[derive(Clone, Debug, Default)]
pub struct ExAmmAldrinV2Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmAldrinV2Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_aldrin_v2";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_ALDRIN_V2_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_aldrin_v2"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_aldrin_v2".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/alphaq.rs // file: kb-lib/src/executor/amm/alphaq.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_alphaq`. //! Reserved executor for `amm_alphaq`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_alphaq` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_alphaq"; #[derive(Clone, Debug, Default)]
pub struct ExAmmAlphaqExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmAlphaqExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_alphaq";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_ALPHAQ_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_alphaq"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_alphaq".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/believe.rs // file: kb-lib/src/executor/amm/believe.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_believe`. //! Reserved executor for `amm_believe`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_believe` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_believe"; #[derive(Clone, Debug, Default)]
pub struct ExAmmBelieveExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmBelieveExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_believe";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_BELIEVE_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_believe"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_believe".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/bonk_swap.rs // file: kb-lib/src/executor/amm/bonk_swap.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_bonk_swap`. //! Reserved executor for `amm_bonk_swap`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_bonk_swap` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_bonk_swap"; #[derive(Clone, Debug, Default)]
pub struct ExAmmBonkSwapExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmBonkSwapExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_bonk_swap";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_BONK_SWAP_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_bonk_swap"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_bonk_swap".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/fluxbeam.rs // file: kb-lib/src/executor/amm/fluxbeam.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_fluxbeam`. //! Reserved executor for `amm_fluxbeam`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_fluxbeam` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_fluxbeam"; #[derive(Clone, Debug, Default)]
pub struct ExAmmFluxbeamExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmFluxbeamExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_fluxbeam";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_FLUXBEAM_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_fluxbeam"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_fluxbeam".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/goon_fi.rs // file: kb-lib/src/executor/amm/goon_fi.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_goon_fi`. //! Reserved executor for `amm_goon_fi`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_goon_fi` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_goon_fi"; #[derive(Clone, Debug, Default)]
pub struct ExAmmGoonFiExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmGoonFiExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_goon_fi";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_GOON_FI_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_goon_fi"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_goon_fi".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/goosefx_gamma.rs // file: kb-lib/src/executor/amm/goosefx_gamma.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_goosefx_gamma`. //! Reserved executor for `amm_goosefx_gamma`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_goosefx_gamma` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_goosefx_gamma"; #[derive(Clone, Debug, Default)]
pub struct ExAmmGoosefxGammaExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmGoosefxGammaExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_goosefx_gamma";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_GOOSEFX_GAMMA_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_goosefx_gamma"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_goosefx_gamma".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/goosefx_v2.rs // file: kb-lib/src/executor/amm/goosefx_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_goosefx_v2`. //! Reserved executor for `amm_goosefx_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_goosefx_v2` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_goosefx_v2"; #[derive(Clone, Debug, Default)]
pub struct ExAmmGoosefxV2Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmGoosefxV2Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_goosefx_v2";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_GOOSEFX_V2_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_goosefx_v2"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_goosefx_v2".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/guac_swap.rs // file: kb-lib/src/executor/amm/guac_swap.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_guac_swap`. //! Reserved executor for `amm_guac_swap`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_guac_swap` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_guac_swap"; #[derive(Clone, Debug, Default)]
pub struct ExAmmGuacSwapExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmGuacSwapExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_guac_swap";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_GUAC_SWAP_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_guac_swap"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_guac_swap".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/lifinity_swap_v2.rs // file: kb-lib/src/executor/amm/lifinity_swap_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_lifinity_swap_v2`. //! Reserved executor for `amm_lifinity_swap_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_lifinity_swap_v2` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_lifinity_swap_v2"; #[derive(Clone, Debug, Default)]
pub struct ExAmmLifinitySwapV2Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmLifinitySwapV2Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_lifinity_swap_v2";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_LIFINITY_SWAP_V2_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_lifinity_swap_v2"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_lifinity_swap_v2".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/metadao_futarchy_amm.rs // file: kb-lib/src/executor/amm/metadao_futarchy_amm.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_metadao_futarchy_amm`. //! Reserved executor for `amm_metadao_futarchy_amm`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_metadao_futarchy_amm` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_metadao_futarchy_amm"; #[derive(Clone, Debug, Default)]
pub struct ExAmmMetadaoFutarchyAmmExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmMetadaoFutarchyAmmExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_metadao_futarchy_amm";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_METADAO_FUTARCHY_AMM_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_metadao_futarchy_amm"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_metadao_futarchy_amm".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/metadao_v0_5.rs // file: kb-lib/src/executor/amm/metadao_v0_5.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_metadao_v0_5`. //! Reserved executor for `amm_metadao_v0_5`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_metadao_v0_5` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_metadao_v0_5"; #[derive(Clone, Debug, Default)]
pub struct ExAmmMetadaoV05Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmMetadaoV05Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_metadao_v0_5";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_METADAO_V0_5_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_metadao_v0_5"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_metadao_v0_5".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/meteora_damm_v1.rs // file: kb-lib/src/executor/amm/meteora_damm_v1.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_meteora_damm_v1`. //! Reserved executor for `amm_meteora_damm_v1`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_meteora_damm_v1` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_meteora_damm_v1"; #[derive(Clone, Debug, Default)]
pub struct ExAmmMeteoraDammV1Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmMeteoraDammV1Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_meteora_damm_v1";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_METEORA_DAMM_V1_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_meteora_damm_v1"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_meteora_damm_v1".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/meteora_damm_v2.rs // file: kb-lib/src/executor/amm/meteora_damm_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_meteora_damm_v2`. //! Reserved executor for `amm_meteora_damm_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_meteora_damm_v2` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_meteora_damm_v2"; #[derive(Clone, Debug, Default)]
pub struct ExAmmMeteoraDammV2Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmMeteoraDammV2Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_meteora_damm_v2";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_METEORA_DAMM_V2_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_meteora_damm_v2"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_meteora_damm_v2".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/obric_v2.rs // file: kb-lib/src/executor/amm/obric_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_obric_v2`. //! Reserved executor for `amm_obric_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_obric_v2` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_obric_v2"; #[derive(Clone, Debug, Default)]
pub struct ExAmmObricV2Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmObricV2Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_obric_v2";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_OBRIC_V2_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_obric_v2"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_obric_v2".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/one_dex.rs // file: kb-lib/src/executor/amm/one_dex.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_one_dex`. //! Reserved executor for `amm_one_dex`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_one_dex` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_one_dex"; #[derive(Clone, Debug, Default)]
pub struct ExAmmOneDexExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmOneDexExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_one_dex";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_ONE_DEX_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_one_dex"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_one_dex".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/pump_swap.rs // file: kb-lib/src/executor/amm/pump_swap.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_pump_swap`. //! Reserved executor for `amm_pump_swap`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_pump_swap` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_pump_swap"; #[derive(Clone, Debug, Default)]
pub struct ExAmmPumpSwapExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmPumpSwapExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_pump_swap";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_PUMP_SWAP_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_pump_swap"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_pump_swap".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/raydium_lp_v4.rs // file: kb-lib/src/executor/amm/raydium_lp_v4.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_raydium_lp_v4`. //! Reserved executor for `amm_raydium_lp_v4`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_raydium_lp_v4` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_raydium_lp_v4"; #[derive(Clone, Debug, Default)]
pub struct ExAmmRaydiumLpV4Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmRaydiumLpV4Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_raydium_lp_v4";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_RAYDIUM_LP_V4_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_raydium_lp_v4"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_raydium_lp_v4".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/solfi.rs // file: kb-lib/src/executor/amm/solfi.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_solfi`. //! Reserved executor for `amm_solfi`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_solfi` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_solfi"; #[derive(Clone, Debug, Default)]
pub struct ExAmmSolfiExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmSolfiExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_solfi";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_SOLFI_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_solfi"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_solfi".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/solfi_v2.rs // file: kb-lib/src/executor/amm/solfi_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_solfi_v2`. //! Reserved executor for `amm_solfi_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_solfi_v2` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_solfi_v2"; #[derive(Clone, Debug, Default)]
pub struct ExAmmSolfiV2Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmSolfiV2Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_solfi_v2";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_SOLFI_V2_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_solfi_v2"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_solfi_v2".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/vertigo.rs // file: kb-lib/src/executor/amm/vertigo.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_vertigo`. //! Reserved executor for `amm_vertigo`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_vertigo` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_vertigo"; #[derive(Clone, Debug, Default)]
pub struct ExAmmVertigoExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmVertigoExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_vertigo";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_VERTIGO_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_vertigo"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_vertigo".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/virtuals.rs // file: kb-lib/src/executor/amm/virtuals.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_virtuals`. //! Reserved executor for `amm_virtuals`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_virtuals` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_virtuals"; #[derive(Clone, Debug, Default)]
pub struct ExAmmVirtualsExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmVirtualsExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_virtuals";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_VIRTUALS_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_virtuals"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_virtuals".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/woofi.rs // file: kb-lib/src/executor/amm/woofi.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_woofi`. //! Reserved executor for `amm_woofi`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_woofi` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_woofi"; #[derive(Clone, Debug, Default)]
pub struct ExAmmWoofiExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmWoofiExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_woofi";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_WOOFI_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_woofi"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_woofi".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/zero_fi.rs // file: kb-lib/src/executor/amm/zero_fi.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_zero_fi`. //! Reserved executor for `amm_zero_fi`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_zero_fi` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_zero_fi"; #[derive(Clone, Debug, Default)]
pub struct ExAmmZeroFiExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmZeroFiExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_zero_fi";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_ZERO_FI_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_zero_fi"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_zero_fi".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/amm/zora.rs // file: kb-lib/src/executor/amm/zora.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_amm_zora`. //! Reserved executor for `amm_zora`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `amm_zora` program surface.
const LEGACY_CRATE: &str = "kb_executor_amm_zora"; #[derive(Clone, Debug, Default)]
pub struct ExAmmZoraExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExAmmZoraExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_amm_zora";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_ZORA_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"amm_zora"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_amm_zora".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/bridge.rs // file: kb-lib/src/executor/bridge.rs
// version: 1 // version: 2
//! `bridge` executor family. //! `bridge` executor family.
@@ -7,3 +7,11 @@ mod circle_cctp_token_messenger_minter;
mod circle_cctp_token_messenger_minter_v2; mod circle_cctp_token_messenger_minter_v2;
mod layer_zero_endpoint; mod layer_zero_endpoint;
mod layer_zero_executor; mod layer_zero_executor;
/// Exposes the reserved `bridge/circle_cctp_token_messenger_minter` executor.
pub use self::circle_cctp_token_messenger_minter::ExBridgeCircleCctpTokenMessengerMinterExecutor;
/// Exposes the reserved `bridge/circle_cctp_token_messenger_minter_v2` executor.
pub use self::circle_cctp_token_messenger_minter_v2::ExBridgeCircleCctpTokenMessengerMinterV2Executor;
/// Exposes the reserved `bridge/layer_zero_endpoint` executor.
pub use self::layer_zero_endpoint::ExBridgeLayerZeroEndpointExecutor;
/// Exposes the reserved `bridge/layer_zero_executor` executor.
pub use self::layer_zero_executor::ExBridgeLayerZeroExecutorExecutor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter.rs // file: kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_bridge_circle_cctp_token_messenger_minter`. //! Reserved executor for `bridge_circle_cctp_token_messenger_minter`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `bridge_circle_cctp_token_messenger_minter` program surface.
const LEGACY_CRATE: &str = "kb_executor_bridge_circle_cctp_token_messenger_minter"; #[derive(Clone, Debug, Default)]
pub struct ExBridgeCircleCctpTokenMessengerMinterExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExBridgeCircleCctpTokenMessengerMinterExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_bridge_circle_cctp_token_messenger_minter";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::BRIDGE_CIRCLE_CCTP_TOKEN_MESSENGER_MINTER_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"bridge_circle_cctp_token_messenger_minter"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_bridge_circle_cctp_token_messenger_minter".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter_v2.rs // file: kb-lib/src/executor/bridge/circle_cctp_token_messenger_minter_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_bridge_circle_cctp_token_messenger_minter_v2`. //! Reserved executor for `bridge_circle_cctp_token_messenger_minter_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `bridge_circle_cctp_token_messenger_minter_v2` program surface.
const LEGACY_CRATE: &str = "kb_executor_bridge_circle_cctp_token_messenger_minter_v2"; #[derive(Clone, Debug, Default)]
pub struct ExBridgeCircleCctpTokenMessengerMinterV2Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExBridgeCircleCctpTokenMessengerMinterV2Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_bridge_circle_cctp_token_messenger_minter_v2";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::BRIDGE_CIRCLE_CCTP_TOKEN_MESSENGER_MINTER_V2_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"bridge_circle_cctp_token_messenger_minter_v2"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_bridge_circle_cctp_token_messenger_minter_v2".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/bridge/layer_zero_endpoint.rs // file: kb-lib/src/executor/bridge/layer_zero_endpoint.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_bridge_layer_zero_endpoint`. //! Reserved executor for `bridge_layer_zero_endpoint`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `bridge_layer_zero_endpoint` program surface.
const LEGACY_CRATE: &str = "kb_executor_bridge_layer_zero_endpoint"; #[derive(Clone, Debug, Default)]
pub struct ExBridgeLayerZeroEndpointExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExBridgeLayerZeroEndpointExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_bridge_layer_zero_endpoint";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::BRIDGE_LAYER_ZERO_ENDPOINT_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"bridge_layer_zero_endpoint"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_bridge_layer_zero_endpoint".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/bridge/layer_zero_executor.rs // file: kb-lib/src/executor/bridge/layer_zero_executor.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_bridge_layer_zero_executor`. //! Reserved executor for `bridge_layer_zero_executor`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `bridge_layer_zero_executor` program surface.
const LEGACY_CRATE: &str = "kb_executor_bridge_layer_zero_executor"; #[derive(Clone, Debug, Default)]
pub struct ExBridgeLayerZeroExecutorExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExBridgeLayerZeroExecutorExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_bridge_layer_zero_executor";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::BRIDGE_LAYER_ZERO_EXECUTOR_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"bridge_layer_zero_executor"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_bridge_layer_zero_executor".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/clmm.rs // file: kb-lib/src/executor/clmm.rs
// version: 1 // version: 2
//! `clmm` executor family. //! `clmm` executor family.
@@ -9,3 +9,15 @@ mod orca_whirlpool;
mod pancake_swap; mod pancake_swap;
mod raydium; mod raydium;
mod stabble; mod stabble;
/// Exposes the reserved `clmm/byreal` executor.
pub use self::byreal::ExClmmByrealExecutor;
/// Exposes the reserved `clmm/fusion` executor.
pub use self::fusion::ExClmmFusionExecutor;
/// Exposes the reserved `clmm/orca_whirlpool` executor.
pub use self::orca_whirlpool::ExClmmOrcaWhirlpoolExecutor;
/// Exposes the reserved `clmm/pancake_swap` executor.
pub use self::pancake_swap::ExClmmPancakeSwapExecutor;
/// Exposes the reserved `clmm/raydium` executor.
pub use self::raydium::ExClmmRaydiumExecutor;
/// Exposes the reserved `clmm/stabble` executor.
pub use self::stabble::ExClmmStabbleExecutor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/clmm/byreal.rs // file: kb-lib/src/executor/clmm/byreal.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_clmm_byreal`. //! Reserved executor for `clmm_byreal`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `clmm_byreal` program surface.
const LEGACY_CRATE: &str = "kb_executor_clmm_byreal"; #[derive(Clone, Debug, Default)]
pub struct ExClmmByrealExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExClmmByrealExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_clmm_byreal";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::CLMM_BYREAL_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"clmm_byreal"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_clmm_byreal".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/clmm/fusion.rs // file: kb-lib/src/executor/clmm/fusion.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_clmm_fusion`. //! Reserved executor for `clmm_fusion`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `clmm_fusion` program surface.
const LEGACY_CRATE: &str = "kb_executor_clmm_fusion"; #[derive(Clone, Debug, Default)]
pub struct ExClmmFusionExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExClmmFusionExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_clmm_fusion";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::CLMM_FUSION_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"clmm_fusion"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_clmm_fusion".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/clmm/orca_whirlpool.rs // file: kb-lib/src/executor/clmm/orca_whirlpool.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_clmm_orca_whirlpool`. //! Reserved executor for `clmm_orca_whirlpool`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `clmm_orca_whirlpool` program surface.
const LEGACY_CRATE: &str = "kb_executor_clmm_orca_whirlpool"; #[derive(Clone, Debug, Default)]
pub struct ExClmmOrcaWhirlpoolExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExClmmOrcaWhirlpoolExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_clmm_orca_whirlpool";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::CLMM_ORCA_WHIRLPOOL_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"clmm_orca_whirlpool"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_clmm_orca_whirlpool".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/clmm/pancake_swap.rs // file: kb-lib/src/executor/clmm/pancake_swap.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_clmm_pancake_swap`. //! Reserved executor for `clmm_pancake_swap`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `clmm_pancake_swap` program surface.
const LEGACY_CRATE: &str = "kb_executor_clmm_pancake_swap"; #[derive(Clone, Debug, Default)]
pub struct ExClmmPancakeSwapExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExClmmPancakeSwapExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_clmm_pancake_swap";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::CLMM_PANCAKE_SWAP_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"clmm_pancake_swap"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_clmm_pancake_swap".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/clmm/raydium.rs // file: kb-lib/src/executor/clmm/raydium.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_clmm_raydium`. //! Reserved executor for `clmm_raydium`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `clmm_raydium` program surface.
const LEGACY_CRATE: &str = "kb_executor_clmm_raydium"; #[derive(Clone, Debug, Default)]
pub struct ExClmmRaydiumExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExClmmRaydiumExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_clmm_raydium";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::CLMM_RAYDIUM_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"clmm_raydium"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_clmm_raydium".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/clmm/stabble.rs // file: kb-lib/src/executor/clmm/stabble.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_clmm_stabble`. //! Reserved executor for `clmm_stabble`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `clmm_stabble` program surface.
const LEGACY_CRATE: &str = "kb_executor_clmm_stabble"; #[derive(Clone, Debug, Default)]
pub struct ExClmmStabbleExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExClmmStabbleExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_clmm_stabble";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::CLMM_STABBLE_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"clmm_stabble"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_clmm_stabble".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,6 +1,8 @@
// file: kb-lib/src/executor/cpmm.rs // file: kb-lib/src/executor/cpmm.rs
// version: 1 // version: 2
//! `cpmm` executor family. //! `cpmm` executor family.
mod raydium; mod raydium;
/// Exposes the reserved `cpmm/raydium` executor.
pub use self::raydium::ExCpmmRaydiumExecutor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/cpmm/raydium.rs // file: kb-lib/src/executor/cpmm/raydium.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_cpmm_raydium`. //! Reserved executor for `cpmm_raydium`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `cpmm_raydium` program surface.
const LEGACY_CRATE: &str = "kb_executor_cpmm_raydium"; #[derive(Clone, Debug, Default)]
pub struct ExCpmmRaydiumExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExCpmmRaydiumExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_cpmm_raydium";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::CPMM_RAYDIUM_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"cpmm_raydium"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_cpmm_raydium".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,6 +1,8 @@
// file: kb-lib/src/executor/dlmm.rs // file: kb-lib/src/executor/dlmm.rs
// version: 1 // version: 2
//! `dlmm` executor family. //! `dlmm` executor family.
mod meteora; mod meteora;
/// Exposes the reserved `dlmm/meteora` executor.
pub use self::meteora::ExDlmmMeteoraExecutor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/dlmm/meteora.rs // file: kb-lib/src/executor/dlmm/meteora.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_dlmm_meteora`. //! Reserved executor for `dlmm_meteora`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `dlmm_meteora` program surface.
const LEGACY_CRATE: &str = "kb_executor_dlmm_meteora"; #[derive(Clone, Debug, Default)]
pub struct ExDlmmMeteoraExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExDlmmMeteoraExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_dlmm_meteora";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::DLMM_METEORA_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"dlmm_meteora"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_dlmm_meteora".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,7 +1,11 @@
// file: kb-lib/src/executor/fees.rs // file: kb-lib/src/executor/fees.rs
// version: 1 // version: 2
//! `fees` executor family. //! `fees` executor family.
mod bags_fee_share_v1; mod bags_fee_share_v1;
mod bags_fee_share_v2; mod bags_fee_share_v2;
/// Exposes the reserved `fees/bags_fee_share_v1` executor.
pub use self::bags_fee_share_v1::ExFeesBagsFeeShareV1Executor;
/// Exposes the reserved `fees/bags_fee_share_v2` executor.
pub use self::bags_fee_share_v2::ExFeesBagsFeeShareV2Executor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/fees/bags_fee_share_v1.rs // file: kb-lib/src/executor/fees/bags_fee_share_v1.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_fees_bags_fee_share_v1`. //! Reserved executor for `fees_bags_fee_share_v1`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `fees_bags_fee_share_v1` program surface.
const LEGACY_CRATE: &str = "kb_executor_fees_bags_fee_share_v1"; #[derive(Clone, Debug, Default)]
pub struct ExFeesBagsFeeShareV1Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExFeesBagsFeeShareV1Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_fees_bags_fee_share_v1";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::FEES_BAGS_FEE_SHARE_V1_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"fees_bags_fee_share_v1"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_fees_bags_fee_share_v1".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/fees/bags_fee_share_v2.rs // file: kb-lib/src/executor/fees/bags_fee_share_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_fees_bags_fee_share_v2`. //! Reserved executor for `fees_bags_fee_share_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `fees_bags_fee_share_v2` program surface.
const LEGACY_CRATE: &str = "kb_executor_fees_bags_fee_share_v2"; #[derive(Clone, Debug, Default)]
pub struct ExFeesBagsFeeShareV2Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExFeesBagsFeeShareV2Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_fees_bags_fee_share_v2";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::FEES_BAGS_FEE_SHARE_V2_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"fees_bags_fee_share_v2"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_fees_bags_fee_share_v2".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,6 +1,8 @@
// file: kb-lib/src/executor/governance.rs // file: kb-lib/src/executor/governance.rs
// version: 1 // version: 2
//! `governance` executor family. //! `governance` executor family.
mod metadao_bid_wall; mod metadao_bid_wall;
/// Exposes the reserved `governance/metadao_bid_wall` executor.
pub use self::metadao_bid_wall::ExGovernanceMetadaoBidWallExecutor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/governance/metadao_bid_wall.rs // file: kb-lib/src/executor/governance/metadao_bid_wall.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_governance_metadao_bid_wall`. //! Reserved executor for `governance_metadao_bid_wall`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `governance_metadao_bid_wall` program surface.
const LEGACY_CRATE: &str = "kb_executor_governance_metadao_bid_wall"; #[derive(Clone, Debug, Default)]
pub struct ExGovernanceMetadaoBidWallExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExGovernanceMetadaoBidWallExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_governance_metadao_bid_wall";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::GOVERNANCE_METADAO_BID_WALL_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"governance_metadao_bid_wall"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_governance_metadao_bid_wall".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/launchpad.rs // file: kb-lib/src/executor/launchpad.rs
// version: 1 // version: 2
//! `launchpad` executor family. //! `launchpad` executor family.
@@ -12,3 +12,21 @@ mod printr;
mod pump_fun; mod pump_fun;
mod pump_pumpup_ai; mod pump_pumpup_ai;
mod raydium_launchlab; mod raydium_launchlab;
/// Exposes the reserved `launchpad/boop_fun` executor.
pub use self::boop_fun::ExLaunchpadBoopFunExecutor;
/// Exposes the reserved `launchpad/metadao_ico` executor.
pub use self::metadao_ico::ExLaunchpadMetadaoIcoExecutor;
/// Exposes the reserved `launchpad/meteora_dbc` executor.
pub use self::meteora_dbc::ExLaunchpadMeteoraDbcExecutor;
/// Exposes the reserved `launchpad/moonit` executor.
pub use self::moonit::ExLaunchpadMoonitExecutor;
/// Exposes the reserved `launchpad/orca_wavebreak` executor.
pub use self::orca_wavebreak::ExLaunchpadOrcaWavebreakExecutor;
/// Exposes the reserved `launchpad/printr` executor.
pub use self::printr::ExLaunchpadPrintrExecutor;
/// Exposes the reserved `launchpad/pump_fun` executor.
pub use self::pump_fun::ExLaunchpadPumpFunExecutor;
/// Exposes the reserved `launchpad/pump_pumpup_ai` executor.
pub use self::pump_pumpup_ai::ExLaunchpadPumpPumpupAiExecutor;
/// Exposes the reserved `launchpad/raydium_launchlab` executor.
pub use self::raydium_launchlab::ExLaunchpadRaydiumLaunchlabExecutor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/launchpad/boop_fun.rs // file: kb-lib/src/executor/launchpad/boop_fun.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_launchpad_boop_fun`. //! Reserved executor for `launchpad_boop_fun`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `launchpad_boop_fun` program surface.
const LEGACY_CRATE: &str = "kb_executor_launchpad_boop_fun"; #[derive(Clone, Debug, Default)]
pub struct ExLaunchpadBoopFunExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLaunchpadBoopFunExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_launchpad_boop_fun";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LAUNCHPAD_BOOP_FUN_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"launchpad_boop_fun"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_launchpad_boop_fun".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/launchpad/metadao_ico.rs // file: kb-lib/src/executor/launchpad/metadao_ico.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_launchpad_metadao_ico`. //! Reserved executor for `launchpad_metadao_ico`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `launchpad_metadao_ico` program surface.
const LEGACY_CRATE: &str = "kb_executor_launchpad_metadao_ico"; #[derive(Clone, Debug, Default)]
pub struct ExLaunchpadMetadaoIcoExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLaunchpadMetadaoIcoExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_launchpad_metadao_ico";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LAUNCHPAD_METADAO_ICO_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"launchpad_metadao_ico"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_launchpad_metadao_ico".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/launchpad/meteora_dbc.rs // file: kb-lib/src/executor/launchpad/meteora_dbc.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_launchpad_meteora_dbc`. //! Reserved executor for `launchpad_meteora_dbc`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `launchpad_meteora_dbc` program surface.
const LEGACY_CRATE: &str = "kb_executor_launchpad_meteora_dbc"; #[derive(Clone, Debug, Default)]
pub struct ExLaunchpadMeteoraDbcExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLaunchpadMeteoraDbcExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_launchpad_meteora_dbc";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LAUNCHPAD_METEORA_DBC_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"launchpad_meteora_dbc"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_launchpad_meteora_dbc".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/launchpad/moonit.rs // file: kb-lib/src/executor/launchpad/moonit.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_launchpad_moonit`. //! Reserved executor for `launchpad_moonit`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `launchpad_moonit` program surface.
const LEGACY_CRATE: &str = "kb_executor_launchpad_moonit"; #[derive(Clone, Debug, Default)]
pub struct ExLaunchpadMoonitExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLaunchpadMoonitExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_launchpad_moonit";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LAUNCHPAD_MOONIT_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"launchpad_moonit"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_launchpad_moonit".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/launchpad/orca_wavebreak.rs // file: kb-lib/src/executor/launchpad/orca_wavebreak.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_launchpad_orca_wavebreak`. //! Reserved executor for `launchpad_orca_wavebreak`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `launchpad_orca_wavebreak` program surface.
const LEGACY_CRATE: &str = "kb_executor_launchpad_orca_wavebreak"; #[derive(Clone, Debug, Default)]
pub struct ExLaunchpadOrcaWavebreakExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLaunchpadOrcaWavebreakExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_launchpad_orca_wavebreak";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LAUNCHPAD_ORCA_WAVEBREAK_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"launchpad_orca_wavebreak"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_launchpad_orca_wavebreak".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/launchpad/printr.rs // file: kb-lib/src/executor/launchpad/printr.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_launchpad_printr`. //! Reserved executor for `launchpad_printr`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `launchpad_printr` program surface.
const LEGACY_CRATE: &str = "kb_executor_launchpad_printr"; #[derive(Clone, Debug, Default)]
pub struct ExLaunchpadPrintrExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLaunchpadPrintrExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_launchpad_printr";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LAUNCHPAD_PRINTR_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"launchpad_printr"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_launchpad_printr".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/launchpad/pump_fun.rs // file: kb-lib/src/executor/launchpad/pump_fun.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_launchpad_pump_fun`. //! Reserved executor for `launchpad_pump_fun`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `launchpad_pump_fun` program surface.
const LEGACY_CRATE: &str = "kb_executor_launchpad_pump_fun"; #[derive(Clone, Debug, Default)]
pub struct ExLaunchpadPumpFunExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLaunchpadPumpFunExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_launchpad_pump_fun";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LAUNCHPAD_PUMP_FUN_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"launchpad_pump_fun"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_launchpad_pump_fun".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/launchpad/pump_pumpup_ai.rs // file: kb-lib/src/executor/launchpad/pump_pumpup_ai.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_launchpad_pump_pumpup_ai`. //! Reserved executor for `launchpad_pump_pumpup_ai`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `launchpad_pump_pumpup_ai` program surface.
const LEGACY_CRATE: &str = "kb_executor_launchpad_pump_pumpup_ai"; #[derive(Clone, Debug, Default)]
pub struct ExLaunchpadPumpPumpupAiExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLaunchpadPumpPumpupAiExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_launchpad_pump_pumpup_ai";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LAUNCHPAD_PUMP_PUMPUP_AI_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"launchpad_pump_pumpup_ai"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_launchpad_pump_pumpup_ai".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/launchpad/raydium_launchlab.rs // file: kb-lib/src/executor/launchpad/raydium_launchlab.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_launchpad_raydium_launchlab`. //! Reserved executor for `launchpad_raydium_launchlab`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `launchpad_raydium_launchlab` program surface.
const LEGACY_CRATE: &str = "kb_executor_launchpad_raydium_launchlab"; #[derive(Clone, Debug, Default)]
pub struct ExLaunchpadRaydiumLaunchlabExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLaunchpadRaydiumLaunchlabExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_launchpad_raydium_launchlab";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LAUNCHPAD_RAYDIUM_LAUNCHLAB_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"launchpad_raydium_launchlab"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_launchpad_raydium_launchlab".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/lending.rs // file: kb-lib/src/executor/lending.rs
// version: 1 // version: 2
//! `lending` executor family. //! `lending` executor family.
@@ -10,3 +10,17 @@ mod jupiter_lend_flash_loan;
mod jupiter_lend_liquidity; mod jupiter_lend_liquidity;
mod kamino; mod kamino;
mod marginfi_v2; mod marginfi_v2;
/// Exposes the reserved `lending/clone` executor.
pub use self::clone::ExLendingCloneExecutor;
/// Exposes the reserved `lending/jupiter_lend_borrow` executor.
pub use self::jupiter_lend_borrow::ExLendingJupiterLendBorrowExecutor;
/// Exposes the reserved `lending/jupiter_lend_earn` executor.
pub use self::jupiter_lend_earn::ExLendingJupiterLendEarnExecutor;
/// Exposes the reserved `lending/jupiter_lend_flash_loan` executor.
pub use self::jupiter_lend_flash_loan::ExLendingJupiterLendFlashLoanExecutor;
/// Exposes the reserved `lending/jupiter_lend_liquidity` executor.
pub use self::jupiter_lend_liquidity::ExLendingJupiterLendLiquidityExecutor;
/// Exposes the reserved `lending/kamino` executor.
pub use self::kamino::ExLendingKaminoExecutor;
/// Exposes the reserved `lending/marginfi_v2` executor.
pub use self::marginfi_v2::ExLendingMarginfiV2Executor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/lending/clone.rs // file: kb-lib/src/executor/lending/clone.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_lending_clone`. //! Reserved executor for `lending_clone`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `lending_clone` program surface.
const LEGACY_CRATE: &str = "kb_executor_lending_clone"; #[derive(Clone, Debug, Default)]
pub struct ExLendingCloneExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLendingCloneExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_lending_clone";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LENDING_CLONE_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"lending_clone"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_lending_clone".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/lending/jupiter_lend_borrow.rs // file: kb-lib/src/executor/lending/jupiter_lend_borrow.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_lending_jupiter_lend_borrow`. //! Reserved executor for `lending_jupiter_lend_borrow`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `lending_jupiter_lend_borrow` program surface.
const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_borrow"; #[derive(Clone, Debug, Default)]
pub struct ExLendingJupiterLendBorrowExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLendingJupiterLendBorrowExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_lending_jupiter_lend_borrow";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LENDING_JUPITER_LEND_BORROW_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"lending_jupiter_lend_borrow"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_lending_jupiter_lend_borrow".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/lending/jupiter_lend_earn.rs // file: kb-lib/src/executor/lending/jupiter_lend_earn.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_lending_jupiter_lend_earn`. //! Reserved executor for `lending_jupiter_lend_earn`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `lending_jupiter_lend_earn` program surface.
const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_earn"; #[derive(Clone, Debug, Default)]
pub struct ExLendingJupiterLendEarnExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLendingJupiterLendEarnExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_lending_jupiter_lend_earn";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LENDING_JUPITER_LEND_EARN_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"lending_jupiter_lend_earn"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_lending_jupiter_lend_earn".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/lending/jupiter_lend_flash_loan.rs // file: kb-lib/src/executor/lending/jupiter_lend_flash_loan.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_lending_jupiter_lend_flash_loan`. //! Reserved executor for `lending_jupiter_lend_flash_loan`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `lending_jupiter_lend_flash_loan` program surface.
const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_flash_loan"; #[derive(Clone, Debug, Default)]
pub struct ExLendingJupiterLendFlashLoanExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLendingJupiterLendFlashLoanExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_lending_jupiter_lend_flash_loan";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LENDING_JUPITER_LEND_FLASH_LOAN_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"lending_jupiter_lend_flash_loan"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_lending_jupiter_lend_flash_loan".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/lending/jupiter_lend_liquidity.rs // file: kb-lib/src/executor/lending/jupiter_lend_liquidity.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_lending_jupiter_lend_liquidity`. //! Reserved executor for `lending_jupiter_lend_liquidity`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `lending_jupiter_lend_liquidity` program surface.
const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_liquidity"; #[derive(Clone, Debug, Default)]
pub struct ExLendingJupiterLendLiquidityExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLendingJupiterLendLiquidityExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_lending_jupiter_lend_liquidity";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LENDING_JUPITER_LEND_LIQUIDITY_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"lending_jupiter_lend_liquidity"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_lending_jupiter_lend_liquidity".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/lending/kamino.rs // file: kb-lib/src/executor/lending/kamino.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_lending_kamino`. //! Reserved executor for `lending_kamino`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `lending_kamino` program surface.
const LEGACY_CRATE: &str = "kb_executor_lending_kamino"; #[derive(Clone, Debug, Default)]
pub struct ExLendingKaminoExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLendingKaminoExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_lending_kamino";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LENDING_KAMINO_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"lending_kamino"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_lending_kamino".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/lending/marginfi_v2.rs // file: kb-lib/src/executor/lending/marginfi_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_lending_marginfi_v2`. //! Reserved executor for `lending_marginfi_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `lending_marginfi_v2` program surface.
const LEGACY_CRATE: &str = "kb_executor_lending_marginfi_v2"; #[derive(Clone, Debug, Default)]
pub struct ExLendingMarginfiV2Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLendingMarginfiV2Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_lending_marginfi_v2";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LENDING_MARGINFI_V2_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"lending_marginfi_v2"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_lending_marginfi_v2".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,6 +1,8 @@
// file: kb-lib/src/executor/lock.rs // file: kb-lib/src/executor/lock.rs
// version: 1 // version: 2
//! `lock` executor family. //! `lock` executor family.
mod raydium_lp; mod raydium_lp;
/// Exposes the reserved `lock/raydium_lp` executor.
pub use self::raydium_lp::ExLockRaydiumLpExecutor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/lock/raydium_lp.rs // file: kb-lib/src/executor/lock/raydium_lp.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_lock_raydium_lp`. //! Reserved executor for `lock_raydium_lp`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `lock_raydium_lp` program surface.
const LEGACY_CRATE: &str = "kb_executor_lock_raydium_lp"; #[derive(Clone, Debug, Default)]
pub struct ExLockRaydiumLpExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExLockRaydiumLpExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_lock_raydium_lp";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::LOCK_RAYDIUM_LP_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"lock_raydium_lp"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_lock_raydium_lp".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,7 +1,11 @@
// file: kb-lib/src/executor/metadata.rs // file: kb-lib/src/executor/metadata.rs
// version: 1 // version: 2
//! `metadata` executor family. //! `metadata` executor family.
mod metaplex_token_metadata; mod metaplex_token_metadata;
mod spl_name_service; mod spl_name_service;
/// Exposes the reserved `metadata/metaplex_token_metadata` executor.
pub use self::metaplex_token_metadata::ExMetadataMetaplexTokenMetadataExecutor;
/// Exposes the reserved `metadata/spl_name_service` executor.
pub use self::spl_name_service::ExMetadataSplNameServiceExecutor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/metadata/metaplex_token_metadata.rs // file: kb-lib/src/executor/metadata/metaplex_token_metadata.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_metadata_metaplex_token_metadata`. //! Reserved executor for `metadata_metaplex_token_metadata`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `metadata_metaplex_token_metadata` program surface.
const LEGACY_CRATE: &str = "kb_executor_metadata_metaplex_token_metadata"; #[derive(Clone, Debug, Default)]
pub struct ExMetadataMetaplexTokenMetadataExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExMetadataMetaplexTokenMetadataExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_metadata_metaplex_token_metadata";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::METADATA_METAPLEX_TOKEN_METADATA_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"metadata_metaplex_token_metadata"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_metadata_metaplex_token_metadata".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/metadata/spl_name_service.rs // file: kb-lib/src/executor/metadata/spl_name_service.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_metadata_spl_name_service`. //! Reserved executor for `metadata_spl_name_service`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `metadata_spl_name_service` program surface.
const LEGACY_CRATE: &str = "kb_executor_metadata_spl_name_service"; #[derive(Clone, Debug, Default)]
pub struct ExMetadataSplNameServiceExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExMetadataSplNameServiceExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_metadata_spl_name_service";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::METADATA_SPL_NAME_SERVICE_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"metadata_spl_name_service"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_metadata_spl_name_service".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,6 +1,8 @@
// file: kb-lib/src/executor/nft.rs // file: kb-lib/src/executor/nft.rs
// version: 1 // version: 2
//! `nft` executor family. //! `nft` executor family.
mod metaplex_bubblegum; mod metaplex_bubblegum;
/// Exposes the reserved `nft/metaplex_bubblegum` executor.
pub use self::metaplex_bubblegum::ExNftMetaplexBubblegumExecutor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/nft/metaplex_bubblegum.rs // file: kb-lib/src/executor/nft/metaplex_bubblegum.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_nft_metaplex_bubblegum`. //! Reserved executor for `nft_metaplex_bubblegum`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `nft_metaplex_bubblegum` program surface.
const LEGACY_CRATE: &str = "kb_executor_nft_metaplex_bubblegum"; #[derive(Clone, Debug, Default)]
pub struct ExNftMetaplexBubblegumExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExNftMetaplexBubblegumExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_nft_metaplex_bubblegum";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::NFT_METAPLEX_BUBBLEGUM_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"nft_metaplex_bubblegum"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_nft_metaplex_bubblegum".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,8 +1,14 @@
// file: kb-lib/src/executor/orderbook.rs // file: kb-lib/src/executor/orderbook.rs
// version: 1 // version: 2
//! `orderbook` executor family. //! `orderbook` executor family.
mod jupiter_limit_order; mod jupiter_limit_order;
mod jupiter_limit_order_v2; mod jupiter_limit_order_v2;
mod openbook_v2; mod openbook_v2;
/// Exposes the reserved `orderbook/jupiter_limit_order` executor.
pub use self::jupiter_limit_order::ExOrderbookJupiterLimitOrderExecutor;
/// Exposes the reserved `orderbook/jupiter_limit_order_v2` executor.
pub use self::jupiter_limit_order_v2::ExOrderbookJupiterLimitOrderV2Executor;
/// Exposes the reserved `orderbook/openbook_v2` executor.
pub use self::openbook_v2::ExOrderbookOpenbookV2Executor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/orderbook/jupiter_limit_order.rs // file: kb-lib/src/executor/orderbook/jupiter_limit_order.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_orderbook_jupiter_limit_order`. //! Reserved executor for `orderbook_jupiter_limit_order`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `orderbook_jupiter_limit_order` program surface.
const LEGACY_CRATE: &str = "kb_executor_orderbook_jupiter_limit_order"; #[derive(Clone, Debug, Default)]
pub struct ExOrderbookJupiterLimitOrderExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExOrderbookJupiterLimitOrderExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_orderbook_jupiter_limit_order";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::ORDERBOOK_JUPITER_LIMIT_ORDER_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"orderbook_jupiter_limit_order"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_orderbook_jupiter_limit_order".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/orderbook/jupiter_limit_order_v2.rs // file: kb-lib/src/executor/orderbook/jupiter_limit_order_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_orderbook_jupiter_limit_order_v2`. //! Reserved executor for `orderbook_jupiter_limit_order_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `orderbook_jupiter_limit_order_v2` program surface.
const LEGACY_CRATE: &str = "kb_executor_orderbook_jupiter_limit_order_v2"; #[derive(Clone, Debug, Default)]
pub struct ExOrderbookJupiterLimitOrderV2Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExOrderbookJupiterLimitOrderV2Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_orderbook_jupiter_limit_order_v2";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::ORDERBOOK_JUPITER_LIMIT_ORDER_V2_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"orderbook_jupiter_limit_order_v2"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_orderbook_jupiter_limit_order_v2".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/orderbook/openbook_v2.rs // file: kb-lib/src/executor/orderbook/openbook_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_orderbook_openbook_v2`. //! Reserved executor for `orderbook_openbook_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `orderbook_openbook_v2` program surface.
const LEGACY_CRATE: &str = "kb_executor_orderbook_openbook_v2"; #[derive(Clone, Debug, Default)]
pub struct ExOrderbookOpenbookV2Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExOrderbookOpenbookV2Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_orderbook_openbook_v2";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::ORDERBOOK_OPENBOOK_V2_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"orderbook_openbook_v2"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_orderbook_openbook_v2".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,8 +1,14 @@
// file: kb-lib/src/executor/perpetuals.rs // file: kb-lib/src/executor/perpetuals.rs
// version: 1 // version: 2
//! `perpetuals` executor family. //! `perpetuals` executor family.
mod drift_v2; mod drift_v2;
mod jupiter; mod jupiter;
mod zeta; mod zeta;
/// Exposes the reserved `perpetuals/drift_v2` executor.
pub use self::drift_v2::ExPerpetualsDriftV2Executor;
/// Exposes the reserved `perpetuals/jupiter` executor.
pub use self::jupiter::ExPerpetualsJupiterExecutor;
/// Exposes the reserved `perpetuals/zeta` executor.
pub use self::zeta::ExPerpetualsZetaExecutor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/perpetuals/drift_v2.rs // file: kb-lib/src/executor/perpetuals/drift_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_perpetuals_drift_v2`. //! Reserved executor for `perpetuals_drift_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `perpetuals_drift_v2` program surface.
const LEGACY_CRATE: &str = "kb_executor_perpetuals_drift_v2"; #[derive(Clone, Debug, Default)]
pub struct ExPerpetualsDriftV2Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExPerpetualsDriftV2Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_perpetuals_drift_v2";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::PERPETUALS_DRIFT_V2_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"perpetuals_drift_v2"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_perpetuals_drift_v2".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/perpetuals/jupiter.rs // file: kb-lib/src/executor/perpetuals/jupiter.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_perpetuals_jupiter`. //! Reserved executor for `perpetuals_jupiter`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `perpetuals_jupiter` program surface.
const LEGACY_CRATE: &str = "kb_executor_perpetuals_jupiter"; #[derive(Clone, Debug, Default)]
pub struct ExPerpetualsJupiterExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExPerpetualsJupiterExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_perpetuals_jupiter";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::PERPETUALS_JUPITER_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"perpetuals_jupiter"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_perpetuals_jupiter".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/perpetuals/zeta.rs // file: kb-lib/src/executor/perpetuals/zeta.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_perpetuals_zeta`. //! Reserved executor for `perpetuals_zeta`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `perpetuals_zeta` program surface.
const LEGACY_CRATE: &str = "kb_executor_perpetuals_zeta"; #[derive(Clone, Debug, Default)]
pub struct ExPerpetualsZetaExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExPerpetualsZetaExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_perpetuals_zeta";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::PERPETUALS_ZETA_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"perpetuals_zeta"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_perpetuals_zeta".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/router.rs // file: kb-lib/src/executor/router.rs
// version: 1 // version: 2
//! `router` executor family. //! `router` executor family.
@@ -9,3 +9,15 @@ mod jupiter_aggregator_v6;
mod jupiter_dca; mod jupiter_dca;
mod okx_labs_v1; mod okx_labs_v1;
mod okx_labs_v2; mod okx_labs_v2;
/// Exposes the reserved `router/dflow_aggregator_v4` executor.
pub use self::dflow_aggregator_v4::ExRouterDflowAggregatorV4Executor;
/// Exposes the reserved `router/jupiter_aggregator_v4` executor.
pub use self::jupiter_aggregator_v4::ExRouterJupiterAggregatorV4Executor;
/// Exposes the reserved `router/jupiter_aggregator_v6` executor.
pub use self::jupiter_aggregator_v6::ExRouterJupiterAggregatorV6Executor;
/// Exposes the reserved `router/jupiter_dca` executor.
pub use self::jupiter_dca::ExRouterJupiterDcaExecutor;
/// Exposes the reserved `router/okx_labs_v1` executor.
pub use self::okx_labs_v1::ExRouterOkxLabsV1Executor;
/// Exposes the reserved `router/okx_labs_v2` executor.
pub use self::okx_labs_v2::ExRouterOkxLabsV2Executor;

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/router/dflow_aggregator_v4.rs // file: kb-lib/src/executor/router/dflow_aggregator_v4.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_router_dflow_aggregator_v4`. //! Reserved executor for `router_dflow_aggregator_v4`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `router_dflow_aggregator_v4` program surface.
const LEGACY_CRATE: &str = "kb_executor_router_dflow_aggregator_v4"; #[derive(Clone, Debug, Default)]
pub struct ExRouterDflowAggregatorV4Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExRouterDflowAggregatorV4Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_router_dflow_aggregator_v4";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::ROUTER_DFLOW_AGGREGATOR_V4_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"router_dflow_aggregator_v4"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_router_dflow_aggregator_v4".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/router/jupiter_aggregator_v4.rs // file: kb-lib/src/executor/router/jupiter_aggregator_v4.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_router_jupiter_aggregator_v4`. //! Reserved executor for `router_jupiter_aggregator_v4`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `router_jupiter_aggregator_v4` program surface.
const LEGACY_CRATE: &str = "kb_executor_router_jupiter_aggregator_v4"; #[derive(Clone, Debug, Default)]
pub struct ExRouterJupiterAggregatorV4Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExRouterJupiterAggregatorV4Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_router_jupiter_aggregator_v4";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::ROUTER_JUPITER_AGGREGATOR_V4_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"router_jupiter_aggregator_v4"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_router_jupiter_aggregator_v4".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/router/jupiter_aggregator_v6.rs // file: kb-lib/src/executor/router/jupiter_aggregator_v6.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_router_jupiter_aggregator_v6`. //! Reserved executor for `router_jupiter_aggregator_v6`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `router_jupiter_aggregator_v6` program surface.
const LEGACY_CRATE: &str = "kb_executor_router_jupiter_aggregator_v6"; #[derive(Clone, Debug, Default)]
pub struct ExRouterJupiterAggregatorV6Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExRouterJupiterAggregatorV6Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_router_jupiter_aggregator_v6";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::ROUTER_JUPITER_AGGREGATOR_V6_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"router_jupiter_aggregator_v6"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_router_jupiter_aggregator_v6".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/router/jupiter_dca.rs // file: kb-lib/src/executor/router/jupiter_dca.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_router_jupiter_dca`. //! Reserved executor for `router_jupiter_dca`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `router_jupiter_dca` program surface.
const LEGACY_CRATE: &str = "kb_executor_router_jupiter_dca"; #[derive(Clone, Debug, Default)]
pub struct ExRouterJupiterDcaExecutor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExRouterJupiterDcaExecutor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_router_jupiter_dca";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::ROUTER_JUPITER_DCA_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"router_jupiter_dca"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_router_jupiter_dca".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/router/okx_labs_v1.rs // file: kb-lib/src/executor/router/okx_labs_v1.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_router_okx_labs_v1`. //! Reserved executor for `router_okx_labs_v1`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `router_okx_labs_v1` program surface.
const LEGACY_CRATE: &str = "kb_executor_router_okx_labs_v1"; #[derive(Clone, Debug, Default)]
pub struct ExRouterOkxLabsV1Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExRouterOkxLabsV1Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_router_okx_labs_v1";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::ROUTER_OKX_LABS_V1_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"router_okx_labs_v1"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_router_okx_labs_v1".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,10 +1,49 @@
// file: kb-lib/src/executor/router/okx_labs_v2.rs // file: kb-lib/src/executor/router/okx_labs_v2.rs
// version: 1 // version: 2
//! Migration boundary for legacy crate `kb_executor_router_okx_labs_v2`. //! Reserved executor for `router_okx_labs_v2`.
/// Legacy crate name retained for migration and compatibility tracking. /// Reserved executor for the `router_okx_labs_v2` program surface.
const LEGACY_CRATE: &str = "kb_executor_router_okx_labs_v2"; #[derive(Clone, Debug, Default)]
pub struct ExRouterOkxLabsV2Executor;
/// Current porting status. impl crate::ExApiInstructionExecutor for crate::ExRouterOkxLabsV2Executor {
const MIGRATION_STATUS: &str = "source-preserved-pending-port"; fn executor_name(&self) -> &'static str {
return "kb_executor_router_okx_labs_v2";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::ROUTER_OKX_LABS_V2_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"router_okx_labs_v2"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb_executor_router_okx_labs_v2".to_string(),
instruction_count: 0,
payload_json,
});
}
}

View File

@@ -1,6 +1,8 @@
// file: kb-lib/src/executor/rwa.rs // file: kb-lib/src/executor/rwa.rs
// version: 1 // version: 2
//! `rwa` executor family. //! `rwa` executor family.
mod ondo_global_markets; mod ondo_global_markets;
/// Exposes the reserved `rwa/ondo_global_markets` executor.
pub use self::ondo_global_markets::ExRwaOndoGlobalMarketsExecutor;

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