pub trait Indexer<R>:
Sync
+ Send
+ Debug
+ 'staticwhere
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§
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)
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.