66 lines
1.9 KiB
Swift
66 lines
1.9 KiB
Swift
//
|
|
// secantApp.swift
|
|
// secant
|
|
//
|
|
// Created by Francisco Gindre on 7/29/21.
|
|
//
|
|
|
|
import SwiftUI
|
|
import ComposableArchitecture
|
|
import ZcashLightClientKit
|
|
|
|
final class AppDelegate: NSObject, UIApplicationDelegate {
|
|
var rootStore: RootStore = .placeholder
|
|
lazy var rootViewStore = ViewStore(
|
|
rootStore.stateless,
|
|
removeDuplicates: ==
|
|
)
|
|
|
|
func application(
|
|
_ application: UIApplication,
|
|
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
|
|
) -> Bool {
|
|
walletLogger = OSLogger(logLevel: .debug, category: LoggerConstants.walletLogs)
|
|
// set the default behavior for the NSDecimalNumber
|
|
NSDecimalNumber.defaultBehavior = Zatoshi.decimalHandler
|
|
rootViewStore.send(.initialization(.appDelegate(.didFinishLaunching)))
|
|
return true
|
|
}
|
|
|
|
func application(
|
|
_ application: UIApplication,
|
|
shouldAllowExtensionPointIdentifier extensionPointIdentifier: UIApplication.ExtensionPointIdentifier
|
|
) -> Bool {
|
|
return extensionPointIdentifier != UIApplication.ExtensionPointIdentifier.keyboard
|
|
}
|
|
}
|
|
|
|
@main
|
|
struct SecantApp: App {
|
|
@UIApplicationDelegateAdaptor(AppDelegate.self) private var appDelegate
|
|
|
|
var body: some Scene {
|
|
WindowGroup {
|
|
RootView(store: appDelegate.rootStore)
|
|
.preferredColorScheme(.light)
|
|
}
|
|
}
|
|
}
|
|
|
|
// MARK: Zcash Network global type
|
|
|
|
/// Whenever the ZcashNetwork is required use this var to determine which is the
|
|
/// network type suitable for the present target.
|
|
|
|
enum TargetConstants {
|
|
static var zcashNetwork: ZcashNetwork {
|
|
#if SECANT_MAINNET
|
|
return ZcashNetworkBuilder.network(for: .mainnet)
|
|
#elseif SECANT_TESTNET
|
|
return ZcashNetworkBuilder.network(for: .testnet)
|
|
#else
|
|
fatalError("SECANT_MAINNET or SECANT_TESTNET flags not defined on Swift Compiler custom flags of your build target.")
|
|
#endif
|
|
}
|
|
}
|