Skip to main content

arch_titan_types_api/
rune.rs

1use {
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}