Trait Indexer

Source
pub trait Indexer<R>:
    Sync
    + Send
    + Debug
    + 'static
where R: RpcConnection,
{
Show 19 methods // Required methods fn get_multiple_compressed_account_proofs( &self, hashes: Vec<String>, ) -> impl Future<Output = Result<Vec<MerkleProof>, IndexerError>> + Send + Sync; fn get_rpc_compressed_accounts_by_owner( &self, owner: &Pubkey, ) -> impl Future<Output = Result<Vec<String>, IndexerError>> + Send + Sync; fn get_multiple_new_address_proofs( &self, merkle_tree_pubkey: [u8; 32], addresses: Vec<[u8; 32]>, ) -> impl Future<Output = Result<Vec<NewAddressProofWithContext>, IndexerError>> + Send + Sync; // Provided methods fn account_nullified( &mut self, _merkle_tree_pubkey: Pubkey, _account_hash: &str, ) { ... } fn address_tree_updated( &mut self, _merkle_tree_pubkey: Pubkey, _context: &NewAddressProofWithContext, ) { ... } fn get_state_merkle_tree_accounts( &self, _pubkeys: &[Pubkey], ) -> Vec<StateMerkleTreeAccounts> { ... } fn add_event_and_compressed_accounts( &mut self, _event: &PublicTransactionEvent, ) -> (Vec<CompressedAccountWithMerkleContext>, Vec<TokenDataWithContext>) { ... } fn get_state_merkle_trees(&self) -> &Vec<StateMerkleTreeBundle> { ... } fn get_state_merkle_trees_mut(&mut self) -> &mut Vec<StateMerkleTreeBundle> { ... } fn get_address_merkle_trees(&self) -> &Vec<AddressMerkleTreeBundle> { ... } fn get_address_merkle_trees_mut( &mut self, ) -> &mut Vec<AddressMerkleTreeBundle> { ... } fn get_token_compressed_accounts(&self) -> &Vec<TokenDataWithContext> { ... } fn get_payer(&self) -> &Keypair { ... } fn get_group_pda(&self) -> &Pubkey { ... } async fn create_proof_for_compressed_accounts( &mut self, _compressed_accounts: Option<&[[u8; 32]]>, _state_merkle_tree_pubkeys: Option<&[Pubkey]>, _new_addresses: Option<&[[u8; 32]]>, _address_merkle_tree_pubkeys: Option<Vec<Pubkey>>, _rpc: &mut R, ) -> ProofRpcResult { ... } fn add_address_merkle_tree_accounts( &mut self, _merkle_tree_keypair: &Keypair, _queue_keypair: &Keypair, _owning_program_id: Option<Pubkey>, ) -> AddressMerkleTreeAccounts { ... } fn get_compressed_accounts_by_owner( &self, _owner: &Pubkey, ) -> Vec<CompressedAccountWithMerkleContext> { ... } fn get_compressed_token_accounts_by_owner( &self, _owner: &Pubkey, ) -> Vec<TokenDataWithContext> { ... } fn add_state_bundle(&mut self, _state_bundle: StateMerkleTreeBundle) { ... }
}

Required Methods§

Source

fn get_multiple_compressed_account_proofs( &self, hashes: Vec<String>, ) -> impl Future<Output = Result<Vec<MerkleProof>, IndexerError>> + Send + Sync

Source

fn get_rpc_compressed_accounts_by_owner( &self, owner: &Pubkey, ) -> impl Future<Output = Result<Vec<String>, IndexerError>> + Send + Sync

Source

fn get_multiple_new_address_proofs( &self, merkle_tree_pubkey: [u8; 32], addresses: Vec<[u8; 32]>, ) -> impl Future<Output = Result<Vec<NewAddressProofWithContext>, IndexerError>> + Send + Sync

Provided Methods§

Source

fn account_nullified( &mut self, _merkle_tree_pubkey: Pubkey, _account_hash: &str, )

Source

fn address_tree_updated( &mut self, _merkle_tree_pubkey: Pubkey, _context: &NewAddressProofWithContext, )

Source

fn get_state_merkle_tree_accounts( &self, _pubkeys: &[Pubkey], ) -> Vec<StateMerkleTreeAccounts>

Source

fn add_event_and_compressed_accounts( &mut self, _event: &PublicTransactionEvent, ) -> (Vec<CompressedAccountWithMerkleContext>, Vec<TokenDataWithContext>)

Source

fn get_state_merkle_trees(&self) -> &Vec<StateMerkleTreeBundle>

Source

fn get_state_merkle_trees_mut(&mut self) -> &mut Vec<StateMerkleTreeBundle>

Source

fn get_address_merkle_trees(&self) -> &Vec<AddressMerkleTreeBundle>

Source

fn get_address_merkle_trees_mut(&mut self) -> &mut Vec<AddressMerkleTreeBundle>

Source

fn get_token_compressed_accounts(&self) -> &Vec<TokenDataWithContext>

Source

fn get_payer(&self) -> &Keypair

Source

fn get_group_pda(&self) -> &Pubkey

Source

async fn create_proof_for_compressed_accounts( &mut self, _compressed_accounts: Option<&[[u8; 32]]>, _state_merkle_tree_pubkeys: Option<&[Pubkey]>, _new_addresses: Option<&[[u8; 32]]>, _address_merkle_tree_pubkeys: Option<Vec<Pubkey>>, _rpc: &mut R, ) -> ProofRpcResult

Source

fn add_address_merkle_tree_accounts( &mut self, _merkle_tree_keypair: &Keypair, _queue_keypair: &Keypair, _owning_program_id: Option<Pubkey>, ) -> AddressMerkleTreeAccounts

Source

fn get_compressed_accounts_by_owner( &self, _owner: &Pubkey, ) -> Vec<CompressedAccountWithMerkleContext>

Source

fn get_compressed_token_accounts_by_owner( &self, _owner: &Pubkey, ) -> Vec<TokenDataWithContext>

Source

fn add_state_bundle(&mut self, _state_bundle: StateMerkleTreeBundle)

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.

Implementors§

Source§

impl<R: RpcConnection + Send + Sync + 'static> Indexer<R> for TestIndexer<R>