Generic enhancements (#1435)

* Disable Ledger for MacOS * increase update duration for Solana [skip ci] * change tron default Node Update build number * Add disabling tron grid to privacy settings * update monero.com versions [skip ci]

Omar Hatem committed May 8, 2024 at 17:26 UTC 12e3001b3aad7381c51ef348dc86cdf5cc193e05
51 files changed +217 -138
assets/text/Release_Notes.txt
+4 -1
@@ -1 +1,4 @@
1 -Bitcoin Bug fixes and enhancements
\ No newline at end of file
1 +Hardware wallets support for Bitcoin, Ethereum and Polygon
2 +Add Tron wallet
3 +Security enhancements
4 +Bug fixes and generic enhancements
\ No newline at end of file
assets/tron_node_list.yml
+2 -2
@@ -1,8 +1,8 @@
1 -
2 - uri: api.trongrid.io
2 + uri: tron-rpc.publicnode.com:443
3 is_default: true
4 useSSL: true
5 -
6 - uri: tron-rpc.publicnode.com:443
6 + uri: api.trongrid.io
7 is_default: false
8 useSSL: true
\ No newline at end of file
cw_solana/lib/solana_wallet.dart
+1 -1
@@ -524,7 +524,7 @@ abstract class SolanaWalletBase
524 _transactionsUpdateTimer!.cancel();
525 }
526
527 - _transactionsUpdateTimer = Timer.periodic(const Duration(seconds: 20), (_) {
527 + _transactionsUpdateTimer = Timer.periodic(const Duration(seconds: 30), (_) {
528 _updateBalance();
529 _updateNativeSOLTransactions();
530 _updateSPLTokenTransactions();
cw_tron/lib/default_tron_tokens.dart
+2 -2
@@ -22,14 +22,14 @@ class DefaultTronTokens {
22 symbol: "BTC",
23 contractAddress: "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9",
24 decimal: 8,
25 - enabled: true,
25 + enabled: false,
26 ),
27 TronToken(
28 name: "Ethereum",
29 symbol: "ETH",
30 contractAddress: "TRFe3hT5oYhjSZ6f3ji5FJ7YCfrkWnHRvh",
31 decimal: 18,
32 - enabled: true,
32 + enabled: false,
33 ),
34 TronToken(
35 name: "Wrapped BTC",
cw_tron/lib/tron_http_provider.dart
+2 -2
@@ -19,7 +19,7 @@ class TronHTTPProvider implements TronServiceProvider {
19 Future<Map<String, dynamic>> get(TronRequestDetails params, [Duration? timeout]) async {
20 final response = await client.get(Uri.parse(params.url(url)), headers: {
21 'Content-Type': 'application/json',
22 - 'TRON-PRO-API-KEY': secrets.tronGridApiKey,
22 + if (url.contains("trongrid")) 'TRON-PRO-API-KEY': secrets.tronGridApiKey,
23 }).timeout(timeout ?? defaultRequestTimeout);
24 final data = json.decode(response.body) as Map<String, dynamic>;
25 return data;
@@ -31,7 +31,7 @@ class TronHTTPProvider implements TronServiceProvider {
31 .post(Uri.parse(params.url(url)),
32 headers: {
33 'Content-Type': 'application/json',
34 - 'TRON-PRO-API-KEY': secrets.tronGridApiKey,
34 + if (url.contains("trongrid")) 'TRON-PRO-API-KEY': secrets.tronGridApiKey,
35 },
36 body: params.toRequestBody())
37 .timeout(timeout ?? defaultRequestTimeout);
cw_tron/lib/tron_wallet.dart
+13 -7
@@ -31,7 +31,6 @@ import 'package:cw_tron/tron_wallet_addresses.dart';
31 import 'package:hive/hive.dart';
32 import 'package:mobx/mobx.dart';
33 import 'package:on_chain/on_chain.dart';
34 -import 'package:shared_preferences/shared_preferences.dart';
34
35 part 'tron_wallet.g.dart';
36
@@ -61,8 +60,6 @@ abstract class TronWalletBase
60 if (!CakeHive.isAdapterRegistered(TronToken.typeId)) {
61 CakeHive.registerAdapter(TronTokenAdapter());
62 }
64 -
65 - sharedPrefs.complete(SharedPreferences.getInstance());
63 }
64
65 final String? _mnemonic;
@@ -81,7 +78,7 @@ abstract class TronWalletBase
78
79 late String _tronAddress;
80
84 - late TronClient _client;
81 + late final TronClient _client;
82
83 Timer? _transactionsUpdateTimer;
84
@@ -102,8 +99,6 @@ abstract class TronWalletBase
99 @observable
100 late ObservableMap<CryptoCurrency, TronBalance> balance;
101
105 - Completer<SharedPreferences> sharedPrefs = Completer();
106 -
102 Future<void> init() async {
103 await initTronTokensBox();
104
@@ -464,6 +459,7 @@ abstract class TronWalletBase
459 }
460 }
461
462 + @override
463 Future<void>? updateBalance() async => await _updateBalance();
464
465 List<TronToken> get tronTokenCurrencies => tronTokensBox.values.toList();
@@ -543,7 +539,7 @@ abstract class TronWalletBase
539 _transactionsUpdateTimer!.cancel();
540 }
541
546 - _transactionsUpdateTimer = Timer.periodic(const Duration(seconds: 20), (_) async {
542 + _transactionsUpdateTimer = Timer.periodic(const Duration(seconds: 30), (_) async {
543 _updateBalance();
544 await fetchTransactions();
545 fetchTrc20ExcludedTransactions();
@@ -557,4 +553,14 @@ abstract class TronWalletBase
553 String getTronBase58AddressFromHex(String hexAddress) {
554 return TronAddress(hexAddress).toAddress();
555 }
556 +
557 + void updateScanProviderUsageState(bool isEnabled) {
558 + if (isEnabled) {
559 + fetchTransactions();
560 + fetchTrc20ExcludedTransactions();
561 + _setTransactionUpdateTimer();
562 + } else {
563 + _transactionsUpdateTimer?.cancel();
564 + }
565 + }
566 }
ios/Flutter/AppFrameworkInfo.plist
+1 -1
@@ -21,6 +21,6 @@
21 <key>CFBundleVersion</key>
22 <string>1.0</string>
23 <key>MinimumOSVersion</key>
24 - <string>11.0</string>
24 + <string>12.0</string>
25 </dict>
26 </plist>
ios/Podfile.lock
+10 -10
@@ -109,6 +109,8 @@ PODS:
109 - flutter_inappwebview_ios/Core (0.0.1):
110 - Flutter
111 - OrderedSet (~> 5.0)
112 + - flutter_local_authentication (1.2.0):
113 + - Flutter
114 - flutter_mailer (0.0.1):
115 - Flutter
116 - flutter_secure_storage (6.0.0):
@@ -118,8 +120,6 @@ PODS:
120 - Toast
121 - in_app_review (0.2.0):
122 - Flutter
121 - - local_auth_ios (0.0.1):
122 - - Flutter
123 - MTBBarcodeScanner (5.0.11)
124 - OrderedSet (5.0.0)
125 - package_info (0.0.1):
@@ -175,11 +175,11 @@ DEPENDENCIES:
175 - file_picker (from `.symlinks/plugins/file_picker/ios`)
176 - Flutter (from `Flutter`)
177 - flutter_inappwebview_ios (from `.symlinks/plugins/flutter_inappwebview_ios/ios`)
178 + - flutter_local_authentication (from `.symlinks/plugins/flutter_local_authentication/ios`)
179 - flutter_mailer (from `.symlinks/plugins/flutter_mailer/ios`)
180 - flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`)
181 - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
182 - in_app_review (from `.symlinks/plugins/in_app_review/ios`)
182 - - local_auth_ios (from `.symlinks/plugins/local_auth_ios/ios`)
183 - package_info (from `.symlinks/plugins/package_info/ios`)
184 - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
185 - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
@@ -233,6 +233,8 @@ EXTERNAL SOURCES:
233 :path: Flutter
234 flutter_inappwebview_ios:
235 :path: ".symlinks/plugins/flutter_inappwebview_ios/ios"
236 + flutter_local_authentication:
237 + :path: ".symlinks/plugins/flutter_local_authentication/ios"
238 flutter_mailer:
239 :path: ".symlinks/plugins/flutter_mailer/ios"
240 flutter_secure_storage:
@@ -241,8 +243,6 @@ EXTERNAL SOURCES:
243 :path: ".symlinks/plugins/fluttertoast/ios"
244 in_app_review:
245 :path: ".symlinks/plugins/in_app_review/ios"
244 - local_auth_ios:
245 - :path: ".symlinks/plugins/local_auth_ios/ios"
246 package_info:
247 :path: ".symlinks/plugins/package_info/ios"
248 package_info_plus:
@@ -282,18 +282,18 @@ SPEC CHECKSUMS:
282 DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
283 DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
284 file_picker: 15fd9539e4eb735dc54bae8c0534a7a9511a03de
285 - Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
285 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
286 flutter_inappwebview_ios: 97215cf7d4677db55df76782dbd2930c5e1c1ea0
287 + flutter_local_authentication: 1172a4dd88f6306dadce067454e2c4caf07977bb
288 flutter_mailer: 2ef5a67087bc8c6c4cefd04a178bf1ae2c94cd83
289 flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be
290 fluttertoast: 48c57db1b71b0ce9e6bba9f31c940ff4b001293c
291 in_app_review: 318597b3a06c22bb46dc454d56828c85f444f99d
291 - local_auth_ios: 1ba1475238daa33a6ffa2a29242558437be435ac
292 MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
293 OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c
294 package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62
295 package_info_plus: 115f4ad11e0698c8c1c5d8a689390df880f47e85
296 - path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
296 + path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
297 permission_handler_apple: e76247795d700c14ea09e3a2d8855d41ee80a2e6
298 Protobuf: 8e9074797a13c484a79959fdb819ef4ae6da7dbe
299 ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
@@ -301,13 +301,13 @@ SPEC CHECKSUMS:
301 SDWebImage: a3ba0b8faac7228c3c8eadd1a55c9c9fe5e16457
302 sensitive_clipboard: d4866e5d176581536c27bb1618642ee83adca986
303 share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68
304 - shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
304 + shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
305 SwiftProtobuf: 407a385e97fd206c4fbe880cc84123989167e0d1
306 SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f
307 Toast: ec33c32b8688982cecc6348adeae667c1b9938da
308 uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
309 UnstoppableDomainsResolution: c3c67f4d0a5e2437cb00d4bd50c2e00d6e743841
310 - url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812
310 + url_launcher_ios: 6116280ddcfe98ab8820085d8d76ae7449447586
311 wakelock_plus: 8b09852c8876491e4b6d179e17dfe2a0b5f60d47
312 workmanager: 0afdcf5628bbde6924c21af7836fed07b42e30e6
313
lib/entities/default_settings_migration.dart
+1 -1
@@ -36,7 +36,7 @@ const cakeWalletBitcoinCashDefaultNodeUri = 'bitcoincash.stackwallet.com:50002';
36 const nanoDefaultNodeUri = 'rpc.nano.to';
37 const nanoDefaultPowNodeUri = 'rpc.nano.to';
38 const solanaDefaultNodeUri = 'rpc.ankr.com';
39 -const tronDefaultNodeUri = 'api.trongrid.io';
39 +const tronDefaultNodeUri = 'tron-rpc.publicnode.com:443';
40 const newCakeWalletBitcoinUri = 'btc-electrum.cakewallet.com:50002';
41
42 Future<void> defaultSettingsMigration(
lib/entities/preferences_key.dart
+1
@@ -56,6 +56,7 @@ class PreferencesKey {
56 static const pinNativeTokenAtTop = 'pin_native_token_at_top';
57 static const useEtherscan = 'use_etherscan';
58 static const usePolygonScan = 'use_polygonscan';
59 + static const useTronGrid = 'use_trongrid';
60 static const defaultNanoRep = 'default_nano_representative';
61 static const defaultBananoRep = 'default_banano_representative';
62 static const lookupsTwitter = 'looks_up_twitter';
lib/exchange/provider/thorchain_exchange.provider.dart
+7 -7
@@ -19,15 +19,15 @@ class ThorChainExchangeProvider extends ExchangeProvider {
19 ...(CryptoCurrency.all
20 .where((element) => ![
21 CryptoCurrency.btc,
22 - CryptoCurrency.eth,
22 + // CryptoCurrency.eth,
23 CryptoCurrency.ltc,
24 CryptoCurrency.bch,
25 - CryptoCurrency.aave,
26 - CryptoCurrency.dai,
27 - CryptoCurrency.gusd,
28 - CryptoCurrency.usdc,
29 - CryptoCurrency.usdterc20,
30 - CryptoCurrency.wbtc,
25 + // CryptoCurrency.aave,
26 + // CryptoCurrency.dai,
27 + // CryptoCurrency.gusd,
28 + // CryptoCurrency.usdc,
29 + // CryptoCurrency.usdterc20,
30 + // CryptoCurrency.wbtc, // TODO: temporarily commented until https://github.com/cake-tech/cake_wallet/pull/1436 is merged
31 ].contains(element))
32 .toList())
33 ];
lib/src/screens/restore/restore_options_page.dart
+12 -10
@@ -7,6 +7,7 @@ import 'package:cake_wallet/src/screens/pin_code/pin_code_widget.dart';
7 import 'package:cake_wallet/src/widgets/alert_with_one_action.dart';
8 import 'package:cake_wallet/src/widgets/option_tile.dart';
9 import 'package:cake_wallet/themes/extensions/option_tile_theme.dart';
10 +import 'package:cake_wallet/utils/device_info.dart';
11 import 'package:cake_wallet/utils/permission_handler.dart';
12 import 'package:cake_wallet/utils/responsive_layout_util.dart';
13 import 'package:cake_wallet/utils/show_pop_up.dart';
@@ -56,17 +57,18 @@ class RestoreOptionsPage extends BasePage {
57 description: S.of(context).restore_description_from_backup,
58 ),
59 ),
59 - Padding(
60 - padding: EdgeInsets.only(top: 24),
61 - child: OptionTile(
62 - onPressed: () => Navigator.pushNamed(
63 - context, Routes.restoreWalletFromHardwareWallet,
64 - arguments: isNewInstall),
65 - image: imageLedger,
66 - title: S.of(context).restore_title_from_hardware_wallet,
67 - description: S.of(context).restore_description_from_hardware_wallet,
60 + if (DeviceInfo.instance.isMobile)
61 + Padding(
62 + padding: EdgeInsets.only(top: 24),
63 + child: OptionTile(
64 + onPressed: () => Navigator.pushNamed(
65 + context, Routes.restoreWalletFromHardwareWallet,
66 + arguments: isNewInstall),
67 + image: imageLedger,
68 + title: S.of(context).restore_title_from_hardware_wallet,
69 + description: S.of(context).restore_description_from_hardware_wallet,
70 + ),
71 ),
69 - ),
72 Padding(
73 padding: EdgeInsets.only(top: 24),
74 child: OptionTile(
lib/src/screens/settings/privacy_page.dart
+8
@@ -103,6 +103,14 @@ class PrivacyPage extends BasePage {
103 _privacySettingsViewModel.setUsePolygonScan(value);
104 },
105 ),
106 + if (_privacySettingsViewModel.canUseTronGrid)
107 + SettingsSwitcherCell(
108 + title: S.current.trongrid_history,
109 + value: _privacySettingsViewModel.useTronGrid,
110 + onValueChange: (BuildContext _, bool value) {
111 + _privacySettingsViewModel.setUseTronGrid(value);
112 + },
113 + ),
114 SettingsCellWithArrow(
115 title: S.current.domain_looks_up,
116 handler: (context) => Navigator.of(context).pushNamed(Routes.domainLookupsPage),
lib/store/settings_store.dart
+12
@@ -99,6 +99,7 @@ abstract class SettingsStoreBase with Store {
99 required this.pinNativeTokenAtTop,
100 required this.useEtherscan,
101 required this.usePolygonScan,
102 + required this.useTronGrid,
103 required this.defaultNanoRep,
104 required this.defaultBananoRep,
105 required this.lookupsTwitter,
@@ -397,6 +398,11 @@ abstract class SettingsStoreBase with Store {
398 (bool usePolygonScan) =>
399 _sharedPreferences.setBool(PreferencesKey.usePolygonScan, usePolygonScan));
400
401 + reaction(
402 + (_) => useTronGrid,
403 + (bool useTronGrid) =>
404 + _sharedPreferences.setBool(PreferencesKey.useTronGrid, useTronGrid));
405 +
406 reaction((_) => defaultNanoRep,
407 (String nanoRep) => _sharedPreferences.setString(PreferencesKey.defaultNanoRep, nanoRep));
408
@@ -674,6 +680,9 @@ abstract class SettingsStoreBase with Store {
680 @observable
681 bool usePolygonScan;
682
683 + @observable
684 + bool useTronGrid;
685 +
686 @observable
687 String defaultNanoRep;
688
@@ -846,6 +855,7 @@ abstract class SettingsStoreBase with Store {
855 : defaultSeedPhraseLength;
856 final useEtherscan = sharedPreferences.getBool(PreferencesKey.useEtherscan) ?? true;
857 final usePolygonScan = sharedPreferences.getBool(PreferencesKey.usePolygonScan) ?? true;
858 + final useTronGrid = sharedPreferences.getBool(PreferencesKey.useTronGrid) ?? true;
859 final defaultNanoRep = sharedPreferences.getString(PreferencesKey.defaultNanoRep) ?? "";
860 final defaultBananoRep = sharedPreferences.getString(PreferencesKey.defaultBananoRep) ?? "";
861 final lookupsTwitter = sharedPreferences.getBool(PreferencesKey.lookupsTwitter) ?? true;
@@ -1090,6 +1100,7 @@ abstract class SettingsStoreBase with Store {
1100 pinNativeTokenAtTop: pinNativeTokenAtTop,
1101 useEtherscan: useEtherscan,
1102 usePolygonScan: usePolygonScan,
1103 + useTronGrid: useTronGrid,
1104 defaultNanoRep: defaultNanoRep,
1105 defaultBananoRep: defaultBananoRep,
1106 lookupsTwitter: lookupsTwitter,
@@ -1227,6 +1238,7 @@ abstract class SettingsStoreBase with Store {
1238 pinNativeTokenAtTop = sharedPreferences.getBool(PreferencesKey.pinNativeTokenAtTop) ?? true;
1239 useEtherscan = sharedPreferences.getBool(PreferencesKey.useEtherscan) ?? true;
1240 usePolygonScan = sharedPreferences.getBool(PreferencesKey.usePolygonScan) ?? true;
1241 + useTronGrid = sharedPreferences.getBool(PreferencesKey.useTronGrid) ?? true;
1242 defaultNanoRep = sharedPreferences.getString(PreferencesKey.defaultNanoRep) ?? "";
1243 defaultBananoRep = sharedPreferences.getString(PreferencesKey.defaultBananoRep) ?? "";
1244 lookupsTwitter = sharedPreferences.getBool(PreferencesKey.lookupsTwitter) ?? true;
lib/tron/cw_tron.dart
+5
@@ -111,4 +111,9 @@ class CWTron extends Tron {
111
112 @override
113 String? getTronTRC20EstimatedFee(WalletBase wallet) => (wallet as TronWallet).trc20EstimatedFee;
114 +
115 + @override
116 + void updateTronGridUsageState(WalletBase wallet, bool isEnabled) {
117 + (wallet as TronWallet).updateScanProviderUsageState(isEnabled);
118 + }
119 }
lib/view_model/hardware_wallet/ledger_view_model.dart
+21 -14
@@ -2,27 +2,34 @@ import 'package:cake_wallet/bitcoin/bitcoin.dart';
2 import 'package:cake_wallet/ethereum/ethereum.dart';
3 import 'package:cake_wallet/generated/i18n.dart';
4 import 'package:cake_wallet/polygon/polygon.dart';
5 +import 'package:cake_wallet/utils/device_info.dart';
6 import 'package:cw_core/wallet_base.dart';
7 import 'package:cw_core/wallet_type.dart';
8 import 'package:ledger_flutter/ledger_flutter.dart';
9 import 'package:permission_handler/permission_handler.dart';
10
11 class LedgerViewModel {
11 - final Ledger ledger = Ledger(
12 - options: LedgerOptions(
13 - scanMode: ScanMode.balanced,
14 - maxScanDuration: const Duration(minutes: 5),
15 - ),
16 - onPermissionRequest: (_) async {
17 - Map<Permission, PermissionStatus> statuses = await [
18 - Permission.bluetoothScan,
19 - Permission.bluetoothConnect,
20 - Permission.bluetoothAdvertise,
21 - ].request();
12 + late final Ledger ledger;
13
23 - return statuses.values.where((status) => status.isDenied).isEmpty;
24 - },
25 - );
14 + LedgerViewModel() {
15 + if (DeviceInfo.instance.isMobile) {
16 + ledger = Ledger(
17 + options: LedgerOptions(
18 + scanMode: ScanMode.balanced,
19 + maxScanDuration: const Duration(minutes: 5),
20 + ),
21 + onPermissionRequest: (_) async {
22 + Map<Permission, PermissionStatus> statuses = await [
23 + Permission.bluetoothScan,
24 + Permission.bluetoothConnect,
25 + Permission.bluetoothAdvertise,
26 + ].request();
27 +
28 + return statuses.values.where((status) => status.isDenied).isEmpty;
29 + },
30 + );
31 + }
32 + }
33
34 Future<void> connectLedger(LedgerDevice device) async {
35 await ledger.connect(device);
lib/view_model/link_view_model.dart
+3 -8
@@ -7,19 +7,14 @@ import 'package:cake_wallet/store/settings_store.dart';
7 import 'package:cake_wallet/utils/payment_request.dart';
8 import 'package:flutter/material.dart';
9 import 'package:fluttertoast/fluttertoast.dart';
10 -import 'package:mobx/mobx.dart';
10
12 -part 'link_view_model.g.dart';
13 -
14 -class LinkViewModel = LinkViewModelBase with _$LinkViewModel;
15 -
16 -abstract class LinkViewModelBase with Store {
17 - LinkViewModelBase({
11 +class LinkViewModel {
12 + LinkViewModel({
13 required this.settingsStore,
14 required this.appStore,
15 required this.authenticationStore,
16 required this.navigatorKey,
22 - }) {}
17 + });
18
19 final SettingsStore settingsStore;
20 final AppStore appStore;
lib/view_model/settings/privacy_settings_view_model.dart
+12
@@ -3,6 +3,7 @@ import 'package:cake_wallet/entities/exchange_api_mode.dart';
3 import 'package:cake_wallet/ethereum/ethereum.dart';
4 import 'package:cake_wallet/polygon/polygon.dart';
5 import 'package:cake_wallet/store/settings_store.dart';
6 +import 'package:cake_wallet/tron/tron.dart';
7 import 'package:cw_core/balance.dart';
8 import 'package:cw_core/transaction_history.dart';
9 import 'package:cw_core/transaction_info.dart';
@@ -70,6 +71,9 @@ abstract class PrivacySettingsViewModelBase with Store {
71 @computed
72 bool get usePolygonScan => _settingsStore.usePolygonScan;
73
74 + @computed
75 + bool get useTronGrid => _settingsStore.useTronGrid;
76 +
77 @computed
78 bool get lookupTwitter => _settingsStore.lookupsTwitter;
79
@@ -92,6 +96,8 @@ abstract class PrivacySettingsViewModelBase with Store {
96
97 bool get canUsePolygonScan => _wallet.type == WalletType.polygon;
98
99 + bool get canUseTronGrid => _wallet.type == WalletType.tron;
100 +
101 @action
102 void setShouldSaveRecipientAddress(bool value) =>
103 _settingsStore.shouldSaveRecipientAddress = value;
@@ -143,4 +149,10 @@ abstract class PrivacySettingsViewModelBase with Store {
149 _settingsStore.usePolygonScan = value;
150 polygon!.updatePolygonScanUsageState(_wallet, value);
151 }
152 +
153 + @action
154 + void setUseTronGrid(bool value) {
155 + _settingsStore.useTronGrid = value;
156 + tron!.updateTronGridUsageState(_wallet, value);
157 + }
158 }
macos/Podfile.lock
+2 -2
@@ -122,10 +122,10 @@ SPEC CHECKSUMS:
122 OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c
123 package_info: 6eba2fd8d3371dda2d85c8db6fe97488f24b74b2
124 package_info_plus: 02d7a575e80f194102bef286361c6c326e4c29ce
125 - path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
125 + path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
126 ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
127 share_plus_macos: 853ee48e7dce06b633998ca0735d482dd671ade4
128 - shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
128 + shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
129 url_launcher_macos: d2691c7dd33ed713bf3544850a623080ec693d95
130 wakelock_plus: 4783562c9a43d209c458cb9b30692134af456269
131
macos/Runner.xcodeproj/project.pbxproj
+1 -1
@@ -207,7 +207,7 @@
207 isa = PBXProject;
208 attributes = {
209 LastSwiftUpdateCheck = 0920;
210 - LastUpgradeCheck = 1300;
210 + LastUpgradeCheck = 1510;
211 ORGANIZATIONNAME = "";
212 TargetAttributes = {
213 33CC10EC2044A3C60003C045 = {
macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+5 -5
@@ -1,6 +1,6 @@
1 <?xml version="1.0" encoding="UTF-8"?>
2 <Scheme
3 - LastUpgradeVersion = "1300"
3 + LastUpgradeVersion = "1510"
4 version = "1.3">
5 <BuildAction
6 parallelizeBuildables = "YES"
@@ -15,7 +15,7 @@
15 <BuildableReference
16 BuildableIdentifier = "primary"
17 BlueprintIdentifier = "33CC10EC2044A3C60003C045"
18 - BuildableName = "Cake Wallet.app"
18 + BuildableName = "Monero.com.app"
19 BlueprintName = "Runner"
20 ReferencedContainer = "container:Runner.xcodeproj">
21 </BuildableReference>
@@ -31,7 +31,7 @@
31 <BuildableReference
32 BuildableIdentifier = "primary"
33 BlueprintIdentifier = "33CC10EC2044A3C60003C045"
34 - BuildableName = "Cake Wallet.app"
34 + BuildableName = "Monero.com.app"
35 BlueprintName = "Runner"
36 ReferencedContainer = "container:Runner.xcodeproj">
37 </BuildableReference>
@@ -54,7 +54,7 @@
54 <BuildableReference
55 BuildableIdentifier = "primary"
56 BlueprintIdentifier = "33CC10EC2044A3C60003C045"
57 - BuildableName = "Cake Wallet.app"
57 + BuildableName = "Monero.com.app"
58 BlueprintName = "Runner"
59 ReferencedContainer = "container:Runner.xcodeproj">
60 </BuildableReference>
@@ -71,7 +71,7 @@
71 <BuildableReference
72 BuildableIdentifier = "primary"
73 BlueprintIdentifier = "33CC10EC2044A3C60003C045"
74 - BuildableName = "Cake Wallet.app"
74 + BuildableName = "Monero.com.app"
75 BlueprintName = "Runner"
76 ReferencedContainer = "container:Runner.xcodeproj">
77 </BuildableReference>
res/values/strings_ar.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "يجب أن تكون قيمة المبلغ أكبر من أو تساوي ${minAmount} ${fiatCurrency}",
367 "more_options": "المزيد من الخيارات",
368 "name": "ﻢﺳﺍ",
369 - "nano_gpt_thanks_message": "شكرا لاستخدام nanogpt! تذكر أن تعود إلى المتصفح بعد اكتمال معاملتك!",
370 - "nanogpt_subtitle": "جميع النماذج الأحدث (GPT-4 ، Claude). \\ nno اشتراك ، ادفع مع Crypto.",
369 "nano_current_rep": "الممثل الحالي",
370 + "nano_gpt_thanks_message": "شكرا لاستخدام nanogpt! تذكر أن تعود إلى المتصفح بعد اكتمال معاملتك!",
371 "nano_pick_new_rep": "اختر ممثلًا جديدًا",
372 + "nanogpt_subtitle": "جميع النماذج الأحدث (GPT-4 ، Claude). \\ nno اشتراك ، ادفع مع Crypto.",
373 "narrow": "ضيق",
374 "new_first_wallet_text": "حافظ بسهولة على أمان العملة المشفرة",
375 "new_node_testing": "تجربة العقدة الجديدة",
@@ -745,6 +745,7 @@
745 "transaction_sent_notice": "إذا لم تستمر الشاشة بعد دقيقة واحدة ، فتحقق من مستكشف البلوك والبريد الإلكتروني.",
746 "transactions": "المعاملات",
747 "transactions_by_date": "المعاملات حسب التاريخ",
748 + "trongrid_history": "تاريخ ترونغريد",
749 "trusted": "موثوق به",
750 "tx_commit_exception_no_dust_on_change": "يتم رفض المعاملة مع هذا المبلغ. باستخدام هذه العملات المعدنية ، يمكنك إرسال ${min} دون تغيير أو ${max} الذي يعيد التغيير.",
751 "tx_commit_failed": "فشل ارتكاب المعاملة. يرجى الاتصال بالدعم.",
res/values/strings_bg.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "Сумата трябва да бъде най-малко ${minAmount} ${fiatCurrency}",
367 "more_options": "Още настройки",
368 "name": "Име",
369 - "nano_gpt_thanks_message": "Благодаря, че използвахте Nanogpt! Не забравяйте да се върнете обратно към браузъра, след като транзакцията ви приключи!",
370 - "nanogpt_subtitle": "Всички най-нови модели (GPT-4, Claude). \\ Nno абонамент, платете с Crypto.",
369 "nano_current_rep": "Настоящ представител",
370 + "nano_gpt_thanks_message": "Благодаря, че използвахте Nanogpt! Не забравяйте да се върнете обратно към браузъра, след като транзакцията ви приключи!",
371 "nano_pick_new_rep": "Изберете нов представител",
372 + "nanogpt_subtitle": "Всички най-нови модели (GPT-4, Claude). \\ Nno абонамент, платете с Crypto.",
373 "narrow": "Тесен",
374 "new_first_wallet_text": "Лесно пазете криптовалутата си в безопасност",
375 "new_node_testing": "Тестване на нов node",
@@ -745,6 +745,7 @@
745 "transaction_sent_notice": "Ако процесът продължи повече от 1 минута, проверете някой block explorer и своя имейл.",
746 "transactions": "Транзакции",
747 "transactions_by_date": "Транзакции по дата",
748 + "trongrid_history": "Trongrid History",
749 "trusted": "Надежден",
750 "tx_commit_exception_no_dust_on_change": "Сделката се отхвърля с тази сума. С тези монети можете да изпратите ${min} без промяна или ${max}, която връща промяна.",
751 "tx_commit_failed": "Компетацията на транзакцията не успя. Моля, свържете се с поддръжката.",
res/values/strings_cs.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "Částka musí být větší nebo rovna ${minAmount} ${fiatCurrency}",
367 "more_options": "Více možností",
368 "name": "název",
369 - "nano_gpt_thanks_message": "Děkujeme za používání Nanogpt! Nezapomeňte se po dokončení transakce vydat zpět do prohlížeče!",
370 - "nanogpt_subtitle": "Všechny nejnovější modely (GPT-4, Claude). \\ Nno předplatné, plaťte krypto.",
369 "nano_current_rep": "Současný zástupce",
370 + "nano_gpt_thanks_message": "Děkujeme za používání Nanogpt! Nezapomeňte se po dokončení transakce vydat zpět do prohlížeče!",
371 "nano_pick_new_rep": "Vyberte nového zástupce",
372 + "nanogpt_subtitle": "Všechny nejnovější modely (GPT-4, Claude). \\ Nno předplatné, plaťte krypto.",
373 "narrow": "Úzký",
374 "new_first_wallet_text": "Snadno udržujte svou kryptoměnu v bezpečí",
375 "new_node_testing": "Testování nového uzlu",
@@ -745,6 +745,7 @@
745 "transaction_sent_notice": "Pokud proces nepokročí během 1 minuty, zkontrolujte block explorer a svůj e-mail.",
746 "transactions": "Transakce",
747 "transactions_by_date": "Transakce podle data",
748 + "trongrid_history": "Trongridní historie",
749 "trusted": "Důvěřovat",
750 "tx_commit_exception_no_dust_on_change": "Transakce je zamítnuta s touto částkou. S těmito mincemi můžete odeslat ${min} bez změny nebo ${max}, které se vrátí změna.",
751 "tx_commit_failed": "Transakce COMPORT selhala. Kontaktujte prosím podporu.",
res/values/strings_de.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "Der Wert des Betrags muss größer oder gleich ${minAmount} ${fiatCurrency} sein",
367 "more_options": "Weitere Optionen",
368 "name": "Name",
369 - "nano_gpt_thanks_message": "Danke, dass du Nanogpt benutzt hast! Denken Sie daran, nach Abschluss Ihrer Transaktion zurück zum Browser zu gehen!",
370 - "nanogpt_subtitle": "Alle neuesten Modelle (GPT-4, Claude).",
369 "nano_current_rep": "Aktueller Vertreter",
370 + "nano_gpt_thanks_message": "Danke, dass du Nanogpt benutzt hast! Denken Sie daran, nach Abschluss Ihrer Transaktion zurück zum Browser zu gehen!",
371 "nano_pick_new_rep": "Wählen Sie einen neuen Vertreter aus",
372 + "nanogpt_subtitle": "Alle neuesten Modelle (GPT-4, Claude).",
373 "narrow": "Eng",
374 "new_first_wallet_text": "Bewahren Sie Ihre Kryptowährung einfach sicher auf",
375 "new_node_testing": "Neuen Knoten testen",
@@ -746,6 +746,7 @@
746 "transaction_sent_notice": "Wenn der Bildschirm nach 1 Minute nicht weitergeht, überprüfen Sie einen Block-Explorer und Ihre E-Mail.",
747 "transactions": "Transaktionen",
748 "transactions_by_date": "Transaktionen nach Datum",
749 + "trongrid_history": "Tronglidgeschichte",
750 "trusted": "Vertrauenswürdige",
751 "tx_commit_exception_no_dust_on_change": "Die Transaktion wird diesen Betrag abgelehnt. Mit diesen Münzen können Sie ${min} ohne Veränderung oder ${max} senden, die Änderungen zurückgeben.",
752 "tx_commit_failed": "Transaktionsausschüsse ist fehlgeschlagen. Bitte wenden Sie sich an Support.",
res/values/strings_en.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "Value of the amount must be more or equal to ${minAmount} ${fiatCurrency}",
367 "more_options": "More Options",
368 "name": "Name",
369 - "nano_gpt_thanks_message": "Thanks for using NanoGPT! Remember to head back to the browser after your transaction completes!",
370 - "nanogpt_subtitle": "All the newest models (GPT-4, Claude).\\nNo subscription, pay with crypto.",
369 "nano_current_rep": "Current Representative",
370 + "nano_gpt_thanks_message": "Thanks for using NanoGPT! Remember to head back to the browser after your transaction completes!",
371 "nano_pick_new_rep": "Pick a new representative",
372 + "nanogpt_subtitle": "All the newest models (GPT-4, Claude).\\nNo subscription, pay with crypto.",
373 "narrow": "Narrow",
374 "new_first_wallet_text": "Keep your crypto safe, piece of cake",
375 "new_node_testing": "New node testing",
@@ -745,6 +745,7 @@
745 "transaction_sent_notice": "If the screen doesn’t proceed after 1 minute, check a block explorer and your email.",
746 "transactions": "Transactions",
747 "transactions_by_date": "Transactions by date",
748 + "trongrid_history": "TronGrid history",
749 "trusted": "Trusted",
750 "tx_commit_exception_no_dust_on_change": "The transaction is rejected with this amount. With these coins you can send ${min} without change or ${max} that returns change.",
751 "tx_commit_failed": "Transaction commit failed. Please contact support.",
res/values/strings_es.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "El valor de la cantidad debe ser mayor o igual a ${minAmount} ${fiatCurrency}",
367 "more_options": "Más Opciones",
368 "name": "Nombre",
369 - "nano_gpt_thanks_message": "¡Gracias por usar nanogpt! ¡Recuerde regresar al navegador después de que se complete su transacción!",
370 - "nanogpt_subtitle": "Todos los modelos más nuevos (GPT-4, Claude). \\ Nno suscripción, pague con cripto.",
369 "nano_current_rep": "Representante actual",
370 + "nano_gpt_thanks_message": "¡Gracias por usar nanogpt! ¡Recuerde regresar al navegador después de que se complete su transacción!",
371 "nano_pick_new_rep": "Elija un nuevo representante",
372 + "nanogpt_subtitle": "Todos los modelos más nuevos (GPT-4, Claude). \\ Nno suscripción, pague con cripto.",
373 "narrow": "Angosto",
374 "new_first_wallet_text": "Mantenga fácilmente su criptomoneda segura",
375 "new_node_testing": "Prueba de nuevos nodos",
@@ -746,6 +746,7 @@
746 "transaction_sent_notice": "Si la pantalla no continúa después de 1 minuto, revisa un explorador de bloques y tu correo electrónico.",
747 "transactions": "Actas",
748 "transactions_by_date": "Transacciones por fecha",
749 + "trongrid_history": "Historia trongrid",
750 "trusted": "de confianza",
751 "tx_commit_exception_no_dust_on_change": "La transacción se rechaza con esta cantidad. Con estas monedas puede enviar ${min} sin cambios o ${max} que devuelve el cambio.",
752 "tx_commit_failed": "La confirmación de transacción falló. Póngase en contacto con el soporte.",
res/values/strings_fr.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "Le montant doit être au moins égal à ${minAmount} ${fiatCurrency}",
367 "more_options": "Plus d'options",
368 "name": "Nom",
369 - "nano_gpt_thanks_message": "Merci d'avoir utilisé Nanogpt! N'oubliez pas de retourner au navigateur une fois votre transaction terminée!",
370 - "nanogpt_subtitle": "Tous les modèles les plus récents (GPT-4, Claude). \\ NNO abonnement, payez avec crypto.",
369 "nano_current_rep": "Représentant actuel",
370 + "nano_gpt_thanks_message": "Merci d'avoir utilisé Nanogpt! N'oubliez pas de retourner au navigateur une fois votre transaction terminée!",
371 "nano_pick_new_rep": "Choisissez un nouveau représentant",
372 + "nanogpt_subtitle": "Tous les modèles les plus récents (GPT-4, Claude). \\ NNO abonnement, payez avec crypto.",
373 "narrow": "Étroit",
374 "new_first_wallet_text": "Gardez facilement votre crypto-monnaie en sécurité",
375 "new_node_testing": "Test du nouveau nœud",
@@ -745,6 +745,7 @@
745 "transaction_sent_notice": "Si l'écran ne continue pas après 1 minute, vérifiez un explorateur de blocs et votre e-mail.",
746 "transactions": "Transactions",
747 "transactions_by_date": "Transactions par date",
748 + "trongrid_history": "Histoire de la trongride",
749 "trusted": "de confiance",
750 "tx_commit_exception_no_dust_on_change": "La transaction est rejetée avec ce montant. Avec ces pièces, vous pouvez envoyer ${min} sans changement ou ${max} qui renvoie le changement.",
751 "tx_commit_failed": "La validation de la transaction a échoué. Veuillez contacter l'assistance.",
res/values/strings_ha.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "Darajar adadin dole ne ya zama fiye ko daidai da ${minAmount} ${fiatCurrency}",
367 "more_options": "Ƙarin Zaɓuɓɓuka",
368 "name": "Suna",
369 - "nano_gpt_thanks_message": "Na gode da amfani da Nanogpt! Ka tuna da komawa zuwa mai bincike bayan ma'amalar ka ta cika!",
370 - "nanogpt_subtitle": "Duk sabbin samfuran (GPT-4, CLODE). \\ NNO biyan kuɗi, biya tare da crypto.",
369 "nano_current_rep": "Wakilin Yanzu",
370 + "nano_gpt_thanks_message": "Na gode da amfani da Nanogpt! Ka tuna da komawa zuwa mai bincike bayan ma'amalar ka ta cika!",
371 "nano_pick_new_rep": "Dauki sabon wakili",
372 + "nanogpt_subtitle": "Duk sabbin samfuran (GPT-4, CLODE). \\ NNO biyan kuɗi, biya tare da crypto.",
373 "narrow": "kunkuntar",
374 "new_first_wallet_text": "A sauƙaƙe kiyaye kuzarin ku",
375 "new_node_testing": "Sabbin gwajin kumburi",
@@ -747,6 +747,7 @@
747 "transaction_sent_notice": "Idan allon bai ci gaba ba bayan minti 1, duba mai binciken toshewa da imel ɗin ku.",
748 "transactions": "Ma'amaloli",
749 "transactions_by_date": "Ma'amaloli ta kwanan wata",
750 + "trongrid_history": "Tarihin Trongrid",
751 "trusted": "Amintacce",
752 "tx_commit_exception_no_dust_on_change": "An ƙi ma'amala da wannan adadin. Tare da waɗannan tsabar kudi Zaka iya aika ${min}, ba tare da canji ba ko ${max} wanda ya dawo canzawa.",
753 "tx_commit_failed": "Ma'amala ya kasa. Da fatan za a tuntuɓi goyan baya.",
res/values/strings_hi.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "राशि का मूल्य अधिक है या करने के लिए बराबर होना चाहिए ${minAmount} ${fiatCurrency}",
367 "more_options": "और विकल्प",
368 "name": "नाम",
369 - "nano_gpt_thanks_message": "Nanogpt का उपयोग करने के लिए धन्यवाद! अपने लेन -देन के पूरा होने के बाद ब्राउज़र पर वापस जाना याद रखें!",
370 - "nanogpt_subtitle": "सभी नवीनतम मॉडल (GPT-4, क्लाउड)। \\ nno सदस्यता, क्रिप्टो के साथ भुगतान करें।",
369 "nano_current_rep": "वर्तमान प्रतिनिधि",
370 + "nano_gpt_thanks_message": "Nanogpt का उपयोग करने के लिए धन्यवाद! अपने लेन -देन के पूरा होने के बाद ब्राउज़र पर वापस जाना याद रखें!",
371 "nano_pick_new_rep": "एक नया प्रतिनिधि चुनें",
372 + "nanogpt_subtitle": "सभी नवीनतम मॉडल (GPT-4, क्लाउड)। \\ nno सदस्यता, क्रिप्टो के साथ भुगतान करें।",
373 "narrow": "सँकरा",
374 "new_first_wallet_text": "आसानी से अपनी क्रिप्टोक्यूरेंसी को सुरक्षित रखें",
375 "new_node_testing": "नई नोड परीक्षण",
@@ -747,6 +747,7 @@
747 "transaction_sent_notice": "अगर 1 मिनट के बाद भी स्क्रीन आगे नहीं बढ़ती है, तो ब्लॉक एक्सप्लोरर और अपना ईमेल देखें।",
748 "transactions": "लेन-देन",
749 "transactions_by_date": "तारीख से लेन-देन",
750 + "trongrid_history": "ट्रॉन्ग्रिड का इतिहास",
751 "trusted": "भरोसा",
752 "tx_commit_exception_no_dust_on_change": "लेनदेन को इस राशि से खारिज कर दिया जाता है। इन सिक्कों के साथ आप चेंज या ${min} के बिना ${max} को भेज सकते हैं जो परिवर्तन लौटाता है।",
753 "tx_commit_failed": "लेन -देन प्रतिबद्ध विफल। कृपया संपर्क समर्थन करें।",
res/values/strings_hr.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "Vrijednost iznosa mora biti veća ili jednaka ${minAmount} ${fiatCurrency}",
367 "more_options": "Više opcija",
368 "name": "Ime",
369 - "nano_gpt_thanks_message": "Hvala što ste koristili nanogpt! Ne zaboravite da se vratite u preglednik nakon što vam se transakcija završi!",
370 - "nanogpt_subtitle": "Svi najnoviji modeli (GPT-4, Claude). \\ NNO pretplata, plaćajte kripto.",
369 "nano_current_rep": "Trenutni predstavnik",
370 + "nano_gpt_thanks_message": "Hvala što ste koristili nanogpt! Ne zaboravite da se vratite u preglednik nakon što vam se transakcija završi!",
371 "nano_pick_new_rep": "Odaberite novog predstavnika",
372 + "nanogpt_subtitle": "Svi najnoviji modeli (GPT-4, Claude). \\ NNO pretplata, plaćajte kripto.",
373 "narrow": "Usko",
374 "new_first_wallet_text": "Jednostavno čuvajte svoju kripto valutu",
375 "new_node_testing": "Provjera novog nodea",
@@ -745,6 +745,7 @@
745 "transaction_sent_notice": "Ako se zaslon ne nastavi nakon 1 minute, provjerite block explorer i svoju e-poštu.",
746 "transactions": "Transakcije",
747 "transactions_by_date": "Transakcije prema datumu",
748 + "trongrid_history": "Povijest Trongrida",
749 "trusted": "vjerovao",
750 "tx_commit_exception_no_dust_on_change": "Transakcija se odbija s tim iznosom. Pomoću ovih kovanica možete poslati ${min} bez promjene ili ${max} koja vraća promjenu.",
751 "tx_commit_failed": "Obveza transakcije nije uspjela. Molimo kontaktirajte podršku.",
res/values/strings_id.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "Nilai jumlah harus lebih atau sama dengan ${minAmount} ${fiatCurrency}",
367 "more_options": "Opsi Lainnya",
368 "name": "Nama",
369 - "nano_gpt_thanks_message": "Terima kasih telah menggunakan Nanogpt! Ingatlah untuk kembali ke browser setelah transaksi Anda selesai!",
370 - "nanogpt_subtitle": "Semua model terbaru (GPT-4, Claude). \\ Nno langganan, bayar dengan crypto.",
369 "nano_current_rep": "Perwakilan saat ini",
370 + "nano_gpt_thanks_message": "Terima kasih telah menggunakan Nanogpt! Ingatlah untuk kembali ke browser setelah transaksi Anda selesai!",
371 "nano_pick_new_rep": "Pilih perwakilan baru",
372 + "nanogpt_subtitle": "Semua model terbaru (GPT-4, Claude). \\ Nno langganan, bayar dengan crypto.",
373 "narrow": "Sempit",
374 "new_first_wallet_text": "Dengan mudah menjaga cryptocurrency Anda aman",
375 "new_node_testing": "Pengujian node baru",
@@ -748,6 +748,7 @@
748 "transaction_sent_notice": "Jika layar tidak bergerak setelah 1 menit, periksa block explorer dan email Anda.",
749 "transactions": "Transaksi",
750 "transactions_by_date": "Transaksi berdasarkan tanggal",
751 + "trongrid_history": "Sejarah Trongrid",
752 "trusted": "Dipercayai",
753 "tx_commit_exception_no_dust_on_change": "Transaksi ditolak dengan jumlah ini. Dengan koin ini Anda dapat mengirim ${min} tanpa perubahan atau ${max} yang mengembalikan perubahan.",
754 "tx_commit_failed": "Transaksi Gagal. Silakan hubungi Dukungan.",
res/values/strings_it.arb
+3 -2
@@ -367,10 +367,10 @@
367 "moonpay_alert_text": "Il valore dell'importo deve essere maggiore o uguale a ${minAmount} ${fiatCurrency}",
368 "more_options": "Altre opzioni",
369 "name": "Nome",
370 - "nano_gpt_thanks_message": "Grazie per aver usato il nanogpt! Ricorda di tornare al browser dopo il completamento della transazione!",
371 - "nanogpt_subtitle": "Tutti i modelli più recenti (GPT-4, Claude). Abbonamento nno, paga con cripto.",
370 "nano_current_rep": "Rappresentante attuale",
371 + "nano_gpt_thanks_message": "Grazie per aver usato il nanogpt! Ricorda di tornare al browser dopo il completamento della transazione!",
372 "nano_pick_new_rep": "Scegli un nuovo rappresentante",
373 + "nanogpt_subtitle": "Tutti i modelli più recenti (GPT-4, Claude). Abbonamento nno, paga con cripto.",
374 "narrow": "Stretto",
375 "new_first_wallet_text": "Mantieni facilmente la tua criptovaluta al sicuro",
376 "new_node_testing": "Test novo nodo",
@@ -747,6 +747,7 @@
747 "transaction_sent_notice": "Se lo schermo non procede dopo 1 minuto, controlla un block explorer e la tua email.",
748 "transactions": "Transazioni",
749 "transactions_by_date": "Transazioni per data",
750 + "trongrid_history": "Storia del trongride",
751 "trusted": "di fiducia",
752 "tx_commit_exception_no_dust_on_change": "La transazione viene respinta con questo importo. Con queste monete è possibile inviare ${min} senza modifiche o ${max} che restituisce il cambiamento.",
753 "tx_commit_failed": "Commit di transazione non riuscita. Si prega di contattare il supporto.",
res/values/strings_ja.arb
+3 -2
@@ -367,10 +367,10 @@
367 "moonpay_alert_text": "金額の値は以上でなければなりません ${minAmount} ${fiatCurrency}",
368 "more_options": "その他のオプション",
369 "name": "名前",
370 - "nano_gpt_thanks_message": "NanoGptを使用してくれてありがとう!トランザクションが完了したら、ブラウザに戻ることを忘れないでください!",
371 - "nanogpt_subtitle": "すべての最新モデル(GPT-4、Claude)。\\ nnoサブスクリプション、暗号で支払います。",
370 "nano_current_rep": "現在の代表",
371 + "nano_gpt_thanks_message": "NanoGptを使用してくれてありがとう!トランザクションが完了したら、ブラウザに戻ることを忘れないでください!",
372 "nano_pick_new_rep": "新しい代表者を選びます",
373 + "nanogpt_subtitle": "すべての最新モデル(GPT-4、Claude)。\\ nnoサブスクリプション、暗号で支払います。",
374 "narrow": "狭い",
375 "new_first_wallet_text": "暗号通貨を簡単に安全に保ちます",
376 "new_node_testing": "新しいノードのテスト",
@@ -746,6 +746,7 @@
746 "transaction_sent_notice": "1分経っても画面が進まない場合は、ブロックエクスプローラーとメールアドレスを確認してください。",
747 "transactions": "取引",
748 "transactions_by_date": "日付ごとの取引",
749 + "trongrid_history": "トロンリッドの歴史",
750 "trusted": "信頼できる",
751 "tx_commit_exception_no_dust_on_change": "この金額ではトランザクションは拒否されます。 これらのコインを使用すると、おつりなしの ${min} またはおつりを返す ${max} を送信できます。",
752 "tx_commit_failed": "トランザクションコミットは失敗しました。サポートに連絡してください。",
res/values/strings_ko.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "금액은 다음보다 크거나 같아야합니다 ${minAmount} ${fiatCurrency}",
367 "more_options": "추가 옵션",
368 "name": "이름",
369 - "nano_gpt_thanks_message": "Nanogpt를 사용해 주셔서 감사합니다! 거래가 완료된 후 브라우저로 돌아가는 것을 잊지 마십시오!",
370 - "nanogpt_subtitle": "모든 최신 모델 (GPT-4, Claude). \\ nno 구독, Crypto로 지불하십시오.",
369 "nano_current_rep": "현재 대표",
370 + "nano_gpt_thanks_message": "Nanogpt를 사용해 주셔서 감사합니다! 거래가 완료된 후 브라우저로 돌아가는 것을 잊지 마십시오!",
371 "nano_pick_new_rep": "새로운 담당자를 선택하십시오",
372 + "nanogpt_subtitle": "모든 최신 모델 (GPT-4, Claude). \\ nno 구독, Crypto로 지불하십시오.",
373 "narrow": "좁은",
374 "new_first_wallet_text": "cryptocurrency를 쉽게 안전하게 유지하십시오",
375 "new_node_testing": "새로운 노드 테스트",
@@ -746,6 +746,7 @@
746 "transaction_sent_notice": "1분 후에도 화면이 진행되지 않으면 블록 익스플로러와 이메일을 확인하세요.",
747 "transactions": "업무",
748 "transactions_by_date": "날짜 별 거래",
749 + "trongrid_history": "트롱 트리드 역사",
750 "trusted": "신뢰할 수 있는",
751 "tx_commit_exception_no_dust_on_change": "이 금액으로 거래가 거부되었습니다. 이 코인을 사용하면 거스름돈 없이 ${min}를 보내거나 거스름돈을 반환하는 ${max}를 보낼 수 있습니다.",
752 "tx_commit_failed": "거래 커밋이 실패했습니다. 지원에 연락하십시오.",
res/values/strings_my.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "ပမာဏ၏တန်ဖိုးသည် ${minAmount} ${fiatCurrency} နှင့် ပိုနေရမည်",
367 "more_options": "နောက်ထပ် ရွေးချယ်စရာများ",
368 "name": "နာမည်",
369 - "nano_gpt_thanks_message": "nanogpt ကိုသုံးပြီးကျေးဇူးတင်ပါတယ် သင်၏ငွေပေးငွေယူပြီးနောက် browser သို့ပြန်သွားရန်သတိရပါ။",
370 - "nanogpt_subtitle": "အားလုံးနောက်ဆုံးပေါ်မော်ဒယ်များ (GPT-4, Claude) ။ \\ nno subscription, crypto နှင့်အတူပေးဆောင်။",
369 "nano_current_rep": "လက်ရှိကိုယ်စားလှယ်",
370 + "nano_gpt_thanks_message": "nanogpt ကိုသုံးပြီးကျေးဇူးတင်ပါတယ် သင်၏ငွေပေးငွေယူပြီးနောက် browser သို့ပြန်သွားရန်သတိရပါ။",
371 "nano_pick_new_rep": "အသစ်တစ်ခုကိုရွေးပါ",
372 + "nanogpt_subtitle": "အားလုံးနောက်ဆုံးပေါ်မော်ဒယ်များ (GPT-4, Claude) ။ \\ nno subscription, crypto နှင့်အတူပေးဆောင်။",
373 "narrow": "ကျဉ်းသော",
374 "new_first_wallet_text": "သင့်ရဲ့ cryptocurrencrencres ကိုအလွယ်တကူလုံခြုံစွာထားရှိပါ",
375 "new_node_testing": "နှာခေါင်း အသစ်စမ်းသပ်ခြင်း။",
@@ -745,6 +745,7 @@
745 "transaction_sent_notice": "မျက်နှာပြင်သည် ၁ မိနစ်အကြာတွင် ဆက်လက်မလုပ်ဆောင်ပါက၊ ပိတ်ဆို့ရှာဖွေသူနှင့် သင့်အီးမေးလ်ကို စစ်ဆေးပါ။",
746 "transactions": "ငွေပေးငွေယူ",
747 "transactions_by_date": "ရက်စွဲအလိုက် ငွေလွှဲမှုများ",
748 + "trongrid_history": "Trongrid သမိုင်း",
749 "trusted": "ယုံတယ်။",
750 "tx_commit_exception_no_dust_on_change": "အဆိုပါငွေပေးငွေယူကဒီပမာဏနှင့်အတူပယ်ချခံရသည်။ ဤဒင်္ဂါးပြားများနှင့်အတူပြောင်းလဲမှုကိုပြန်လည်ပြောင်းလဲခြင်းသို့မဟုတ် ${min} မပါဘဲ ${max} ပေးပို့နိုင်သည်။",
751 "tx_commit_failed": "ငွေပေးငွေယူကျူးလွန်မှုပျက်ကွက်။ ကျေးဇူးပြုပြီးပံ့ပိုးမှုဆက်သွယ်ပါ။",
res/values/strings_nl.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "Waarde van het bedrag moet meer of gelijk zijn aan ${minAmount} ${fiatCurrency}",
367 "more_options": "Meer opties",
368 "name": "Naam",
369 - "nano_gpt_thanks_message": "Bedankt voor het gebruik van Nanogpt! Vergeet niet om terug te gaan naar de browser nadat uw transactie is voltooid!",
370 - "nanogpt_subtitle": "Alle nieuwste modellen (GPT-4, Claude). \\ Nno-abonnement, betalen met crypto.",
369 "nano_current_rep": "Huidige vertegenwoordiger",
370 + "nano_gpt_thanks_message": "Bedankt voor het gebruik van Nanogpt! Vergeet niet om terug te gaan naar de browser nadat uw transactie is voltooid!",
371 "nano_pick_new_rep": "Kies een nieuwe vertegenwoordiger",
372 + "nanogpt_subtitle": "Alle nieuwste modellen (GPT-4, Claude). \\ Nno-abonnement, betalen met crypto.",
373 "narrow": "Smal",
374 "new_first_wallet_text": "Houd uw cryptocurrency gemakkelijk veilig",
375 "new_node_testing": "Nieuwe knooppunttest",
@@ -745,6 +745,7 @@
745 "transaction_sent_notice": "Als het scherm na 1 minuut niet verder gaat, controleer dan een blokverkenner en je e-mail.",
746 "transactions": "Transacties",
747 "transactions_by_date": "Transacties op datum",
748 + "trongrid_history": "Trongrid geschiedenis",
749 "trusted": "vertrouwd",
750 "tx_commit_exception_no_dust_on_change": "De transactie wordt afgewezen met dit bedrag. Met deze munten kunt u ${min} verzenden zonder verandering of ${max} die wijziging retourneert.",
751 "tx_commit_failed": "Transactiebewissing is mislukt. Neem contact op met de ondersteuning.",
res/values/strings_pl.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "Wartość kwoty musi być większa lub równa ${minAmount} ${fiatCurrency}",
367 "more_options": "Więcej opcji",
368 "name": "Nazwa",
369 - "nano_gpt_thanks_message": "Dzięki za użycie Nanogpt! Pamiętaj, aby wrócić do przeglądarki po zakończeniu transakcji!",
370 - "nanogpt_subtitle": "Wszystkie najnowsze modele (GPT-4, Claude). \\ Nno subskrypcja, płacą za pomocą kryptografii.",
369 "nano_current_rep": "Obecny przedstawiciel",
370 + "nano_gpt_thanks_message": "Dzięki za użycie Nanogpt! Pamiętaj, aby wrócić do przeglądarki po zakończeniu transakcji!",
371 "nano_pick_new_rep": "Wybierz nowego przedstawiciela",
372 + "nanogpt_subtitle": "Wszystkie najnowsze modele (GPT-4, Claude). \\ Nno subskrypcja, płacą za pomocą kryptografii.",
373 "narrow": "Wąski",
374 "new_first_wallet_text": "Łatwo zapewnić bezpieczeństwo kryptowalut",
375 "new_node_testing": "Testowanie nowych węzłów",
@@ -745,6 +745,7 @@
745 "transaction_sent_notice": "Jeśli ekran nie zmieni się po 1 minucie, sprawdź eksplorator bloków i swój e-mail.",
746 "transactions": "Transakcje",
747 "transactions_by_date": "Transakcje według daty",
748 + "trongrid_history": "Historia Trongrida",
749 "trusted": "Zaufany",
750 "tx_commit_exception_no_dust_on_change": "Transakcja jest odrzucana z tą kwotą. Za pomocą tych monet możesz wysłać ${min} bez zmiany lub ${max}, które zwraca zmianę.",
751 "tx_commit_failed": "Zatwierdzenie transakcji nie powiodło się. Skontaktuj się z obsługą.",
res/values/strings_pt.arb
+3 -2
@@ -367,10 +367,10 @@
367 "moonpay_alert_text": "O valor do montante deve ser maior ou igual a ${minAmount} ${fiatCurrency}",
368 "more_options": "Mais opções",
369 "name": "Nome",
370 - "nano_gpt_thanks_message": "Obrigado por usar o Nanogpt! Lembre -se de voltar para o navegador após a conclusão da transação!",
371 - "nanogpt_subtitle": "Todos os modelos mais recentes (GPT-4, Claude). \\ Nno assinatura, pagam com criptografia.",
370 "nano_current_rep": "Representante atual",
371 + "nano_gpt_thanks_message": "Obrigado por usar o Nanogpt! Lembre -se de voltar para o navegador após a conclusão da transação!",
372 "nano_pick_new_rep": "Escolha um novo representante",
373 + "nanogpt_subtitle": "Todos os modelos mais recentes (GPT-4, Claude). \\ Nno assinatura, pagam com criptografia.",
374 "narrow": "Estreito",
375 "new_first_wallet_text": "Mantenha sua criptomoeda facilmente segura",
376 "new_node_testing": "Teste de novo nó",
@@ -747,6 +747,7 @@
747 "transaction_sent_notice": "Se a tela não prosseguir após 1 minuto, verifique um explorador de blocos e seu e-mail.",
748 "transactions": "Transações",
749 "transactions_by_date": "Transações por data",
750 + "trongrid_history": "História de Trongrid",
751 "trusted": "confiável",
752 "tx_commit_exception_no_dust_on_change": "A transação é rejeitada com esse valor. Com essas moedas, você pode enviar ${min} sem alteração ou ${max} que retorna alterações.",
753 "tx_commit_failed": "A confirmação da transação falhou. Entre em contato com o suporte.",
res/values/strings_ru.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "Сумма должна быть больше или равна ${minAmount} ${fiatCurrency}",
367 "more_options": "Дополнительные параметры",
368 "name": "Имя",
369 - "nano_gpt_thanks_message": "Спасибо за использование Nanogpt! Не забудьте вернуться в браузер после завершения транзакции!",
370 - "nanogpt_subtitle": "Все новейшие модели (GPT-4, Claude). \\ Nno Подписка, платите с крипто.",
369 "nano_current_rep": "Нынешний представитель",
370 + "nano_gpt_thanks_message": "Спасибо за использование Nanogpt! Не забудьте вернуться в браузер после завершения транзакции!",
371 "nano_pick_new_rep": "Выберите нового представителя",
372 + "nanogpt_subtitle": "Все новейшие модели (GPT-4, Claude). \\ Nno Подписка, платите с крипто.",
373 "narrow": "Узкий",
374 "new_first_wallet_text": "Легко сохранить свою криптовалюту в безопасности",
375 "new_node_testing": "Тестирование новой ноды",
@@ -746,6 +746,7 @@
746 "transaction_sent_notice": "Если экран не отображается через 1 минуту, проверьте обозреватель блоков и свою электронную почту.",
747 "transactions": "Транзакции",
748 "transactions_by_date": "Сортировать по дате",
749 + "trongrid_history": "История Тронгрида",
750 "trusted": "доверенный",
751 "tx_commit_exception_no_dust_on_change": "Транзакция отклоняется с этой суммой. С этими монетами вы можете отправлять ${min} без изменения или ${max}, которые возвращают изменение.",
752 "tx_commit_failed": "Комплект транзакции не удался. Пожалуйста, свяжитесь с поддержкой.",
res/values/strings_th.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "มูลค่าของจำนวนต้องมากกว่าหรือเท่ากับ ${minAmount} ${fiatCurrency}",
367 "more_options": "ตัวเลือกเพิ่มเติม",
368 "name": "ชื่อ",
369 - "nano_gpt_thanks_message": "ขอบคุณที่ใช้ Nanogpt! อย่าลืมกลับไปที่เบราว์เซอร์หลังจากการทำธุรกรรมของคุณเสร็จสิ้น!",
370 - "nanogpt_subtitle": "รุ่นใหม่ล่าสุดทั้งหมด (GPT-4, Claude). การสมัครสมาชิก \\ nno, จ่ายด้วย crypto",
369 "nano_current_rep": "ตัวแทนปัจจุบัน",
370 + "nano_gpt_thanks_message": "ขอบคุณที่ใช้ Nanogpt! อย่าลืมกลับไปที่เบราว์เซอร์หลังจากการทำธุรกรรมของคุณเสร็จสิ้น!",
371 "nano_pick_new_rep": "เลือกตัวแทนใหม่",
372 + "nanogpt_subtitle": "รุ่นใหม่ล่าสุดทั้งหมด (GPT-4, Claude). การสมัครสมาชิก \\ nno, จ่ายด้วย crypto",
373 "narrow": "แคบ",
374 "new_first_wallet_text": "ทำให้สกุลเงินดิจิตอลของคุณปลอดภัยได้อย่างง่ายดาย",
375 "new_node_testing": "การทดสอบโหนดใหม่",
@@ -745,6 +745,7 @@
745 "transaction_sent_notice": "ถ้าหน้าจอไม่ขึ้นหลังจาก 1 นาทีแล้ว ให้ตรวจสอบ block explorer และอีเมลของคุณ",
746 "transactions": "ธุรกรรม",
747 "transactions_by_date": "ธุรกรรมตามวันที่",
748 + "trongrid_history": "ประวัติศาสตร์ Trongrid",
749 "trusted": "มั่นคง",
750 "tx_commit_exception_no_dust_on_change": "ธุรกรรมถูกปฏิเสธด้วยจำนวนเงินนี้ ด้วยเหรียญเหล่านี้คุณสามารถส่ง ${min} โดยไม่ต้องเปลี่ยนแปลงหรือ ${max} ที่ส่งคืนการเปลี่ยนแปลง",
751 "tx_commit_failed": "การทำธุรกรรมล้มเหลว กรุณาติดต่อฝ่ายสนับสนุน",
res/values/strings_tl.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "Ang halaga ng halaga ay dapat na higit pa o katumbas ng ${minAmount} ${fiatCurrency}",
367 "more_options": "Higit pang mga pagpipilian",
368 "name": "Pangalan",
369 - "nano_gpt_thanks_message": "Salamat sa paggamit ng nanogpt! Tandaan na bumalik sa browser matapos makumpleto ang iyong transaksyon!",
370 - "nanogpt_subtitle": "Ang lahat ng mga pinakabagong modelo (GPT-4, Claude). \\ Nno subscription, magbayad gamit ang crypto.",
369 "nano_current_rep": "Kasalukuyang kinatawan",
370 + "nano_gpt_thanks_message": "Salamat sa paggamit ng nanogpt! Tandaan na bumalik sa browser matapos makumpleto ang iyong transaksyon!",
371 "nano_pick_new_rep": "Pumili ng isang bagong kinatawan",
372 + "nanogpt_subtitle": "Ang lahat ng mga pinakabagong modelo (GPT-4, Claude). \\ Nno subscription, magbayad gamit ang crypto.",
373 "narrow": "Makitid",
374 "new_first_wallet_text": "Panatilihing ligtas ang iyong crypto, piraso ng cake",
375 "new_node_testing": "Bagong pagsubok sa node",
@@ -745,6 +745,7 @@
745 "transaction_sent_notice": "Kung ang screen ay hindi magpatuloy pagkatapos ng 1 minuto, suriin ang isang block explorer at ang iyong email.",
746 "transactions": "Mga Transaksyon",
747 "transactions_by_date": "Mga Transaksyon ayon sa Petsa",
748 + "trongrid_history": "Kasaysayan ng Trongrid",
749 "trusted": "Pinagkakatiwalaan",
750 "tx_commit_exception_no_dust_on_change": "Ang transaksyon ay tinanggihan sa halagang ito. Sa mga barya na ito maaari kang magpadala ng ${min} nang walang pagbabago o ${max} na nagbabalik ng pagbabago.",
751 "tx_commit_failed": "Nabigo ang transaksyon sa transaksyon. Mangyaring makipag -ugnay sa suporta.",
res/values/strings_tr.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "Tutar ${minAmount} ${fiatCurrency} miktarına eşit veya daha fazla olmalıdır",
367 "more_options": "Daha Fazla Seçenek",
368 "name": "İsim",
369 - "nano_gpt_thanks_message": "Nanogpt kullandığınız için teşekkürler! İşleminiz tamamlandıktan sonra tarayıcıya geri dönmeyi unutmayın!",
370 - "nanogpt_subtitle": "En yeni modeller (GPT-4, Claude). \\ Nno aboneliği, kripto ile ödeme yapın.",
369 "nano_current_rep": "Mevcut temsilci",
370 + "nano_gpt_thanks_message": "Nanogpt kullandığınız için teşekkürler! İşleminiz tamamlandıktan sonra tarayıcıya geri dönmeyi unutmayın!",
371 "nano_pick_new_rep": "Yeni bir temsilci seçin",
372 + "nanogpt_subtitle": "En yeni modeller (GPT-4, Claude). \\ Nno aboneliği, kripto ile ödeme yapın.",
373 "narrow": "Dar",
374 "new_first_wallet_text": "Kripto para biriminizi kolayca güvende tutun",
375 "new_node_testing": "Yeni düğüm test ediliyor",
@@ -745,6 +745,7 @@
745 "transaction_sent_notice": "Ekran 1 dakika sonra ilerlemezse, blok gezgininden ve e-postanızdan kontrol edin.",
746 "transactions": "İşlemler",
747 "transactions_by_date": "Tarihe göre transferler",
748 + "trongrid_history": "Trongrid tarihi",
749 "trusted": "Güvenilir",
750 "tx_commit_exception_no_dust_on_change": "İşlem bu miktarla reddedilir. Bu madeni paralarla değişiklik yapmadan ${min} veya değişikliği döndüren ${max} gönderebilirsiniz.",
751 "tx_commit_failed": "İşlem taahhüdü başarısız oldu. Lütfen Destek ile iletişime geçin.",
res/values/strings_uk.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "Значення суми має бути більшим або дорівнювати ${minAmount} ${fiatCurrency}",
367 "more_options": "Більше параметрів",
368 "name": "Ім'я",
369 - "nano_gpt_thanks_message": "Дякуємо за використання наногпта! Не забудьте повернутися до браузера після завершення транзакції!",
370 - "nanogpt_subtitle": "Усі найновіші моделі (GPT-4, Claude). \\ Nno підписка, оплата криптовалютою.",
369 "nano_current_rep": "Поточний представник",
370 + "nano_gpt_thanks_message": "Дякуємо за використання наногпта! Не забудьте повернутися до браузера після завершення транзакції!",
371 "nano_pick_new_rep": "Виберіть нового представника",
372 + "nanogpt_subtitle": "Усі найновіші моделі (GPT-4, Claude). \\ Nno підписка, оплата криптовалютою.",
373 "narrow": "вузькі",
374 "new_first_wallet_text": "Легко зберігайте свою криптовалюту в безпеці",
375 "new_node_testing": "Тестування нового вузла",
@@ -746,6 +746,7 @@
746 "transaction_sent_notice": "Якщо екран не відображається через 1 хвилину, перевірте провідник блоків і свою електронну пошту.",
747 "transactions": "Транзакції",
748 "transactions_by_date": "Сортувати по даті",
749 + "trongrid_history": "Тронгрідська історія",
750 "trusted": "довіряють",
751 "tx_commit_exception_no_dust_on_change": "Транзакція відхилена цією сумою. За допомогою цих монет ви можете надіслати ${min} без змін або ${max}, що повертає зміни.",
752 "tx_commit_failed": "Транзакційна комісія не вдалося. Будь ласка, зв'яжіться з підтримкою.",
res/values/strings_ur.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "رقم کی قدر ${minAmount} ${fiatCurrency} کے برابر یا زیادہ ہونی چاہیے۔",
367 "more_options": "مزید زرائے",
368 "name": "ﻡﺎﻧ",
369 - "nano_gpt_thanks_message": "نانوگپٹ استعمال کرنے کا شکریہ! اپنے لین دین کی تکمیل کے بعد براؤزر کی طرف واپس جانا یاد رکھیں!",
370 - "nanogpt_subtitle": "تمام تازہ ترین ماڈل (GPT-4 ، کلاڈ)۔ n n no سبسکرپشن ، کریپٹو کے ساتھ ادائیگی کریں۔",
369 "nano_current_rep": "موجودہ نمائندہ",
370 + "nano_gpt_thanks_message": "نانوگپٹ استعمال کرنے کا شکریہ! اپنے لین دین کی تکمیل کے بعد براؤزر کی طرف واپس جانا یاد رکھیں!",
371 "nano_pick_new_rep": "ایک نیا نمائندہ منتخب کریں",
372 + "nanogpt_subtitle": "تمام تازہ ترین ماڈل (GPT-4 ، کلاڈ)۔ n n no سبسکرپشن ، کریپٹو کے ساتھ ادائیگی کریں۔",
373 "narrow": "تنگ",
374 "new_first_wallet_text": "آسانی سے اپنے cryptocurrency محفوظ رکھیں",
375 "new_node_testing": "نیا نوڈ ٹیسٹنگ",
@@ -747,6 +747,7 @@
747 "transaction_sent_notice": "اگر اسکرین 1 منٹ کے بعد آگے نہیں بڑھتی ہے، تو بلاک ایکسپلورر اور اپنا ای میل چیک کریں۔",
748 "transactions": "لین دین",
749 "transactions_by_date": "تاریخ کے لحاظ سے لین دین",
750 + "trongrid_history": "ٹرانگریڈ ہسٹری",
751 "trusted": "قابل اعتماد",
752 "tx_commit_exception_no_dust_on_change": "اس رقم سے لین دین کو مسترد کردیا گیا ہے۔ ان سککوں کے ذریعہ آپ بغیر کسی تبدیلی کے ${min} یا ${max} بھیج سکتے ہیں جو لوٹتے ہیں۔",
753 "tx_commit_failed": "ٹرانزیکشن کمٹ ناکام ہوگیا۔ براہ کرم سپورٹ سے رابطہ کریں۔",
res/values/strings_yo.arb
+3 -2
@@ -367,10 +367,10 @@
367 "moonpay_alert_text": "Iye owó kò gbọ́dọ̀ kéré ju ${minAmount} ${fiatCurrency}",
368 "more_options": "Ìyàn àfikún",
369 "name": "Oruko",
370 - "nano_gpt_thanks_message": "O ṣeun fun lilo Nonnogt! Ranti lati tẹle pada si ẹrọ lilọ kiri ayelujara lẹhin iṣowo rẹ pari!",
371 - "nanogpt_subtitle": "Gbogbo awọn awoṣe tuntun (GPT-4, Claude). \\ Nno alabapin kan, sanwo pẹlu Crypto.",
370 "nano_current_rep": "Aṣoju lọwọlọwọ",
371 + "nano_gpt_thanks_message": "O ṣeun fun lilo Nonnogt! Ranti lati tẹle pada si ẹrọ lilọ kiri ayelujara lẹhin iṣowo rẹ pari!",
372 "nano_pick_new_rep": "Mu aṣoju tuntun kan",
373 + "nanogpt_subtitle": "Gbogbo awọn awoṣe tuntun (GPT-4, Claude). \\ Nno alabapin kan, sanwo pẹlu Crypto.",
374 "narrow": "Taara",
375 "new_first_wallet_text": "Ni rọọrun jẹ ki o jẹ ki o jẹ ki o jẹ ki a mu",
376 "new_node_testing": "A ń dán apẹka títun wò",
@@ -746,6 +746,7 @@
746 "transaction_sent_notice": "Tí aṣàfihàn kò bá tẹ̀síwájú l'áàárín ìṣẹ́jú kan, ẹ tọ́ olùṣèwádìí àkójọpọ̀ àti ímeèlì yín wò.",
747 "transactions": "Àwọn àránṣẹ́",
748 "transactions_by_date": "Àwọn àránṣẹ́ t'á ti fi aago ṣa",
749 + "trongrid_history": "Itan Trongrid",
750 "trusted": "A ti fọkàn ẹ̀ tán",
751 "tx_commit_exception_no_dust_on_change": "Iṣowo naa ti kọ pẹlu iye yii. Pẹlu awọn owó wọnyi o le firanṣẹ ${min} laisi ayipada tabi ${max} ni iyipada iyipada.",
752 "tx_commit_failed": "Idunadura iṣowo kuna. Jọwọ kan si atilẹyin.",
res/values/strings_zh.arb
+3 -2
@@ -366,10 +366,10 @@
366 "moonpay_alert_text": "金额的价值必须大于或等于 ${minAmount} ${fiatCurrency}",
367 "more_options": "更多选项",
368 "name": "姓名",
369 - "nano_gpt_thanks_message": "感谢您使用Nanogpt!事务完成后,请记住回到浏览器!",
370 - "nanogpt_subtitle": "所有最新型号(GPT-4,Claude)。\\ nno订阅,用加密货币付款。",
369 "nano_current_rep": "当前代表",
370 + "nano_gpt_thanks_message": "感谢您使用Nanogpt!事务完成后,请记住回到浏览器!",
371 "nano_pick_new_rep": "选择新代表",
372 + "nanogpt_subtitle": "所有最新型号(GPT-4,Claude)。\\ nno订阅,用加密货币付款。",
373 "narrow": "狭窄的",
374 "new_first_wallet_text": "轻松确保您的加密货币安全",
375 "new_node_testing": "新节点测试",
@@ -745,6 +745,7 @@
745 "transaction_sent_notice": "如果屏幕在 1 分钟后没有继续,请检查区块浏览器和您的电子邮件。",
746 "transactions": "交易情况",
747 "transactions_by_date": "按日期交易",
748 + "trongrid_history": "Trongrid历史",
749 "trusted": "值得信赖",
750 "tx_commit_exception_no_dust_on_change": "交易被此金额拒绝。使用这些硬币,您可以发送${min}无需更改或返回${max}的变化。",
751 "tx_commit_failed": "交易承诺失败。请联系支持。",
scripts/android/app_env.sh
+4 -4
@@ -15,15 +15,15 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
15 APP_ANDROID_TYPE=$1
16
17 MONERO_COM_NAME="Monero.com"
18 -MONERO_COM_VERSION="1.12.3"
19 -MONERO_COM_BUILD_NUMBER=84
18 +MONERO_COM_VERSION="1.13.0"
19 +MONERO_COM_BUILD_NUMBER=85
20 MONERO_COM_BUNDLE_ID="com.monero.app"
21 MONERO_COM_PACKAGE="com.monero.app"
22 MONERO_COM_SCHEME="monero.com"
23
24 CAKEWALLET_NAME="Cake Wallet"
25 -CAKEWALLET_VERSION="4.15.6"
26 -CAKEWALLET_BUILD_NUMBER=207
25 +CAKEWALLET_VERSION="4.16.0"
26 +CAKEWALLET_BUILD_NUMBER=208
27 CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
28 CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"
29 CAKEWALLET_SCHEME="cakewallet"
scripts/ios/app_env.sh
+4 -4
@@ -13,13 +13,13 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
13 APP_IOS_TYPE=$1
14
15 MONERO_COM_NAME="Monero.com"
16 -MONERO_COM_VERSION="1.12.3"
17 -MONERO_COM_BUILD_NUMBER=82
16 +MONERO_COM_VERSION="1.13.0"
17 +MONERO_COM_BUILD_NUMBER=83
18 MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
19
20 CAKEWALLET_NAME="Cake Wallet"
21 -CAKEWALLET_VERSION="4.15.6"
22 -CAKEWALLET_BUILD_NUMBER=232
21 +CAKEWALLET_VERSION="4.16.0"
22 +CAKEWALLET_BUILD_NUMBER=234
23 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
24
25 HAVEN_NAME="Haven"
scripts/macos/app_env.sh
+4 -4
@@ -16,13 +16,13 @@ if [ -n "$1" ]; then
16 fi
17
18 MONERO_COM_NAME="Monero.com"
19 -MONERO_COM_VERSION="1.2.3"
20 -MONERO_COM_BUILD_NUMBER=16
19 +MONERO_COM_VERSION="1.3.0"
20 +MONERO_COM_BUILD_NUMBER=17
21 MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
22
23 CAKEWALLET_NAME="Cake Wallet"
24 -CAKEWALLET_VERSION="1.8.6"
25 -CAKEWALLET_BUILD_NUMBER=67
24 +CAKEWALLET_VERSION="1.9.0"
25 +CAKEWALLET_BUILD_NUMBER=69
26 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
27
28 if ! [[ " ${TYPES[*]} " =~ " ${APP_MACOS_TYPE} " ]]; then
tool/configure.dart
+2
@@ -1112,6 +1112,8 @@ abstract class Tron {
1112
1113 String? getTronNativeEstimatedFee(WalletBase wallet);
1114 String? getTronTRC20EstimatedFee(WalletBase wallet);
1115 +
1116 + void updateTronGridUsageState(WalletBase wallet, bool isEnabled);
1117 }
1118 """;
1119