mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-01-03 17:40:43 +00:00
feat: more info on privkey error (#1612)
Some checks are pending
Cache Dependencies / test (push) Waiting to run
Some checks are pending
Cache Dependencies / test (push) Waiting to run
This commit is contained in:
parent
40496fbfe7
commit
102139b061
1 changed files with 21 additions and 3 deletions
|
@ -993,11 +993,29 @@ abstract class ElectrumWalletBase
|
||||||
bool hasTaprootInputs = false;
|
bool hasTaprootInputs = false;
|
||||||
|
|
||||||
final transaction = txb.buildTransaction((txDigest, utxo, publicKey, sighash) {
|
final transaction = txb.buildTransaction((txDigest, utxo, publicKey, sighash) {
|
||||||
final key = estimatedTx.inputPrivKeyInfos
|
String error = "Cannot find private key.";
|
||||||
.firstWhereOrNull((element) => element.privkey.getPublic().toHex() == publicKey);
|
|
||||||
|
ECPrivateInfo? key;
|
||||||
|
|
||||||
|
if (estimatedTx.inputPrivKeyInfos.isEmpty) {
|
||||||
|
error += "\nNo private keys generated.";
|
||||||
|
} else {
|
||||||
|
error += "\nAddress: ${utxo.ownerDetails.address.toAddress()}";
|
||||||
|
|
||||||
|
key = estimatedTx.inputPrivKeyInfos.firstWhereOrNull((element) {
|
||||||
|
final elemPubkey = element.privkey.getPublic().toHex();
|
||||||
|
if (elemPubkey == publicKey) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
error += "\nExpected: $publicKey";
|
||||||
|
error += "\nPubkey: $elemPubkey";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
if (key == null) {
|
if (key == null) {
|
||||||
throw Exception("Cannot find private key");
|
throw Exception(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (utxo.utxo.isP2tr()) {
|
if (utxo.utxo.isP2tr()) {
|
||||||
|
|
Loading…
Reference in a new issue