rippled
Loading...
Searching...
No Matches
SetSignerList.h
1#pragma once
2
3#include <xrpld/app/tx/detail/SignerEntries.h>
4#include <xrpld/app/tx/detail/Transactor.h>
5
6#include <xrpl/protocol/Rules.h>
7#include <xrpl/protocol/STTx.h>
8
9#include <cstdint>
10#include <vector>
11
12namespace xrpl {
13
19{
20private:
21 // Values determined during preCompute for use later.
26
27public:
29
31 {
32 }
33
34 static std::uint32_t
36
37 static NotTEC
38 preflight(PreflightContext const& ctx);
39
40 TER
41 doApply() override;
42 void
43 preCompute() override;
44
45 // Interface used by DeleteAccount
46 static TER
48
49private:
52
53 static NotTEC
55 std::uint32_t quorum,
57 AccountID const& account,
59 Rules const&);
60
61 TER
63 TER
65
66 void
67 writeSignersToSLE(SLE::pointer const& ledgerEntry, std::uint32_t flags) const;
68};
69
71
72} // namespace xrpl
A generic endpoint for log messages.
Definition Journal.h:40
State information when applying a tx.
Writeable view to a ledger, for applying a transaction.
Definition ApplyView.h:114
Rules controlling protocol behavior.
Definition Rules.h:18
See the README.md for an overview of the SetSignerList transaction that this class implements.
static std::tuple< NotTEC, std::uint32_t, std::vector< SignerEntries::SignerEntry >, Operation > determineOperation(STTx const &tx, ApplyFlags flags, beast::Journal j)
std::uint32_t quorum_
TER doApply() override
static TER removeFromLedger(Application &app, ApplyView &view, AccountID const &account, beast::Journal j)
void writeSignersToSLE(SLE::pointer const &ledgerEntry, std::uint32_t flags) const
void preCompute() override
static std::uint32_t getFlagsMask(PreflightContext const &ctx)
static NotTEC validateQuorumAndSignerEntries(std::uint32_t quorum, std::vector< SignerEntries::SignerEntry > const &signers, AccountID const &account, beast::Journal j, Rules const &)
SetSignerList(ApplyContext &ctx)
std::vector< SignerEntries::SignerEntry > signers_
static NotTEC preflight(PreflightContext const &ctx)
static constexpr ConsequencesFactoryType ConsequencesFactory
ApplyView & view()
Definition Transactor.h:128
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
ApplyFlags
Definition ApplyView.h:10
State information when preflighting a tx.
Definition Transactor.h:15