@@ -403,7 +403,7 @@ final class EthWalletService: WalletCoreProtocol, WalletStaticCoreProtocol, Smar
403
403
404
404
// MARK: - WalletInitiatedWithPassphrase
405
405
extension EthWalletService {
406
- func initWallet( withPassphrase passphrase: String , withPassword password: String ) async throws -> WalletAccount {
406
+ func initWallet( withPassphrase passphrase: String , withPassword password: String , storeInKVC : Bool ) async throws -> WalletAccount {
407
407
guard let adamant = accountService? . account else {
408
408
throw WalletServiceError . notLogged
409
409
}
@@ -429,7 +429,6 @@ extension EthWalletService {
429
429
430
430
// MARK: 3. Update
431
431
ethWallet = eWallet
432
- let kvsAddressModel = makeKVSAddressModel ( wallet: eWallet)
433
432
434
433
NotificationCenter . default. post (
435
434
name: walletUpdatedNotification,
@@ -444,7 +443,16 @@ extension EthWalletService {
444
443
NotificationCenter . default. post ( name: serviceEnabledChanged, object: self )
445
444
}
446
445
446
+ self . setState ( . upToDate)
447
+
448
+ Task {
449
+ await self . update ( )
450
+ }
451
+
452
+ guard storeInKVC else { return eWallet }
453
+
447
454
// MARK: 4. Save into KVS
455
+ let kvsAddressModel = makeKVSAddressModel ( wallet: eWallet)
448
456
let service = self
449
457
do {
450
458
let address = try await getWalletAddress ( byAdamantAddress: adamant. address)
@@ -454,24 +462,13 @@ extension EthWalletService {
454
462
}
455
463
}
456
464
457
- service. setState ( . upToDate)
458
-
459
- Task {
460
- await service. update ( )
461
- }
462
-
463
465
return eWallet
464
466
} catch let error as WalletServiceError {
465
467
switch error {
466
468
case . walletNotInitiated:
467
469
/// The ADM Wallet is not initialized. Check the balance of the current wallet
468
470
/// and save the wallet address to kvs when dropshipping ADM
469
- service. setState ( . upToDate)
470
-
471
- Task {
472
- await service. update ( )
473
- }
474
-
471
+
475
472
if let kvsAddressModel {
476
473
service. save ( kvsAddressModel) { result in
477
474
service. kvsSaveCompletionRecursion ( kvsAddressModel, result: result)
@@ -481,7 +478,6 @@ extension EthWalletService {
481
478
return eWallet
482
479
483
480
default :
484
- service. setState ( . upToDate)
485
481
throw error
486
482
}
487
483
}
0 commit comments