circles_types/
network.rs

1use crate::{TokenBalance, TrustRelation};
2use serde::{Deserialize, Serialize};
3
4/// Event types for network events
5#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
6pub enum EventType {
7    #[serde(rename = "CrcV1_Trust")]
8    CrcV1Trust,
9    #[serde(rename = "CrcV1_HubTransfer")]
10    CrcV1HubTransfer,
11    #[serde(rename = "CrcV1_Signup")]
12    CrcV1Signup,
13    #[serde(rename = "CrcV1_OrganizationSignup")]
14    CrcV1OrganizationSignup,
15    #[serde(rename = "CrcV2_RegisterHuman")]
16    CrcV2RegisterHuman,
17    #[serde(rename = "CrcV2_RegisterOrganization")]
18    CrcV2RegisterOrganization,
19    #[serde(rename = "CrcV2_RegisterGroup")]
20    CrcV2RegisterGroup,
21    #[serde(rename = "CrcV2_Trust")]
22    CrcV2Trust,
23    #[serde(rename = "CrcV2_TransferSingle")]
24    CrcV2TransferSingle,
25    #[serde(rename = "CrcV2_TransferBatch")]
26    CrcV2TransferBatch,
27}
28
29/// Network snapshot structure
30#[derive(Debug, Clone, Serialize, Deserialize)]
31pub struct NetworkSnapshot {
32    pub trust_relations: Vec<TrustRelation>,
33    pub balances: Vec<TokenBalance>,
34    pub block_number: u64,
35    pub timestamp: u64,
36}