Skip to main content

jupiter_sdk/models/studio/
mod.rs

1use 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 LockedVestingParam {
12    pub total_locked_vesting_amount: f64,
13    pub cliff_unlock_amount: f64,
14    pub number_of_vesting_period: f64,
15    pub total_vesting_duration: i64,
16    pub cliff_duration_from_migration_time: i64,
17}
18
19#[derive(Debug, Deserialize, Serialize)]
20#[serde(rename_all = "camelCase")]
21#[serde_as]
22pub struct BuildCurveByMarketCapParam {
23    pub quote_mint: String,
24    pub initial_market_cap: f64,
25    pub migration_market_cap: f64,
26    pub token_quote_decimal: i64,
27    pub locked_vesting_param: LockedVestingParam,
28
29}
30
31
32#[derive(Debug, Deserialize, Serialize)]
33#[serde(rename_all = "camelCase")]
34#[serde_as]
35pub struct Fee {
36    pub total_duration: i64,
37    pub base_fee_mode: String,
38    pub fee_bps: f64,
39}
40
41
42#[derive(Debug, Deserialize, Serialize)]
43#[serde(rename_all = "camelCase")]
44#[serde_as]
45pub struct PoolCreateTxReq {
46    pub build_curve_by_market_cap_param: BuildCurveByMarketCapParam,
47    pub fee: Fee,
48    pub is_lp_locked: bool,
49    pub token_name: String,
50    pub token_symbol: String,
51    pub token_image_content_type: String,
52    // Creator wallet public key
53    pub creator: String,
54}
55
56#[derive(Debug, Deserialize, Serialize)]
57#[serde(rename_all = "camelCase")]
58#[serde_as]
59pub struct PoolCreateTxRes {
60    pub transaction: String,
61    pub mint: String,
62    pub image_presigned_url: String,
63    pub metadata_presigned_url: String,
64    pub image_url: String,
65}
66
67
68#[derive(Debug, Deserialize, Serialize)]
69#[serde(rename_all = "camelCase")]
70#[serde_as]
71pub struct PoolSubmitReq {
72    pub transaction: String,
73    pub owner: String,
74    pub content: String,
75    pub header_image: Vec<u8>,
76}
77
78#[derive(Debug, Deserialize, Serialize)]
79#[serde(rename_all = "camelCase")]
80#[serde_as]
81pub struct PoolSubmitRes {
82    pub success: bool,
83    pub data: PoolSubmitData,
84}
85
86#[derive(Debug, Deserialize, Serialize)]
87#[serde(rename_all = "camelCase")]
88#[serde_as]
89pub struct PoolSubmitData {
90    pub mint: String,
91    pub config_key: String,
92}
93
94#[derive(Debug, Deserialize, Serialize)]
95#[serde(rename_all = "camelCase")]
96#[serde_as]
97pub struct GetPoolByMintRes {
98    pub success: bool,
99    pub data: PoolByMintData,
100}
101
102#[derive(Debug, Deserialize, Serialize)]
103#[serde(rename_all = "camelCase")]
104#[serde_as]
105pub struct PoolByMintData {
106    pub dammv2_pool_address: String,
107    pub dbc_pool_address: String,
108    pub config_key: String,
109}
110
111#[derive(Debug, Deserialize, Serialize)]
112#[serde(rename_all = "camelCase")]
113#[serde_as]
114pub struct GetDbcFeeReq {
115    pub pool_address: String,
116}
117
118#[derive(Debug, Deserialize, Serialize)]
119#[serde(rename_all = "camelCase")]
120#[serde_as]
121pub struct GetDbcFeeRes {
122    pub unclaimed: String,
123    pub total: String,    
124}
125
126#[derive(Debug, Deserialize, Serialize)]
127#[serde(rename_all = "camelCase")]
128#[serde_as]
129pub struct DbcFeeCreateTxReq {
130    pub owner_wallet: String,
131    pub pool_address: String,
132    pub max_quote_amount: String,
133}
134
135#[derive(Debug, Deserialize, Serialize)]
136#[serde(rename_all = "camelCase")]
137#[serde_as]
138pub struct DbcFeeCreateTxRes {
139    pub transaction: String,
140}