Initial commit

This commit is contained in:
2024-02-19 01:58:22 -05:00
commit adac2bcd64
40 changed files with 2164 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
//
// SpotPriceFetcherDelegator.swift
// SatsPrice
//
// Created by Terry Yiu on 2/20/24.
//
import Foundation
import BigDecimal
class SpotPriceFetcherDelegator: SpotPriceFetcher {
private let coinbaseSpotPriceFetcher = CoinbaseSpotPriceFetcher()
private let coinGeckoSpotPriceFetcher = CoinGeckoSpotPriceFetcher()
var spotPriceSource: SpotPriceSource = .coinbase
private var delegate: SpotPriceFetcher {
switch spotPriceSource {
case .coinbase:
coinbaseSpotPriceFetcher
case .coingecko:
coinGeckoSpotPriceFetcher
}
}
func btcToUsd() async throws -> BigDecimal? {
return try await delegate.btcToUsd()
}
}