Files
koins/apps/ios/Koins/Models.swift
T

69 lines
1.3 KiB
Swift

import Foundation
enum Chain: String, Codable, CaseIterable {
case xrp
case xmr
var symbol: String { self == .xrp ? "XRP" : "XMR" }
var title: String { self == .xrp ? "XRP Ledger" : "Monero" }
var subtitle: String {
self == .xrp ? "Fast, low-fee payments" : "Private, untraceable payments"
}
}
struct WalletRecord: Codable, Identifiable, Equatable {
let id: String
var name: String
var address: String
var createdAt: Date
}
enum Direction {
case incoming
case outgoing
}
struct TransactionRecord: Identifiable {
let id: String
let amount: String
let timestamp: Date?
let direction: Direction
let confirmed: Bool
var fee: String?
var tag: Int?
var counterparty: String?
}
struct Balance {
var total: String
var unlocked: String
var funded: Bool
}
struct SyncStatus {
var height: UInt64
var daemonHeight: UInt64
var syncing: Bool
var connected: Bool
var progress: Double {
guard daemonHeight > 0 else { return 0 }
return min(1, Double(height) / Double(daemonHeight))
}
}
enum TransactionPriority: Int {
case defaultPriority = 0
case low = 1
case medium = 2
case high = 3
var label: String {
switch self {
case .defaultPriority: return "Default"
case .low: return "Low"
case .medium: return "Medium"
case .high: return "High"
}
}
}