CompressedAccountInfoTrait

Trait CompressedAccountInfoTrait 

Source
pub trait CompressedAccountInfoTrait {
    // Required methods
    fn init(
        &mut self,
        discriminator: [u8; 8],
        address: Option<[u8; 32]>,
        output_state_tree_index: u8,
    ) -> Result<(), LightSdkTypesError>;
    fn meta_mut<M>(
        &mut self,
        input_account_meta: &M,
        input_data_hash: [u8; 32],
        discriminator: [u8; 8],
        output_state_tree_index: u8,
    ) -> Result<(), LightSdkTypesError>
       where M: CompressedAccountMetaTrait;
    fn meta_close<M>(
        &mut self,
        input_account_meta: &M,
        input_data_hash: [u8; 32],
        discriminator: [u8; 8],
    ) -> Result<(), LightSdkTypesError>
       where M: CompressedAccountMetaTrait;
    fn input_compressed_account(
        &self,
        owner: Pubkey,
    ) -> Result<Option<PackedCompressedAccountWithMerkleContext>, LightSdkTypesError>;
    fn output_compressed_account(
        &self,
        owner: Pubkey,
    ) -> Result<Option<OutputCompressedAccountWithPackedContext>, LightSdkTypesError>;
}

Required Methods§

Source

fn init( &mut self, discriminator: [u8; 8], address: Option<[u8; 32]>, output_state_tree_index: u8, ) -> Result<(), LightSdkTypesError>

Source

fn meta_mut<M>( &mut self, input_account_meta: &M, input_data_hash: [u8; 32], discriminator: [u8; 8], output_state_tree_index: u8, ) -> Result<(), LightSdkTypesError>

Source

fn meta_close<M>( &mut self, input_account_meta: &M, input_data_hash: [u8; 32], discriminator: [u8; 8], ) -> Result<(), LightSdkTypesError>

Source

fn input_compressed_account( &self, owner: Pubkey, ) -> Result<Option<PackedCompressedAccountWithMerkleContext>, LightSdkTypesError>

Source

fn output_compressed_account( &self, owner: Pubkey, ) -> Result<Option<OutputCompressedAccountWithPackedContext>, LightSdkTypesError>

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.

Implementations on Foreign Types§

Source§

impl CompressedAccountInfoTrait for CompressedAccountInfo

Source§

fn init( &mut self, discriminator: [u8; 8], address: Option<[u8; 32]>, output_state_tree_index: u8, ) -> Result<(), LightSdkTypesError>

Initializes a compressed account info with address.

  1. The account is zeroed, data has to be added in a separate step.
  2. Once data is added the data hash has to be added.
Source§

fn meta_mut<M>( &mut self, input_account_meta: &M, input_data_hash: [u8; 32], discriminator: [u8; 8], output_state_tree_index: u8, ) -> Result<(), LightSdkTypesError>

Source§

fn meta_close<M>( &mut self, input_account_meta: &M, input_data_hash: [u8; 32], discriminator: [u8; 8], ) -> Result<(), LightSdkTypesError>

Source§

fn input_compressed_account( &self, owner: Pubkey, ) -> Result<Option<PackedCompressedAccountWithMerkleContext>, LightSdkTypesError>

Source§

fn output_compressed_account( &self, owner: Pubkey, ) -> Result<Option<OutputCompressedAccountWithPackedContext>, LightSdkTypesError>

Implementors§