Skip to content

Commit 4a860f0

Browse files
committed
refactor(spl): remove unneeded sol wallet token address provider
1 parent cc4ecbb commit 4a860f0

File tree

4 files changed

+20
-44
lines changed

4 files changed

+20
-44
lines changed

lib/pages/add_wallet_views/add_token_view/edit_wallet_tokens_view.dart

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import '../../../utilities/default_spl_tokens.dart';
3131
import '../../../utilities/text_styles.dart';
3232
import '../../../utilities/util.dart';
3333
import '../../../wallets/isar/providers/wallet_info_provider.dart';
34-
import '../../../wallets/isar/providers/solana/sol_wallet_token_addresses_provider.dart';
3534
import '../../../wallets/wallet/impl/ethereum_wallet.dart';
3635
import '../../../wallets/wallet/impl/solana_wallet.dart';
3736
import '../../../widgets/background.dart';
@@ -376,14 +375,8 @@ class _EditWalletTokensViewState extends ConsumerState<EditWalletTokensView> {
376375
tokenEntities.addAll(contracts.map((e) => AddTokenListElementData(e)));
377376
}
378377

379-
// Get the appropriate token addresses based on wallet type.
380-
List<String> walletContracts = [];
381-
382-
if (wallet is SolanaWallet) {
383-
walletContracts = ref.read(pSolanaWalletTokenAddresses(widget.walletId));
384-
} else {
385-
walletContracts = ref.read(pWalletTokenAddresses(widget.walletId));
386-
}
378+
// Get token addresses.
379+
final walletContracts = ref.read(pWalletTokenAddresses(widget.walletId));
387380

388381
final shouldMarkAsSelectedContracts = [
389382
...walletContracts,

lib/pages/token_view/my_tokens_view.dart

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import '../../utilities/assets.dart';
2020
import '../../utilities/constants.dart';
2121
import '../../utilities/text_styles.dart';
2222
import '../../utilities/util.dart';
23-
import '../../wallets/isar/providers/solana/sol_wallet_token_addresses_provider.dart';
2423
import '../../wallets/isar/providers/wallet_info_provider.dart';
2524
import '../../wallets/wallet/impl/solana_wallet.dart';
2625
import '../../widgets/background.dart';
@@ -224,21 +223,20 @@ class _MyTokensViewState extends ConsumerState<MyTokensView> {
224223
child: Builder(
225224
builder: (context) {
226225
final wallet = ref.watch(pWallets).getWallet(widget.walletId);
226+
final tokenAddresses = ref.watch(
227+
pWalletTokenAddresses(widget.walletId),
228+
);
227229
if (wallet is SolanaWallet) {
228230
return SolanaTokensList(
229231
walletId: widget.walletId,
230232
searchTerm: _searchString,
231-
tokenMints: ref.watch(
232-
pSolanaWalletTokenAddresses(widget.walletId),
233-
),
233+
tokenMints: tokenAddresses,
234234
);
235235
} else {
236236
return MyTokensList(
237237
walletId: widget.walletId,
238238
searchTerm: _searchString,
239-
tokenContracts: ref.watch(
240-
pWalletTokenAddresses(widget.walletId),
241-
),
239+
tokenContracts: tokenAddresses,
242240
);
243241
}
244242
},

lib/wallets/isar/providers/solana/sol_wallet_token_addresses_provider.dart

Lines changed: 0 additions & 23 deletions
This file was deleted.

lib/wallets/isar/providers/wallet_info_provider.dart

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,21 @@ final pWalletReceivingAddress = Provider.family<String, String>((
9696
);
9797
});
9898

99+
/// Provider for wallet token addresses (Ethereum) or token mint addresses (Solana).
100+
///
101+
/// Returns the appropriate token list based on the wallet's coin type.
102+
///
103+
/// For Ethereum wallets: returns tokenContractAddresses.
104+
/// For Solana wallets: returns solanaTokenMintAddresses.
99105
final pWalletTokenAddresses = Provider.family<List<String>, String>((
100106
ref,
101107
walletId,
102108
) {
103-
return ref.watch(
104-
_wiProvider(
105-
walletId,
106-
).select((value) => (value.value as WalletInfo).tokenContractAddresses),
107-
);
109+
final walletInfo = ref.watch(pWalletInfo(walletId));
110+
111+
if (walletInfo.coin.prettyName == 'Solana') {
112+
return walletInfo.solanaTokenMintAddresses;
113+
} else {
114+
return walletInfo.tokenContractAddresses;
115+
}
108116
});

0 commit comments

Comments
 (0)