mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-12-31 16:09:49 +00:00
Merge branch 'main' into flags
This commit is contained in:
commit
9390ceb323
8 changed files with 22 additions and 16 deletions
5
.github/workflows/cache_dependencies.yml
vendored
5
.github/workflows/cache_dependencies.yml
vendored
|
@ -23,9 +23,10 @@ jobs:
|
||||||
docker-images: true
|
docker-images: true
|
||||||
|
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: actions/setup-java@v1
|
- uses: actions/setup-java@v2
|
||||||
with:
|
with:
|
||||||
java-version: "17.x"
|
distribution: "temurin"
|
||||||
|
java-version: "17"
|
||||||
- name: Configure placeholder git details
|
- name: Configure placeholder git details
|
||||||
run: |
|
run: |
|
||||||
git config --global user.email "CI@cakewallet.com"
|
git config --global user.email "CI@cakewallet.com"
|
||||||
|
|
5
.github/workflows/pr_test_build_android.yml
vendored
5
.github/workflows/pr_test_build_android.yml
vendored
|
@ -39,9 +39,10 @@ jobs:
|
||||||
docker-images: true
|
docker-images: true
|
||||||
|
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: actions/setup-java@v1
|
- uses: actions/setup-java@v2
|
||||||
with:
|
with:
|
||||||
java-version: "17.x"
|
distribution: "temurin"
|
||||||
|
java-version: "17"
|
||||||
- name: Configure placeholder git details
|
- name: Configure placeholder git details
|
||||||
run: |
|
run: |
|
||||||
git config --global user.email "CI@cakewallet.com"
|
git config --global user.email "CI@cakewallet.com"
|
||||||
|
|
|
@ -119,9 +119,11 @@ class ElectrumClient {
|
||||||
_setConnectionStatus(ConnectionStatus.failed);
|
_setConnectionStatus(ConnectionStatus.failed);
|
||||||
},
|
},
|
||||||
onDone: () {
|
onDone: () {
|
||||||
socket = null;
|
|
||||||
unterminatedString = '';
|
unterminatedString = '';
|
||||||
if (host == socket?.address.host) _setConnectionStatus(ConnectionStatus.disconnected);
|
if (host == socket?.address.host) {
|
||||||
|
socket = null;
|
||||||
|
_setConnectionStatus(ConnectionStatus.disconnected);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
cancelOnError: true,
|
cancelOnError: true,
|
||||||
);
|
);
|
||||||
|
|
|
@ -42,7 +42,6 @@ import 'package:flutter/foundation.dart';
|
||||||
import 'package:hive/hive.dart';
|
import 'package:hive/hive.dart';
|
||||||
import 'package:mobx/mobx.dart';
|
import 'package:mobx/mobx.dart';
|
||||||
import 'package:rxdart/subjects.dart';
|
import 'package:rxdart/subjects.dart';
|
||||||
import 'package:http/http.dart' as http;
|
|
||||||
import 'package:sp_scanner/sp_scanner.dart';
|
import 'package:sp_scanner/sp_scanner.dart';
|
||||||
|
|
||||||
part 'electrum_wallet.g.dart';
|
part 'electrum_wallet.g.dart';
|
||||||
|
@ -89,7 +88,7 @@ abstract class ElectrumWalletBase
|
||||||
}
|
}
|
||||||
: {}),
|
: {}),
|
||||||
this.unspentCoinsInfo = unspentCoinsInfo,
|
this.unspentCoinsInfo = unspentCoinsInfo,
|
||||||
this.isTestnet = network == BitcoinNetwork.testnet,
|
this.isTestnet = !network.isMainnet,
|
||||||
this._mnemonic = mnemonic,
|
this._mnemonic = mnemonic,
|
||||||
super(walletInfo) {
|
super(walletInfo) {
|
||||||
this.electrumClient = electrumClient ?? ElectrumClient();
|
this.electrumClient = electrumClient ?? ElectrumClient();
|
||||||
|
@ -182,7 +181,7 @@ abstract class ElectrumWalletBase
|
||||||
BasedUtxoNetwork network;
|
BasedUtxoNetwork network;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool? isTestnet;
|
bool isTestnet;
|
||||||
|
|
||||||
bool get hasSilentPaymentsScanning => type == WalletType.bitcoin;
|
bool get hasSilentPaymentsScanning => type == WalletType.bitcoin;
|
||||||
|
|
||||||
|
@ -426,7 +425,7 @@ abstract class ElectrumWalletBase
|
||||||
await updateTransactions();
|
await updateTransactions();
|
||||||
await updateAllUnspents();
|
await updateAllUnspents();
|
||||||
await updateBalance();
|
await updateBalance();
|
||||||
updateFeeRates();
|
await updateFeeRates();
|
||||||
|
|
||||||
_updateFeeRateTimer ??=
|
_updateFeeRateTimer ??=
|
||||||
Timer.periodic(const Duration(minutes: 1), (timer) async => await updateFeeRates());
|
Timer.periodic(const Duration(minutes: 1), (timer) async => await updateFeeRates());
|
||||||
|
@ -448,6 +447,8 @@ abstract class ElectrumWalletBase
|
||||||
final feeRates = await electrumClient.feeRates(network: network);
|
final feeRates = await electrumClient.feeRates(network: network);
|
||||||
if (feeRates != [0, 0, 0]) {
|
if (feeRates != [0, 0, 0]) {
|
||||||
_feeRates = feeRates;
|
_feeRates = feeRates;
|
||||||
|
} else if (isTestnet) {
|
||||||
|
_feeRates = [1, 1, 1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1005,7 +1006,7 @@ abstract class ElectrumWalletBase
|
||||||
if (estimatedTx.inputPrivKeyInfos.isEmpty) {
|
if (estimatedTx.inputPrivKeyInfos.isEmpty) {
|
||||||
error += "\nNo private keys generated.";
|
error += "\nNo private keys generated.";
|
||||||
} else {
|
} else {
|
||||||
error += "\nAddress: ${utxo.ownerDetails.address.toAddress()}";
|
error += "\nAddress: ${utxo.ownerDetails.address.toAddress(network)}";
|
||||||
|
|
||||||
key = estimatedTx.inputPrivKeyInfos.firstWhereOrNull((element) {
|
key = estimatedTx.inputPrivKeyInfos.firstWhereOrNull((element) {
|
||||||
final elemPubkey = element.privkey.getPublic().toHex();
|
final elemPubkey = element.privkey.getPublic().toHex();
|
||||||
|
@ -1944,8 +1945,9 @@ abstract class ElectrumWalletBase
|
||||||
Future<void> _setInitialHeight() async {
|
Future<void> _setInitialHeight() async {
|
||||||
if (_chainTipUpdateSubject != null) return;
|
if (_chainTipUpdateSubject != null) return;
|
||||||
|
|
||||||
|
_currentChainTip = await getUpdatedChainTip();
|
||||||
|
|
||||||
if ((_currentChainTip == null || _currentChainTip! == 0) && walletInfo.restoreHeight == 0) {
|
if ((_currentChainTip == null || _currentChainTip! == 0) && walletInfo.restoreHeight == 0) {
|
||||||
await getUpdatedChainTip();
|
|
||||||
await walletInfo.updateRestoreHeight(_currentChainTip!);
|
await walletInfo.updateRestoreHeight(_currentChainTip!);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -95,5 +95,5 @@ abstract class WalletBase<BalanceType extends Balance, HistoryType extends Trans
|
||||||
|
|
||||||
Future<bool> verifyMessage(String message, String signature, {String? address = null});
|
Future<bool> verifyMessage(String message, String signature, {String? address = null});
|
||||||
|
|
||||||
bool? isTestnet;
|
bool isTestnet = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -516,7 +516,7 @@ class CWBitcoin extends Bitcoin {
|
||||||
@override
|
@override
|
||||||
bool isTestnet(Object wallet) {
|
bool isTestnet(Object wallet) {
|
||||||
final bitcoinWallet = wallet as ElectrumWallet;
|
final bitcoinWallet = wallet as ElectrumWallet;
|
||||||
return bitcoinWallet.isTestnet ?? false;
|
return bitcoinWallet.isTestnet;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
@ -52,7 +52,7 @@ abstract class NodeListViewModelBase with Store {
|
||||||
|
|
||||||
switch (_appStore.wallet!.type) {
|
switch (_appStore.wallet!.type) {
|
||||||
case WalletType.bitcoin:
|
case WalletType.bitcoin:
|
||||||
if (_appStore.wallet!.isTestnet == true) {
|
if (_appStore.wallet!.isTestnet) {
|
||||||
node = getBitcoinTestnetDefaultElectrumServer(nodes: _nodeSource)!;
|
node = getBitcoinTestnetDefaultElectrumServer(nodes: _nodeSource)!;
|
||||||
} else {
|
} else {
|
||||||
node = getBitcoinDefaultElectrumServer(nodes: _nodeSource)!;
|
node = getBitcoinDefaultElectrumServer(nodes: _nodeSource)!;
|
||||||
|
|
|
@ -152,7 +152,7 @@ abstract class TransactionDetailsViewModelBase with Store {
|
||||||
case WalletType.monero:
|
case WalletType.monero:
|
||||||
return 'https://monero.com/tx/${txId}';
|
return 'https://monero.com/tx/${txId}';
|
||||||
case WalletType.bitcoin:
|
case WalletType.bitcoin:
|
||||||
return 'https://mempool.space/${wallet.isTestnet == true ? "testnet/" : ""}tx/${txId}';
|
return 'https://mempool.space/${wallet.isTestnet ? "testnet/" : ""}tx/${txId}';
|
||||||
case WalletType.litecoin:
|
case WalletType.litecoin:
|
||||||
return 'https://blockchair.com/litecoin/transaction/${txId}';
|
return 'https://blockchair.com/litecoin/transaction/${txId}';
|
||||||
case WalletType.bitcoinCash:
|
case WalletType.bitcoinCash:
|
||||||
|
|
Loading…
Reference in a new issue