mirror of
https://github.com/sparrowwallet/drongo.git
synced 2024-12-26 01:56:44 +00:00
support determining if tx input refers to a txo from a wallet
This commit is contained in:
parent
9d3c02d184
commit
107a165fc1
2 changed files with 17 additions and 4 deletions
|
@ -5,10 +5,7 @@ import com.sparrowwallet.drongo.crypto.ECKey;
|
||||||
import com.sparrowwallet.drongo.policy.Miniscript;
|
import com.sparrowwallet.drongo.policy.Miniscript;
|
||||||
import com.sparrowwallet.drongo.policy.Policy;
|
import com.sparrowwallet.drongo.policy.Policy;
|
||||||
import com.sparrowwallet.drongo.policy.PolicyType;
|
import com.sparrowwallet.drongo.policy.PolicyType;
|
||||||
import com.sparrowwallet.drongo.protocol.NonStandardScriptException;
|
import com.sparrowwallet.drongo.protocol.*;
|
||||||
import com.sparrowwallet.drongo.protocol.Script;
|
|
||||||
import com.sparrowwallet.drongo.protocol.ScriptType;
|
|
||||||
import com.sparrowwallet.drongo.protocol.TransactionSignature;
|
|
||||||
import com.sparrowwallet.drongo.psbt.PSBT;
|
import com.sparrowwallet.drongo.psbt.PSBT;
|
||||||
import com.sparrowwallet.drongo.psbt.PSBTInput;
|
import com.sparrowwallet.drongo.psbt.PSBTInput;
|
||||||
|
|
||||||
|
@ -125,4 +122,16 @@ public class FinalizingPSBTWallet extends Wallet {
|
||||||
public boolean canSign(PSBT psbt) {
|
public boolean canSign(PSBT psbt) {
|
||||||
return !getSigningNodes(psbt).isEmpty();
|
return !getSigningNodes(psbt).isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isWalletTxo(TransactionInput txInput) {
|
||||||
|
for(PSBTInput psbtInput : signedInputNodes.keySet()) {
|
||||||
|
TransactionInput psbtTxInput = psbtInput.getInput();
|
||||||
|
if(psbtTxInput.getOutpoint().getHash().equals(txInput.getOutpoint().getHash()) && psbtTxInput.getOutpoint().getIndex() == txInput.getOutpoint().getIndex()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -351,6 +351,10 @@ public class Wallet extends Persistable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isWalletTxo(TransactionInput txInput) {
|
||||||
|
return getWalletTxos().keySet().stream().anyMatch(ref -> ref.getHash().equals(txInput.getOutpoint().getHash()) && ref.getIndex() == txInput.getOutpoint().getIndex());
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isWalletTxo(BlockTransactionHashIndex txo) {
|
public boolean isWalletTxo(BlockTransactionHashIndex txo) {
|
||||||
return getWalletTxos().containsKey(txo);
|
return getWalletTxos().containsKey(txo);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue