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(
23 STObject& st,
24 HashPrefix const& prefix,
25 KeyType type,
26 SecretKey const& sk,
27 SF_VL const& sigField = sfSignature);
28
37bool
38verify(
39 STObject const& st,
40 HashPrefix const& prefix,
41 PublicKey const& pk,
42 SF_VL const& sigField = sfSignature);
43
45Serializer
46buildMultiSigningData(STObject const& obj, AccountID const& signingID);
47
60Serializer
61startMultiSigningData(STObject const& obj);
62
63inline void
65{
66 s.addBitString(signingID);
67}
68
69} // 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.
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:64
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.