Swap XMR and XRP through kyc.rip without leaving the app

This commit is contained in:
2026-10-07 21:01:34 +08:00
parent 31429e6923
commit 4fa1584dfc
6 changed files with 631 additions and 0 deletions
+25
View File
@@ -81,6 +81,31 @@ enum WalletStore {
defaults.set(data, forKey: cacheKey(chain))
}
// MARK: - Swap orders (kyc.rip)
private static let swapOrdersKey = "koins.swapOrders"
static func swapOrders() -> [SwapOrder] {
guard let data = defaults.data(forKey: swapOrdersKey),
let orders = try? JSONDecoder().decode([SwapOrder].self, from: data) else { return [] }
return orders
}
static func saveSwapOrder(_ order: SwapOrder) {
var orders = swapOrders()
orders.removeAll { $0.id == order.id }
orders.insert(order, at: 0)
guard let data = try? JSONEncoder().encode(orders) else { return }
defaults.set(data, forKey: swapOrdersKey)
}
static func removeSwapOrder(id: String) {
var orders = swapOrders()
orders.removeAll { $0.id == id }
guard let data = try? JSONEncoder().encode(orders) else { return }
defaults.set(data, forKey: swapOrdersKey)
}
static func secret(_ chain: Chain) -> String? {
Keychain.get(secretKey(chain))
}