arch_titan_types_api/
rune.rs1use {
2 serde::{Deserialize, Serialize},
3 arch_titan_types_core::{InscriptionId, RuneId, SerializedTxid, SpacedRune},
4};
5
6mod serde_str {
7 pub use arch_titan_types_core::serde_str::{deserialize, serialize};
8}
9
10#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
11pub struct MintResponse {
12 pub start: Option<u64>,
13 pub end: Option<u64>,
14 pub mintable: bool,
15 #[serde(with = "serde_str")]
16 pub cap: u128,
17 #[serde(with = "serde_str")]
18 pub amount: u128,
19 #[serde(with = "serde_str")]
20 pub mints: u128,
21}
22
23#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
24pub struct RuneResponse {
25 pub id: RuneId,
26 pub block: u64,
27 #[serde(with = "serde_str")]
28 pub burned: u128,
29 pub divisibility: u8,
30 pub etching: SerializedTxid,
31 pub number: u64,
32 #[serde(with = "serde_str")]
33 pub premine: u128,
34 #[serde(with = "serde_str")]
35 pub supply: u128,
36 #[serde(with = "serde_str")]
37 pub max_supply: u128,
38 pub spaced_rune: SpacedRune,
39 pub symbol: Option<char>,
40 pub mint: Option<MintResponse>,
41 #[serde(with = "serde_str")]
42 pub burns: u128,
43 #[serde(with = "serde_str")]
44 pub pending_burns: u128,
45 #[serde(with = "serde_str")]
46 pub pending_mints: u128,
47 pub inscription_id: Option<InscriptionId>,
48 pub timestamp: u64,
49 pub turbo: bool,
50}