v0.1.0-pre.014
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: kb-lib/README.md -->
|
||||
<!-- version: 9 -->
|
||||
<!-- version: 10 -->
|
||||
|
||||
# kb-lib
|
||||
|
||||
@@ -136,4 +136,5 @@ L’appel de décodage complet utilise `DcApiInstructionDecoder::decode` après
|
||||
- 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 d’un 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 exécuteurs sont portés dans des tranches séparées.
|
||||
- Les squelettes d’exé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.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: kb-lib/src/executor.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! Consolidated executor modules.
|
||||
|
||||
@@ -31,6 +31,65 @@ mod vault;
|
||||
mod vesting;
|
||||
mod wallet;
|
||||
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.
|
||||
pub use self::api::ExApiExecutionBlockhashKind;
|
||||
/// Exposes the blockhash policy.
|
||||
@@ -81,3 +140,286 @@ pub use self::api::ExApiTypedInstructionExecutor;
|
||||
pub use self::api::executor_api_serialize_payload_json;
|
||||
/// Exposes the pretty JSON payload serializer.
|
||||
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"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// file: kb-lib/src/executor/adapter.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `adapter` executor family.
|
||||
|
||||
mod saber_decimal_wrapper;
|
||||
/// Exposes the reserved `adapter/saber_decimal_wrapper` executor.
|
||||
pub use self::saber_decimal_wrapper::ExAdapterSaberDecimalWrapperExecutor;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_adapter_saber_decimal_wrapper";
|
||||
/// Reserved executor for the `adapter_saber_decimal_wrapper` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAdapterSaberDecimalWrapperExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAdapterSaberDecimalWrapperExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
// file: kb-lib/src/executor/admin.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `admin` executor family.
|
||||
|
||||
mod jupiter_lock;
|
||||
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;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_admin_jupiter_lock";
|
||||
/// Reserved executor for the `admin_jupiter_lock` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAdminJupiterLockExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAdminJupiterLockExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_admin_pump_fees";
|
||||
/// Reserved executor for the `admin_pump_fees` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAdminPumpFeesExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAdminPumpFeesExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: kb-lib/src/executor/amm.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `amm` executor family.
|
||||
|
||||
@@ -29,3 +29,55 @@ mod virtuals;
|
||||
mod woofi;
|
||||
mod zero_fi;
|
||||
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;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_aldrin_v1";
|
||||
/// Reserved executor for the `amm_aldrin_v1` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmAldrinV1Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmAldrinV1Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_aldrin_v2";
|
||||
/// Reserved executor for the `amm_aldrin_v2` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmAldrinV2Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmAldrinV2Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_alphaq";
|
||||
/// Reserved executor for the `amm_alphaq` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmAlphaqExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmAlphaqExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_believe";
|
||||
/// Reserved executor for the `amm_believe` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmBelieveExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmBelieveExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_bonk_swap";
|
||||
/// Reserved executor for the `amm_bonk_swap` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmBonkSwapExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmBonkSwapExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_fluxbeam";
|
||||
/// Reserved executor for the `amm_fluxbeam` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmFluxbeamExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmFluxbeamExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_goon_fi";
|
||||
/// Reserved executor for the `amm_goon_fi` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmGoonFiExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmGoonFiExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_goosefx_gamma";
|
||||
/// Reserved executor for the `amm_goosefx_gamma` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmGoosefxGammaExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmGoosefxGammaExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_goosefx_v2";
|
||||
/// Reserved executor for the `amm_goosefx_v2` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmGoosefxV2Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmGoosefxV2Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_guac_swap";
|
||||
/// Reserved executor for the `amm_guac_swap` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmGuacSwapExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmGuacSwapExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_lifinity_swap_v2";
|
||||
/// Reserved executor for the `amm_lifinity_swap_v2` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmLifinitySwapV2Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmLifinitySwapV2Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_metadao_futarchy_amm";
|
||||
/// Reserved executor for the `amm_metadao_futarchy_amm` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmMetadaoFutarchyAmmExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmMetadaoFutarchyAmmExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_metadao_v0_5";
|
||||
/// Reserved executor for the `amm_metadao_v0_5` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmMetadaoV05Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmMetadaoV05Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_meteora_damm_v1";
|
||||
/// Reserved executor for the `amm_meteora_damm_v1` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmMeteoraDammV1Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmMeteoraDammV1Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_meteora_damm_v2";
|
||||
/// Reserved executor for the `amm_meteora_damm_v2` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmMeteoraDammV2Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmMeteoraDammV2Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_obric_v2";
|
||||
/// Reserved executor for the `amm_obric_v2` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmObricV2Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmObricV2Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_one_dex";
|
||||
/// Reserved executor for the `amm_one_dex` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmOneDexExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmOneDexExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_pump_swap";
|
||||
/// Reserved executor for the `amm_pump_swap` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmPumpSwapExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmPumpSwapExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_raydium_lp_v4";
|
||||
/// Reserved executor for the `amm_raydium_lp_v4` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmRaydiumLpV4Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmRaydiumLpV4Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_solfi";
|
||||
/// Reserved executor for the `amm_solfi` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmSolfiExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmSolfiExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_solfi_v2";
|
||||
/// Reserved executor for the `amm_solfi_v2` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmSolfiV2Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmSolfiV2Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_vertigo";
|
||||
/// Reserved executor for the `amm_vertigo` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmVertigoExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmVertigoExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_virtuals";
|
||||
/// Reserved executor for the `amm_virtuals` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmVirtualsExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmVirtualsExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_woofi";
|
||||
/// Reserved executor for the `amm_woofi` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmWoofiExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmWoofiExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_zero_fi";
|
||||
/// Reserved executor for the `amm_zero_fi` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmZeroFiExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmZeroFiExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_amm_zora";
|
||||
/// Reserved executor for the `amm_zora` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExAmmZoraExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExAmmZoraExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: kb-lib/src/executor/bridge.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `bridge` executor family.
|
||||
|
||||
@@ -7,3 +7,11 @@ mod circle_cctp_token_messenger_minter;
|
||||
mod circle_cctp_token_messenger_minter_v2;
|
||||
mod layer_zero_endpoint;
|
||||
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;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_bridge_circle_cctp_token_messenger_minter";
|
||||
/// Reserved executor for the `bridge_circle_cctp_token_messenger_minter` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExBridgeCircleCctpTokenMessengerMinterExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExBridgeCircleCctpTokenMessengerMinterExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_bridge_circle_cctp_token_messenger_minter_v2";
|
||||
/// Reserved executor for the `bridge_circle_cctp_token_messenger_minter_v2` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExBridgeCircleCctpTokenMessengerMinterV2Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExBridgeCircleCctpTokenMessengerMinterV2Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_bridge_layer_zero_endpoint";
|
||||
/// Reserved executor for the `bridge_layer_zero_endpoint` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExBridgeLayerZeroEndpointExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExBridgeLayerZeroEndpointExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_bridge_layer_zero_executor";
|
||||
/// Reserved executor for the `bridge_layer_zero_executor` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExBridgeLayerZeroExecutorExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExBridgeLayerZeroExecutorExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: kb-lib/src/executor/clmm.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `clmm` executor family.
|
||||
|
||||
@@ -9,3 +9,15 @@ mod orca_whirlpool;
|
||||
mod pancake_swap;
|
||||
mod raydium;
|
||||
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;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_clmm_byreal";
|
||||
/// Reserved executor for the `clmm_byreal` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExClmmByrealExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExClmmByrealExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_clmm_fusion";
|
||||
/// Reserved executor for the `clmm_fusion` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExClmmFusionExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExClmmFusionExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_clmm_orca_whirlpool";
|
||||
/// Reserved executor for the `clmm_orca_whirlpool` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExClmmOrcaWhirlpoolExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExClmmOrcaWhirlpoolExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_clmm_pancake_swap";
|
||||
/// Reserved executor for the `clmm_pancake_swap` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExClmmPancakeSwapExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExClmmPancakeSwapExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_clmm_raydium";
|
||||
/// Reserved executor for the `clmm_raydium` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExClmmRaydiumExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExClmmRaydiumExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_clmm_stabble";
|
||||
/// Reserved executor for the `clmm_stabble` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExClmmStabbleExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExClmmStabbleExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// file: kb-lib/src/executor/cpmm.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `cpmm` executor family.
|
||||
|
||||
mod raydium;
|
||||
/// Exposes the reserved `cpmm/raydium` executor.
|
||||
pub use self::raydium::ExCpmmRaydiumExecutor;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_cpmm_raydium";
|
||||
/// Reserved executor for the `cpmm_raydium` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExCpmmRaydiumExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExCpmmRaydiumExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// file: kb-lib/src/executor/dlmm.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `dlmm` executor family.
|
||||
|
||||
mod meteora;
|
||||
/// Exposes the reserved `dlmm/meteora` executor.
|
||||
pub use self::meteora::ExDlmmMeteoraExecutor;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_dlmm_meteora";
|
||||
/// Reserved executor for the `dlmm_meteora` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExDlmmMeteoraExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExDlmmMeteoraExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
// file: kb-lib/src/executor/fees.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `fees` executor family.
|
||||
|
||||
mod bags_fee_share_v1;
|
||||
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;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_fees_bags_fee_share_v1";
|
||||
/// Reserved executor for the `fees_bags_fee_share_v1` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExFeesBagsFeeShareV1Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExFeesBagsFeeShareV1Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_fees_bags_fee_share_v2";
|
||||
/// Reserved executor for the `fees_bags_fee_share_v2` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExFeesBagsFeeShareV2Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExFeesBagsFeeShareV2Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// file: kb-lib/src/executor/governance.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `governance` executor family.
|
||||
|
||||
mod metadao_bid_wall;
|
||||
/// Exposes the reserved `governance/metadao_bid_wall` executor.
|
||||
pub use self::metadao_bid_wall::ExGovernanceMetadaoBidWallExecutor;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_governance_metadao_bid_wall";
|
||||
/// Reserved executor for the `governance_metadao_bid_wall` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExGovernanceMetadaoBidWallExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExGovernanceMetadaoBidWallExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: kb-lib/src/executor/launchpad.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `launchpad` executor family.
|
||||
|
||||
@@ -12,3 +12,21 @@ mod printr;
|
||||
mod pump_fun;
|
||||
mod pump_pumpup_ai;
|
||||
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;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_launchpad_boop_fun";
|
||||
/// Reserved executor for the `launchpad_boop_fun` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLaunchpadBoopFunExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLaunchpadBoopFunExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_launchpad_metadao_ico";
|
||||
/// Reserved executor for the `launchpad_metadao_ico` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLaunchpadMetadaoIcoExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLaunchpadMetadaoIcoExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_launchpad_meteora_dbc";
|
||||
/// Reserved executor for the `launchpad_meteora_dbc` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLaunchpadMeteoraDbcExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLaunchpadMeteoraDbcExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_launchpad_moonit";
|
||||
/// Reserved executor for the `launchpad_moonit` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLaunchpadMoonitExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLaunchpadMoonitExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_launchpad_orca_wavebreak";
|
||||
/// Reserved executor for the `launchpad_orca_wavebreak` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLaunchpadOrcaWavebreakExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLaunchpadOrcaWavebreakExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_launchpad_printr";
|
||||
/// Reserved executor for the `launchpad_printr` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLaunchpadPrintrExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLaunchpadPrintrExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_launchpad_pump_fun";
|
||||
/// Reserved executor for the `launchpad_pump_fun` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLaunchpadPumpFunExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLaunchpadPumpFunExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_launchpad_pump_pumpup_ai";
|
||||
/// Reserved executor for the `launchpad_pump_pumpup_ai` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLaunchpadPumpPumpupAiExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLaunchpadPumpPumpupAiExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_launchpad_raydium_launchlab";
|
||||
/// Reserved executor for the `launchpad_raydium_launchlab` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLaunchpadRaydiumLaunchlabExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLaunchpadRaydiumLaunchlabExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: kb-lib/src/executor/lending.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `lending` executor family.
|
||||
|
||||
@@ -10,3 +10,17 @@ mod jupiter_lend_flash_loan;
|
||||
mod jupiter_lend_liquidity;
|
||||
mod kamino;
|
||||
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;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_lending_clone";
|
||||
/// Reserved executor for the `lending_clone` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLendingCloneExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLendingCloneExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_borrow";
|
||||
/// Reserved executor for the `lending_jupiter_lend_borrow` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLendingJupiterLendBorrowExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLendingJupiterLendBorrowExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_earn";
|
||||
/// Reserved executor for the `lending_jupiter_lend_earn` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLendingJupiterLendEarnExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLendingJupiterLendEarnExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_flash_loan";
|
||||
/// Reserved executor for the `lending_jupiter_lend_flash_loan` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLendingJupiterLendFlashLoanExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLendingJupiterLendFlashLoanExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_lending_jupiter_lend_liquidity";
|
||||
/// Reserved executor for the `lending_jupiter_lend_liquidity` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLendingJupiterLendLiquidityExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLendingJupiterLendLiquidityExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_lending_kamino";
|
||||
/// Reserved executor for the `lending_kamino` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLendingKaminoExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLendingKaminoExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_lending_marginfi_v2";
|
||||
/// Reserved executor for the `lending_marginfi_v2` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLendingMarginfiV2Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLendingMarginfiV2Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// file: kb-lib/src/executor/lock.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `lock` executor family.
|
||||
|
||||
mod raydium_lp;
|
||||
/// Exposes the reserved `lock/raydium_lp` executor.
|
||||
pub use self::raydium_lp::ExLockRaydiumLpExecutor;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_lock_raydium_lp";
|
||||
/// Reserved executor for the `lock_raydium_lp` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExLockRaydiumLpExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExLockRaydiumLpExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
// file: kb-lib/src/executor/metadata.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `metadata` executor family.
|
||||
|
||||
mod metaplex_token_metadata;
|
||||
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;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_metadata_metaplex_token_metadata";
|
||||
/// Reserved executor for the `metadata_metaplex_token_metadata` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExMetadataMetaplexTokenMetadataExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExMetadataMetaplexTokenMetadataExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_metadata_spl_name_service";
|
||||
/// Reserved executor for the `metadata_spl_name_service` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExMetadataSplNameServiceExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExMetadataSplNameServiceExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// file: kb-lib/src/executor/nft.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `nft` executor family.
|
||||
|
||||
mod metaplex_bubblegum;
|
||||
/// Exposes the reserved `nft/metaplex_bubblegum` executor.
|
||||
pub use self::metaplex_bubblegum::ExNftMetaplexBubblegumExecutor;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_nft_metaplex_bubblegum";
|
||||
/// Reserved executor for the `nft_metaplex_bubblegum` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExNftMetaplexBubblegumExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExNftMetaplexBubblegumExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
// file: kb-lib/src/executor/orderbook.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `orderbook` executor family.
|
||||
|
||||
mod jupiter_limit_order;
|
||||
mod jupiter_limit_order_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;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_orderbook_jupiter_limit_order";
|
||||
/// Reserved executor for the `orderbook_jupiter_limit_order` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExOrderbookJupiterLimitOrderExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExOrderbookJupiterLimitOrderExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_orderbook_jupiter_limit_order_v2";
|
||||
/// Reserved executor for the `orderbook_jupiter_limit_order_v2` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExOrderbookJupiterLimitOrderV2Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExOrderbookJupiterLimitOrderV2Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_orderbook_openbook_v2";
|
||||
/// Reserved executor for the `orderbook_openbook_v2` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExOrderbookOpenbookV2Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExOrderbookOpenbookV2Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
// file: kb-lib/src/executor/perpetuals.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `perpetuals` executor family.
|
||||
|
||||
mod drift_v2;
|
||||
mod jupiter;
|
||||
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;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_perpetuals_drift_v2";
|
||||
/// Reserved executor for the `perpetuals_drift_v2` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExPerpetualsDriftV2Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExPerpetualsDriftV2Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_perpetuals_jupiter";
|
||||
/// Reserved executor for the `perpetuals_jupiter` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExPerpetualsJupiterExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExPerpetualsJupiterExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_perpetuals_zeta";
|
||||
/// Reserved executor for the `perpetuals_zeta` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExPerpetualsZetaExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExPerpetualsZetaExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: kb-lib/src/executor/router.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `router` executor family.
|
||||
|
||||
@@ -9,3 +9,15 @@ mod jupiter_aggregator_v6;
|
||||
mod jupiter_dca;
|
||||
mod okx_labs_v1;
|
||||
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;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_router_dflow_aggregator_v4";
|
||||
/// Reserved executor for the `router_dflow_aggregator_v4` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExRouterDflowAggregatorV4Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExRouterDflowAggregatorV4Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_router_jupiter_aggregator_v4";
|
||||
/// Reserved executor for the `router_jupiter_aggregator_v4` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExRouterJupiterAggregatorV4Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExRouterJupiterAggregatorV4Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_router_jupiter_aggregator_v6";
|
||||
/// Reserved executor for the `router_jupiter_aggregator_v6` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExRouterJupiterAggregatorV6Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExRouterJupiterAggregatorV6Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_router_jupiter_dca";
|
||||
/// Reserved executor for the `router_jupiter_dca` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExRouterJupiterDcaExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExRouterJupiterDcaExecutor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_router_okx_labs_v1";
|
||||
/// Reserved executor for the `router_okx_labs_v1` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExRouterOkxLabsV1Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExRouterOkxLabsV1Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// 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.
|
||||
const LEGACY_CRATE: &str = "kb_executor_router_okx_labs_v2";
|
||||
/// Reserved executor for the `router_okx_labs_v2` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExRouterOkxLabsV2Executor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExRouterOkxLabsV2Executor {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// file: kb-lib/src/executor/rwa.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `rwa` executor family.
|
||||
|
||||
mod ondo_global_markets;
|
||||
/// Exposes the reserved `rwa/ondo_global_markets` executor.
|
||||
pub use self::ondo_global_markets::ExRwaOndoGlobalMarketsExecutor;
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
// file: kb-lib/src/executor/rwa/ondo_global_markets.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! Migration boundary for legacy crate `kb_executor_rwa_ondo_global_markets`.
|
||||
//! Reserved executor for `rwa_ondo_global_markets`.
|
||||
|
||||
/// Legacy crate name retained for migration and compatibility tracking.
|
||||
const LEGACY_CRATE: &str = "kb_executor_rwa_ondo_global_markets";
|
||||
/// Reserved executor for the `rwa_ondo_global_markets` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExRwaOndoGlobalMarketsExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExRwaOndoGlobalMarketsExecutor {
|
||||
fn executor_name(&self) -> &'static str {
|
||||
return "kb_executor_rwa_ondo_global_markets";
|
||||
}
|
||||
|
||||
fn executor_version(&self) -> &'static str {
|
||||
return env!("CARGO_PKG_VERSION");
|
||||
}
|
||||
|
||||
fn program_ids(&self) -> &'static [&'static str] {
|
||||
return &[kb_program_ids::RWA_ONDO_GLOBAL_MARKETS_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":"rwa_ondo_global_markets"}),
|
||||
) {
|
||||
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_rwa_ondo_global_markets".to_string(),
|
||||
instruction_count: 0,
|
||||
payload_json,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// file: kb-lib/src/executor/solana.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `solana` executor family.
|
||||
|
||||
mod core;
|
||||
/// Exposes the reserved `solana/core` executor.
|
||||
pub use self::core::ExSolanaCoreExecutor;
|
||||
|
||||
@@ -1,10 +1,68 @@
|
||||
// file: kb-lib/src/executor/solana/core.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! Migration boundary for legacy crate `kb_executor_solana_core`.
|
||||
//! Reserved executor for `solana_core`.
|
||||
|
||||
/// Legacy crate name retained for migration and compatibility tracking.
|
||||
const LEGACY_CRATE: &str = "kb_executor_solana_core";
|
||||
/// Reserved executor for the `solana_core` program surface.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ExSolanaCoreExecutor;
|
||||
|
||||
/// Current porting status.
|
||||
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
|
||||
impl crate::ExApiInstructionExecutor for crate::ExSolanaCoreExecutor {
|
||||
fn executor_name(&self) -> &'static str {
|
||||
return "kb_executor_solana_core";
|
||||
}
|
||||
|
||||
fn executor_version(&self) -> &'static str {
|
||||
return env!("CARGO_PKG_VERSION");
|
||||
}
|
||||
|
||||
fn program_ids(&self) -> &'static [&'static str] {
|
||||
return &[
|
||||
kb_program_ids::ADDRESS_LOOKUP_TABLE_PROGRAM_ID,
|
||||
kb_program_ids::BPF_LOADER_DEPRECATED_PROGRAM_ID,
|
||||
kb_program_ids::BPF_LOADER_PROGRAM_ID,
|
||||
kb_program_ids::BPF_LOADER_UPGRADEABLE_PROGRAM_ID,
|
||||
kb_program_ids::COMPUTE_BUDGET_PROGRAM_ID,
|
||||
kb_program_ids::CONFIG_PROGRAM_ID,
|
||||
kb_program_ids::ED25519_PROGRAM_ID,
|
||||
kb_program_ids::FEATURE_PROGRAM_ID,
|
||||
kb_program_ids::LOADER_V4_PROGRAM_ID,
|
||||
kb_program_ids::NATIVE_LOADER_PROGRAM_ID,
|
||||
kb_program_ids::SECP256K1_PROGRAM_ID,
|
||||
kb_program_ids::SECP256R1_PROGRAM_ID,
|
||||
kb_program_ids::SLASHING_PROGRAM_ID,
|
||||
kb_program_ids::STAKE_PROGRAM_ID,
|
||||
kb_program_ids::SYSTEM_PROGRAM_ID,
|
||||
kb_program_ids::VOTE_PROGRAM_ID,
|
||||
kb_program_ids::ZK_ELGAMAL_PROOF_PROGRAM_ID,
|
||||
kb_program_ids::ZK_TOKEN_PROOF_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":"solana_core"}),
|
||||
) {
|
||||
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_solana_core".to_string(),
|
||||
instruction_count: 0,
|
||||
payload_json,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: kb-lib/src/executor/spl.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! `spl` executor family.
|
||||
|
||||
@@ -12,3 +12,21 @@ mod single_pool;
|
||||
mod stake_pool;
|
||||
mod token;
|
||||
mod token2022;
|
||||
/// Exposes the reserved `spl/account_compression` executor.
|
||||
pub use self::account_compression::ExSplAccountCompressionExecutor;
|
||||
/// Exposes the reserved `spl/associated_token_account` executor.
|
||||
pub use self::associated_token_account::ExSplAssociatedTokenAccountExecutor;
|
||||
/// Exposes the reserved `spl/elgamal_registry` executor.
|
||||
pub use self::elgamal_registry::ExSplElgamalRegistryExecutor;
|
||||
/// Exposes the reserved `spl/memo` executor.
|
||||
pub use self::memo::ExSplMemoExecutor;
|
||||
/// Exposes the reserved `spl/noop` executor.
|
||||
pub use self::noop::ExSplNoopExecutor;
|
||||
/// Exposes the reserved `spl/single_pool` executor.
|
||||
pub use self::single_pool::ExSplSinglePoolExecutor;
|
||||
/// Exposes the reserved `spl/stake_pool` executor.
|
||||
pub use self::stake_pool::ExSplStakePoolExecutor;
|
||||
/// Exposes the reserved `spl/token` executor.
|
||||
pub use self::token::ExSplTokenExecutor;
|
||||
/// Exposes the reserved `spl/token2022` executor.
|
||||
pub use self::token2022::ExSplToken2022Executor;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user