sol_parser_sdk/grpc/
filter.rs

1pub use crate::grpc::types::{
2    TransactionFilter, AccountFilter, AccountFilterData, AccountFilterMemcmp,
3    EventTypeFilter,
4};
5
6use crate::grpc::types::Protocol;
7use crate::grpc::program_ids::{get_program_ids_for_protocols, PROTOCOL_PROGRAM_IDS};
8
9impl TransactionFilter {
10    pub fn for_protocols(protocols: &[Protocol]) -> Self {
11        let program_ids = get_program_ids_for_protocols(protocols);
12        Self {
13            account_include: program_ids,
14            account_exclude: Vec::new(),
15            account_required: Vec::new(),
16        }
17    }
18}
19
20impl AccountFilter {
21    pub fn for_protocols(protocols: &[Protocol]) -> Self {
22        let program_ids = get_program_ids_for_protocols(protocols);
23        Self {
24            account: Vec::new(),
25            owner: program_ids,
26            filters: Vec::new(),
27        }
28    }
29}