export struct UiTransactionSource { source_type: string, name: string, path: string, enabled: bool, can-sync: bool, transaction_count: int, } export struct UiWallet { name: string, enabled: bool, sources: [UiTransactionSource], transaction_count: int, } export enum UiTransactionType { buy, sell, trade, swap, deposit, withdrawal, fee, receive, send, transfer, chain-split, expense, stolen, lost, burn, income, airdrop, staking, cashback, gift, spam, } export struct UiTransaction { id: int, from: string, to: string, date: string, time: string, tx_type: UiTransactionType, received_cmc_id: int, received: string, sent_cmc_id: int, sent: string, fee: string, value: string, gain: float, gain_error: string, description: string, tx_hash: string, blockchain: string, } export struct UiCurrencySummary { currency-cmc-id: int, currency: string, balance_start: string, balance_end: string, quantity_disposed: string, cost: string, fees: string, proceeds: string, capital_profit_loss: string, income: string, total_profit_loss: string, } export struct UiBalanceForCurrency { source: string, balance: string, } export struct UiBalanceForWallet { currency-cmc-id: int, currency: string, balance: string, } export struct UiCapitalGain { currency-cmc-id: int, bought_date: string, bought_time: string, bought_tx_id: int, sold_date: string, sold_time: string, sold_tx_id: int, amount: string, cost: float, proceeds: float, gain_or_loss: float, long_term: bool, } export struct UiTaxReport { year: int, short_term_capital_gains: string, short_term_capital_losses: string, short_term_net_capital_gains: string, long_term_capital_gains: string, long_term_capital_losses: string, long_term_net_capital_gains: string, total_capital_gains: string, total_capital_losses: string, total_net_capital_gains: string, // ordinary_income: string, // derivative_trading_income: string, // expenses: string, currencies: [UiCurrencySummary], gains: [UiCapitalGain], } export struct UiCurrencyHoldings { currency_cmc_id: int, currency: string, quantity: string, cost: float, value: float, roi: string, is-profit: bool, unrealized_gain: float, percentage_of_portfolio: float, } export struct UiPortfolio { file-name: string, balance: float, cost_base: float, unrealized_gains: float, holdings: [UiCurrencyHoldings], } export enum UiNotificationType { info, warning, error, } export struct UiNotification { notification_type: UiNotificationType, message: string, }