Struct solana_sdk::precompiles::Precompile
source · pub struct Precompile {
pub program_id: Pubkey,
pub feature: Option<Pubkey>,
pub verify_fn: Verify,
}
Expand description
Information on a precompiled program
Fields§
§program_id: Pubkey
Program id
feature: Option<Pubkey>
Feature to enable on, None
indicates always enabled
verify_fn: Verify
Verification function
Implementations§
source§impl Precompile
impl Precompile
sourcepub fn new(program_id: Pubkey, feature: Option<Pubkey>, verify_fn: Verify) -> Self
pub fn new(program_id: Pubkey, feature: Option<Pubkey>, verify_fn: Verify) -> Self
Creates a new Precompile
sourcepub fn check_id<F>(&self, program_id: &Pubkey, is_enabled: F) -> boolwhere
F: Fn(&Pubkey) -> bool,
pub fn check_id<F>(&self, program_id: &Pubkey, is_enabled: F) -> boolwhere F: Fn(&Pubkey) -> bool,
Check if a program id is this precompiled program
sourcepub fn verify(
&self,
data: &[u8],
instruction_datas: &[&[u8]],
feature_set: &Arc<FeatureSet>
) -> Result<(), PrecompileError>
pub fn verify( &self, data: &[u8], instruction_datas: &[&[u8]], feature_set: &Arc<FeatureSet> ) -> Result<(), PrecompileError>
Verify this precompiled program