Files
khadhroony-bot3/migration/khadhroony-bot2-reference/kb_decoder_spl_token_2022/src/lib.rs
2026-07-23 16:37:12 +02:00

49 lines
2.0 KiB
Rust

// file: kb_decoder_spl_token_2022/src/lib.rs
// version: 6
//! Decoder crate for `spl_token_2022`.
#![warn(missing_docs)]
#![deny(unreachable_pub)]
#![forbid(unsafe_code)]
mod constants;
mod decoder;
pub mod state;
mod token;
/// Maximum prefix retained in diagnostics.
pub(crate) use crate::constants::DIAGNOSTIC_PREFIX_BYTES;
/// Exact top-level instruction inventory published by the resolved Token-2022 interface.
pub(crate) use crate::constants::INSTRUCTION_ENTRIES;
/// Maximum total account metas consumed by one batch.
pub(crate) use crate::constants::MAX_BATCH_ACCOUNTS;
/// Maximum decoded sub-instructions in one batch.
pub(crate) use crate::constants::MAX_BATCH_INSTRUCTIONS;
/// Maximum retained instruction payload size.
pub(crate) use crate::constants::MAX_INSTRUCTION_BYTES;
/// Maximum retained UTF-8 string size for embedded Token Metadata instructions.
pub(crate) use crate::constants::MAX_METADATA_STRING_BYTES;
/// Stable Token-2022 surface code.
pub(crate) use crate::constants::SURFACE_CODE;
/// Current decoded event contract version.
pub(crate) use crate::constants::TOKEN_EVENT_VERSION;
/// Canonical tracing target for this crate.
pub(crate) use crate::constants::TRACING_TARGET;
/// Crate-root access to `decode` from `token`.
pub(crate) use crate::token::decode;
/// Crate-root access to `entry_for_tag` from `token`.
pub(crate) use crate::token::entry_for_tag;
/// Crate-root access to `payload_tag` from `token`.
pub(crate) use crate::token::payload_tag;
/// Initial decoder implementation placeholder.
pub use crate::decoder::SplToken2022Decoder;
/// Crate-root access to `Token2022State` from `state`.
pub use crate::state::Token2022State;
/// Crate-root access to `Token2022StateKind` from `state`.
pub use crate::state::Token2022StateKind;
/// Crate-root access to `Token2022TlvEntry` from `state`.
pub use crate::state::Token2022TlvEntry;
/// Parse one Token-2022 Mint, Account, or Multisig state without interpreting extension payloads.
pub use crate::state::parse_token_2022_state;