fireblocks-sdk 2026.3.27

Rust implementation of the Fireblocks SDK
Documentation
// Fireblocks API
//
// Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.  - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
//
// The version of the OpenAPI document: 1.8.0
// Contact: developers@fireblocks.com
// Generated by: https://openapi-generator.tech

use {
    crate::models,
    serde::{Deserialize, Serialize},
};

///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum WebhookEvent {
    #[serde(rename = "transaction.created")]
    TransactionCreated,
    #[serde(rename = "transaction.status.updated")]
    TransactionStatusUpdated,
    #[serde(rename = "transaction.approval_status.updated")]
    TransactionApprovalStatusUpdated,
    #[serde(rename = "transaction.network_records.processing_completed")]
    TransactionNetworkRecordsProcessingCompleted,
    #[serde(rename = "external_wallet.asset.added")]
    ExternalWalletAssetAdded,
    #[serde(rename = "external_wallet.asset.removed")]
    ExternalWalletAssetRemoved,
    #[serde(rename = "internal_wallet.asset.added")]
    InternalWalletAssetAdded,
    #[serde(rename = "internal_wallet.asset.removed")]
    InternalWalletAssetRemoved,
    #[serde(rename = "contract_wallet.asset.added")]
    ContractWalletAssetAdded,
    #[serde(rename = "contract_wallet.asset.removed")]
    ContractWalletAssetRemoved,
    #[serde(rename = "vault_account.created")]
    VaultAccountCreated,
    #[serde(rename = "vault_account.asset.added")]
    VaultAccountAssetAdded,
    #[serde(rename = "vault_account.asset.balance_updated")]
    VaultAccountAssetBalanceUpdated,
    #[serde(rename = "vault_account.nft.balance_updated")]
    VaultAccountNftBalanceUpdated,
    #[serde(rename = "embedded_wallet.created")]
    EmbeddedWalletCreated,
    #[serde(rename = "embedded_wallet.account.created")]
    EmbeddedWalletAccountCreated,
    #[serde(rename = "embedded_wallet.device.added")]
    EmbeddedWalletDeviceAdded,
    #[serde(rename = "embedded_wallet.asset.added")]
    EmbeddedWalletAssetAdded,
    #[serde(rename = "embedded_wallet.status.updated")]
    EmbeddedWalletStatusUpdated,
    #[serde(rename = "embedded_wallet.asset.balance_updated")]
    EmbeddedWalletAssetBalanceUpdated,
    #[serde(rename = "onchain_data.updated")]
    OnchainDataUpdated,
    #[serde(rename = "connection.added")]
    ConnectionAdded,
    #[serde(rename = "connection.removed")]
    ConnectionRemoved,
    #[serde(rename = "connection.request.waiting_peer_approval")]
    ConnectionRequestWaitingPeerApproval,
    #[serde(rename = "connection.request.rejected_by_peer")]
    ConnectionRequestRejectedByPeer,
    #[serde(rename = "exchange_account.added")]
    ExchangeAccountAdded,
    #[serde(rename = "fiat_account.added")]
    FiatAccountAdded,
    #[serde(rename = "ticket.created")]
    TicketCreated,
    #[serde(rename = "ticket.submitted")]
    TicketSubmitted,
    #[serde(rename = "ticket.expired")]
    TicketExpired,
    #[serde(rename = "ticket.canceled")]
    TicketCanceled,
    #[serde(rename = "ticket.fulfilled")]
    TicketFulfilled,
    #[serde(rename = "ticket.counterparty.added")]
    TicketCounterpartyAdded,
    #[serde(rename = "ticket.counterparty_external_id.set")]
    TicketCounterpartyExternalIdSet,
    #[serde(rename = "ticket.note.added")]
    TicketNoteAdded,
    #[serde(rename = "ticket.expired_in.set")]
    TicketExpiredInSet,
    #[serde(rename = "ticket.expired_at.set")]
    TicketExpiredAtSet,
    #[serde(rename = "ticket.term.added")]
    TicketTermAdded,
    #[serde(rename = "ticket.term.updated")]
    TicketTermUpdated,
    #[serde(rename = "ticket.term.deleted")]
    TicketTermDeleted,
    #[serde(rename = "ticket.term.funded")]
    TicketTermFunded,
    #[serde(rename = "ticket.term.manually_funded")]
    TicketTermManuallyFunded,
    #[serde(rename = "ticket.term.funding_canceled")]
    TicketTermFundingCanceled,
    #[serde(rename = "ticket.term.funding_failed")]
    TicketTermFundingFailed,
    #[serde(rename = "ticket.term.funding_completed")]
    TicketTermFundingCompleted,
    #[serde(rename = "ticket.term.transaction_status_changed")]
    TicketTermTransactionStatusChanged,
}

impl std::fmt::Display for WebhookEvent {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::TransactionCreated => write!(f, "transaction.created"),
            Self::TransactionStatusUpdated => write!(f, "transaction.status.updated"),
            Self::TransactionApprovalStatusUpdated => {
                write!(f, "transaction.approval_status.updated")
            }
            Self::TransactionNetworkRecordsProcessingCompleted => {
                write!(f, "transaction.network_records.processing_completed")
            }
            Self::ExternalWalletAssetAdded => write!(f, "external_wallet.asset.added"),
            Self::ExternalWalletAssetRemoved => write!(f, "external_wallet.asset.removed"),
            Self::InternalWalletAssetAdded => write!(f, "internal_wallet.asset.added"),
            Self::InternalWalletAssetRemoved => write!(f, "internal_wallet.asset.removed"),
            Self::ContractWalletAssetAdded => write!(f, "contract_wallet.asset.added"),
            Self::ContractWalletAssetRemoved => write!(f, "contract_wallet.asset.removed"),
            Self::VaultAccountCreated => write!(f, "vault_account.created"),
            Self::VaultAccountAssetAdded => write!(f, "vault_account.asset.added"),
            Self::VaultAccountAssetBalanceUpdated => {
                write!(f, "vault_account.asset.balance_updated")
            }
            Self::VaultAccountNftBalanceUpdated => write!(f, "vault_account.nft.balance_updated"),
            Self::EmbeddedWalletCreated => write!(f, "embedded_wallet.created"),
            Self::EmbeddedWalletAccountCreated => write!(f, "embedded_wallet.account.created"),
            Self::EmbeddedWalletDeviceAdded => write!(f, "embedded_wallet.device.added"),
            Self::EmbeddedWalletAssetAdded => write!(f, "embedded_wallet.asset.added"),
            Self::EmbeddedWalletStatusUpdated => write!(f, "embedded_wallet.status.updated"),
            Self::EmbeddedWalletAssetBalanceUpdated => {
                write!(f, "embedded_wallet.asset.balance_updated")
            }
            Self::OnchainDataUpdated => write!(f, "onchain_data.updated"),
            Self::ConnectionAdded => write!(f, "connection.added"),
            Self::ConnectionRemoved => write!(f, "connection.removed"),
            Self::ConnectionRequestWaitingPeerApproval => {
                write!(f, "connection.request.waiting_peer_approval")
            }
            Self::ConnectionRequestRejectedByPeer => {
                write!(f, "connection.request.rejected_by_peer")
            }
            Self::ExchangeAccountAdded => write!(f, "exchange_account.added"),
            Self::FiatAccountAdded => write!(f, "fiat_account.added"),
            Self::TicketCreated => write!(f, "ticket.created"),
            Self::TicketSubmitted => write!(f, "ticket.submitted"),
            Self::TicketExpired => write!(f, "ticket.expired"),
            Self::TicketCanceled => write!(f, "ticket.canceled"),
            Self::TicketFulfilled => write!(f, "ticket.fulfilled"),
            Self::TicketCounterpartyAdded => write!(f, "ticket.counterparty.added"),
            Self::TicketCounterpartyExternalIdSet => {
                write!(f, "ticket.counterparty_external_id.set")
            }
            Self::TicketNoteAdded => write!(f, "ticket.note.added"),
            Self::TicketExpiredInSet => write!(f, "ticket.expired_in.set"),
            Self::TicketExpiredAtSet => write!(f, "ticket.expired_at.set"),
            Self::TicketTermAdded => write!(f, "ticket.term.added"),
            Self::TicketTermUpdated => write!(f, "ticket.term.updated"),
            Self::TicketTermDeleted => write!(f, "ticket.term.deleted"),
            Self::TicketTermFunded => write!(f, "ticket.term.funded"),
            Self::TicketTermManuallyFunded => write!(f, "ticket.term.manually_funded"),
            Self::TicketTermFundingCanceled => write!(f, "ticket.term.funding_canceled"),
            Self::TicketTermFundingFailed => write!(f, "ticket.term.funding_failed"),
            Self::TicketTermFundingCompleted => write!(f, "ticket.term.funding_completed"),
            Self::TicketTermTransactionStatusChanged => {
                write!(f, "ticket.term.transaction_status_changed")
            }
        }
    }
}

impl Default for WebhookEvent {
    fn default() -> WebhookEvent {
        Self::TransactionCreated
    }
}