xrpld
Loading...
Searching...
No Matches
Sign.h
1#pragma once
2
3#include <xrpl/protocol/AccountID.h>
4#include <xrpl/protocol/HashPrefix.h>
5#include <xrpl/protocol/KeyType.h>
6#include <xrpl/protocol/PublicKey.h>
7#include <xrpl/protocol/SField.h>
8#include <xrpl/protocol/STObject.h>
9#include <xrpl/protocol/SecretKey.h>
10#include <xrpl/protocol/Serializer.h>
11
12namespace xrpl {
13
26void
27sign(
28 STObject& st,
29 HashPrefix const& prefix,
30 KeyType type,
31 SecretKey const& sk,
32 SF_VL const& sigField = sfSignature);
33
43bool
44verify(
45 STObject const& st,
46 HashPrefix const& prefix,
47 PublicKey const& pk,
48 SF_VL const& sigField = sfSignature);
49
54buildMultiSigningData(STObject const& obj, AccountID const& signingID);
55
71
72inline void
74{
75 s.addBitString(signingID);
76}
77
78} // namespace xrpl
A public key.
Definition PublicKey.h:53
A secret key.
Definition SecretKey.h:24
int addBitString(BaseUInt< Bits, Tag > const &v)
Definition Serializer.h:106
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.
void finishMultiSigningData(AccountID const &signingID, Serializer &s)
Definition Sign.h:73
TypedField< STBlob > SF_VL
Definition SField.h:359
BaseUInt< 160, detail::AccountIDTag > AccountID
A 160-bit unsigned that uniquely identifies an account.
Definition AccountID.h:34
HashPrefix
Prefix for hashing functions.
Definition HashPrefix.h:35
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.