// file: kb-lib/src/decoder.rs // version: 17 //! Consolidated decoder modules. mod adapter; mod amm; mod anchor; 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 storage; mod strategy; mod treasury; mod vault; mod vesting; mod wallet; mod weighted; /// Reserved `kb-lib.decoder.adapter.saber_decimal_wrapper` decoder. pub use self::adapter::DcAdapterSaberDecimalWrapperDecoder; /// Reserved `kb-lib.decoder.adapter.spl_token_wrap` decoder. pub use self::adapter::DcAdapterSplTokenWrapDecoder; /// Reserved `kb-lib.decoder.amm.aldrin_v1` decoder. pub use self::amm::DcAmmAldrinV1Decoder; /// Reserved `kb-lib.decoder.amm.aldrin_v2` decoder. pub use self::amm::DcAmmAldrinV2Decoder; /// Reserved `kb-lib.decoder.amm.alphaq` decoder. pub use self::amm::DcAmmAlphaqDecoder; /// Reserved `kb-lib.decoder.amm.believe` decoder. pub use self::amm::DcAmmBelieveDecoder; /// Reserved `kb-lib.decoder.amm.bonk_swap` decoder. pub use self::amm::DcAmmBonkSwapDecoder; /// Reserved `kb-lib.decoder.amm.fluxbeam` decoder. pub use self::amm::DcAmmFluxbeamDecoder; /// Reserved `kb-lib.decoder.amm.goon_fi` decoder. pub use self::amm::DcAmmGoonFiDecoder; /// Reserved `kb-lib.decoder.amm.goosefx_gamma` decoder. pub use self::amm::DcAmmGoosefxGammaDecoder; /// Reserved `kb-lib.decoder.amm.goosefx_v2` decoder. pub use self::amm::DcAmmGoosefxV2Decoder; /// Reserved `kb-lib.decoder.amm.guac_swap` decoder. pub use self::amm::DcAmmGuacSwapDecoder; /// Reserved `kb-lib.decoder.amm.lifinity_swap_v2` decoder. pub use self::amm::DcAmmLifinitySwapV2Decoder; /// Reserved `kb-lib.decoder.amm.metadao_v0_5` decoder. pub use self::amm::DcAmmMetadaoV05Decoder; /// Reserved `kb-lib.decoder.amm.meteora_damm_v1` decoder. pub use self::amm::DcAmmMeteoraDammV1Decoder; /// Reserved `kb-lib.decoder.amm.meteora_damm_v2` decoder. pub use self::amm::DcAmmMeteoraDammV2Decoder; /// Reserved `kb-lib.decoder.amm.obric_v2` decoder. pub use self::amm::DcAmmObricV2Decoder; /// Reserved `kb-lib.decoder.amm.one_dex` decoder. pub use self::amm::DcAmmOneDexDecoder; /// Reserved `kb-lib.decoder.amm.pump_swap` decoder. pub use self::amm::DcAmmPumpSwapDecoder; /// Reserved `kb-lib.decoder.amm.raydium_lp_v4` decoder. pub use self::amm::DcAmmRaydiumLpV4Decoder; /// Reserved `kb-lib.decoder.amm.solfi` decoder. pub use self::amm::DcAmmSolfiDecoder; /// Reserved `kb-lib.decoder.amm.solfi_v2` decoder. pub use self::amm::DcAmmSolfiV2Decoder; /// Reserved `kb-lib.decoder.amm.vertigo` decoder. pub use self::amm::DcAmmVertigoDecoder; /// Reserved `kb-lib.decoder.amm.woofi` decoder. pub use self::amm::DcAmmWoofiDecoder; /// Reserved `kb-lib.decoder.amm.zero_fi` decoder. pub use self::amm::DcAmmZeroFiDecoder; /// Reserved `kb-lib.decoder.amm.zora` decoder. pub use self::amm::DcAmmZoraDecoder; /// Reserved `kb-lib.decoder.anchor` decoder. pub use self::anchor::DcAnchorDecoder; /// Current contextual core instruction input contract version. pub use self::api::DC_API_CORE_INSTRUCTION_INPUT_CONTRACT_VERSION; /// Stable contextual decoded observation. pub use self::api::DcApiDecodedObservation; /// Machine-readable decoder coverage declaration. pub use self::api::DcApiDecoderCoverageDeclaration; /// Declared decoder coverage entry kind. pub use self::api::DcApiDecoderCoverageEntryKind; /// Structured decoder diagnostic. pub use self::api::DcApiDecoderDiagnostic; /// Complete decoder execution result. pub use self::api::DcApiDecoderExecutionResult; /// Stable decoder identity. pub use self::api::DcApiDecoderIdentity; /// Decoder terminal result status. pub use self::api::DcApiDecoderOutcomeStatus; /// Explicit decoding proof. pub use self::api::DcApiDecoderProof; /// Decoding proof category. pub use self::api::DcApiDecoderProofKind; /// Deterministic decoder recognition result. pub use self::api::DcApiDecoderRecognition; /// Exposes the decoder support level. pub use self::api::DcApiDecoderSupport; /// One statically declared decoder surface. pub use self::api::DcApiDecoderSurface; /// Initial decoder implementation placeholder for API-level tests. pub use self::api::DcApiInitialDecoder; /// Contextual instruction decoder contract. pub use self::api::DcApiInstructionDecoder; /// Exposes the common protocol decoder trait. pub use self::api::DcApiProtocolDecoder; /// Computes the deterministic contextual input hash. pub use self::api::decoder_api_contextual_input_hash; /// Returns true when a decoder declares the exact program id. pub use self::api::decoder_api_decoder_handles_program_id; /// Computes a deterministic lowercase SHA-256 hash for one JSON value. pub use self::api::decoder_api_deterministic_json_hash; /// Extracts the first eight payload bytes as hexadecimal when available. pub use self::api::decoder_api_discriminator_8_hex; /// Reserved `kb-lib.decoder.bridge.circle_cctp_token_messenger_minter` decoder. pub use self::bridge::DcBridgeCircleCctpTokenMessengerMinterDecoder; /// Reserved `kb-lib.decoder.bridge.circle_cctp_token_messenger_minter_v2` decoder. pub use self::bridge::DcBridgeCircleCctpTokenMessengerMinterV2Decoder; /// Reserved `kb-lib.decoder.bridge.layer_zero_endpoint` decoder. pub use self::bridge::DcBridgeLayerZeroEndpointDecoder; /// Reserved `kb-lib.decoder.bridge.layer_zero_executor` decoder. pub use self::bridge::DcBridgeLayerZeroExecutorDecoder; /// Reserved `kb-lib.decoder.clmm.byreal` decoder. pub use self::clmm::DcClmmByrealDecoder; /// Reserved `kb-lib.decoder.clmm.fusion` decoder. pub use self::clmm::DcClmmFusionDecoder; /// Reserved `kb-lib.decoder.clmm.orca_whirlpool` decoder. pub use self::clmm::DcClmmOrcaWhirlpoolDecoder; /// Reserved `kb-lib.decoder.clmm.pancake_swap` decoder. pub use self::clmm::DcClmmPancakeSwapDecoder; /// Reserved `kb-lib.decoder.clmm.raydium` decoder. pub use self::clmm::DcClmmRaydiumDecoder; /// Reserved `kb-lib.decoder.clmm.stabble` decoder. pub use self::clmm::DcClmmStabbleDecoder; /// Reserved `kb-lib.decoder.cpmm.raydium` decoder. pub use self::cpmm::DcCpmmRaydiumDecoder; /// Reserved `kb-lib.decoder.dlmm.meteora` decoder. pub use self::dlmm::DcDlmmMeteoraDecoder; /// Reserved `kb-lib.decoder.fees.bags_fee_share_v1` decoder. pub use self::fees::DcFeesBagsFeeShareV1Decoder; /// Reserved `kb-lib.decoder.fees.bags_fee_share_v2` decoder. pub use self::fees::DcFeesBagsFeeShareV2Decoder; /// Reserved `kb-lib.decoder.admin.pump_fees` decoder. pub use self::fees::DcFeesPumpFeesDecoder; /// Reserved `kb-lib.decoder.governance.metadao_bid_wall` decoder. pub use self::governance::DcGovernanceMetadaoBidWallDecoder; /// Reserved `kb-lib.decoder.amm.metadao_futarchy_amm` decoder. pub use self::governance::DcGovernanceMetadaoFutarchyDecoder; /// Reserved `kb-lib.decoder.governance.squads_multisig` decoder. pub use self::governance::DcGovernanceSquadsMultisigDecoder; /// Reserved `kb-lib.decoder.launchpad.boop_fun` decoder. pub use self::launchpad::DcLaunchpadBoopFunDecoder; /// Reserved `kb-lib.decoder.launchpad.metadao_ico` decoder. pub use self::launchpad::DcLaunchpadMetadaoIcoDecoder; /// Reserved `kb-lib.decoder.launchpad.meteora_dbc` decoder. pub use self::launchpad::DcLaunchpadMeteoraDbcDecoder; /// Reserved `kb-lib.decoder.launchpad.moonit` decoder. pub use self::launchpad::DcLaunchpadMoonitDecoder; /// Reserved `kb-lib.decoder.launchpad.orca_wavebreak` decoder. pub use self::launchpad::DcLaunchpadOrcaWavebreakDecoder; /// Reserved `kb-lib.decoder.launchpad.printr` decoder. pub use self::launchpad::DcLaunchpadPrintrDecoder; /// Reserved `kb-lib.decoder.launchpad.pump_fun` decoder. pub use self::launchpad::DcLaunchpadPumpFunDecoder; /// Reserved `kb-lib.decoder.launchpad.pump_pumpup_ai` decoder. pub use self::launchpad::DcLaunchpadPumpPumpupAiDecoder; /// Reserved `kb-lib.decoder.launchpad.raydium_launchlab` decoder. pub use self::launchpad::DcLaunchpadRaydiumLaunchlabDecoder; /// Reserved `kb-lib.decoder.amm.virtuals` decoder. pub use self::launchpad::DcLaunchpadVirtualsDecoder; /// Reserved `kb-lib.decoder.lending.clone` decoder. pub use self::lending::DcLendingCloneDecoder; /// Reserved `kb-lib.decoder.lending.jupiter_lend_borrow` decoder. pub use self::lending::DcLendingJupiterLendBorrowDecoder; /// Reserved `kb-lib.decoder.lending.jupiter_lend_earn` decoder. pub use self::lending::DcLendingJupiterLendEarnDecoder; /// Reserved `kb-lib.decoder.lending.jupiter_lend_flash_loan` decoder. pub use self::lending::DcLendingJupiterLendFlashLoanDecoder; /// Reserved `kb-lib.decoder.lending.jupiter_lend_liquidity` decoder. pub use self::lending::DcLendingJupiterLendLiquidityDecoder; /// Reserved `kb-lib.decoder.lending.kamino` decoder. pub use self::lending::DcLendingKaminoDecoder; /// Reserved `kb-lib.decoder.lending.marginfi_v2` decoder. pub use self::lending::DcLendingMarginfiV2Decoder; /// Reserved `kb-lib.decoder.lock.raydium_lp` decoder. pub use self::lock::DcLockRaydiumLpDecoder; /// Approve Collection Authority discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_APPROVE_COLLECTION_AUTHORITY_DISCRIMINATOR; /// Approve Use Authority discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_APPROVE_USE_AUTHORITY_DISCRIMINATOR; /// Bubblegum Set Collection Size discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_BUBBLEGUM_SET_COLLECTION_SIZE_DISCRIMINATOR; /// Burn discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_BURN_DISCRIMINATOR; /// Historical Burn Edition NFT discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_BURN_EDITION_NFT_DISCRIMINATOR; /// Historical Burn NFT discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_BURN_NFT_DISCRIMINATOR; /// Close Accounts discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_CLOSE_ACCOUNTS_DISCRIMINATOR; /// Close Escrow Account discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_CLOSE_ESCROW_ACCOUNT_DISCRIMINATOR; /// Collect discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_COLLECT_DISCRIMINATOR; /// Convert Master Edition V1 to V2 discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_CONVERT_MASTER_EDITION_V1_TO_V2_DISCRIMINATOR; /// Modern Create discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_CREATE_DISCRIMINATOR; /// Create Escrow Account discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_CREATE_ESCROW_ACCOUNT_DISCRIMINATOR; /// Historical Create Master Edition discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_CREATE_MASTER_EDITION_DISCRIMINATOR; /// Create Master Edition V3 discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_CREATE_MASTER_EDITION_V3_DISCRIMINATOR; /// Historical Create Metadata Account discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_CREATE_METADATA_ACCOUNT_DISCRIMINATOR; /// Historical Create Metadata Account V2 discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_CREATE_METADATA_ACCOUNT_V2_DISCRIMINATOR; /// Create Metadata Account V3 discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_CREATE_METADATA_ACCOUNT_V3_DISCRIMINATOR; /// Delegate discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_DELEGATE_DISCRIMINATOR; /// Deprecated Create Master Edition discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_DEPRECATED_CREATE_MASTER_EDITION_DISCRIMINATOR; /// Deprecated Create Reservation List discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_DEPRECATED_CREATE_RESERVATION_LIST_DISCRIMINATOR; /// Deprecated printing-token mint-new-edition discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_DEPRECATED_MINT_NEW_EDITION_VIA_PRINTING_TOKEN_DISCRIMINATOR; /// Deprecated Mint Printing Tokens discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_DEPRECATED_MINT_PRINTING_TOKENS_DISCRIMINATOR; /// Deprecated Mint Printing Tokens Via Token discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_DISCRIMINATOR; /// Deprecated Set Reservation List discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_DEPRECATED_SET_RESERVATION_LIST_DISCRIMINATOR; /// Number of bytes retained in malformed-wire diagnostics. pub(crate) use self::metadata::DC_METADATA_MTM_DIAGNOSTIC_PREFIX_BYTES; /// Stable event payload contract version. pub(crate) use self::metadata::DC_METADATA_MTM_EVENT_VERSION; /// Freeze Delegated Account discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_FREEZE_DELEGATED_ACCOUNT_DISCRIMINATOR; /// Current pre-release instruction inventory. pub(crate) use self::metadata::DC_METADATA_MTM_INSTRUCTION_ENTRIES; /// Lock discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_LOCK_DISCRIMINATOR; /// Maximum encoded base64 instruction payload size. pub(crate) use self::metadata::DC_METADATA_MTM_MAX_BASE64_BYTES; /// Maximum number of instruction accounts accepted by this decoder. pub(crate) use self::metadata::DC_METADATA_MTM_MAX_INSTRUCTION_ACCOUNTS; /// Maximum retained instruction payload size. pub(crate) use self::metadata::DC_METADATA_MTM_MAX_INSTRUCTION_BYTES; /// Exhaustive published Metaplex account-key inventory. pub use self::metadata::DC_METADATA_MTM_METADATA_ACCOUNT_LAYOUT_AUDIT; /// Migrate discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_MIGRATE_DISCRIMINATOR; /// Modern Mint discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_MINT_DISCRIMINATOR; /// Mint New Edition From Master Edition Via Token discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_TOKEN_DISCRIMINATOR; /// Mint New Edition From Master Edition Via Vault Proxy discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_DISCRIMINATOR; /// Modern Print discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_PRINT_DISCRIMINATOR; /// Puff Metadata discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_PUFF_METADATA_DISCRIMINATOR; /// Remove Creator Verification discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_REMOVE_CREATOR_VERIFICATION_DISCRIMINATOR; /// Resize discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_RESIZE_DISCRIMINATOR; /// Revoke Collection Authority discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_REVOKE_COLLECTION_AUTHORITY_DISCRIMINATOR; /// Revoke discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_REVOKE_DISCRIMINATOR; /// Revoke Use Authority discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_REVOKE_USE_AUTHORITY_DISCRIMINATOR; /// Set And Verify Collection discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_SET_AND_VERIFY_COLLECTION_DISCRIMINATOR; /// Set And Verify Sized Collection Item discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_SET_AND_VERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR; /// Set Collection Size discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_SET_COLLECTION_SIZE_DISCRIMINATOR; /// Set Token Standard discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_SET_TOKEN_STANDARD_DISCRIMINATOR; /// Sign Metadata discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_SIGN_METADATA_DISCRIMINATOR; /// Stable decoder surface code. pub(crate) use self::metadata::DC_METADATA_MTM_SURFACE_CODE; /// Thaw Delegated Account discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_THAW_DELEGATED_ACCOUNT_DISCRIMINATOR; /// Transfer discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_TRANSFER_DISCRIMINATOR; /// Transfer Out Of Escrow discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_TRANSFER_OUT_OF_ESCROW_DISCRIMINATOR; /// Unlock discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_UNLOCK_DISCRIMINATOR; /// Unverify Collection discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_UNVERIFY_COLLECTION_DISCRIMINATOR; /// Modern Unverify discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_UNVERIFY_DISCRIMINATOR; /// Unverify Sized Collection Item discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_UNVERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR; /// Modern Update discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_UPDATE_DISCRIMINATOR; /// Historical Update Metadata Account discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_UPDATE_METADATA_ACCOUNT_DISCRIMINATOR; /// Update Metadata Account V2 discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_UPDATE_METADATA_ACCOUNT_V2_DISCRIMINATOR; /// Update Primary Sale Happened Via Token discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_DISCRIMINATOR; /// Modern Use discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_USE_DISCRIMINATOR; /// Utilize discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_UTILIZE_DISCRIMINATOR; /// Verify Collection discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_VERIFY_COLLECTION_DISCRIMINATOR; /// Modern Verify discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_VERIFY_DISCRIMINATOR; /// Verify Sized Collection Item discriminator. pub(crate) use self::metadata::DC_METADATA_MTM_VERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR; /// Account contract for `Allocate`. pub(crate) use self::metadata::DC_METADATA_SPM_ALLOCATE_ACCOUNT_CONTRACTS; /// Exact fixed byte length of one Buffer account header. pub use self::metadata::DC_METADATA_SPM_BUFFER_HEADER_BYTES; /// Account contract for `Close`. pub(crate) use self::metadata::DC_METADATA_SPM_CLOSE_ACCOUNT_CONTRACTS; /// Surfaces handled by the Solana Program Metadata decoder. pub(crate) use self::metadata::DC_METADATA_SPM_DECODER_SURFACES; /// Maximum instruction prefix retained in hexadecimal diagnostics. pub(crate) use self::metadata::DC_METADATA_SPM_DIAGNOSTIC_PREFIX_BYTES; /// Stable event schema version for decoded Solana Program Metadata instructions. pub(crate) use self::metadata::DC_METADATA_SPM_EVENT_VERSION; /// Account contract for `Extend`. pub(crate) use self::metadata::DC_METADATA_SPM_EXTEND_ACCOUNT_CONTRACTS; /// Exact byte length of one external-account data reference. pub use self::metadata::DC_METADATA_SPM_EXTERNAL_DATA_BYTES; /// Account contract for `Initialize`. pub(crate) use self::metadata::DC_METADATA_SPM_INITIALIZE_ACCOUNT_CONTRACTS; /// Current stable instruction inventory for program releases 1.0.0 and 1.0.1. pub(crate) use self::metadata::DC_METADATA_SPM_INSTRUCTION_ENTRIES; /// Maximum Solana account-data length accepted by bounded account decoders. pub use self::metadata::DC_METADATA_SPM_MAX_ACCOUNT_BYTES; /// Maximum instruction-account count accepted by the contextual decoder. pub(crate) use self::metadata::DC_METADATA_SPM_MAX_INSTRUCTION_ACCOUNTS; /// Maximum retained instruction payload accepted by the contextual decoder. pub(crate) use self::metadata::DC_METADATA_SPM_MAX_INSTRUCTION_BYTES; /// Exact fixed byte length of one Metadata account header. pub use self::metadata::DC_METADATA_SPM_METADATA_HEADER_BYTES; /// Program ids handled by the Solana Program Metadata decoder. pub(crate) use self::metadata::DC_METADATA_SPM_PROGRAM_IDS; /// Exact byte length of one Solana Program Metadata seed. pub use self::metadata::DC_METADATA_SPM_SEED_BYTES; /// Account contract for `SetAuthority`. pub(crate) use self::metadata::DC_METADATA_SPM_SET_AUTHORITY_ACCOUNT_CONTRACTS; /// Account contract for `SetData`. pub(crate) use self::metadata::DC_METADATA_SPM_SET_DATA_ACCOUNT_CONTRACTS; /// Account contract for `SetImmutable`. pub(crate) use self::metadata::DC_METADATA_SPM_SET_IMMUTABLE_ACCOUNT_CONTRACTS; /// Stable Solana Program Metadata decoder surface code. pub(crate) use self::metadata::DC_METADATA_SPM_SURFACE_CODE; /// Account contract for `Trim`. pub(crate) use self::metadata::DC_METADATA_SPM_TRIM_ACCOUNT_CONTRACTS; /// Account contract for `Write`. pub(crate) use self::metadata::DC_METADATA_SPM_WRITE_ACCOUNT_CONTRACTS; /// Exact decoder for the Metaplex Token Metadata program. pub use self::metadata::DcMetadataMetaplexTokenMetadataDecoder; /// Canonical projection shared by Collection and Use Authority records. pub use self::metadata::DcMetadataMtmAuthorityRecordAccountSnapshot; /// Stable identity and policy of one canonical account snapshot. pub use self::metadata::DcMetadataMtmCanonicalAccountIdentity; /// Lifecycle class of one canonical account layout. pub use self::metadata::DcMetadataMtmCanonicalAccountLifecycle; /// Provenance retained for one canonical account observation. pub use self::metadata::DcMetadataMtmCanonicalAccountProvenance; /// Execution policy separated from historical materialization. pub use self::metadata::DcMetadataMtmCanonicalExecutionPolicy; /// Materialization policy for active or historical state. pub use self::metadata::DcMetadataMtmCanonicalMaterializationPolicy; /// Canonical account envelope used by materializers and replay. pub use self::metadata::DcMetadataMtmCanonicalMetadataAccountSnapshot; /// Typed canonical Metaplex account state. pub use self::metadata::DcMetadataMtmCanonicalMetadataAccountState; /// Origin of one canonical account observation. pub use self::metadata::DcMetadataMtmCanonicalObservationSource; /// Canonical projection shared by Metadata and Holder delegate records. pub use self::metadata::DcMetadataMtmDelegateRecordAccountSnapshot; /// Supported edition account layout. pub use self::metadata::DcMetadataMtmEditionAccountKind; /// Canonical bounded projection of one edition or master-edition account. pub use self::metadata::DcMetadataMtmEditionAccountSnapshot; /// Supported Edition Marker account layout. pub use self::metadata::DcMetadataMtmEditionMarkerAccountKind; /// Canonical bounded projection of one Edition Marker account. pub use self::metadata::DcMetadataMtmEditionMarkerAccountSnapshot; /// Bounded error returned while decoding a Metadata account. pub use self::metadata::DcMetadataMtmMetadataAccountDecodeError; /// One entry in the exhaustive published account-key audit. pub use self::metadata::DcMetadataMtmMetadataAccountLayoutAuditEntry; /// Canonical bounded projection of one Metadata account. pub use self::metadata::DcMetadataMtmMetadataAccountSnapshot; /// One bounded historical reservation entry. pub use self::metadata::DcMetadataMtmReservationEntrySnapshot; /// Historical Reservation List account generation. pub use self::metadata::DcMetadataMtmReservationListAccountKind; /// Canonical decode-only projection of a historical Reservation List account. pub use self::metadata::DcMetadataMtmReservationListAccountSnapshot; /// Canonical projection of one Token Owned Escrow account. pub use self::metadata::DcMetadataMtmTokenOwnedEscrowAccountSnapshot; /// Authority form used by one Token Owned Escrow account. pub use self::metadata::DcMetadataMtmTokenOwnedEscrowAuthorityKind; /// Canonical bounded projection of one programmable Token Record account. pub use self::metadata::DcMetadataMtmTokenRecordAccountSnapshot; /// Solana Program Metadata instruction decoder; account decoders are active. pub use self::metadata::DcMetadataSolanaProgramMetadataDecoder; /// Reserved `kb-lib.decoder.metadata.spl_name_service` decoder. pub use self::metadata::DcMetadataSplNameServiceDecoder; /// Error returned while decoding a Solana Program Metadata account. pub use self::metadata::DcMetadataSpmAccountDecodeError; /// Solana Program Metadata account discriminator. pub use self::metadata::DcMetadataSpmAccountDiscriminator; /// Supported bounded Solana Program Metadata account projection. pub use self::metadata::DcMetadataSpmAccountSnapshot; /// Bounded projection of one Solana Program Metadata Buffer account. pub use self::metadata::DcMetadataSpmBufferAccountSnapshot; /// Compression declared for Solana Program Metadata content. pub use self::metadata::DcMetadataSpmCompression; /// Typed Solana Program Metadata content without off-chain resolution. pub use self::metadata::DcMetadataSpmData; /// On-chain source used for Solana Program Metadata content. pub use self::metadata::DcMetadataSpmDataSource; /// Encoding declared for Solana Program Metadata content. pub use self::metadata::DcMetadataSpmEncoding; /// Fixed external-account data reference. pub use self::metadata::DcMetadataSpmExternalData; /// Format declared for Solana Program Metadata content. pub use self::metadata::DcMetadataSpmFormat; /// Expected account role and privileges for one instruction position. pub(crate) use self::metadata::DcMetadataSpmInstructionAccountContract; /// Bounded projection of one initialized Solana Program Metadata account. pub use self::metadata::DcMetadataSpmMetadataAccountSnapshot; /// Bounded Solana Program Metadata model conversion error. pub use self::metadata::DcMetadataSpmModelError; /// Official Solana Program Metadata custom error. pub use self::metadata::DcMetadataSpmProgramError; /// Exact fixed-size Solana Program Metadata seed. pub use self::metadata::DcMetadataSpmSeed; /// Canonical tracing target for this crate. pub(crate) use self::metadata::TRACING_TARGET_DECODER_METADATA_METAPLEX_TOKEN_METADATA; /// Canonical tracing target for the Solana Program Metadata decoder. pub(crate) use self::metadata::TRACING_TARGET_DECODER_METADATA_SOLANA_PROGRAM_METADATA; /// Crate-root access to `decode` from `instruction`. pub(crate) use self::metadata::decoder_metadata_metaplex_token_metadata_decode; /// Decodes one Collection Authority Record account. pub use self::metadata::decoder_metadata_metaplex_token_metadata_decode_collection_authority_record_account; /// Decodes and validates one edition or master-edition account snapshot. pub use self::metadata::decoder_metadata_metaplex_token_metadata_decode_edition_account; /// Decodes and validates one Edition Marker account snapshot. pub use self::metadata::decoder_metadata_metaplex_token_metadata_decode_edition_marker_account; /// Decodes one Holder Delegate Record account. pub use self::metadata::decoder_metadata_metaplex_token_metadata_decode_holder_delegate_record_account; /// Decodes and validates one canonical Metadata account snapshot. pub use self::metadata::decoder_metadata_metaplex_token_metadata_decode_metadata_account; /// Decodes one Metadata Delegate Record account. pub use self::metadata::decoder_metadata_metaplex_token_metadata_decode_metadata_delegate_record_account; /// Decodes one historical Reservation List V1 or V2 account. pub use self::metadata::decoder_metadata_metaplex_token_metadata_decode_reservation_list_account; /// Decodes one Token Owned Escrow account. pub use self::metadata::decoder_metadata_metaplex_token_metadata_decode_token_owned_escrow_account; /// Decodes and validates one programmable Token Record account snapshot. pub use self::metadata::decoder_metadata_metaplex_token_metadata_decode_token_record_account; /// Decodes one Use Authority Record account. pub use self::metadata::decoder_metadata_metaplex_token_metadata_decode_use_authority_record_account; /// Crate-root access to `entry_for_discriminator` from `instruction`. pub(crate) use self::metadata::decoder_metadata_metaplex_token_metadata_entry_for_discriminator; /// Crate-root access to `payload_discriminator` from `instruction`. pub(crate) use self::metadata::decoder_metadata_metaplex_token_metadata_payload_discriminator; /// Decodes one bounded Solana Program Metadata instruction. pub(crate) use self::metadata::decoder_metadata_solana_program_metadata_decode; /// Decodes one supported Solana Program Metadata account by its discriminator. pub use self::metadata::decoder_metadata_solana_program_metadata_decode_account; /// Decodes one Solana Program Metadata Buffer account. pub use self::metadata::decoder_metadata_solana_program_metadata_decode_buffer_account; /// Decodes one initialized Solana Program Metadata account. pub use self::metadata::decoder_metadata_solana_program_metadata_decode_metadata_account; /// Returns the stable entry matching one Solana Program Metadata discriminator. pub(crate) use self::metadata::decoder_metadata_solana_program_metadata_entry_for_discriminator; /// Returns the first byte of one retained Solana Program Metadata payload. pub(crate) use self::metadata::decoder_metadata_solana_program_metadata_payload_discriminator; /// Reserved `kb-lib.decoder.nft.metaplex_bubblegum` decoder. pub use self::nft::DcNftMetaplexBubblegumDecoder; /// Reserved `kb-lib.decoder.nft.tensor_cnft` decoder. pub use self::nft::DcNftTensorCnftDecoder; /// Reserved `kb-lib.decoder.orderbook.jupiter_limit_order` decoder. pub use self::orderbook::DcOrderbookJupiterLimitOrderDecoder; /// Reserved `kb-lib.decoder.orderbook.jupiter_limit_order_v2` decoder. pub use self::orderbook::DcOrderbookJupiterLimitOrderV2Decoder; /// Reserved `kb-lib.decoder.orderbook.openbook_v2` decoder. pub use self::orderbook::DcOrderbookOpenbookV2Decoder; /// Reserved `kb-lib.decoder.perpetuals.drift_v2` decoder. pub use self::perpetuals::DcPerpetualsDriftV2Decoder; /// Reserved `kb-lib.decoder.perpetuals.jupiter` decoder. pub use self::perpetuals::DcPerpetualsJupiterDecoder; /// Reserved `kb-lib.decoder.perpetuals.phoenix_eternal` decoder. pub use self::perpetuals::DcPerpetualsPhoenixEternalDecoder; /// Reserved `kb-lib.decoder.perpetuals.zeta` decoder. pub use self::perpetuals::DcPerpetualsZetaDecoder; /// Reserved `kb-lib.decoder.router.dflow_aggregator_v4` decoder. pub use self::router::DcRouterDflowAggregatorV4Decoder; /// Reserved `kb-lib.decoder.router.jupiter_aggregator_v4` decoder. pub use self::router::DcRouterJupiterAggregatorV4Decoder; /// Reserved `kb-lib.decoder.router.jupiter_aggregator_v6` decoder. pub use self::router::DcRouterJupiterAggregatorV6Decoder; /// Reserved `kb-lib.decoder.router.okx_labs_v1` decoder. pub use self::router::DcRouterOkxLabsV1Decoder; /// Reserved `kb-lib.decoder.router.okx_labs_v2` decoder. pub use self::router::DcRouterOkxLabsV2Decoder; /// Reserved `kb-lib.decoder.rwa.ondo_global_markets` decoder. pub use self::rwa::DcRwaOndoGlobalMarketsDecoder; pub(crate) use self::solana::DC_SOLANA_CORE_ADDRESS_LOOKUP_TABLE_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_BPF_LOADER_DEPRECATED_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_BPF_LOADER_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_BPF_LOADER_UPGRADEABLE_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_COMPUTE_BUDGET_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_CONFIG_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_ED25519_PUBLIC_KEY_BYTES; pub(crate) use self::solana::DC_SOLANA_CORE_ED25519_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_FEATURE_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_LOADER_V4_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_MAX_NATIVE_INSTRUCTION_PAYLOAD_BYTES; pub(crate) use self::solana::DC_SOLANA_CORE_NATIVE_EVENT_VERSION; pub(crate) use self::solana::DC_SOLANA_CORE_NATIVE_LOADER_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_PRECOMPILE_COMPONENT_PREFIX_BYTES; pub(crate) use self::solana::DC_SOLANA_CORE_PROTOCOL_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_SECP256K1_ETHEREUM_ADDRESS_BYTES; pub(crate) use self::solana::DC_SOLANA_CORE_SECP256K1_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_SECP256R1_MAX_SIGNATURES; pub(crate) use self::solana::DC_SOLANA_CORE_SECP256R1_PUBLIC_KEY_BYTES; pub(crate) use self::solana::DC_SOLANA_CORE_SECP256R1_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_SIGNATURE_BYTES; pub(crate) use self::solana::DC_SOLANA_CORE_SLASHING_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_STAKE_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_SYSTEM_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_U8_OFFSETS_BYTES; pub(crate) use self::solana::DC_SOLANA_CORE_U16_OFFSETS_BYTES; pub(crate) use self::solana::DC_SOLANA_CORE_VOTE_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_ZK_ELGAMAL_PROOF_SURFACE_CODE; pub(crate) use self::solana::DC_SOLANA_CORE_ZK_TOKEN_PROOF_SURFACE_CODE; pub(crate) use self::solana::DcSolanaCoreAccountRole; /// Runtime-native Solana decoder with phased maximal native coverage. pub use self::solana::DcSolanaCoreDecoder; pub(crate) use self::solana::DcSolanaCoreResolvedInstructionPayload; pub(crate) use self::solana::TRACING_TARGET_DECODER_SOLANA_CORE; pub(crate) use self::solana::decoder_solana_core_address_lookup_table_coverage; pub(crate) use self::solana::decoder_solana_core_address_lookup_table_decode; pub(crate) use self::solana::decoder_solana_core_address_lookup_table_recognize; pub(crate) use self::solana::decoder_solana_core_bounded_hexadecimal_prefix; pub(crate) use self::solana::decoder_solana_core_bounded_slice; pub(crate) use self::solana::decoder_solana_core_compute_budget_coverage; pub(crate) use self::solana::decoder_solana_core_compute_budget_decode; pub(crate) use self::solana::decoder_solana_core_compute_budget_recognize; pub(crate) use self::solana::decoder_solana_core_config_coverage; pub(crate) use self::solana::decoder_solana_core_config_decode; pub(crate) use self::solana::decoder_solana_core_config_recognize; pub(crate) use self::solana::decoder_solana_core_decode_instruction_data; pub(crate) use self::solana::decoder_solana_core_decoded_payload_length; pub(crate) use self::solana::decoder_solana_core_decoded_payload_sha256; pub(crate) use self::solana::decoder_solana_core_decoded_result; pub(crate) use self::solana::decoder_solana_core_failed_result; pub(crate) use self::solana::decoder_solana_core_feature_coverage; pub(crate) use self::solana::decoder_solana_core_feature_decode; pub(crate) use self::solana::decoder_solana_core_feature_recognize; pub(crate) use self::solana::decoder_solana_core_hash_bytes; pub(crate) use self::solana::decoder_solana_core_hexadecimal_prefix; pub(crate) use self::solana::decoder_solana_core_loaders_coverage; pub(crate) use self::solana::decoder_solana_core_loaders_decode; pub(crate) use self::solana::decoder_solana_core_loaders_recognize; pub(crate) use self::solana::decoder_solana_core_payload_hash; pub(crate) use self::solana::decoder_solana_core_precompiles_coverage; pub(crate) use self::solana::decoder_solana_core_precompiles_decode; pub(crate) use self::solana::decoder_solana_core_precompiles_recognize; pub(crate) use self::solana::decoder_solana_core_read_u32_le; pub(crate) use self::solana::decoder_solana_core_read_u64_le; pub(crate) use self::solana::decoder_solana_core_resolve_accounts; pub(crate) use self::solana::decoder_solana_core_resolve_u8_instruction_payload; pub(crate) use self::solana::decoder_solana_core_resolve_u16_instruction_payload; pub(crate) use self::solana::decoder_solana_core_slashing_coverage; pub(crate) use self::solana::decoder_solana_core_slashing_decode; pub(crate) use self::solana::decoder_solana_core_slashing_recognize; pub(crate) use self::solana::decoder_solana_core_stake_coverage; pub(crate) use self::solana::decoder_solana_core_stake_decode; pub(crate) use self::solana::decoder_solana_core_stake_recognize; pub(crate) use self::solana::decoder_solana_core_system_coverage; pub(crate) use self::solana::decoder_solana_core_system_decode; pub(crate) use self::solana::decoder_solana_core_system_recognize; pub(crate) use self::solana::decoder_solana_core_target_outer_instruction_index; pub(crate) use self::solana::decoder_solana_core_unsupported_result; pub(crate) use self::solana::decoder_solana_core_vote_coverage; pub(crate) use self::solana::decoder_solana_core_vote_decode; pub(crate) use self::solana::decoder_solana_core_vote_recognize; pub(crate) use self::solana::decoder_solana_core_zk_elgamal_coverage; pub(crate) use self::solana::decoder_solana_core_zk_elgamal_decode; pub(crate) use self::solana::decoder_solana_core_zk_elgamal_recognize; pub(crate) use self::solana::decoder_solana_core_zk_token_proof_coverage; pub(crate) use self::solana::decoder_solana_core_zk_token_proof_decode; pub(crate) use self::solana::decoder_solana_core_zk_token_proof_recognize; /// Current stable Associated Token Account decoded event contract version. pub(crate) use self::spl::DC_SPL_ATA_EVENT_VERSION; /// Exact Associated Token Account instructions published by the official interface. pub(crate) use self::spl::DC_SPL_ATA_INSTRUCTION_ENTRIES; /// Maximum retained account-key text length for the Associated Token Account decoder. pub(crate) use self::spl::DC_SPL_ATA_MAX_ACCOUNT_KEY_BYTES; /// Maximum retained instruction account count for the Associated Token Account decoder. pub(crate) use self::spl::DC_SPL_ATA_MAX_ACCOUNTS; /// Maximum retained semantic diagnostic count for the Associated Token Account decoder. pub(crate) use self::spl::DC_SPL_ATA_MAX_DIAGNOSTICS; /// Maximum retained Associated Token Account instruction payload size. pub(crate) use self::spl::DC_SPL_ATA_MAX_INSTRUCTION_BYTES; /// Maximum retained transaction account-key count for the Associated Token Account decoder. pub(crate) use self::spl::DC_SPL_ATA_MAX_TRANSACTION_KEYS; /// Stable protocol and surface code for the Associated Token Account program. pub(crate) use self::spl::DC_SPL_ATA_SURFACE_CODE; /// Exact byte length of one SPL ElGamal registry account. pub use self::spl::DC_SPL_ELGAMAL_REGISTRY_ACCOUNT_LEN; /// Current stable SPL ElGamal registry event contract version. pub(crate) use self::spl::DC_SPL_ELGAMAL_REGISTRY_EVENT_VERSION; /// Maximum retained SPL ElGamal registry instruction payload size. pub(crate) use self::spl::DC_SPL_ELGAMAL_REGISTRY_MAX_INSTRUCTION_BYTES; /// Stable SPL ElGamal registry surface code. pub(crate) use self::spl::DC_SPL_ELGAMAL_REGISTRY_SURFACE_CODE; /// Maximum payload prefix retained for bounded diagnostics. pub(crate) use self::spl::DC_SPL_MEMO_DIAGNOSTIC_PREFIX_BYTES; /// Current stable Memo decoded event contract version. pub(crate) use self::spl::DC_SPL_MEMO_EVENT_VERSION; /// Maximum decoded instruction data retained as a complete Memo payload. pub(crate) use self::spl::DC_SPL_MEMO_MAX_PAYLOAD_BYTES; /// Stable protocol code shared by Memo generations. pub(crate) use self::spl::DC_SPL_MEMO_PROTOCOL_CODE; /// Stable Memo v1 surface code. pub(crate) use self::spl::DC_SPL_MEMO_V1_SURFACE_CODE; /// Stable Memo v3 surface code. pub(crate) use self::spl::DC_SPL_MEMO_V3_SURFACE_CODE; /// Stable Memo v4 surface code. pub(crate) use self::spl::DC_SPL_MEMO_V4_SURFACE_CODE; /// Maximum prefix retained in bounded Token-2022 diagnostics. pub(crate) use self::spl::DC_SPL_TOKEN_2022_DIAGNOSTIC_PREFIX_BYTES; /// Current stable Token-2022 decoded event contract version. pub(crate) use self::spl::DC_SPL_TOKEN_2022_EVENT_VERSION; /// Exact top-level instruction inventory published by the resolved Token-2022 interface. pub(crate) use self::spl::DC_SPL_TOKEN_2022_INSTRUCTION_ENTRIES; /// Maximum total account metas consumed by one Token-2022 batch. pub(crate) use self::spl::DC_SPL_TOKEN_2022_MAX_BATCH_ACCOUNTS; /// Maximum decoded sub-instructions in one Token-2022 batch. pub(crate) use self::spl::DC_SPL_TOKEN_2022_MAX_BATCH_INSTRUCTIONS; /// Maximum retained Token-2022 instruction payload size. pub(crate) use self::spl::DC_SPL_TOKEN_2022_MAX_INSTRUCTION_BYTES; /// Maximum retained UTF-8 string size for embedded Token Metadata instructions. pub(crate) use self::spl::DC_SPL_TOKEN_2022_MAX_METADATA_STRING_BYTES; /// Stable Token-2022 surface code. pub(crate) use self::spl::DC_SPL_TOKEN_2022_SURFACE_CODE; /// Maximum prefix retained in bounded classic SPL Token diagnostics. pub(crate) use self::spl::DC_SPL_TOKEN_DIAGNOSTIC_PREFIX_BYTES; /// Current stable classic SPL Token decoded event contract version. pub(crate) use self::spl::DC_SPL_TOKEN_EVENT_VERSION; /// One exact classic SPL Token instruction entry published by the official interface. pub(crate) use self::spl::DC_SPL_TOKEN_INSTRUCTION_ENTRIES; /// Maximum total account metas consumed by one classic SPL Token batch. pub(crate) use self::spl::DC_SPL_TOKEN_MAX_BATCH_ACCOUNTS; /// Maximum decoded sub-instructions in one classic SPL Token batch. pub(crate) use self::spl::DC_SPL_TOKEN_MAX_BATCH_INSTRUCTIONS; /// Maximum retained classic SPL Token instruction payload size. pub(crate) use self::spl::DC_SPL_TOKEN_MAX_INSTRUCTION_BYTES; /// Stable protocol and surface code for the classic SPL Token program. pub(crate) use self::spl::DC_SPL_TOKEN_SURFACE_CODE; /// Reserved `kb-lib.decoder.spl.account_compression` decoder. pub use self::spl::DcSplAccountCompressionDecoder; /// Exact decoder for the SPL Associated Token Account program. pub use self::spl::DcSplAssociatedTokenAccountDecoder; /// One parsed SPL ElGamal registry instruction. pub(crate) use self::spl::DcSplElGamalRegistryParsedRegistryInstruction; /// Parsed SPL ElGamal public-key registry account. pub use self::spl::DcSplElGamalRegistryState; /// Exact decoder for the SPL ElGamal registry program. pub use self::spl::DcSplElgamalRegistryDecoder; /// Exact decoder for the three registered SPL Memo generations. pub use self::spl::DcSplMemoDecoder; /// Reserved `kb-lib.decoder.spl.noop` decoder. pub use self::spl::DcSplNoopDecoder; /// Reserved `kb-lib.decoder.spl.single_pool` decoder. pub use self::spl::DcSplSinglePoolDecoder; /// Reserved `kb-lib.decoder.spl.stake_pool` decoder. pub use self::spl::DcSplStakePoolDecoder; /// Exact decoder for the Token-2022 program. pub use self::spl::DcSplToken2022Decoder; /// Exact decoder for the classic SPL Token program. pub use self::spl::DcSplTokenDecoder; /// Parsed Token-2022 Mint, Account, or Multisig state. pub use self::spl::DcToken2022State; /// Exact Token-2022 base account state kind. pub use self::spl::DcToken2022StateKind; /// One exact Token-2022 TLV entry. pub use self::spl::DcToken2022TlvEntry; /// Canonical tracing target for the Associated Token Account decoder. pub(crate) use self::spl::TRACING_TARGET_DECODER_SPL_ATA; /// Canonical tracing target for the SPL ElGamal registry decoder. pub(crate) use self::spl::TRACING_TARGET_DECODER_SPL_ELGAMAL_REGISTRY; /// Canonical tracing target for the SPL Memo decoder. pub(crate) use self::spl::TRACING_TARGET_DECODER_SPL_MEMO; /// Canonical tracing target for the classic SPL Token decoder. pub(crate) use self::spl::TRACING_TARGET_DECODER_SPL_TOKEN; /// Canonical tracing target for the Token-2022 decoder. pub(crate) use self::spl::TRACING_TARGET_DECODER_SPL_TOKEN_2022; /// Decodes one bounded Associated Token Account instruction. pub(crate) use self::spl::decoder_spl_associated_token_account_decode; /// Returns the exact entry matching an Associated Token Account wire. pub(crate) use self::spl::decoder_spl_associated_token_account_entry; /// Reads one bounded Associated Token Account payload. pub(crate) use self::spl::decoder_spl_associated_token_account_payload; /// Decodes one bounded SPL ElGamal registry instruction. pub(crate) use self::spl::decoder_spl_elgamal_registry_decode; /// Decodes one bounded SPL ElGamal registry instruction payload. pub(crate) use self::spl::decoder_spl_elgamal_registry_decode_payload; /// Parses one exact SPL ElGamal registry instruction. pub(crate) use self::spl::decoder_spl_elgamal_registry_parse; /// Parses one exact SPL ElGamal registry account. pub use self::spl::decoder_spl_elgamal_registry_parse_elgamal_registry_state; /// Decodes one bounded SPL Memo instruction. pub(crate) use self::spl::decoder_spl_memo_decode; /// Decodes one bounded Token-2022 instruction. pub(crate) use self::spl::decoder_spl_token_2022_decode; /// Returns the exact entry matching one Token-2022 tag. pub(crate) use self::spl::decoder_spl_token_2022_entry_for_tag; /// Parses one Token-2022 Mint, Account, or Multisig state. pub use self::spl::decoder_spl_token_2022_parse_token_2022_state; /// Parses one exact Token Metadata interface value. pub use self::spl::decoder_spl_token_2022_parse_token_metadata_value; /// Returns the first byte of one retained Token-2022 payload. pub(crate) use self::spl::decoder_spl_token_2022_payload_tag; /// Decodes one bounded classic SPL Token instruction. pub(crate) use self::spl::decoder_spl_token_decode; /// Returns the published entry matching one classic SPL Token tag. pub(crate) use self::spl::decoder_spl_token_entry_for_tag; /// Returns the first byte of one retained classic SPL Token payload. pub(crate) use self::spl::decoder_spl_token_payload_tag; /// Reserved `kb-lib.decoder.stable.swap_hylo_exchange` decoder. pub use self::stable::DcStableSwapHyloExchangeDecoder; /// Reserved `kb-lib.decoder.stable.swap_jupiter_stable` decoder. pub use self::stable::DcStableSwapJupiterStableDecoder; /// Reserved `kb-lib.decoder.stable.swap_numeraire` decoder. pub use self::stable::DcStableSwapNumeraireDecoder; /// Reserved `kb-lib.decoder.stable.swap_stabble` decoder. pub use self::stable::DcStableSwapStabbleDecoder; /// Reserved `kb-lib.decoder.staking.jito_tip_distribution` decoder. pub use self::staking::DcStakingJitoTipDistributionDecoder; /// Reserved `kb-lib.decoder.staking.kamino_farm` decoder. pub use self::staking::DcStakingKaminoFarmDecoder; /// Reserved `kb-lib.decoder.staking.marinade_finance` decoder. pub use self::staking::DcStakingMarinadeFinanceDecoder; /// Reserved `kb-lib.decoder.staking.solayer` decoder. pub use self::staking::DcStakingSolayerDecoder; /// Reserved `kb-lib.decoder.storage.solana_record` decoder. pub use self::storage::DcStorageSolanaRecordDecoder; /// Reserved `kb-lib.decoder.router.jupiter_dca` decoder. pub use self::strategy::DcStrategyJupiterDcaDecoder; /// Reserved `kb-lib.decoder.treasury.helium_treasury_management` decoder. pub use self::treasury::DcTreasuryHeliumTreasuryManagementDecoder; /// Reserved `kb-lib.decoder.vault.carrot_defi` decoder. pub use self::vault::DcVaultCarrotDefiDecoder; /// Reserved `kb-lib.decoder.vault.hylo_stability_pool` decoder. pub use self::vault::DcVaultHyloStabilityPoolDecoder; /// Reserved `kb-lib.decoder.vault.kamino` decoder. pub use self::vault::DcVaultKaminoDecoder; /// Reserved `kb-lib.decoder.vault.kamino_v2` decoder. pub use self::vault::DcVaultKaminoV2Decoder; /// Reserved `kb-lib.decoder.vault.kamino_yvaults` decoder. pub use self::vault::DcVaultKaminoYvaultsDecoder; /// Reserved `kb-lib.decoder.vault.meteora` decoder. pub use self::vault::DcVaultMeteoraDecoder; /// Reserved `kb-lib.decoder.admin.jupiter_lock` decoder. pub use self::vesting::DcVestingJupiterLockDecoder; /// Reserved `kb-lib.decoder.vesting.streamflow` decoder. pub use self::vesting::DcVestingStreamflowDecoder; /// Reserved `kb-lib.decoder.wallet.jupiter_apepro_smart_wallet` decoder. pub use self::wallet::DcWalletJupiterApeproSmartWalletDecoder; /// Reserved `kb-lib.decoder.weighted.swap_stabble` decoder. pub use self::weighted::DcWeightedSwapStabbleDecoder; #[cfg(test)] mod reserved_decoder_tests { #[test] fn every_reserved_decoder_exposes_only_registered_program_ids() { let decoders: [&dyn crate::DcApiProtocolDecoder; 104] = [ &crate::DcAdapterSaberDecimalWrapperDecoder, &crate::DcAdapterSplTokenWrapDecoder, &crate::DcGovernanceSquadsMultisigDecoder, &crate::DcNftTensorCnftDecoder, &crate::DcPerpetualsPhoenixEternalDecoder, &crate::DcStakingJitoTipDistributionDecoder, &crate::DcStorageSolanaRecordDecoder, &crate::DcVestingJupiterLockDecoder, &crate::DcFeesPumpFeesDecoder, &crate::DcAmmAldrinV1Decoder, &crate::DcAmmAldrinV2Decoder, &crate::DcAmmAlphaqDecoder, &crate::DcAmmBelieveDecoder, &crate::DcAmmBonkSwapDecoder, &crate::DcAmmFluxbeamDecoder, &crate::DcAmmGoonFiDecoder, &crate::DcAmmGoosefxGammaDecoder, &crate::DcAmmGoosefxV2Decoder, &crate::DcAmmGuacSwapDecoder, &crate::DcAmmLifinitySwapV2Decoder, &crate::DcGovernanceMetadaoFutarchyDecoder, &crate::DcAmmMetadaoV05Decoder, &crate::DcAmmMeteoraDammV1Decoder, &crate::DcAmmMeteoraDammV2Decoder, &crate::DcAmmObricV2Decoder, &crate::DcAmmOneDexDecoder, &crate::DcAmmPumpSwapDecoder, &crate::DcAmmRaydiumLpV4Decoder, &crate::DcAmmSolfiDecoder, &crate::DcAmmSolfiV2Decoder, &crate::DcAmmVertigoDecoder, &crate::DcLaunchpadVirtualsDecoder, &crate::DcAmmWoofiDecoder, &crate::DcAmmZeroFiDecoder, &crate::DcAmmZoraDecoder, &crate::DcAnchorDecoder, &crate::DcBridgeCircleCctpTokenMessengerMinterDecoder, &crate::DcBridgeCircleCctpTokenMessengerMinterV2Decoder, &crate::DcBridgeLayerZeroEndpointDecoder, &crate::DcBridgeLayerZeroExecutorDecoder, &crate::DcClmmByrealDecoder, &crate::DcClmmFusionDecoder, &crate::DcClmmOrcaWhirlpoolDecoder, &crate::DcClmmPancakeSwapDecoder, &crate::DcClmmRaydiumDecoder, &crate::DcClmmStabbleDecoder, &crate::DcCpmmRaydiumDecoder, &crate::DcDlmmMeteoraDecoder, &crate::DcFeesBagsFeeShareV1Decoder, &crate::DcFeesBagsFeeShareV2Decoder, &crate::DcGovernanceMetadaoBidWallDecoder, &crate::DcLaunchpadBoopFunDecoder, &crate::DcLaunchpadMetadaoIcoDecoder, &crate::DcLaunchpadMeteoraDbcDecoder, &crate::DcLaunchpadMoonitDecoder, &crate::DcLaunchpadOrcaWavebreakDecoder, &crate::DcLaunchpadPrintrDecoder, &crate::DcLaunchpadPumpFunDecoder, &crate::DcLaunchpadPumpPumpupAiDecoder, &crate::DcLaunchpadRaydiumLaunchlabDecoder, &crate::DcLendingCloneDecoder, &crate::DcLendingJupiterLendBorrowDecoder, &crate::DcLendingJupiterLendEarnDecoder, &crate::DcLendingJupiterLendFlashLoanDecoder, &crate::DcLendingJupiterLendLiquidityDecoder, &crate::DcLendingKaminoDecoder, &crate::DcLendingMarginfiV2Decoder, &crate::DcLockRaydiumLpDecoder, &crate::DcMetadataSplNameServiceDecoder, &crate::DcNftMetaplexBubblegumDecoder, &crate::DcOrderbookJupiterLimitOrderDecoder, &crate::DcOrderbookJupiterLimitOrderV2Decoder, &crate::DcOrderbookOpenbookV2Decoder, &crate::DcPerpetualsDriftV2Decoder, &crate::DcPerpetualsJupiterDecoder, &crate::DcPerpetualsZetaDecoder, &crate::DcRouterDflowAggregatorV4Decoder, &crate::DcRouterJupiterAggregatorV4Decoder, &crate::DcRouterJupiterAggregatorV6Decoder, &crate::DcStrategyJupiterDcaDecoder, &crate::DcRouterOkxLabsV1Decoder, &crate::DcRouterOkxLabsV2Decoder, &crate::DcRwaOndoGlobalMarketsDecoder, &crate::DcSplAccountCompressionDecoder, &crate::DcSplNoopDecoder, &crate::DcSplSinglePoolDecoder, &crate::DcSplStakePoolDecoder, &crate::DcStableSwapHyloExchangeDecoder, &crate::DcStableSwapJupiterStableDecoder, &crate::DcStableSwapNumeraireDecoder, &crate::DcStableSwapStabbleDecoder, &crate::DcStakingKaminoFarmDecoder, &crate::DcStakingMarinadeFinanceDecoder, &crate::DcStakingSolayerDecoder, &crate::DcTreasuryHeliumTreasuryManagementDecoder, &crate::DcVaultCarrotDefiDecoder, &crate::DcVaultHyloStabilityPoolDecoder, &crate::DcVaultKaminoDecoder, &crate::DcVaultKaminoV2Decoder, &crate::DcVaultKaminoYvaultsDecoder, &crate::DcVaultMeteoraDecoder, &crate::DcVestingStreamflowDecoder, &crate::DcWalletJupiterApeproSmartWalletDecoder, &crate::DcWeightedSwapStabbleDecoder, ]; let mut names = std::collections::BTreeSet::new(); for decoder in decoders { assert!(names.insert(decoder.decoder_name())); if decoder.decoder_name() == "kb-lib.decoder.anchor" { assert!(decoder.program_ids().is_empty()); continue; } assert_eq!(decoder.program_ids().len(), 1); for program_id in decoder.program_ids() { assert!(kb_program_ids::find_registered_program_id(program_id).is_some()); let observation = crate::MdProgramObservation { signature: crate::MdSignature("signature".to_string()), slot: crate::MdSlot(1), instruction_path: crate::MdInstructionPath("0".to_string()), program_id: crate::MdProgramId((*program_id).to_string()), discriminator_8: std::option::Option::None, data_len: 0, accounts_len: 0, failed: false, }; assert_eq!( decoder.supports_observation(&observation), crate::DcApiDecoderSupport::Maybe ); let decode_result = decoder.decode_observation(&observation); assert!(decode_result.is_ok()); assert!(decode_result.is_ok_and(|events| return events.is_empty())); } } assert_eq!(names.len(), 104); } }