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
sourceimpl 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) -> bool where
F: Fn(&Pubkey) -> bool,
pub fn check_id<F>(&self, program_id: &Pubkey, is_enabled: F) -> bool where
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
sourceimpl<T> AbiExample for T
impl<T> AbiExample for T
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more