v0.4.8-pre.007

This commit is contained in:
2026-08-06 00:52:08 +02:00
parent 80c439c988
commit 44088c71c9
122 changed files with 8903 additions and 3914 deletions

View File

@@ -1,49 +1,65 @@
// file: kb-lib/src/executor/metadata/solana_program_metadata.rs
// version: 1
// version: 2
//! Reserved executor for `metadata_solana_program_metadata`.
//! Typed executor for Solana Program Metadata.
/// Reserved executor for the `metadata_solana_program_metadata` program surface.
#[derive(Clone, Debug, Default)]
pub struct ExMetadataSolanaProgramMetadataExecutor;
mod builder;
mod constants;
mod executor;
mod intent;
impl crate::ExApiInstructionExecutor for crate::ExMetadataSolanaProgramMetadataExecutor {
fn executor_name(&self) -> &'static str {
return "kb-lib.executor.metadata.solana_program_metadata";
}
/// Derives the canonical Metadata PDA for one program and seed.
pub use self::builder::executor_metadata_solana_program_metadata_derive_canonical_pda;
/// Derives the non-canonical Metadata PDA for one program, authority and seed.
pub use self::builder::executor_metadata_solana_program_metadata_derive_non_canonical_pda;
/// Stable operation code for `Allocate`.
pub use self::constants::EX_METADATA_SPM_ALLOCATE_OPERATION;
/// Stable operation code for `Close`.
pub use self::constants::EX_METADATA_SPM_CLOSE_OPERATION;
/// Operations requiring explicit destructive-operation approval.
pub use self::constants::EX_METADATA_SPM_DESTRUCTIVE_OPERATION_CODES;
/// Stable operation code for `Extend`.
pub use self::constants::EX_METADATA_SPM_EXTEND_OPERATION;
/// Stable operation code for `Initialize`.
pub use self::constants::EX_METADATA_SPM_INITIALIZE_OPERATION;
/// Conservative maximum inline content accepted by Solana Program Metadata builders.
pub use self::constants::EX_METADATA_SPM_MAX_INLINE_DATA_BYTES;
/// Stable operation code for `SetAuthority`.
pub use self::constants::EX_METADATA_SPM_SET_AUTHORITY_OPERATION;
/// Stable operation code for `SetData`.
pub use self::constants::EX_METADATA_SPM_SET_DATA_OPERATION;
/// Stable operation code for `SetImmutable`.
pub use self::constants::EX_METADATA_SPM_SET_IMMUTABLE_OPERATION;
/// Exact current operation inventory implemented by the executor.
pub use self::constants::EX_METADATA_SPM_SUPPORTED_OPERATION_CODES;
/// Stable operation code for `Trim`.
pub use self::constants::EX_METADATA_SPM_TRIM_OPERATION;
/// Stable operation code for `Write`.
pub use self::constants::EX_METADATA_SPM_WRITE_OPERATION;
/// Typed Solana Program Metadata executor.
pub use self::executor::ExMetadataSolanaProgramMetadataExecutor;
/// Compression written by execution intents.
pub use self::intent::ExMetadataSpmCompression;
/// Exact inline content accepted by metadata instructions.
pub use self::intent::ExMetadataSpmDataInput;
/// On-chain data-source discriminator.
pub use self::intent::ExMetadataSpmDataSource;
/// Encoding written by execution intents.
pub use self::intent::ExMetadataSpmEncoding;
/// Complete Solana Program Metadata execution intent.
pub use self::intent::ExMetadataSpmExecutionIntent;
/// Structured content format written by execution intents.
pub use self::intent::ExMetadataSpmFormat;
/// One exact Solana Program Metadata operation.
pub use self::intent::ExMetadataSpmOperation;
/// Optional program-upgrade-authority validation context.
pub use self::intent::ExMetadataSpmProgramContext;
/// Source used by `SetData`.
pub use self::intent::ExMetadataSpmSetDataSource;
/// Source used by `Write`.
pub use self::intent::ExMetadataSpmWriteSource;
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::METADATA_SOLANA_PROGRAM_METADATA_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"metadata_solana_program_metadata"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb-lib.executor.metadata.solana_program_metadata".to_string(),
instruction_count: 0,
payload_json,
});
}
}
/// Crate-root access to the exact prepared-plan builder.
pub(crate) use self::builder::executor_metadata_solana_program_metadata_build_prepared_plan;
/// Stable executor name.
pub(crate) use self::constants::EX_METADATA_SPM_EXECUTOR_NAME;