From c51ef8ee268e00ed8945672ea2f158aa5080c41d Mon Sep 17 00:00:00 2001 From: julian <julian@cypherstack.com> Date: Thu, 23 Mar 2023 16:28:20 -0600 Subject: [PATCH] edit wallet token list --- .../add_token_view/add_token_view.dart | 12 ++++++- .../sub_widgets/add_token_text.dart | 2 +- .../coins/ethereum/ethereum_wallet.dart | 32 +++++++++---------- 3 files changed, 28 insertions(+), 18 deletions(-) diff --git a/lib/pages/add_wallet_views/add_token_view/add_token_view.dart b/lib/pages/add_wallet_views/add_token_view/add_token_view.dart index fc542d513..0582440b2 100644 --- a/lib/pages/add_wallet_views/add_token_view/add_token_view.dart +++ b/lib/pages/add_wallet_views/add_token_view/add_token_view.dart @@ -80,7 +80,7 @@ class _AddTokenViewState extends ConsumerState<AddTokenView> { .getManager(widget.walletId) .wallet as EthereumWallet; - await ethWallet.addTokenContracts(selectedTokens); + await ethWallet.updateTokenContracts(selectedTokens); if (mounted) { Navigator.of(context).pop(42); } @@ -121,6 +121,16 @@ class _AddTokenViewState extends ConsumerState<AddTokenView> { tokenEntities.addAll(contracts.map((e) => AddTokenListElementData(e))); + final walletContracts = (ref + .read(walletsChangeNotifierProvider) + .getManager(widget.walletId) + .wallet as EthereumWallet) + .getWalletTokenContractAddresses(); + + for (var e in tokenEntities) { + e.selected = walletContracts.contains(e.token.address); + } + super.initState(); } diff --git a/lib/pages/add_wallet_views/add_token_view/sub_widgets/add_token_text.dart b/lib/pages/add_wallet_views/add_token_view/sub_widgets/add_token_text.dart index c11e6295a..c1edfc2eb 100644 --- a/lib/pages/add_wallet_views/add_token_view/sub_widgets/add_token_text.dart +++ b/lib/pages/add_wallet_views/add_token_view/sub_widgets/add_token_text.dart @@ -27,7 +27,7 @@ class AddTokenText extends StatelessWidget { height: 4, ), Text( - "Add Tokens", + "Edit Tokens", textAlign: TextAlign.center, style: isDesktop ? STextStyles.desktopH2(context) diff --git a/lib/services/coins/ethereum/ethereum_wallet.dart b/lib/services/coins/ethereum/ethereum_wallet.dart index 3ea83be65..636c12c9c 100644 --- a/lib/services/coins/ethereum/ethereum_wallet.dart +++ b/lib/services/coins/ethereum/ethereum_wallet.dart @@ -62,10 +62,10 @@ class EthereumWallet extends CoinServiceAPI with WalletCache, WalletDB { Timer? timer; Timer? _networkAliveTimer; - Future<void> addTokenContracts(List<String> contractAddresses) async { - final set = getWalletTokenContractAddresses().toSet(); - set.addAll(contractAddresses); - await updateWalletTokenContractAddresses(set.toList()); + Future<void> updateTokenContracts(List<String> contractAddresses) async { + // final set = getWalletTokenContractAddresses().toSet(); + // set.addAll(contractAddresses); + await updateWalletTokenContractAddresses(contractAddresses); GlobalEventBus.instance.fire( UpdatedInBackgroundEvent( @@ -75,18 +75,18 @@ class EthereumWallet extends CoinServiceAPI with WalletCache, WalletDB { ); } - Future<void> removeTokenContract(String contractAddress) async { - final set = getWalletTokenContractAddresses().toSet(); - set.removeWhere((e) => e == contractAddress); - await updateWalletTokenContractAddresses(set.toList()); - - GlobalEventBus.instance.fire( - UpdatedInBackgroundEvent( - "$contractAddress removed for: $walletId $walletName", - walletId, - ), - ); - } + // Future<void> removeTokenContract(String contractAddress) async { + // final set = getWalletTokenContractAddresses().toSet(); + // set.removeWhere((e) => e == contractAddress); + // await updateWalletTokenContractAddresses(set.toList()); + // + // GlobalEventBus.instance.fire( + // UpdatedInBackgroundEvent( + // "$contractAddress removed for: $walletId $walletName", + // walletId, + // ), + // ); + // } @override String get walletId => _walletId;