44 lines
1.3 KiB
Swift
44 lines
1.3 KiB
Swift
//
|
|
// WalletStorageLiveKey.swift
|
|
// secant-testnet
|
|
//
|
|
// Created by Lukáš Korba on 15.11.2022.
|
|
//
|
|
|
|
import Foundation
|
|
import MnemonicSwift
|
|
import ZcashLightClientKit
|
|
import ComposableArchitecture
|
|
|
|
extension WalletStorageClient: DependencyKey {
|
|
static let liveValue = WalletStorageClient.live()
|
|
|
|
static func live(walletStorage: WalletStorage = WalletStorage(secItem: .live)) -> Self {
|
|
Self(
|
|
importWallet: { bip39, birthday, language, hasUserPassedPhraseBackupTest in
|
|
try walletStorage.importWallet(
|
|
bip39: bip39,
|
|
birthday: birthday,
|
|
language: language,
|
|
hasUserPassedPhraseBackupTest: hasUserPassedPhraseBackupTest
|
|
)
|
|
},
|
|
exportWallet: {
|
|
try walletStorage.exportWallet()
|
|
},
|
|
areKeysPresent: {
|
|
try walletStorage.areKeysPresent()
|
|
},
|
|
updateBirthday: { birthday in
|
|
try walletStorage.updateBirthday(birthday)
|
|
},
|
|
markUserPassedPhraseBackupTest: {
|
|
try walletStorage.markUserPassedPhraseBackupTest()
|
|
},
|
|
nukeWallet: {
|
|
walletStorage.nukeWallet()
|
|
}
|
|
)
|
|
}
|
|
}
|