untested paynym refactor impl

This commit is contained in:
julian 2023-11-16 10:54:57 -06:00
parent 039727b422
commit c6150b23d9
14 changed files with 1513 additions and 1513 deletions

View file

@ -26,13 +26,13 @@ import 'package:stackwallet/pages/send_view/send_view.dart';
import 'package:stackwallet/providers/global/locale_provider.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
import 'package:stackwallet/route_generator.dart';
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/assets.dart';
import 'package:stackwallet/utilities/enums/coin_enum.dart';
import 'package:stackwallet/utilities/text_styles.dart';
import 'package:stackwallet/wallets/isar/providers/wallet_info_provider.dart';
import 'package:stackwallet/wallets/models/tx_data.dart';
import 'package:stackwallet/wallets/wallet/mixins/paynym_interface.dart';
import 'package:stackwallet/widgets/custom_buttons/paynym_follow_toggle_button.dart';
import 'package:stackwallet/widgets/desktop/desktop_dialog.dart';
import 'package:stackwallet/widgets/desktop/primary_button.dart';
@ -86,7 +86,7 @@ class _PaynymDetailsPopupState extends ConsumerState<PaynymDetailsPopup> {
);
final wallet =
ref.read(pWallets).getWallet(widget.walletId) as PaynymWalletInterface;
ref.read(pWallets).getWallet(widget.walletId) as PaynymInterface;
final coin = ref.read(pWalletCoin(widget.walletId));
if (await wallet.hasConnected(widget.accountLite.code)) {
@ -168,7 +168,7 @@ class _PaynymDetailsPopupState extends ConsumerState<PaynymDetailsPopup> {
@override
Widget build(BuildContext context) {
final wallet =
ref.watch(pWallets).getWallet(widget.walletId) as PaynymWalletInterface;
ref.watch(pWallets).getWallet(widget.walletId) as PaynymInterface;
return DesktopDialog(
maxWidth: MediaQuery.of(context).size.width - 32,

View file

@ -20,11 +20,11 @@ import 'package:stackwallet/pages/wallet_view/wallet_view.dart';
import 'package:stackwallet/providers/global/paynym_api_provider.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
import 'package:stackwallet/providers/wallet/my_paynym_account_state_provider.dart';
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/assets.dart';
import 'package:stackwallet/utilities/text_styles.dart';
import 'package:stackwallet/utilities/util.dart';
import 'package:stackwallet/wallets/wallet/mixins/paynym_interface.dart';
import 'package:stackwallet/widgets/conditional_parent.dart';
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart';
@ -48,7 +48,7 @@ class PaynymClaimView extends ConsumerStatefulWidget {
class _PaynymClaimViewState extends ConsumerState<PaynymClaimView> {
Future<bool> _addSegwitCode(PaynymAccount myAccount) async {
final wallet =
ref.read(pWallets).getWallet(widget.walletId) as PaynymWalletInterface;
ref.read(pWallets).getWallet(widget.walletId) as PaynymInterface;
final token = await ref
.read(paynymAPIProvider)
@ -188,7 +188,7 @@ class _PaynymClaimViewState extends ConsumerState<PaynymClaimView> {
);
final wallet = ref.read(pWallets).getWallet(widget.walletId)
as PaynymWalletInterface;
as PaynymInterface;
if (shouldCancel) return;

View file

@ -24,13 +24,13 @@ import 'package:stackwallet/pages/send_view/confirm_transaction_view.dart';
import 'package:stackwallet/pages_desktop_specific/my_stack_view/paynym/desktop_paynym_send_dialog.dart';
import 'package:stackwallet/providers/global/locale_provider.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/assets.dart';
import 'package:stackwallet/utilities/enums/coin_enum.dart';
import 'package:stackwallet/utilities/text_styles.dart';
import 'package:stackwallet/wallets/isar/providers/wallet_info_provider.dart';
import 'package:stackwallet/wallets/models/tx_data.dart';
import 'package:stackwallet/wallets/wallet/mixins/paynym_interface.dart';
import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart';
import 'package:stackwallet/widgets/custom_buttons/paynym_follow_toggle_button.dart';
import 'package:stackwallet/widgets/desktop/desktop_dialog.dart';
@ -72,7 +72,7 @@ class _PaynymDetailsPopupState extends ConsumerState<DesktopPaynymDetails> {
);
final wallet =
ref.read(pWallets).getWallet(widget.walletId) as PaynymWalletInterface;
ref.read(pWallets).getWallet(widget.walletId) as PaynymInterface;
if (await wallet.hasConnected(widget.accountLite.code)) {
canPop = true;
@ -165,7 +165,7 @@ class _PaynymDetailsPopupState extends ConsumerState<DesktopPaynymDetails> {
Widget build(BuildContext context) {
final wallet = ref.watch(pWallets).getWallet(widget.walletId);
final paynymWallet = wallet as PaynymWalletInterface;
final paynymWallet = wallet as PaynymInterface;
return RoundedWhiteContainer(
padding: const EdgeInsets.all(0),

View file

@ -16,12 +16,12 @@ import 'package:stackwallet/pages/paynym/subwidgets/paynym_card_button.dart';
import 'package:stackwallet/providers/global/paynym_api_provider.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
import 'package:stackwallet/providers/wallet/my_paynym_account_state_provider.dart';
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/constants.dart';
import 'package:stackwallet/utilities/logger.dart';
import 'package:stackwallet/utilities/text_styles.dart';
import 'package:stackwallet/utilities/util.dart';
import 'package:stackwallet/wallets/wallet/mixins/paynym_interface.dart';
import 'package:stackwallet/widgets/conditional_parent.dart';
import 'package:stackwallet/widgets/rounded_white_container.dart';
@ -76,7 +76,7 @@ class _PaynymFollowersListState extends ConsumerState<PaynymFollowersList> {
onRefresh: () async {
try {
final wallet = ref.read(pWallets).getWallet(widget.walletId)
as PaynymWalletInterface;
as PaynymInterface;
// get payment code
final pCode = await wallet.getPaymentCode(

View file

@ -16,12 +16,12 @@ import 'package:stackwallet/pages/paynym/subwidgets/paynym_card_button.dart';
import 'package:stackwallet/providers/global/paynym_api_provider.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
import 'package:stackwallet/providers/wallet/my_paynym_account_state_provider.dart';
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/constants.dart';
import 'package:stackwallet/utilities/logger.dart';
import 'package:stackwallet/utilities/text_styles.dart';
import 'package:stackwallet/utilities/util.dart';
import 'package:stackwallet/wallets/wallet/mixins/paynym_interface.dart';
import 'package:stackwallet/widgets/conditional_parent.dart';
import 'package:stackwallet/widgets/rounded_white_container.dart';
@ -76,7 +76,7 @@ class _PaynymFollowingListState extends ConsumerState<PaynymFollowingList> {
onRefresh: () async {
try {
final wallet = ref.read(pWallets).getWallet(widget.walletId)
as PaynymWalletInterface;
as PaynymInterface;
// get payment code
final pCode = await wallet.getPaymentCode(

View file

@ -11,7 +11,6 @@
import 'dart:async';
import 'dart:io';
import 'package:bip47/bip47.dart';
import 'package:cw_core/monero_transaction_priority.dart';
import 'package:decimal/decimal.dart';
import 'package:flutter/material.dart';
@ -33,7 +32,6 @@ import 'package:stackwallet/providers/ui/preview_tx_button_state_provider.dart';
import 'package:stackwallet/providers/wallet/public_private_balance_state_provider.dart';
import 'package:stackwallet/route_generator.dart';
import 'package:stackwallet/services/mixins/coin_control_interface.dart';
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
import 'package:stackwallet/themes/coin_icon_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/address_utils.dart';
@ -53,6 +51,7 @@ import 'package:stackwallet/utilities/text_styles.dart';
import 'package:stackwallet/utilities/util.dart';
import 'package:stackwallet/wallets/isar/providers/wallet_info_provider.dart';
import 'package:stackwallet/wallets/models/tx_data.dart';
import 'package:stackwallet/wallets/wallet/mixins/paynym_interface.dart';
import 'package:stackwallet/widgets/animated_text.dart';
import 'package:stackwallet/widgets/background.dart';
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
@ -473,27 +472,25 @@ class _SendViewState extends ConsumerState<SendView> {
Future<TxData> txDataFuture;
if (isPaynymSend) {
final paymentCode = PaymentCode.fromPaymentCode(
widget.accountLite!.code,
networkType: (wallet as PaynymWalletInterface).networkType,
final feeRate = ref.read(feeRateTypeStateProvider);
txDataFuture = (wallet as PaynymInterface).preparePaymentCodeSend(
txData: TxData(
paynymAccountLite: widget.accountLite!,
recipients: [
(
address: widget.accountLite!.code,
amount: amount,
)
],
satsPerVByte: isCustomFee ? customFeeRate : null,
feeRateType: feeRate,
utxos: (wallet is CoinControlInterface &&
coinControlEnabled &&
selectedUTXOs.isNotEmpty)
? selectedUTXOs
: null,
),
);
throw UnimplementedError("FIXME");
// TODO: [prio=high] paynym prepare send using TxData
// final feeRate = ref.read(feeRateTypeStateProvider);
// txDataFuture = (wallet as PaynymWalletInterface).preparePaymentCodeSend(
// paymentCode: paymentCode,
// isSegwit: widget.accountLite!.segwit,
// amount: amount,
// args: {
// "satsPerVByte": isCustomFee ? customFeeRate : null,
// "feeRate": feeRate,
// "UTXOs": (wallet is CoinControlInterface &&
// coinControlEnabled &&
// selectedUTXOs.isNotEmpty)
// ? selectedUTXOs
// : null,
// },
// );
} else if ((coin == Coin.firo || coin == Coin.firoTestNet) &&
ref.read(publicPrivateBalanceStateProvider.state).state !=
"Private") {
@ -534,13 +531,20 @@ class _SendViewState extends ConsumerState<SendView> {
TxData txData = results.first as TxData;
if (!wasCancelled && mounted) {
if (isPaynymSend) {
txData = txData.copyWith(
paynymAccountLite: widget.accountLite!,
note: noteController.text.isNotEmpty
? noteController.text
: "PayNym send",
);
} else {
txData = txData.copyWith(note: noteController.text);
txData = txData.copyWith(noteOnChain: onChainNoteController.text);
}
// pop building dialog
Navigator.of(context).pop();
txData = txData.copyWith(note: noteController.text);
txData = txData.copyWith(noteOnChain: onChainNoteController.text);
if (isPaynymSend) {
txData = txData.copyWith(paynymAccountLite: widget.accountLite!);
}
unawaited(Navigator.of(context).push(
RouteGenerator.getRoute(

View file

@ -55,7 +55,6 @@ import 'package:stackwallet/services/event_bus/global_event_bus.dart';
import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart';
import 'package:stackwallet/services/mixins/coin_control_interface.dart';
import 'package:stackwallet/services/mixins/ordinals_interface.dart';
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
import 'package:stackwallet/themes/coin_icon_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/theme_providers.dart';
@ -71,6 +70,7 @@ import 'package:stackwallet/utilities/show_loading.dart';
import 'package:stackwallet/utilities/text_styles.dart';
import 'package:stackwallet/wallets/isar/providers/wallet_info_provider.dart';
import 'package:stackwallet/wallets/wallet/mixins/cash_fusion.dart';
import 'package:stackwallet/wallets/wallet/mixins/paynym_interface.dart';
import 'package:stackwallet/widgets/background.dart';
import 'package:stackwallet/widgets/conditional_parent.dart';
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
@ -1047,8 +1047,8 @@ class _WalletViewState extends ConsumerState<WalletView> {
);
},
),
if (ref.watch(pWallets.select((value) => value
.getWallet(widget.walletId) is PaynymWalletInterface)))
if (ref.watch(pWallets.select((value) =>
value.getWallet(widget.walletId) is PaynymInterface)))
WalletNavigationBarItemData(
label: "PayNym",
icon: const PaynymNavIcon(),
@ -1065,7 +1065,7 @@ class _WalletViewState extends ConsumerState<WalletView> {
final wallet =
ref.read(pWallets).getWallet(widget.walletId);
final paynymInterface = wallet as PaynymWalletInterface;
final paynymInterface = wallet as PaynymInterface;
final code = await paynymInterface.getPaymentCode(
isSegwit: false,

View file

@ -10,7 +10,6 @@
import 'dart:async';
import 'package:bip47/bip47.dart';
import 'package:cw_core/monero_transaction_priority.dart';
import 'package:decimal/decimal.dart';
import 'package:dropdown_button2/dropdown_button2.dart';
@ -33,7 +32,6 @@ import 'package:stackwallet/providers/ui/fee_rate_type_state_provider.dart';
import 'package:stackwallet/providers/ui/preview_tx_button_state_provider.dart';
import 'package:stackwallet/providers/wallet/public_private_balance_state_provider.dart';
import 'package:stackwallet/services/mixins/coin_control_interface.dart';
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/address_utils.dart';
import 'package:stackwallet/utilities/amount/amount.dart';
@ -52,6 +50,7 @@ import 'package:stackwallet/utilities/text_styles.dart';
import 'package:stackwallet/utilities/util.dart';
import 'package:stackwallet/wallets/isar/providers/wallet_info_provider.dart';
import 'package:stackwallet/wallets/models/tx_data.dart';
import 'package:stackwallet/wallets/wallet/mixins/paynym_interface.dart';
import 'package:stackwallet/widgets/animated_text.dart';
import 'package:stackwallet/widgets/conditional_parent.dart';
import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart';
@ -296,28 +295,27 @@ class _DesktopSendState extends ConsumerState<DesktopSend> {
Future<TxData> txDataFuture;
if (isPaynymSend) {
final paynymWallet = wallet as PaynymWalletInterface;
final paymentCode = PaymentCode.fromPaymentCode(
widget.accountLite!.code,
networkType: paynymWallet.networkType,
final paynymWallet = wallet as PaynymInterface;
final feeRate = ref.read(feeRateTypeStateProvider);
txDataFuture = paynymWallet.preparePaymentCodeSend(
txData: TxData(
paynymAccountLite: widget.accountLite!,
recipients: [
(
address: widget.accountLite!.code,
amount: amount,
)
],
satsPerVByte: isCustomFee ? customFeeRate : null,
feeRateType: feeRate,
utxos: (wallet is CoinControlInterface &&
coinControlEnabled &&
ref.read(desktopUseUTXOs).isNotEmpty)
? ref.read(desktopUseUTXOs)
: null,
),
);
throw UnimplementedError("FIXME");
// TODO: [prio=high] paynym prepare send using TxData
// final feeRate = ref.read(feeRateTypeStateProvider);
// txDataFuture = paynymWallet.preparePaymentCodeSend(
// paymentCode: paymentCode,
// isSegwit: widget.accountLite!.segwit,
// amount: amount,
// args: {
// "satsPerVByte": isCustomFee ? customFeeRate : null,
// "feeRate": feeRate,
// "UTXOs": (wallet is CoinControlInterface &&
// coinControlEnabled &&
// ref.read(desktopUseUTXOs).isNotEmpty)
// ? ref.read(desktopUseUTXOs)
// : null,
// },
// );
} else if ((coin == Coin.firo || coin == Coin.firoTestNet) &&
ref.read(publicPrivateBalanceStateProvider.state).state !=
"Private") {

View file

@ -32,7 +32,6 @@ import 'package:stackwallet/providers/wallet/my_paynym_account_state_provider.da
import 'package:stackwallet/services/coins/firo/firo_wallet.dart';
import 'package:stackwallet/services/mixins/coin_control_interface.dart';
import 'package:stackwallet/services/mixins/ordinals_interface.dart';
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/theme_providers.dart';
import 'package:stackwallet/utilities/amount/amount.dart';
@ -42,6 +41,7 @@ import 'package:stackwallet/utilities/enums/coin_enum.dart';
import 'package:stackwallet/utilities/logger.dart';
import 'package:stackwallet/utilities/text_styles.dart';
import 'package:stackwallet/wallets/wallet/mixins/cash_fusion.dart';
import 'package:stackwallet/wallets/wallet/mixins/paynym_interface.dart';
import 'package:stackwallet/widgets/custom_loading_overlay.dart';
import 'package:stackwallet/widgets/desktop/desktop_dialog.dart';
import 'package:stackwallet/widgets/desktop/primary_button.dart';
@ -284,7 +284,7 @@ class _DesktopWalletFeaturesState extends ConsumerState<DesktopWalletFeatures> {
);
final wallet =
ref.read(pWallets).getWallet(widget.walletId) as PaynymWalletInterface;
ref.read(pWallets).getWallet(widget.walletId) as PaynymInterface;
final code = await wallet.getPaymentCode(isSegwit: false);
@ -349,7 +349,7 @@ class _DesktopWalletFeaturesState extends ConsumerState<DesktopWalletFeatures> {
final wallet = ref.watch(pWallets).getWallet(widget.walletId);
final coin = wallet.info.coin;
final showMore = wallet is PaynymWalletInterface ||
final showMore = wallet is PaynymInterface ||
(wallet is CoinControlInterface &&
ref.watch(
prefsChangeNotifierProvider.select(

View file

@ -15,12 +15,12 @@ import 'package:stackwallet/providers/global/prefs_provider.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
import 'package:stackwallet/services/mixins/coin_control_interface.dart';
import 'package:stackwallet/services/mixins/ordinals_interface.dart';
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/assets.dart';
import 'package:stackwallet/utilities/enums/coin_enum.dart';
import 'package:stackwallet/utilities/text_styles.dart';
import 'package:stackwallet/wallets/wallet/mixins/cash_fusion.dart';
import 'package:stackwallet/wallets/wallet/mixins/paynym_interface.dart';
import 'package:stackwallet/widgets/desktop/desktop_dialog.dart';
import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart';
import 'package:stackwallet/widgets/rounded_container.dart';
@ -108,7 +108,7 @@ class _MoreFeaturesDialogState extends ConsumerState<MoreFeaturesDialog> {
iconAsset: Assets.svg.coinControl.gamePad,
onPressed: () => widget.onCoinControlPressed?.call(),
),
if (wallet is PaynymWalletInterface)
if (wallet is PaynymInterface)
_MoreFeaturesItem(
label: "PayNym",
detail: "Increased address privacy using BIP47",

View file

@ -17,10 +17,10 @@ import 'package:stackwallet/models/isar/models/blockchain_data/v2/input_v2.dart'
import 'package:stackwallet/models/isar/models/blockchain_data/v2/output_v2.dart';
import 'package:stackwallet/models/isar/models/blockchain_data/v2/transaction_v2.dart';
import 'package:stackwallet/models/isar/models/isar_models.dart';
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
import 'package:stackwallet/utilities/amount/amount.dart';
import 'package:stackwallet/utilities/enums/coin_enum.dart';
import 'package:stackwallet/utilities/util.dart' as util;
import 'package:stackwallet/wallets/wallet/mixins/paynym_interface.dart';
import 'package:tuple/tuple.dart';
mixin ElectrumXParsing {
@ -331,7 +331,7 @@ mixin ElectrumXParsing {
}
TransactionSubType txSubType = TransactionSubType.none;
if (this is PaynymWalletInterface && outs.length > 1 && ins.isNotEmpty) {
if (this is PaynymInterface && outs.length > 1 && ins.isNotEmpty) {
for (int i = 0; i < outs.length; i++) {
List<String>? scriptChunks = outs[i].scriptPubKeyAsm?.split(" ");
if (scriptChunks?.length == 2 && scriptChunks?[0] == "OP_RETURN") {

File diff suppressed because it is too large Load diff

View file

@ -11,7 +11,6 @@ import 'package:stackwallet/electrumx_rpc/electrumx_client.dart';
import 'package:stackwallet/models/isar/models/isar_models.dart';
import 'package:stackwallet/models/paymint/fee_object_model.dart';
import 'package:stackwallet/models/signing_data.dart';
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
import 'package:stackwallet/utilities/amount/amount.dart';
import 'package:stackwallet/utilities/enums/coin_enum.dart';
import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart';
@ -19,6 +18,7 @@ import 'package:stackwallet/utilities/enums/fee_rate_type_enum.dart';
import 'package:stackwallet/utilities/logger.dart';
import 'package:stackwallet/wallets/models/tx_data.dart';
import 'package:stackwallet/wallets/wallet/intermediate/bip39_hd_wallet.dart';
import 'package:stackwallet/wallets/wallet/mixins/paynym_interface.dart';
import 'package:uuid/uuid.dart';
mixin ElectrumX on Bip39HDWallet {
@ -1268,7 +1268,7 @@ mixin ElectrumX on Bip39HDWallet {
}
TransactionSubType txSubType = TransactionSubType.none;
if (this is PaynymWalletInterface && outs.length > 1 && ins.isNotEmpty) {
if (this is PaynymInterface && outs.length > 1 && ins.isNotEmpty) {
for (int i = 0; i < outs.length; i++) {
List<String>? scriptChunks = outs[i].scriptPubKeyAsm?.split(" ");
if (scriptChunks?.length == 2 && scriptChunks?[0] == "OP_RETURN") {

View file

@ -19,10 +19,10 @@ import 'package:stackwallet/notifications/show_flush_bar.dart';
import 'package:stackwallet/providers/global/paynym_api_provider.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
import 'package:stackwallet/providers/wallet/my_paynym_account_state_provider.dart';
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/assets.dart';
import 'package:stackwallet/utilities/util.dart';
import 'package:stackwallet/wallets/wallet/mixins/paynym_interface.dart';
import 'package:stackwallet/widgets/desktop/primary_button.dart';
import 'package:stackwallet/widgets/desktop/secondary_button.dart';
import 'package:stackwallet/widgets/loading_indicator.dart';
@ -67,10 +67,9 @@ class _PaynymFollowToggleButtonState
),
);
// TODO: [prio=high] FIX THIS BAD as CAST
// get wallet to access paynym calls
final wallet =
ref.read(pWallets).getWallet(widget.walletId) as PaynymWalletInterface;
ref.read(pWallets).getWallet(widget.walletId) as PaynymInterface;
final followedAccount = await ref
.read(paynymAPIProvider)
@ -167,9 +166,8 @@ class _PaynymFollowToggleButtonState
),
);
// TODO: [prio=high] FIX THIS BAD as CAST
final wallet =
ref.read(pWallets).getWallet(widget.walletId) as PaynymWalletInterface;
ref.read(pWallets).getWallet(widget.walletId) as PaynymInterface;
final followedAccount = await ref
.read(paynymAPIProvider)