@@ -14,9 +14,9 @@ import 'dart:io';
1414
1515import 'package:decimal/decimal.dart' ;
1616import 'package:flutter/material.dart' ;
17- import 'package:isar_community/isar.dart' ;
1817import 'package:flutter_riverpod/flutter_riverpod.dart' ;
1918import 'package:flutter_svg/svg.dart' ;
19+ import 'package:isar_community/isar.dart' ;
2020
2121import '../../models/input.dart' ;
2222import '../../models/isar/models/transaction_note.dart' ;
@@ -113,14 +113,16 @@ class _ConfirmTransactionViewState
113113
114114 bool _spendsOrdinal = false ;
115115
116- Future <void > _checkForOrdinalSpend () async {
116+ Future <void > _checkForOrdinalSpend (
117+ bool updateStateInPostFrameCallback,
118+ ) async {
119+ final db = ref.read (mainDBProvider);
117120 final wallet = ref.read (pWallets).getWallet (walletId);
118121 if (wallet is ! OrdinalsInterface ) return ;
119122
120123 final usedUtxos = widget.txData.usedUTXOs;
121124 if (usedUtxos == null || usedUtxos.isEmpty) return ;
122125
123- final db = ref.read (mainDBProvider);
124126 for (final input in usedUtxos) {
125127 if (input is ! StandardInput ) continue ;
126128 final ordinal = await db.isar.ordinals
@@ -133,8 +135,12 @@ class _ConfirmTransactionViewState
133135 .utxoVOUTEqualTo (input.utxo.vout)
134136 .findFirst ();
135137 if (ordinal != null ) {
136- if (mounted) {
137- setState (() => _spendsOrdinal = true );
138+ if (updateStateInPostFrameCallback) {
139+ WidgetsBinding .instance.addPostFrameCallback ((_) {
140+ if (mounted) setState (() => _spendsOrdinal = true );
141+ });
142+ } else {
143+ if (mounted) setState (() => _spendsOrdinal = true );
138144 }
139145 return ;
140146 }
@@ -556,6 +562,8 @@ class _ConfirmTransactionViewState
556562
557563 @override
558564 void initState () {
565+ super .initState ();
566+
559567 isDesktop = Util .isDesktop;
560568 walletId = widget.walletId;
561569 routeOnSuccessName = widget.routeOnSuccessName;
@@ -567,9 +575,7 @@ class _ConfirmTransactionViewState
567575 onChainNoteController = TextEditingController ();
568576 onChainNoteController.text = widget.txData.noteOnChain ?? "" ;
569577
570- super .initState ();
571-
572- _checkForOrdinalSpend ();
578+ _checkForOrdinalSpend (true );
573579 }
574580
575581 @override
0 commit comments