v0.1.0-pre.021

This commit is contained in:
2026-07-24 22:52:37 +02:00
parent 4190b2c0ce
commit 34f96582bc
14 changed files with 2317 additions and 88 deletions

View File

@@ -511,6 +511,56 @@ pub use self::spl::EX_SPL_MEMO_ADD_MEMO_OPERATION;
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 `EX_SPL_TOKEN_AMOUNT_TO_UI_AMOUNT_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_AMOUNT_TO_UI_AMOUNT_OPERATION;
/// Exposes `EX_SPL_TOKEN_APPROVE_CHECKED_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_APPROVE_CHECKED_OPERATION;
/// Exposes `EX_SPL_TOKEN_APPROVE_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_APPROVE_OPERATION;
/// Exposes `EX_SPL_TOKEN_BATCH_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_BATCH_OPERATION;
/// Exposes `EX_SPL_TOKEN_BURN_CHECKED_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_BURN_CHECKED_OPERATION;
/// Exposes `EX_SPL_TOKEN_BURN_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_BURN_OPERATION;
/// Exposes `EX_SPL_TOKEN_CLOSE_ACCOUNT_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_CLOSE_ACCOUNT_OPERATION;
/// Exposes `EX_SPL_TOKEN_FREEZE_ACCOUNT_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_FREEZE_ACCOUNT_OPERATION;
/// Exposes `EX_SPL_TOKEN_GET_ACCOUNT_DATA_SIZE_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_GET_ACCOUNT_DATA_SIZE_OPERATION;
/// Exposes `EX_SPL_TOKEN_INITIALIZE_ACCOUNT_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_INITIALIZE_ACCOUNT_OPERATION;
/// Exposes `EX_SPL_TOKEN_INITIALIZE_IMMUTABLE_OWNER_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_INITIALIZE_IMMUTABLE_OWNER_OPERATION;
/// Exposes `EX_SPL_TOKEN_INITIALIZE_MINT_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_INITIALIZE_MINT_OPERATION;
/// Exposes `EX_SPL_TOKEN_INITIALIZE_MULTISIG_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_INITIALIZE_MULTISIG_OPERATION;
/// Exposes `EX_SPL_TOKEN_MINT_TO_CHECKED_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_MINT_TO_CHECKED_OPERATION;
/// Exposes `EX_SPL_TOKEN_MINT_TO_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_MINT_TO_OPERATION;
/// Exposes `EX_SPL_TOKEN_REVOKE_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_REVOKE_OPERATION;
/// Exposes `EX_SPL_TOKEN_SET_AUTHORITY_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_SET_AUTHORITY_OPERATION;
/// Exposes `EX_SPL_TOKEN_SUPPORTED_OPERATION_CODES`.
pub use self::spl::EX_SPL_TOKEN_SUPPORTED_OPERATION_CODES;
/// Exposes `EX_SPL_TOKEN_SYNC_NATIVE_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_SYNC_NATIVE_OPERATION;
/// Exposes `EX_SPL_TOKEN_THAW_ACCOUNT_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_THAW_ACCOUNT_OPERATION;
/// Exposes `EX_SPL_TOKEN_TRANSFER_CHECKED_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_TRANSFER_CHECKED_OPERATION;
/// Exposes `EX_SPL_TOKEN_TRANSFER_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_TRANSFER_OPERATION;
/// Exposes `EX_SPL_TOKEN_UI_AMOUNT_TO_AMOUNT_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_UI_AMOUNT_TO_AMOUNT_OPERATION;
/// Exposes `EX_SPL_TOKEN_UNWRAP_LAMPORTS_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_UNWRAP_LAMPORTS_OPERATION;
/// Exposes `EX_SPL_TOKEN_WITHDRAW_EXCESS_LAMPORTS_OPERATION`.
pub use self::spl::EX_SPL_TOKEN_WITHDRAW_EXCESS_LAMPORTS_OPERATION;
/// Exposes `EX_SPL_TOKEN2022_AMOUNT_TO_UI_AMOUNT_OPERATION`.
pub use self::spl::EX_SPL_TOKEN2022_AMOUNT_TO_UI_AMOUNT_OPERATION;
/// Exposes `EX_SPL_TOKEN2022_APPLY_PENDING_CONFIDENTIAL_BALANCE_OPERATION`.
@@ -721,6 +771,18 @@ pub use self::spl::ExSplAssociatedTokenAccountExecutor;
pub use self::spl::ExSplAssociatedTokenAccountOperation;
/// Exposes the exact Token Program used by ATA derivation.
pub use self::spl::ExSplAssociatedTokenProgram;
/// Exposes `ExSplClassicTokenAmount`.
pub use self::spl::ExSplClassicTokenAmount;
/// Exposes `ExSplClassicTokenAuthority`.
pub use self::spl::ExSplClassicTokenAuthority;
/// Exposes `ExSplClassicTokenAuthorityType`.
pub use self::spl::ExSplClassicTokenAuthorityType;
/// Exposes `ExSplClassicTokenExecutionIntent`.
pub use self::spl::ExSplClassicTokenExecutionIntent;
/// Exposes `ExSplClassicTokenOperation`.
pub use self::spl::ExSplClassicTokenOperation;
/// Exposes `ExSplClassicTokenSingleOperation`.
pub use self::spl::ExSplClassicTokenSingleOperation;
/// Exposes the typed SPL ElGamal registry execution intent.
pub use self::spl::ExSplElgamalRegistryExecutionIntent;
/// Exposes the typed SPL ElGamal registry executor.
@@ -860,6 +922,14 @@ 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;
/// Crate-root access to `EX_SPL_TOKEN_MAX_BATCH_ACCOUNTS`.
pub(crate) use self::spl::EX_SPL_TOKEN_MAX_BATCH_ACCOUNTS;
/// Crate-root access to `EX_SPL_TOKEN_MAX_BATCH_INSTRUCTIONS`.
pub(crate) use self::spl::EX_SPL_TOKEN_MAX_BATCH_INSTRUCTIONS;
/// Crate-root access to `EX_SPL_TOKEN_MAX_MULTISIG_SIGNERS`.
pub(crate) use self::spl::EX_SPL_TOKEN_MAX_MULTISIG_SIGNERS;
/// Crate-root access to `EX_SPL_TOKEN_MAX_UI_AMOUNT_BYTES`.
pub(crate) use self::spl::EX_SPL_TOKEN_MAX_UI_AMOUNT_BYTES;
/// Maximum ordered multisig signer occurrences for SPL Token-2022.
pub(crate) use self::spl::EX_SPL_TOKEN2022_MAX_MULTISIG_SIGNERS;
/// Maximum transfer-fee source account count for SPL Token-2022.
@@ -872,6 +942,8 @@ pub(crate) use self::spl::TRACING_TARGET_EXECUTOR_SPL_ATA;
pub(crate) use self::spl::TRACING_TARGET_EXECUTOR_SPL_ELGAMAL_REGISTRY;
/// Canonical SPL Memo tracing target.
pub(crate) use self::spl::TRACING_TARGET_EXECUTOR_SPL_MEMO;
/// Crate-root access to `TRACING_TARGET_EXECUTOR_SPL_TOKEN`.
pub(crate) use self::spl::TRACING_TARGET_EXECUTOR_SPL_TOKEN;
/// Canonical SPL Token-2022 tracing target.
pub(crate) use self::spl::TRACING_TARGET_EXECUTOR_SPL_TOKEN2022;
/// Internal SPL ATA plan builder.
@@ -880,6 +952,8 @@ pub(crate) use self::spl::executor_spl_ata_build_prepared_plan;
pub(crate) use self::spl::executor_spl_elgamal_registry_build_prepared_plan;
/// Internal SPL Memo plan builder.
pub(crate) use self::spl::executor_spl_memo_build_prepared_plan;
/// Crate-root access to `executor_spl_token_build_prepared_plan`.
pub(crate) use self::spl::executor_spl_token_build_prepared_plan;
/// Internal SPL Token-2022 prepared-plan builder.
pub(crate) use self::spl::executor_spl_token2022_build_prepared_plan;
@@ -887,7 +961,7 @@ pub(crate) use self::spl::executor_spl_token2022_build_prepared_plan;
mod reserved_executor_tests {
#[test]
fn every_reserved_executor_is_registered_and_builds_only_an_empty_plan() {
let executors: [&dyn crate::ExApiInstructionExecutor; 99] = [
let executors: [&dyn crate::ExApiInstructionExecutor; 98] = [
&crate::ExAdapterSaberDecimalWrapperExecutor,
&crate::ExAdminJupiterLockExecutor,
&crate::ExAdminPumpFeesExecutor,
@@ -969,7 +1043,6 @@ mod reserved_executor_tests {
&crate::ExSplNoopExecutor,
&crate::ExSplSinglePoolExecutor,
&crate::ExSplStakePoolExecutor,
&crate::ExSplTokenExecutor,
&crate::ExStableSwapHyloExchangeExecutor,
&crate::ExStableSwapJupiterStableExecutor,
&crate::ExStableSwapNumeraireExecutor,
@@ -988,7 +1061,7 @@ mod reserved_executor_tests {
&crate::ExWalletJupiterApeproSmartWalletExecutor,
&crate::ExWeightedSwapStabbleExecutor,
];
assert_eq!(executors.len(), 99);
assert_eq!(executors.len(), 98);
for executor in executors {
assert!(!executor.program_ids().is_empty());
for program_id in executor.program_ids() {