breez_sdk_spark/issuer/
models.rs1use serde::Serialize;
2
3#[cfg_attr(feature = "uniffi", derive(uniffi::Record))]
4#[derive(Debug, Serialize)]
5pub struct CreateIssuerTokenRequest {
6 pub name: String,
7 pub ticker: String,
8 pub decimals: u32,
9 pub is_freezable: bool,
10 pub max_supply: u128,
11}
12
13#[derive(Debug, Serialize)]
14#[cfg_attr(feature = "uniffi", derive(uniffi::Record))]
15pub struct MintIssuerTokenRequest {
16 pub amount: u128,
17}
18
19#[derive(Debug, Serialize)]
20#[cfg_attr(feature = "uniffi", derive(uniffi::Record))]
21pub struct BurnIssuerTokenRequest {
22 pub amount: u128,
23}
24
25#[derive(Debug, Serialize)]
26#[cfg_attr(feature = "uniffi", derive(uniffi::Record))]
27pub struct FreezeIssuerTokenRequest {
28 pub address: String,
29}
30
31#[derive(Debug, Serialize)]
32#[cfg_attr(feature = "uniffi", derive(uniffi::Record))]
33pub struct FreezeIssuerTokenResponse {
34 pub impacted_output_ids: Vec<String>,
35 pub impacted_token_amount: u128,
36}
37
38impl From<spark_wallet::FreezeIssuerTokenResponse> for FreezeIssuerTokenResponse {
39 fn from(value: spark_wallet::FreezeIssuerTokenResponse) -> Self {
40 Self {
41 impacted_output_ids: value.impacted_output_ids,
42 impacted_token_amount: value.impacted_token_amount,
43 }
44 }
45}
46
47#[derive(Debug, Serialize)]
48#[cfg_attr(feature = "uniffi", derive(uniffi::Record))]
49pub struct UnfreezeIssuerTokenRequest {
50 pub address: String,
51}
52
53#[derive(Debug, Serialize)]
54#[cfg_attr(feature = "uniffi", derive(uniffi::Record))]
55pub struct UnfreezeIssuerTokenResponse {
56 pub impacted_output_ids: Vec<String>,
57 pub impacted_token_amount: u128,
58}
59
60impl From<spark_wallet::FreezeIssuerTokenResponse> for UnfreezeIssuerTokenResponse {
61 fn from(value: spark_wallet::FreezeIssuerTokenResponse) -> Self {
62 Self {
63 impacted_output_ids: value.impacted_output_ids,
64 impacted_token_amount: value.impacted_token_amount,
65 }
66 }
67}