v0.1.0-pre.009

This commit is contained in:
2026-07-23 21:19:45 +02:00
parent 12b42a31b8
commit 51ed3d11cf
22 changed files with 9580 additions and 86 deletions

View File

@@ -1,5 +1,5 @@
// file: kb-program-ids/src/constants.rs
// version: 4
// version: 5
//! Canonical Solana program and well-known account identifiers.
@@ -27,6 +27,9 @@ pub const INCINERATOR_PROGRAM_ID: &str = "1nc1nerator111111111111111111111111111
pub const LOADER_V4_PROGRAM_ID: &str = "LoaderV411111111111111111111111111111111111";
/// Native Loader program identifier.
pub const NATIVE_LOADER_PROGRAM_ID: &str = "NativeLoader1111111111111111111111111111111";
/// Metaplex Token Metadata program identifier.
pub const METADATA_METAPLEX_TOKEN_METADATA_PROGRAM_ID: &str =
"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
/// Secp256k1 precompile program identifier.
pub const SECP256K1_PROGRAM_ID: &str = "KeccakSecp256k11111111111111111111111111111";
/// Secp256r1 precompile program identifier.
@@ -198,6 +201,10 @@ pub(crate) const PROGRAM_ID_ENTRIES: &[crate::ProgramIdEntry] = &[
name: "incinerator",
address: crate::INCINERATOR_PROGRAM_ID,
},
crate::ProgramIdEntry {
name: "metadata_metaplex_token_metadata",
address: crate::METADATA_METAPLEX_TOKEN_METADATA_PROGRAM_ID,
},
crate::ProgramIdEntry {
name: "loader_v4",
address: crate::LOADER_V4_PROGRAM_ID,

View File

@@ -1,5 +1,5 @@
// file: kb-program-ids/src/lib.rs
// version: 7
// version: 8
#![forbid(unsafe_code)]
#![deny(unreachable_pub)]
@@ -39,6 +39,8 @@ pub use constants::FEATURE_PROGRAM_ID;
pub use constants::INCINERATOR_PROGRAM_ID;
/// Loader version 4 program identifier.
pub use constants::LOADER_V4_PROGRAM_ID;
/// Metaplex Token Metadata program identifier.
pub use constants::METADATA_METAPLEX_TOKEN_METADATA_PROGRAM_ID;
/// Native Loader program identifier.
pub use constants::NATIVE_LOADER_PROGRAM_ID;
/// Secp256k1 precompile program identifier.

View File

@@ -1,5 +1,5 @@
// file: kb-program-ids/src/programs.rs
// version: 1
// version: 2
//! Enumerable canonical program registry.
@@ -65,7 +65,7 @@ mod tests {
assert!(codes.insert(entry.code()));
assert!(program_ids.insert(entry.program_id()));
}
assert_eq!(crate::registered_program_ids().len(), 32);
assert_eq!(crate::registered_program_ids().len(), 33);
}
#[test]
@@ -122,8 +122,8 @@ mod tests {
}
#[test]
fn spl_primitives_are_registered_without_joining_native_surfaces() {
let spl_program_ids = [
fn protocol_primitives_are_registered_without_joining_native_surfaces() {
let protocol_program_ids = [
crate::SPL_MEMO_V1_PROGRAM_ID,
crate::SPL_MEMO_V3_PROGRAM_ID,
crate::SPL_MEMO_V4_PROGRAM_ID,
@@ -131,8 +131,9 @@ mod tests {
crate::SPL_TOKEN_2022_PROGRAM_ID,
crate::SPL_TOKEN_2022_ELGAMAL_REGISTRY_PROGRAM_ID,
crate::ASSOCIATED_TOKEN_PROGRAM_ID,
crate::METADATA_METAPLEX_TOKEN_METADATA_PROGRAM_ID,
];
for program_id in spl_program_ids {
for program_id in protocol_program_ids {
assert!(crate::find_registered_program_id(program_id).is_some());
assert!(
!crate::native_program_ids()