49 lines
2.0 KiB
Rust
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;
|