polyester/models/
zipper.rs1#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize)]
4pub struct ZipperTokenConfig {
5 pub address: String,
6 pub decimals: u32,
7}
8
9#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize)]
10pub struct ZipperAssetChainVariant {
11 pub zipped_asset_id: u32,
12 pub chain_id: u32,
13 pub is_native_asset: bool,
14 pub network_fee: String,
15 pub deposit_min_amount: String,
16 pub withdraw_min_amount: String,
17 pub source_token: ZipperTokenConfig,
18 pub z_token: ZipperTokenConfig,
19}
20
21#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize)]
22pub struct ZipperChainConfig {
23 pub chain_id: u32,
24 pub code: String,
25 pub name: String,
26 pub native_chain_id: String,
27 pub native_currency_symbol: String,
28 pub explorer_url: String,
29 pub icon: String,
30 pub required_confirmations: u32,
31 pub confirmation_time_seconds: u32,
32 pub is_case_sensitive: bool,
33 pub min_address_length: u32,
34 pub max_address_length: u32,
35}
36
37#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize)]
38pub struct ZipperAssetConfig {
39 pub asset: String,
40 pub ledger_id: u32,
41 pub name: String,
42 pub icon: String,
43 pub quantity_scale: u32,
44 pub quantity_display_decimals: u32,
45 pub u_asset_id: String,
46 pub variants: Vec<ZipperAssetChainVariant>,
47}
48
49#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize)]
50pub struct ZipperChainContractConfig {
51 pub name: String,
52 pub address: String,
53 #[serde(rename = "type")]
54 pub contract_type: String,
55 pub description: String,
56 pub version: u32,
57}
58
59#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize)]
60pub struct DepositWithdrawConfig {
61 pub chains: Vec<ZipperChainConfig>,
62 pub assets: Vec<ZipperAssetConfig>,
63 pub contracts: Vec<ZipperChainContractConfig>,
64 pub polyester_chain_id: u32,
65 pub ts_ms: i64,
66}
67
68#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize, Default)]
69pub struct ZippedAssetSupplyUpdate {
70 pub zipped_asset_id: u32,
71 pub supply: String,
72}
73
74#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize, Default)]
75pub struct ZippedAssetSupplyBatch {
76 pub updates: Vec<ZippedAssetSupplyUpdate>,
77}