rippled
Loading...
Searching...
No Matches
Sign.h
1#ifndef XRPL_PROTOCOL_SIGN_H_INCLUDED
2#define XRPL_PROTOCOL_SIGN_H_INCLUDED
3
4#include <xrpl/protocol/HashPrefix.h>
5#include <xrpl/protocol/PublicKey.h>
6#include <xrpl/protocol/STObject.h>
7#include <xrpl/protocol/SecretKey.h>
8
9namespace ripple {
10
22void
23sign(
24 STObject& st,
25 HashPrefix const& prefix,
26 KeyType type,
27 SecretKey const& sk,
28 SF_VL const& sigField = sfSignature);
29
38bool
39verify(
40 STObject const& st,
41 HashPrefix const& prefix,
42 PublicKey const& pk,
43 SF_VL const& sigField = sfSignature);
44
46Serializer
47buildMultiSigningData(STObject const& obj, AccountID const& signingID);
48
61Serializer
62startMultiSigningData(STObject const& obj);
63
64inline void
66{
67 s.addBitString(signingID);
68}
69
70} // namespace ripple
71
72#endif
int addBitString(base_uint< Bits, Tag > const &v)
Definition Serializer.h:112
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:6
base_uint< 160, detail::AccountIDTag > AccountID
A 160-bit unsigned that uniquely identifies an account.
Definition AccountID.h:29
TypedField< STBlob > SF_VL
Definition SField.h:350
void finishMultiSigningData(AccountID const &signingID, Serializer &s)
Definition Sign.h:65
Serializer startMultiSigningData(STObject const &obj)
Break the multi-signing hash computation into 2 parts for optimization.
Definition Sign.cpp:85
bool verify(PublicKey const &publicKey, Slice const &m, Slice const &sig, bool mustBeFullyCanonical=true) noexcept
Verify a signature on a message.
Serializer buildMultiSigningData(STObject const &obj, AccountID const &signingID)
Return a Serializer suitable for computing a multisigning TxnSignature.
Definition Sign.cpp:77
Buffer sign(PublicKey const &pk, SecretKey const &sk, Slice const &message)
Generate a signature for a message.
KeyType
Definition KeyType.h:9
HashPrefix
Prefix for hashing functions.
Definition HashPrefix.h:36