Class SignatureUtils
java.lang.Object
org.xrpl.xrpl4j.crypto.core.signing.SignatureUtils
Utility methods to help with generating, validating, and manipulating digital signatures.
-
Constructor Summary
ConstructorDescriptionSignatureUtils
(com.fasterxml.jackson.databind.ObjectMapper objectMapper, XrplBinaryCodec binaryCodec) Required-args constructor. -
Method Summary
Modifier and TypeMethodDescription<T extends Transaction>
SingleSingedTransaction<T>addSignatureToTransaction
(T transaction, Signature signature) AddTransaction.transactionSignature()
to the given transaction.static SignatureUtils
Obtain the singleton instance ofSignatureUtils
.toMultiSignableBytes
(Transaction transaction, Address signerAddress) Helper method to convert aTransaction
into bytes that can be signed by multiple signers, as is the case when the source account has set a SignerList.toSignableBytes
(UnsignedClaim unsignedClaim) Helper method to convert anUnsignedClaim
into bytes that can be used directly for signing.toSignableBytes
(Transaction transaction) Helper method to convert aTransaction
into bytes that can be used directly for signing.
-
Constructor Details
-
SignatureUtils
public SignatureUtils(com.fasterxml.jackson.databind.ObjectMapper objectMapper, XrplBinaryCodec binaryCodec) Required-args constructor.- Parameters:
objectMapper
- AObjectMapper
.binaryCodec
- AXrplBinaryCodec
.
-
-
Method Details
-
getInstance
Obtain the singleton instance ofSignatureUtils
.- Returns:
- An
SignatureUtils
.
-
toSignableBytes
Helper method to convert aTransaction
into bytes that can be used directly for signing.- Parameters:
transaction
- ATransaction
to be signed.- Returns:
- An
UnsignedByteArray
.
-
toSignableBytes
Helper method to convert anUnsignedClaim
into bytes that can be used directly for signing.- Parameters:
unsignedClaim
- AnUnsignedClaim
to be signed.- Returns:
- An
UnsignedByteArray
.
-
toMultiSignableBytes
Helper method to convert aTransaction
into bytes that can be signed by multiple signers, as is the case when the source account has set a SignerList.- Parameters:
transaction
- ATransaction
to be signed.signerAddress
- TheAddress
of the signer of the transaction.- Returns:
- An
UnsignedByteArray
.
-
addSignatureToTransaction
public <T extends Transaction> SingleSingedTransaction<T> addSignatureToTransaction(T transaction, Signature signature) AddTransaction.transactionSignature()
to the given transaction. BecauseTransaction
is not an Immutable object, it does not have a generated builder like its subclasses do. Thus, this method needs to rebuild transactions based on their runtime type.- Type Parameters:
T
- extendsTransaction
.- Parameters:
transaction
- An unsignedTransaction
to add a signature to. Note thatTransaction.transactionSignature()
must not be provided, andTransaction.signingPublicKey()
must be provided.signature
- ASignature
containing the transaction signature.- Returns:
- A copy of
transaction
with theTransaction.transactionSignature()
field added.
-