diff --git a/analysis_options.yaml b/analysis_options.yaml
index 2063b5a8c..be68a4f26 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -1,5 +1,6 @@
include: package:lints/recommended.yaml
+
analyzer:
exclude: [
build/**,
@@ -83,4 +84,4 @@ linter:
# - unawaited_futures
# - unnecessary_getters_setters
# - unrelated_type_equality_checks
-# - valid_regexps
\ No newline at end of file
+# - valid_regexps
diff --git a/assets/bitcoin_cash_electrum_server_list.yml b/assets/bitcoin_cash_electrum_server_list.yml
index d76668169..948e5f3dc 100644
--- a/assets/bitcoin_cash_electrum_server_list.yml
+++ b/assets/bitcoin_cash_electrum_server_list.yml
@@ -1,3 +1,10 @@
-
uri: bitcoincash.stackwallet.com:50002
- is_default: true
\ No newline at end of file
+ is_default: true
+ useSSL: true
+-
+ uri: bch.aftrek.org:50002
+ useSSL: true
+-
+ uri: node.minisatoshi.cash:50002
+ useSSL: true
diff --git a/assets/images/cards.png b/assets/images/cards.png
new file mode 100644
index 000000000..b263bc742
Binary files /dev/null and b/assets/images/cards.png differ
diff --git a/assets/images/cards.svg b/assets/images/cards.svg
deleted file mode 100644
index 699f9d311..000000000
--- a/assets/images/cards.svg
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
diff --git a/assets/images/flags/arm.png b/assets/images/flags/arm.png
index 7bdabd4ee..0e4c356e2 100644
Binary files a/assets/images/flags/arm.png and b/assets/images/flags/arm.png differ
diff --git a/assets/images/flags/bra.png b/assets/images/flags/bra.png
index ee0b0e8c6..6c4ba8968 100644
Binary files a/assets/images/flags/bra.png and b/assets/images/flags/bra.png differ
diff --git a/assets/images/flags/hau.png b/assets/images/flags/hau.png
index 7583b5daf..2bfb0a71c 100644
Binary files a/assets/images/flags/hau.png and b/assets/images/flags/hau.png differ
diff --git a/assets/images/flags/ind.png b/assets/images/flags/ind.png
index ef721a2aa..45d4a7109 100644
Binary files a/assets/images/flags/ind.png and b/assets/images/flags/ind.png differ
diff --git a/assets/images/flags/ukr.png b/assets/images/flags/ukr.png
index 61071e338..c4fe57fcc 100644
Binary files a/assets/images/flags/ukr.png and b/assets/images/flags/ukr.png differ
diff --git a/assets/images/nanogpt.png b/assets/images/nanogpt.png
new file mode 100644
index 000000000..958400452
Binary files /dev/null and b/assets/images/nanogpt.png differ
diff --git a/cw_bitcoin/lib/exceptions.dart b/cw_bitcoin/lib/exceptions.dart
index 3307bfeed..575a61b0b 100644
--- a/cw_bitcoin/lib/exceptions.dart
+++ b/cw_bitcoin/lib/exceptions.dart
@@ -30,4 +30,6 @@ class BitcoinTransactionCommitFailedVoutNegative extends TransactionCommitFailed
class BitcoinTransactionCommitFailedBIP68Final extends TransactionCommitFailedBIP68Final {}
+class BitcoinTransactionCommitFailedLessThanMin extends TransactionCommitFailedBIP68Final {}
+
class BitcoinTransactionSilentPaymentsNotSupported extends TransactionInputNotSupported {}
diff --git a/cw_bitcoin/lib/pending_bitcoin_transaction.dart b/cw_bitcoin/lib/pending_bitcoin_transaction.dart
index 37b6967f0..30cc29ec9 100644
--- a/cw_bitcoin/lib/pending_bitcoin_transaction.dart
+++ b/cw_bitcoin/lib/pending_bitcoin_transaction.dart
@@ -99,6 +99,10 @@ class PendingBitcoinTransaction with PendingTransaction {
throw BitcoinTransactionCommitFailedBIP68Final();
}
+ if (error.contains("min fee not met")) {
+ throw BitcoinTransactionCommitFailedLessThanMin();
+ }
+
throw BitcoinTransactionCommitFailed(errorMessage: error);
}
diff --git a/cw_core/lib/crypto_currency.dart b/cw_core/lib/crypto_currency.dart
index cf7a73b3c..d3ef6526a 100644
--- a/cw_core/lib/crypto_currency.dart
+++ b/cw_core/lib/crypto_currency.dart
@@ -178,7 +178,7 @@ class CryptoCurrency extends EnumerableItem with Serializable implemen
static const dcr = CryptoCurrency(title: 'DCR', fullName: 'Decred', raw: 47, name: 'dcr', iconPath: 'assets/images/dcr_icon.png', decimals: 8);
static const kmd = CryptoCurrency(title: 'KMD', fullName: 'Komodo', raw: 48, name: 'kmd', iconPath: 'assets/images/kmd_icon.png', decimals: 8);
static const mana = CryptoCurrency(title: 'MANA', tag: 'ETH', fullName: 'Decentraland', raw: 49, name: 'mana', iconPath: 'assets/images/mana_icon.png', decimals: 18);
- static const maticpoly = CryptoCurrency(title: 'MATIC', tag: 'POLY', fullName: 'Polygon', raw: 50, name: 'maticpoly', iconPath: 'assets/images/matic_icon.png', decimals: 18);
+ static const maticpoly = CryptoCurrency(title: 'POL', tag: 'POLY', fullName: 'Polygon', raw: 50, name: 'maticpoly', iconPath: 'assets/images/matic_icon.png', decimals: 18);
static const matic = CryptoCurrency(title: 'MATIC', tag: 'ETH', fullName: 'Polygon', raw: 51, name: 'matic', iconPath: 'assets/images/matic_icon.png', decimals: 18);
static const mkr = CryptoCurrency(title: 'MKR', tag: 'ETH', fullName: 'Maker', raw: 52, name: 'mkr', iconPath: 'assets/images/mkr_icon.png', decimals: 18);
static const near = CryptoCurrency(title: 'NEAR', fullName: 'NEAR Protocol', raw: 53, name: 'near', iconPath: 'assets/images/near_icon.png', decimals: 24);
diff --git a/cw_core/lib/exceptions.dart b/cw_core/lib/exceptions.dart
index dccacd799..c13861698 100644
--- a/cw_core/lib/exceptions.dart
+++ b/cw_core/lib/exceptions.dart
@@ -36,4 +36,6 @@ class TransactionCommitFailedVoutNegative implements Exception {}
class TransactionCommitFailedBIP68Final implements Exception {}
+class TransactionCommitFailedLessThanMin implements Exception {}
+
class TransactionInputNotSupported implements Exception {}
diff --git a/cw_ethereum/lib/ethereum_wallet.dart b/cw_ethereum/lib/ethereum_wallet.dart
index 51aeab5e1..e8a9e85fa 100644
--- a/cw_ethereum/lib/ethereum_wallet.dart
+++ b/cw_ethereum/lib/ethereum_wallet.dart
@@ -142,7 +142,7 @@ class EthereumWallet extends EVMChainWallet {
if (!hasKeysFile) rethrow;
}
- final balance = EVMChainERC20Balance.fromJSON(data?['balance'] as String) ??
+ final balance = EVMChainERC20Balance.fromJSON(data?['balance'] as String?) ??
EVMChainERC20Balance(BigInt.zero);
final WalletKeysData keysData;
diff --git a/lib/buy/moonpay/moonpay_provider.dart b/lib/buy/moonpay/moonpay_provider.dart
index c89fb222f..67ee75d7c 100644
--- a/lib/buy/moonpay/moonpay_provider.dart
+++ b/lib/buy/moonpay/moonpay_provider.dart
@@ -298,7 +298,9 @@ class MoonPayProvider extends BuyProvider {
String _normalizeCurrency(CryptoCurrency currency) {
if (currency == CryptoCurrency.maticpoly) {
- return "MATIC_POLYGON";
+ return "POL_POLYGON";
+ } else if (currency == CryptoCurrency.matic) {
+ return "POL";
}
return currency.toString().toLowerCase();
diff --git a/lib/core/address_validator.dart b/lib/core/address_validator.dart
index 3d78bddf5..4dc20dd92 100644
--- a/lib/core/address_validator.dart
+++ b/lib/core/address_validator.dart
@@ -5,9 +5,6 @@ import 'package:cake_wallet/solana/solana.dart';
import 'package:cw_core/crypto_currency.dart';
import 'package:cw_core/erc20_token.dart';
-const BEFORE_REGEX = '(^|\s)';
-const AFTER_REGEX = '(\$|\s)';
-
class AddressValidator extends TextValidator {
AddressValidator({required CryptoCurrency type})
: super(
@@ -22,25 +19,23 @@ class AddressValidator extends TextValidator {
length: getLength(type));
static String getPattern(CryptoCurrency type) {
- var pattern = "";
if (type is Erc20Token) {
- pattern = '0x[0-9a-zA-Z]';
+ return '0x[0-9a-zA-Z]';
}
switch (type) {
case CryptoCurrency.xmr:
- pattern = '4[0-9a-zA-Z]{94}|8[0-9a-zA-Z]{94}|[0-9a-zA-Z]{106}';
+ return '^4[0-9a-zA-Z]{94}\$|^8[0-9a-zA-Z]{94}\$|^[0-9a-zA-Z]{106}\$';
case CryptoCurrency.ada:
- pattern = '[0-9a-zA-Z]{59}|[0-9a-zA-Z]{92}|[0-9a-zA-Z]{104}'
- '|[0-9a-zA-Z]{105}|addr1[0-9a-zA-Z]{98}';
+ return '^[0-9a-zA-Z]{59}\$|^[0-9a-zA-Z]{92}\$|^[0-9a-zA-Z]{104}\$'
+ '|^[0-9a-zA-Z]{105}\$|^addr1[0-9a-zA-Z]{98}\$';
case CryptoCurrency.btc:
- pattern =
- '${P2pkhAddress.regex.pattern}|${P2shAddress.regex.pattern}|${P2wpkhAddress.regex.pattern}|${P2trAddress.regex.pattern}|${P2wshAddress.regex.pattern}|${SilentPaymentAddress.regex.pattern}';
+ return '^${P2pkhAddress.regex.pattern}\$|^${P2shAddress.regex.pattern}\$|^${P2wpkhAddress.regex.pattern}\$|${P2trAddress.regex.pattern}\$|^${P2wshAddress.regex.pattern}\$|^${SilentPaymentAddress.regex.pattern}\$';
case CryptoCurrency.ltc:
return '^${P2wpkhAddress.regex.pattern}\$|^${MwebAddress.regex.pattern}\$';
case CryptoCurrency.nano:
- pattern = '[0-9a-zA-Z_]';
+ return '[0-9a-zA-Z_]';
case CryptoCurrency.banano:
- pattern = '[0-9a-zA-Z_]';
+ return '[0-9a-zA-Z_]';
case CryptoCurrency.usdc:
case CryptoCurrency.usdcpoly:
case CryptoCurrency.usdtPoly:
@@ -76,11 +71,11 @@ class AddressValidator extends TextValidator {
case CryptoCurrency.dydx:
case CryptoCurrency.steth:
case CryptoCurrency.shib:
- pattern = '0x[0-9a-zA-Z]';
+ return '0x[0-9a-zA-Z]';
case CryptoCurrency.xrp:
- pattern = '[0-9a-zA-Z]{34}|X[0-9a-zA-Z]{46}';
+ return '^[0-9a-zA-Z]{34}\$|^X[0-9a-zA-Z]{46}\$';
case CryptoCurrency.xhv:
- pattern = 'hvx|hvi|hvs[0-9a-zA-Z]';
+ return '^hvx|hvi|hvs[0-9a-zA-Z]';
case CryptoCurrency.xag:
case CryptoCurrency.xau:
case CryptoCurrency.xaud:
@@ -102,41 +97,38 @@ class AddressValidator extends TextValidator {
case CryptoCurrency.dash:
case CryptoCurrency.eos:
case CryptoCurrency.wow:
- pattern = '[0-9a-zA-Z]';
+ return '[0-9a-zA-Z]';
case CryptoCurrency.bch:
- pattern =
- '(?!bitcoincash:)[0-9a-zA-Z]*|(?!bitcoincash:)q|p[0-9a-zA-Z]{41}|(?!bitcoincash:)q|p[0-9a-zA-Z]{42}|bitcoincash:q|p[0-9a-zA-Z]{41}|bitcoincash:q|p[0-9a-zA-Z]{42}';
+ return '^(?!bitcoincash:)[0-9a-zA-Z]*\$|^(?!bitcoincash:)q|p[0-9a-zA-Z]{41}\$|^(?!bitcoincash:)q|p[0-9a-zA-Z]{42}\$|^bitcoincash:q|p[0-9a-zA-Z]{41}\$|^bitcoincash:q|p[0-9a-zA-Z]{42}\$';
case CryptoCurrency.bnb:
- pattern = '[0-9a-zA-Z]';
+ return '[0-9a-zA-Z]';
case CryptoCurrency.hbar:
- pattern = '[0-9a-zA-Z.]';
+ return '[0-9a-zA-Z.]';
case CryptoCurrency.zaddr:
- pattern = 'zs[0-9a-zA-Z]{75}';
+ return '^zs[0-9a-zA-Z]{75}';
case CryptoCurrency.zec:
- pattern = 't1[0-9a-zA-Z]{33}|t3[0-9a-zA-Z]{33}';
+ return '^t1[0-9a-zA-Z]{33}\$|^t3[0-9a-zA-Z]{33}\$';
case CryptoCurrency.dcr:
- pattern = 'D[ksecS]([0-9a-zA-Z])+';
+ return 'D[ksecS]([0-9a-zA-Z])+';
case CryptoCurrency.rvn:
- pattern = '[Rr]([1-9a-km-zA-HJ-NP-Z]){33}';
+ return '[Rr]([1-9a-km-zA-HJ-NP-Z]){33}';
case CryptoCurrency.near:
- pattern = '[0-9a-f]{64}';
+ return '[0-9a-f]{64}';
case CryptoCurrency.rune:
- pattern = 'thor1[0-9a-z]{38}';
+ return 'thor1[0-9a-z]{38}';
case CryptoCurrency.scrt:
- pattern = 'secret1[0-9a-z]{38}';
+ return 'secret1[0-9a-z]{38}';
case CryptoCurrency.stx:
- pattern = 'S[MP][0-9a-zA-Z]+';
+ return 'S[MP][0-9a-zA-Z]+';
case CryptoCurrency.kmd:
- pattern = 'R[0-9a-zA-Z]{33}';
+ return 'R[0-9a-zA-Z]{33}';
case CryptoCurrency.pivx:
- pattern = 'D([1-9a-km-zA-HJ-NP-Z]){33}';
+ return 'D([1-9a-km-zA-HJ-NP-Z]){33}';
case CryptoCurrency.btcln:
- pattern = '(lnbc|LNBC)([0-9]{1,}[a-zA-Z0-9]+)';
+ return '^(lnbc|LNBC)([0-9]{1,}[a-zA-Z0-9]+)';
default:
- pattern = '[0-9a-zA-Z]';
+ return '[0-9a-zA-Z]';
}
-
- return '$BEFORE_REGEX$pattern$AFTER_REGEX';
}
static List? getLength(CryptoCurrency type) {
@@ -277,55 +269,57 @@ class AddressValidator extends TextValidator {
}
static String? getAddressFromStringPattern(CryptoCurrency type) {
- String? pattern = null;
-
switch (type) {
case CryptoCurrency.xmr:
case CryptoCurrency.wow:
- pattern = '4[0-9a-zA-Z]{94}'
- '|8[0-9a-zA-Z]{94}'
- '|[0-9a-zA-Z]{106}';
+ return '([^0-9a-zA-Z]|^)4[0-9a-zA-Z]{94}([^0-9a-zA-Z]|\$)'
+ '|([^0-9a-zA-Z]|^)8[0-9a-zA-Z]{94}([^0-9a-zA-Z]|\$)'
+ '|([^0-9a-zA-Z]|^)[0-9a-zA-Z]{106}([^0-9a-zA-Z]|\$)';
case CryptoCurrency.btc:
- pattern =
- '${P2pkhAddress.regex.pattern}|${P2shAddress.regex.pattern}|${P2wpkhAddress.regex.pattern}|${P2trAddress.regex.pattern}|${P2wshAddress.regex.pattern}|${SilentPaymentAddress.regex.pattern}';
+ return '([^0-9a-zA-Z]|^)([1mn][a-km-zA-HJ-NP-Z1-9]{25,34})([^0-9a-zA-Z]|\$)' //P2pkhAddress type
+ '|([^0-9a-zA-Z]|^)([23][a-km-zA-HJ-NP-Z1-9]{25,34})([^0-9a-zA-Z]|\$)' //P2shAddress type
+ '|([^0-9a-zA-Z]|^)((bc|tb)1q[ac-hj-np-z02-9]{25,39})([^0-9a-zA-Z]|\$)' //P2wpkhAddress type
+ '|([^0-9a-zA-Z]|^)((bc|tb)1q[ac-hj-np-z02-9]{40,80})([^0-9a-zA-Z]|\$)' //P2wshAddress type
+ '|([^0-9a-zA-Z]|^)((bc|tb)1p([ac-hj-np-z02-9]{39}|[ac-hj-np-z02-9]{59}|[ac-hj-np-z02-9]{8,89}))([^0-9a-zA-Z]|\$)' //P2trAddress type
+ '|${SilentPaymentAddress.regex.pattern}\$';
+
case CryptoCurrency.ltc:
- pattern = '^L[a-zA-Z0-9]{26,33}'
- '|[LM][a-km-zA-HJ-NP-Z1-9]{26,33}'
- '|ltc[a-zA-Z0-9]{26,45}'
- '|([^0-9a-zA-Z]|^)((ltc|t)mweb1q[ac-hj-np-z02-9]{90,120}';
+ return '([^0-9a-zA-Z]|^)^L[a-zA-Z0-9]{26,33}([^0-9a-zA-Z]|\$)'
+ '|([^0-9a-zA-Z]|^)[LM][a-km-zA-HJ-NP-Z1-9]{26,33}([^0-9a-zA-Z]|\$)'
+ '|([^0-9a-zA-Z]|^)ltc[a-zA-Z0-9]{26,45}([^0-9a-zA-Z]|\$)'
+ '|([^0-9a-zA-Z]|^)((ltc|t)mweb1q[ac-hj-np-z02-9]{90,120})([^0-9a-zA-Z]|\$)';
case CryptoCurrency.eth:
- pattern = '0x[0-9a-zA-Z]{42}';
+ return '0x[0-9a-zA-Z]{42}';
case CryptoCurrency.maticpoly:
- pattern = '0x[0-9a-zA-Z]{42}';
+ return '0x[0-9a-zA-Z]{42}';
case CryptoCurrency.nano:
- pattern = 'nano_[0-9a-zA-Z]{60}';
+ return 'nano_[0-9a-zA-Z]{60}';
case CryptoCurrency.banano:
- pattern = 'ban_[0-9a-zA-Z]{60}';
+ return 'ban_[0-9a-zA-Z]{60}';
case CryptoCurrency.bch:
- pattern = '(bitcoincash:)?q[0-9a-zA-Z]{41,42}';
+ return 'bitcoincash:q[0-9a-zA-Z]{41}([^0-9a-zA-Z]|\$)'
+ '|bitcoincash:q[0-9a-zA-Z]{42}([^0-9a-zA-Z]|\$)'
+ '|([^0-9a-zA-Z]|^)q[0-9a-zA-Z]{41}([^0-9a-zA-Z]|\$)'
+ '|([^0-9a-zA-Z]|^)q[0-9a-zA-Z]{42}([^0-9a-zA-Z]|\$)';
case CryptoCurrency.sol:
- pattern = '[1-9A-HJ-NP-Za-km-z]{43,44}';
+ return '([^0-9a-zA-Z]|^)[1-9A-HJ-NP-Za-km-z]{43,44}([^0-9a-zA-Z]|\$)';
case CryptoCurrency.trx:
- pattern = '(T|t)[1-9A-HJ-NP-Za-km-z]{33}';
+ return '(T|t)[1-9A-HJ-NP-Za-km-z]{33}';
default:
if (type.tag == CryptoCurrency.eth.title) {
- pattern = '0x[0-9a-zA-Z]{42}';
+ return '0x[0-9a-zA-Z]{42}';
}
if (type.tag == CryptoCurrency.maticpoly.tag) {
- pattern = '0x[0-9a-zA-Z]{42}';
+ return '0x[0-9a-zA-Z]{42}';
}
if (type.tag == CryptoCurrency.sol.title) {
- pattern = '[1-9A-HJ-NP-Za-km-z]{43,44}';
+ return '([^0-9a-zA-Z]|^)[1-9A-HJ-NP-Za-km-z]{43,44}([^0-9a-zA-Z]|\$)';
}
if (type.tag == CryptoCurrency.trx.title) {
- pattern = '(T|t)[1-9A-HJ-NP-Za-km-z]{33}';
+ return '(T|t)[1-9A-HJ-NP-Za-km-z]{33}';
}
- }
- if (pattern != null) {
- return "$BEFORE_REGEX$pattern$AFTER_REGEX";
+ return null;
}
-
- return null;
}
}
diff --git a/lib/entities/pin_code_required_duration.dart b/lib/entities/pin_code_required_duration.dart
index fef5715b5..0c0d6d132 100644
--- a/lib/entities/pin_code_required_duration.dart
+++ b/lib/entities/pin_code_required_duration.dart
@@ -1,32 +1,39 @@
import 'package:cake_wallet/generated/i18n.dart';
-enum PinCodeRequiredDuration {
- always(0),
- tenminutes(10),
- onehour(60);
+enum PinCodeRequiredDuration {
+ always(0),
+ tenMinutes(10),
+ halfHour(30),
+ fortyFiveMinutes(45),
+ oneHour(60);
const PinCodeRequiredDuration(this.value);
+
final int value;
static PinCodeRequiredDuration deserialize({required int raw}) =>
PinCodeRequiredDuration.values.firstWhere((e) => e.value == raw);
@override
- String toString(){
+ String toString() {
String label = '';
switch (this) {
case PinCodeRequiredDuration.always:
label = S.current.always;
break;
- case PinCodeRequiredDuration.tenminutes:
+ case PinCodeRequiredDuration.tenMinutes:
label = S.current.minutes_to_pin_code('10');
break;
- case PinCodeRequiredDuration.onehour:
+ case PinCodeRequiredDuration.oneHour:
label = S.current.minutes_to_pin_code('60');
break;
+ case PinCodeRequiredDuration.halfHour:
+ label = S.current.minutes_to_pin_code('30');
+ break;
+ case PinCodeRequiredDuration.fortyFiveMinutes:
+ label = S.current.minutes_to_pin_code('45');
+ break;
}
return label;
-
}
-
-}
\ No newline at end of file
+}
diff --git a/lib/exchange/provider/simpleswap_exchange_provider.dart b/lib/exchange/provider/simpleswap_exchange_provider.dart
index 885878684..be52b73fe 100644
--- a/lib/exchange/provider/simpleswap_exchange_provider.dart
+++ b/lib/exchange/provider/simpleswap_exchange_provider.dart
@@ -236,7 +236,7 @@ class SimpleSwapExchangeProvider extends ExchangeProvider {
case CryptoCurrency.usdcsol:
return 'usdcspl';
case CryptoCurrency.matic:
- return 'maticerc20';
+ return 'pol';
case CryptoCurrency.maticpoly:
return 'matic';
default:
diff --git a/lib/polygon/cw_polygon.dart b/lib/polygon/cw_polygon.dart
index b76626684..307107dd4 100644
--- a/lib/polygon/cw_polygon.dart
+++ b/lib/polygon/cw_polygon.dart
@@ -156,7 +156,8 @@ class CWPolygon extends Polygon {
@override
CryptoCurrency assetOfTransaction(WalletBase wallet, TransactionInfo transaction) {
transaction as EVMChainTransactionInfo;
- if (transaction.tokenSymbol == CryptoCurrency.maticpoly.title) {
+ if (transaction.tokenSymbol == CryptoCurrency.maticpoly.title ||
+ transaction.tokenSymbol == "MATIC") {
return CryptoCurrency.maticpoly;
}
diff --git a/lib/src/screens/dashboard/pages/cake_features_page.dart b/lib/src/screens/dashboard/pages/cake_features_page.dart
index 0c953c892..37bc3a55f 100644
--- a/lib/src/screens/dashboard/pages/cake_features_page.dart
+++ b/lib/src/screens/dashboard/pages/cake_features_page.dart
@@ -52,20 +52,26 @@ class CakeFeaturesPage extends StatelessWidget {
onTap: () => _navigatorToGiftCardsPage(context),
title: 'Cake Pay',
subTitle: S.of(context).cake_pay_subtitle,
- svgPicture: SvgPicture.asset(
- 'assets/images/cards.svg',
- height: 125,
- width: 125,
+ image: Image.asset(
+ 'assets/images/cards.png',
+ height: 100,
+ width: 115,
fit: BoxFit.cover,
),
),
SizedBox(height: 10),
DashBoardRoundedCardWidget(
+ onTap: () => _launchUrl("cake.nano-gpt.com"),
title: "NanoGPT",
subTitle: S.of(context).nanogpt_subtitle,
- onTap: () => _launchUrl("cake.nano-gpt.com"),
+ image: Image.asset(
+ 'assets/images/nanogpt.png',
+ height: 80,
+ width: 80,
+ fit: BoxFit.cover,
+ ),
),
- SizedBox(height: 20),
+ SizedBox(height: 10),
Observer(
builder: (context) {
if (!dashboardViewModel.hasSignMessages) {
@@ -75,6 +81,12 @@ class CakeFeaturesPage extends StatelessWidget {
onTap: () => Navigator.of(context).pushNamed(Routes.signPage),
title: S.current.sign_verify_message,
subTitle: S.current.sign_verify_message_sub,
+ icon: Icon(
+ Icons.speaker_notes_rounded,
+ color:
+ Theme.of(context).extension()!.pageTitleTextColor,
+ size: 75,
+ ),
);
},
),
diff --git a/lib/src/screens/restore/restore_options_page.dart b/lib/src/screens/restore/restore_options_page.dart
index cb5086fe1..472f311c9 100644
--- a/lib/src/screens/restore/restore_options_page.dart
+++ b/lib/src/screens/restore/restore_options_page.dart
@@ -8,7 +8,6 @@ import 'package:cake_wallet/src/screens/base_page.dart';
import 'package:cake_wallet/src/screens/pin_code/pin_code_widget.dart';
import 'package:cake_wallet/src/widgets/alert_with_one_action.dart';
import 'package:cake_wallet/src/widgets/option_tile.dart';
-import 'package:cake_wallet/themes/extensions/option_tile_theme.dart';
import 'package:cake_wallet/utils/device_info.dart';
import 'package:cake_wallet/utils/permission_handler.dart';
import 'package:cake_wallet/utils/responsive_layout_util.dart';
@@ -20,6 +19,9 @@ import 'package:cw_core/hardware/device_connection_type.dart';
import 'package:cw_core/wallet_type.dart';
import 'package:flutter/material.dart';
import 'package:permission_handler/permission_handler.dart';
+import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
+import 'package:cake_wallet/themes/extensions/info_theme.dart';
+import 'package:cake_wallet/themes/theme_base.dart';
class RestoreOptionsPage extends BasePage {
RestoreOptionsPage({required this.isNewInstall});
@@ -44,12 +46,16 @@ class RestoreOptionsPage extends BasePage {
@override
Widget body(BuildContext context) {
- final imageColor = Theme.of(context).extension()!.titleColor;
+ final mainImageColor = Theme.of(context).extension()!.pageTitleTextColor;
+ final brightImageColor = Theme.of(context).extension()!.textColor;
+ final imageColor = currentTheme.type == ThemeType.bright ? brightImageColor : mainImageColor;
final imageLedger = Image.asset('assets/images/ledger_nano.png', width: 40, color: imageColor);
final imageSeedKeys = Image.asset('assets/images/restore_wallet_image.png', color: imageColor);
final imageBackup = Image.asset('assets/images/backup.png', color: imageColor);
final qrCode = Image.asset('assets/images/restore_qr.png', color: imageColor);
+
+
return Center(
child: Container(
width: ResponsiveLayoutUtilBase.kDesktopMaxWidthConstraint,
@@ -96,12 +102,15 @@ class RestoreOptionsPage extends BasePage {
Padding(
padding: EdgeInsets.only(top: 24),
child: OptionTile(
- key: ValueKey('restore_options_from_qr_button_key'),
- onPressed: () => _onScanQRCode(context),
- image: qrCode,
- title: S.of(context).scan_qr_code,
- description: S.of(context).cold_or_recover_wallet,
- ),
+ key: ValueKey('restore_options_from_qr_button_key'),
+ onPressed: () => _onScanQRCode(context),
+ icon: Icon(
+ Icons.qr_code_rounded,
+ color: imageColor,
+ size: 50,
+ ),
+ title: S.of(context).scan_qr_code,
+ description: S.of(context).cold_or_recover_wallet),
)
],
),
diff --git a/lib/src/screens/support/support_page.dart b/lib/src/screens/support/support_page.dart
index 471ff15b0..049ab2fb7 100644
--- a/lib/src/screens/support/support_page.dart
+++ b/lib/src/screens/support/support_page.dart
@@ -2,17 +2,20 @@ import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/routes.dart';
import 'package:cake_wallet/src/screens/base_page.dart';
import 'package:cake_wallet/src/widgets/option_tile.dart';
+import 'package:cake_wallet/themes/extensions/info_theme.dart';
import 'package:cake_wallet/utils/device_info.dart';
import 'package:cake_wallet/view_model/support_view_model.dart';
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';
+import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
+import 'package:cake_wallet/themes/theme_base.dart';
class SupportPage extends BasePage {
SupportPage(this.supportViewModel);
final SupportViewModel supportViewModel;
- final imageLiveSupport = Image.asset('assets/images/live_support.png');
+ final imageLiveSupport = Image.asset('assets/images/cake_icon.png');
final imageWalletGuides = Image.asset('assets/images/wallet_guides.png');
final imageMoreLinks = Image.asset('assets/images/more_links.png');
@@ -22,8 +25,16 @@ class SupportPage extends BasePage {
@override
AppBarStyle get appBarStyle => AppBarStyle.regular;
+
+
@override
Widget body(BuildContext context) {
+
+ final mainColor = Theme.of(context).extension()!.pageTitleTextColor;
+ final brightColor = Theme.of(context).extension()!.textColor;
+
+ final iconColor = currentTheme.type == ThemeType.bright ? brightColor : mainColor;
+
return Container(
child: Center(
child: ConstrainedBox(
@@ -33,7 +44,11 @@ class SupportPage extends BasePage {
Padding(
padding: EdgeInsets.only(top: 24),
child: OptionTile(
- image: imageLiveSupport,
+ icon: Icon(
+ Icons.support_agent,
+ color: iconColor,
+ size: 50,
+ ),
title: S.of(context).support_title_live_chat,
description: S.of(context).support_description_live_chat,
onPressed: () {
@@ -48,7 +63,11 @@ class SupportPage extends BasePage {
Padding(
padding: EdgeInsets.only(top: 24),
child: OptionTile(
- image: imageWalletGuides,
+ icon: Icon(
+ Icons.find_in_page,
+ color: iconColor,
+ size: 50,
+ ),
title: S.of(context).support_title_guides,
description: S.of(context).support_description_guides,
onPressed: () => _launchUrl(supportViewModel.guidesUrl),
@@ -57,7 +76,11 @@ class SupportPage extends BasePage {
Padding(
padding: EdgeInsets.only(top: 24),
child: OptionTile(
- image: imageMoreLinks,
+ icon: Icon(
+ Icons.contact_support,
+ color: iconColor,
+ size: 50,
+ ),
title: S.of(context).support_title_other_links,
description: S.of(context).support_description_other_links,
onPressed: () => Navigator.pushNamed(context, Routes.supportOtherLinks),
diff --git a/lib/src/screens/support_other_links/support_other_links_page.dart b/lib/src/screens/support_other_links/support_other_links_page.dart
index 7a1a945ca..b115594b4 100644
--- a/lib/src/screens/support_other_links/support_other_links_page.dart
+++ b/lib/src/screens/support_other_links/support_other_links_page.dart
@@ -37,7 +37,6 @@ class SupportOtherLinksPage extends BasePage {
itemCounter: (int _) => supportViewModel.items.length,
itemBuilder: (_, index) {
final item = supportViewModel.items[index];
-
if (item is RegularListItem) {
return SettingsCellWithArrow(title: item.title, handler: item.handler);
}
diff --git a/lib/src/widgets/dashboard_card_widget.dart b/lib/src/widgets/dashboard_card_widget.dart
index 5bcd4b40c..d9b545040 100644
--- a/lib/src/widgets/dashboard_card_widget.dart
+++ b/lib/src/widgets/dashboard_card_widget.dart
@@ -11,6 +11,7 @@ class DashBoardRoundedCardWidget extends StatelessWidget {
required this.subTitle,
this.hint,
this.svgPicture,
+ this.image,
this.icon,
this.onClose,
this.customBorder,
@@ -23,6 +24,7 @@ class DashBoardRoundedCardWidget extends StatelessWidget {
final Widget? hint;
final SvgPicture? svgPicture;
final Widget? icon;
+ final Image? image;
final double? customBorder;
@override
@@ -77,7 +79,8 @@ class DashBoardRoundedCardWidget extends StatelessWidget {
],
),
),
- if (svgPicture != null) svgPicture!,
+ if (image != null) image!
+ else if (svgPicture != null) svgPicture!,
if (icon != null) icon!
],
),
diff --git a/lib/src/widgets/option_tile.dart b/lib/src/widgets/option_tile.dart
index f7811a888..31f958f54 100644
--- a/lib/src/widgets/option_tile.dart
+++ b/lib/src/widgets/option_tile.dart
@@ -4,13 +4,16 @@ import 'package:flutter/material.dart';
class OptionTile extends StatelessWidget {
const OptionTile(
{required this.onPressed,
- required this.image,
+ this.image,
+ this.icon,
required this.title,
required this.description,
- super.key});
+ super.key})
+ : assert(image!=null || icon!=null);
final VoidCallback onPressed;
- final Image image;
+ final Image? image;
+ final Icon? icon;
final String title;
final String description;
@@ -31,7 +34,7 @@ class OptionTile extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
- image,
+ icon ?? image!,
Expanded(
child: Padding(
padding: EdgeInsets.only(left: 16),
diff --git a/lib/store/settings_store.dart b/lib/store/settings_store.dart
index 7ed8413ea..9f03c95c3 100644
--- a/lib/store/settings_store.dart
+++ b/lib/store/settings_store.dart
@@ -592,7 +592,7 @@ abstract class SettingsStoreBase with Store {
static const defaultPinLength = 4;
static const defaultActionsMode = 11;
- static const defaultPinCodeTimeOutDuration = PinCodeRequiredDuration.tenminutes;
+ static const defaultPinCodeTimeOutDuration = PinCodeRequiredDuration.tenMinutes;
static const defaultAutoGenerateSubaddressStatus = AutoGenerateSubaddressStatus.initialized;
static final walletPasswordDirectInput = Platform.isLinux;
static const defaultSeedPhraseLength = SeedPhraseLength.twelveWords;
diff --git a/lib/utils/exception_handler.dart b/lib/utils/exception_handler.dart
index bf0e3c616..91797c45e 100644
--- a/lib/utils/exception_handler.dart
+++ b/lib/utils/exception_handler.dart
@@ -21,9 +21,9 @@ class ExceptionHandler {
static File? _file;
static void _saveException(String? error, StackTrace? stackTrace, {String? library}) async {
- if (_file == null) {
- final appDocDir = await getAppDir();
+ final appDocDir = await getAppDir();
+ if (_file == null) {
_file = File('${appDocDir.path}/error.txt');
}
diff --git a/lib/view_model/send/send_view_model.dart b/lib/view_model/send/send_view_model.dart
index bc1dc7c2a..79f473eb3 100644
--- a/lib/view_model/send/send_view_model.dart
+++ b/lib/view_model/send/send_view_model.dart
@@ -695,6 +695,9 @@ abstract class SendViewModelBase extends WalletChangeListenerViewModel with Stor
if (error is TransactionCommitFailedBIP68Final) {
return S.current.tx_rejected_bip68_final;
}
+ if (error is TransactionCommitFailedLessThanMin) {
+ return S.current.fee_less_than_min;
+ }
if (error is TransactionNoDustOnChangeException) {
return S.current.tx_commit_exception_no_dust_on_change(error.min, error.max);
}
diff --git a/lib/view_model/support_view_model.dart b/lib/view_model/support_view_model.dart
index 2bb749b42..45b9cb9bf 100644
--- a/lib/view_model/support_view_model.dart
+++ b/lib/view_model/support_view_model.dart
@@ -14,14 +14,16 @@ abstract class SupportViewModelBase with Store {
: items = [
LinkListItem(
title: 'Email',
+ icon: 'assets/images/support_icon.png',
linkTitle: 'support@cakewallet.com',
link: 'mailto:support@cakewallet.com'),
if (!isMoneroOnly)
LinkListItem(
title: 'Website',
+ icon: 'assets/images/global.png',
linkTitle: 'cakewallet.com',
link: 'https://cakewallet.com'),
- if (!isMoneroOnly)
+ if (!isMoneroOnly)
LinkListItem(
title: 'GitHub',
icon: 'assets/images/github.png',
@@ -29,7 +31,12 @@ abstract class SupportViewModelBase with Store {
linkTitle: S.current.apk_update,
link: 'https://github.com/cake-tech/cake_wallet/releases'),
LinkListItem(
- title: 'Telegram',
+ title: 'Telegram Community',
+ icon: 'assets/images/Telegram.png',
+ linkTitle: 't.me/cakewallet',
+ link: 'https://t.me/cakewallet'),
+ LinkListItem(
+ title: 'Telegram Support Bot',
icon: 'assets/images/Telegram.png',
linkTitle: '@cakewallet_bot',
link: 'https://t.me/cakewallet_bot'),
diff --git a/res/values/strings_ar.arb b/res/values/strings_ar.arb
index 037932bae..dca3e3e16 100644
--- a/res/values/strings_ar.arb
+++ b/res/values/strings_ar.arb
@@ -129,6 +129,7 @@
"choose_from_available_options": "اختر من بين الخيارات المتاحة:",
"choose_one": "اختر واحدة",
"choose_relay": "ﻡﺍﺪﺨﺘﺳﻼﻟ ﻊﺑﺎﺘﺘﻟﺍ ﺭﺎﻴﺘﺧﺍ ءﺎﺟﺮﻟﺍ",
+ "choose_wallet_currency": "الرجاء اختيار عملة المحفظة:",
"choose_wallet_group": "اختر مجموعة المحفظة",
"clear": "مسح",
"clearnet_link": "رابط Clearnet",
@@ -297,6 +298,7 @@
"failed_authentication": "${state_error} فشل المصادقة.",
"faq": "الأسئلة الشائعة",
"features": "سمات",
+ "fee_less_than_min": "الرسوم المحددة أقل من الحد الأدنى ، يرجى زيادة الرسوم لتكون قادرة على إرسال المعاملة",
"fee_rate": "معدل الرسوم",
"fetching": "جار الجلب",
"fiat_api": "Fiat API",
@@ -615,6 +617,7 @@
"seedtype_alert_title": "تنبيه البذور",
"seedtype_legacy": "إرث (25 كلمة)",
"seedtype_polyseed": "بوليسيد (16 كلمة)",
+ "seedtype_wownero": "Wownero (14 كلمة)",
"select_backup_file": "حدد ملف النسخ الاحتياطي",
"select_buy_provider_notice": "حدد مزود شراء أعلاه. يمكنك تخطي هذه الشاشة عن طريق تعيين مزود شراء الافتراضي في إعدادات التطبيق.",
"select_destination": ".ﻲﻃﺎﻴﺘﺣﻻﺍ ﺦﺴﻨﻟﺍ ﻒﻠﻣ ﺔﻬﺟﻭ ﺪﻳﺪﺤﺗ ءﺎﺟﺮﻟﺍ",
@@ -686,7 +689,7 @@
"show_seed": "عرض السييد",
"sign_message": "تسجيل رسالة",
"sign_up": "اشتراك",
- "sign_verify_message": "توقيع أو التحقق من الرسالة",
+ "sign_verify_message": "تسجيل / تحقق",
"sign_verify_message_sub": "قم بتوقيع أو التحقق من رسالة باستخدام المفتاح الخاص بك",
"sign_verify_title": "تسجيل / تحقق",
"signature": "إمضاء",
diff --git a/res/values/strings_bg.arb b/res/values/strings_bg.arb
index 21c59fd60..2be2613d9 100644
--- a/res/values/strings_bg.arb
+++ b/res/values/strings_bg.arb
@@ -298,6 +298,7 @@
"failed_authentication": "Неуспешно удостоверяване. ${state_error}",
"faq": "FAQ",
"features": "Характеристика",
+ "fee_less_than_min": "Избраната такса е по -малка от минимума, моля, увеличете таксите, за да можете да изпратите транзакцията",
"fee_rate": "Такса ставка",
"fetching": "Обработване",
"fiat_api": "Fiat API",
@@ -616,6 +617,7 @@
"seedtype_alert_title": "Сигнал за семена",
"seedtype_legacy": "Наследство (25 думи)",
"seedtype_polyseed": "Поли семе (16 думи)",
+ "seedtype_wownero": "Wownero (14 думи)",
"select_backup_file": "Избор на резервно копие",
"select_buy_provider_notice": "Изберете доставчик на покупка по -горе. Можете да пропуснете този екран, като зададете вашия доставчик по подразбиране по подразбиране в настройките на приложението.",
"select_destination": "Моля, изберете дестинация за архивния файл.",
@@ -687,7 +689,7 @@
"show_seed": "Покажи seed",
"sign_message": "Съобщение за подписване",
"sign_up": "Регистрация",
- "sign_verify_message": "Подпишете или проверете съобщението",
+ "sign_verify_message": "Подпишете / проверете",
"sign_verify_message_sub": "Подпишете или проверете съобщение с помощта на вашия личен ключ",
"sign_verify_title": "Подпишете / проверете",
"signature": "Подпис",
diff --git a/res/values/strings_cs.arb b/res/values/strings_cs.arb
index 9f356e93f..ef52616fe 100644
--- a/res/values/strings_cs.arb
+++ b/res/values/strings_cs.arb
@@ -298,6 +298,7 @@
"failed_authentication": "Ověřování selhalo. ${state_error}",
"faq": "FAQ",
"features": "Funkce",
+ "fee_less_than_min": "Vybraný poplatek je menší než minimum, zvýšit poplatky, abyste mohli transakci odeslat",
"fee_rate": "Sazba poplatků",
"fetching": "Načítá se",
"fiat_api": "Fiat API",
@@ -616,6 +617,7 @@
"seedtype_alert_title": "Upozornění seedtype",
"seedtype_legacy": "Legacy (25 slov)",
"seedtype_polyseed": "Polyseed (16 slov)",
+ "seedtype_wownero": "Wownero (14 slov)",
"select_backup_file": "Vybrat soubor se zálohou",
"select_buy_provider_notice": "Vyberte výše uvedeného poskytovatele nákupu. Tuto obrazovku můžete přeskočit nastavením výchozího poskytovatele nákupu v nastavení aplikace.",
"select_destination": "Vyberte cíl pro záložní soubor.",
@@ -687,7 +689,7 @@
"show_seed": "Zobrazit seed",
"sign_message": "Podepsat zprávu",
"sign_up": "Registrovat se",
- "sign_verify_message": "Podepište nebo ověřte zprávu",
+ "sign_verify_message": "Podepsat / ověřit",
"sign_verify_message_sub": "Podepište nebo ověřte zprávu pomocí soukromého klíče",
"sign_verify_title": "Podepsat / ověřit",
"signature": "Podpis",
diff --git a/res/values/strings_de.arb b/res/values/strings_de.arb
index 39aac502d..77251bc91 100644
--- a/res/values/strings_de.arb
+++ b/res/values/strings_de.arb
@@ -298,6 +298,7 @@
"failed_authentication": "Authentifizierung fehlgeschlagen. ${state_error}",
"faq": "Häufig gestellte Fragen",
"features": "Merkmale",
+ "fee_less_than_min": "Die ausgewählte Gebühr ist geringer als das Minimum. Bitte erhöhen Sie die Gebühren, um die Transaktion senden zu können",
"fee_rate": "Gebührenpreis",
"fetching": "Frage ab",
"fiat_api": "Fiat API",
@@ -617,6 +618,7 @@
"seedtype_alert_title": "Seedype -Alarm",
"seedtype_legacy": "Veraltet (25 Wörter)",
"seedtype_polyseed": "Polyseed (16 Wörter)",
+ "seedtype_wownero": "WOWNO (14 Wörter)",
"select_backup_file": "Sicherungsdatei auswählen",
"select_buy_provider_notice": "Wählen Sie oben einen Anbieter kaufen. Sie können diese Seite überspringen, indem Sie Ihren Standard-Kaufanbieter in den App-Einstellungen festlegen.",
"select_destination": "Bitte wählen Sie das Ziel für die Sicherungsdatei aus.",
@@ -688,7 +690,7 @@
"show_seed": "Seed zeigen",
"sign_message": "Nachricht unterschreiben",
"sign_up": "Anmelden",
- "sign_verify_message": "Nachricht unterschreiben oder überprüfen",
+ "sign_verify_message": "Zeichen / überprüfen",
"sign_verify_message_sub": "Unterschreiben oder überprüfen Sie eine Nachricht mit Ihrem privaten Schlüssel",
"sign_verify_title": "Zeichen / überprüfen",
"signature": "Signatur",
diff --git a/res/values/strings_en.arb b/res/values/strings_en.arb
index 69cc0be15..776bf95bc 100644
--- a/res/values/strings_en.arb
+++ b/res/values/strings_en.arb
@@ -299,6 +299,7 @@
"faq": "FAQ",
"features": "Features",
"fee_rate": "Fee rate",
+ "fee_less_than_min": "Selected Fee is less than the minimum, please increase the fees to be able to send the transaction",
"fetching": "Fetching",
"fiat_api": "Fiat API",
"fiat_balance": "Fiat Balance",
@@ -688,7 +689,7 @@
"show_seed": "Show seed",
"sign_message": "Sign Message",
"sign_up": "Sign Up",
- "sign_verify_message": "Sign or verify message",
+ "sign_verify_message": "Sign / Verify",
"sign_verify_message_sub": "Sign or verify a message using your private key",
"sign_verify_title": "Sign / Verify",
"signature": "Signature",
diff --git a/res/values/strings_es.arb b/res/values/strings_es.arb
index 3e0bf0b88..e69df2e6d 100644
--- a/res/values/strings_es.arb
+++ b/res/values/strings_es.arb
@@ -298,6 +298,7 @@
"failed_authentication": "Autenticación fallida. ${state_error}",
"faq": "FAQ",
"features": "Características",
+ "fee_less_than_min": "La tarifa seleccionada es menor que la mínima, aumente las tarifas para poder enviar la transacción",
"fee_rate": "Tarifa",
"fetching": "Cargando",
"fiat_api": "Fiat API",
@@ -617,6 +618,7 @@
"seedtype_alert_title": "Alerta de type de semillas",
"seedtype_legacy": "Legado (25 palabras)",
"seedtype_polyseed": "Polieta (16 palabras)",
+ "seedtype_wownero": "Wownero (14 palabras)",
"select_backup_file": "Seleccionar archivo de respaldo",
"select_buy_provider_notice": "Seleccione un proveedor de compra arriba. Puede omitir esta pantalla configurando su proveedor de compra predeterminado en la configuración de la aplicación.",
"select_destination": "Seleccione el destino del archivo de copia de seguridad.",
@@ -688,7 +690,7 @@
"show_seed": "Mostrar semilla",
"sign_message": "Mensaje de firma",
"sign_up": "Registrarse",
- "sign_verify_message": "Firmar o verificar el mensaje",
+ "sign_verify_message": "Firmar / verificar",
"sign_verify_message_sub": "Firmar o verificar un mensaje usando su clave privada",
"sign_verify_title": "Firmar / verificar",
"signature": "Firma",
diff --git a/res/values/strings_fr.arb b/res/values/strings_fr.arb
index de89d943b..f19e9daaa 100644
--- a/res/values/strings_fr.arb
+++ b/res/values/strings_fr.arb
@@ -298,6 +298,7 @@
"failed_authentication": "Échec d'authentification. ${state_error}",
"faq": "FAQ",
"features": "Caractéristiques",
+ "fee_less_than_min": "Les frais sélectionnés sont inférieurs au minimum, veuillez augmenter les frais pour pouvoir envoyer la transaction",
"fee_rate": "Taux de frais",
"fetching": "Récupération",
"fiat_api": "Fiat API",
@@ -616,6 +617,7 @@
"seedtype_alert_title": "Alerte de type SeedType",
"seedtype_legacy": "Héritage (25 mots)",
"seedtype_polyseed": "Polyseed (16 mots)",
+ "seedtype_wownero": "WOWNERO (14 mots)",
"select_backup_file": "Sélectionnez le fichier de sauvegarde",
"select_buy_provider_notice": "Sélectionnez un fournisseur d'achat ci-dessus. Vous pouvez ignorer cet écran en définissant votre fournisseur d'achat par défaut dans les paramètres de l'application.",
"select_destination": "Veuillez sélectionner la destination du fichier de sauvegarde.",
@@ -687,7 +689,7 @@
"show_seed": "Visualiser la phrase secrète (seed)",
"sign_message": "Signer le message",
"sign_up": "S'inscrire",
- "sign_verify_message": "Signer ou vérifier le message",
+ "sign_verify_message": "Signe / vérifier",
"sign_verify_message_sub": "Signez ou vérifiez un message en utilisant votre clé privée",
"sign_verify_title": "Signe / vérifier",
"signature": "Signature",
diff --git a/res/values/strings_ha.arb b/res/values/strings_ha.arb
index e42160251..d387f8a84 100644
--- a/res/values/strings_ha.arb
+++ b/res/values/strings_ha.arb
@@ -298,6 +298,7 @@
"failed_authentication": "Binne wajen shiga. ${state_error}",
"faq": "FAQ",
"features": "Fasas",
+ "fee_less_than_min": "Kudin da aka zaba kasa da mafi karancin, don Allah ƙara kudaden don samun damar aika ma'amala",
"fee_rate": "Kudi",
"fetching": "Daukewa",
"fiat_api": "API ɗin Fiat",
@@ -618,6 +619,7 @@
"seedtype_alert_title": "Seedtype farke",
"seedtype_legacy": "Legacy (25 kalmomi)",
"seedtype_polyseed": "Polyseed (16 kalmomi)",
+ "seedtype_wownero": "WowRero (kalmomi 14)",
"select_backup_file": "Zaɓi fayil ɗin madadin",
"select_buy_provider_notice": "Zaɓi mai ba da kyauta a sama. Zaka iya tsallake wannan allon ta hanyar saita mai ba da isasshen busasshen mai ba da isasshen busasshiyar saiti.",
"select_destination": "Da fatan za a zaɓi wurin da za a yi wa madadin fayil ɗin.",
@@ -689,7 +691,7 @@
"show_seed": "Nuna iri",
"sign_message": "Sa hannu",
"sign_up": "Shiga",
- "sign_verify_message": "Shiga ko Tabbatar da Saƙo",
+ "sign_verify_message": "Sa hannu / Tabbatar",
"sign_verify_message_sub": "Shiga ko tabbatar da saƙo ta amfani da Maɓallinku na sirri",
"sign_verify_title": "Sa hannu / Tabbatar",
"signature": "Sa hannu",
diff --git a/res/values/strings_hi.arb b/res/values/strings_hi.arb
index c1c2a66ab..248370f70 100644
--- a/res/values/strings_hi.arb
+++ b/res/values/strings_hi.arb
@@ -236,7 +236,7 @@
"email_address": "ईमेल पता",
"enable_mempool_api": "सटीक शुल्क और तिथियों के लिए मेमपूल एपीआई",
"enable_replace_by_fee": "प्रतिस्थापित-दर-शुल्क सक्षम करें",
- "enable_silent_payments_scanning": "साइलेंट पेमेंट्स को स्कैन करना शुरू करें, जब तक कि टिप तक पहुंच न जाए",
+ "enable_silent_payments_scanning": "मूक भुगतान स्कैनिंग सक्षम करें",
"enabled": "सक्रिय",
"enter_amount": "राशि दर्ज करें",
"enter_backup_password": "यहां बैकअप पासवर्ड डालें",
@@ -298,6 +298,7 @@
"failed_authentication": "प्रमाणीकरण विफल. ${state_error}",
"faq": "FAQ",
"features": "विशेषताएँ",
+ "fee_less_than_min": "चयनित शुल्क न्यूनतम से कम है, कृपया लेन -देन भेजने में सक्षम होने के लिए शुल्क बढ़ाएं",
"fee_rate": "शुल्क दर",
"fetching": "ला रहा है",
"fiat_api": "फिएट पैसे API",
@@ -614,10 +615,11 @@
"seed_share": "बीज साझा करें",
"seed_title": "बीज",
"seedtype": "बीज",
- "seedtype_alert_content": "अन्य बटुए के साथ बीज साझा करना केवल BIP39 SEEDTYPE के साथ संभव है।",
+ "seedtype_alert_content": "अन्य पर्स के साथ बीज साझा करना केवल BIP39 सीडटाइप के साथ संभव है।",
"seedtype_alert_title": "बीजगणित अलर्ट",
"seedtype_legacy": "विरासत (25 शब्द)",
"seedtype_polyseed": "पॉलीसीड (16 शब्द)",
+ "seedtype_wownero": "Wownero (14 शब्द)",
"select_backup_file": "बैकअप फ़ाइल का चयन करें",
"select_buy_provider_notice": "ऊपर एक खरीद प्रदाता का चयन करें। आप इस स्क्रीन को ऐप सेटिंग्स में अपना डिफ़ॉल्ट बाय प्रदाता सेट करके छोड़ सकते हैं।",
"select_destination": "कृपया बैकअप फ़ाइल के लिए गंतव्य का चयन करें।",
@@ -689,7 +691,7 @@
"show_seed": "बीज दिखाओ",
"sign_message": "हस्ताक्षर संदेश",
"sign_up": "साइन अप करें",
- "sign_verify_message": "संदेश पर हस्ताक्षर या सत्यापित करें",
+ "sign_verify_message": "हस्ताक्षर / सत्यापित करें",
"sign_verify_message_sub": "अपनी निजी कुंजी का उपयोग करके किसी संदेश पर हस्ताक्षर या सत्यापित करें",
"sign_verify_title": "हस्ताक्षर / सत्यापित करें",
"signature": "हस्ताक्षर",
@@ -872,8 +874,8 @@
"wallet_group_description_four": "एक पूरी तरह से नए बीज के साथ एक बटुआ बनाने के लिए।",
"wallet_group_description_one": "केक बटुए में, आप एक बना सकते हैं",
"wallet_group_description_three": "उपलब्ध वॉलेट और/या वॉलेट समूह स्क्रीन देखने के लिए। या चुनें",
- "wallet_group_description_two": "एक बीज साझा करने के लिए एक मौजूदा बटुए का चयन करके। प्रत्येक वॉलेट समूह में प्रत्येक मुद्रा प्रकार का एक एकल वॉलेट हो सकता है। \n\n आप चयन कर सकते हैं",
- "wallet_group_empty_state_text_one": "लगता है कि आपके पास कोई संगत बटुआ समूह नहीं है !\n\n टैप करें",
+ "wallet_group_description_two": "एक बीज साझा करने के लिए एक मौजूदा बटुए का चयन करके। प्रत्येक वॉलेट समूह में प्रत्येक मुद्रा प्रकार का एक एकल वॉलेट हो सकता है।\n\nआप चयन कर सकते हैं",
+ "wallet_group_empty_state_text_one": "लगता है कि आपके पास कोई संगत बटुआ समूह नहीं है!\n\nनल",
"wallet_group_empty_state_text_two": "नीचे एक नया बनाने के लिए।",
"wallet_keys": "बटुआ बीज / चाबियाँ",
"wallet_list_create_new_wallet": "नया बटुआ बनाएँ",
diff --git a/res/values/strings_hr.arb b/res/values/strings_hr.arb
index 25fcd7379..53ec9b8a6 100644
--- a/res/values/strings_hr.arb
+++ b/res/values/strings_hr.arb
@@ -298,6 +298,7 @@
"failed_authentication": "Autentifikacija neuspješna. ${state_error}",
"faq": "FAQ",
"features": "Značajke",
+ "fee_less_than_min": "Odabrana naknada je manja od minimalnog, povećajte naknade kako biste mogli poslati transakciju",
"fee_rate": "Stopa naknade",
"fetching": "Dohvaćanje",
"fiat_api": "Fiat API",
@@ -616,6 +617,7 @@
"seedtype_alert_title": "Upozorenje o sjemenu",
"seedtype_legacy": "Nasljeđe (25 riječi)",
"seedtype_polyseed": "Poliseed (16 riječi)",
+ "seedtype_wownero": "WANERO (14 riječi)",
"select_backup_file": "Odaberite datoteku sigurnosne kopije",
"select_buy_provider_notice": "Odaberite gornji davatelj kupnje. Ovaj zaslon možete preskočiti postavljanjem zadanog davatelja usluga kupnje u postavkama aplikacija.",
"select_destination": "Odaberite odredište za datoteku sigurnosne kopije.",
@@ -687,7 +689,7 @@
"show_seed": "Prikaži pristupni izraz",
"sign_message": "Poruka",
"sign_up": "Prijavite se",
- "sign_verify_message": "Potpisati ili provjeriti poruku",
+ "sign_verify_message": "Potpisati / provjeriti",
"sign_verify_message_sub": "Potpišite ili provjerite poruku pomoću privatnog ključa",
"sign_verify_title": "Potpisati / provjeriti",
"signature": "Potpis",
diff --git a/res/values/strings_hy.arb b/res/values/strings_hy.arb
index 9eb6f4e3a..6ac28fc3b 100644
--- a/res/values/strings_hy.arb
+++ b/res/values/strings_hy.arb
@@ -198,6 +198,7 @@
"delete_wallet_confirm_message": "Դուք վստահ եք, որ ուզում եք ջնջել ${wallet_name} դրամապանակը?",
"deleteConnectionConfirmationPrompt": "Դուք վստահ եք, որ ուզում եք ջնջել կապը",
"denominations": "Անվանակարգեր",
+ "derivationpath": "Ածանցման ուղին",
"descending": "Նվազող",
"description": "Նկարագրություն",
"destination_tag": "Նպատակակետի պիտակ:",
@@ -235,7 +236,7 @@
"email_address": "Էլ. փոստի հասցե",
"enable_mempool_api": "Mempool API ճշգրիտ վճարների եւ ամսաթվերի համար",
"enable_replace_by_fee": "Միացնել փոխարինումը միջնորդավճարով",
- "enable_silent_payments_scanning": "Սկսեք սկանավորել լուռ վճարումները, մինչեւ որ ծայրը հասնի",
+ "enable_silent_payments_scanning": "Միացնել Լուռ Վճարումների սկանավորումը",
"enabled": "Միացված",
"enter_amount": "Մուտքագրեք գումար",
"enter_backup_password": "Մուտքագրեք կրկնօրինակի գաղտնաբառը",
@@ -297,6 +298,7 @@
"failed_authentication": "Վավերացումը ձախողվեց. ${state_error}",
"faq": "Հաճախ տրվող հարցեր",
"features": "Հատկանիշներ",
+ "fee_less_than_min": "Ընտրված վճարը նվազագույնից պակաս է, խնդրում ենք ավելացնել վճարները, որպեսզի կարողանաք գործարքը ուղարկել",
"fee_rate": "Վճարման տոկոսադրույքը",
"fetching": "Ստացվում է",
"fiat_api": "Fiat API",
@@ -679,7 +681,7 @@
"show_seed": "Ցուցադրել սերմ",
"sign_message": "Կնքել հաղորդագրություն",
"sign_up": "Գրանցվել",
- "sign_verify_message": "Կնքել կամ ստուգել հաղորդագրություն",
+ "sign_verify_message": "Նշեք / ստուգեք",
"sign_verify_message_sub": "Կնքել կամ ստուգել հաղորդագրությունը ձեր գախտնի բանալիով",
"sign_verify_title": "Կնքել / Ստուգել",
"signature": "Կնիք",
@@ -862,8 +864,8 @@
"wallet_group_description_four": "Ամբողջովին նոր սերմով դրամապանակ ստեղծելու համար:",
"wallet_group_description_one": "Տորթի դրամապանակում կարող եք ստեղծել ա",
"wallet_group_description_three": "Տեսնել առկա դրամապանակներն ու (կամ) դրամապանակների խմբերի էկրանը: Կամ ընտրել",
- "wallet_group_description_two": "ընտրելով գոյություն ունեցող դրամապանակ `սերմը կիսելու համար: Դրամապանակների յուրաքանչյուր խումբ կարող է պարունակել յուրաքանչյուր արժույթի տիպի մեկ դրամապանակ: \n\n Կարող եք ընտրել",
- "wallet_group_empty_state_text_one": "Կարծես թե դուք չունեք որեւէ համատեղելի դրամապանակների խմբեր !\n\n թակել",
+ "wallet_group_description_two": "ընտրելով գոյություն ունեցող դրամապանակ `սերմը կիսելու համար: Դրամապանակների յուրաքանչյուր խումբ կարող է պարունակել յուրաքանչյուր արժույթի տեսակի մեկ դրամապանակ:\n\nԿարող եք ընտրել",
+ "wallet_group_empty_state_text_one": "Կարծես թե որեւէ համատեղելի դրամապանակի խմբեր չունեք:\n\nԹակել",
"wallet_group_empty_state_text_two": "ներքեւում `նորը կազմելու համար:",
"wallet_keys": "Դրամապանակի սերմ/բանալիներ",
"wallet_list_create_new_wallet": "Ստեղծել Նոր Դրամապանակ",
diff --git a/res/values/strings_id.arb b/res/values/strings_id.arb
index 39d6bed67..b382321cd 100644
--- a/res/values/strings_id.arb
+++ b/res/values/strings_id.arb
@@ -298,6 +298,7 @@
"failed_authentication": "Otentikasi gagal. ${state_error}",
"faq": "Pertanyaan yang Sering Diajukan",
"features": "Fitur",
+ "fee_less_than_min": "Biaya yang dipilih kurang dari minimum, harap tingkatkan biaya untuk dapat mengirim transaksi",
"fee_rate": "Tarif biaya",
"fetching": "Mengambil",
"fiat_api": "API fiat",
@@ -619,6 +620,7 @@
"seedtype_alert_title": "Peringatan seedtype",
"seedtype_legacy": "Legacy (25 kata)",
"seedtype_polyseed": "Polyseed (16 kata)",
+ "seedtype_wownero": "Wownero (14 kata)",
"select_backup_file": "Pilih file cadangan",
"select_buy_provider_notice": "Pilih penyedia beli di atas. Anda dapat melewatkan layar ini dengan mengatur penyedia pembelian default Anda di pengaturan aplikasi.",
"select_destination": "Silakan pilih tujuan untuk file cadangan.",
@@ -690,7 +692,7 @@
"show_seed": "Tampilkan seed",
"sign_message": "Pesan tanda",
"sign_up": "Daftar",
- "sign_verify_message": "Tanda tangan atau verifikasi pesan",
+ "sign_verify_message": "Tanda / verifikasi",
"sign_verify_message_sub": "Menandatangani atau memverifikasi pesan menggunakan kunci pribadi Anda",
"sign_verify_title": "Tanda / verifikasi",
"signature": "Tanda tangan",
diff --git a/res/values/strings_it.arb b/res/values/strings_it.arb
index 671925f0e..2994b2dab 100644
--- a/res/values/strings_it.arb
+++ b/res/values/strings_it.arb
@@ -299,6 +299,7 @@
"failed_authentication": "Autenticazione fallita. ${state_error}",
"faq": "Domande Frequenti",
"features": "Caratteristiche",
+ "fee_less_than_min": "La commissione selezionata è inferiore al minimo, aumenta le commissioni per poter inviare la transazione",
"fee_rate": "Tasso di commissione",
"fetching": "Recupero",
"fiat_api": "Fiat API",
@@ -618,6 +619,7 @@
"seedtype_alert_title": "Avviso seedType",
"seedtype_legacy": "Legacy (25 parole)",
"seedtype_polyseed": "Polyseed (16 parole)",
+ "seedtype_wownero": "Wownero (14 parole)",
"select_backup_file": "Seleziona file di backup",
"select_buy_provider_notice": "Seleziona un fornitore di acquisto sopra. È possibile saltare questa schermata impostando il provider di acquisto predefinito nelle impostazioni dell'app.",
"select_destination": "Seleziona la destinazione per il file di backup.",
@@ -689,7 +691,7 @@
"show_seed": "Mostra seme",
"sign_message": "Messaggio di firma",
"sign_up": "Registrati",
- "sign_verify_message": "Firmare o verificare il messaggio",
+ "sign_verify_message": "Firmare / verificare",
"sign_verify_message_sub": "Firma o verifica un messaggio utilizzando la chiave privata",
"sign_verify_title": "Firmare / verificare",
"signature": "Firma",
diff --git a/res/values/strings_ja.arb b/res/values/strings_ja.arb
index 39e24fc90..43625affe 100644
--- a/res/values/strings_ja.arb
+++ b/res/values/strings_ja.arb
@@ -298,6 +298,7 @@
"failed_authentication": "認証失敗. ${state_error}",
"faq": "FAQ",
"features": "特徴",
+ "fee_less_than_min": "選択した料金は最低額よりも少ないので、取引を送信できるように料金を引き上げてください",
"fee_rate": "料金金利",
"fetching": "フェッチング",
"fiat_api": "不換紙幣 API",
@@ -617,6 +618,7 @@
"seedtype_alert_title": "SeedTypeアラート",
"seedtype_legacy": "レガシー(25語)",
"seedtype_polyseed": "ポリシード(16語)",
+ "seedtype_wownero": "wownero(14ワード)",
"select_backup_file": "バックアップファイルを選択",
"select_buy_provider_notice": "上記の購入プロバイダーを選択してください。デフォルトの購入プロバイダーをアプリ設定で設定して、この画面をスキップできます。",
"select_destination": "バックアップファイルの保存先を選択してください。",
@@ -688,7 +690,7 @@
"show_seed": "シードを表示",
"sign_message": "署名メッセージ",
"sign_up": "サインアップ",
- "sign_verify_message": "メッセージに署名または確認します",
+ "sign_verify_message": "署名 /検証",
"sign_verify_message_sub": "秘密鍵を使用してメッセージに署名または確認します",
"sign_verify_title": "署名 /検証",
"signature": "サイン",
diff --git a/res/values/strings_ko.arb b/res/values/strings_ko.arb
index ad7159a76..78e08f227 100644
--- a/res/values/strings_ko.arb
+++ b/res/values/strings_ko.arb
@@ -298,6 +298,7 @@
"failed_authentication": "인증 실패. ${state_error}",
"faq": "FAQ",
"features": "특징",
+ "fee_less_than_min": "선택된 수수료는 최소값보다 적습니다. 거래를 보낼 수있는 수수료를 늘리십시오.",
"fee_rate": "수수료",
"fetching": "가져 오는 중",
"fiat_api": "명목 화폐 API",
@@ -617,6 +618,7 @@
"seedtype_alert_title": "종자 경보",
"seedtype_legacy": "레거시 (25 단어)",
"seedtype_polyseed": "다문 (16 단어)",
+ "seedtype_wownero": "Wownero (14 단어)",
"select_backup_file": "백업 파일 선택",
"select_buy_provider_notice": "위의 구매 제공자를 선택하십시오. 앱 설정에서 기본 구매 제공자를 설정 하여이 화면을 건너 뛸 수 있습니다.",
"select_destination": "백업 파일의 대상을 선택하십시오.",
diff --git a/res/values/strings_my.arb b/res/values/strings_my.arb
index 5fe683db1..08355d36b 100644
--- a/res/values/strings_my.arb
+++ b/res/values/strings_my.arb
@@ -298,6 +298,7 @@
"failed_authentication": "အထောက်အထားစိစစ်ခြင်း မအောင်မြင်ပါ။. ${state_error}",
"faq": "အမြဲမေးလေ့ရှိသောမေးခွန်းများ",
"features": "အင်္ဂါရပ်များ",
+ "fee_less_than_min": "ရွေးချယ်ထားသည့်အခကြေးငွေသည်အနည်းဆုံးထက်နည်းသည်, ငွေပေးချေမှုကိုပေးပို့နိုင်ရန်အခကြေးငွေကိုတိုးမြှင့်ပေးပါ",
"fee_rate": "ကြေးနှုန်း",
"fetching": "ခေါ်ယူခြင်း။",
"fiat_api": "Fiat API",
@@ -616,6 +617,7 @@
"seedtype_alert_title": "ပျိုးပင်သတိပေးချက်",
"seedtype_legacy": "အမွေအနှစ် (စကားလုံး 25 လုံး)",
"seedtype_polyseed": "polyseed (စကားလုံး 16 လုံး)",
+ "seedtype_wownero": "Wownero (စကားလုံး 14 လုံး)",
"select_backup_file": "အရန်ဖိုင်ကို ရွေးပါ။",
"select_buy_provider_notice": "အပေါ်ကဝယ်သူတစ် ဦး ကိုရွေးချယ်ပါ။ သင်၏ default 0 ယ်သူအား app settings တွင် setting လုပ်ခြင်းဖြင့်ဤ screen ကိုကျော်သွားနိုင်သည်။",
"select_destination": "အရန်ဖိုင်အတွက် ဦးတည်ရာကို ရွေးပါ။",
@@ -687,7 +689,7 @@
"show_seed": "မျိုးစေ့ကိုပြပါ။",
"sign_message": "လက်မှတ်စာ",
"sign_up": "ဆိုင်းအပ်",
- "sign_verify_message": "မက်ဆေ့ခ်ျကိုလက်မှတ်ထိုးသို့မဟုတ်အတည်ပြုရန်",
+ "sign_verify_message": "လက်မှတ်ထိုး / အတည်ပြုရန်",
"sign_verify_message_sub": "သင်၏ကိုယ်ပိုင်သော့ကို သုံး. မက်ဆေ့ခ်ျကိုလက်မှတ်ထိုးပါ",
"sign_verify_title": "လက်မှတ်ထိုး / အတည်ပြုရန်",
"signature": "လက်မှတ်",
diff --git a/res/values/strings_nl.arb b/res/values/strings_nl.arb
index f080b1db7..f5b21bbfb 100644
--- a/res/values/strings_nl.arb
+++ b/res/values/strings_nl.arb
@@ -298,6 +298,7 @@
"failed_authentication": "Mislukte authenticatie. ${state_error}",
"faq": "FAQ",
"features": "Functies",
+ "fee_less_than_min": "Geselecteerde vergoeding is lager dan het minimum, verhoog de kosten om de transactie te kunnen verzenden",
"fee_rate": "Tarief",
"fetching": "Ophalen",
"fiat_api": "Fiat API",
@@ -616,6 +617,7 @@
"seedtype_alert_title": "Zaadtype alert",
"seedtype_legacy": "Legacy (25 woorden)",
"seedtype_polyseed": "Polyseed (16 woorden)",
+ "seedtype_wownero": "WOWNERO (14 woorden)",
"select_backup_file": "Selecteer een back-upbestand",
"select_buy_provider_notice": "Selecteer hierboven een koopprovider. U kunt dit scherm overslaan door uw standaard kopenprovider in te stellen in app -instellingen.",
"select_destination": "Selecteer de bestemming voor het back-upbestand.",
diff --git a/res/values/strings_pl.arb b/res/values/strings_pl.arb
index c5ceb0b8f..2831c37f2 100644
--- a/res/values/strings_pl.arb
+++ b/res/values/strings_pl.arb
@@ -298,6 +298,7 @@
"failed_authentication": "Nieudane uwierzytelnienie. ${state_error}",
"faq": "FAQ",
"features": "Cechy",
+ "fee_less_than_min": "Wybrana opłata jest niższa niż minimum, proszę zwiększyć opłaty, aby móc wysłać transakcję",
"fee_rate": "Stawka opłaty",
"fetching": "Pobieranie",
"fiat_api": "API Walut FIAT",
@@ -616,6 +617,7 @@
"seedtype_alert_title": "Ustanowienie typu sedype",
"seedtype_legacy": "Dziedzictwo (25 słów)",
"seedtype_polyseed": "Poliqueed (16 słów)",
+ "seedtype_wownero": "Wowero (14 słów)",
"select_backup_file": "Wybierz plik kopii zapasowej",
"select_buy_provider_notice": "Wybierz powyższe dostawcę zakupu. Możesz pominąć ten ekran, ustawiając domyślnego dostawcę zakupu w ustawieniach aplikacji.",
"select_destination": "Wybierz miejsce docelowe dla pliku kopii zapasowej.",
diff --git a/res/values/strings_pt.arb b/res/values/strings_pt.arb
index 1c5d32619..586d541fc 100644
--- a/res/values/strings_pt.arb
+++ b/res/values/strings_pt.arb
@@ -298,6 +298,7 @@
"failed_authentication": "Falha na autenticação. ${state_error}",
"faq": "FAQ",
"features": "Funcionalidades",
+ "fee_less_than_min": "A taxa selecionada é menor que o mínimo, aumente as taxas para poder enviar a transação",
"fee_rate": "Taxa de transação",
"fetching": "Buscando",
"fiat_api": "API da Fiat",
@@ -618,6 +619,7 @@
"seedtype_alert_title": "Alerta de SeedType",
"seedtype_legacy": "Legado (25 palavras)",
"seedtype_polyseed": "Polyseed (16 palavras)",
+ "seedtype_wownero": "Wowrone (14 palavras)",
"select_backup_file": "Selecione o arquivo de backup",
"select_buy_provider_notice": "Selecione um provedor de compra acima. Você pode pular esta tela definindo seu provedor de compra padrão nas configurações de aplicativos.",
"select_destination": "Selecione o destino para o arquivo de backup.",
diff --git a/res/values/strings_ru.arb b/res/values/strings_ru.arb
index 36221d69a..669c5a2c4 100644
--- a/res/values/strings_ru.arb
+++ b/res/values/strings_ru.arb
@@ -298,6 +298,7 @@
"failed_authentication": "Ошибка аутентификации. ${state_error}",
"faq": "FAQ",
"features": "Функции",
+ "fee_less_than_min": "Выбранный сбор меньше, чем минимум, пожалуйста, увеличьте сборы, чтобы быть в состоянии отправить транзакцию",
"fee_rate": "Плата",
"fetching": "Загрузка",
"fiat_api": "Фиат API",
@@ -617,6 +618,7 @@
"seedtype_alert_title": "SEEDTYPE ALERT",
"seedtype_legacy": "Наследие (25 слов)",
"seedtype_polyseed": "Полиса (16 слов)",
+ "seedtype_wownero": "Wownero (14 слов)",
"select_backup_file": "Выберите файл резервной копии",
"select_buy_provider_notice": "Выберите поставщика покупки выше. Вы можете пропустить этот экран, установив поставщика покупки по умолчанию в настройках приложения.",
"select_destination": "Пожалуйста, выберите место для файла резервной копии.",
diff --git a/res/values/strings_th.arb b/res/values/strings_th.arb
index 48647069a..64b605ddc 100644
--- a/res/values/strings_th.arb
+++ b/res/values/strings_th.arb
@@ -298,6 +298,7 @@
"failed_authentication": "การยืนยันสิทธิ์ล้มเหลว ${state_error}",
"faq": "คำถามที่พบบ่อย",
"features": "คุณสมบัติ",
+ "fee_less_than_min": "ค่าธรรมเนียมที่เลือกน้อยกว่าขั้นต่ำโปรดเพิ่มค่าธรรมเนียมเพื่อให้สามารถส่งธุรกรรมได้",
"fee_rate": "อัตราค่าธรรมเนียม",
"fetching": "กำลังโหลด",
"fiat_api": "API สกุลเงินตรา",
@@ -616,6 +617,7 @@
"seedtype_alert_title": "การแจ้งเตือน seedtype",
"seedtype_legacy": "มรดก (25 คำ)",
"seedtype_polyseed": "โพลีส (16 คำ)",
+ "seedtype_wownero": "wownero (14 คำ)",
"select_backup_file": "เลือกไฟล์สำรอง",
"select_buy_provider_notice": "เลือกผู้ให้บริการซื้อด้านบน คุณสามารถข้ามหน้าจอนี้ได้โดยการตั้งค่าผู้ให้บริการซื้อเริ่มต้นในการตั้งค่าแอป",
"select_destination": "โปรดเลือกปลายทางสำหรับไฟล์สำรอง",
diff --git a/res/values/strings_tl.arb b/res/values/strings_tl.arb
index aeaaf2552..d8340d120 100644
--- a/res/values/strings_tl.arb
+++ b/res/values/strings_tl.arb
@@ -298,6 +298,7 @@
"failed_authentication": "Nabigo ang pagpapatunay. ${state_error}",
"faq": "FAQ",
"features": "Mga tampok",
+ "fee_less_than_min": "Ang napiling bayad ay mas mababa sa minimum, mangyaring dagdagan ang mga bayarin upang maipadala ang transaksyon",
"fee_rate": "Rate ng bayad",
"fetching": "Pagkuha",
"fiat_api": "Fiat API",
@@ -616,6 +617,7 @@
"seedtype_alert_title": "Alerto ng Seedtype",
"seedtype_legacy": "Legacy (25 na salita)",
"seedtype_polyseed": "Polyseed (16 na salita)",
+ "seedtype_wownero": "Wownero (14 na salita)",
"select_backup_file": "Piliin ang backup na file",
"select_buy_provider_notice": "Pumili ng provider ng pagbili sa itaas. Maaari mong laktawan ang screen na ito sa pamamagitan ng pagtatakda ng iyong default na provider ng pagbili sa mga setting ng app.",
"select_destination": "Mangyaring piliin ang patutunguhan para sa backup na file.",
diff --git a/res/values/strings_tr.arb b/res/values/strings_tr.arb
index 2753d8444..60b11d16c 100644
--- a/res/values/strings_tr.arb
+++ b/res/values/strings_tr.arb
@@ -298,6 +298,7 @@
"failed_authentication": "Doğrulama başarısız oldu. ${state_error}",
"faq": "SSS",
"features": "Özellikler",
+ "fee_less_than_min": "Seçilen ücret asgari düzeyden azdır, lütfen işlemi gönderebilmek için ücretleri artırın",
"fee_rate": "Ücret oranı",
"fetching": "Getiriliyor",
"fiat_api": "İtibari Para API",
@@ -616,6 +617,7 @@
"seedtype_alert_title": "SeedType uyarısı",
"seedtype_legacy": "Miras (25 kelime)",
"seedtype_polyseed": "Polyseed (16 kelime)",
+ "seedtype_wownero": "Wownero (14 kelime)",
"select_backup_file": "Yedek dosyası seç",
"select_buy_provider_notice": "Yukarıda bir satın alma sağlayıcısı seçin. App ayarlarında varsayılan satın alma sağlayıcınızı ayarlayarak bu ekranı atlayabilirsiniz.",
"select_destination": "Lütfen yedekleme dosyası için hedef seçin.",
diff --git a/res/values/strings_uk.arb b/res/values/strings_uk.arb
index f9cfb611e..f2762f29b 100644
--- a/res/values/strings_uk.arb
+++ b/res/values/strings_uk.arb
@@ -298,6 +298,7 @@
"failed_authentication": "Помилка аутентифікації. ${state_error}",
"faq": "FAQ",
"features": "Особливості",
+ "fee_less_than_min": "Вибрана плата менша, ніж мінімум, будь ласка, збільште збори, щоб мати можливість відправити транзакцію",
"fee_rate": "Ставка плати",
"fetching": "Завантаження",
"fiat_api": "Фіат API",
@@ -617,6 +618,7 @@
"seedtype_alert_title": "Попередження насінника",
"seedtype_legacy": "Спадщина (25 слів)",
"seedtype_polyseed": "Полісей (16 слів)",
+ "seedtype_wownero": "Влонеро (14 слів)",
"select_backup_file": "Виберіть файл резервної копії",
"select_buy_provider_notice": "Виберіть постачальника купівлі вище. Ви можете пропустити цей екран, встановивши свого постачальника купівлі за замовчуванням у налаштуваннях додатків.",
"select_destination": "Виберіть місце призначення для файлу резервної копії.",
diff --git a/res/values/strings_ur.arb b/res/values/strings_ur.arb
index 828bb6e26..39444d857 100644
--- a/res/values/strings_ur.arb
+++ b/res/values/strings_ur.arb
@@ -298,6 +298,7 @@
"failed_authentication": "ناکام تصدیق۔ ${state_error}",
"faq": "عمومی سوالات",
"features": "خصوصیات",
+ "fee_less_than_min": "منتخب فیس کم سے کم سے کم ہے ، براہ کرم لین دین بھیجنے کے قابل فیس میں اضافہ کریں",
"fee_rate": "فیس کی شرح",
"fetching": "لا رہا ہے۔",
"fiat_api": "Fiat API",
@@ -618,6 +619,7 @@
"seedtype_alert_title": "سیڈ ٹائپ الرٹ",
"seedtype_legacy": "میراث (25 الفاظ)",
"seedtype_polyseed": "پالیسیڈ (16 الفاظ)",
+ "seedtype_wownero": "واونرو (14 الفاظ)",
"select_backup_file": "بیک اپ فائل کو منتخب کریں۔",
"select_buy_provider_notice": "اوپر خریدنے والا خریدنے والا منتخب کریں۔ آپ ایپ کی ترتیبات میں اپنے پہلے سے طے شدہ خریدنے والے کو ترتیب دے کر اس اسکرین کو چھوڑ سکتے ہیں۔",
"select_destination": "۔ﮟﯾﺮﮐ ﺏﺎﺨﺘﻧﺍ ﺎﮐ ﻝﺰﻨﻣ ﮯﯿﻟ ﮯﮐ ﻞﺋﺎﻓ ﭖﺍ ﮏﯿﺑ ﻡﺮﮐ ﮦﺍﺮﺑ",
diff --git a/res/values/strings_vi.arb b/res/values/strings_vi.arb
index f685de942..98ba44dcc 100644
--- a/res/values/strings_vi.arb
+++ b/res/values/strings_vi.arb
@@ -143,6 +143,7 @@
"confirm_delete_wallet": "Thao tác này sẽ xóa ví này. Bạn có muốn tiếp tục không?",
"confirm_fee_dedction_content": "Bạn có đồng ý trừ phí từ đầu ra không?",
"confirm_fee_deduction": "Xác nhận Khấu trừ Phí",
+ "confirm_fee_deduction_content": "Bạn có đồng ý khấu trừ phí từ đầu ra không?",
"confirm_sending": "Xác nhận gửi",
"confirm_silent_payments_switch_node": "Nút hiện tại của bạn không hỗ trợ thanh toán im lặng\\nCake Wallet sẽ chuyển sang một nút tương thích chỉ để quét",
"confirmations": "Xác nhận",
@@ -161,6 +162,7 @@
"contact_name": "Tên liên hệ",
"contact_support": "Liên hệ Hỗ trợ",
"continue_text": "Tiếp tục",
+ "contract_warning": "Địa chỉ hợp đồng này đã được gắn cờ là có khả năng lừa đảo. Vui lòng xử lý một cách thận trọng.",
"contractName": "Tên Hợp đồng",
"contractSymbol": "Ký hiệu Hợp đồng",
"copied_key_to_clipboard": "Đã sao chép ${key} vào khay nhớ tạm",
@@ -221,6 +223,7 @@
"displayable": "Có thể hiển thị",
"do_not_have_enough_gas_asset": "Bạn không có đủ ${currency} để thực hiện giao dịch với điều kiện mạng blockchain hiện tại. Bạn cần thêm ${currency} để trả phí mạng blockchain, ngay cả khi bạn đang gửi tài sản khác.",
"do_not_send": "Đừng gửi",
+ "do_not_send_funds_to_contract_address_warning": "Không gửi tiền đến địa chỉ này\n\n Đây chỉ là một mã định danh cho mã thông báo, bất kỳ khoản tiền nào được gửi đến địa chỉ này sẽ bị mất.\n\n Lưu ý: Bánh sẽ không bao giờ yêu cầu bạn thêm địa chỉ hợp đồng",
"do_not_share_warning_text": "Không chia sẻ điều này với bất kỳ ai, bao gồm cả bộ phận hỗ trợ.\n\nTài sản của bạn có thể và sẽ bị đánh cắp!",
"do_not_show_me": "Không hiển thị lại cho tôi",
"domain_looks_up": "Tra cứu tên miền",
@@ -296,6 +299,8 @@
"failed_authentication": "Xác thực không thành công. ${state_error}",
"faq": "FAQ",
"features": "Tính năng",
+ "fee_less_than_min": "Phí được chọn ít hơn mức tối thiểu, vui lòng tăng phí để có thể gửi giao dịch",
+ "fee_rate": "Tỷ lệ phí",
"fetching": "Đang tải",
"fiat_api": "API Fiat",
"fiat_balance": "Số dư Fiat",
@@ -601,6 +606,8 @@
"seed_share": "Chia sẻ hạt giống",
"seed_title": "Hạt giống",
"seedtype": "Loại hạt giống",
+ "seedtype_alert_content": "Chia sẻ hạt giống với ví khác chỉ có thể với BIP39 SeedType.",
+ "seedtype_alert_title": "Cảnh báo hạt giống",
"seedtype_legacy": "Di sản (25 từ)",
"seedtype_polyseed": "Polyseed (16 từ)",
"seedtype_wownero": "Wownero (14 từ)",
@@ -614,6 +621,7 @@
"send": "Gửi",
"send_address": "Địa chỉ ${cryptoCurrency}",
"send_amount": "Số tiền:",
+ "send_change_to_you": "Thay đổi, cho bạn:",
"send_creating_transaction": "Tạo giao dịch",
"send_error_currency": "Tiền tệ chỉ có thể chứa số",
"send_error_minimum_value": "Giá trị tối thiểu của số tiền là 0.01",
@@ -667,6 +675,7 @@
"setup_your_debit_card": "Thiết lập thẻ ghi nợ của bạn",
"share": "Chia sẻ",
"share_address": "Chia sẻ địa chỉ",
+ "shared_seed_wallet_groups": "Nhóm ví hạt được chia sẻ",
"show_details": "Hiển thị chi tiết",
"show_keys": "Hiển thị hạt giống/khóa",
"show_market_place": "Hiển thị Thị trường",
@@ -680,6 +689,7 @@
"signature_invalid_error": "Chữ ký không hợp lệ cho tin nhắn đã cho",
"signTransaction": "Ký giao dịch",
"signup_for_card_accept_terms": "Đăng ký thẻ và chấp nhận các điều khoản.",
+ "silent_payment": "Thanh toán im lặng",
"silent_payments": "Thanh toán im lặng",
"silent_payments_always_scan": "Đặt Thanh toán im lặng luôn quét",
"silent_payments_disclaimer": "Địa chỉ mới không phải là danh tính mới. Đây là việc tái sử dụng một danh tính hiện có với nhãn khác.",
@@ -690,6 +700,7 @@
"silent_payments_scanned_tip": "ĐÃ QUÉT ĐỂ TIP! (${tip})",
"silent_payments_scanning": "Đang quét thanh toán im lặng",
"silent_payments_settings": "Cài đặt thanh toán im lặng",
+ "single_seed_wallets_group": "Ví hạt đơn",
"slidable": "Có thể kéo",
"sort_by": "Sắp xếp theo",
"spend_key_private": "Khóa chi tiêu (riêng tư)",
@@ -712,6 +723,7 @@
"switchToEVMCompatibleWallet": "Vui lòng chuyển sang ví tương thích EVM và thử lại (Ethereum, Polygon)",
"symbol": "Ký hiệu",
"sync_all_wallets": "Đồng bộ tất cả các ví",
+ "sync_status_attempting_scan": "Cố gắng quét",
"sync_status_attempting_sync": "ĐANG THỬ ĐỒNG BỘ",
"sync_status_connected": "ĐÃ KẾT NỐI",
"sync_status_connecting": "ĐANG KẾT NỐI",
@@ -849,6 +861,7 @@
"view_transaction_on": "Xem giao dịch trên",
"voting_weight": "Trọng số bỏ phiếu",
"waitFewSecondForTxUpdate": "Vui lòng đợi vài giây để giao dịch được phản ánh trong lịch sử giao dịch",
+ "wallet_group": "Nhóm ví",
"wallet_group_description_four": "Để tạo ra một ví với một hạt giống hoàn toàn mới.",
"wallet_group_description_one": "Trong ví bánh, bạn có thể tạo",
"wallet_group_description_three": "Để xem ví trên ví và/hoặc màn hình nhóm ví. Hoặc chọn",
@@ -857,6 +870,7 @@
"wallet_group_empty_state_text_two": "Dưới đây để làm một cái mới.",
"wallet_keys": "Hạt giống/khóa ví",
"wallet_list_create_new_wallet": "Tạo ví mới",
+ "wallet_list_edit_group_name": "Chỉnh sửa tên nhóm",
"wallet_list_edit_wallet": "Chỉnh sửa ví",
"wallet_list_failed_to_load": "Tải ví ${wallet_name} không thành công. ${error}",
"wallet_list_failed_to_remove": "Xóa ví ${wallet_name} không thành công. ${error}",
diff --git a/res/values/strings_yo.arb b/res/values/strings_yo.arb
index d00358ad9..da45f9b72 100644
--- a/res/values/strings_yo.arb
+++ b/res/values/strings_yo.arb
@@ -299,6 +299,7 @@
"failed_authentication": "Ìfẹ̀rílàdí pipòfo. ${state_error}",
"faq": "Àwọn ìbéèrè l'a máa ń bèèrè",
"features": "Awọn ẹya",
+ "fee_less_than_min": "Owo ti a ti yan kere ju ti o kere ju, jọwọ mu awọn owo naa pọ si lati ni anfani lati firanṣẹ iṣowo naa",
"fee_rate": "Oṣuwọn owo ọya",
"fetching": "ń wá",
"fiat_api": "Ojú ètò áàpù owó tí ìjọba pàṣẹ wa lò",
@@ -617,6 +618,7 @@
"seedtype_alert_title": "Ṣajọpọ Seeytype",
"seedtype_legacy": "Legacy (awọn ọrọ 25)",
"seedtype_polyseed": "Polyseed (awọn ọrọ 16)",
+ "seedtype_wownero": "Wowero (awọn ọrọ 14)",
"select_backup_file": "Select backup file",
"select_buy_provider_notice": "Yan olupese Ra loke. O le skii iboju yii nipa ṣiṣeto olupese rẹ ni awọn eto App.",
"select_destination": "Jọwọ yan ibi ti o nlo fun faili afẹyinti.",
diff --git a/res/values/strings_zh.arb b/res/values/strings_zh.arb
index df448e667..ce943e804 100644
--- a/res/values/strings_zh.arb
+++ b/res/values/strings_zh.arb
@@ -298,6 +298,7 @@
"failed_authentication": "身份验证失败. ${state_error}",
"faq": "FAQ",
"features": "特征",
+ "fee_less_than_min": "选定费用小于最低费用,请增加费用以发送交易",
"fee_rate": "费率",
"fetching": "正在获取",
"fiat_api": "法币API",
@@ -616,6 +617,7 @@
"seedtype_alert_title": "籽粒警报",
"seedtype_legacy": "遗产(25个单词)",
"seedtype_polyseed": "多种物品(16个单词)",
+ "seedtype_wownero": "沃恩罗(14个单词)",
"select_backup_file": "选择备份文件",
"select_buy_provider_notice": "在上面选择买入提供商。您可以通过在应用程序设置中设置默认的购买提供商来跳过此屏幕。",
"select_destination": "请选择备份文件的目的地。",