rippled
Loading...
Searching...
No Matches
Sign.h
1#pragma once
2
3#include <xrpl/protocol/HashPrefix.h>
4#include <xrpl/protocol/PublicKey.h>
5#include <xrpl/protocol/STObject.h>
6#include <xrpl/protocol/SecretKey.h>
7
8namespace xrpl {
9
21void
22sign(STObject& st, HashPrefix const& prefix, KeyType type, SecretKey const& sk, SF_VL const& sigField = sfSignature);
23
32bool
33verify(STObject const& st, HashPrefix const& prefix, PublicKey const& pk, SF_VL const& sigField = sfSignature);
34
36Serializer
37buildMultiSigningData(STObject const& obj, AccountID const& signingID);
38
51Serializer
52startMultiSigningData(STObject const& obj);
53
54inline void
56{
57 s.addBitString(signingID);
58}
59
60} // namespace xrpl
int addBitString(base_uint< Bits, Tag > const &v)
Definition Serializer.h:105
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
Serializer startMultiSigningData(STObject const &obj)
Break the multi-signing hash computation into 2 parts for optimization.
Definition Sign.cpp:75
KeyType
Definition KeyType.h:8
bool verify(PublicKey const &publicKey, Slice const &m, Slice const &sig) noexcept
Verify a signature on a message.
TypedField< STBlob > SF_VL
Definition SField.h:350
base_uint< 160, detail::AccountIDTag > AccountID
A 160-bit unsigned that uniquely identifies an account.
Definition AccountID.h:28
void finishMultiSigningData(AccountID const &signingID, Serializer &s)
Definition Sign.h:55
HashPrefix
Prefix for hashing functions.
Definition HashPrefix.h:34
Buffer sign(PublicKey const &pk, SecretKey const &sk, Slice const &message)
Generate a signature for a message.
Serializer buildMultiSigningData(STObject const &obj, AccountID const &signingID)
Return a Serializer suitable for computing a multisigning TxnSignature.
Definition Sign.cpp:67