mirror of
https://github.com/BlueWallet/BlueWallet.git
synced 2025-02-24 23:38:57 +01:00
60 lines
1.5 KiB
Swift
60 lines
1.5 KiB
Swift
//
|
|
// Models.swift
|
|
// BlueWallet
|
|
//
|
|
// Created by Marcos Rodriguez on 11/1/20.
|
|
// Copyright © 2020 BlueWallet. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
struct MarketData:Codable {
|
|
var nextBlock: String
|
|
var sats: String
|
|
var price: String
|
|
var rate: Double
|
|
var formattedNextBlock: String {
|
|
return nextBlock == "..." ? "..." : #"\#(nextBlock) sat/b"#
|
|
}
|
|
var dateString: String = ""
|
|
var formattedDate: String? {
|
|
let isoDateFormatter = ISO8601DateFormatter()
|
|
let dateFormatter = DateFormatter()
|
|
dateFormatter.locale = Locale.current
|
|
dateFormatter.timeStyle = .short
|
|
|
|
if let date = isoDateFormatter.date(from: dateString) {
|
|
return dateFormatter.string(from: date)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
}
|
|
|
|
struct WalletData {
|
|
var balance: Double
|
|
var latestTransactionTime: Int = 0
|
|
var formattedBalanceBTC: String {
|
|
let formatter = NumberFormatter()
|
|
formatter.numberStyle = .none
|
|
formatter.usesSignificantDigits = true
|
|
formatter.maximumSignificantDigits = 9
|
|
formatter.roundingMode = .up
|
|
let value = NSNumber(value: balance / 100000000);
|
|
if let valueString = formatter.string(from: value) {
|
|
return "\(String(describing: valueString)) BTC"
|
|
} else {
|
|
return "0 BTC"
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
let emptyMarketData = MarketData(nextBlock: "...", sats: "...", price: "...", rate: 0)
|
|
let emptyWalletData = WalletData(balance: 0, latestTransactionTime: Int(Date().timeIntervalSince1970))
|
|
|
|
enum MarketDataTimeline: String {
|
|
case Previous = "previous"
|
|
case Current = "current"
|
|
}
|