paynym confirm transaction view flags and routing branch

This commit is contained in:
julian 2023-01-09 15:43:16 -06:00
parent cba33a1d69
commit bffe5e09ca

View file

@ -12,6 +12,8 @@ import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub
import 'package:stackwallet/providers/providers.dart';
import 'package:stackwallet/providers/wallet/public_private_balance_state_provider.dart';
import 'package:stackwallet/route_generator.dart';
import 'package:stackwallet/services/coins/coin_paynym_extension.dart';
import 'package:stackwallet/services/coins/dogecoin/dogecoin_wallet.dart';
import 'package:stackwallet/services/coins/epiccash/epiccash_wallet.dart';
import 'package:stackwallet/services/coins/firo/firo_wallet.dart';
import 'package:stackwallet/utilities/assets.dart';
@ -41,6 +43,9 @@ class ConfirmTransactionView extends ConsumerStatefulWidget {
required this.walletId,
this.routeOnSuccessName = WalletView.routeName,
this.isTradeTransaction = false,
this.isPaynymTransaction = false,
this.isPaynymNotificationTransaction = false,
this.onSuccessInsteadOfRouteOnSuccess,
}) : super(key: key);
static const String routeName = "/confirmTransactionView";
@ -49,6 +54,9 @@ class ConfirmTransactionView extends ConsumerStatefulWidget {
final String walletId;
final String routeOnSuccessName;
final bool isTradeTransaction;
final bool isPaynymTransaction;
final bool isPaynymNotificationTransaction;
final VoidCallback? onSuccessInsteadOfRouteOnSuccess;
@override
ConsumerState<ConfirmTransactionView> createState() =>
@ -83,14 +91,22 @@ class _ConfirmTransactionViewState
try {
String txid;
final coin = manager.coin;
if ((coin == Coin.firo || coin == Coin.firoTestNet) &&
ref.read(publicPrivateBalanceStateProvider.state).state !=
"Private") {
txid = await (manager.wallet as FiroWallet)
.confirmSendPublic(txData: transactionInfo);
if (widget.isPaynymNotificationTransaction) {
txid = await (manager.wallet as DogecoinWallet)
.confirmNotificationTx(preparedTx: transactionInfo);
} else if (widget.isPaynymTransaction) {
//
throw UnimplementedError("paynym send not implemented yet");
} else {
txid = await manager.confirmSend(txData: transactionInfo);
final coin = manager.coin;
if ((coin == Coin.firo || coin == Coin.firoTestNet) &&
ref.read(publicPrivateBalanceStateProvider.state).state !=
"Private") {
txid = await (manager.wallet as FiroWallet)
.confirmSendPublic(txData: transactionInfo);
} else {
txid = await manager.confirmSend(txData: transactionInfo);
}
}
// save note
@ -102,7 +118,12 @@ class _ConfirmTransactionViewState
// pop back to wallet
if (mounted) {
Navigator.of(context).popUntil(ModalRoute.withName(routeOnSuccessName));
if (widget.onSuccessInsteadOfRouteOnSuccess == null) {
Navigator.of(context)
.popUntil(ModalRoute.withName(routeOnSuccessName));
} else {
widget.onSuccessInsteadOfRouteOnSuccess!.call();
}
}
} on BadEpicHttpAddressException catch (_) {
if (mounted) {