clone_solana_builtins/
prototype.rs1use {
4 crate::core_bpf_migration::CoreBpfMigrationConfig,
5 clone_solana_program_runtime::invoke_context::BuiltinFunctionWithContext,
6 clone_solana_pubkey::Pubkey,
7};
8
9pub struct BuiltinPrototype {
11 pub core_bpf_migration_config: Option<CoreBpfMigrationConfig>,
13 pub enable_feature_id: Option<Pubkey>,
16 pub program_id: Pubkey,
18 pub name: &'static str,
20 pub entrypoint: BuiltinFunctionWithContext,
22}
23
24impl std::fmt::Debug for BuiltinPrototype {
25 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
26 let mut builder = f.debug_struct("BuiltinPrototype");
27 builder.field("program_id", &self.program_id);
28 builder.field("name", &self.name);
29 builder.field("enable_feature_id", &self.enable_feature_id);
30 builder.field("core_bpf_migration_config", &self.core_bpf_migration_config);
31 builder.finish()
32 }
33}
34
35#[derive(Debug)]
40pub struct StatelessBuiltinPrototype {
41 pub core_bpf_migration_config: Option<CoreBpfMigrationConfig>,
43 pub program_id: Pubkey,
45 pub name: &'static str,
47}