rippled
Loading...
Searching...
No Matches
tx/transactors/account/SignerListSet.h
1#pragma once
2
3#include <xrpl/protocol/Rules.h>
4#include <xrpl/protocol/STTx.h>
5#include <xrpl/tx/SignerEntries.h>
6#include <xrpl/tx/Transactor.h>
7
8#include <cstdint>
9#include <vector>
10
11namespace xrpl {
12
18{
19private:
20 // Values determined during preCompute for use later.
25
26public:
28
30 {
31 }
32
33 static std::uint32_t
35
36 static NotTEC
37 preflight(PreflightContext const& ctx);
38
39 TER
40 doApply() override;
41 void
42 preCompute() override;
43
44 // Interface used by AccountDelete
45 static TER
47 ServiceRegistry& registry,
49 AccountID const& account,
51
52private:
55
56 static NotTEC
58 std::uint32_t quorum,
60 AccountID const& account,
62 Rules const&);
63
64 TER
66 TER
68
69 void
70 writeSignersToSLE(SLE::pointer const& ledgerEntry, std::uint32_t flags) const;
71};
72
73} // 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:116
Rules controlling protocol behavior.
Definition Rules.h:18
Service registry for dependency injection.
See the README.md for an overview of the SignerListSet transaction that this class implements.
static constexpr ConsequencesFactoryType ConsequencesFactory
static NotTEC preflight(PreflightContext const &ctx)
void preCompute() override
static std::tuple< NotTEC, std::uint32_t, std::vector< SignerEntries::SignerEntry >, Operation > determineOperation(STTx const &tx, ApplyFlags flags, beast::Journal j)
static NotTEC validateQuorumAndSignerEntries(std::uint32_t quorum, std::vector< SignerEntries::SignerEntry > const &signers, AccountID const &account, beast::Journal j, Rules const &)
TER doApply() override
std::vector< SignerEntries::SignerEntry > signers_
static TER removeFromLedger(ServiceRegistry &registry, ApplyView &view, AccountID const &account, beast::Journal j)
void writeSignersToSLE(SLE::pointer const &ledgerEntry, std::uint32_t flags) const
static std::uint32_t getFlagsMask(PreflightContext const &ctx)
ApplyView & view()
Definition Transactor.h:132
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:14