mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-17 05:41:29 +02:00
Fix monero swaps (#3195)
* Fix monero swaps not showing in history * await more sublist instances * await more sublist instances
This commit is contained in:
@@ -67,14 +67,14 @@ abstract class MoneroSubaddressListBase with Store {
|
||||
|
||||
Future<void> addSubaddress({required int accountIndex, required String label}) async {
|
||||
await subaddress_list.addSubaddress(accountIndex: accountIndex, label: label);
|
||||
update(accountIndex: accountIndex);
|
||||
await update(accountIndex: accountIndex);
|
||||
}
|
||||
|
||||
Future<void> setLabelSubaddress(
|
||||
{required int accountIndex, required int addressIndex, required String label}) async {
|
||||
await subaddress_list.setLabelForSubaddress(
|
||||
accountIndex: accountIndex, addressIndex: addressIndex, label: label);
|
||||
update(accountIndex: accountIndex);
|
||||
await update(accountIndex: accountIndex);
|
||||
}
|
||||
|
||||
void refresh({required int accountIndex}) {
|
||||
|
||||
@@ -3,7 +3,6 @@ import 'dart:ffi';
|
||||
import 'dart:io';
|
||||
import 'dart:isolate';
|
||||
|
||||
import 'package:cw_core/format_fixed.dart';
|
||||
import 'package:cw_core/monero_amount_format.dart';
|
||||
import 'package:cw_core/pathForWallet.dart';
|
||||
import 'package:cw_core/transaction_priority.dart';
|
||||
@@ -180,7 +179,7 @@ abstract class MoneroWalletBase extends WalletBase<MoneroBalance,
|
||||
_autoSaveTimer = Timer.periodic(
|
||||
Duration(seconds: _autoSaveInterval), (_) async => await save());
|
||||
// update transaction details after restore
|
||||
walletAddresses.subaddressList.update(accountIndex: walletAddresses.account?.id??0);
|
||||
await walletAddresses.subaddressList.update(accountIndex: walletAddresses.account?.id??0);
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -504,7 +503,7 @@ abstract class MoneroWalletBase extends WalletBase<MoneroBalance,
|
||||
await walletAddresses.updateUsedSubaddress();
|
||||
|
||||
if (isEnabledAutoGenerateSubaddress) {
|
||||
walletAddresses.updateUnusedSubaddress(
|
||||
await walletAddresses.updateUnusedSubaddress(
|
||||
accountIndex: walletAddresses.account?.id ?? 0,
|
||||
defaultLabel: walletAddresses.account?.label ?? '');
|
||||
}
|
||||
@@ -951,14 +950,14 @@ abstract class MoneroWalletBase extends WalletBase<MoneroBalance,
|
||||
}
|
||||
}
|
||||
|
||||
void _updateSubAddress(bool enableAutoGenerate, {Account? account}) {
|
||||
Future<void> _updateSubAddress(bool enableAutoGenerate, {Account? account}) async {
|
||||
if (enableAutoGenerate) {
|
||||
walletAddresses.updateUnusedSubaddress(
|
||||
await walletAddresses.updateUnusedSubaddress(
|
||||
accountIndex: account?.id ?? 0,
|
||||
defaultLabel: account?.label ?? '',
|
||||
);
|
||||
} else {
|
||||
walletAddresses.updateSubaddressList(accountIndex: account?.id ?? 0);
|
||||
await walletAddresses.updateSubaddressList(accountIndex: account?.id ?? 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ abstract class MoneroWalletAddressesBase extends WalletAddresses with Store {
|
||||
Future<void> init() async {
|
||||
accountList.update();
|
||||
account = accountList.accounts.isEmpty ? Account(id: 0, label: "Primary address") : accountList.accounts.first;
|
||||
updateSubaddressList(accountIndex: account?.id ?? 0);
|
||||
await updateSubaddressList(accountIndex: account?.id ?? 0);
|
||||
await updateAddressesInBox();
|
||||
}
|
||||
|
||||
@@ -84,8 +84,8 @@ abstract class MoneroWalletAddressesBase extends WalletAddresses with Store {
|
||||
addressesMap.clear();
|
||||
addressInfos.clear();
|
||||
|
||||
accountList.accounts.forEach((account) {
|
||||
_subaddressList.update(accountIndex: account.id);
|
||||
accountList.accounts.forEach((account) async {
|
||||
await _subaddressList.update(accountIndex: account.id);
|
||||
_subaddressList.subaddresses.forEach((subaddress) {
|
||||
addressesMap[subaddress.address] = subaddress.label;
|
||||
addressInfos[account.id] ??= [];
|
||||
@@ -122,8 +122,8 @@ abstract class MoneroWalletAddressesBase extends WalletAddresses with Store {
|
||||
return true;
|
||||
}
|
||||
|
||||
void updateSubaddressList({required int accountIndex}) {
|
||||
subaddressList.update(accountIndex: accountIndex);
|
||||
Future<void> updateSubaddressList({required int accountIndex}) async {
|
||||
await subaddressList.update(accountIndex: accountIndex);
|
||||
address = subaddressList.subaddresses.isNotEmpty
|
||||
? subaddressList.subaddresses.first.address
|
||||
: getAddress();
|
||||
|
||||
@@ -77,9 +77,9 @@ class CWMoneroSubaddressList extends MoneroSubaddressList {
|
||||
}
|
||||
|
||||
@override
|
||||
void update(Object wallet, {required int accountIndex}) {
|
||||
Future<void> update(Object wallet, {required int accountIndex}) async {
|
||||
final moneroWallet = wallet as MoneroWallet;
|
||||
moneroWallet.walletAddresses.subaddressList.update(accountIndex: accountIndex);
|
||||
await moneroWallet.walletAddresses.subaddressList.update(accountIndex: accountIndex);
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -409,7 +409,7 @@ abstract class WalletAddressListViewModelBase extends WalletChangeListenerViewMo
|
||||
// update the address list:
|
||||
await wallet.walletAddresses.saveAddressesInBox();
|
||||
if (wallet.type == WalletType.monero) {
|
||||
monero!
|
||||
await monero!
|
||||
.getSubaddressList(wallet)
|
||||
.update(wallet, accountIndex: monero!.getCurrentAccount(wallet).id);
|
||||
} else if (wallet.type == WalletType.wownero) {
|
||||
|
||||
@@ -14,15 +14,15 @@ TYPES=($MONERO_COM $CAKEWALLET)
|
||||
APP_ANDROID_TYPE=$1
|
||||
|
||||
MONERO_COM_NAME="Monero.com"
|
||||
MONERO_COM_VERSION="6.1.0"
|
||||
MONERO_COM_BUILD_NUMBER=4157
|
||||
MONERO_COM_VERSION="6.1.2"
|
||||
MONERO_COM_BUILD_NUMBER=4158
|
||||
MONERO_COM_BUNDLE_ID="com.monero.app"
|
||||
MONERO_COM_PACKAGE="com.monero.app"
|
||||
MONERO_COM_SCHEME="monero.com"
|
||||
|
||||
CAKEWALLET_NAME="Cake Wallet"
|
||||
CAKEWALLET_VERSION="6.1.1"
|
||||
CAKEWALLET_BUILD_NUMBER=4409
|
||||
CAKEWALLET_VERSION="6.1.2"
|
||||
CAKEWALLET_BUILD_NUMBER=4410
|
||||
CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
|
||||
CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"
|
||||
CAKEWALLET_SCHEME="cakewallet"
|
||||
|
||||
@@ -12,13 +12,13 @@ TYPES=($MONERO_COM $CAKEWALLET)
|
||||
APP_IOS_TYPE=$1
|
||||
|
||||
MONERO_COM_NAME="Monero.com"
|
||||
MONERO_COM_VERSION="6.1.0"
|
||||
MONERO_COM_BUILD_NUMBER=162
|
||||
MONERO_COM_VERSION="6.1.2"
|
||||
MONERO_COM_BUILD_NUMBER=163
|
||||
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
|
||||
|
||||
CAKEWALLET_NAME="Cake Wallet"
|
||||
CAKEWALLET_VERSION="6.1.1"
|
||||
CAKEWALLET_BUILD_NUMBER=417
|
||||
CAKEWALLET_VERSION="6.1.2"
|
||||
CAKEWALLET_BUILD_NUMBER=418
|
||||
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -490,7 +490,7 @@ WalletCredentials createMoneroNewWalletCredentials({required String name, requir
|
||||
|
||||
abstract class MoneroSubaddressList {
|
||||
ObservableList<Subaddress> get subaddresses;
|
||||
void update(Object wallet, {required int accountIndex});
|
||||
Future<void> update(Object wallet, {required int accountIndex});
|
||||
void refresh(Object wallet, {required int accountIndex});
|
||||
Future<List<Subaddress>> getAll(Object wallet);
|
||||
Future<void> addSubaddress(Object wallet, {required int accountIndex, required String label});
|
||||
|
||||
Reference in New Issue
Block a user