v0.1.0-pre.016

This commit is contained in:
2026-07-24 18:19:27 +02:00
parent a818c4a60e
commit 252fe51e34
17 changed files with 1830 additions and 67 deletions

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor.rs
// version: 3
// version: 4
//! Consolidated executor modules.
@@ -22,6 +22,7 @@ mod orderbook;
mod perpetuals;
mod router;
mod rwa;
mod safety;
mod solana;
mod spl;
mod stable;
@@ -236,6 +237,14 @@ pub use self::router::ExRouterOkxLabsV1Executor;
pub use self::router::ExRouterOkxLabsV2Executor;
/// Exposes the reserved `rwa/ondo_global_markets` executor.
pub use self::rwa::ExRwaOndoGlobalMarketsExecutor;
/// Exposes the stateless execution safety checker.
pub use self::safety::ExSafetyChecker;
/// Exposes an execution safety decision.
pub use self::safety::ExSafetyDecision;
/// Exposes a complete execution safety evaluation.
pub use self::safety::ExSafetyEvaluation;
/// Exposes one execution safety violation.
pub use self::safety::ExSafetyViolation;
/// 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.
@@ -484,14 +493,28 @@ pub use self::solana::ExSolanaCoreVoteLockout;
pub use self::solana::ExSolanaCoreZkElGamalContextState;
/// Exposes the official ZK ElGamal proof kinds.
pub use self::solana::ExSolanaCoreZkElGamalProofType;
/// Exposes the stable SPL Memo add-memo operation code.
pub use self::spl::EX_SPL_MEMO_ADD_MEMO_OPERATION;
/// Exposes the SPL Memo payload bound.
pub use self::spl::EX_SPL_MEMO_MAX_MESSAGE_BYTES;
/// Exposes the SPL Memo signer bound.
pub use self::spl::EX_SPL_MEMO_MAX_SIGNERS;
/// 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.
/// Exposes the typed SPL Memo execution intent.
pub use self::spl::ExSplMemoExecutionIntent;
/// Exposes the SPL Memo executor.
pub use self::spl::ExSplMemoExecutor;
/// Exposes the exact SPL Memo generation.
pub use self::spl::ExSplMemoGeneration;
/// Exposes the typed SPL Memo operation.
pub use self::spl::ExSplMemoOperation;
/// Exposes one ordered SPL Memo signer.
pub use self::spl::ExSplMemoSigner;
/// Exposes the reserved `spl/noop` executor.
pub use self::spl::ExSplNoopExecutor;
/// Exposes the reserved `spl/single_pool` executor.
@@ -575,12 +598,16 @@ pub(crate) use self::solana::executor_solana_core_validate_seeded_address;
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;
/// Canonical SPL Memo tracing target.
pub(crate) use self::spl::EX_SPL_MEMO_TRACING_TARGET;
/// Internal SPL Memo plan builder.
pub(crate) use self::spl::executor_spl_memo_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] = [
let executors: [&dyn crate::ExApiInstructionExecutor; 102] = [
&crate::ExAdapterSaberDecimalWrapperExecutor,
&crate::ExAdminJupiterLockExecutor,
&crate::ExAdminPumpFeesExecutor,
@@ -661,7 +688,6 @@ mod reserved_executor_tests {
&crate::ExSplAccountCompressionExecutor,
&crate::ExSplAssociatedTokenAccountExecutor,
&crate::ExSplElgamalRegistryExecutor,
&crate::ExSplMemoExecutor,
&crate::ExSplNoopExecutor,
&crate::ExSplSinglePoolExecutor,
&crate::ExSplStakePoolExecutor,