mirror of
https://github.com/cypherstack/stack_wallet.git
synced 2024-11-06 04:17:42 +00:00
108 lines
3.3 KiB
Dart
108 lines
3.3 KiB
Dart
// /*
|
|
// * This file is part of Stack Wallet.
|
|
// *
|
|
// * Copyright (c) 2023 Cypher Stack
|
|
// * All Rights Reserved.
|
|
// * The code is distributed under GPLv3 license, see LICENSE file for details.
|
|
// * Generated by Cypher Stack on 2023-05-26
|
|
// *
|
|
// */
|
|
//
|
|
// import 'dart:async';
|
|
//
|
|
// import 'package:isar/isar.dart';
|
|
// import 'package:stackwallet/db/isar/main_db.dart';
|
|
// import 'package:stackwallet/models/balance.dart';
|
|
// import 'package:stackwallet/services/event_bus/events/global/balance_refreshed_event.dart';
|
|
// import 'package:stackwallet/services/event_bus/global_event_bus.dart';
|
|
// import 'package:stackwallet/utilities/amount/amount.dart';
|
|
// import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
|
//
|
|
// mixin CoinControlInterface {
|
|
// late final String _walletId;
|
|
// late final String _walletName;
|
|
// late final Coin _coin;
|
|
// late final MainDB _db;
|
|
// late final Future<int> Function() _getChainHeight;
|
|
// late final Future<void> Function(Balance) _refreshedBalanceCallback;
|
|
//
|
|
// void initCoinControlInterface({
|
|
// required String walletId,
|
|
// required String walletName,
|
|
// required Coin coin,
|
|
// required MainDB db,
|
|
// required Future<int> Function() getChainHeight,
|
|
// required Future<void> Function(Balance) refreshedBalanceCallback,
|
|
// }) {
|
|
// _walletId = walletId;
|
|
// _walletName = walletName;
|
|
// _coin = coin;
|
|
// _db = db;
|
|
// _getChainHeight = getChainHeight;
|
|
// _refreshedBalanceCallback = refreshedBalanceCallback;
|
|
// }
|
|
//
|
|
// Future<void> refreshBalance({bool notify = false}) async {
|
|
// final utxos = await _db.getUTXOs(_walletId).findAll();
|
|
// final currentChainHeight = await _getChainHeight();
|
|
//
|
|
// Amount satoshiBalanceTotal = Amount(
|
|
// rawValue: BigInt.zero,
|
|
// fractionDigits: _coin.decimals,
|
|
// );
|
|
// Amount satoshiBalancePending = Amount(
|
|
// rawValue: BigInt.zero,
|
|
// fractionDigits: _coin.decimals,
|
|
// );
|
|
// Amount satoshiBalanceSpendable = Amount(
|
|
// rawValue: BigInt.zero,
|
|
// fractionDigits: _coin.decimals,
|
|
// );
|
|
// Amount satoshiBalanceBlocked = Amount(
|
|
// rawValue: BigInt.zero,
|
|
// fractionDigits: _coin.decimals,
|
|
// );
|
|
//
|
|
// for (final utxo in utxos) {
|
|
// final utxoAmount = Amount(
|
|
// rawValue: BigInt.from(utxo.value),
|
|
// fractionDigits: _coin.decimals,
|
|
// );
|
|
//
|
|
// satoshiBalanceTotal += utxoAmount;
|
|
//
|
|
// if (utxo.isBlocked) {
|
|
// satoshiBalanceBlocked += utxoAmount;
|
|
// } else {
|
|
// // TODO: [prio=high] Fix this
|
|
// throw UnimplementedError(
|
|
// "Fix the following 42 (should be min confirms)");
|
|
// if (utxo.isConfirmed(
|
|
// currentChainHeight,
|
|
// 42,
|
|
// )) {
|
|
// satoshiBalanceSpendable += utxoAmount;
|
|
// } else {
|
|
// satoshiBalancePending += utxoAmount;
|
|
// }
|
|
// }
|
|
// }
|
|
//
|
|
// final balance = Balance(
|
|
// total: satoshiBalanceTotal,
|
|
// spendable: satoshiBalanceSpendable,
|
|
// blockedTotal: satoshiBalanceBlocked,
|
|
// pendingSpendable: satoshiBalancePending,
|
|
// );
|
|
//
|
|
// await _refreshedBalanceCallback(balance);
|
|
//
|
|
// if (notify) {
|
|
// GlobalEventBus.instance.fire(
|
|
// BalanceRefreshedEvent(
|
|
// _walletId,
|
|
// ),
|
|
// );
|
|
// }
|
|
// }
|
|
// }
|