// file: kb-lib/src/executor.rs // version: 3 //! Consolidated executor modules. mod adapter; mod admin; mod amm; mod api; mod bridge; mod clmm; mod cpmm; mod dlmm; mod fees; mod governance; mod launchpad; mod lending; mod lock; mod metadata; mod nft; mod orderbook; mod perpetuals; mod router; mod rwa; mod solana; mod spl; mod stable; mod staking; mod treasury; 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. pub use self::api::ExApiExecutionBlockhashPolicy; /// Exposes the exact execution capability result. pub use self::api::ExApiExecutionCapability; /// Exposes supported Solana clusters. pub use self::api::ExApiExecutionCluster; /// Exposes cluster restrictions. pub use self::api::ExApiExecutionClusterPolicy; /// Exposes the result of waiting for transaction confirmation. pub use self::api::ExApiExecutionConfirmationResult; /// Exposes transaction confirmation states. pub use self::api::ExApiExecutionConfirmationStatus; /// Exposes explicit execution cost ceilings. pub use self::api::ExApiExecutionCostLimit; /// Exposes the legacy common execution plan type. pub use self::api::ExApiExecutionPlan; /// Exposes the complete execution policy. pub use self::api::ExApiExecutionPolicy; /// Exposes the legacy common execution request type. pub use self::api::ExApiExecutionRequest; /// Exposes the result of a transaction send adapter. pub use self::api::ExApiExecutionSendResult; /// Exposes the simulation policy. pub use self::api::ExApiExecutionSimulationPolicy; /// Exposes the simulation result contract. pub use self::api::ExApiExecutionSimulationResult; /// Exposes the legacy common execution support enum. pub use self::api::ExApiExecutionSupport; /// Exposes the legacy common instruction executor trait. pub use self::api::ExApiInstructionExecutor; /// Exposes one planned instruction account. pub use self::api::ExApiPlannedAccount; /// Exposes one encoded planned instruction. pub use self::api::ExApiPlannedInstruction; /// Exposes post-execution replay diagnostics. pub use self::api::ExApiPostExecutionDiagnostic; /// Exposes post-execution validation requirements. pub use self::api::ExApiPostExecutionValidationPolicy; /// Exposes a typed execution plan. pub use self::api::ExApiPreparedExecutionPlan; /// Exposes one required signer. pub use self::api::ExApiRequiredSigner; /// Exposes the typed executor contract. pub use self::api::ExApiTypedInstructionExecutor; /// Exposes the compact JSON payload serializer. 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 Address Lookup Table close operation code. pub use self::solana::EX_SOLANA_CORE_ADDRESS_LOOKUP_TABLE_CLOSE_OPERATION; /// Exposes the Address Lookup Table create operation code. pub use self::solana::EX_SOLANA_CORE_ADDRESS_LOOKUP_TABLE_CREATE_OPERATION; /// Exposes the Address Lookup Table deactivate operation code. pub use self::solana::EX_SOLANA_CORE_ADDRESS_LOOKUP_TABLE_DEACTIVATE_OPERATION; /// Exposes the Address Lookup Table extend operation code. pub use self::solana::EX_SOLANA_CORE_ADDRESS_LOOKUP_TABLE_EXTEND_OPERATION; /// Exposes the Address Lookup Table freeze operation code. pub use self::solana::EX_SOLANA_CORE_ADDRESS_LOOKUP_TABLE_FREEZE_OPERATION; /// Exposes the Compute Budget heap-frame operation code. pub use self::solana::EX_SOLANA_CORE_COMPUTE_BUDGET_REQUEST_HEAP_FRAME_OPERATION; /// Exposes the Compute Budget loaded-account data-size operation code. pub use self::solana::EX_SOLANA_CORE_COMPUTE_BUDGET_SET_LOADED_ACCOUNTS_DATA_SIZE_LIMIT_OPERATION; /// Exposes the Compute Budget unit-limit operation code. pub use self::solana::EX_SOLANA_CORE_COMPUTE_BUDGET_SET_UNIT_LIMIT_OPERATION; /// Exposes the Compute Budget unit-price operation code. pub use self::solana::EX_SOLANA_CORE_COMPUTE_BUDGET_SET_UNIT_PRICE_OPERATION; /// Exposes the Config account creation operation code. pub use self::solana::EX_SOLANA_CORE_CONFIG_CREATE_ACCOUNT_OPERATION; /// Exposes the Config store operation code. pub use self::solana::EX_SOLANA_CORE_CONFIG_STORE_OPERATION; /// Exposes the Ed25519 inline verification operation code. pub use self::solana::EX_SOLANA_CORE_ED25519_VERIFY_INLINE_OPERATION; /// Exposes the Ed25519 offset-table verification operation code. pub use self::solana::EX_SOLANA_CORE_ED25519_VERIFY_OFFSETS_OPERATION; /// Exposes the feature activation operation code. pub use self::solana::EX_SOLANA_CORE_FEATURE_ACTIVATE_OPERATION; /// Exposes the feature pending-activation revoke operation code. pub use self::solana::EX_SOLANA_CORE_FEATURE_REVOKE_PENDING_ACTIVATION_OPERATION; /// Exposes Loader v3 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V3_CLOSE_ANY_OPERATION; /// Exposes Loader v3 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V3_CLOSE_OPERATION; /// Exposes Loader v3 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V3_CREATE_BUFFER_OPERATION; /// Exposes Loader v3 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V3_DEPLOY_WITH_MAX_PROGRAM_LEN_OPERATION; /// Exposes Loader v3 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V3_EXTEND_PROGRAM_OPERATION; /// Exposes Loader v3 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V3_SET_BUFFER_AUTHORITY_CHECKED_OPERATION; /// Exposes Loader v3 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V3_SET_BUFFER_AUTHORITY_OPERATION; /// Exposes Loader v3 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V3_SET_UPGRADE_AUTHORITY_CHECKED_OPERATION; /// Exposes Loader v3 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V3_SET_UPGRADE_AUTHORITY_OPERATION; /// Exposes Loader v3 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V3_UPGRADE_OPERATION; /// Exposes Loader v3 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V3_WRITE_OPERATION; /// Exposes Loader v4 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V4_COPY_OPERATION; /// Exposes Loader v4 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V4_CREATE_BUFFER_OPERATION; /// Exposes Loader v4 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V4_DEPLOY_FROM_SOURCE_OPERATION; /// Exposes Loader v4 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V4_DEPLOY_OPERATION; /// Exposes Loader v4 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V4_FINALIZE_OPERATION; /// Exposes Loader v4 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V4_RETRACT_OPERATION; /// Exposes Loader v4 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V4_SET_PROGRAM_LENGTH_OPERATION; /// Exposes Loader v4 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V4_TRANSFER_AUTHORITY_OPERATION; /// Exposes Loader v4 operation codes. pub use self::solana::EX_SOLANA_CORE_LOADER_V4_WRITE_OPERATION; /// Exposes every stable callable Solana core operation code. pub use self::solana::EX_SOLANA_CORE_OPERATION_CODES; /// Exposes the secp256k1 inline verification operation code. pub use self::solana::EX_SOLANA_CORE_SECP256K1_VERIFY_INLINE_OPERATION; /// Exposes the secp256k1 offset-table verification operation code. pub use self::solana::EX_SOLANA_CORE_SECP256K1_VERIFY_OFFSETS_OPERATION; /// Exposes the secp256r1 inline verification operation code. pub use self::solana::EX_SOLANA_CORE_SECP256R1_VERIFY_INLINE_OPERATION; /// Exposes the secp256r1 offset-table verification operation code. pub use self::solana::EX_SOLANA_CORE_SECP256R1_VERIFY_OFFSETS_OPERATION; /// Exposes the Slashing violation-report close operation code. pub use self::solana::EX_SOLANA_CORE_SLASHING_CLOSE_VIOLATION_REPORT_OPERATION; /// Exposes the Slashing duplicate-block proof submission operation code. pub use self::solana::EX_SOLANA_CORE_SLASHING_SUBMIT_DUPLICATE_BLOCK_PROOF_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_AUTHORIZE_CHECKED_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_AUTHORIZE_CHECKED_WITH_SEED_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_AUTHORIZE_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_AUTHORIZE_WITH_SEED_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_CREATE_ACCOUNT_AND_DELEGATE_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_CREATE_ACCOUNT_CHECKED_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_CREATE_ACCOUNT_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_CREATE_ACCOUNT_WITH_SEED_AND_DELEGATE_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_CREATE_ACCOUNT_WITH_SEED_CHECKED_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_CREATE_ACCOUNT_WITH_SEED_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_DEACTIVATE_DELINQUENT_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_DEACTIVATE_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_DELEGATE_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_GET_MINIMUM_DELEGATION_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_INITIALIZE_CHECKED_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_INITIALIZE_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_MERGE_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_MOVE_LAMPORTS_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_MOVE_STAKE_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_SET_LOCKUP_CHECKED_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_SET_LOCKUP_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_SPLIT_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_SPLIT_WITH_SEED_OPERATION; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::EX_SOLANA_CORE_STAKE_WITHDRAW_OPERATION; /// Exposes the System allocate operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_ALLOCATE_OPERATION; /// Exposes the System seeded allocate operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_ALLOCATE_WITH_SEED_OPERATION; /// Exposes the System assign operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_ASSIGN_OPERATION; /// Exposes the System seeded assign operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_ASSIGN_WITH_SEED_OPERATION; /// Exposes the System prefunded create-account operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_CREATE_ACCOUNT_ALLOW_PREFUND_OPERATION; /// Exposes the System create-account operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_CREATE_ACCOUNT_OPERATION; /// Exposes the System seeded create-account operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_CREATE_ACCOUNT_WITH_SEED_OPERATION; /// Exposes the durable nonce advance operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_NONCE_ADVANCE_OPERATION; /// Exposes the durable nonce authorize operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_NONCE_AUTHORIZE_OPERATION; /// Exposes the durable nonce account creation operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_NONCE_CREATE_OPERATION; /// Exposes the seeded durable nonce account creation operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_NONCE_CREATE_WITH_SEED_OPERATION; /// Exposes the durable nonce initialize operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_NONCE_INITIALIZE_OPERATION; /// Exposes the durable nonce upgrade operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_NONCE_UPGRADE_OPERATION; /// Exposes the durable nonce withdraw operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_NONCE_WITHDRAW_OPERATION; /// Exposes the System multi-transfer operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_TRANSFER_MANY_OPERATION; /// Exposes the System transfer operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_TRANSFER_OPERATION; /// Exposes the System seeded transfer operation code. pub use self::solana::EX_SOLANA_CORE_SYSTEM_TRANSFER_WITH_SEED_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_AUTHORIZE_CHECKED_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_AUTHORIZE_CHECKED_WITH_SEED_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_AUTHORIZE_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_AUTHORIZE_WITH_SEED_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_COMPACT_UPDATE_VOTE_STATE_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_COMPACT_UPDATE_VOTE_STATE_SWITCH_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_CREATE_ACCOUNT_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_CREATE_ACCOUNT_V2_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_CREATE_ACCOUNT_WITH_SEED_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_CREATE_ACCOUNT_WITH_SEED_V2_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_DEPOSIT_DELEGATOR_REWARDS_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_INITIALIZE_ACCOUNT_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_INITIALIZE_ACCOUNT_V2_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_SUBMIT_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_SWITCH_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_TOWER_SYNC_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_TOWER_SYNC_SWITCH_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_UPDATE_COMMISSION_BPS_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_UPDATE_COMMISSION_COLLECTOR_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_UPDATE_COMMISSION_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_UPDATE_VALIDATOR_IDENTITY_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_UPDATE_VOTE_STATE_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_UPDATE_VOTE_STATE_SWITCH_OPERATION; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::EX_SOLANA_CORE_VOTE_WITHDRAW_OPERATION; /// Exposes the ZK ElGamal context-state close operation code. pub use self::solana::EX_SOLANA_CORE_ZK_ELGAMAL_CLOSE_CONTEXT_STATE_OPERATION; /// Exposes the ZK ElGamal proof-account verification operation code. pub use self::solana::EX_SOLANA_CORE_ZK_ELGAMAL_VERIFY_FROM_ACCOUNT_OPERATION; /// Exposes the ZK ElGamal inline proof verification operation code. pub use self::solana::EX_SOLANA_CORE_ZK_ELGAMAL_VERIFY_INLINE_OPERATION; /// Exposes one Config Program key entry. pub use self::solana::ExSolanaCoreConfigKey; /// Exposes one Ed25519 verification offset record. pub use self::solana::ExSolanaCoreEd25519VerificationOffsets; /// Exposes the complete typed Solana core intent. pub use self::solana::ExSolanaCoreExecutionIntent; /// Exposes the Solana core executor. pub use self::solana::ExSolanaCoreExecutor; /// Exposes typed Solana core operation arguments. pub use self::solana::ExSolanaCoreOperation; /// Exposes one secp256k1 verification offset record. pub use self::solana::ExSolanaCoreSecp256k1VerificationOffsets; /// Exposes one secp256r1 verification offset record. pub use self::solana::ExSolanaCoreSecp256r1VerificationOffsets; /// Exposes Stake Program operation codes and the authority-role selector. pub use self::solana::ExSolanaCoreStakeAuthorizationKind; /// Exposes one recipient in a System multi-transfer. pub use self::solana::ExSolanaCoreSystemTransferRecipient; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::ExSolanaCoreVoteAuthorizationKind; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::ExSolanaCoreVoteCommissionKind; /// Exposes Vote Program operation codes and typed Vote selectors. pub use self::solana::ExSolanaCoreVoteLockout; /// Exposes optional ZK ElGamal context-state accounts. pub use self::solana::ExSolanaCoreZkElGamalContextState; /// Exposes the official ZK ElGamal proof kinds. pub use self::solana::ExSolanaCoreZkElGamalProofType; /// 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; /// Canonical tracing target for this crate. pub(crate) use self::solana::EX_SOLANA_CORE_TRACING_TARGET; /// Crate-root access to `build_prepared_plan` from `address_lookup_table`. pub(crate) use self::solana::executor_solana_core_address_lookup_table_build_prepared_plan; /// Crate-root access to `build_prepared_plan` from `builder`. pub(crate) use self::solana::executor_solana_core_builder_build_prepared_plan; /// Crate-root access to `finalize_prepared_plan` from `builder`. pub(crate) use self::solana::executor_solana_core_finalize_prepared_plan; /// Builds one typed validation error without duplicating domain-local wrappers. pub(crate) use self::solana::executor_solana_core_invalid; /// Crate-root access to `build_prepared_plan` from `loader_v3`. pub(crate) use self::solana::executor_solana_core_loader_v3_build_prepared_plan; /// Crate-root access to `build_prepared_plan` from `loader_v4`. pub(crate) use self::solana::executor_solana_core_loader_v4_build_prepared_plan; /// Crate-root access to `build_prepared_plan` from `native_admin`. pub(crate) use self::solana::executor_solana_core_native_admin_build_prepared_plan; /// Parses one canonical native program identifier. pub(crate) use self::solana::executor_solana_core_parse_native_program_id; /// Parses one model public key with the canonical execution error contract. pub(crate) use self::solana::executor_solana_core_parse_pubkey; /// Crate-root access to `build_prepared_plan` from `precompiles`. pub(crate) use self::solana::executor_solana_core_precompiles_build_prepared_plan; /// Crate-root access to `build_prepared_plan` from `slashing`. pub(crate) use self::solana::executor_solana_core_slashing_build_prepared_plan; /// Crate-root access to `build_prepared_plan` from `stake`. pub(crate) use self::solana::executor_solana_core_stake_build_prepared_plan; /// Validates that two model public keys identify distinct accounts. pub(crate) use self::solana::executor_solana_core_validate_distinct_pubkeys; /// Validates an exact byte-slice length while preserving the caller error code. pub(crate) use self::solana::executor_solana_core_validate_exact_length; /// Validates that an unsigned execution amount is strictly positive. pub(crate) use self::solana::executor_solana_core_validate_positive_u64; /// Validates one `Pubkey::create_with_seed` derivation with caller-owned error codes. pub(crate) use self::solana::executor_solana_core_validate_seeded_address; /// Crate-root access to `build_prepared_plan` from `vote`. pub(crate) use self::solana::executor_solana_core_vote_build_prepared_plan; /// Crate-root access to `build_prepared_plan` from `zk_elgamal`. pub(crate) use self::solana::executor_solana_core_zk_elgamal_build_prepared_plan; #[cfg(test)] mod reserved_executor_tests { #[test] fn every_reserved_executor_is_registered_and_builds_only_an_empty_plan() { let executors: [&dyn crate::ExApiInstructionExecutor; 103] = [ &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::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(), 103); 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")); } } }