1use alloy_primitives::{Address, U256};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
6pub struct AvatarRow {
7 pub address: Address,
8 pub version: u32,
9 #[serde(rename = "type")]
10 pub avatar_type: String,
11 pub cid_v0: Option<String>,
13 }
15
16#[derive(Debug, Clone, Serialize, Deserialize)]
18pub struct TokenBalanceRow {
19 pub token_address: Address,
20 pub balance: U256,
21 }
23
24#[derive(Debug, Clone, Serialize, Deserialize)]
26pub struct TrustRelationRow {
27 pub truster: Address,
28 pub trustee: Address,
29 pub expiry_time: u64,
30}
31
32#[derive(Debug, Clone)]
35pub struct CirclesQuery<T> {
36 pub rows: Vec<T>,
37 pub has_more: bool,
38 }
41
42impl<T> CirclesQuery<T> {
43 pub fn new(rows: Vec<T>, has_more: bool) -> Self {
45 Self { rows, has_more }
46 }
47}
48
49#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
51pub enum GroupType {
52 #[serde(rename = "Standard")]
53 Standard,
54 #[serde(rename = "Custom")]
55 Custom,
56}