#![allow(clippy::all)]
#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
pub enum AddressWatchNetwork {
#[serde(rename = "ArbitrumOne")]
ArbitrumOne,
#[serde(rename = "ArbitrumSepolia")]
ArbitrumSepolia,
#[serde(rename = "ArcTestnet")]
ArcTestnet,
#[serde(rename = "AvalancheC")]
AvalancheC,
#[serde(rename = "AvalancheCFuji")]
AvalancheCFuji,
#[serde(rename = "Base")]
Base,
#[serde(rename = "BaseSepolia")]
BaseSepolia,
#[serde(rename = "Berachain")]
Berachain,
#[serde(rename = "BerachainBepolia")]
BerachainBepolia,
#[serde(rename = "Bob")]
Bob,
#[serde(rename = "BobSepolia")]
BobSepolia,
#[serde(rename = "Bsc")]
Bsc,
#[serde(rename = "BscTestnet")]
BscTestnet,
#[serde(rename = "Celo")]
Celo,
#[serde(rename = "CeloAlfajores")]
CeloAlfajores,
#[serde(rename = "Codex")]
Codex,
#[serde(rename = "CodexSepolia")]
CodexSepolia,
#[serde(rename = "Ethereum")]
Ethereum,
#[serde(rename = "EthereumClassic")]
EthereumClassic,
#[serde(rename = "EthereumClassicMordor")]
EthereumClassicMordor,
#[serde(rename = "EthereumSepolia")]
EthereumSepolia,
#[serde(rename = "EthereumHoodi")]
EthereumHoodi,
#[serde(rename = "FlareC")]
FlareC,
#[serde(rename = "FlareCCoston2")]
FlareCCoston2,
#[serde(rename = "FlowEvm")]
FlowEvm,
#[serde(rename = "FlowEvmTestnet")]
FlowEvmTestnet,
#[serde(rename = "Ink")]
Ink,
#[serde(rename = "InkSepolia")]
InkSepolia,
#[serde(rename = "Optimism")]
Optimism,
#[serde(rename = "OptimismSepolia")]
OptimismSepolia,
#[serde(rename = "Plasma")]
Plasma,
#[serde(rename = "PlasmaTestnet")]
PlasmaTestnet,
#[serde(rename = "Plume")]
Plume,
#[serde(rename = "PlumeSepolia")]
PlumeSepolia,
#[serde(rename = "Polygon")]
Polygon,
#[serde(rename = "PolygonAmoy")]
PolygonAmoy,
#[serde(rename = "Race")]
Race,
#[serde(rename = "RaceSepolia")]
RaceSepolia,
#[serde(rename = "Rayls")]
Rayls,
#[serde(rename = "RaylsTestnet")]
RaylsTestnet,
#[serde(rename = "Robinhood")]
Robinhood,
#[serde(rename = "RobinhoodSepolia")]
RobinhoodSepolia,
#[serde(rename = "SeiAtlantic2")]
SeiAtlantic2,
#[serde(rename = "SeiPacific1")]
SeiPacific1,
#[serde(rename = "Sonic")]
Sonic,
#[serde(rename = "SonicTestnet")]
SonicTestnet,
#[serde(rename = "Tempo")]
Tempo,
#[serde(rename = "TempoModerato")]
TempoModerato,
#[serde(rename = "Tsc")]
Tsc,
#[serde(rename = "TscTestnet1")]
TscTestnet1,
#[serde(rename = "Xdc")]
Xdc,
#[serde(rename = "XdcApothem")]
XdcApothem,
#[serde(rename = "XLayer")]
XLayer,
#[serde(rename = "XLayerSepolia")]
XLayerSepolia,
}
impl std::fmt::Display for AddressWatchNetwork {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(match self {
AddressWatchNetwork::ArbitrumOne => "ArbitrumOne",
AddressWatchNetwork::ArbitrumSepolia => "ArbitrumSepolia",
AddressWatchNetwork::ArcTestnet => "ArcTestnet",
AddressWatchNetwork::AvalancheC => "AvalancheC",
AddressWatchNetwork::AvalancheCFuji => "AvalancheCFuji",
AddressWatchNetwork::Base => "Base",
AddressWatchNetwork::BaseSepolia => "BaseSepolia",
AddressWatchNetwork::Berachain => "Berachain",
AddressWatchNetwork::BerachainBepolia => "BerachainBepolia",
AddressWatchNetwork::Bob => "Bob",
AddressWatchNetwork::BobSepolia => "BobSepolia",
AddressWatchNetwork::Bsc => "Bsc",
AddressWatchNetwork::BscTestnet => "BscTestnet",
AddressWatchNetwork::Celo => "Celo",
AddressWatchNetwork::CeloAlfajores => "CeloAlfajores",
AddressWatchNetwork::Codex => "Codex",
AddressWatchNetwork::CodexSepolia => "CodexSepolia",
AddressWatchNetwork::Ethereum => "Ethereum",
AddressWatchNetwork::EthereumClassic => "EthereumClassic",
AddressWatchNetwork::EthereumClassicMordor => "EthereumClassicMordor",
AddressWatchNetwork::EthereumSepolia => "EthereumSepolia",
AddressWatchNetwork::EthereumHoodi => "EthereumHoodi",
AddressWatchNetwork::FlareC => "FlareC",
AddressWatchNetwork::FlareCCoston2 => "FlareCCoston2",
AddressWatchNetwork::FlowEvm => "FlowEvm",
AddressWatchNetwork::FlowEvmTestnet => "FlowEvmTestnet",
AddressWatchNetwork::Ink => "Ink",
AddressWatchNetwork::InkSepolia => "InkSepolia",
AddressWatchNetwork::Optimism => "Optimism",
AddressWatchNetwork::OptimismSepolia => "OptimismSepolia",
AddressWatchNetwork::Plasma => "Plasma",
AddressWatchNetwork::PlasmaTestnet => "PlasmaTestnet",
AddressWatchNetwork::Plume => "Plume",
AddressWatchNetwork::PlumeSepolia => "PlumeSepolia",
AddressWatchNetwork::Polygon => "Polygon",
AddressWatchNetwork::PolygonAmoy => "PolygonAmoy",
AddressWatchNetwork::Race => "Race",
AddressWatchNetwork::RaceSepolia => "RaceSepolia",
AddressWatchNetwork::Rayls => "Rayls",
AddressWatchNetwork::RaylsTestnet => "RaylsTestnet",
AddressWatchNetwork::Robinhood => "Robinhood",
AddressWatchNetwork::RobinhoodSepolia => "RobinhoodSepolia",
AddressWatchNetwork::SeiAtlantic2 => "SeiAtlantic2",
AddressWatchNetwork::SeiPacific1 => "SeiPacific1",
AddressWatchNetwork::Sonic => "Sonic",
AddressWatchNetwork::SonicTestnet => "SonicTestnet",
AddressWatchNetwork::Tempo => "Tempo",
AddressWatchNetwork::TempoModerato => "TempoModerato",
AddressWatchNetwork::Tsc => "Tsc",
AddressWatchNetwork::TscTestnet1 => "TscTestnet1",
AddressWatchNetwork::Xdc => "Xdc",
AddressWatchNetwork::XdcApothem => "XdcApothem",
AddressWatchNetwork::XLayer => "XLayer",
AddressWatchNetwork::XLayerSepolia => "XLayerSepolia",
})
}
}
#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
pub enum Network {
#[serde(rename = "Algorand")]
Algorand,
#[serde(rename = "AlgorandTestnet")]
AlgorandTestnet,
#[serde(rename = "Aptos")]
Aptos,
#[serde(rename = "AptosTestnet")]
AptosTestnet,
#[serde(rename = "ArbitrumOne")]
ArbitrumOne,
#[serde(rename = "ArbitrumSepolia")]
ArbitrumSepolia,
#[serde(rename = "ArcTestnet")]
ArcTestnet,
#[serde(rename = "AvalancheC")]
AvalancheC,
#[serde(rename = "AvalancheCFuji")]
AvalancheCFuji,
#[serde(rename = "BabylonGenesis")]
BabylonGenesis,
#[serde(rename = "BabylonTestnet5")]
BabylonTestnet5,
#[serde(rename = "Base")]
Base,
#[serde(rename = "BaseSepolia")]
BaseSepolia,
#[serde(rename = "Berachain")]
Berachain,
#[serde(rename = "BerachainBepolia")]
BerachainBepolia,
#[serde(rename = "Bitcoin")]
Bitcoin,
#[serde(rename = "BitcoinSignet")]
BitcoinSignet,
#[serde(rename = "BitcoinTestnet4")]
BitcoinTestnet4,
#[serde(rename = "BitcoinCash")]
BitcoinCash,
#[serde(rename = "Bob")]
Bob,
#[serde(rename = "BobSepolia")]
BobSepolia,
#[serde(rename = "Bsc")]
Bsc,
#[serde(rename = "BscTestnet")]
BscTestnet,
#[serde(rename = "Canton")]
Canton,
#[serde(rename = "CantonTestnet")]
CantonTestnet,
#[serde(rename = "Cardano")]
Cardano,
#[serde(rename = "CardanoPreprod")]
CardanoPreprod,
#[serde(rename = "Concordium")]
Concordium,
#[serde(rename = "ConcordiumTestnet")]
ConcordiumTestnet,
#[serde(rename = "Celo")]
Celo,
#[serde(rename = "CeloAlfajores")]
CeloAlfajores,
#[serde(rename = "Codex")]
Codex,
#[serde(rename = "CodexSepolia")]
CodexSepolia,
#[serde(rename = "CosmosHub4")]
CosmosHub4,
#[serde(rename = "CosmosIcsTestnet")]
CosmosIcsTestnet,
#[serde(rename = "Dogecoin")]
Dogecoin,
#[serde(rename = "DogecoinTestnet")]
DogecoinTestnet,
#[serde(rename = "Ethereum")]
Ethereum,
#[serde(rename = "EthereumClassic")]
EthereumClassic,
#[serde(rename = "EthereumClassicMordor")]
EthereumClassicMordor,
#[serde(rename = "EthereumSepolia")]
EthereumSepolia,
#[serde(rename = "EthereumHoodi")]
EthereumHoodi,
#[serde(rename = "FlareC")]
FlareC,
#[serde(rename = "FlareCCoston2")]
FlareCCoston2,
#[serde(rename = "FlowEvm")]
FlowEvm,
#[serde(rename = "FlowEvmTestnet")]
FlowEvmTestnet,
#[serde(rename = "Hedera")]
Hedera,
#[serde(rename = "HederaTestnet")]
HederaTestnet,
#[serde(rename = "Ink")]
Ink,
#[serde(rename = "InkSepolia")]
InkSepolia,
#[serde(rename = "InternetComputer")]
InternetComputer,
#[serde(rename = "Ion")]
Ion,
#[serde(rename = "IonTestnet")]
IonTestnet,
#[serde(rename = "Iota")]
Iota,
#[serde(rename = "IotaTestnet")]
IotaTestnet,
#[serde(rename = "Kusama")]
Kusama,
#[serde(rename = "KusamaAssetHub")]
KusamaAssetHub,
#[serde(rename = "Litecoin")]
Litecoin,
#[serde(rename = "LitecoinTestnet")]
LitecoinTestnet,
#[serde(rename = "Movement")]
Movement,
#[serde(rename = "MovementTestnet")]
MovementTestnet,
#[serde(rename = "Near")]
Near,
#[serde(rename = "NearTestnet")]
NearTestnet,
#[serde(rename = "Optimism")]
Optimism,
#[serde(rename = "OptimismSepolia")]
OptimismSepolia,
#[serde(rename = "Origyn")]
Origyn,
#[serde(rename = "Plasma")]
Plasma,
#[serde(rename = "PlasmaTestnet")]
PlasmaTestnet,
#[serde(rename = "Plume")]
Plume,
#[serde(rename = "PlumeSepolia")]
PlumeSepolia,
#[serde(rename = "Paseo")]
Paseo,
#[serde(rename = "PaseoAssetHub")]
PaseoAssetHub,
#[serde(rename = "Polkadot")]
Polkadot,
#[serde(rename = "PolkadotAssetHub")]
PolkadotAssetHub,
#[serde(rename = "Polygon")]
Polygon,
#[serde(rename = "PolygonAmoy")]
PolygonAmoy,
#[serde(rename = "Polymesh")]
Polymesh,
#[serde(rename = "PolymeshTestnet")]
PolymeshTestnet,
#[serde(rename = "Race")]
Race,
#[serde(rename = "RaceSepolia")]
RaceSepolia,
#[serde(rename = "Rayls")]
Rayls,
#[serde(rename = "RaylsTestnet")]
RaylsTestnet,
#[serde(rename = "Robinhood")]
Robinhood,
#[serde(rename = "RobinhoodSepolia")]
RobinhoodSepolia,
#[serde(rename = "SeiAtlantic2")]
SeiAtlantic2,
#[serde(rename = "SeiPacific1")]
SeiPacific1,
#[serde(rename = "Solana")]
Solana,
#[serde(rename = "SolanaDevnet")]
SolanaDevnet,
#[serde(rename = "Sonic")]
Sonic,
#[serde(rename = "SonicTestnet")]
SonicTestnet,
#[serde(rename = "Starknet")]
Starknet,
#[serde(rename = "StarknetSepolia")]
StarknetSepolia,
#[serde(rename = "Stellar")]
Stellar,
#[serde(rename = "StellarTestnet")]
StellarTestnet,
#[serde(rename = "Sui")]
Sui,
#[serde(rename = "SuiTestnet")]
SuiTestnet,
#[serde(rename = "Tezos")]
Tezos,
#[serde(rename = "TezosGhostnet")]
TezosGhostnet,
#[serde(rename = "TezosShadownet")]
TezosShadownet,
#[serde(rename = "Tempo")]
Tempo,
#[serde(rename = "TempoModerato")]
TempoModerato,
#[serde(rename = "Tsc")]
Tsc,
#[serde(rename = "TscTestnet1")]
TscTestnet1,
#[serde(rename = "Ton")]
Ton,
#[serde(rename = "TonTestnet")]
TonTestnet,
#[serde(rename = "Tron")]
Tron,
#[serde(rename = "TronNile")]
TronNile,
#[serde(rename = "Westend")]
Westend,
#[serde(rename = "WestendAssetHub")]
WestendAssetHub,
#[serde(rename = "Xdc")]
Xdc,
#[serde(rename = "XdcApothem")]
XdcApothem,
#[serde(rename = "XLayer")]
XLayer,
#[serde(rename = "XLayerSepolia")]
XLayerSepolia,
#[serde(rename = "XrpLedger")]
XrpLedger,
#[serde(rename = "XrpLedgerTestnet")]
XrpLedgerTestnet,
}
impl std::fmt::Display for Network {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(match self {
Network::Algorand => "Algorand",
Network::AlgorandTestnet => "AlgorandTestnet",
Network::Aptos => "Aptos",
Network::AptosTestnet => "AptosTestnet",
Network::ArbitrumOne => "ArbitrumOne",
Network::ArbitrumSepolia => "ArbitrumSepolia",
Network::ArcTestnet => "ArcTestnet",
Network::AvalancheC => "AvalancheC",
Network::AvalancheCFuji => "AvalancheCFuji",
Network::BabylonGenesis => "BabylonGenesis",
Network::BabylonTestnet5 => "BabylonTestnet5",
Network::Base => "Base",
Network::BaseSepolia => "BaseSepolia",
Network::Berachain => "Berachain",
Network::BerachainBepolia => "BerachainBepolia",
Network::Bitcoin => "Bitcoin",
Network::BitcoinSignet => "BitcoinSignet",
Network::BitcoinTestnet4 => "BitcoinTestnet4",
Network::BitcoinCash => "BitcoinCash",
Network::Bob => "Bob",
Network::BobSepolia => "BobSepolia",
Network::Bsc => "Bsc",
Network::BscTestnet => "BscTestnet",
Network::Canton => "Canton",
Network::CantonTestnet => "CantonTestnet",
Network::Cardano => "Cardano",
Network::CardanoPreprod => "CardanoPreprod",
Network::Concordium => "Concordium",
Network::ConcordiumTestnet => "ConcordiumTestnet",
Network::Celo => "Celo",
Network::CeloAlfajores => "CeloAlfajores",
Network::Codex => "Codex",
Network::CodexSepolia => "CodexSepolia",
Network::CosmosHub4 => "CosmosHub4",
Network::CosmosIcsTestnet => "CosmosIcsTestnet",
Network::Dogecoin => "Dogecoin",
Network::DogecoinTestnet => "DogecoinTestnet",
Network::Ethereum => "Ethereum",
Network::EthereumClassic => "EthereumClassic",
Network::EthereumClassicMordor => "EthereumClassicMordor",
Network::EthereumSepolia => "EthereumSepolia",
Network::EthereumHoodi => "EthereumHoodi",
Network::FlareC => "FlareC",
Network::FlareCCoston2 => "FlareCCoston2",
Network::FlowEvm => "FlowEvm",
Network::FlowEvmTestnet => "FlowEvmTestnet",
Network::Hedera => "Hedera",
Network::HederaTestnet => "HederaTestnet",
Network::Ink => "Ink",
Network::InkSepolia => "InkSepolia",
Network::InternetComputer => "InternetComputer",
Network::Ion => "Ion",
Network::IonTestnet => "IonTestnet",
Network::Iota => "Iota",
Network::IotaTestnet => "IotaTestnet",
Network::Kusama => "Kusama",
Network::KusamaAssetHub => "KusamaAssetHub",
Network::Litecoin => "Litecoin",
Network::LitecoinTestnet => "LitecoinTestnet",
Network::Movement => "Movement",
Network::MovementTestnet => "MovementTestnet",
Network::Near => "Near",
Network::NearTestnet => "NearTestnet",
Network::Optimism => "Optimism",
Network::OptimismSepolia => "OptimismSepolia",
Network::Origyn => "Origyn",
Network::Plasma => "Plasma",
Network::PlasmaTestnet => "PlasmaTestnet",
Network::Plume => "Plume",
Network::PlumeSepolia => "PlumeSepolia",
Network::Paseo => "Paseo",
Network::PaseoAssetHub => "PaseoAssetHub",
Network::Polkadot => "Polkadot",
Network::PolkadotAssetHub => "PolkadotAssetHub",
Network::Polygon => "Polygon",
Network::PolygonAmoy => "PolygonAmoy",
Network::Polymesh => "Polymesh",
Network::PolymeshTestnet => "PolymeshTestnet",
Network::Race => "Race",
Network::RaceSepolia => "RaceSepolia",
Network::Rayls => "Rayls",
Network::RaylsTestnet => "RaylsTestnet",
Network::Robinhood => "Robinhood",
Network::RobinhoodSepolia => "RobinhoodSepolia",
Network::SeiAtlantic2 => "SeiAtlantic2",
Network::SeiPacific1 => "SeiPacific1",
Network::Solana => "Solana",
Network::SolanaDevnet => "SolanaDevnet",
Network::Sonic => "Sonic",
Network::SonicTestnet => "SonicTestnet",
Network::Starknet => "Starknet",
Network::StarknetSepolia => "StarknetSepolia",
Network::Stellar => "Stellar",
Network::StellarTestnet => "StellarTestnet",
Network::Sui => "Sui",
Network::SuiTestnet => "SuiTestnet",
Network::Tezos => "Tezos",
Network::TezosGhostnet => "TezosGhostnet",
Network::TezosShadownet => "TezosShadownet",
Network::Tempo => "Tempo",
Network::TempoModerato => "TempoModerato",
Network::Tsc => "Tsc",
Network::TscTestnet1 => "TscTestnet1",
Network::Ton => "Ton",
Network::TonTestnet => "TonTestnet",
Network::Tron => "Tron",
Network::TronNile => "TronNile",
Network::Westend => "Westend",
Network::WestendAssetHub => "WestendAssetHub",
Network::Xdc => "Xdc",
Network::XdcApothem => "XdcApothem",
Network::XLayer => "XLayer",
Network::XLayerSepolia => "XLayerSepolia",
Network::XrpLedger => "XrpLedger",
Network::XrpLedgerTestnet => "XrpLedgerTestnet",
})
}
}
#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
pub enum CredentialKind {
#[serde(rename = "Fido2")]
Fido2,
#[serde(rename = "Key")]
Key,
#[serde(rename = "RecoveryKey")]
RecoveryKey,
#[serde(rename = "PasswordProtectedKey")]
PasswordProtectedKey,
}
impl std::fmt::Display for CredentialKind {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(match self {
CredentialKind::Fido2 => "Fido2",
CredentialKind::Key => "Key",
CredentialKind::RecoveryKey => "RecoveryKey",
CredentialKind::PasswordProtectedKey => "PasswordProtectedKey",
})
}
}
#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
pub enum KeyScheme {
#[serde(rename = "ECDSA")]
ECDSA,
#[serde(rename = "EdDSA")]
EdDSA,
#[serde(rename = "Schnorr")]
Schnorr,
}
impl std::fmt::Display for KeyScheme {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(match self {
KeyScheme::ECDSA => "ECDSA",
KeyScheme::EdDSA => "EdDSA",
KeyScheme::Schnorr => "Schnorr",
})
}
}
#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
pub enum KeyCurve {
#[serde(rename = "ed25519")]
Ed25519,
#[serde(rename = "secp256k1")]
Secp256k1,
#[serde(rename = "stark")]
Stark,
}
impl std::fmt::Display for KeyCurve {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(match self {
KeyCurve::Ed25519 => "ed25519",
KeyCurve::Secp256k1 => "secp256k1",
KeyCurve::Stark => "stark",
})
}
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct WebhookEvent {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "date")]
pub date: String,
#[serde(rename = "kind")]
pub kind: String,
#[serde(rename = "data")]
pub data:
std::collections::HashMap<String, std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "status")]
pub status: String,
#[serde(rename = "error", default, skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
#[serde(rename = "timestampSent")]
pub timestamp_sent: i64,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct WebhookWithSecret {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "url")]
pub url: String,
#[serde(rename = "events")]
pub events: Vec<serde_json::Value>,
#[serde(rename = "status")]
pub status: String,
#[serde(
rename = "description",
default,
skip_serializing_if = "Option::is_none"
)]
pub description: Option<String>,
#[serde(rename = "dateCreated")]
pub date_created: String,
#[serde(rename = "dateUpdated")]
pub date_updated: String,
#[serde(rename = "secret")]
pub secret: String,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct Webhook {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "url")]
pub url: String,
#[serde(rename = "events")]
pub events: Vec<serde_json::Value>,
#[serde(rename = "status")]
pub status: String,
#[serde(
rename = "description",
default,
skip_serializing_if = "Option::is_none"
)]
pub description: Option<String>,
#[serde(rename = "dateCreated")]
pub date_created: String,
#[serde(rename = "dateUpdated")]
pub date_updated: String,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct Offer {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "orgId")]
pub org_id: String,
#[serde(rename = "walletId")]
pub wallet_id: String,
#[serde(rename = "network")]
pub network: crate::types::Network,
#[serde(rename = "kind")]
pub kind: String,
#[serde(rename = "metadata")]
pub metadata: serde_json::Value,
#[serde(rename = "txHash")]
pub tx_hash: String,
#[serde(rename = "status")]
pub status: String,
#[serde(rename = "from")]
pub from: String,
#[serde(rename = "to")]
pub to: String,
#[serde(rename = "value")]
pub value: String,
#[serde(rename = "timestamp")]
pub timestamp: String,
#[serde(rename = "expiresAt", default, skip_serializing_if = "Option::is_none")]
pub expires_at: Option<String>,
#[serde(rename = "memo", default, skip_serializing_if = "Option::is_none")]
pub memo: Option<String>,
#[serde(
rename = "settlementTransactionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub settlement_transaction_id: Option<String>,
#[serde(
rename = "dateSettled",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_settled: Option<String>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct TransactionRequest {
#[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: Requester,
#[serde(rename = "requestBody")]
pub request_body: 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 = "approvalId",
default,
skip_serializing_if = "Option::is_none"
)]
pub approval_id: 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 = "externalId",
default,
skip_serializing_if = "Option::is_none"
)]
pub external_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>>,
>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct Requester {
#[serde(rename = "userId")]
pub user_id: String,
#[serde(rename = "tokenId", default, skip_serializing_if = "Option::is_none")]
pub token_id: Option<String>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct VaultBalanceEntry {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "kind")]
pub kind: String,
#[serde(rename = "network")]
pub network: String,
#[serde(rename = "tid")]
pub tid: String,
#[serde(rename = "amount")]
pub amount: String,
#[serde(
rename = "transferId",
default,
skip_serializing_if = "Option::is_none"
)]
pub transfer_id: Option<String>,
#[serde(
rename = "quarantineId",
default,
skip_serializing_if = "Option::is_none"
)]
pub quarantine_id: Option<String>,
#[serde(rename = "lockId", default, skip_serializing_if = "Option::is_none")]
pub lock_id: Option<String>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct VaultNetWorth {
#[serde(rename = "available")]
pub available: serde_json::Value,
#[serde(rename = "quarantined")]
pub quarantined: serde_json::Value,
#[serde(rename = "locked")]
pub locked: serde_json::Value,
#[serde(rename = "total")]
pub total: serde_json::Value,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct VaultAsset {
#[serde(rename = "kind")]
pub kind: String,
#[serde(rename = "network")]
pub network: String,
#[serde(rename = "tid")]
pub tid: String,
#[serde(rename = "decimals")]
pub decimals: f64,
#[serde(rename = "symbol", default, skip_serializing_if = "Option::is_none")]
pub symbol: Option<String>,
#[serde(rename = "verified", default, skip_serializing_if = "Option::is_none")]
pub verified: Option<bool>,
#[serde(rename = "availableBalance")]
pub available_balance: String,
#[serde(rename = "quarantinedBalance")]
pub quarantined_balance: String,
#[serde(rename = "lockedBalance")]
pub locked_balance: String,
#[serde(rename = "quotes", default, skip_serializing_if = "Option::is_none")]
pub quotes: Option<serde_json::Value>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct TransferRequest {
#[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>>,
>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct VaultLock {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "vaultId")]
pub vault_id: String,
#[serde(rename = "network")]
pub network: String,
#[serde(rename = "tid")]
pub tid: String,
#[serde(rename = "amount")]
pub amount: String,
#[serde(rename = "owner")]
pub owner: String,
#[serde(
rename = "externalId",
default,
skip_serializing_if = "Option::is_none"
)]
pub external_id: Option<String>,
#[serde(rename = "reason", default, skip_serializing_if = "Option::is_none")]
pub reason: Option<String>,
#[serde(rename = "dateCreated")]
pub date_created: String,
#[serde(
rename = "dateDeleted",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_deleted: Option<String>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct VaultAddress {
#[serde(rename = "walletId")]
pub wallet_id: String,
#[serde(rename = "network")]
pub network: String,
#[serde(rename = "address")]
pub address: String,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct Vault {
#[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>>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct SwapQuote {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "walletId")]
pub wallet_id: String,
#[serde(
rename = "targetWalletId",
default,
skip_serializing_if = "Option::is_none"
)]
pub target_wallet_id: Option<String>,
#[serde(rename = "provider")]
pub provider: String,
#[serde(rename = "sourceAsset")]
pub source_asset: serde_json::Value,
#[serde(rename = "targetAsset")]
pub target_asset: serde_json::Value,
#[serde(rename = "slippageBps")]
pub slippage_bps: i64,
#[serde(rename = "fee", default, skip_serializing_if = "Option::is_none")]
pub fee: Option<String>,
#[serde(rename = "dateCreated")]
pub date_created: String,
#[serde(rename = "requestBody")]
pub request_body: serde_json::Value,
#[serde(rename = "requester")]
pub requester: crate::types::Requester,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct Swap {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "quoteId")]
pub quote_id: String,
#[serde(rename = "reference")]
pub reference: serde_json::Value,
#[serde(rename = "walletId")]
pub wallet_id: String,
#[serde(rename = "targetWalletId")]
pub target_wallet_id: String,
#[serde(rename = "status")]
pub status: String,
#[serde(rename = "provider")]
pub provider: String,
#[serde(
rename = "feeSponsorId",
default,
skip_serializing_if = "Option::is_none"
)]
pub fee_sponsor_id: Option<String>,
#[serde(rename = "quotedSourceAsset")]
pub quoted_source_asset: serde_json::Value,
#[serde(rename = "quotedTargetAsset")]
pub quoted_target_asset: serde_json::Value,
#[serde(rename = "slippageBps")]
pub slippage_bps: f64,
#[serde(rename = "dateCreated")]
pub date_created: String,
#[serde(rename = "requestBody")]
pub request_body: serde_json::Value,
#[serde(rename = "requester")]
pub requester: crate::types::Requester,
#[serde(
rename = "failureReason",
default,
skip_serializing_if = "Option::is_none"
)]
pub failure_reason: Option<String>,
#[serde(
rename = "protocolStatus",
default,
skip_serializing_if = "Option::is_none"
)]
pub protocol_status: Option<String>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct StakeAction {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "stakeId")]
pub stake_id: String,
#[serde(rename = "status")]
pub status: String,
#[serde(
rename = "transactionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub transaction_id: Option<String>,
#[serde(
rename = "signatureId",
default,
skip_serializing_if = "Option::is_none"
)]
pub signature_id: Option<String>,
#[serde(
rename = "transactionHash",
default,
skip_serializing_if = "Option::is_none"
)]
pub transaction_hash: Option<String>,
#[serde(rename = "kind")]
pub kind: String,
#[serde(rename = "requester")]
pub requester: crate::types::Requester,
#[serde(rename = "requestBody")]
pub request_body: serde_json::Value,
#[serde(
rename = "failureReason",
default,
skip_serializing_if = "Option::is_none"
)]
pub failure_reason: Option<String>,
#[serde(rename = "dateCreated")]
pub date_created: String,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct PolicyApproval {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "initiatorId")]
pub initiator_id: String,
#[serde(rename = "activity")]
pub activity: serde_json::Value,
#[serde(rename = "status")]
pub status: String,
#[serde(
rename = "expirationDate",
default,
skip_serializing_if = "Option::is_none"
)]
pub expiration_date: Option<String>,
#[serde(
rename = "dateCreated",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_created: Option<String>,
#[serde(rename = "dateUpdated")]
pub date_updated: String,
#[serde(
rename = "dateResolved",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_resolved: Option<String>,
#[serde(rename = "policyEvaluations")]
pub policy_evaluations: Vec<serde_json::Value>,
#[serde(rename = "decisions")]
pub decisions: Vec<serde_json::Value>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ChangeRequestRequester {
#[serde(rename = "userId")]
pub user_id: String,
#[serde(rename = "tokenId", default, skip_serializing_if = "Option::is_none")]
pub token_id: Option<String>,
#[serde(rename = "appId", default, skip_serializing_if = "Option::is_none")]
pub app_id: Option<String>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct Permission {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "operations")]
pub operations: Vec<String>,
#[serde(rename = "status")]
pub status: String,
#[serde(rename = "isImmutable")]
pub is_immutable: bool,
#[serde(rename = "isArchived")]
pub is_archived: bool,
#[serde(rename = "dateCreated")]
pub date_created: String,
#[serde(rename = "dateUpdated")]
pub date_updated: String,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CantonValidator {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "orgId")]
pub org_id: String,
#[serde(rename = "network")]
pub network: String,
#[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "kind")]
pub kind: String,
#[serde(rename = "dateCreated")]
pub date_created: String,
#[serde(rename = "partyHint")]
pub party_hint: String,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct SignatureRequest {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "keyId")]
pub key_id: String,
#[serde(rename = "requester")]
pub requester: crate::types::Requester,
#[serde(rename = "requestBody")]
pub request_body: 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 = "signature", default, skip_serializing_if = "Option::is_none")]
pub signature: Option<serde_json::Value>,
#[serde(
rename = "signatures",
default,
skip_serializing_if = "Option::is_none"
)]
pub signatures: Option<Vec<serde_json::Value>>,
#[serde(
rename = "signedData",
default,
skip_serializing_if = "Option::is_none"
)]
pub signed_data: Option<String>,
#[serde(rename = "network", default, skip_serializing_if = "Option::is_none")]
pub network: Option<crate::types::Network>,
#[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 = "approvalId",
default,
skip_serializing_if = "Option::is_none"
)]
pub approval_id: 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 = "dateSigned",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_signed: Option<String>,
#[serde(
rename = "dateConfirmed",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_confirmed: Option<String>,
#[serde(
rename = "externalId",
default,
skip_serializing_if = "Option::is_none"
)]
pub external_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>>,
>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct Key {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "scheme")]
pub scheme: crate::types::KeyScheme,
#[serde(rename = "curve")]
pub curve: crate::types::KeyCurve,
#[serde(rename = "publicKey")]
pub public_key: String,
#[serde(rename = "masterKey", default, skip_serializing_if = "Option::is_none")]
pub master_key: Option<bool>,
#[serde(
rename = "derivedFrom",
default,
skip_serializing_if = "Option::is_none"
)]
pub derived_from: Option<serde_json::Value>,
#[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "status")]
pub status: String,
#[serde(rename = "custodial")]
pub custodial: bool,
#[serde(rename = "dateCreated")]
pub date_created: String,
#[serde(rename = "imported", default, skip_serializing_if = "Option::is_none")]
pub imported: Option<bool>,
#[serde(rename = "exported", default, skip_serializing_if = "Option::is_none")]
pub exported: Option<bool>,
#[serde(
rename = "dateExported",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_exported: Option<String>,
#[serde(
rename = "dateDeleted",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_deleted: Option<String>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct FeeSponsor {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "walletId")]
pub wallet_id: String,
#[serde(rename = "network")]
pub network: crate::types::Network,
#[serde(rename = "status")]
pub status: String,
#[serde(rename = "dateCreated")]
pub date_created: String,
#[serde(
rename = "allowEndUser",
default,
skip_serializing_if = "Option::is_none"
)]
pub allow_end_user: Option<bool>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct User {
#[serde(rename = "username")]
pub username: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "userId")]
pub user_id: String,
#[serde(rename = "kind")]
pub kind: String,
#[serde(rename = "credentialUuid")]
pub credential_uuid: String,
#[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
pub org_id: Option<String>,
#[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
pub tenant_id: Option<String>,
#[serde(
rename = "permissions",
default,
skip_serializing_if = "Option::is_none"
)]
pub permissions: Option<Vec<String>>,
#[serde(rename = "isActive")]
pub is_active: bool,
#[serde(rename = "isServiceAccount")]
pub is_service_account: bool,
#[serde(rename = "isRegistered")]
pub is_registered: bool,
#[serde(rename = "isSSORequired")]
pub is_ssorequired: bool,
#[serde(rename = "permissionAssignments")]
pub permission_assignments: Vec<serde_json::Value>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct Wallet {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "network")]
pub network: String,
#[serde(rename = "address", default, skip_serializing_if = "Option::is_none")]
pub address: Option<String>,
#[serde(rename = "signingKey")]
pub signing_key: serde_json::Value,
#[serde(rename = "status")]
pub status: String,
#[serde(rename = "dateCreated")]
pub date_created: String,
#[serde(
rename = "dateDeleted",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_deleted: Option<String>,
#[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "custodial")]
pub custodial: bool,
#[serde(
rename = "externalId",
default,
skip_serializing_if = "Option::is_none"
)]
pub external_id: Option<String>,
#[serde(rename = "tags")]
pub tags: Vec<String>,
#[serde(
rename = "validatorId",
default,
skip_serializing_if = "Option::is_none"
)]
pub validator_id: Option<String>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct RecoveryKeyAttestation {
#[serde(rename = "credentialKind")]
pub credential_kind: String,
#[serde(rename = "credentialInfo")]
pub credential_info: serde_json::Value,
#[serde(
rename = "encryptedPrivateKey",
default,
skip_serializing_if = "Option::is_none"
)]
pub encrypted_private_key: Option<String>,
#[serde(
rename = "credentialName",
default,
skip_serializing_if = "Option::is_none"
)]
pub credential_name: Option<String>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct Credential {
#[serde(rename = "kind")]
pub kind: String,
#[serde(rename = "credentialId")]
pub credential_id: String,
#[serde(rename = "credentialUuid")]
pub credential_uuid: String,
#[serde(rename = "dateCreated")]
pub date_created: String,
#[serde(rename = "isActive")]
pub is_active: bool,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "publicKey")]
pub public_key: String,
#[serde(rename = "relyingPartyId")]
pub relying_party_id: String,
#[serde(rename = "origin")]
pub origin: String,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct PersonalAccessToken {
#[serde(
rename = "accessToken",
default,
skip_serializing_if = "Option::is_none"
)]
pub access_token: Option<String>,
#[serde(rename = "dateCreated")]
pub date_created: String,
#[serde(rename = "credId")]
pub cred_id: String,
#[serde(rename = "isActive")]
pub is_active: bool,
#[serde(rename = "kind")]
pub kind: String,
#[serde(rename = "linkedUserId")]
pub linked_user_id: String,
#[serde(rename = "linkedAppId")]
pub linked_app_id: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "orgId")]
pub org_id: String,
#[serde(rename = "permissionAssignments")]
pub permission_assignments: Vec<serde_json::Value>,
#[serde(rename = "publicKey")]
pub public_key: String,
#[serde(rename = "tokenId")]
pub token_id: String,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct AuditLog {
#[serde(rename = "id")]
pub id: serde_json::Value,
#[serde(rename = "action")]
pub action: String,
#[serde(rename = "actionToken")]
pub action_token: String,
#[serde(rename = "userId")]
pub user_id: serde_json::Value,
#[serde(rename = "username")]
pub username: serde_json::Value,
#[serde(rename = "datePerformed")]
pub date_performed: String,
#[serde(rename = "firstFactorCredential")]
pub first_factor_credential: serde_json::Value,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct AllocationAction {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "allocationId")]
pub allocation_id: String,
#[serde(
rename = "externalId",
default,
skip_serializing_if = "Option::is_none"
)]
pub external_id: Option<String>,
#[serde(rename = "kind")]
pub kind: String,
#[serde(rename = "status")]
pub status: String,
#[serde(rename = "requester")]
pub requester: crate::types::Requester,
#[serde(rename = "requestBody")]
pub request_body: serde_json::Value,
#[serde(
rename = "failureReason",
default,
skip_serializing_if = "Option::is_none"
)]
pub failure_reason: Option<String>,
#[serde(rename = "dateCreated")]
pub date_created: String,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct Allocation {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "walletId")]
pub wallet_id: String,
#[serde(rename = "protocol")]
pub protocol: String,
#[serde(rename = "provider", default, skip_serializing_if = "Option::is_none")]
pub provider: Option<String>,
#[serde(rename = "amount")]
pub amount: serde_json::Value,
#[serde(rename = "rewards")]
pub rewards: serde_json::Value,
#[serde(rename = "dateCreated")]
pub date_created: String,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct AddressWatchBlockchainEvent {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "addressWatchId")]
pub address_watch_id: String,
#[serde(rename = "network")]
pub network: crate::types::AddressWatchNetwork,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "blockNumber")]
pub block_number: f64,
#[serde(rename = "txHash")]
pub tx_hash: String,
#[serde(rename = "index")]
pub index: String,
#[serde(rename = "timestamp")]
pub timestamp: String,
#[serde(rename = "status")]
pub status: String,
#[serde(rename = "data")]
pub data:
std::collections::HashMap<String, std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct AddressWatch {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "network")]
pub network: crate::types::AddressWatchNetwork,
#[serde(rename = "address")]
pub address: String,
#[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>,
#[serde(rename = "tags")]
pub tags: Vec<String>,
#[serde(rename = "status")]
pub status: String,
#[serde(rename = "dateCreated")]
pub date_created: String,
#[serde(
rename = "dateDeleted",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_deleted: Option<String>,
}