dfns-sdk-rust 0.1.0

Dfns API SDK for Rust (generated client + hand-written core)
Documentation
// Code generated by rust-sdk-generator. DO NOT EDIT.

#![allow(clippy::all)]

/// List Vaults
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListVaultsResponse {
    #[serde(rename = "items")]
    pub items: Vec<crate::types::Vault>,
    #[serde(
        rename = "nextPageToken",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub next_page_token: Option<String>,
}

/// Query parameters for the ListVaultsQuery operation.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListVaultsQuery {
    #[serde(rename = "limit", default, skip_serializing_if = "Option::is_none")]
    pub limit: Option<i64>,
    #[serde(
        rename = "paginationToken",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub pagination_token: Option<String>,
}

/// Create Vault
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CreateVaultRequest {
    #[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(rename = "tags", default, skip_serializing_if = "Option::is_none")]
    pub tags: Option<Vec<String>>,
    #[serde(
        rename = "externalId",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub external_id: Option<String>,
}

/// Create Vault
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CreateVaultResponse {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "orgId")]
    pub org_id: String,
    #[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(rename = "tags")]
    pub tags: Vec<String>,
    #[serde(
        rename = "externalId",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub external_id: Option<String>,
    #[serde(rename = "dateCreated")]
    pub date_created: String,
    #[serde(rename = "dateUpdated")]
    pub date_updated: String,
    #[serde(rename = "addresses", default, skip_serializing_if = "Option::is_none")]
    pub addresses: Option<Vec<crate::types::VaultAddress>>,
}

/// Create Vault Address
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CreateVaultAddressRequest {
    #[serde(rename = "network")]
    pub network: serde_json::Value,
}

/// Create Vault Address
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CreateVaultAddressResponse {
    #[serde(rename = "walletId")]
    pub wallet_id: String,
    #[serde(rename = "network")]
    pub network: String,
    #[serde(rename = "address")]
    pub address: String,
}

/// Create Vault Transfer
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CreateVaultTransferRequest {
    #[serde(rename = "network")]
    pub network: serde_json::Value,
    #[serde(rename = "tid")]
    pub tid: String,
    #[serde(rename = "to")]
    pub to: String,
    #[serde(rename = "amount")]
    pub amount: String,
    #[serde(
        rename = "externalId",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub external_id: Option<String>,
}

/// Create Vault Transfer
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CreateVaultTransferResponse {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "walletId")]
    pub wallet_id: String,
    #[serde(rename = "network")]
    pub network: crate::types::Network,
    #[serde(rename = "requester")]
    pub requester: crate::types::Requester,
    #[serde(rename = "requestBody")]
    pub request_body: serde_json::Value,
    #[serde(rename = "metadata")]
    pub metadata: serde_json::Value,
    #[serde(rename = "status")]
    pub status: String,
    #[serde(rename = "reason", default, skip_serializing_if = "Option::is_none")]
    pub reason: Option<String>,
    #[serde(rename = "txHash", default, skip_serializing_if = "Option::is_none")]
    pub tx_hash: Option<String>,
    #[serde(rename = "fee", default, skip_serializing_if = "Option::is_none")]
    pub fee: Option<String>,
    #[serde(rename = "dateRequested")]
    pub date_requested: String,
    #[serde(
        rename = "datePolicyResolved",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub date_policy_resolved: Option<String>,
    #[serde(
        rename = "dateBroadcasted",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub date_broadcasted: Option<String>,
    #[serde(
        rename = "dateConfirmed",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub date_confirmed: Option<String>,
    #[serde(
        rename = "approvalId",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub approval_id: Option<String>,
    #[serde(
        rename = "externalId",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub external_id: Option<String>,
    #[serde(
        rename = "feeSponsorId",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub fee_sponsor_id: Option<String>,
    #[serde(
        rename = "replacementId",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub replacement_id: Option<String>,
    #[serde(rename = "details", default, skip_serializing_if = "Option::is_none")]
    pub details: Option<
        std::collections::HashMap<String, std::collections::HashMap<String, serde_json::Value>>,
    >,
}

/// Get Vault
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct GetVaultResponse {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "orgId")]
    pub org_id: String,
    #[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(rename = "tags")]
    pub tags: Vec<String>,
    #[serde(
        rename = "externalId",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub external_id: Option<String>,
    #[serde(rename = "dateCreated")]
    pub date_created: String,
    #[serde(rename = "dateUpdated")]
    pub date_updated: String,
    #[serde(rename = "addresses", default, skip_serializing_if = "Option::is_none")]
    pub addresses: Option<Vec<crate::types::VaultAddress>>,
}

/// Update Vault
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct UpdateVaultRequest {
    #[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(
        rename = "externalId",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub external_id: Option<String>,
}

/// Update Vault
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct UpdateVaultResponse {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "orgId")]
    pub org_id: String,
    #[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(rename = "tags")]
    pub tags: Vec<String>,
    #[serde(
        rename = "externalId",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub external_id: Option<String>,
    #[serde(rename = "dateCreated")]
    pub date_created: String,
    #[serde(rename = "dateUpdated")]
    pub date_updated: String,
    #[serde(rename = "addresses", default, skip_serializing_if = "Option::is_none")]
    pub addresses: Option<Vec<crate::types::VaultAddress>>,
}

/// List Vault Assets
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListVaultAssetsResponse {
    #[serde(rename = "items")]
    pub items: Vec<crate::types::VaultAsset>,
    #[serde(rename = "netWorth")]
    pub net_worth: crate::types::VaultNetWorth,
}

/// Query parameters for the ListVaultAssetsQuery operation.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListVaultAssetsQuery {
    #[serde(
        rename = "showUnverified",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub show_unverified: Option<serde_json::Value>,
    #[serde(rename = "network", default, skip_serializing_if = "Option::is_none")]
    pub network: Option<String>,
}

/// List Vault Balances
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListVaultBalancesResponse {
    #[serde(rename = "items")]
    pub items: Vec<crate::types::VaultBalanceEntry>,
    #[serde(
        rename = "nextPageToken",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub next_page_token: Option<String>,
}

/// Query parameters for the ListVaultBalancesQuery operation.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ListVaultBalancesQuery {
    #[serde(rename = "limit", default, skip_serializing_if = "Option::is_none")]
    pub limit: Option<i64>,
    #[serde(
        rename = "paginationToken",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub pagination_token: Option<String>,
    #[serde(rename = "kind", default, skip_serializing_if = "Option::is_none")]
    pub kind: Option<String>,
    #[serde(rename = "network", default, skip_serializing_if = "Option::is_none")]
    pub network: Option<String>,
    #[serde(rename = "tid", default, skip_serializing_if = "Option::is_none")]
    pub tid: Option<String>,
}

/// Release Quarantine
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ReleaseQuarantineRequest {
    #[serde(rename = "reason", default, skip_serializing_if = "Option::is_none")]
    pub reason: Option<String>,
}

/// Release Quarantine
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ReleaseQuarantineResponse {
    #[serde(rename = "status")]
    pub status: String,
}

/// Tag Vault
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct TagVaultRequest {
    #[serde(rename = "tags")]
    pub tags: Vec<String>,
}

/// Tag Vault
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct TagVaultResponse {}

/// Untag Vault
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct UntagVaultRequest {
    #[serde(rename = "tags")]
    pub tags: Vec<String>,
}

/// Untag Vault
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct UntagVaultResponse {}