1use alloy_primitives::{Address, TxHash};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
6pub struct TrustRelation {
7 pub block_number: u64,
8 pub timestamp: u64,
9 pub transaction_index: u32,
10 pub log_index: u32,
11 pub transaction_hash: TxHash,
12 pub truster: Address,
13 pub trustee: Address,
14 pub expiry_time: u64,
15}
16
17#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
19pub enum TrustRelationType {
20 #[serde(rename = "trusts")]
21 Trusts,
22 #[serde(rename = "trustedBy")]
23 TrustedBy,
24 #[serde(rename = "mutuallyTrusts")]
25 MutuallyTrusts,
26}
27
28#[derive(Debug, Clone, Serialize, Deserialize)]
30pub struct AggregatedTrustRelation {
31 pub subject_avatar: Address,
32 pub relation: TrustRelationType,
33 pub object_avatar: Address,
34 pub timestamp: u64,
35}