From 58afc461524ed022f90919f0be9ae08b6fc8001f Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 29 Mar 2023 08:29:40 -0600 Subject: [PATCH] WIP token buy default fill in value --- lib/pages/buy_view/buy_form.dart | 19 +++++++++++++++++-- lib/pages/buy_view/buy_in_wallet_view.dart | 3 +-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/lib/pages/buy_view/buy_form.dart b/lib/pages/buy_view/buy_form.dart index feea9579d..d98ac0a56 100644 --- a/lib/pages/buy_view/buy_form.dart +++ b/lib/pages/buy_view/buy_form.dart @@ -10,6 +10,7 @@ import 'package:stackwallet/models/buy/response_objects/crypto.dart'; import 'package:stackwallet/models/buy/response_objects/fiat.dart'; import 'package:stackwallet/models/buy/response_objects/quote.dart'; import 'package:stackwallet/models/contact_address_entry.dart'; +import 'package:stackwallet/models/isar/models/ethereum/eth_contract.dart'; import 'package:stackwallet/pages/address_book_views/address_book_view.dart'; import 'package:stackwallet/pages/buy_view/buy_quote_preview.dart'; import 'package:stackwallet/pages/buy_view/sub_widgets/crypto_selection_view.dart'; @@ -49,6 +50,7 @@ class BuyForm extends ConsumerStatefulWidget { const BuyForm({ Key? key, this.coin, + this.tokenContract, this.clipboard = const ClipboardWrapper(), this.scanner = const BarcodeScannerWrapper(), }) : super(key: key); @@ -57,6 +59,7 @@ class BuyForm extends ConsumerStatefulWidget { final ClipboardInterface clipboard; final BarcodeScannerInterface scanner; + final EthContract? tokenContract; @override ConsumerState createState() => _BuyFormState(); @@ -461,7 +464,7 @@ class _BuyFormState extends ConsumerState { // TODO launch URL }, ); - } else { + } else if (mounted) { await showDialog( context: context, barrierDismissible: true, @@ -529,7 +532,7 @@ class _BuyFormState extends ConsumerState { }, ); } - } else { + } else if (mounted) { // Error; probably amount out of bounds // String errorMessage = "${quoteResponse.exception?.errorMessage}"; // if (errorMessage.contains('must be between')) { @@ -744,6 +747,18 @@ class _BuyFormState extends ConsumerState { 'name': widget.coin?.prettyName ?? 'Bitcoin' }); + // THIS IS BAD. No way to be certain the simplex ticker points to the same + // contract as the ticker symbol of this contract + // if (widget.tokenContract != null && + // DefaultTokens.list + // .where((e) => e.address == widget.tokenContract!.address) + // .isNotEmpty) { + // selectedCrypto = Crypto.fromJson({ + // 'ticker': widget.tokenContract!.symbol, + // 'name': widget.tokenContract!.name, + // }); + // } + // TODO set initial crypto to open wallet if a wallet is open super.initState(); diff --git a/lib/pages/buy_view/buy_in_wallet_view.dart b/lib/pages/buy_view/buy_in_wallet_view.dart index 40ca89a95..e46446a7e 100644 --- a/lib/pages/buy_view/buy_in_wallet_view.dart +++ b/lib/pages/buy_view/buy_in_wallet_view.dart @@ -46,8 +46,7 @@ class _BuyInWalletViewState extends State { ), body: BuyView( coin: widget.coin, - tokenContract, - widget.contract, + tokenContract: widget.contract, ), ), );