2024-08-10 01:18:55 +03:00
|
|
|
import 'package:cake_wallet/bitcoin/bitcoin.dart';
|
2022-11-23 19:06:41 +02:00
|
|
|
import 'package:cake_wallet/entities/priority_for_wallet_type.dart';
|
2022-11-16 09:29:14 +02:00
|
|
|
import 'package:cake_wallet/generated/i18n.dart';
|
|
|
|
import 'package:cake_wallet/routes.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/base_page.dart';
|
2024-04-08 17:54:58 +03:00
|
|
|
import 'package:cake_wallet/src/screens/settings/widgets/setting_priority_picker_cell.dart';
|
2022-11-16 09:29:14 +02:00
|
|
|
import 'package:cake_wallet/src/screens/settings/widgets/settings_cell_with_arrow.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/settings/widgets/settings_picker_cell.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/settings/widgets/settings_version_cell.dart';
|
2025-04-03 03:31:25 +02:00
|
|
|
import 'package:cake_wallet/utils/feature_flag.dart';
|
2022-11-23 19:06:41 +02:00
|
|
|
import 'package:cake_wallet/view_model/settings/other_settings_view_model.dart';
|
2024-04-08 17:54:58 +03:00
|
|
|
import 'package:cw_core/wallet_type.dart';
|
2022-11-16 09:29:14 +02:00
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter_mobx/flutter_mobx.dart';
|
|
|
|
|
|
|
|
class OtherSettingsPage extends BasePage {
|
2024-08-10 01:18:55 +03:00
|
|
|
OtherSettingsPage(this._otherSettingsViewModel) {
|
|
|
|
if (_otherSettingsViewModel.sendViewModel.isElectrumWallet) {
|
|
|
|
bitcoin!.updateFeeRates(_otherSettingsViewModel.sendViewModel.wallet);
|
|
|
|
}
|
|
|
|
}
|
2022-11-16 09:29:14 +02:00
|
|
|
|
|
|
|
@override
|
|
|
|
String get title => S.current.other_settings;
|
|
|
|
|
2022-11-25 22:51:07 +02:00
|
|
|
final OtherSettingsViewModel _otherSettingsViewModel;
|
2022-11-16 09:29:14 +02:00
|
|
|
|
|
|
|
@override
|
|
|
|
Widget body(BuildContext context) {
|
2023-08-04 20:55:56 +03:00
|
|
|
return Observer(
|
|
|
|
builder: (_) {
|
|
|
|
return Container(
|
|
|
|
padding: EdgeInsets.only(top: 10),
|
|
|
|
child: Column(
|
|
|
|
children: [
|
CW-555-Add-Solana-Wallet (#1272)
* chore: Create cw_solana package and clean up files
* feat: Add Solana Wallet - Create, Restore form seed, restore from Key, Restore from QR, Send, Receive, transaction history, spl tokens
* fix: Make transactions file specific to solana only for solana transactions
* chore: Revert inject app details script
* fix: Fix issue with node and switch current node to main beta instead of testnet
* fix: Fix merge conflicts and adjust migration version
* fix: Fetch spl token error
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
* fix: Diplay and activate spl tokens bug
* fix: Review and fixes
* fix: reverted formatting for cryptocurrency class
* fix: Review comments, split sending flow into signing and sending separately, fix issues
* fix: Revert throwing unimplenented error
* chore: Fix comment
* chore: Fix comment
* fix: Errors in flow
* Update provider_types.dart [skip ci]
* fix: Issues with solana wallet
* Update solana_wallet.dart [skip ci]
* fix: Review comments
* fix: Date time config
* fix: Revert bash script for app details
* fix: Error with balance, displaying fees, fixing sent or received identifier bug, displaying token symbol with token transaction item in transactions list
* fix: Issues with address validation when sending spl tokens and walletconnect initial setup
* fix: Issues with sending, fetching transactions history, almost wrapping up walletconnect
* fix: Adjust imports that would affect monerocom building successfully
* fix: Refine transaction direction and continue work on walletconnect
* feat: Display SPL token transfers in the transaction history and finally settle the transaction direction
* fix: Delay in transactions history dispaly, show native token transactions first, then process spl token transactions
* feat: Switch node and revert solana chain id to previous id
* fix: Remove print statement
* fix: Remove await for transactions, fetch all transaction histories instantly and adjust solana send success message
* chore: Code refactoring and streamlined wallet type check for solana send success message
* fix: Make timeout error for node silent and add spl token images
---------
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-02-23 14:39:19 +01:00
|
|
|
if (_otherSettingsViewModel.displayTransactionPriority)
|
2024-04-08 17:54:58 +03:00
|
|
|
_otherSettingsViewModel.walletType == WalletType.bitcoin ?
|
|
|
|
SettingsPriorityPickerCell(
|
|
|
|
title: S.current.settings_fee_priority,
|
|
|
|
items: priorityForWalletType(_otherSettingsViewModel.walletType),
|
|
|
|
displayItem: _otherSettingsViewModel.getDisplayBitcoinPriority,
|
|
|
|
selectedItem: _otherSettingsViewModel.transactionPriority,
|
|
|
|
customItemIndex: _otherSettingsViewModel.customPriorityItemIndex,
|
|
|
|
onItemSelected: _otherSettingsViewModel.onDisplayBitcoinPrioritySelected,
|
|
|
|
customValue: _otherSettingsViewModel.customBitcoinFeeRate,
|
2024-04-25 19:28:18 +03:00
|
|
|
maxValue: _otherSettingsViewModel.maxCustomFeeRate?.toDouble(),
|
2024-04-08 17:54:58 +03:00
|
|
|
) :
|
|
|
|
SettingsPickerCell(
|
|
|
|
title: S.current.settings_fee_priority,
|
|
|
|
items: priorityForWalletType(_otherSettingsViewModel.walletType),
|
|
|
|
displayItem: _otherSettingsViewModel.getDisplayPriority,
|
|
|
|
selectedItem: _otherSettingsViewModel.transactionPriority,
|
|
|
|
onItemSelected: _otherSettingsViewModel.onDisplayPrioritySelected,
|
|
|
|
),
|
2023-10-04 21:09:07 -04:00
|
|
|
if (_otherSettingsViewModel.changeRepresentativeEnabled)
|
|
|
|
SettingsCellWithArrow(
|
|
|
|
title: S.current.change_rep,
|
|
|
|
handler: (BuildContext context) =>
|
|
|
|
Navigator.of(context).pushNamed(Routes.changeRep),
|
|
|
|
),
|
2023-08-04 20:55:56 +03:00
|
|
|
SettingsCellWithArrow(
|
|
|
|
title: S.current.settings_terms_and_conditions,
|
|
|
|
handler: (BuildContext context) =>
|
|
|
|
Navigator.of(context).pushNamed(Routes.readDisclaimer),
|
|
|
|
),
|
2025-04-03 03:31:25 +02:00
|
|
|
if (FeatureFlag.hasDevOptions && _otherSettingsViewModel.walletType == WalletType.monero)
|
2025-03-21 18:22:00 +01:00
|
|
|
SettingsCellWithArrow(
|
|
|
|
title: '[dev] monero background sync',
|
|
|
|
handler: (BuildContext context) =>
|
|
|
|
Navigator.of(context).pushNamed(Routes.devMoneroBackgroundSync),
|
|
|
|
),
|
2025-04-03 03:31:25 +02:00
|
|
|
if (FeatureFlag.hasDevOptions && [WalletType.monero, WalletType.wownero, WalletType.zano].contains(_otherSettingsViewModel.walletType))
|
|
|
|
SettingsCellWithArrow(
|
|
|
|
title: '[dev] xmr call profiler',
|
|
|
|
handler: (BuildContext context) =>
|
|
|
|
Navigator.of(context).pushNamed(Routes.devMoneroCallProfiler),
|
|
|
|
),
|
2025-04-24 19:06:43 +02:00
|
|
|
if (FeatureFlag.hasDevOptions)
|
|
|
|
SettingsCellWithArrow(
|
|
|
|
title: '[dev] shared preferences',
|
|
|
|
handler: (BuildContext context) =>
|
|
|
|
Navigator.of(context).pushNamed(Routes.devSharedPreferences),
|
|
|
|
),
|
|
|
|
if (FeatureFlag.hasDevOptions)
|
|
|
|
SettingsCellWithArrow(
|
|
|
|
title: '[dev] background sync logs',
|
|
|
|
handler: (BuildContext context) =>
|
|
|
|
Navigator.of(context).pushNamed(Routes.devBackgroundSyncLogs),
|
|
|
|
),
|
2023-08-04 20:55:56 +03:00
|
|
|
Spacer(),
|
|
|
|
SettingsVersionCell(
|
2023-10-04 21:09:07 -04:00
|
|
|
title: S.of(context).version(_otherSettingsViewModel.currentVersion)),
|
2023-08-04 20:55:56 +03:00
|
|
|
],
|
2022-11-16 09:29:14 +02:00
|
|
|
),
|
2023-08-04 20:55:56 +03:00
|
|
|
);
|
|
|
|
},
|
|
|
|
);
|
2022-11-16 09:29:14 +02:00
|
|
|
}
|
|
|
|
}
|