fix: change cacheBalance type

This commit is contained in:
poka 2022-06-09 23:08:28 +02:00
parent aebcbc6bdf
commit eeb7b03259
4 changed files with 15 additions and 17 deletions

View File

@ -315,7 +315,7 @@ class WalletOptionsProvider with ChangeNotifier {
}
}
Map<String, String> balanceCache = {};
Map<String, double> balanceCache = {};
Widget balance(BuildContext context, String address, double size,
[Color _color = Colors.black]) {
@ -323,11 +323,12 @@ Widget balance(BuildContext context, String address, double size,
Consumer<SubstrateSdk>(builder: (context, _sdk, _) {
return FutureBuilder(
future: _sdk.getBalance(address),
builder: (BuildContext context, AsyncSnapshot<num?> _balance) {
builder: (BuildContext context, AsyncSnapshot<double> _balance) {
if (_balance.connectionState != ConnectionState.done ||
_balance.hasError) {
if (balanceCache[address] != null) {
return Text(balanceCache[address]!,
return Text(
"${balanceCache[address]!.toString()} $currencyName",
style: TextStyle(
fontSize: isTall ? size : size * 0.9, color: _color));
} else {
@ -341,9 +342,9 @@ Widget balance(BuildContext context, String address, double size,
);
}
}
balanceCache[address] = "${_balance.data.toString()} $currencyName";
balanceCache[address] = _balance.data!;
return Text(
balanceCache[address]!,
"${balanceCache[address]!.toString()} $currencyName",
style: TextStyle(
fontSize: isTall ? size : size * 0.9,
color: _color,

View File

@ -500,8 +500,7 @@ class WalletOptions extends StatelessWidget {
_hasConsumers.hasError) {
return const Text('');
}
final _balance = double.parse(
balanceCache[walletProvider.address.text]!.split(' ')[0]);
final double _balance = balanceCache[walletProvider.address.text]!;
final bool canDelete = !isDefaultWallet &&
!_hasConsumers.data! &&
(_balance > 2 || _balance == 0);

View File

@ -424,10 +424,9 @@ class WalletViewScreen extends StatelessWidget {
builder: (BuildContext context, StateSetter setState) {
if (_walletViewProvider.payAmount.text != '' &&
(double.parse(_walletViewProvider.payAmount.text) + 2) <=
double.parse(
balanceCache[defaultWallet.address]!.split(' ')[0]) &&
(balanceCache[defaultWallet.address] ?? 0) &&
_walletViewProvider.address != defaultWallet.address) {
if (balanceCache[pubkey] == '0.0 $currencyName' &&
if ((balanceCache[pubkey] == 0 || balanceCache[pubkey] == null) &&
double.parse(_walletViewProvider.payAmount.text) < 5) {
canValidate = false;
} else {
@ -525,7 +524,7 @@ class WalletViewScreen extends StatelessWidget {
future:
_sub.getBalance(defaultWallet.address!),
builder: (BuildContext context,
AsyncSnapshot<num?> _balance) {
AsyncSnapshot<double> _balance) {
if (_balance.connectionState !=
ConnectionState.done ||
_balance.hasError) {
@ -533,8 +532,7 @@ class WalletViewScreen extends StatelessWidget {
defaultWallet.address!] !=
null) {
return Text(
balanceCache[
defaultWallet.address!]!,
"${balanceCache[defaultWallet.address!]} $currencyName",
style: const TextStyle(
fontSize: 20,
));
@ -550,9 +548,9 @@ class WalletViewScreen extends StatelessWidget {
}
}
balanceCache[defaultWallet.address!] =
"${_balance.data.toString()} $currencyName";
_balance.data!;
return Text(
balanceCache[defaultWallet.address!]!,
"${balanceCache[defaultWallet.address!]} $currencyName",
style: const TextStyle(
fontSize: 20,
),
@ -694,7 +692,7 @@ class WalletViewScreen extends StatelessWidget {
Provider.of<WalletOptionsProvider>(context, listen: false);
// SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
bool isAccountExist = balanceCache[pubkey] != '0.0 $currencyName';
bool isAccountExist = balanceCache[pubkey] != 0;
return Stack(children: <Widget>[
Consumer<SubstrateSdk>(builder: (context, _sub, _) {

View File

@ -5,7 +5,7 @@ description: Pay with G1.
# pub.dev using `pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 0.0.8+3
version: 0.0.8+5
environment:
sdk: '>=2.12.0 <3.0.0'