v0.1.0-pre.020

This commit is contained in:
2026-07-24 22:01:07 +02:00
parent fa2d9d8ecd
commit 4190b2c0ce
84 changed files with 3314 additions and 274 deletions

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder.rs
// version: 8
// version: 9
//! Consolidated decoder modules.
@@ -466,8 +466,6 @@ pub(crate) use self::metadata::DC_METADATA_MTM_SIGN_METADATA_DISCRIMINATOR;
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;
/// Canonical tracing target for this crate.
pub(crate) use self::metadata::DC_METADATA_MTM_TRACING_TARGET;
/// Transfer discriminator.
pub(crate) use self::metadata::DC_METADATA_MTM_TRANSFER_DISCRIMINATOR;
/// Transfer Out Of Escrow discriminator.
@@ -498,6 +496,8 @@ pub(crate) use self::metadata::DC_METADATA_MTM_VERIFY_COLLECTION_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;
/// Canonical tracing target for this crate.
pub(crate) use self::metadata::TRACING_TARGET_DECODER_METADATA_METAPLEX_TOKEN_METADATA;
/// Crate-root access to `decode` from `instruction`.
pub(crate) use self::metadata::decoder_metadata_metaplex_token_metadata_decode;
/// Crate-root access to `entry_for_discriminator` from `instruction`.
@@ -528,7 +528,6 @@ 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_TRACING_TARGET;
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;
@@ -536,6 +535,7 @@ 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;
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;
@@ -605,16 +605,12 @@ pub(crate) use self::spl::DC_SPL_ATA_MAX_INSTRUCTION_BYTES;
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;
/// Canonical tracing target for the Associated Token Account decoder.
pub(crate) use self::spl::DC_SPL_ATA_TRACING_TARGET;
/// 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;
/// Canonical tracing target for the SPL ElGamal registry decoder.
pub(crate) use self::spl::DC_SPL_ELGAMAL_REGISTRY_TRACING_TARGET;
/// 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.
@@ -623,8 +619,6 @@ pub(crate) use self::spl::DC_SPL_MEMO_EVENT_VERSION;
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;
/// Canonical tracing target for the SPL Memo decoder.
pub(crate) use self::spl::DC_SPL_MEMO_TRACING_TARGET;
/// Stable Memo v1 surface code.
pub(crate) use self::spl::DC_SPL_MEMO_V1_SURFACE_CODE;
/// Stable Memo v3 surface code.
@@ -645,8 +639,6 @@ pub(crate) use self::spl::DC_SPL_TOKEN_MAX_BATCH_INSTRUCTIONS;
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;
/// Canonical tracing target for the classic SPL Token decoder.
pub(crate) use self::spl::DC_SPL_TOKEN_TRACING_TARGET;
/// Maximum prefix retained in bounded Token-2022 diagnostics.
pub(crate) use self::spl::DC_SPL_TOKEN2022_DIAGNOSTIC_PREFIX_BYTES;
/// Current stable Token-2022 decoded event contract version.
@@ -663,10 +655,18 @@ pub(crate) use self::spl::DC_SPL_TOKEN2022_MAX_INSTRUCTION_BYTES;
pub(crate) use self::spl::DC_SPL_TOKEN2022_MAX_METADATA_STRING_BYTES;
/// Stable Token-2022 surface code.
pub(crate) use self::spl::DC_SPL_TOKEN2022_SURFACE_CODE;
/// Canonical tracing target for the Token-2022 decoder.
pub(crate) use self::spl::DC_SPL_TOKEN2022_TRACING_TARGET;
/// One parsed SPL ElGamal registry instruction.
pub(crate) use self::spl::DcSplElGamalRegistryParsedRegistryInstruction;
/// 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_TOKEN2022;
/// 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.

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/metadata.rs
// version: 4
// version: 5
//! `metadata` decoder family.
@@ -179,8 +179,6 @@ pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_SIGN_METADATA_DISC
pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_SURFACE_CODE;
/// Thaw Delegated Account discriminator.
pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_THAW_DELEGATED_ACCOUNT_DISCRIMINATOR;
/// Canonical tracing target for this crate.
pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_TRACING_TARGET;
/// Transfer discriminator.
pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_TRANSFER_DISCRIMINATOR;
/// Transfer Out Of Escrow discriminator.
@@ -211,6 +209,8 @@ pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_VERIFY_COLLECTION_
pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_VERIFY_DISCRIMINATOR;
/// Verify Sized Collection Item discriminator.
pub(crate) use self::metaplex_token_metadata::DC_METADATA_MTM_VERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR;
/// Canonical tracing target for this crate.
pub(crate) use self::metaplex_token_metadata::TRACING_TARGET_DECODER_METADATA_METAPLEX_TOKEN_METADATA;
/// Crate-root access to `decode` from `instruction`.
pub(crate) use self::metaplex_token_metadata::decoder_metadata_metaplex_token_metadata_decode;
/// Crate-root access to `entry_for_discriminator` from `instruction`.

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/metadata/metaplex_token_metadata.rs
// version: 3
// version: 4
//! Contextual instruction and bounded account decoder for Metaplex Token Metadata.
@@ -180,8 +180,6 @@ pub(crate) use self::constants::DC_METADATA_MTM_SIGN_METADATA_DISCRIMINATOR;
pub(crate) use self::constants::DC_METADATA_MTM_SURFACE_CODE;
/// Thaw Delegated Account discriminator.
pub(crate) use self::constants::DC_METADATA_MTM_THAW_DELEGATED_ACCOUNT_DISCRIMINATOR;
/// Canonical tracing target for this crate.
pub(crate) use self::constants::DC_METADATA_MTM_TRACING_TARGET;
/// Transfer discriminator.
pub(crate) use self::constants::DC_METADATA_MTM_TRANSFER_DISCRIMINATOR;
/// Transfer Out Of Escrow discriminator.
@@ -212,6 +210,8 @@ pub(crate) use self::constants::DC_METADATA_MTM_VERIFY_COLLECTION_DISCRIMINATOR;
pub(crate) use self::constants::DC_METADATA_MTM_VERIFY_DISCRIMINATOR;
/// Verify Sized Collection Item discriminator.
pub(crate) use self::constants::DC_METADATA_MTM_VERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR;
/// Canonical tracing target for this crate.
pub(crate) use self::constants::TRACING_TARGET_DECODER_METADATA_METAPLEX_TOKEN_METADATA;
/// Crate-root access to `decode` from `instruction`.
pub(crate) use self::instruction::decoder_metadata_metaplex_token_metadata_decode;
/// Crate-root access to `entry_for_discriminator` from `instruction`.

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/metadata/metaplex_token_metadata/constants.rs
// version: 29
// version: 30
//! Internal constants for Metaplex Token Metadata decoding.
@@ -324,5 +324,5 @@ pub(crate) const DC_METADATA_MTM_INSTRUCTION_ENTRIES: &[(u8, &str, bool)] = &[
];
/// Canonical tracing target for this decoder.
pub(crate) const DC_METADATA_MTM_TRACING_TARGET: &str =
pub(crate) const TRACING_TARGET_DECODER_METADATA_METAPLEX_TOKEN_METADATA: &str =
"kb-lib.decoder.metadata.metaplex_token_metadata";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/metadata/metaplex_token_metadata/decoder.rs
// version: 28
// version: 29
//! Exact contextual dispatch for Metaplex Token Metadata.
@@ -112,7 +112,7 @@ impl crate::DcApiInstructionDecoder for crate::DcMetadataMetaplexTokenMetadataDe
| crate::DcApiDecoderOutcomeStatus::Unsupported
) {
tracing::error!(
target: crate::DC_METADATA_MTM_TRACING_TARGET,
target: crate::TRACING_TARGET_DECODER_METADATA_METAPLEX_TOKEN_METADATA,
action = "decode_failure",
signature = %input.signature,
slot = input.slot,
@@ -127,7 +127,7 @@ impl crate::DcApiInstructionDecoder for crate::DcMetadataMetaplexTokenMetadataDe
);
}
tracing::debug!(
target: crate::DC_METADATA_MTM_TRACING_TARGET,
target: crate::TRACING_TARGET_DECODER_METADATA_METAPLEX_TOKEN_METADATA,
action = "decode",
signature = %input.signature,
instruction_path = %input.instruction_path,
@@ -498,7 +498,7 @@ mod tests {
&[kb_program_ids::METADATA_METAPLEX_TOKEN_METADATA_PROGRAM_ID]
);
assert_eq!(
crate::DC_METADATA_MTM_TRACING_TARGET,
crate::TRACING_TARGET_DECODER_METADATA_METAPLEX_TOKEN_METADATA,
"kb-lib.decoder.metadata.metaplex_token_metadata"
);
assert_eq!(crate::DcApiInstructionDecoder::coverage(&decoder).len(), 58);

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/solana.rs
// version: 4
// version: 5
//! `solana` decoder family.
@@ -32,7 +32,6 @@ pub(crate) use self::core::DC_SOLANA_CORE_SIGNATURE_BYTES;
pub(crate) use self::core::DC_SOLANA_CORE_SLASHING_SURFACE_CODE;
pub(crate) use self::core::DC_SOLANA_CORE_STAKE_SURFACE_CODE;
pub(crate) use self::core::DC_SOLANA_CORE_SYSTEM_SURFACE_CODE;
pub(crate) use self::core::DC_SOLANA_CORE_TRACING_TARGET;
pub(crate) use self::core::DC_SOLANA_CORE_U8_OFFSETS_BYTES;
pub(crate) use self::core::DC_SOLANA_CORE_U16_OFFSETS_BYTES;
pub(crate) use self::core::DC_SOLANA_CORE_VOTE_SURFACE_CODE;
@@ -40,6 +39,7 @@ pub(crate) use self::core::DC_SOLANA_CORE_ZK_ELGAMAL_PROOF_SURFACE_CODE;
pub(crate) use self::core::DC_SOLANA_CORE_ZK_TOKEN_PROOF_SURFACE_CODE;
pub(crate) use self::core::DcSolanaCoreAccountRole;
pub(crate) use self::core::DcSolanaCoreResolvedInstructionPayload;
pub(crate) use self::core::TRACING_TARGET_DECODER_SOLANA_CORE;
pub(crate) use self::core::decoder_solana_core_address_lookup_table_coverage;
pub(crate) use self::core::decoder_solana_core_address_lookup_table_decode;
pub(crate) use self::core::decoder_solana_core_address_lookup_table_recognize;

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/solana/core.rs
// version: 18
// version: 19
//! Solana Core decoder component.
@@ -94,8 +94,6 @@ pub(crate) use self::constants::DC_SOLANA_CORE_SLASHING_SURFACE_CODE;
pub(crate) use self::constants::DC_SOLANA_CORE_STAKE_SURFACE_CODE;
/// Stable System Program surface code.
pub(crate) use self::constants::DC_SOLANA_CORE_SYSTEM_SURFACE_CODE;
/// Canonical tracing target for the Solana Core decoder component.
pub(crate) use self::constants::DC_SOLANA_CORE_TRACING_TARGET;
/// Byte length of one secp256k1 offsets entry.
pub(crate) use self::constants::DC_SOLANA_CORE_U8_OFFSETS_BYTES;
/// Byte length of one Ed25519 or secp256r1 offsets entry.
@@ -106,6 +104,8 @@ pub(crate) use self::constants::DC_SOLANA_CORE_VOTE_SURFACE_CODE;
pub(crate) use self::constants::DC_SOLANA_CORE_ZK_ELGAMAL_PROOF_SURFACE_CODE;
/// Stable historical ZK Token Proof surface code.
pub(crate) use self::constants::DC_SOLANA_CORE_ZK_TOKEN_PROOF_SURFACE_CODE;
/// Canonical tracing target for the Solana Core decoder component.
pub(crate) use self::constants::TRACING_TARGET_DECODER_SOLANA_CORE;
/// Builds one exact decoded native observation.
pub(crate) use self::event::decoder_solana_core_decoded_result;
/// Builds one failed native decode result.

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/solana/core/constants.rs
// version: 13
// version: 14
//! Local constants for the Solana Core decoder component.
@@ -67,4 +67,4 @@ pub(crate) const DC_SOLANA_CORE_MAX_NATIVE_INSTRUCTION_PAYLOAD_BYTES: usize = 4_
pub(crate) const DC_SOLANA_CORE_NATIVE_EVENT_VERSION: u32 = 1;
/// Canonical tracing target for the Solana Core decoder component.
pub(crate) const DC_SOLANA_CORE_TRACING_TARGET: &str = "kb-lib.decoder.solana.core";
pub(crate) const TRACING_TARGET_DECODER_SOLANA_CORE: &str = "kb-lib.decoder.solana.core";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/solana/core/decoder.rs
// version: 24
// version: 25
//! Runtime-native Solana program classifier for the common decode pipeline.
@@ -149,7 +149,7 @@ impl crate::DcApiProtocolDecoder for crate::DcSolanaCoreDecoder {
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
tracing::debug!(target: crate::DC_SOLANA_CORE_TRACING_TARGET, "legacy native decoder adapter classified an observation without maximal decoding");
tracing::debug!(target: crate::TRACING_TARGET_DECODER_SOLANA_CORE, "legacy native decoder adapter classified an observation without maximal decoding");
return std::result::Result::Ok(std::vec::Vec::new());
}
}
@@ -211,14 +211,14 @@ impl crate::DcApiInstructionDecoder for crate::DcSolanaCoreDecoder {
&self,
input: &crate::MdCoreInstructionReplayInput,
) -> crate::DcApiDecoderRecognition {
tracing::debug!(target: crate::DC_SOLANA_CORE_TRACING_TARGET, action = "recognize", signature = %input.signature, slot = input.slot, instruction_path = %input.instruction_path, program_id = %input.program_id, input_key = %input.replay_input_key, transaction_failed = input.transaction_failed, "recognize native Solana contextual instruction");
tracing::debug!(target: crate::TRACING_TARGET_DECODER_SOLANA_CORE, action = "recognize", signature = %input.signature, slot = input.slot, instruction_path = %input.instruction_path, program_id = %input.program_id, input_key = %input.replay_input_key, transaction_failed = input.transaction_failed, "recognize native Solana contextual instruction");
let surface = NATIVE_SURFACES
.iter()
.find(|surface| return surface.program_id == input.program_id);
let surface = match surface {
std::option::Option::Some(value) => value,
std::option::Option::None => {
tracing::debug!(target: crate::DC_SOLANA_CORE_TRACING_TARGET, action = "recognize", signature = %input.signature, instruction_path = %input.instruction_path, program_id = %input.program_id, compatible = false, "native Solana decoder does not support program id");
tracing::debug!(target: crate::TRACING_TARGET_DECODER_SOLANA_CORE, action = "recognize", signature = %input.signature, instruction_path = %input.instruction_path, program_id = %input.program_id, compatible = false, "native Solana decoder does not support program id");
return crate::DcApiDecoderRecognition::incompatible();
},
};
@@ -255,7 +255,7 @@ impl crate::DcApiInstructionDecoder for crate::DcSolanaCoreDecoder {
crate::decoder_api_discriminator_8_hex(input),
)
};
tracing::debug!(target: crate::DC_SOLANA_CORE_TRACING_TARGET, action = "recognize", signature = %input.signature, instruction_path = %input.instruction_path, program_id = %input.program_id, surface_code = surface.surface_code, recognition = ?recognition, compatible = true, "native Solana decoder recognized contextual instruction");
tracing::debug!(target: crate::TRACING_TARGET_DECODER_SOLANA_CORE, action = "recognize", signature = %input.signature, instruction_path = %input.instruction_path, program_id = %input.program_id, surface_code = surface.surface_code, recognition = ?recognition, compatible = true, "native Solana decoder recognized contextual instruction");
return recognition;
}
@@ -298,7 +298,7 @@ impl crate::DcApiInstructionDecoder for crate::DcSolanaCoreDecoder {
| crate::DcApiDecoderOutcomeStatus::Unsupported
) {
tracing::error!(
target: crate::DC_SOLANA_CORE_TRACING_TARGET,
target: crate::TRACING_TARGET_DECODER_SOLANA_CORE,
action = "decode_failure",
signature = %input.signature,
slot = input.slot,
@@ -317,7 +317,7 @@ impl crate::DcApiInstructionDecoder for crate::DcSolanaCoreDecoder {
"native instruction was not decoded successfully"
);
}
tracing::debug!(target: crate::DC_SOLANA_CORE_TRACING_TARGET, action = "decode", signature = %input.signature, slot = input.slot, instruction_path = %input.instruction_path, program_id = %input.program_id, input_key = %input.replay_input_key, payload_hash = ?input.instruction_payload_hash, transaction_failed = input.transaction_failed, transaction_error = ?input.transaction_err_json, result_status = ?result.status, recognized_entry_code = ?result.recognized_entry_code, observation_count = result.observations.len(), diagnostic_count = result.diagnostics.len(), "native instruction decode completed");
tracing::debug!(target: crate::TRACING_TARGET_DECODER_SOLANA_CORE, action = "decode", signature = %input.signature, slot = input.slot, instruction_path = %input.instruction_path, program_id = %input.program_id, input_key = %input.replay_input_key, payload_hash = ?input.instruction_payload_hash, transaction_failed = input.transaction_failed, transaction_error = ?input.transaction_err_json, result_status = ?result.status, recognized_entry_code = ?result.recognized_entry_code, observation_count = result.observations.len(), diagnostic_count = result.diagnostics.len(), "native instruction decode completed");
return result;
}
}

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/solana/core/loaders.rs
// version: 9
// version: 10
//! Exact bounded decoding for Solana native loader generations.
@@ -221,7 +221,7 @@ pub(crate) fn decoder_solana_core_loaders_decode(
input: &crate::MdCoreInstructionReplayInput,
) -> crate::DcApiDecoderExecutionResult {
if input.program_id == kb_program_ids::NATIVE_LOADER_PROGRAM_ID {
tracing::debug!(target: crate::DC_SOLANA_CORE_TRACING_TARGET, action = "decode_native_loader", signature = %input.signature, instruction_path = %input.instruction_path, source = SOURCE_NATIVE_LOADER, "ignore opaque direct Native Loader invocation without inventing an instruction schema");
tracing::debug!(target: crate::TRACING_TARGET_DECODER_SOLANA_CORE, action = "decode_native_loader", signature = %input.signature, instruction_path = %input.instruction_path, source = SOURCE_NATIVE_LOADER, "ignore opaque direct Native Loader invocation without inventing an instruction schema");
return crate::DcApiDecoderExecutionResult::ignored(std::option::Option::Some(
"direct_invocation_opaque".to_string(),
));

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/spl.rs
// version: 7
// version: 8
//! `spl` decoder family.
@@ -31,10 +31,10 @@ pub(crate) use self::associated_token_account::DC_SPL_ATA_MAX_INSTRUCTION_BYTES;
pub(crate) use self::associated_token_account::DC_SPL_ATA_MAX_TRANSACTION_KEYS;
/// Stable protocol and surface code for the Associated Token Account program.
pub(crate) use self::associated_token_account::DC_SPL_ATA_SURFACE_CODE;
/// Canonical tracing target for the Associated Token Account decoder.
pub(crate) use self::associated_token_account::DC_SPL_ATA_TRACING_TARGET;
/// Exact decoder for the SPL Associated Token Account program.
pub use self::associated_token_account::DcSplAssociatedTokenAccountDecoder;
/// Canonical tracing target for the Associated Token Account decoder.
pub(crate) use self::associated_token_account::TRACING_TARGET_DECODER_SPL_ATA;
/// Decodes one bounded Associated Token Account instruction.
pub(crate) use self::associated_token_account::decoder_spl_associated_token_account_decode;
/// Returns the exact entry matching an Associated Token Account wire.
@@ -49,14 +49,14 @@ pub(crate) use self::elgamal_registry::DC_SPL_ELGAMAL_REGISTRY_EVENT_VERSION;
pub(crate) use self::elgamal_registry::DC_SPL_ELGAMAL_REGISTRY_MAX_INSTRUCTION_BYTES;
/// Stable SPL ElGamal registry surface code.
pub(crate) use self::elgamal_registry::DC_SPL_ELGAMAL_REGISTRY_SURFACE_CODE;
/// Canonical tracing target for the SPL ElGamal registry decoder.
pub(crate) use self::elgamal_registry::DC_SPL_ELGAMAL_REGISTRY_TRACING_TARGET;
/// One parsed SPL ElGamal registry instruction.
pub(crate) use self::elgamal_registry::DcSplElGamalRegistryParsedRegistryInstruction;
/// Parsed SPL ElGamal public-key registry account.
pub use self::elgamal_registry::DcSplElGamalRegistryState;
/// Exact decoder for the SPL ElGamal registry program.
pub use self::elgamal_registry::DcSplElgamalRegistryDecoder;
/// Canonical tracing target for the SPL ElGamal registry decoder.
pub(crate) use self::elgamal_registry::TRACING_TARGET_DECODER_SPL_ELGAMAL_REGISTRY;
/// Decodes one bounded SPL ElGamal registry instruction.
pub(crate) use self::elgamal_registry::decoder_spl_elgamal_registry_decode;
/// Decodes one bounded SPL ElGamal registry instruction payload.
@@ -73,8 +73,6 @@ pub(crate) use self::memo::DC_SPL_MEMO_EVENT_VERSION;
pub(crate) use self::memo::DC_SPL_MEMO_MAX_PAYLOAD_BYTES;
/// Stable protocol code shared by Memo generations.
pub(crate) use self::memo::DC_SPL_MEMO_PROTOCOL_CODE;
/// Canonical tracing target for the SPL Memo decoder.
pub(crate) use self::memo::DC_SPL_MEMO_TRACING_TARGET;
/// Stable Memo v1 surface code.
pub(crate) use self::memo::DC_SPL_MEMO_V1_SURFACE_CODE;
/// Stable Memo v3 surface code.
@@ -83,6 +81,8 @@ pub(crate) use self::memo::DC_SPL_MEMO_V3_SURFACE_CODE;
pub(crate) use self::memo::DC_SPL_MEMO_V4_SURFACE_CODE;
/// Exact decoder for the three registered SPL Memo generations.
pub use self::memo::DcSplMemoDecoder;
/// Canonical tracing target for the SPL Memo decoder.
pub(crate) use self::memo::TRACING_TARGET_DECODER_SPL_MEMO;
/// Decodes one bounded SPL Memo instruction.
pub(crate) use self::memo::decoder_spl_memo_decode;
/// Reserved `kb_decoder_spl_noop` decoder.
@@ -105,10 +105,10 @@ pub(crate) use self::token::DC_SPL_TOKEN_MAX_BATCH_INSTRUCTIONS;
pub(crate) use self::token::DC_SPL_TOKEN_MAX_INSTRUCTION_BYTES;
/// Stable protocol and surface code for the classic SPL Token program.
pub(crate) use self::token::DC_SPL_TOKEN_SURFACE_CODE;
/// Canonical tracing target for the classic SPL Token decoder.
pub(crate) use self::token::DC_SPL_TOKEN_TRACING_TARGET;
/// Exact decoder for the classic SPL Token program.
pub use self::token::DcSplTokenDecoder;
/// Canonical tracing target for the classic SPL Token decoder.
pub(crate) use self::token::TRACING_TARGET_DECODER_SPL_TOKEN;
/// Decodes one bounded classic SPL Token instruction.
pub(crate) use self::token::decoder_spl_token_decode;
/// Returns the published entry matching one classic SPL Token tag.
@@ -131,8 +131,6 @@ pub(crate) use self::token2022::DC_SPL_TOKEN2022_MAX_INSTRUCTION_BYTES;
pub(crate) use self::token2022::DC_SPL_TOKEN2022_MAX_METADATA_STRING_BYTES;
/// Stable Token-2022 surface code.
pub(crate) use self::token2022::DC_SPL_TOKEN2022_SURFACE_CODE;
/// Canonical tracing target for the Token-2022 decoder.
pub(crate) use self::token2022::DC_SPL_TOKEN2022_TRACING_TARGET;
/// Exact decoder for the Token-2022 program.
pub use self::token2022::DcSplToken2022Decoder;
/// Parsed Token-2022 Mint, Account, or Multisig state.
@@ -141,6 +139,8 @@ pub use self::token2022::DcToken2022State;
pub use self::token2022::DcToken2022StateKind;
/// One exact Token-2022 TLV entry.
pub use self::token2022::DcToken2022TlvEntry;
/// Canonical tracing target for the Token-2022 decoder.
pub(crate) use self::token2022::TRACING_TARGET_DECODER_SPL_TOKEN2022;
/// Decodes one bounded Token-2022 instruction.
pub(crate) use self::token2022::decoder_spl_token2022_decode;
/// Returns the exact entry matching one Token-2022 tag.

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/spl/associated_token_account.rs
// version: 3
// version: 4
//! Exact SPL Associated Token Account decoder component.
@@ -27,7 +27,7 @@ pub(crate) use self::constants::DC_SPL_ATA_MAX_TRANSACTION_KEYS;
/// Stable protocol and surface code for the Associated Token Account program.
pub(crate) use self::constants::DC_SPL_ATA_SURFACE_CODE;
/// Canonical tracing target for the Associated Token Account decoder.
pub(crate) use self::constants::DC_SPL_ATA_TRACING_TARGET;
pub(crate) use self::constants::TRACING_TARGET_DECODER_SPL_ATA;
/// Decodes one bounded Associated Token Account instruction.
pub(crate) use self::wire::decoder_spl_associated_token_account_decode;
/// Returns the exact entry matching an Associated Token Account wire.

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/spl/associated_token_account/constants.rs
// version: 1
// version: 2
//! Local constants for the `kb-lib` SPL Associated Token Account component.
@@ -24,4 +24,5 @@ pub(crate) const DC_SPL_ATA_INSTRUCTION_ENTRIES: &[(u8, &str, bool)] = &[
(2, "recover_nested", false),
];
/// Canonical tracing target for the Associated Token Account decoder.
pub(crate) const DC_SPL_ATA_TRACING_TARGET: &str = "kb-lib.decoder.spl.associated_token_account";
pub(crate) const TRACING_TARGET_DECODER_SPL_ATA: &str =
"kb-lib.decoder.spl.associated_token_account";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/spl/associated_token_account/decoder.rs
// version: 1
// version: 2
//! Exact SPL Associated Token Account dispatch for the common decode pipeline.
@@ -111,7 +111,7 @@ impl crate::DcApiInstructionDecoder for crate::DcSplAssociatedTokenAccountDecode
| crate::DcApiDecoderOutcomeStatus::Unsupported
) {
tracing::error!(
target: crate::DC_SPL_ATA_TRACING_TARGET,
target: crate::TRACING_TARGET_DECODER_SPL_ATA,
action = "decode_failure",
signature = %input.signature,
slot = input.slot,
@@ -126,7 +126,7 @@ impl crate::DcApiInstructionDecoder for crate::DcSplAssociatedTokenAccountDecode
);
}
tracing::debug!(
target: crate::DC_SPL_ATA_TRACING_TARGET,
target: crate::TRACING_TARGET_DECODER_SPL_ATA,
action = "decode",
signature = %input.signature,
instruction_path = %input.instruction_path,

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/spl/elgamal_registry.rs
// version: 2
// version: 3
//! Exact SPL Token-2022 ElGamal public-key registry decoder component.
@@ -24,7 +24,7 @@ pub(crate) use self::constants::DC_SPL_ELGAMAL_REGISTRY_MAX_INSTRUCTION_BYTES;
/// Stable SPL ElGamal registry surface code.
pub(crate) use self::constants::DC_SPL_ELGAMAL_REGISTRY_SURFACE_CODE;
/// Canonical tracing target for the SPL ElGamal registry decoder.
pub(crate) use self::constants::DC_SPL_ELGAMAL_REGISTRY_TRACING_TARGET;
pub(crate) use self::constants::TRACING_TARGET_DECODER_SPL_ELGAMAL_REGISTRY;
/// One parsed SPL ElGamal registry instruction.
pub(crate) use self::wire::DcSplElGamalRegistryParsedRegistryInstruction;
/// Decodes one bounded SPL ElGamal registry instruction.

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/spl/elgamal_registry/constants.rs
// version: 1
// version: 2
//! Constants for the SPL ElGamal registry decoder.
@@ -8,5 +8,5 @@ pub(crate) const DC_SPL_ELGAMAL_REGISTRY_EVENT_VERSION: u32 = 1;
pub(crate) const DC_SPL_ELGAMAL_REGISTRY_MAX_INSTRUCTION_BYTES: usize = 16;
/// Canonical tracing target for this crate.
pub(crate) const DC_SPL_ELGAMAL_REGISTRY_TRACING_TARGET: &str =
pub(crate) const TRACING_TARGET_DECODER_SPL_ELGAMAL_REGISTRY: &str =
"kb-lib.decoder.spl.elgamal_registry";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/spl/elgamal_registry/decoder.rs
// version: 1
// version: 2
//! Exact dispatch for the SPL ElGamal registry program.
@@ -125,7 +125,7 @@ impl crate::DcApiInstructionDecoder for crate::DcSplElgamalRegistryDecoder {
| crate::DcApiDecoderOutcomeStatus::Unsupported
) {
tracing::error!(
target: crate::DC_SPL_ELGAMAL_REGISTRY_TRACING_TARGET,
target: crate::TRACING_TARGET_DECODER_SPL_ELGAMAL_REGISTRY,
action = "decode_failure",
signature = %input.signature,
slot = input.slot,
@@ -142,7 +142,7 @@ impl crate::DcApiInstructionDecoder for crate::DcSplElgamalRegistryDecoder {
);
}
tracing::debug!(
target: crate::DC_SPL_ELGAMAL_REGISTRY_TRACING_TARGET,
target: crate::TRACING_TARGET_DECODER_SPL_ELGAMAL_REGISTRY,
action = "decode",
signature = %input.signature,
instruction_path = %input.instruction_path,

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/spl/memo.rs
// version: 2
// version: 3
//! Exact SPL Memo v1, v3 and v4 decoder component.
@@ -18,13 +18,13 @@ pub(crate) use self::constants::DC_SPL_MEMO_EVENT_VERSION;
pub(crate) use self::constants::DC_SPL_MEMO_MAX_PAYLOAD_BYTES;
/// Stable protocol code shared by Memo generations.
pub(crate) use self::constants::DC_SPL_MEMO_PROTOCOL_CODE;
/// Canonical tracing target for the SPL Memo decoder.
pub(crate) use self::constants::DC_SPL_MEMO_TRACING_TARGET;
/// Stable Memo v1 surface code.
pub(crate) use self::constants::DC_SPL_MEMO_V1_SURFACE_CODE;
/// Stable Memo v3 surface code.
pub(crate) use self::constants::DC_SPL_MEMO_V3_SURFACE_CODE;
/// Stable Memo v4 surface code.
pub(crate) use self::constants::DC_SPL_MEMO_V4_SURFACE_CODE;
/// Canonical tracing target for the SPL Memo decoder.
pub(crate) use self::constants::TRACING_TARGET_DECODER_SPL_MEMO;
/// Decodes one bounded SPL Memo instruction.
pub(crate) use self::payload::decoder_spl_memo_decode;

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/spl/memo/constants.rs
// version: 2
// version: 3
//! Local constants for the `kb-lib` SPL Memo component. Program identifiers live in `kb_program_ids`.
@@ -18,4 +18,4 @@ pub(crate) const DC_SPL_MEMO_DIAGNOSTIC_PREFIX_BYTES: usize = 32;
/// Current stable Memo decoded event contract version.
pub(crate) const DC_SPL_MEMO_EVENT_VERSION: u32 = 1;
/// Canonical tracing target for this crate.
pub(crate) const DC_SPL_MEMO_TRACING_TARGET: &str = "kb-lib.decoder.spl.memo";
pub(crate) const TRACING_TARGET_DECODER_SPL_MEMO: &str = "kb-lib.decoder.spl.memo";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/spl/memo/decoder.rs
// version: 1
// version: 2
//! Exact SPL Memo v1, v3 and v4 dispatch for the common decode pipeline.
@@ -124,7 +124,7 @@ impl crate::DcApiInstructionDecoder for crate::DcSplMemoDecoder {
| crate::DcApiDecoderOutcomeStatus::Unsupported
) {
tracing::error!(
target: crate::DC_SPL_MEMO_TRACING_TARGET,
target: crate::TRACING_TARGET_DECODER_SPL_MEMO,
action = "decode_failure",
signature = %input.signature,
slot = input.slot,
@@ -141,7 +141,7 @@ impl crate::DcApiInstructionDecoder for crate::DcSplMemoDecoder {
);
}
tracing::debug!(
target: crate::DC_SPL_MEMO_TRACING_TARGET,
target: crate::TRACING_TARGET_DECODER_SPL_MEMO,
action = "decode",
signature = %input.signature,
instruction_path = %input.instruction_path,

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/spl/token.rs
// version: 2
// version: 3
//! Exact classic SPL Token decoder component.
@@ -25,7 +25,7 @@ pub(crate) use self::constants::DC_SPL_TOKEN_MAX_INSTRUCTION_BYTES;
/// Stable protocol and surface code for the classic SPL Token program.
pub(crate) use self::constants::DC_SPL_TOKEN_SURFACE_CODE;
/// Canonical tracing target for the classic SPL Token decoder.
pub(crate) use self::constants::DC_SPL_TOKEN_TRACING_TARGET;
pub(crate) use self::constants::TRACING_TARGET_DECODER_SPL_TOKEN;
/// Decodes one bounded classic SPL Token instruction.
pub(crate) use self::wire::decoder_spl_token_decode;
/// Returns the published entry matching one classic SPL Token tag.

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/spl/token/constants.rs
// version: 1
// version: 2
//! Local constants for the `kb-lib` SPL Token component. Program identifiers live in `kb_program_ids`.
@@ -47,4 +47,4 @@ pub(crate) const DC_SPL_TOKEN_INSTRUCTION_ENTRIES: &[(u8, &str, bool)] = &[
(255, "batch", false),
];
/// Canonical tracing target for this crate.
pub(crate) const DC_SPL_TOKEN_TRACING_TARGET: &str = "kb-lib.decoder.spl.token";
pub(crate) const TRACING_TARGET_DECODER_SPL_TOKEN: &str = "kb-lib.decoder.spl.token";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/spl/token/decoder.rs
// version: 1
// version: 2
//! Exact classic SPL Token dispatch for the common decode pipeline.
@@ -109,7 +109,7 @@ impl crate::DcApiInstructionDecoder for crate::DcSplTokenDecoder {
| crate::DcApiDecoderOutcomeStatus::Unsupported
) {
tracing::error!(
target: crate::DC_SPL_TOKEN_TRACING_TARGET,
target: crate::TRACING_TARGET_DECODER_SPL_TOKEN,
action = "decode_failure",
signature = %input.signature,
slot = input.slot,
@@ -125,7 +125,7 @@ impl crate::DcApiInstructionDecoder for crate::DcSplTokenDecoder {
);
}
tracing::debug!(
target: crate::DC_SPL_TOKEN_TRACING_TARGET,
target: crate::TRACING_TARGET_DECODER_SPL_TOKEN,
action = "decode",
signature = %input.signature,
instruction_path = %input.instruction_path,

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/spl/token2022.rs
// version: 2
// version: 3
//! Exact Token-2022 instruction and state decoder component.
@@ -36,7 +36,7 @@ pub(crate) use self::constants::DC_SPL_TOKEN2022_MAX_METADATA_STRING_BYTES;
/// Stable Token-2022 surface code.
pub(crate) use self::constants::DC_SPL_TOKEN2022_SURFACE_CODE;
/// Canonical tracing target for the Token-2022 decoder.
pub(crate) use self::constants::DC_SPL_TOKEN2022_TRACING_TARGET;
pub(crate) use self::constants::TRACING_TARGET_DECODER_SPL_TOKEN2022;
/// Decodes one bounded Token-2022 instruction.
pub(crate) use self::wire::decoder_spl_token2022_decode;
/// Returns the exact entry matching one Token-2022 tag.

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/spl/token2022/constants.rs
// version: 1
// version: 2
//! Local constants for the exact Token-2022 decoder. Program identifiers live in `kb_program_ids`.
@@ -69,4 +69,4 @@ pub(crate) const DC_SPL_TOKEN2022_INSTRUCTION_ENTRIES: &[(u8, &str, bool)] = &[
(255, "batch", false),
];
/// Canonical tracing target for this crate.
pub(crate) const DC_SPL_TOKEN2022_TRACING_TARGET: &str = "kb-lib.decoder.spl.token2022";
pub(crate) const TRACING_TARGET_DECODER_SPL_TOKEN2022: &str = "kb-lib.decoder.spl.token2022";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/decoder/spl/token2022/decoder.rs
// version: 1
// version: 2
//! Exact Token-2022 dispatch for the common decode pipeline.
@@ -109,7 +109,7 @@ impl crate::DcApiInstructionDecoder for crate::DcSplToken2022Decoder {
| crate::DcApiDecoderOutcomeStatus::Unsupported
) {
tracing::error!(
target: crate::DC_SPL_TOKEN2022_TRACING_TARGET,
target: crate::TRACING_TARGET_DECODER_SPL_TOKEN2022,
action = "decode_failure",
signature = %input.signature,
slot = input.slot,
@@ -125,7 +125,7 @@ impl crate::DcApiInstructionDecoder for crate::DcSplToken2022Decoder {
);
}
tracing::debug!(
target: crate::DC_SPL_TOKEN2022_TRACING_TARGET,
target: crate::TRACING_TARGET_DECODER_SPL_TOKEN2022,
action = "decode",
signature = %input.signature,
instruction_path = %input.instruction_path,

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor.rs
// version: 6
// version: 7
//! Consolidated executor modules.
@@ -823,7 +823,7 @@ pub use self::wallet::ExWalletJupiterApeproSmartWalletExecutor;
pub use self::weighted::ExWeightedSwapStabbleExecutor;
/// Canonical tracing target for this crate.
pub(crate) use self::solana::EX_SOLANA_CORE_TRACING_TARGET;
pub(crate) use self::solana::TRACING_TARGET_EXECUTOR_SOLANA_CORE;
/// Crate-root access to `build_prepared_plan` from `address_lookup_table`.
pub(crate) use self::solana::executor_solana_core_address_lookup_table_build_prepared_plan;
/// Crate-root access to `build_prepared_plan` from `builder`.
@@ -860,20 +860,20 @@ 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;
/// Canonical SPL ATA tracing target.
pub(crate) use self::spl::EX_SPL_ATA_TRACING_TARGET;
/// Canonical SPL ElGamal registry tracing target.
pub(crate) use self::spl::EX_SPL_ELGAMAL_REGISTRY_TRACING_TARGET;
/// Canonical SPL Memo tracing target.
pub(crate) use self::spl::EX_SPL_MEMO_TRACING_TARGET;
/// 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.
pub(crate) use self::spl::EX_SPL_TOKEN2022_MAX_TRANSFER_FEE_SOURCE_ACCOUNTS;
/// Maximum UI amount byte length for SPL Token-2022.
pub(crate) use self::spl::EX_SPL_TOKEN2022_MAX_UI_AMOUNT_BYTES;
/// Canonical SPL ATA tracing target.
pub(crate) use self::spl::TRACING_TARGET_EXECUTOR_SPL_ATA;
/// Canonical SPL ElGamal registry tracing target.
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;
/// Canonical SPL Token-2022 tracing target.
pub(crate) use self::spl::EX_SPL_TOKEN2022_TRACING_TARGET;
pub(crate) use self::spl::TRACING_TARGET_EXECUTOR_SPL_TOKEN2022;
/// Internal SPL ATA plan builder.
pub(crate) use self::spl::executor_spl_ata_build_prepared_plan;
/// Internal SPL ElGamal registry plan builder.

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/solana.rs
// version: 3
// version: 4
//! `solana` executor family.
@@ -255,7 +255,7 @@ pub use self::core::ExSolanaCoreZkElGamalContextState;
pub use self::core::ExSolanaCoreZkElGamalProofType;
/// Canonical tracing target for this crate.
pub(crate) use self::core::EX_SOLANA_CORE_TRACING_TARGET;
pub(crate) use self::core::TRACING_TARGET_EXECUTOR_SOLANA_CORE;
/// Crate-root access to `build_prepared_plan` from `address_lookup_table`.
pub(crate) use self::core::executor_solana_core_address_lookup_table_build_prepared_plan;
/// Crate-root access to `build_prepared_plan` from `builder`.

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/solana/core.rs
// version: 3
// version: 4
//! Safe typed executor for supported Solana core operations.
@@ -274,7 +274,7 @@ pub(crate) use self::builder::executor_solana_core_builder_build_prepared_plan;
/// Crate-root access to `finalize_prepared_plan` from `builder`.
pub(crate) use self::builder::executor_solana_core_finalize_prepared_plan;
/// Canonical tracing target for this crate.
pub(crate) use self::constants::EX_SOLANA_CORE_TRACING_TARGET;
pub(crate) use self::constants::TRACING_TARGET_EXECUTOR_SOLANA_CORE;
/// Crate-root access to `build_prepared_plan` from `loader_v3`.
pub(crate) use self::loader_v3::executor_solana_core_loader_v3_build_prepared_plan;
/// Crate-root access to `build_prepared_plan` from `loader_v4`.

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/solana/core/builder.rs
// version: 1
// version: 2
//! Official Solana core instruction builders and shared plan finalization.
@@ -1239,7 +1239,7 @@ pub(crate) fn executor_solana_core_finalize_prepared_plan(
std::result::Result::Err(error) => return std::result::Result::Err(error),
}
tracing::debug!(
target: crate::EX_SOLANA_CORE_TRACING_TARGET,
target: crate::TRACING_TARGET_EXECUTOR_SOLANA_CORE,
action = "executor_solana_core_builder_build_prepared_plan",
intent_id = %intent.intent_id,
operation_code,

View File

@@ -1,7 +1,7 @@
// file: kb-lib/src/executor/solana/core/constants.rs
// version: 1
// version: 2
//! Local constants for the `kb_executor_solana_core` crate. Program identifiers live in `kb_program_ids`.
/// Canonical tracing target for this crate.
pub(crate) const EX_SOLANA_CORE_TRACING_TARGET: &str = "kb-lib.executor.solana.core";
pub(crate) const TRACING_TARGET_EXECUTOR_SOLANA_CORE: &str = "kb-lib.executor.solana.core";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/spl.rs
// version: 5
// version: 6
//! `spl` executor family.
@@ -309,15 +309,15 @@ pub use self::token2022::ExSplTokenSingleOperation;
pub use self::token2022::executor_spl_token2022_validate_confidential_proof_references;
/// Canonical SPL ATA tracing target.
pub(crate) use self::associated_token_account::EX_SPL_ATA_TRACING_TARGET;
pub(crate) use self::associated_token_account::TRACING_TARGET_EXECUTOR_SPL_ATA;
/// Internal SPL ATA plan builder.
pub(crate) use self::associated_token_account::executor_spl_ata_build_prepared_plan;
/// Canonical SPL ElGamal registry tracing target.
pub(crate) use self::elgamal_registry::EX_SPL_ELGAMAL_REGISTRY_TRACING_TARGET;
pub(crate) use self::elgamal_registry::TRACING_TARGET_EXECUTOR_SPL_ELGAMAL_REGISTRY;
/// Internal SPL ElGamal registry plan builder.
pub(crate) use self::elgamal_registry::executor_spl_elgamal_registry_build_prepared_plan;
/// Canonical SPL Memo tracing target.
pub(crate) use self::memo::EX_SPL_MEMO_TRACING_TARGET;
pub(crate) use self::memo::TRACING_TARGET_EXECUTOR_SPL_MEMO;
/// Internal SPL Memo plan builder.
pub(crate) use self::memo::executor_spl_memo_build_prepared_plan;
/// Maximum ordered multisig signer occurrences for SPL Token-2022.
@@ -327,6 +327,6 @@ pub(crate) use self::token2022::EX_SPL_TOKEN2022_MAX_TRANSFER_FEE_SOURCE_ACCOUNT
/// Maximum UI amount byte length for SPL Token-2022.
pub(crate) use self::token2022::EX_SPL_TOKEN2022_MAX_UI_AMOUNT_BYTES;
/// Canonical SPL Token-2022 tracing target.
pub(crate) use self::token2022::EX_SPL_TOKEN2022_TRACING_TARGET;
pub(crate) use self::token2022::TRACING_TARGET_EXECUTOR_SPL_TOKEN2022;
/// Internal SPL Token-2022 prepared-plan builder.
pub(crate) use self::token2022::executor_spl_token2022_build_prepared_plan;

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/spl/associated_token_account.rs
// version: 3
// version: 4
//! Safe typed executor for SPL Associated Token Account.
@@ -28,4 +28,4 @@ pub use self::intent::ExSplAssociatedTokenProgram;
/// Internal SPL ATA plan builder.
pub(crate) use self::builder::executor_spl_ata_build_prepared_plan;
/// Canonical tracing target for SPL ATA execution.
pub(crate) use self::constants::EX_SPL_ATA_TRACING_TARGET;
pub(crate) use self::constants::TRACING_TARGET_EXECUTOR_SPL_ATA;

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/spl/associated_token_account/builder.rs
// version: 4
// version: 5
//! Official ATA builders and conservative simulation-first plan validation.
@@ -108,7 +108,7 @@ pub(crate) fn executor_spl_ata_build_prepared_plan(
let planned_instruction = planned_instruction(intent.operation.operation_code(), &instruction);
let required_signers = required_signers(&intent.fee_payer, &planned_instruction.accounts);
tracing::debug!(
target: crate::EX_SPL_ATA_TRACING_TARGET,
target: crate::TRACING_TARGET_EXECUTOR_SPL_ATA,
action = "build_prepared_plan",
intent_id = %intent.intent_id,
operation_code = intent.operation.operation_code(),

View File

@@ -1,7 +1,8 @@
// file: kb-lib/src/executor/spl/associated_token_account/constants.rs
// version: 3
// version: 4
//! Local constants for the `kb_executor_spl_associated_token_account` crate. Program identifiers live in `kb_program_ids`.
/// Canonical tracing target for this crate.
pub(crate) const EX_SPL_ATA_TRACING_TARGET: &str = "kb-lib.executor.spl.associated_token_account";
pub(crate) const TRACING_TARGET_EXECUTOR_SPL_ATA: &str =
"kb-lib.executor.spl.associated_token_account";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/spl/elgamal_registry.rs
// version: 3
// version: 4
//! Typed executor for the SPL ElGamal public-key registry.
@@ -24,4 +24,4 @@ pub use self::intent::ExSplElgamalRegistryProofLocation;
/// Crate-root access to the exact ElGamal registry plan builder.
pub(crate) use self::builder::executor_spl_elgamal_registry_build_prepared_plan;
/// Canonical tracing target for the SPL ElGamal registry executor.
pub(crate) use self::constants::EX_SPL_ELGAMAL_REGISTRY_TRACING_TARGET;
pub(crate) use self::constants::TRACING_TARGET_EXECUTOR_SPL_ELGAMAL_REGISTRY;

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/spl/elgamal_registry/builder.rs
// version: 4
// version: 5
//! Official registry builders and conservative plan validation.
@@ -125,7 +125,7 @@ pub(crate) fn executor_spl_elgamal_registry_build_prepared_plan(
});
}
tracing::debug!(
target: crate::EX_SPL_ELGAMAL_REGISTRY_TRACING_TARGET,
target: crate::TRACING_TARGET_EXECUTOR_SPL_ELGAMAL_REGISTRY,
action = "build_prepared_plan",
intent_id = %intent.intent_id,
operation_code,

View File

@@ -1,8 +1,8 @@
// file: kb-lib/src/executor/spl/elgamal_registry/constants.rs
// version: 2
// version: 3
//! Executor-local constants.
/// Canonical tracing target for this crate.
pub(crate) const EX_SPL_ELGAMAL_REGISTRY_TRACING_TARGET: &str =
pub(crate) const TRACING_TARGET_EXECUTOR_SPL_ELGAMAL_REGISTRY: &str =
"kb-lib.executor.spl.elgamal_registry";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/spl/memo.rs
// version: 4
// version: 5
//! Safe typed executor for `spl_memo`.
@@ -28,4 +28,4 @@ pub use self::intent::ExSplMemoSigner;
/// Internal SPL Memo plan builder.
pub(crate) use self::builder::executor_spl_memo_build_prepared_plan;
/// Canonical tracing target for SPL Memo execution.
pub(crate) use self::constants::EX_SPL_MEMO_TRACING_TARGET;
pub(crate) use self::constants::TRACING_TARGET_EXECUTOR_SPL_MEMO;

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/spl/memo/builder.rs
// version: 1
// version: 2
//! Official SPL Memo instruction builder and conservative plan validation.
@@ -74,7 +74,7 @@ pub(crate) fn executor_spl_memo_build_prepared_plan(
planned_instruction(crate::EX_SPL_MEMO_ADD_MEMO_OPERATION, &instruction);
let required_signers = required_signers(&intent.fee_payer, signers.as_slice());
tracing::debug!(
target: crate::EX_SPL_MEMO_TRACING_TARGET,
target: crate::TRACING_TARGET_EXECUTOR_SPL_MEMO,
action = "build_prepared_plan",
intent_id = %intent.intent_id,
operation_code = crate::EX_SPL_MEMO_ADD_MEMO_OPERATION,

View File

@@ -1,7 +1,7 @@
// file: kb-lib/src/executor/spl/memo/constants.rs
// version: 1
// version: 2
//! Local constants for the `kb_executor_spl_memo` crate. Program identifiers live in `kb_program_ids`.
/// Canonical tracing target for this crate.
pub(crate) const EX_SPL_MEMO_TRACING_TARGET: &str = "kb-lib.executor.spl.memo";
pub(crate) const TRACING_TARGET_EXECUTOR_SPL_MEMO: &str = "kb-lib.executor.spl.memo";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/spl/token2022.rs
// version: 3
// version: 4
//! SPL Token-2022 executor.
@@ -258,4 +258,4 @@ pub(crate) use self::constants::EX_SPL_TOKEN2022_MAX_TRANSFER_FEE_SOURCE_ACCOUNT
/// Maximum UI amount byte length.
pub(crate) use self::constants::EX_SPL_TOKEN2022_MAX_UI_AMOUNT_BYTES;
/// Canonical SPL Token-2022 tracing target.
pub(crate) use self::constants::EX_SPL_TOKEN2022_TRACING_TARGET;
pub(crate) use self::constants::TRACING_TARGET_EXECUTOR_SPL_TOKEN2022;

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/spl/token2022/builder.rs
// version: 27
// version: 28
//! Official Token-2022 builders and conservative plan validation.
@@ -58,7 +58,7 @@ pub(crate) fn executor_spl_token2022_build_prepared_plan(
let planned_instruction = planned_instruction(intent.operation.operation_code(), &instruction);
let required_signers = required_signers(&intent.fee_payer, &instruction.accounts);
tracing::debug!(
target: crate::EX_SPL_TOKEN2022_TRACING_TARGET,
target: crate::TRACING_TARGET_EXECUTOR_SPL_TOKEN2022,
action = "executor_spl_token2022_build_prepared_plan",
intent_id = %intent.intent_id,
operation_code = intent.operation.operation_code(),

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/executor/spl/token2022/constants.rs
// version: 5
// version: 6
//! Local constants for the `kb_executor_spl_token_2022` crate. Program identifiers live in `kb_program_ids`.
@@ -10,4 +10,4 @@ pub(crate) const EX_SPL_TOKEN2022_MAX_UI_AMOUNT_BYTES: usize = 255;
/// Maximum ordered token accounts accepted by transfer-fee harvest or withdraw builders.
pub(crate) const EX_SPL_TOKEN2022_MAX_TRANSFER_FEE_SOURCE_ACCOUNTS: usize = 255;
/// Canonical tracing target for this crate.
pub(crate) const EX_SPL_TOKEN2022_TRACING_TARGET: &str = "kb-lib.executor.spl.token2022";
pub(crate) const TRACING_TARGET_EXECUTOR_SPL_TOKEN2022: &str = "kb-lib.executor.spl.token2022";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/lib.rs
// version: 21
// version: 22
//! Consolidated decoder, executor, materializer and shared model library.
#![warn(missing_docs)]
@@ -1382,8 +1382,6 @@ pub(crate) use self::decoder::DC_METADATA_MTM_SIGN_METADATA_DISCRIMINATOR;
pub(crate) use self::decoder::DC_METADATA_MTM_SURFACE_CODE;
/// Thaw Delegated Account discriminator.
pub(crate) use self::decoder::DC_METADATA_MTM_THAW_DELEGATED_ACCOUNT_DISCRIMINATOR;
/// Canonical tracing target for this crate.
pub(crate) use self::decoder::DC_METADATA_MTM_TRACING_TARGET;
/// Transfer discriminator.
pub(crate) use self::decoder::DC_METADATA_MTM_TRANSFER_DISCRIMINATOR;
/// Transfer Out Of Escrow discriminator.
@@ -1462,8 +1460,6 @@ pub(crate) use self::decoder::DC_SOLANA_CORE_SLASHING_SURFACE_CODE;
pub(crate) use self::decoder::DC_SOLANA_CORE_STAKE_SURFACE_CODE;
/// Stable System Program surface code.
pub(crate) use self::decoder::DC_SOLANA_CORE_SYSTEM_SURFACE_CODE;
/// Canonical tracing target for this crate.
pub(crate) use self::decoder::DC_SOLANA_CORE_TRACING_TARGET;
/// Byte length of one secp256k1 offsets entry.
pub(crate) use self::decoder::DC_SOLANA_CORE_U8_OFFSETS_BYTES;
/// Byte length of one Ed25519 or secp256r1 offsets entry.
@@ -1490,16 +1486,12 @@ pub(crate) use self::decoder::DC_SPL_ATA_MAX_INSTRUCTION_BYTES;
pub(crate) use self::decoder::DC_SPL_ATA_MAX_TRANSACTION_KEYS;
/// Stable protocol and surface code for the Associated Token Account program.
pub(crate) use self::decoder::DC_SPL_ATA_SURFACE_CODE;
/// Canonical tracing target for the Associated Token Account decoder.
pub(crate) use self::decoder::DC_SPL_ATA_TRACING_TARGET;
/// Current stable SPL ElGamal registry event contract version.
pub(crate) use self::decoder::DC_SPL_ELGAMAL_REGISTRY_EVENT_VERSION;
/// Maximum retained SPL ElGamal registry instruction payload size.
pub(crate) use self::decoder::DC_SPL_ELGAMAL_REGISTRY_MAX_INSTRUCTION_BYTES;
/// Stable SPL ElGamal registry surface code.
pub(crate) use self::decoder::DC_SPL_ELGAMAL_REGISTRY_SURFACE_CODE;
/// Canonical tracing target for the SPL ElGamal registry decoder.
pub(crate) use self::decoder::DC_SPL_ELGAMAL_REGISTRY_TRACING_TARGET;
/// Maximum payload prefix retained for bounded Memo diagnostics.
pub(crate) use self::decoder::DC_SPL_MEMO_DIAGNOSTIC_PREFIX_BYTES;
/// Current stable Memo decoded event contract version.
@@ -1508,8 +1500,6 @@ pub(crate) use self::decoder::DC_SPL_MEMO_EVENT_VERSION;
pub(crate) use self::decoder::DC_SPL_MEMO_MAX_PAYLOAD_BYTES;
/// Stable protocol code shared by Memo generations.
pub(crate) use self::decoder::DC_SPL_MEMO_PROTOCOL_CODE;
/// Canonical tracing target for the SPL Memo decoder.
pub(crate) use self::decoder::DC_SPL_MEMO_TRACING_TARGET;
/// Stable Memo v1 surface code.
pub(crate) use self::decoder::DC_SPL_MEMO_V1_SURFACE_CODE;
/// Stable Memo v3 surface code.
@@ -1530,8 +1520,6 @@ pub(crate) use self::decoder::DC_SPL_TOKEN_MAX_BATCH_INSTRUCTIONS;
pub(crate) use self::decoder::DC_SPL_TOKEN_MAX_INSTRUCTION_BYTES;
/// Stable protocol and surface code for the classic SPL Token program.
pub(crate) use self::decoder::DC_SPL_TOKEN_SURFACE_CODE;
/// Canonical tracing target for the classic SPL Token decoder.
pub(crate) use self::decoder::DC_SPL_TOKEN_TRACING_TARGET;
/// Maximum prefix retained in bounded Token-2022 diagnostics.
pub(crate) use self::decoder::DC_SPL_TOKEN2022_DIAGNOSTIC_PREFIX_BYTES;
/// Current stable Token-2022 decoded event contract version.
@@ -1548,14 +1536,26 @@ pub(crate) use self::decoder::DC_SPL_TOKEN2022_MAX_INSTRUCTION_BYTES;
pub(crate) use self::decoder::DC_SPL_TOKEN2022_MAX_METADATA_STRING_BYTES;
/// Stable Token-2022 surface code.
pub(crate) use self::decoder::DC_SPL_TOKEN2022_SURFACE_CODE;
/// Canonical tracing target for the Token-2022 decoder.
pub(crate) use self::decoder::DC_SPL_TOKEN2022_TRACING_TARGET;
/// Expected role and privileges for one positional instruction account.
pub(crate) use self::decoder::DcSolanaCoreAccountRole;
/// One resolved outer instruction payload and its provenance relative to the target instruction.
pub(crate) use self::decoder::DcSolanaCoreResolvedInstructionPayload;
/// One parsed SPL ElGamal registry instruction.
pub(crate) use self::decoder::DcSplElGamalRegistryParsedRegistryInstruction;
/// Canonical tracing target for this crate.
pub(crate) use self::decoder::TRACING_TARGET_DECODER_METADATA_METAPLEX_TOKEN_METADATA;
/// Canonical tracing target for this crate.
pub(crate) use self::decoder::TRACING_TARGET_DECODER_SOLANA_CORE;
/// Canonical tracing target for the Associated Token Account decoder.
pub(crate) use self::decoder::TRACING_TARGET_DECODER_SPL_ATA;
/// Canonical tracing target for the SPL ElGamal registry decoder.
pub(crate) use self::decoder::TRACING_TARGET_DECODER_SPL_ELGAMAL_REGISTRY;
/// Canonical tracing target for the SPL Memo decoder.
pub(crate) use self::decoder::TRACING_TARGET_DECODER_SPL_MEMO;
/// Canonical tracing target for the classic SPL Token decoder.
pub(crate) use self::decoder::TRACING_TARGET_DECODER_SPL_TOKEN;
/// Canonical tracing target for the Token-2022 decoder.
pub(crate) use self::decoder::TRACING_TARGET_DECODER_SPL_TOKEN2022;
/// Crate-root access to `decode` from `instruction`.
pub(crate) use self::decoder::decoder_metadata_metaplex_token_metadata_decode;
/// Crate-root access to `entry_for_discriminator` from `instruction`.
@@ -1694,22 +1694,22 @@ pub(crate) use self::decoder::decoder_spl_token2022_decode;
pub(crate) use self::decoder::decoder_spl_token2022_entry_for_tag;
/// Returns the first byte of one retained Token-2022 payload.
pub(crate) use self::decoder::decoder_spl_token2022_payload_tag;
/// Canonical tracing target for this crate.
pub(crate) use self::executor::EX_SOLANA_CORE_TRACING_TARGET;
/// Canonical SPL Memo tracing target.
pub(crate) use self::executor::EX_SPL_ATA_TRACING_TARGET;
/// Canonical tracing target for the SPL ElGamal registry executor.
pub(crate) use self::executor::EX_SPL_ELGAMAL_REGISTRY_TRACING_TARGET;
/// Canonical SPL Memo tracing target.
pub(crate) use self::executor::EX_SPL_MEMO_TRACING_TARGET;
/// Maximum ordered multisig signer occurrences for SPL Token-2022.
pub(crate) use self::executor::EX_SPL_TOKEN2022_MAX_MULTISIG_SIGNERS;
/// Maximum transfer-fee source account count for SPL Token-2022.
pub(crate) use self::executor::EX_SPL_TOKEN2022_MAX_TRANSFER_FEE_SOURCE_ACCOUNTS;
/// Maximum UI amount byte length for SPL Token-2022.
pub(crate) use self::executor::EX_SPL_TOKEN2022_MAX_UI_AMOUNT_BYTES;
/// Canonical tracing target for this crate.
pub(crate) use self::executor::TRACING_TARGET_EXECUTOR_SOLANA_CORE;
/// Canonical SPL Memo tracing target.
pub(crate) use self::executor::TRACING_TARGET_EXECUTOR_SPL_ATA;
/// Canonical tracing target for the SPL ElGamal registry executor.
pub(crate) use self::executor::TRACING_TARGET_EXECUTOR_SPL_ELGAMAL_REGISTRY;
/// Canonical SPL Memo tracing target.
pub(crate) use self::executor::TRACING_TARGET_EXECUTOR_SPL_MEMO;
/// Canonical SPL Token-2022 tracing target.
pub(crate) use self::executor::EX_SPL_TOKEN2022_TRACING_TARGET;
pub(crate) use self::executor::TRACING_TARGET_EXECUTOR_SPL_TOKEN2022;
/// Crate-root access to `build_prepared_plan` from `address_lookup_table`.
pub(crate) use self::executor::executor_solana_core_address_lookup_table_build_prepared_plan;
/// Crate-root access to `build_prepared_plan` from `builder`.
@@ -1756,31 +1756,31 @@ pub(crate) use self::executor::executor_spl_memo_build_prepared_plan;
pub(crate) use self::executor::executor_spl_token2022_build_prepared_plan;
/// Canonical processor name for the native and SPL administration materializer.
pub(crate) use self::materializer::MT_ADMIN_PROCESSOR_NAME;
/// Canonical tracing target for the native and SPL administration materializer.
pub(crate) use self::materializer::MT_ADMIN_TRACING_TARGET;
/// Canonical tracing target for the native compliance audit materializer.
pub(crate) use self::materializer::MT_COMPLIANCE_AUDIT_TRACING_TARGET;
/// Canonical tracing target for the native lifecycle materializer.
pub(crate) use self::materializer::MT_LIFECYCLE_TRACING_TARGET;
/// Stable processor name for SPL Token and ATA risk facts.
pub(crate) use self::materializer::MT_RISK_PROCESSOR_NAME;
/// Stable projection contract version for SPL Token and ATA risk facts.
pub(crate) use self::materializer::MT_RISK_PROJECTION_VERSION;
/// Canonical tracing target for SPL Token and ATA risk facts.
pub(crate) use self::materializer::MT_RISK_TRACING_TARGET;
/// Canonical tracing target for the native stake and vote materializer.
pub(crate) use self::materializer::MT_STAKING_TRACING_TARGET;
/// Stable processor name for Token, ATA and Token-2022 account projections.
pub(crate) use self::materializer::MT_TOKEN_ACCOUNTS_PROCESSOR_NAME;
/// Stable projection contract version for Token, ATA and Token-2022 account projections.
pub(crate) use self::materializer::MT_TOKEN_ACCOUNTS_PROJECTION_VERSION;
/// Canonical tracing target for Token, ATA and Token-2022 account projections.
pub(crate) use self::materializer::MT_TOKEN_ACCOUNTS_TRACING_TARGET;
/// Maximum Memo payload accepted by transaction annotations.
pub(crate) use self::materializer::MT_TRANSACTION_ANNOTATIONS_MAX_MEMO_PAYLOAD_BYTES;
/// Stable processor name for transaction annotations.
pub(crate) use self::materializer::MT_TRANSACTION_ANNOTATIONS_PROCESSOR_NAME;
/// Stable projection contract version for transaction annotations.
pub(crate) use self::materializer::MT_TRANSACTION_ANNOTATIONS_PROJECTION_VERSION;
/// Canonical tracing target for the native and SPL administration materializer.
pub(crate) use self::materializer::TRACING_TARGET_MATERIALIZER_ADMIN;
/// Canonical tracing target for the native compliance audit materializer.
pub(crate) use self::materializer::TRACING_TARGET_MATERIALIZER_COMPLIANCE_AUDIT;
/// Canonical tracing target for the native lifecycle materializer.
pub(crate) use self::materializer::TRACING_TARGET_MATERIALIZER_LIFECYCLE;
/// Canonical tracing target for SPL Token and ATA risk facts.
pub(crate) use self::materializer::TRACING_TARGET_MATERIALIZER_RISK;
/// Canonical tracing target for the native stake and vote materializer.
pub(crate) use self::materializer::TRACING_TARGET_MATERIALIZER_STAKING;
/// Canonical tracing target for Token, ATA and Token-2022 account projections.
pub(crate) use self::materializer::TRACING_TARGET_MATERIALIZER_TOKEN_ACCOUNTS;
/// Canonical tracing target for transaction annotations.
pub(crate) use self::materializer::MT_TRANSACTION_ANNOTATIONS_TRACING_TARGET;
pub(crate) use self::materializer::TRACING_TARGET_MATERIALIZER_TRANSACTION_ANNOTATIONS;

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer.rs
// version: 5
// version: 6
//! Consolidated materializer modules.
@@ -115,25 +115,25 @@ pub use self::vault::MtVaultMaterializer;
/// Canonical processor name for the native and SPL administration materializer.
pub(crate) use self::admin::MT_ADMIN_PROCESSOR_NAME;
/// Canonical tracing target for the native and SPL administration materializer.
pub(crate) use self::admin::MT_ADMIN_TRACING_TARGET;
pub(crate) use self::admin::TRACING_TARGET_MATERIALIZER_ADMIN;
/// Canonical tracing target for the native compliance audit materializer.
pub(crate) use self::compliance::MT_COMPLIANCE_AUDIT_TRACING_TARGET;
pub(crate) use self::compliance::TRACING_TARGET_MATERIALIZER_COMPLIANCE_AUDIT;
/// Canonical tracing target for the native lifecycle materializer.
pub(crate) use self::lifecycle::MT_LIFECYCLE_TRACING_TARGET;
pub(crate) use self::lifecycle::TRACING_TARGET_MATERIALIZER_LIFECYCLE;
/// Stable processor name for SPL Token and ATA risk facts.
pub(crate) use self::risk::MT_RISK_PROCESSOR_NAME;
/// Stable projection contract version for SPL Token and ATA risk facts.
pub(crate) use self::risk::MT_RISK_PROJECTION_VERSION;
/// Canonical tracing target for SPL Token and ATA risk facts.
pub(crate) use self::risk::MT_RISK_TRACING_TARGET;
pub(crate) use self::risk::TRACING_TARGET_MATERIALIZER_RISK;
/// Canonical tracing target for the native stake and vote materializer.
pub(crate) use self::staking::MT_STAKING_TRACING_TARGET;
pub(crate) use self::staking::TRACING_TARGET_MATERIALIZER_STAKING;
/// Stable processor name for Token, ATA and Token-2022 account projections.
pub(crate) use self::token::MT_TOKEN_ACCOUNTS_PROCESSOR_NAME;
/// Stable projection contract version for Token, ATA and Token-2022 account projections.
pub(crate) use self::token::MT_TOKEN_ACCOUNTS_PROJECTION_VERSION;
/// Canonical tracing target for Token, ATA and Token-2022 account projections.
pub(crate) use self::token::MT_TOKEN_ACCOUNTS_TRACING_TARGET;
pub(crate) use self::token::TRACING_TARGET_MATERIALIZER_TOKEN_ACCOUNTS;
/// Maximum Memo payload accepted by transaction annotations.
pub(crate) use self::transaction::MT_TRANSACTION_ANNOTATIONS_MAX_MEMO_PAYLOAD_BYTES;
/// Stable processor name for transaction annotations.
@@ -141,7 +141,7 @@ pub(crate) use self::transaction::MT_TRANSACTION_ANNOTATIONS_PROCESSOR_NAME;
/// Stable projection contract version for transaction annotations.
pub(crate) use self::transaction::MT_TRANSACTION_ANNOTATIONS_PROJECTION_VERSION;
/// Canonical tracing target for transaction annotations.
pub(crate) use self::transaction::MT_TRANSACTION_ANNOTATIONS_TRACING_TARGET;
pub(crate) use self::transaction::TRACING_TARGET_MATERIALIZER_TRANSACTION_ANNOTATIONS;
#[cfg(test)]
mod tests {

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/admin.rs
// version: 5
// version: 6
//! `admin` materializer family.
@@ -16,4 +16,4 @@ pub use self::core::materializer_admin_materialize_token2022_state_snapshots;
/// Canonical processor name for the native and SPL administration materializer.
pub(crate) use self::constants::MT_ADMIN_PROCESSOR_NAME;
/// Canonical tracing target for the native and SPL administration materializer.
pub(crate) use self::constants::MT_ADMIN_TRACING_TARGET;
pub(crate) use self::constants::TRACING_TARGET_MATERIALIZER_ADMIN;

View File

@@ -1,9 +1,9 @@
// file: kb-lib/src/materializer/admin/constants.rs
// version: 1
// version: 2
//! Local constants for the native and SPL administration materializer.
/// Canonical processor name for this component.
pub(crate) const MT_ADMIN_PROCESSOR_NAME: &str = "solana_native_admin";
/// Canonical tracing target for this component.
pub(crate) const MT_ADMIN_TRACING_TARGET: &str = "kb-lib.materializer.admin";
pub(crate) const TRACING_TARGET_MATERIALIZER_ADMIN: &str = "kb-lib.materializer.admin";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/admin/core.rs
// version: 16
// version: 17
//! Stable administrative projections derived from exact committed observations.
@@ -155,7 +155,7 @@ impl crate::MtApiEventMaterializer for crate::MtAdminMaterializer {
std::option::Option::Some(value) => value,
std::option::Option::None => {
tracing::debug!(
target: crate::MT_ADMIN_TRACING_TARGET,
target: crate::TRACING_TARGET_MATERIALIZER_ADMIN,
action = "materialize_admin",
surface_code = %observation.event.surface_code.0.as_str(),
entry_code = %observation.event.event_name.0.as_str(),
@@ -173,7 +173,7 @@ impl crate::MtApiEventMaterializer for crate::MtAdminMaterializer {
}
if observation.transaction_failed || !observation.observation_committed {
tracing::debug!(
target: crate::MT_ADMIN_TRACING_TARGET,
target: crate::TRACING_TARGET_MATERIALIZER_ADMIN,
action = "materialize_admin",
surface_code = %observation.event.surface_code.0.as_str(),
entry_code = %observation.event.event_name.0.as_str(),
@@ -223,7 +223,7 @@ impl crate::MtApiEventMaterializer for crate::MtAdminMaterializer {
}),
};
tracing::debug!(
target: crate::MT_ADMIN_TRACING_TARGET,
target: crate::TRACING_TARGET_MATERIALIZER_ADMIN,
action = "materialize_admin",
surface_code = %observation.event.surface_code.0.as_str(),
entry_code = %observation.event.event_name.0.as_str(),

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/compliance.rs
// version: 3
// version: 4
//! `compliance` materializer family.
@@ -10,4 +10,4 @@ mod constants;
pub use self::audit::MtComplianceAuditMaterializer;
/// Canonical tracing target for the native compliance audit materializer.
pub(crate) use self::constants::MT_COMPLIANCE_AUDIT_TRACING_TARGET;
pub(crate) use self::constants::TRACING_TARGET_MATERIALIZER_COMPLIANCE_AUDIT;

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/compliance/audit.rs
// version: 7
// version: 8
//! Stable compliance-audit projections for committed native bytecode mutations and execution profiles.
@@ -113,7 +113,7 @@ impl crate::MtApiEventMaterializer for crate::MtComplianceAuditMaterializer {
std::option::Option::Some(value) => value,
std::option::Option::None => {
tracing::debug!(
target: crate::MT_COMPLIANCE_AUDIT_TRACING_TARGET,
target: crate::TRACING_TARGET_MATERIALIZER_COMPLIANCE_AUDIT,
action = "materialize_compliance_audit",
surface_code = %observation.event.surface_code.0.as_str(),
entry_code = %observation.event.event_name.0.as_str(),
@@ -130,7 +130,7 @@ impl crate::MtApiEventMaterializer for crate::MtComplianceAuditMaterializer {
&& (observation.transaction_failed || !observation.observation_committed)
{
tracing::debug!(
target: crate::MT_COMPLIANCE_AUDIT_TRACING_TARGET,
target: crate::TRACING_TARGET_MATERIALIZER_COMPLIANCE_AUDIT,
action = "materialize_compliance_audit",
surface_code = %observation.event.surface_code.0.as_str(),
entry_code = %observation.event.event_name.0.as_str(),
@@ -178,7 +178,7 @@ impl crate::MtApiEventMaterializer for crate::MtComplianceAuditMaterializer {
}),
};
tracing::debug!(
target: crate::MT_COMPLIANCE_AUDIT_TRACING_TARGET,
target: crate::TRACING_TARGET_MATERIALIZER_COMPLIANCE_AUDIT,
action = "materialize_compliance_audit",
surface_code = %observation.event.surface_code.0.as_str(),
entry_code = %observation.event.event_name.0.as_str(),
@@ -225,7 +225,7 @@ fn materialize_compute_budget_profile(
}),
};
tracing::debug!(
target: crate::MT_COMPLIANCE_AUDIT_TRACING_TARGET,
target: crate::TRACING_TARGET_MATERIALIZER_COMPLIANCE_AUDIT,
action = "materialize_compute_budget_profile",
surface_code = %observation.event.surface_code.0.as_str(),
entry_code = %observation.event.event_name.0.as_str(),

View File

@@ -1,7 +1,8 @@
// file: kb-lib/src/materializer/compliance/constants.rs
// version: 1
// version: 2
//! Local constants for the native compliance audit materializer.
/// Canonical tracing target for this component.
pub(crate) const MT_COMPLIANCE_AUDIT_TRACING_TARGET: &str = "kb-lib.materializer.compliance";
pub(crate) const TRACING_TARGET_MATERIALIZER_COMPLIANCE_AUDIT: &str =
"kb-lib.materializer.compliance";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/lifecycle.rs
// version: 3
// version: 4
//! `lifecycle` materializer family.
@@ -10,4 +10,4 @@ mod core;
pub use self::core::MtLifecycleMaterializer;
/// Canonical tracing target for the native lifecycle materializer.
pub(crate) use self::constants::MT_LIFECYCLE_TRACING_TARGET;
pub(crate) use self::constants::TRACING_TARGET_MATERIALIZER_LIFECYCLE;

View File

@@ -1,7 +1,7 @@
// file: kb-lib/src/materializer/lifecycle/constants.rs
// version: 1
// version: 2
//! Local constants for the native lifecycle materializer.
/// Canonical tracing target for this component.
pub(crate) const MT_LIFECYCLE_TRACING_TARGET: &str = "kb-lib.materializer.lifecycle";
pub(crate) const TRACING_TARGET_MATERIALIZER_LIFECYCLE: &str = "kb-lib.materializer.lifecycle";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/lifecycle/core.rs
// version: 14
// version: 15
//! Stable lifecycle projections derived from exact decoded observations.
@@ -181,7 +181,7 @@ impl crate::MtApiEventMaterializer for crate::MtLifecycleMaterializer {
std::option::Option::Some(value) => value,
std::option::Option::None => {
tracing::debug!(
target: crate::MT_LIFECYCLE_TRACING_TARGET,
target: crate::TRACING_TARGET_MATERIALIZER_LIFECYCLE,
action = "materialize_lifecycle",
surface_code = %observation.event.surface_code.0.as_str(),
entry_code = %observation.event.event_name.0.as_str(),
@@ -193,7 +193,7 @@ impl crate::MtApiEventMaterializer for crate::MtLifecycleMaterializer {
};
if observation.transaction_failed || !observation.observation_committed {
tracing::debug!(
target: crate::MT_LIFECYCLE_TRACING_TARGET,
target: crate::TRACING_TARGET_MATERIALIZER_LIFECYCLE,
action = "materialize_lifecycle",
surface_code = %observation.event.surface_code.0.as_str(),
entry_code = %observation.event.event_name.0.as_str(),
@@ -225,7 +225,7 @@ impl crate::MtApiEventMaterializer for crate::MtLifecycleMaterializer {
let projection_details =
projection_details(projection, &accounts, &parameters, operation.as_str());
tracing::debug!(
target: crate::MT_LIFECYCLE_TRACING_TARGET,
target: crate::TRACING_TARGET_MATERIALIZER_LIFECYCLE,
action = "materialize_lifecycle",
surface_code = %observation.event.surface_code.0.as_str(),
entry_code = %observation.event.event_name.0.as_str(),

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/risk.rs
// version: 2
// version: 3
//! `risk` materializer family.
@@ -14,4 +14,4 @@ pub(crate) use self::constants::MT_RISK_PROCESSOR_NAME;
/// Stable projection contract version for SPL Token and ATA risk facts.
pub(crate) use self::constants::MT_RISK_PROJECTION_VERSION;
/// Canonical tracing target for SPL Token and ATA risk facts.
pub(crate) use self::constants::MT_RISK_TRACING_TARGET;
pub(crate) use self::constants::TRACING_TARGET_MATERIALIZER_RISK;

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/risk/constants.rs
// version: 1
// version: 2
//! Local constants for fact-only risk projections.
@@ -8,4 +8,4 @@ pub(crate) const MT_RISK_PROCESSOR_NAME: &str = "spl_token_risk";
/// Stable projection payload contract version.
pub(crate) const MT_RISK_PROJECTION_VERSION: u32 = 2;
/// Canonical tracing target for this component.
pub(crate) const MT_RISK_TRACING_TARGET: &str = "kb-lib.materializer.risk";
pub(crate) const TRACING_TARGET_MATERIALIZER_RISK: &str = "kb-lib.materializer.risk";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/risk/core.rs
// version: 2
// version: 3
//! Stable fact-only risk projections for committed SPL Token and ATA observations.
@@ -157,7 +157,7 @@ impl crate::MtApiEventMaterializer for crate::MtRiskMaterializer {
}
}),
};
tracing::debug!(target: crate::MT_RISK_TRACING_TARGET, action = "materialize_token_risk_fact", risk_kind, operation, ata, "materialize committed SPL Token or ATA risk fact");
tracing::debug!(target: crate::TRACING_TARGET_MATERIALIZER_RISK, action = "materialize_token_risk_fact", risk_kind, operation, ata, "materialize committed SPL Token or ATA risk fact");
return crate::MtApiMaterializerExecutionResult {
status: crate::MtApiMaterializerOutcomeStatus::Inserted,
outputs: std::vec![output],

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/staking.rs
// version: 3
// version: 4
//! `staking` materializer family.
@@ -10,4 +10,4 @@ mod core;
pub use self::core::MtStakingMaterializer;
/// Canonical tracing target for the native stake and vote materializer.
pub(crate) use self::constants::MT_STAKING_TRACING_TARGET;
pub(crate) use self::constants::TRACING_TARGET_MATERIALIZER_STAKING;

View File

@@ -1,7 +1,7 @@
// file: kb-lib/src/materializer/staking/constants.rs
// version: 1
// version: 2
//! Local constants for the native stake and vote materializer.
/// Canonical tracing target for this component.
pub(crate) const MT_STAKING_TRACING_TARGET: &str = "kb-lib.materializer.staking";
pub(crate) const TRACING_TARGET_MATERIALIZER_STAKING: &str = "kb-lib.materializer.staking";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/staking/core.rs
// version: 7
// version: 8
//! Instruction-level staking projections for native Stake and Vote observations.
@@ -162,7 +162,7 @@ impl crate::MtApiEventMaterializer for crate::MtStakingMaterializer {
std::option::Option::Some(value) => value,
std::option::Option::None => {
tracing::debug!(
target: crate::MT_STAKING_TRACING_TARGET,
target: crate::TRACING_TARGET_MATERIALIZER_STAKING,
action = "materialize_staking",
surface_code = %observation.event.surface_code.0.as_str(),
entry_code = %observation.event.event_name.0.as_str(),
@@ -177,7 +177,7 @@ impl crate::MtApiEventMaterializer for crate::MtStakingMaterializer {
}
if observation.transaction_failed || !observation.observation_committed {
tracing::debug!(
target: crate::MT_STAKING_TRACING_TARGET,
target: crate::TRACING_TARGET_MATERIALIZER_STAKING,
action = "materialize_staking",
surface_code = %observation.event.surface_code.0.as_str(),
entry_code = %observation.event.event_name.0.as_str(),
@@ -225,7 +225,7 @@ impl crate::MtApiEventMaterializer for crate::MtStakingMaterializer {
}),
};
tracing::debug!(
target: crate::MT_STAKING_TRACING_TARGET,
target: crate::TRACING_TARGET_MATERIALIZER_STAKING,
action = "materialize_staking",
surface_code = %observation.event.surface_code.0.as_str(),
entry_code = %observation.event.event_name.0.as_str(),

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/token.rs
// version: 4
// version: 5
//! `token` materializer family.
@@ -19,4 +19,4 @@ pub(crate) use self::constants::MT_TOKEN_ACCOUNTS_PROCESSOR_NAME;
/// Stable projection contract version for Token, ATA and Token-2022 account projections.
pub(crate) use self::constants::MT_TOKEN_ACCOUNTS_PROJECTION_VERSION;
/// Canonical tracing target for Token, ATA and Token-2022 account projections.
pub(crate) use self::constants::MT_TOKEN_ACCOUNTS_TRACING_TARGET;
pub(crate) use self::constants::TRACING_TARGET_MATERIALIZER_TOKEN_ACCOUNTS;

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/token/accounts.rs
// version: 3
// version: 4
//! Stable committed SPL Token mutation and ATA lifecycle projections.
@@ -157,7 +157,7 @@ impl crate::MtApiEventMaterializer for crate::MtTokenAccountsMaterializer {
}),
};
tracing::debug!(
target: crate::MT_TOKEN_ACCOUNTS_TRACING_TARGET,
target: crate::TRACING_TARGET_MATERIALIZER_TOKEN_ACCOUNTS,
action = "materialize_token_account_mutation",
signature = %observation.event.signature.0,
instruction_path = %observation.event.instruction_path.0,
@@ -285,7 +285,7 @@ fn materialize_ata(
}),
};
tracing::debug!(
target: crate::MT_TOKEN_ACCOUNTS_TRACING_TARGET,
target: crate::TRACING_TARGET_MATERIALIZER_TOKEN_ACCOUNTS,
action = "materialize_ata_lifecycle",
signature = %observation.event.signature.0,
instruction_path = %observation.event.instruction_path.0,

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/token/constants.rs
// version: 1
// version: 2
//! Local constants for classic SPL Token account projections.
@@ -8,4 +8,4 @@ pub(crate) const MT_TOKEN_ACCOUNTS_PROCESSOR_NAME: &str = "spl_token_accounts";
/// Stable projection payload contract version.
pub(crate) const MT_TOKEN_ACCOUNTS_PROJECTION_VERSION: u32 = 3;
/// Canonical tracing target for this component.
pub(crate) const MT_TOKEN_ACCOUNTS_TRACING_TARGET: &str = "kb-lib.materializer.token";
pub(crate) const TRACING_TARGET_MATERIALIZER_TOKEN_ACCOUNTS: &str = "kb-lib.materializer.token";

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/transaction.rs
// version: 2
// version: 3
//! `transaction` materializer family.
@@ -16,4 +16,4 @@ pub(crate) use self::constants::MT_TRANSACTION_ANNOTATIONS_PROCESSOR_NAME;
/// Stable projection contract version for transaction annotations.
pub(crate) use self::constants::MT_TRANSACTION_ANNOTATIONS_PROJECTION_VERSION;
/// Canonical tracing target for transaction annotations.
pub(crate) use self::constants::MT_TRANSACTION_ANNOTATIONS_TRACING_TARGET;
pub(crate) use self::constants::TRACING_TARGET_MATERIALIZER_TRANSACTION_ANNOTATIONS;

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/transaction/annotations.rs
// version: 3
// version: 4
//! Exact committed SPL Memo transaction annotation projection.
@@ -179,7 +179,7 @@ impl crate::MtApiEventMaterializer for crate::MtTransactionAnnotationMaterialize
}),
};
tracing::debug!(
target: crate::MT_TRANSACTION_ANNOTATIONS_TRACING_TARGET,
target: crate::TRACING_TARGET_MATERIALIZER_TRANSACTION_ANNOTATIONS,
action = "materialize_transaction_annotation",
signature = %observation.event.signature.0,
instruction_path = %observation.event.instruction_path.0,

View File

@@ -1,5 +1,5 @@
// file: kb-lib/src/materializer/transaction/constants.rs
// version: 1
// version: 2
//! Local constants for the transaction annotation materializer.
@@ -10,5 +10,5 @@ pub(crate) const MT_TRANSACTION_ANNOTATIONS_PROCESSOR_NAME: &str = "transaction_
/// Stable projection contract version.
pub(crate) const MT_TRANSACTION_ANNOTATIONS_PROJECTION_VERSION: u32 = 1;
/// Canonical tracing target for this component.
pub(crate) const MT_TRANSACTION_ANNOTATIONS_TRACING_TARGET: &str =
pub(crate) const TRACING_TARGET_MATERIALIZER_TRANSACTION_ANNOTATIONS: &str =
"kb-lib.materializer.transaction";