bitgo 0.0.3

BitGo API client
Documentation
#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Wallet {
    #[serde(skip)]
    pub admin: (),
    pub allow_backup_key_signing: bool,
    pub approvals_required: i64,
    pub balance_string: String,
    pub coin: String,
    #[serde(skip)]
    pub coin_specific: serde_json::Value,
    pub custodial_wallet: Option<CustodialWallet>,
    pub custodial_wallet_id: Option<String>,
    pub deleted: bool,
    pub disable_transaction_notifications: bool,
    pub enterprise: Option<String>,
    // #[serde(deserialize_with = "empty_object_is_none")]
    #[serde(skip)]
    pub freeze: Option<Freeze>,
    pub id: String,
    pub is_cold: bool,
    pub keys: Vec<String>,
    pub label: String,
    pub m: i64,
    pub n: i64,
    pub receive_address: ReceiveAddress,
    pub recoverable: bool,
    pub tags: Vec<String>,
    pub spendable_balance_string: String,
    pub start_date: String,
    #[serde(rename = "type")]
    pub type_field: String,
    pub users: Vec<User>,
    pub balance: i64,
    pub confirmed_balance: i64,
    pub confirmed_balance_string: String,
    pub spendable_balance: i64,
    pub staked_balance: Option<i64>,
    pub staked_balance_string: Option<String>,
    pub tokens: Option<Tokens>,
}

#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Condition {
    pub amount_string: String,
    pub time_window: i64,
}

#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Action {
    #[serde(rename = "type")]
    pub type_field: String,
    pub approvals_required: i64,
    pub user_ids: Vec<String>,
}

#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CoinSpecific {
    pub creation_failure: Vec<String>,
    pub pending_chain_initialization: bool,
    pub root_address: String,
    pub stellar_username: String,
    pub home_domain: String,
    pub stellar_address: String,
}

#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CustodialWallet {}

#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Freeze {
    pub time: String,
    pub expires: String,
}

#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ReceiveAddress {
    pub id: String,
    pub address: String,
    pub chain: i64,
    pub index: i64,
    pub coin: String,
    pub last_nonce: Option<i64>,
    pub wallet: String,
    pub coin_specific: serde_json::Value,
    pub label: String,
    pub address_type: Option<String>,
}

#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Xlm {
    pub memo_id: String,
    pub root_address: String,
}

#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Txlm {
    pub memo_id: String,
    pub root_address: String,
}

#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct User {
    pub user: String,
    pub permissions: Vec<String>,
}

#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Tokens {
    pub property1: Property1,
    pub property2: Property2,
}

#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Property1 {
    pub balance_string: String,
    pub confirmed_balance_string: String,
    pub held_balance_string: String,
    pub spendable_balance_string: String,
    pub staked_balance_string: String,
    pub transfer_count: i64,
}

#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Property2 {
    pub balance_string: String,
    pub confirmed_balance_string: String,
    pub held_balance_string: String,
    pub spendable_balance_string: String,
    pub staked_balance_string: String,
    pub transfer_count: i64,
}

#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WalletAddress {
    pub id: String,
    pub address: String,
    pub chain: i64,
    pub index: i64,
    pub coin: String,
    pub last_nonce: Option<i64>,
    pub wallet: String,
    // pub coin_specific: CoinSpecific,
    pub label: String,
    pub address_type: Option<String>,
}