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
Auto Trait Implementations§
impl RefUnwindSafe for Precompile
impl Send for Precompile
impl Sync for Precompile
impl Unpin for Precompile
impl UnwindSafe for Precompile
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more