mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-12-22 11:39:22 +00:00
fix nano sending, update restore page wording, and other minor fixes (#1130)
* fix nano sending, update restore page wording, and other minor fixes * fix bch address parsing * minor code enhancement [skip ci] * Register the main secure storage as the long lived instance of secure storage throughout the app session --------- Co-authored-by: Serhii <borodenko.sv@gmail.com> Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
This commit is contained in:
parent
69a77d4f71
commit
98a9edc656
34 changed files with 160 additions and 84 deletions
|
@ -10,13 +10,11 @@ class NanoRestoreWalletFromSeedCredentials extends WalletCredentials {
|
|||
NanoRestoreWalletFromSeedCredentials({
|
||||
required String name,
|
||||
required this.mnemonic,
|
||||
int height = 0,
|
||||
String? password,
|
||||
DerivationType? derivationType,
|
||||
}) : super(
|
||||
name: name,
|
||||
password: password,
|
||||
height: height,
|
||||
derivationType: derivationType,
|
||||
);
|
||||
|
||||
|
@ -33,9 +31,12 @@ class NanoRestoreWalletFromKeysCredentials extends WalletCredentials {
|
|||
required String name,
|
||||
required String password,
|
||||
required this.seedKey,
|
||||
this.derivationType,
|
||||
}) : super(name: name, password: password);
|
||||
DerivationType? derivationType,
|
||||
}) : super(
|
||||
name: name,
|
||||
password: password,
|
||||
derivationType: derivationType,
|
||||
);
|
||||
|
||||
final String seedKey;
|
||||
final DerivationType? derivationType;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -248,6 +248,7 @@ Future<void> setup({
|
|||
required Box<Order> ordersSource,
|
||||
required Box<UnspentCoinsInfo> unspentCoinsInfoSource,
|
||||
required Box<AnonpayInvoiceInfo> anonpayInvoiceInfoSource,
|
||||
required FlutterSecureStorage secureStorage,
|
||||
}) async {
|
||||
_walletInfoSource = walletInfoSource;
|
||||
_nodeSource = nodeSource;
|
||||
|
@ -289,7 +290,7 @@ Future<void> setup({
|
|||
getIt.registerFactory<Box<Node>>(() => _nodeSource);
|
||||
getIt.registerFactory<Box<Node>>(() => _powNodeSource, instanceName: Node.boxName + "pow");
|
||||
|
||||
getIt.registerSingleton<FlutterSecureStorage>(FlutterSecureStorage());
|
||||
getIt.registerSingleton<FlutterSecureStorage>(secureStorage);
|
||||
getIt.registerSingleton(AuthenticationStore());
|
||||
getIt.registerSingleton<WalletListStore>(WalletListStore());
|
||||
getIt.registerSingleton(NodeListStoreBase.instance);
|
||||
|
|
|
@ -46,7 +46,13 @@ class AddressResolver {
|
|||
}
|
||||
|
||||
final match = RegExp(addressPattern).firstMatch(raw);
|
||||
return match?.group(0)?.replaceAll(RegExp('[^0-9a-zA-Z]'), '');
|
||||
return match?.group(0)?.replaceAllMapped(RegExp('[^0-9a-zA-Z]|bitcoincash:|nano_'), (Match match) {
|
||||
String group = match.group(0)!;
|
||||
if (group.startsWith('bitcoincash:') || group.startsWith('nano_')) {
|
||||
return group;
|
||||
}
|
||||
return '';
|
||||
});
|
||||
}
|
||||
|
||||
Future<ParsedAddress> resolve(String text, String ticker) async {
|
||||
|
|
|
@ -163,7 +163,7 @@ Future<void> initializeAppConfigs() async {
|
|||
secureStorage: secureStorage,
|
||||
anonpayInvoiceInfo: anonpayInvoiceInfo,
|
||||
initialMigrationVersion: 23);
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> initialSetup(
|
||||
{required SharedPreferences sharedPreferences,
|
||||
|
@ -202,7 +202,8 @@ Future<void> initialSetup(
|
|||
transactionDescriptionBox: transactionDescriptions,
|
||||
ordersSource: ordersSource,
|
||||
anonpayInvoiceInfoSource: anonpayInvoiceInfo,
|
||||
unspentCoinsInfoSource: unspentCoinsInfoSource);
|
||||
unspentCoinsInfoSource: unspentCoinsInfoSource,
|
||||
secureStorage: secureStorage);
|
||||
await bootstrap(navigatorKey);
|
||||
monero?.onStartup();
|
||||
}
|
||||
|
|
|
@ -406,6 +406,13 @@ class CWNanoUtil extends NanoUtil {
|
|||
late String publicAddress;
|
||||
|
||||
if (seedKey != null) {
|
||||
if (seedKey.length == 64) {
|
||||
try {
|
||||
mnemonic = nanoUtil!.seedToMnemonic(seedKey);
|
||||
} catch (e) {
|
||||
print("not a valid 'nano' seed key");
|
||||
}
|
||||
}
|
||||
if (derivationType == DerivationType.bip39) {
|
||||
publicAddress = await hdSeedToAddress(seedKey, 0);
|
||||
} else if (derivationType == DerivationType.nano) {
|
||||
|
@ -429,7 +436,8 @@ class CWNanoUtil extends NanoUtil {
|
|||
|
||||
AccountInfoResponse? accountInfo = await nanoClient.getAccountInfo(publicAddress);
|
||||
if (accountInfo == null) {
|
||||
accountInfo = AccountInfoResponse(frontier: "", balance: "0", representative: "", confirmationHeight: 0);
|
||||
accountInfo = AccountInfoResponse(
|
||||
frontier: "", balance: "0", representative: "", confirmationHeight: 0);
|
||||
}
|
||||
accountInfo.address = publicAddress;
|
||||
return accountInfo;
|
||||
|
@ -449,7 +457,11 @@ class CWNanoUtil extends NanoUtil {
|
|||
if (seedKey?.length == 128) {
|
||||
return [DerivationType.bip39];
|
||||
} else if (seedKey?.length == 64) {
|
||||
return [DerivationType.nano];
|
||||
try {
|
||||
mnemonic = nanoUtil!.seedToMnemonic(seedKey!);
|
||||
} catch (e) {
|
||||
print("not a valid 'nano' seed key");
|
||||
}
|
||||
}
|
||||
|
||||
late String publicAddressStandard;
|
||||
|
@ -503,7 +515,7 @@ class CWNanoUtil extends NanoUtil {
|
|||
// we don't know for sure:
|
||||
return [DerivationType.nano, DerivationType.bip39];
|
||||
} catch (e) {
|
||||
return [DerivationType.unknown];
|
||||
return [DerivationType.nano, DerivationType.bip39];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -124,9 +124,16 @@ class WalletRestoreFromKeysFromState extends State<WalletRestoreFromKeysFrom> {
|
|||
|
||||
Widget _restoreFromKeysFormFields() {
|
||||
if (widget.displayPrivateKeyField) {
|
||||
// the term "private key" isn't actually what we're accepting here, and it's confusing to
|
||||
// users of the nano community, what this form actually accepts (when importing for nano) is a nano seed in it's hex form, referred to in code as a "seed key"
|
||||
// so we should change the placeholder text to reflect this
|
||||
// supporting actual nano private keys is possible, but it's super niche in the nano community / they're not really used
|
||||
|
||||
bool nanoBased = widget.walletRestoreViewModel.type == WalletType.nano ||
|
||||
widget.walletRestoreViewModel.type == WalletType.banano;
|
||||
return AddressTextField(
|
||||
controller: privateKeyController,
|
||||
placeholder: S.of(context).private_key,
|
||||
placeholder: nanoBased ? S.of(context).seed_key : S.of(context).private_key,
|
||||
options: [AddressTextFieldOption.paste],
|
||||
buttonColor: Theme.of(context).hintColor,
|
||||
onPushPasteButton: (_) {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import 'package:cake_wallet/generated/i18n.dart';
|
||||
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
|
||||
import 'package:cw_core/wallet_type.dart';
|
||||
import 'package:cake_wallet/src/widgets/validable_annotated_editable_text.dart';
|
||||
|
@ -75,7 +76,7 @@ class SeedWidgetState extends State<SeedWidget> {
|
|||
Positioned(
|
||||
top: 10,
|
||||
left: 0,
|
||||
child: Text('Enter your seed',
|
||||
child: Text(S.of(context).enter_seed_phrase,
|
||||
style: TextStyle(
|
||||
fontSize: 16.0, color: Theme.of(context).hintColor))),
|
||||
Padding(
|
||||
|
|
|
@ -185,15 +185,15 @@ abstract class SendViewModelBase extends WalletChangeListenerViewModel with Stor
|
|||
@computed
|
||||
bool get hasCoinControl =>
|
||||
wallet.type == WalletType.bitcoin ||
|
||||
wallet.type == WalletType.litecoin ||
|
||||
wallet.type == WalletType.monero ||
|
||||
wallet.type == WalletType.bitcoinCash;
|
||||
wallet.type == WalletType.litecoin ||
|
||||
wallet.type == WalletType.monero ||
|
||||
wallet.type == WalletType.bitcoinCash;
|
||||
|
||||
@computed
|
||||
bool get isElectrumWallet =>
|
||||
wallet.type == WalletType.bitcoin ||
|
||||
wallet.type == WalletType.litecoin ||
|
||||
wallet.type == WalletType.bitcoinCash;
|
||||
wallet.type == WalletType.litecoin ||
|
||||
wallet.type == WalletType.bitcoinCash;
|
||||
|
||||
@computed
|
||||
bool get hasFees => wallet.type != WalletType.nano && wallet.type != WalletType.banano;
|
||||
|
@ -281,7 +281,6 @@ abstract class SendViewModelBase extends WalletChangeListenerViewModel with Stor
|
|||
List<bool> conditionsList = [];
|
||||
|
||||
for (var output in outputs) {
|
||||
|
||||
final show = checkThroughChecksToDisplayTOTP(output.extractedAddress);
|
||||
conditionsList.add(show);
|
||||
}
|
||||
|
@ -350,31 +349,27 @@ abstract class SendViewModelBase extends WalletChangeListenerViewModel with Stor
|
|||
Object _credentials() {
|
||||
final priority = _settingsStore.priority[wallet.type];
|
||||
|
||||
if (priority == null) throw Exception('Priority is null for wallet type: ${wallet.type}');
|
||||
if (priority == null && wallet.type != WalletType.nano) {
|
||||
throw Exception('Priority is null for wallet type: ${wallet.type}');
|
||||
}
|
||||
|
||||
switch (wallet.type) {
|
||||
case WalletType.bitcoin:
|
||||
case WalletType.litecoin:
|
||||
case WalletType.bitcoinCash:
|
||||
return bitcoin!.createBitcoinTransactionCredentials(outputs, priority: priority);
|
||||
return bitcoin!.createBitcoinTransactionCredentials(outputs, priority: priority!);
|
||||
|
||||
case WalletType.monero:
|
||||
return monero!
|
||||
.createMoneroTransactionCreationCredentials(outputs: outputs, priority: priority);
|
||||
.createMoneroTransactionCreationCredentials(outputs: outputs, priority: priority!);
|
||||
|
||||
case WalletType.haven:
|
||||
return haven!.createHavenTransactionCreationCredentials(
|
||||
outputs: outputs, priority: priority, assetType: selectedCryptoCurrency.title);
|
||||
outputs: outputs, priority: priority!, assetType: selectedCryptoCurrency.title);
|
||||
|
||||
case WalletType.ethereum:
|
||||
final priority = _settingsStore.priority[wallet.type];
|
||||
|
||||
if (priority == null) {
|
||||
throw Exception('Priority is null for wallet type: ${wallet.type}');
|
||||
}
|
||||
|
||||
return ethereum!.createEthereumTransactionCredentials(outputs,
|
||||
priority: priority, currency: selectedCryptoCurrency);
|
||||
priority: priority!, currency: selectedCryptoCurrency);
|
||||
case WalletType.nano:
|
||||
return nano!.createNanoTransactionCredentials(outputs);
|
||||
default:
|
||||
|
|
|
@ -717,5 +717,7 @@
|
|||
"message": "ﺔﻟﺎﺳﺭ",
|
||||
"do_not_have_enough_gas_asset": "ليس لديك ما يكفي من ${currency} لإجراء معاملة وفقًا لشروط شبكة blockchain الحالية. أنت بحاجة إلى المزيد من ${currency} لدفع رسوم شبكة blockchain، حتى لو كنت ترسل أصلًا مختلفًا.",
|
||||
"totp_auth_url": "TOTP ﺔﻗﺩﺎﺼﻤﻟ URL ﻥﺍﻮﻨﻋ",
|
||||
"awaitDAppProcessing": ".ﺔﺠﻟﺎﻌﻤﻟﺍ ﻦﻣ dApp ﻲﻬﺘﻨﻳ ﻰﺘﺣ ﺭﺎﻈﺘﻧﻻﺍ ﻰﺟﺮﻳ"
|
||||
}
|
||||
"awaitDAppProcessing": ".ﺔﺠﻟﺎﻌﻤﻟﺍ ﻦﻣ dApp ﻲﻬﺘﻨﻳ ﻰﺘﺣ ﺭﺎﻈﺘﻧﻻﺍ ﻰﺟﺮﻳ",
|
||||
"seed_key": "مفتاح البذور",
|
||||
"enter_seed_phrase": "أدخل عبارة البذور الخاصة بك"
|
||||
}
|
|
@ -713,5 +713,7 @@
|
|||
"message": "Съобщение",
|
||||
"do_not_have_enough_gas_asset": "Нямате достатъчно ${currency}, за да извършите транзакция с текущите условия на блокчейн мрежата. Имате нужда от повече ${currency}, за да платите таксите за блокчейн мрежа, дори ако изпращате различен актив.",
|
||||
"totp_auth_url": "TOTP AUTH URL",
|
||||
"awaitDAppProcessing": "Моля, изчакайте dApp да завърши обработката."
|
||||
}
|
||||
"awaitDAppProcessing": "Моля, изчакайте dApp да завърши обработката.",
|
||||
"seed_key": "Ключ за семена",
|
||||
"enter_seed_phrase": "Въведете вашата фраза за семена"
|
||||
}
|
|
@ -713,5 +713,7 @@
|
|||
"message": "Zpráva",
|
||||
"do_not_have_enough_gas_asset": "Nemáte dostatek ${currency} k provedení transakce s aktuálními podmínkami blockchainové sítě. K placení poplatků za blockchainovou síť potřebujete více ${currency}, i když posíláte jiné aktivum.",
|
||||
"totp_auth_url": "URL AUTH TOTP",
|
||||
"awaitDAppProcessing": "Počkejte, až dApp dokončí zpracování."
|
||||
}
|
||||
"awaitDAppProcessing": "Počkejte, až dApp dokončí zpracování.",
|
||||
"seed_key": "Klíč semen",
|
||||
"enter_seed_phrase": "Zadejte svou frázi semen"
|
||||
}
|
|
@ -721,5 +721,7 @@
|
|||
"message": "Nachricht",
|
||||
"do_not_have_enough_gas_asset": "Sie verfügen nicht über genügend ${currency}, um eine Transaktion unter den aktuellen Bedingungen des Blockchain-Netzwerks durchzuführen. Sie benötigen mehr ${currency}, um die Gebühren für das Blockchain-Netzwerk zu bezahlen, auch wenn Sie einen anderen Vermögenswert senden.",
|
||||
"totp_auth_url": "TOTP-Auth-URL",
|
||||
"awaitDAppProcessing": "Bitte warten Sie, bis die dApp die Verarbeitung abgeschlossen hat."
|
||||
}
|
||||
"awaitDAppProcessing": "Bitte warten Sie, bis die dApp die Verarbeitung abgeschlossen hat.",
|
||||
"seed_key": "Samenschlüssel",
|
||||
"enter_seed_phrase": "Geben Sie Ihre Samenphrase ein"
|
||||
}
|
|
@ -722,5 +722,7 @@
|
|||
"message": "Message",
|
||||
"do_not_have_enough_gas_asset": "You do not have enough ${currency} to make a transaction with the current blockchain network conditions. You need more ${currency} to pay blockchain network fees, even if you are sending a different asset.",
|
||||
"totp_auth_url": "TOTP AUTH URL",
|
||||
"awaitDAppProcessing": "Kindly wait for the dApp to finish processing."
|
||||
}
|
||||
"awaitDAppProcessing": "Kindly wait for the dApp to finish processing.",
|
||||
"seed_key": "Seed key",
|
||||
"enter_seed_phrase": "Enter your seed phrase"
|
||||
}
|
|
@ -721,5 +721,7 @@
|
|||
"message": "Mensaje",
|
||||
"do_not_have_enough_gas_asset": "No tienes suficiente ${currency} para realizar una transacción con las condiciones actuales de la red blockchain. Necesita más ${currency} para pagar las tarifas de la red blockchain, incluso si envía un activo diferente.",
|
||||
"totp_auth_url": "URL de autenticación TOTP",
|
||||
"awaitDAppProcessing": "Espere a que la dApp termine de procesarse."
|
||||
}
|
||||
"awaitDAppProcessing": "Espere a que la dApp termine de procesarse.",
|
||||
"seed_key": "Llave de semilla",
|
||||
"enter_seed_phrase": "Ingrese su frase de semillas"
|
||||
}
|
|
@ -721,5 +721,7 @@
|
|||
"message": "Message",
|
||||
"do_not_have_enough_gas_asset": "Vous n'avez pas assez de ${currency} pour effectuer une transaction avec les conditions actuelles du réseau blockchain. Vous avez besoin de plus de ${currency} pour payer les frais du réseau blockchain, même si vous envoyez un actif différent.",
|
||||
"totp_auth_url": "URL D'AUTORISATION TOTP",
|
||||
"awaitDAppProcessing": "Veuillez attendre que le dApp termine le traitement."
|
||||
}
|
||||
"awaitDAppProcessing": "Veuillez attendre que le dApp termine le traitement.",
|
||||
"seed_key": "Clé de graines",
|
||||
"enter_seed_phrase": "Entrez votre phrase de semence"
|
||||
}
|
|
@ -699,5 +699,7 @@
|
|||
"message": "Sako",
|
||||
"do_not_have_enough_gas_asset": "Ba ku da isassun ${currency} don yin ma'amala tare da yanayin cibiyar sadarwar blockchain na yanzu. Kuna buƙatar ƙarin ${currency} don biyan kuɗaɗen cibiyar sadarwar blockchain, koda kuwa kuna aika wata kadara daban.",
|
||||
"totp_auth_url": "TOTP AUTH URL",
|
||||
"awaitDAppProcessing": "Da fatan za a jira dApp ya gama aiki."
|
||||
}
|
||||
"awaitDAppProcessing": "Da fatan za a jira dApp ya gama aiki.",
|
||||
"seed_key": "Maɓallin iri",
|
||||
"enter_seed_phrase": "Shigar da Sert Sentarku"
|
||||
}
|
|
@ -721,5 +721,7 @@
|
|||
"message": "संदेश",
|
||||
"do_not_have_enough_gas_asset": "वर्तमान ब्लॉकचेन नेटवर्क स्थितियों में लेनदेन करने के लिए आपके पास पर्याप्त ${currency} नहीं है। ब्लॉकचेन नेटवर्क शुल्क का भुगतान करने के लिए आपको अधिक ${currency} की आवश्यकता है, भले ही आप एक अलग संपत्ति भेज रहे हों।",
|
||||
"totp_auth_url": "TOTP प्रामाणिक यूआरएल",
|
||||
"awaitDAppProcessing": "कृपया डीएपी की प्रोसेसिंग पूरी होने तक प्रतीक्षा करें।"
|
||||
}
|
||||
"awaitDAppProcessing": "कृपया डीएपी की प्रोसेसिंग पूरी होने तक प्रतीक्षा करें।",
|
||||
"seed_key": "बीज कुंजी",
|
||||
"enter_seed_phrase": "अपना बीज वाक्यांश दर्ज करें"
|
||||
}
|
|
@ -719,5 +719,7 @@
|
|||
"message": "Poruka",
|
||||
"do_not_have_enough_gas_asset": "Nemate dovoljno ${currency} da izvršite transakciju s trenutačnim uvjetima blockchain mreže. Trebate više ${currency} da platite naknade za blockchain mrežu, čak i ako šaljete drugu imovinu.",
|
||||
"totp_auth_url": "TOTP AUTH URL",
|
||||
"awaitDAppProcessing": "Molimo pričekajte da dApp završi obradu."
|
||||
}
|
||||
"awaitDAppProcessing": "Molimo pričekajte da dApp završi obradu.",
|
||||
"seed_key": "Sjemenski ključ",
|
||||
"enter_seed_phrase": "Unesite svoju sjemensku frazu"
|
||||
}
|
|
@ -709,5 +709,7 @@
|
|||
"message": "Pesan",
|
||||
"do_not_have_enough_gas_asset": "Anda tidak memiliki cukup ${currency} untuk melakukan transaksi dengan kondisi jaringan blockchain saat ini. Anda memerlukan lebih banyak ${currency} untuk membayar biaya jaringan blockchain, meskipun Anda mengirimkan aset yang berbeda.",
|
||||
"totp_auth_url": "URL Otentikasi TOTP",
|
||||
"awaitDAppProcessing": "Mohon tunggu hingga dApp menyelesaikan pemrosesan."
|
||||
}
|
||||
"awaitDAppProcessing": "Mohon tunggu hingga dApp menyelesaikan pemrosesan.",
|
||||
"seed_key": "Kunci benih",
|
||||
"enter_seed_phrase": "Masukkan frasa benih Anda"
|
||||
}
|
|
@ -721,5 +721,7 @@
|
|||
"message": "Messaggio",
|
||||
"do_not_have_enough_gas_asset": "Non hai abbastanza ${currency} per effettuare una transazione con le attuali condizioni della rete blockchain. Hai bisogno di più ${currency} per pagare le commissioni della rete blockchain, anche se stai inviando una risorsa diversa.",
|
||||
"totp_auth_url": "URL DI AUT. TOTP",
|
||||
"awaitDAppProcessing": "Attendi gentilmente che la dApp termini l'elaborazione."
|
||||
}
|
||||
"awaitDAppProcessing": "Attendi gentilmente che la dApp termini l'elaborazione.",
|
||||
"seed_key": "Chiave di semi",
|
||||
"enter_seed_phrase": "Inserisci la tua frase di semi"
|
||||
}
|
|
@ -721,5 +721,7 @@
|
|||
"message": "メッセージ",
|
||||
"do_not_have_enough_gas_asset": "現在のブロックチェーン ネットワークの状況では、トランザクションを行うのに十分な ${currency} がありません。別のアセットを送信する場合でも、ブロックチェーン ネットワーク料金を支払うにはさらに ${currency} が必要です。",
|
||||
"totp_auth_url": "TOTP認証URL",
|
||||
"awaitDAppProcessing": "dAppの処理が完了するまでお待ちください。"
|
||||
}
|
||||
"awaitDAppProcessing": "dAppの処理が完了するまでお待ちください。",
|
||||
"seed_key": "シードキー",
|
||||
"enter_seed_phrase": "シードフレーズを入力してください"
|
||||
}
|
|
@ -719,5 +719,7 @@
|
|||
"message": "메시지",
|
||||
"do_not_have_enough_gas_asset": "현재 블록체인 네트워크 조건으로 거래를 하기에는 ${currency}이(가) 충분하지 않습니다. 다른 자산을 보내더라도 블록체인 네트워크 수수료를 지불하려면 ${currency}가 더 필요합니다.",
|
||||
"totp_auth_url": "TOTP 인증 URL",
|
||||
"awaitDAppProcessing": "dApp이 처리를 마칠 때까지 기다려주세요."
|
||||
}
|
||||
"awaitDAppProcessing": "dApp이 처리를 마칠 때까지 기다려주세요.",
|
||||
"seed_key": "시드 키",
|
||||
"enter_seed_phrase": "시드 문구를 입력하십시오"
|
||||
}
|
|
@ -719,5 +719,7 @@
|
|||
"message": "မက်ဆေ့ချ်",
|
||||
"do_not_have_enough_gas_asset": "လက်ရှိ blockchain ကွန်ရက်အခြေအနေများနှင့် အရောင်းအဝယ်ပြုလုပ်ရန် သင့်တွင် ${currency} လုံလောက်မှုမရှိပါ။ သင်သည် မတူညီသော ပိုင်ဆိုင်မှုတစ်ခုကို ပေးပို့နေသော်လည်း blockchain ကွန်ရက်အခကြေးငွေကို ပေးဆောင်ရန် သင်သည် နောက်ထပ် ${currency} လိုအပ်ပါသည်။",
|
||||
"totp_auth_url": "TOTP AUTH URL",
|
||||
"awaitDAppProcessing": "ကျေးဇူးပြု၍ dApp ကို စီမံလုပ်ဆောင်ခြင်း အပြီးသတ်ရန် စောင့်ပါ။"
|
||||
}
|
||||
"awaitDAppProcessing": "ကျေးဇူးပြု၍ dApp ကို စီမံလုပ်ဆောင်ခြင်း အပြီးသတ်ရန် စောင့်ပါ။",
|
||||
"seed_key": "မျိုးစေ့သော့",
|
||||
"enter_seed_phrase": "သင့်ရဲ့မျိုးစေ့စကားစုကိုရိုက်ထည့်ပါ"
|
||||
}
|
|
@ -721,5 +721,7 @@
|
|||
"message": "Bericht",
|
||||
"do_not_have_enough_gas_asset": "U heeft niet genoeg ${currency} om een transactie uit te voeren met de huidige blockchain-netwerkomstandigheden. U heeft meer ${currency} nodig om blockchain-netwerkkosten te betalen, zelfs als u een ander item verzendt.",
|
||||
"totp_auth_url": "TOTP AUTH-URL",
|
||||
"awaitDAppProcessing": "Wacht tot de dApp klaar is met verwerken."
|
||||
}
|
||||
"awaitDAppProcessing": "Wacht tot de dApp klaar is met verwerken.",
|
||||
"seed_key": "Zaadsleutel",
|
||||
"enter_seed_phrase": "Voer uw zaadzin in"
|
||||
}
|
|
@ -721,5 +721,7 @@
|
|||
"message": "Wiadomość",
|
||||
"do_not_have_enough_gas_asset": "Nie masz wystarczającej ilości ${currency}, aby dokonać transakcji przy bieżących warunkach sieci blockchain. Potrzebujesz więcej ${currency}, aby uiścić opłaty za sieć blockchain, nawet jeśli wysyłasz inny zasób.",
|
||||
"totp_auth_url": "Adres URL TOTP AUTH",
|
||||
"awaitDAppProcessing": "Poczekaj, aż dApp zakończy przetwarzanie."
|
||||
}
|
||||
"awaitDAppProcessing": "Poczekaj, aż dApp zakończy przetwarzanie.",
|
||||
"seed_key": "Klucz nasion",
|
||||
"enter_seed_phrase": "Wprowadź swoją frazę nasienną"
|
||||
}
|
|
@ -720,5 +720,7 @@
|
|||
"message": "Mensagem",
|
||||
"do_not_have_enough_gas_asset": "Você não tem ${currency} suficiente para fazer uma transação com as condições atuais da rede blockchain. Você precisa de mais ${currency} para pagar as taxas da rede blockchain, mesmo se estiver enviando um ativo diferente.",
|
||||
"totp_auth_url": "URL de autenticação TOTP",
|
||||
"awaitDAppProcessing": "Aguarde até que o dApp termine o processamento."
|
||||
}
|
||||
"awaitDAppProcessing": "Aguarde até que o dApp termine o processamento.",
|
||||
"seed_key": "Chave de semente",
|
||||
"enter_seed_phrase": "Digite sua frase de semente"
|
||||
}
|
|
@ -721,5 +721,7 @@
|
|||
"message": "Сообщение",
|
||||
"do_not_have_enough_gas_asset": "У вас недостаточно ${currency} для совершения транзакции при текущих условиях сети блокчейн. Вам нужно больше ${currency} для оплаты комиссий за сеть блокчейна, даже если вы отправляете другой актив.",
|
||||
"totp_auth_url": "URL-адрес TOTP-АВТОРИЗАЦИИ",
|
||||
"awaitDAppProcessing": "Пожалуйста, подождите, пока dApp завершит обработку."
|
||||
}
|
||||
"awaitDAppProcessing": "Пожалуйста, подождите, пока dApp завершит обработку.",
|
||||
"seed_key": "Ключ семян",
|
||||
"enter_seed_phrase": "Введите свою семенную фразу"
|
||||
}
|
|
@ -719,5 +719,7 @@
|
|||
"message": "ข้อความ",
|
||||
"do_not_have_enough_gas_asset": "คุณมี ${currency} ไม่เพียงพอที่จะทำธุรกรรมกับเงื่อนไขเครือข่ายบล็อคเชนในปัจจุบัน คุณต้องมี ${currency} เพิ่มขึ้นเพื่อชำระค่าธรรมเนียมเครือข่ายบล็อคเชน แม้ว่าคุณจะส่งสินทรัพย์อื่นก็ตาม",
|
||||
"totp_auth_url": "URL การตรวจสอบสิทธิ์ TOTP",
|
||||
"awaitDAppProcessing": "โปรดรอให้ dApp ประมวลผลเสร็จสิ้น"
|
||||
}
|
||||
"awaitDAppProcessing": "โปรดรอให้ dApp ประมวลผลเสร็จสิ้น",
|
||||
"seed_key": "คีย์เมล็ดพันธุ์",
|
||||
"enter_seed_phrase": "ป้อนวลีเมล็ดพันธุ์ของคุณ"
|
||||
}
|
|
@ -716,5 +716,7 @@
|
|||
"message": "Mensahe",
|
||||
"do_not_have_enough_gas_asset": "Wala kang sapat na ${currency} para gumawa ng transaksyon sa kasalukuyang kundisyon ng network ng blockchain. Kailangan mo ng higit pang ${currency} upang magbayad ng mga bayarin sa network ng blockchain, kahit na nagpapadala ka ng ibang asset.",
|
||||
"totp_auth_url": "TOTP AUTH URL",
|
||||
"awaitDAppProcessing": "Pakihintay na matapos ang pagproseso ng dApp."
|
||||
}
|
||||
"awaitDAppProcessing": "Pakihintay na matapos ang pagproseso ng dApp.",
|
||||
"seed_key": "Seed Key",
|
||||
"enter_seed_phrase": "Ipasok ang iyong pariralang binhi"
|
||||
}
|
|
@ -719,5 +719,7 @@
|
|||
"message": "İleti",
|
||||
"do_not_have_enough_gas_asset": "Mevcut blockchain ağ koşullarıyla işlem yapmak için yeterli ${currency} paranız yok. Farklı bir varlık gönderiyor olsanız bile blockchain ağ ücretlerini ödemek için daha fazla ${currency} miktarına ihtiyacınız var.",
|
||||
"totp_auth_url": "TOTP YETKİ URL'si",
|
||||
"awaitDAppProcessing": "Lütfen dApp'in işlemeyi bitirmesini bekleyin."
|
||||
}
|
||||
"awaitDAppProcessing": "Lütfen dApp'in işlemeyi bitirmesini bekleyin.",
|
||||
"seed_key": "Tohum",
|
||||
"enter_seed_phrase": "Tohum ifadenizi girin"
|
||||
}
|
|
@ -721,5 +721,7 @@
|
|||
"message": "повідомлення",
|
||||
"do_not_have_enough_gas_asset": "У вас недостатньо ${currency}, щоб здійснити трансакцію з поточними умовами мережі блокчейн. Вам потрібно більше ${currency}, щоб сплатити комісію мережі блокчейн, навіть якщо ви надсилаєте інший актив.",
|
||||
"totp_auth_url": "TOTP AUTH URL",
|
||||
"awaitDAppProcessing": "Зачекайте, доки dApp завершить обробку."
|
||||
}
|
||||
"awaitDAppProcessing": "Зачекайте, доки dApp завершить обробку.",
|
||||
"seed_key": "Насіннєвий ключ",
|
||||
"enter_seed_phrase": "Введіть свою насіннєву фразу"
|
||||
}
|
|
@ -713,5 +713,7 @@
|
|||
"message": "ﻡﺎﻐﯿﭘ",
|
||||
"do_not_have_enough_gas_asset": "آپ کے پاس موجودہ بلاکچین نیٹ ورک کی شرائط کے ساتھ لین دین کرنے کے لیے کافی ${currency} نہیں ہے۔ آپ کو بلاکچین نیٹ ورک کی فیس ادا کرنے کے لیے مزید ${currency} کی ضرورت ہے، چاہے آپ کوئی مختلف اثاثہ بھیج رہے ہوں۔",
|
||||
"totp_auth_url": "TOTP AUTH URL",
|
||||
"awaitDAppProcessing": "۔ﮟﯾﺮﮐ ﺭﺎﻈﺘﻧﺍ ﺎﮐ ﮯﻧﻮﮨ ﻞﻤﮑﻣ ﮓﻨﺴﯿﺳﻭﺮﭘ ﮯﮐ dApp ﻡﺮﮐ ﮦﺍﺮﺑ"
|
||||
}
|
||||
"awaitDAppProcessing": "۔ﮟﯾﺮﮐ ﺭﺎﻈﺘﻧﺍ ﺎﮐ ﮯﻧﻮﮨ ﻞﻤﮑﻣ ﮓﻨﺴﯿﺳﻭﺮﭘ ﮯﮐ dApp ﻡﺮﮐ ﮦﺍﺮﺑ",
|
||||
"seed_key": "بیج کی کلید",
|
||||
"enter_seed_phrase": "اپنے بیج کا جملہ درج کریں"
|
||||
}
|
|
@ -715,5 +715,7 @@
|
|||
"message": "Ifiranṣẹ",
|
||||
"do_not_have_enough_gas_asset": "O ko ni to ${currency} lati ṣe idunadura kan pẹlu awọn ipo nẹtiwọki blockchain lọwọlọwọ. O nilo diẹ sii ${currency} lati san awọn owo nẹtiwọọki blockchain, paapaa ti o ba nfi dukia miiran ranṣẹ.",
|
||||
"totp_auth_url": "TOTP AUTH URL",
|
||||
"awaitDAppProcessing": "Fi inurere duro fun dApp lati pari sisẹ."
|
||||
}
|
||||
"awaitDAppProcessing": "Fi inurere duro fun dApp lati pari sisẹ.",
|
||||
"seed_key": "Bọtini Ose",
|
||||
"enter_seed_phrase": "Tẹ ọrọ-iru irugbin rẹ"
|
||||
}
|
|
@ -720,5 +720,7 @@
|
|||
"message": "信息",
|
||||
"do_not_have_enough_gas_asset": "您没有足够的 ${currency} 来在当前的区块链网络条件下进行交易。即使您发送的是不同的资产,您也需要更多的 ${currency} 来支付区块链网络费用。",
|
||||
"totp_auth_url": "TOTP 授权 URL",
|
||||
"awaitDAppProcessing": "请等待 dApp 处理完成。"
|
||||
}
|
||||
"awaitDAppProcessing": "请等待 dApp 处理完成。",
|
||||
"seed_key": "种子钥匙",
|
||||
"enter_seed_phrase": "输入您的种子短语"
|
||||
}
|
Loading…
Reference in a new issue