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