use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct OkLinkBalanceDetail {
pub page: String,
pub limit: String,
pub total_page: String,
pub token_type: String,
pub balance: String,
pub available_balance: String,
pub transfer_balance: String,
pub transfer_balance_list: Vec<OkLinkDetailInscription>,
}
#[derive(Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct OkLinkDetailInscription {
pub inscription_id: String,
pub inscription_number: String,
pub amount: String,
}
#[derive(Deserialize, Serialize, Debug)]
pub struct OkLinkResp<T: Serialize> {
code: String,
msg: String,
pub data: Vec<T>,
}
#[derive(Deserialize, Serialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct TokenPrice {
pub last_price: String,
}
#[derive(Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct OkLinkBalancePage {
page: String,
limit: String,
total_page: String,
pub balance_list: Vec<OkLinkBalance>,
}
#[derive(Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct OkLinkBalance {
pub token: String,
token_type: String,
pub balance: String,
pub available_balance: String,
pub transfer_balance: String,
}
#[derive(Serialize, Deserialize, Clone)]
pub struct AddressSummary {
chain_full_name: String,
chain_short_name: String,
address: String,
contract_address: String,
is_producer_address: bool,
pub balance: String,
balance_symbol: String,
transaction_count: String,
verifying: String,
send_amount: String,
receive_amount: String,
token_amount: String,
total_token_value: String,
create_contract_address: String,
create_contract_transaction_hash: String,
pub first_transaction_time: String,
last_transaction_time: String,
token: String,
bandwidth: String,
energy: String,
voting_rights: String,
unclaimed_voting_rewards: String,
is_aa_address: bool,
}
#[derive(Serialize, Deserialize, Clone)]
pub struct BalanceItem {
pub address: String,
pub balance: String,
}
#[derive(Serialize, Deserialize, Clone)]
pub struct BalanceList {
pub balance_list: Vec<BalanceItem>,
}
#[derive(Serialize, Deserialize, Clone)]
#[serde(rename_all = "camelCase")]
pub struct BalanceMulti {
pub symbol: String,
pub balance_list: Vec<BalanceItem>,
}
#[derive(Serialize, Deserialize, Clone)]
#[serde(rename_all = "camelCase")]
pub struct PublishTxInfo {
pub chain_full_name: String,
pub chain_short_name: String,
pub txid: String,
}