solana_builtins/
prototype.rs1use {
4 crate::core_bpf_migration::CoreBpfMigrationConfig,
5 solana_program_runtime::invoke_context::BuiltinFunctionWithContext, solana_pubkey::Pubkey,
6};
7
8pub struct BuiltinPrototype {
10 pub core_bpf_migration_config: Option<CoreBpfMigrationConfig>,
12 pub enable_feature_id: Option<Pubkey>,
15 pub program_id: Pubkey,
17 pub name: &'static str,
19 pub entrypoint: BuiltinFunctionWithContext,
21}
22
23impl std::fmt::Debug for BuiltinPrototype {
24 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
25 let mut builder = f.debug_struct("BuiltinPrototype");
26 builder.field("program_id", &self.program_id);
27 builder.field("name", &self.name);
28 builder.field("enable_feature_id", &self.enable_feature_id);
29 builder.field("core_bpf_migration_config", &self.core_bpf_migration_config);
30 builder.finish()
31 }
32}
33
34#[derive(Debug)]
39pub struct StatelessBuiltinPrototype {
40 pub core_bpf_migration_config: Option<CoreBpfMigrationConfig>,
42 pub program_id: Pubkey,
44 pub name: &'static str,
46}