Package org.consensusj.bitcoinj.signing
Interface BaseTransactionSigner
- All Superinterfaces:
TransactionSigner
- All Known Implementing Classes:
ECKeySigner
,HDKeychainSigner
A template interface, implementations need only implement
keyForInput(TransactionInputData)
.
The HDKeychainSigner
implementation can sign transactions using a bitcoinj DeterministicKeyChain
.
Keys and PubKeys can be searched for, but not UTXOs or amounts
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
addSignedInput
(org.bitcoinj.core.Transaction tx, TransactionInputData in, Supplier<? extends RuntimeException> exceptionSupplier) Optional
<org.bitcoinj.crypto.ECKey> keyForInput
(TransactionInputData input) Return an ECKey, if available for the provided inputdefault Optional
<org.bitcoinj.crypto.ECKey> default CompletableFuture
<org.bitcoinj.core.Transaction> signTransaction
(SigningRequest request) Create a signed bitcoinj transaction from the signing requestverify
(org.bitcoinj.core.Transaction tx, List<TransactionInputData> reqInputs) verifyInput
(org.bitcoinj.core.Transaction tx, int index, TransactionInputData inputData)
-
Field Details
-
log
-
-
Method Details
-
signTransaction
Create a signed bitcoinj transaction from the signing request- Specified by:
signTransaction
in interfaceTransactionSigner
- Parameters:
request
- Signing request with data for all inputs and all outputs- Returns:
- A signed transaction (should be treated as immutable)
-
verify
default Optional<Exception> verify(org.bitcoinj.core.Transaction tx, List<TransactionInputData> reqInputs) -
verifyInput
default Optional<Exception> verifyInput(org.bitcoinj.core.Transaction tx, int index, TransactionInputData inputData) -
addSignedInput
default void addSignedInput(org.bitcoinj.core.Transaction tx, TransactionInputData in, Supplier<? extends RuntimeException> exceptionSupplier) - Parameters:
tx
- Mutable transaction currently being builtin
- The transaction input dataexceptionSupplier
- exception to throw if key is not available.
-
keyForInput
Return an ECKey, if available for the provided input- Parameters:
input
- A transaction input- Returns:
- The ECKey or empty
-
pubKeyForInput
-