jupiter_sdk/models/token/
mod.rs1use serde::{Deserialize, Serialize};
2use serde_with::serde_as;
3
4
5
6
7
8#[derive(Debug, Deserialize, Serialize)]
9#[serde(rename_all = "camelCase")]
10#[serde_as]
11pub struct TokenSearchReq {
12 pub query: String,
13}
14
15
16pub type TokenSearchRes = Vec<Token>;
17
18#[derive(Debug, Deserialize, Serialize)]
19#[serde(rename_all = "camelCase")]
20#[serde_as]
21pub struct Token {
22 pub id: String,
23 pub name: String,
24 pub symbol: String,
25 pub icon: String,
26 pub decimals: i32,
27 pub twitter: String,
28 pub telegram: String,
29 pub website: String,
30 pub dev: String,
31 pub circ_supply: f64,
32 pub total_supply: f64,
33 pub token_program: String,
34 pub launchpad: String,
35 pub partner_config: String,
36 pub graduated_pool: String,
37 pub graduated_at: String,
38 pub holder_count: i64,
39 pub fdv: f64,
40 pub mcap: f64,
41 pub usd_price: f64,
42 pub price_block_id: i64,
43 pub liquidity: LiquidityStat,
44 pub organic_score: f64,
45 pub organic_score_label: String,
47 pub is_verified: bool,
48 pub cexes: Vec<String>,
49 pub tags: Vec<String>,
50 pub updated_at: String,
51}
52
53
54#[derive(Debug, Deserialize, Serialize)]
55#[serde(rename_all = "camelCase")]
56#[serde_as]
57pub struct LiquidityStat {
58 pub stats5m: LiquidityStatItem,
59 pub stats1h: LiquidityStatItem,
60 pub stats6h: LiquidityStatItem,
61 pub stats24h: LiquidityStatItem,
62 pub firt_pool: Pool,
63 pub audit: Audit,
64}
65
66#[derive(Debug, Deserialize, Serialize)]
67#[serde(rename_all = "camelCase")]
68#[serde_as]
69pub struct Pool {
70 pub id: String,
71 pub created_at: String,
72}
73
74
75#[derive(Debug, Deserialize, Serialize)]
76#[serde(rename_all = "camelCase")]
77#[serde_as]
78pub struct Audit {
79 pub is_sus: bool,
80 pub mint_authority_disabled: bool,
81 pub freeze_authority_disabled: bool,
82 pub top_holders_percentage: f64,
83 pub dev_balance_percentage: f64,
84 pub dev_migrations: f64,
85}
86
87#[derive(Debug, Deserialize, Serialize)]
88#[serde(rename_all = "camelCase")]
89#[serde_as]
90pub struct LiquidityStatItem {
91 pub price_cange: String,
92 pub holder_change: String,
93 pub liquidity_change: String,
94 pub volume_change: String,
95 pub buy_volume: String,
96 pub sell_volume: String,
97 pub buy_organic_volume: String,
98 pub sell_organic_volume: String,
99 pub num_buys: String,
100 pub num_sells: String,
101 pub num_traders: String,
102 pub num_organic_buyers: String,
103 pub num_net_buyers: String,
104}
105
106
107
108
109
110#[derive(Debug, Deserialize, Serialize)]
111#[serde(rename_all = "camelCase")]
112#[serde_as]
113pub struct GetByTagQueryReq {
114 pub query: String,
115}
116
117
118pub type GetByTagQueryRes = Vec<Token>;
119
120
121
122#[derive(Debug, Deserialize, Serialize)]
123#[serde(rename_all = "camelCase")]
124#[serde_as]
125pub struct GetByCategoryQueryReq {
126 pub limit: i64,
127}
128
129pub type GetByCategoryQueryRes = Vec<Token>;
130
131
132pub type GetRecentRes = Vec<Token>;