rippled
Loading...
Searching...
No Matches
SetSignerList.h
1#ifndef XRPL_TX_SETSIGNERLIST_H_INCLUDED
2#define XRPL_TX_SETSIGNERLIST_H_INCLUDED
3
4#include <xrpld/app/tx/detail/SignerEntries.h>
5#include <xrpld/app/tx/detail/Transactor.h>
6
7#include <xrpl/protocol/Rules.h>
8#include <xrpl/protocol/STTx.h>
9
10#include <cstdint>
11#include <vector>
12
13namespace ripple {
14
20{
21private:
22 // Values determined during preCompute for use later.
27
28public:
30
32 {
33 }
34
35 static std::uint32_t
37
38 static NotTEC
39 preflight(PreflightContext const& ctx);
40
41 TER
42 doApply() override;
43 void
44 preCompute() override;
45
46 // Interface used by DeleteAccount
47 static TER
49 Application& app,
51 AccountID const& account,
53
54private:
55 static std::tuple<
56 NotTEC,
61
62 static NotTEC
64 std::uint32_t quorum,
66 AccountID const& account,
68 Rules const&);
69
70 TER
72 TER
74
75 void
76 writeSignersToSLE(SLE::pointer const& ledgerEntry, std::uint32_t flags)
77 const;
78};
79
81
82} // namespace ripple
83
84#endif
A generic endpoint for log messages.
Definition Journal.h:41
State information when applying a tx.
Writeable view to a ledger, for applying a transaction.
Definition ApplyView.h:124
Rules controlling protocol behavior.
Definition Rules.h:19
See the README.md for an overview of the SetSignerList transaction that this class implements.
void writeSignersToSLE(SLE::pointer const &ledgerEntry, std::uint32_t flags) const
SetSignerList(ApplyContext &ctx)
static NotTEC preflight(PreflightContext const &ctx)
static constexpr ConsequencesFactoryType ConsequencesFactory
static NotTEC validateQuorumAndSignerEntries(std::uint32_t quorum, std::vector< SignerEntries::SignerEntry > const &signers, AccountID const &account, beast::Journal j, Rules const &)
void preCompute() override
static TER removeFromLedger(Application &app, ApplyView &view, AccountID const &account, beast::Journal j)
std::uint32_t quorum_
std::vector< SignerEntries::SignerEntry > signers_
static std::tuple< NotTEC, std::uint32_t, std::vector< SignerEntries::SignerEntry >, Operation > determineOperation(STTx const &tx, ApplyFlags flags, beast::Journal j)
static std::uint32_t getFlagsMask(PreflightContext const &ctx)
ApplyView & view()
Definition Transactor.h:144
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:6
TERSubset< CanCvtToNotTEC > NotTEC
Definition TER.h:590
State information when preflighting a tx.
Definition Transactor.h:16