mirror of
https://github.com/cypherstack/stack_wallet.git
synced 2025-01-25 11:45:59 +00:00
notify ui of tx changes and force refresh on rescan
This commit is contained in:
parent
5badeab621
commit
db205b40e2
10 changed files with 120 additions and 0 deletions
|
@ -2116,6 +2116,17 @@ class BitcoinWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
txnsData.add(data);
|
txnsData.add(data);
|
||||||
}
|
}
|
||||||
await addNewTransactionData(txnsData, walletId);
|
await addNewTransactionData(txnsData, walletId);
|
||||||
|
|
||||||
|
// quick hack to notify manager to call notifyListeners if
|
||||||
|
// transactions changed
|
||||||
|
if (txnsData.isNotEmpty) {
|
||||||
|
GlobalEventBus.instance.fire(
|
||||||
|
UpdatedInBackgroundEvent(
|
||||||
|
"Transactions updated/added for: $walletId $walletName ",
|
||||||
|
walletId,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int estimateTxFee({required int vSize, required int feeRatePerKB}) {
|
int estimateTxFee({required int vSize, required int feeRatePerKB}) {
|
||||||
|
@ -2788,6 +2799,7 @@ class BitcoinWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
);
|
);
|
||||||
|
|
||||||
longMutex = false;
|
longMutex = false;
|
||||||
|
await refresh();
|
||||||
Logging.instance.log("Full rescan complete!", level: LogLevel.Info);
|
Logging.instance.log("Full rescan complete!", level: LogLevel.Info);
|
||||||
GlobalEventBus.instance.fire(
|
GlobalEventBus.instance.fire(
|
||||||
WalletSyncStatusChangedEvent(
|
WalletSyncStatusChangedEvent(
|
||||||
|
|
|
@ -2194,6 +2194,17 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
}
|
}
|
||||||
|
|
||||||
await addNewTransactionData(txns, walletId);
|
await addNewTransactionData(txns, walletId);
|
||||||
|
|
||||||
|
// quick hack to notify manager to call notifyListeners if
|
||||||
|
// transactions changed
|
||||||
|
if (txns.isNotEmpty) {
|
||||||
|
GlobalEventBus.instance.fire(
|
||||||
|
UpdatedInBackgroundEvent(
|
||||||
|
"Transactions updated/added for: $walletId $walletName ",
|
||||||
|
walletId,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int estimateTxFee({required int vSize, required int feeRatePerKB}) {
|
int estimateTxFee({required int vSize, required int feeRatePerKB}) {
|
||||||
|
@ -2857,6 +2868,7 @@ class BitcoinCashWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
);
|
);
|
||||||
|
|
||||||
longMutex = false;
|
longMutex = false;
|
||||||
|
await refresh();
|
||||||
Logging.instance.log("Full rescan complete!", level: LogLevel.Info);
|
Logging.instance.log("Full rescan complete!", level: LogLevel.Info);
|
||||||
GlobalEventBus.instance.fire(
|
GlobalEventBus.instance.fire(
|
||||||
WalletSyncStatusChangedEvent(
|
WalletSyncStatusChangedEvent(
|
||||||
|
|
|
@ -1936,6 +1936,17 @@ class DogecoinWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
}
|
}
|
||||||
|
|
||||||
await addNewTransactionData(txns, walletId);
|
await addNewTransactionData(txns, walletId);
|
||||||
|
|
||||||
|
// quick hack to notify manager to call notifyListeners if
|
||||||
|
// transactions changed
|
||||||
|
if (txns.isNotEmpty) {
|
||||||
|
GlobalEventBus.instance.fire(
|
||||||
|
UpdatedInBackgroundEvent(
|
||||||
|
"Transactions updated/added for: $walletId $walletName ",
|
||||||
|
walletId,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int estimateTxFee({required int vSize, required int feeRatePerKB}) {
|
int estimateTxFee({required int vSize, required int feeRatePerKB}) {
|
||||||
|
@ -2484,6 +2495,7 @@ class DogecoinWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
);
|
);
|
||||||
|
|
||||||
longMutex = false;
|
longMutex = false;
|
||||||
|
await refresh();
|
||||||
Logging.instance.log("Full rescan complete!", level: LogLevel.Info);
|
Logging.instance.log("Full rescan complete!", level: LogLevel.Info);
|
||||||
GlobalEventBus.instance.fire(
|
GlobalEventBus.instance.fire(
|
||||||
WalletSyncStatusChangedEvent(
|
WalletSyncStatusChangedEvent(
|
||||||
|
|
|
@ -947,6 +947,7 @@ class EpicCashWallet extends CoinServiceAPI
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
await refresh();
|
||||||
GlobalEventBus.instance.fire(
|
GlobalEventBus.instance.fire(
|
||||||
WalletSyncStatusChangedEvent(
|
WalletSyncStatusChangedEvent(
|
||||||
WalletSyncStatus.synced,
|
WalletSyncStatus.synced,
|
||||||
|
@ -2114,6 +2115,17 @@ class EpicCashWallet extends CoinServiceAPI
|
||||||
|
|
||||||
await addNewTransactionData(txnsData, walletId);
|
await addNewTransactionData(txnsData, walletId);
|
||||||
|
|
||||||
|
// quick hack to notify manager to call notifyListeners if
|
||||||
|
// transactions changed
|
||||||
|
if (txnsData.isNotEmpty) {
|
||||||
|
GlobalEventBus.instance.fire(
|
||||||
|
UpdatedInBackgroundEvent(
|
||||||
|
"Transactions updated/added for: $walletId $walletName ",
|
||||||
|
walletId,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// midSortedArray
|
// midSortedArray
|
||||||
// .sort((a, b) => (b["timestamp"] as int) - (a["timestamp"] as int));
|
// .sort((a, b) => (b["timestamp"] as int) - (a["timestamp"] as int));
|
||||||
//
|
//
|
||||||
|
|
|
@ -3567,6 +3567,17 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive {
|
||||||
}
|
}
|
||||||
|
|
||||||
await addNewTransactionData(txnsData, walletId);
|
await addNewTransactionData(txnsData, walletId);
|
||||||
|
|
||||||
|
// quick hack to notify manager to call notifyListeners if
|
||||||
|
// transactions changed
|
||||||
|
if (txnsData.isNotEmpty) {
|
||||||
|
GlobalEventBus.instance.fire(
|
||||||
|
UpdatedInBackgroundEvent(
|
||||||
|
"Transactions updated/added for: $walletId $walletName ",
|
||||||
|
walletId,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _refreshUTXOs() async {
|
Future<void> _refreshUTXOs() async {
|
||||||
|
@ -3886,6 +3897,7 @@ class FiroWallet extends CoinServiceAPI with WalletCache, WalletDB, FiroHive {
|
||||||
await _recoverWalletFromBIP32SeedPhrase(mnemonic!, maxUnusedAddressGap);
|
await _recoverWalletFromBIP32SeedPhrase(mnemonic!, maxUnusedAddressGap);
|
||||||
|
|
||||||
longMutex = false;
|
longMutex = false;
|
||||||
|
await refresh();
|
||||||
Logging.instance.log("Full rescan complete!", level: LogLevel.Info);
|
Logging.instance.log("Full rescan complete!", level: LogLevel.Info);
|
||||||
GlobalEventBus.instance.fire(
|
GlobalEventBus.instance.fire(
|
||||||
WalletSyncStatusChangedEvent(
|
WalletSyncStatusChangedEvent(
|
||||||
|
|
|
@ -2196,6 +2196,17 @@ class LitecoinWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
txnsData.add(data);
|
txnsData.add(data);
|
||||||
}
|
}
|
||||||
await addNewTransactionData(txnsData, walletId);
|
await addNewTransactionData(txnsData, walletId);
|
||||||
|
|
||||||
|
// quick hack to notify manager to call notifyListeners if
|
||||||
|
// transactions changed
|
||||||
|
if (txnsData.isNotEmpty) {
|
||||||
|
GlobalEventBus.instance.fire(
|
||||||
|
UpdatedInBackgroundEvent(
|
||||||
|
"Transactions updated/added for: $walletId $walletName ",
|
||||||
|
walletId,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int estimateTxFee({required int vSize, required int feeRatePerKB}) {
|
int estimateTxFee({required int vSize, required int feeRatePerKB}) {
|
||||||
|
@ -2873,6 +2884,7 @@ class LitecoinWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
);
|
);
|
||||||
|
|
||||||
longMutex = false;
|
longMutex = false;
|
||||||
|
await refresh();
|
||||||
Logging.instance.log("Full rescan complete!", level: LogLevel.Info);
|
Logging.instance.log("Full rescan complete!", level: LogLevel.Info);
|
||||||
GlobalEventBus.instance.fire(
|
GlobalEventBus.instance.fire(
|
||||||
WalletSyncStatusChangedEvent(
|
WalletSyncStatusChangedEvent(
|
||||||
|
|
|
@ -221,6 +221,7 @@ class MoneroWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
var restoreHeight = walletBase?.walletInfo.restoreHeight;
|
var restoreHeight = walletBase?.walletInfo.restoreHeight;
|
||||||
highestPercentCached = 0;
|
highestPercentCached = 0;
|
||||||
await walletBase?.rescan(height: restoreHeight);
|
await walletBase?.rescan(height: restoreHeight);
|
||||||
|
await refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
@ -908,6 +909,17 @@ class MoneroWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
}
|
}
|
||||||
|
|
||||||
await addNewTransactionData(txnsData, walletId);
|
await addNewTransactionData(txnsData, walletId);
|
||||||
|
|
||||||
|
// quick hack to notify manager to call notifyListeners if
|
||||||
|
// transactions changed
|
||||||
|
if (txnsData.isNotEmpty) {
|
||||||
|
GlobalEventBus.instance.fire(
|
||||||
|
UpdatedInBackgroundEvent(
|
||||||
|
"Transactions updated/added for: $walletId $walletName ",
|
||||||
|
walletId,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<String> _pathForWalletDir({
|
Future<String> _pathForWalletDir({
|
||||||
|
|
|
@ -2182,6 +2182,17 @@ class NamecoinWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
txnsData.add(data);
|
txnsData.add(data);
|
||||||
}
|
}
|
||||||
await addNewTransactionData(txnsData, walletId);
|
await addNewTransactionData(txnsData, walletId);
|
||||||
|
|
||||||
|
// quick hack to notify manager to call notifyListeners if
|
||||||
|
// transactions changed
|
||||||
|
if (txnsData.isNotEmpty) {
|
||||||
|
GlobalEventBus.instance.fire(
|
||||||
|
UpdatedInBackgroundEvent(
|
||||||
|
"Transactions updated/added for: $walletId $walletName ",
|
||||||
|
walletId,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int estimateTxFee({required int vSize, required int feeRatePerKB}) {
|
int estimateTxFee({required int vSize, required int feeRatePerKB}) {
|
||||||
|
@ -2862,6 +2873,7 @@ class NamecoinWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
);
|
);
|
||||||
|
|
||||||
longMutex = false;
|
longMutex = false;
|
||||||
|
await refresh();
|
||||||
Logging.instance.log("Full rescan complete!", level: LogLevel.Info);
|
Logging.instance.log("Full rescan complete!", level: LogLevel.Info);
|
||||||
GlobalEventBus.instance.fire(
|
GlobalEventBus.instance.fire(
|
||||||
WalletSyncStatusChangedEvent(
|
WalletSyncStatusChangedEvent(
|
||||||
|
|
|
@ -2349,6 +2349,17 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
}
|
}
|
||||||
|
|
||||||
await addNewTransactionData(txns, walletId);
|
await addNewTransactionData(txns, walletId);
|
||||||
|
|
||||||
|
// quick hack to notify manager to call notifyListeners if
|
||||||
|
// transactions changed
|
||||||
|
if (txns.isNotEmpty) {
|
||||||
|
GlobalEventBus.instance.fire(
|
||||||
|
UpdatedInBackgroundEvent(
|
||||||
|
"Transactions updated/added for: $walletId $walletName ",
|
||||||
|
walletId,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int estimateTxFee({required int vSize, required int feeRatePerKB}) {
|
int estimateTxFee({required int vSize, required int feeRatePerKB}) {
|
||||||
|
@ -2961,6 +2972,7 @@ class ParticlWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
);
|
);
|
||||||
|
|
||||||
longMutex = false;
|
longMutex = false;
|
||||||
|
await refresh();
|
||||||
Logging.instance.log("Full rescan complete!", level: LogLevel.Info);
|
Logging.instance.log("Full rescan complete!", level: LogLevel.Info);
|
||||||
GlobalEventBus.instance.fire(
|
GlobalEventBus.instance.fire(
|
||||||
WalletSyncStatusChangedEvent(
|
WalletSyncStatusChangedEvent(
|
||||||
|
|
|
@ -244,6 +244,7 @@ class WowneroWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
var restoreHeight = walletBase?.walletInfo.restoreHeight;
|
var restoreHeight = walletBase?.walletInfo.restoreHeight;
|
||||||
highestPercentCached = 0;
|
highestPercentCached = 0;
|
||||||
await walletBase?.rescan(height: restoreHeight);
|
await walletBase?.rescan(height: restoreHeight);
|
||||||
|
await refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
@ -977,6 +978,17 @@ class WowneroWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
}
|
}
|
||||||
|
|
||||||
await addNewTransactionData(txnsData, walletId);
|
await addNewTransactionData(txnsData, walletId);
|
||||||
|
|
||||||
|
// quick hack to notify manager to call notifyListeners if
|
||||||
|
// transactions changed
|
||||||
|
if (txnsData.isNotEmpty) {
|
||||||
|
GlobalEventBus.instance.fire(
|
||||||
|
UpdatedInBackgroundEvent(
|
||||||
|
"Transactions updated/added for: $walletId $walletName ",
|
||||||
|
walletId,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<String> _pathForWalletDir({
|
Future<String> _pathForWalletDir({
|
||||||
|
|
Loading…
Reference in a new issue