v0.4.8-pre.004

This commit is contained in:
2026-08-05 17:46:56 +02:00
parent de1062b2d3
commit 4c13d7ac54
15 changed files with 1505 additions and 128 deletions

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder.rs
// version: 13
// version: 14
//! Consolidated decoder modules.
@@ -336,6 +336,8 @@ pub(crate) use self::metadata::DC_METADATA_MTM_VERIFY_SIZED_COLLECTION_ITEM_DISC
pub use self::metadata::DC_METADATA_SPM_BUFFER_HEADER_BYTES;
/// Exact byte length of one external-account data reference.
pub use self::metadata::DC_METADATA_SPM_EXTERNAL_DATA_BYTES;
/// Maximum Solana account-data length accepted by bounded account decoders.
pub use self::metadata::DC_METADATA_SPM_MAX_ACCOUNT_BYTES;
/// Exact fixed byte length of one Metadata account header.
pub use self::metadata::DC_METADATA_SPM_METADATA_HEADER_BYTES;
/// Exact byte length of one Solana Program Metadata seed.
@@ -388,12 +390,18 @@ pub use self::metadata::DcMetadataMtmTokenOwnedEscrowAccountSnapshot;
pub use self::metadata::DcMetadataMtmTokenOwnedEscrowAuthorityKind;
/// Canonical bounded projection of one programmable Token Record account.
pub use self::metadata::DcMetadataMtmTokenRecordAccountSnapshot;
/// Reserved `kb-lib.decoder.metadata.solana_program_metadata` decoder.
/// 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.
@@ -406,6 +414,8 @@ pub use self::metadata::DcMetadataSpmEncoding;
pub use self::metadata::DcMetadataSpmExternalData;
/// Format declared for Solana Program Metadata content.
pub use self::metadata::DcMetadataSpmFormat;
/// 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.
@@ -440,6 +450,12 @@ pub use self::metadata::decoder_metadata_metaplex_token_metadata_decode_use_auth
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 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;
/// Reserved `kb-lib.decoder.nft.metaplex_bubblegum` decoder.
pub use self::nft::DcNftMetaplexBubblegumDecoder;
/// Reserved `kb-lib.decoder.nft.tensor_cnft` decoder.

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/metadata.rs
// version: 8
// version: 9
//! `metadata` decoder family.
@@ -81,14 +81,22 @@ pub use self::metaplex_token_metadata::decoder_metadata_metaplex_token_metadata_
pub use self::solana_program_metadata::DC_METADATA_SPM_BUFFER_HEADER_BYTES;
/// Exact byte length of one external-account data reference.
pub use self::solana_program_metadata::DC_METADATA_SPM_EXTERNAL_DATA_BYTES;
/// Maximum Solana account-data length accepted by bounded account decoders.
pub use self::solana_program_metadata::DC_METADATA_SPM_MAX_ACCOUNT_BYTES;
/// Exact fixed byte length of one Metadata account header.
pub use self::solana_program_metadata::DC_METADATA_SPM_METADATA_HEADER_BYTES;
/// Exact byte length of one Solana Program Metadata seed.
pub use self::solana_program_metadata::DC_METADATA_SPM_SEED_BYTES;
/// Reserved `kb-lib.decoder.metadata.solana_program_metadata` decoder.
/// Solana Program Metadata instruction decoder; account decoders are active.
pub use self::solana_program_metadata::DcMetadataSolanaProgramMetadataDecoder;
/// Error returned while decoding a Solana Program Metadata account.
pub use self::solana_program_metadata::DcMetadataSpmAccountDecodeError;
/// Solana Program Metadata account discriminator.
pub use self::solana_program_metadata::DcMetadataSpmAccountDiscriminator;
/// Supported bounded Solana Program Metadata account projection.
pub use self::solana_program_metadata::DcMetadataSpmAccountSnapshot;
/// Bounded projection of one Solana Program Metadata Buffer account.
pub use self::solana_program_metadata::DcMetadataSpmBufferAccountSnapshot;
/// Compression declared for Solana Program Metadata content.
pub use self::solana_program_metadata::DcMetadataSpmCompression;
/// Typed Solana Program Metadata content without off-chain resolution.
@@ -101,12 +109,20 @@ pub use self::solana_program_metadata::DcMetadataSpmEncoding;
pub use self::solana_program_metadata::DcMetadataSpmExternalData;
/// Format declared for Solana Program Metadata content.
pub use self::solana_program_metadata::DcMetadataSpmFormat;
/// Bounded projection of one initialized Solana Program Metadata account.
pub use self::solana_program_metadata::DcMetadataSpmMetadataAccountSnapshot;
/// Bounded Solana Program Metadata model conversion error.
pub use self::solana_program_metadata::DcMetadataSpmModelError;
/// Official Solana Program Metadata custom error.
pub use self::solana_program_metadata::DcMetadataSpmProgramError;
/// Exact fixed-size Solana Program Metadata seed.
pub use self::solana_program_metadata::DcMetadataSpmSeed;
/// Decodes one supported Solana Program Metadata account by its discriminator.
pub use self::solana_program_metadata::decoder_metadata_solana_program_metadata_decode_account;
/// Decodes one Solana Program Metadata Buffer account.
pub use self::solana_program_metadata::decoder_metadata_solana_program_metadata_decode_buffer_account;
/// Decodes one initialized Solana Program Metadata account.
pub use self::solana_program_metadata::decoder_metadata_solana_program_metadata_decode_metadata_account;
/// Reserved `kb-lib.decoder.metadata.spl_name_service` decoder.
pub use self::spl_name_service::DcMetadataSplNameServiceDecoder;

View File

@@ -1,15 +1,32 @@
// file: kb-lib/src/decoder/metadata/solana_program_metadata.rs
// version: 2
// version: 3
//! Public Solana Program Metadata models and reserved protocol decoder.
//! Public Solana Program Metadata models, account decoders and reserved instruction decoder.
mod account;
mod constants;
mod model;
/// Error returned while decoding a Solana Program Metadata account.
pub use self::account::DcMetadataSpmAccountDecodeError;
/// Supported bounded Solana Program Metadata account projection.
pub use self::account::DcMetadataSpmAccountSnapshot;
/// Bounded projection of one Solana Program Metadata Buffer account.
pub use self::account::DcMetadataSpmBufferAccountSnapshot;
/// Bounded projection of one initialized Solana Program Metadata account.
pub use self::account::DcMetadataSpmMetadataAccountSnapshot;
/// Decodes one supported Solana Program Metadata account by its discriminator.
pub use self::account::decoder_metadata_solana_program_metadata_decode_account;
/// Decodes one Solana Program Metadata Buffer account.
pub use self::account::decoder_metadata_solana_program_metadata_decode_buffer_account;
/// Decodes one initialized Solana Program Metadata account.
pub use self::account::decoder_metadata_solana_program_metadata_decode_metadata_account;
/// Exact fixed byte length of one Buffer account header.
pub use self::constants::DC_METADATA_SPM_BUFFER_HEADER_BYTES;
/// Exact byte length of one external-account data reference.
pub use self::constants::DC_METADATA_SPM_EXTERNAL_DATA_BYTES;
/// Maximum Solana account-data length accepted by bounded account decoders.
pub use self::constants::DC_METADATA_SPM_MAX_ACCOUNT_BYTES;
/// Exact fixed byte length of one Metadata account header.
pub use self::constants::DC_METADATA_SPM_METADATA_HEADER_BYTES;
/// Exact byte length of one Solana Program Metadata seed.
@@ -35,7 +52,7 @@ pub use self::model::DcMetadataSpmProgramError;
/// Exact fixed-size metadata seed.
pub use self::model::DcMetadataSpmSeed;
/// Reserved decoder for the `metadata_solana_program_metadata` program surface.
/// Decoder reserved for Solana Program Metadata instructions; account decoding is exposed separately.
#[derive(Clone, Debug, Default)]
pub struct DcMetadataSolanaProgramMetadataDecoder;

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/metadata/solana_program_metadata/constants.rs
// version: 1
// version: 2
//! Bounded Solana Program Metadata wire constants.
@@ -11,3 +11,5 @@ pub const DC_METADATA_SPM_BUFFER_HEADER_BYTES: usize = 96;
pub const DC_METADATA_SPM_METADATA_HEADER_BYTES: usize = 96;
/// Exact byte length of one external-account data reference.
pub const DC_METADATA_SPM_EXTERNAL_DATA_BYTES: usize = 40;
/// Maximum Solana account-data length accepted by bounded account decoders.
pub const DC_METADATA_SPM_MAX_ACCOUNT_BYTES: usize = 10_485_760;

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/metadata/solana_program_metadata/model.rs
// version: 1
// version: 2
//! Public bounded models for the Solana Program Metadata wire contract.

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/lib.rs
// version: 30
// version: 31
//! Consolidated decoder, executor, materializer and shared model library.
#![warn(missing_docs)]
@@ -19,6 +19,8 @@ pub use self::decoder::DC_METADATA_MTM_METADATA_ACCOUNT_LAYOUT_AUDIT;
pub use self::decoder::DC_METADATA_SPM_BUFFER_HEADER_BYTES;
/// Exposes the exact byte length of one external-account data reference.
pub use self::decoder::DC_METADATA_SPM_EXTERNAL_DATA_BYTES;
/// Exposes the maximum account-data length accepted by bounded account decoders.
pub use self::decoder::DC_METADATA_SPM_MAX_ACCOUNT_BYTES;
/// Exposes the exact fixed byte length of one Metadata account header.
pub use self::decoder::DC_METADATA_SPM_METADATA_HEADER_BYTES;
/// Exposes the exact byte length of one Solana Program Metadata seed.
@@ -230,12 +232,18 @@ pub use self::decoder::DcMetadataMtmTokenOwnedEscrowAccountSnapshot;
pub use self::decoder::DcMetadataMtmTokenOwnedEscrowAuthorityKind;
/// Canonical bounded projection of one programmable Token Record account.
pub use self::decoder::DcMetadataMtmTokenRecordAccountSnapshot;
/// Exposes the reserved `DcMetadataSolanaProgramMetadataDecoder` implementation.
/// Exposes the Solana Program Metadata instruction decoder while account decoders are active.
pub use self::decoder::DcMetadataSolanaProgramMetadataDecoder;
/// Reserved `kb-lib.decoder.metadata.spl_name_service` decoder.
pub use self::decoder::DcMetadataSplNameServiceDecoder;
/// Error returned while decoding a Solana Program Metadata account.
pub use self::decoder::DcMetadataSpmAccountDecodeError;
/// Solana Program Metadata account discriminator.
pub use self::decoder::DcMetadataSpmAccountDiscriminator;
/// Supported bounded Solana Program Metadata account projection.
pub use self::decoder::DcMetadataSpmAccountSnapshot;
/// Bounded projection of one Solana Program Metadata Buffer account.
pub use self::decoder::DcMetadataSpmBufferAccountSnapshot;
/// Compression declared for Solana Program Metadata content.
pub use self::decoder::DcMetadataSpmCompression;
/// Typed Solana Program Metadata content without off-chain resolution.
@@ -248,6 +256,8 @@ pub use self::decoder::DcMetadataSpmEncoding;
pub use self::decoder::DcMetadataSpmExternalData;
/// Format declared for Solana Program Metadata content.
pub use self::decoder::DcMetadataSpmFormat;
/// Bounded projection of one initialized Solana Program Metadata account.
pub use self::decoder::DcMetadataSpmMetadataAccountSnapshot;
/// Bounded Solana Program Metadata model conversion error.
pub use self::decoder::DcMetadataSpmModelError;
/// Official Solana Program Metadata custom error.
@@ -382,6 +392,12 @@ pub use self::decoder::decoder_metadata_metaplex_token_metadata_decode_token_own
pub use self::decoder::decoder_metadata_metaplex_token_metadata_decode_token_record_account;
/// Decodes one Use Authority Record account.
pub use self::decoder::decoder_metadata_metaplex_token_metadata_decode_use_authority_record_account;
/// Decodes one supported Solana Program Metadata account by its discriminator.
pub use self::decoder::decoder_metadata_solana_program_metadata_decode_account;
/// Decodes one Solana Program Metadata Buffer account.
pub use self::decoder::decoder_metadata_solana_program_metadata_decode_buffer_account;
/// Decodes one initialized Solana Program Metadata account.
pub use self::decoder::decoder_metadata_solana_program_metadata_decode_metadata_account;
/// Parses one exact SPL ElGamal registry account.
pub use self::decoder::decoder_spl_elgamal_registry_parse_elgamal_registry_state;
/// Parses one Token-2022 Mint, Account, or Multisig state.