The account won't be removed from this device. You can hide it whenever you need it.
diff --git a/src/app/pages/settings/wallet-settings/wallet-settings.ts b/src/app/pages/settings/wallet-settings/wallet-settings.ts
index 9a7d5424416..8acef7e04a8 100644
--- a/src/app/pages/settings/wallet-settings/wallet-settings.ts
+++ b/src/app/pages/settings/wallet-settings/wallet-settings.ts
@@ -201,6 +201,12 @@ export class WalletSettingsPage {
this.events.publish('Local/GetData', true);
}
+ public hiddenETokenWalletChange(walletId: string): void {
+ if (!walletId) return;
+ this.profileProvider.toggleHideETokenWalletFlag(walletId);
+ this.events.publish('Local/GetData', true);
+ }
+
public openWalletGroupDelete(): void {
this.router.navigate(['/wallet-delete'], {
state: {
diff --git a/src/app/providers/persistence/persistence.ts b/src/app/providers/persistence/persistence.ts
index 1c9781cf020..57b22da2a6c 100644
--- a/src/app/providers/persistence/persistence.ts
+++ b/src/app/providers/persistence/persistence.ts
@@ -61,6 +61,7 @@ const Keys = {
HIDE_BALANCE: walletId => 'hideBalance-' + walletId,
TOTAL_BALANCE: 'totalBalance',
HIDE_WALLET: walletId => 'hideWallet-' + walletId,
+ HIDE_ETOKEN_WALLET: walletId => 'hideETokenWallet-' + walletId,
KEY_ONBOARDING: 'keyOnboarding',
KEYS: 'keys',
LAST_ADDRESS: walletId => 'lastAddress-' + walletId,
@@ -353,10 +354,18 @@ export class PersistenceProvider {
return this.storage.set(Keys.HIDE_WALLET(walletId), val);
}
+ setHideETokenWalletFlag(walletId: string, val) {
+ return this.storage.set(Keys.HIDE_ETOKEN_WALLET(walletId), val);
+ }
+
getHideWalletFlag(walletId: string) {
return this.storage.get(Keys.HIDE_WALLET(walletId));
}
+ getHideETokenWalletFlag(walletId: string) {
+ return this.storage.get(Keys.HIDE_ETOKEN_WALLET(walletId));
+ }
+
setDisclaimerAccepted() {
return this.storage.set(Keys.AGREE_DISCLAIMER, true);
}
diff --git a/src/app/providers/profile/profile.ts b/src/app/providers/profile/profile.ts
index 64c4b3af77c..45ff132b480 100644
--- a/src/app/providers/profile/profile.ts
+++ b/src/app/providers/profile/profile.ts
@@ -474,6 +474,24 @@ export class ProfileProvider {
});
}
+ private isETokenWalletHidden(wallet): Promise
{
+ return new Promise(resolve => {
+ this.persistenceProvider
+ .getHideETokenWalletFlag(wallet.credentials.walletId)
+ .then(shouldHideETokenWallet => {
+ let isHidden =
+ shouldHideETokenWallet && shouldHideETokenWallet.toString() == 'false'
+ ? false
+ : true;
+ if (!wallet?.credentials?.isSlpToken) isHidden = false;
+ return resolve(isHidden);
+ })
+ .catch(err => {
+ this.logger.error(err);
+ });
+ });
+ }
+
private coinSupported(coin): boolean {
const availableCoin = this.currencyProvider
.getAvailableCoins()
@@ -514,7 +532,7 @@ export class ProfileProvider {
wallet.balanceHidden = await this.isBalanceHidden(wallet);
wallet.order = await this.getWalletOrder(wallet.id);
wallet.hidden = await this.isWalletHidden(wallet);
- wallet.isSlpToken = wallet.credentials.isSlpToken;
+ wallet.isSlpToken = await this.isETokenWalletHidden(wallet);
wallet.lastAddress = await this.persistenceProvider.getLastAddress(
walletId
);
@@ -1712,6 +1730,7 @@ export class ProfileProvider {
addressType: opts.addressType,
isSlpToken: opts.isSlpToken,
isFromRaipay: opts.isFromRaipay,
+ isPath899: opts.isPath899,
n: opts.n || 1
})
);
@@ -1737,7 +1756,8 @@ export class ProfileProvider {
network,
account: opts.account || 0,
n: opts.n || 1,
- isSlpToken: opts.isSlpToken
+ isSlpToken: opts.isSlpToken,
+ isPath899: opts.isPath899
})
);
if (opts.duplicateKeyId) {
@@ -1778,7 +1798,8 @@ export class ProfileProvider {
account: opts.account || 0,
n: opts.n || 1,
isSlpToken: opts.isSlpToken,
- isFromRaipay: opts.isFromRaipay
+ isFromRaipay: opts.isFromRaipay,
+ isPath899: opts.isPath899
})
);
} catch (e) {
@@ -1792,7 +1813,8 @@ export class ProfileProvider {
network,
account: opts.account || 0,
n: opts.n || 1,
- isSlpToken: opts.isSlpToken
+ isSlpToken: opts.isSlpToken,
+ isPath899: opts.isPath899
})
);
} else {
@@ -1840,7 +1862,8 @@ export class ProfileProvider {
coin: opts.coin,
useNativeSegwit: opts.useNativeSegwit,
isSlpToken: opts.isSlpToken,
- isFromRaipay: opts.isFromRaipay
+ isFromRaipay: opts.isFromRaipay,
+ isPath899: opts.isPath899
},
err => {
const copayerRegistered =
@@ -1853,20 +1876,6 @@ export class ProfileProvider {
this.translate.instant('Error creating account')
);
return reject(msg);
- } else if (copayerRegistered && opts.isSlpToken) {
- if (!opts.isFromRaipay) {
- return reject(
- this.translate.instant(
- 'Only one slp Token wallet can be created'
- )
- );
- } else {
- return reject(
- this.translate.instant(
- 'Only one wallet path 145 can be created'
- )
- );
- }
} else if (copayerRegistered) {
// try with account + 1
opts.account = opts.account ? opts.account + 1 : 1;
@@ -2638,6 +2647,20 @@ export class ProfileProvider {
};
}
+ public toggleHideETokenWalletFlag(walletId: string): void {
+ this.wallet[walletId].isSlpToken = !this.wallet[walletId].isSlpToken;
+ this.persistenceProvider.setHideETokenWalletFlag(
+ walletId,
+ this.wallet[walletId].isSlpToken
+ );
+ this.setOrderedWalletsByGroup(); // Update Ordered Wallet List
+ this.keyChange = {
+ isStatus: true,
+ isDelete: false,
+ keyId: this.wallet[walletId].keyId
+ };
+ }
+
public getTxps(opts): Promise {
return new Promise((resolve, reject) => {
const MAX = 100;
diff --git a/src/assets/i18n/en.po b/src/assets/i18n/en.po
index 433d19c9fe6..2f3302aee90 100755
--- a/src/assets/i18n/en.po
+++ b/src/assets/i18n/en.po
@@ -1284,8 +1284,8 @@ msgstr "Derivation Path"
msgid "Derivation path"
msgstr "Derivation path"
-msgid "eToken Path"
-msgstr "eToken Path"
+msgid "eToken Account"
+msgstr "eToken Account"
msgid "Only select path m'/44'/1899'/0 for #Saving4Lotus or #Hold2Earn programs"
msgstr "Only select path m'/44'/1899'/0 for #Saving4Lotus or #Hold2Earn programs"
diff --git a/src/assets/i18n/vi.po b/src/assets/i18n/vi.po
index 26113f5480e..690a9dcf9e7 100644
--- a/src/assets/i18n/vi.po
+++ b/src/assets/i18n/vi.po
@@ -1308,7 +1308,7 @@ msgstr "Do nhu cầu cao, phí thợ đào tăng. Phí này được trả cho t
msgid "Derivation path"
msgstr "Đường dẫn xuất"
-msgid "eToken Path"
+msgid "eToken Account"
msgstr "Đường dẫn xuất eToken"
msgid "Only select path m'/44'/1899'/0 for #Saving4Lotus or #Hold2Earn programs"