pub trait InvokeLightSystemProgram {
// Required methods
fn invoke<AI>(
self,
accounts: impl CpiAccountsTrait<AI>,
) -> Result<(), LightSdkTypesError>
where AI: AccountInfoTrait + Clone;
fn invoke_write_to_cpi_context_first<AI>(
self,
accounts: impl CpiAccountsTrait<AI>,
) -> Result<(), LightSdkTypesError>
where AI: AccountInfoTrait + Clone;
fn invoke_write_to_cpi_context_set<AI>(
self,
accounts: impl CpiAccountsTrait<AI>,
) -> Result<(), LightSdkTypesError>
where AI: AccountInfoTrait + Clone;
fn invoke_execute_cpi_context<AI>(
self,
accounts: impl CpiAccountsTrait<AI>,
) -> Result<(), LightSdkTypesError>
where AI: AccountInfoTrait + Clone;
}Expand description
Trait for invoking the Light system program via CPI.
Provides invoke, invoke_write_to_cpi_context_first,
invoke_write_to_cpi_context_set, and invoke_execute_cpi_context methods.
Blanket-implemented for all types implementing LightInstructionData + LightCpi.
Required Methods§
fn invoke<AI>(
self,
accounts: impl CpiAccountsTrait<AI>,
) -> Result<(), LightSdkTypesError>where
AI: AccountInfoTrait + Clone,
fn invoke_write_to_cpi_context_first<AI>(
self,
accounts: impl CpiAccountsTrait<AI>,
) -> Result<(), LightSdkTypesError>where
AI: AccountInfoTrait + Clone,
fn invoke_write_to_cpi_context_set<AI>(
self,
accounts: impl CpiAccountsTrait<AI>,
) -> Result<(), LightSdkTypesError>where
AI: AccountInfoTrait + Clone,
fn invoke_execute_cpi_context<AI>(
self,
accounts: impl CpiAccountsTrait<AI>,
) -> Result<(), LightSdkTypesError>where
AI: AccountInfoTrait + Clone,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.