hopr_chain_indexer/
constants.rs

1pub mod topics {
2    use ethers::{contract::EthEvent, types::TxHash};
3    use hopr_bindings::{
4        hopr_announcements::{AddressAnnouncementFilter, KeyBindingFilter, RevokeAnnouncementFilter},
5        hopr_channels::{
6            ChannelBalanceDecreasedFilter, ChannelBalanceIncreasedFilter, ChannelClosedFilter, ChannelOpenedFilter,
7            DomainSeparatorUpdatedFilter, LedgerDomainSeparatorUpdatedFilter, OutgoingChannelClosureInitiatedFilter,
8            TicketRedeemedFilter,
9        },
10        hopr_network_registry::{
11            DeregisteredByManagerFilter, DeregisteredFilter, EligibilityUpdatedFilter,
12            NetworkRegistryStatusUpdatedFilter, RegisteredByManagerFilter, RegisteredFilter, RequirementUpdatedFilter,
13        },
14        hopr_node_safe_registry::{DergisteredNodeSafeFilter, RegisteredNodeSafeFilter},
15        hopr_ticket_price_oracle::TicketPriceUpdatedFilter,
16        hopr_token::{ApprovalFilter, TransferFilter},
17        hopr_winning_probability_oracle::WinProbUpdatedFilter,
18    };
19
20    pub fn channel() -> Vec<TxHash> {
21        vec![
22            ChannelBalanceDecreasedFilter::signature(),
23            ChannelBalanceIncreasedFilter::signature(),
24            ChannelClosedFilter::signature(),
25            ChannelOpenedFilter::signature(),
26            OutgoingChannelClosureInitiatedFilter::signature(),
27            TicketRedeemedFilter::signature(),
28            DomainSeparatorUpdatedFilter::signature(),
29            LedgerDomainSeparatorUpdatedFilter::signature(),
30        ]
31    }
32
33    pub fn token() -> Vec<TxHash> {
34        vec![TransferFilter::signature(), ApprovalFilter::signature()]
35    }
36
37    pub fn network_registry() -> Vec<TxHash> {
38        vec![
39            DeregisteredByManagerFilter::signature(),
40            DeregisteredFilter::signature(),
41            EligibilityUpdatedFilter::signature(),
42            NetworkRegistryStatusUpdatedFilter::signature(),
43            RegisteredByManagerFilter::signature(),
44            RegisteredFilter::signature(),
45            RequirementUpdatedFilter::signature(),
46        ]
47    }
48
49    pub fn announcement() -> Vec<TxHash> {
50        vec![
51            AddressAnnouncementFilter::signature(),
52            KeyBindingFilter::signature(),
53            RevokeAnnouncementFilter::signature(),
54        ]
55    }
56
57    pub fn node_safe_registry() -> Vec<TxHash> {
58        vec![
59            RegisteredNodeSafeFilter::signature(),
60            DergisteredNodeSafeFilter::signature(),
61            hopr_bindings::hopr_node_safe_registry::DomainSeparatorUpdatedFilter::signature(),
62        ]
63    }
64
65    pub fn ticket_price_oracle() -> Vec<TxHash> {
66        vec![TicketPriceUpdatedFilter::signature()]
67    }
68
69    pub fn winning_prob_oracle() -> Vec<TxHash> {
70        vec![WinProbUpdatedFilter::signature()]
71    }
72
73    pub fn module_implementation() -> Vec<TxHash> {
74        vec![]
75    }
76}