20#ifndef RIPPLE_PROTOCOL_STTX_H_INCLUDED
21#define RIPPLE_PROTOCOL_STTX_H_INCLUDED
23#include <xrpl/basics/Expected.h>
24#include <xrpl/protocol/Feature.h>
25#include <xrpl/protocol/PublicKey.h>
26#include <xrpl/protocol/Rules.h>
27#include <xrpl/protocol/STObject.h>
28#include <xrpl/protocol/SecretKey.h>
29#include <xrpl/protocol/SeqProxy.h>
30#include <xrpl/protocol/TxFormats.h>
32#include <boost/container/flat_set.hpp>
59 if (rules && !rules->enabled(featureExpandedSignerList))
109 boost::container::flat_set<AccountID>
136 Rules const& rules)
const;
163 Rules const& rules)
const;
174 Rules const& rules)
const;
Tracks the number of instances of an object.
Rules controlling protocol behavior.
A type which can be exported to a well known binary format.
Blob getFieldVL(SField const &field) const
boost::container::flat_set< AccountID > getMentionedAccounts() const
std::vector< uint256 > getBatchTransactionIDs() const
Retrieves a batch of transaction IDs from the STTx.
uint256 getSigningHash() const
static std::string const & getMetaSQLInsertReplaceHeader()
void sign(PublicKey const &publicKey, SecretKey const &secretKey)
Expected< void, std::string > checkMultiSign(RequireFullyCanonicalSig requireCanonicalSig, Rules const &rules) const
SeqProxy getSeqProxy() const
Json::Value getJson(JsonOptions options) const override
Expected< void, std::string > checkSingleSign(RequireFullyCanonicalSig requireCanonicalSig) const
Expected< void, std::string > checkBatchSingleSign(STObject const &batchSigner, RequireFullyCanonicalSig requireCanonicalSig) const
STBase * move(std::size_t n, void *buf) override
static std::size_t const minMultiSigners
Blob getSigningPubKey() const
Expected< void, std::string > checkSign(RequireFullyCanonicalSig requireCanonicalSig, Rules const &rules) const
static std::size_t maxMultiSigners(Rules const *rules=0)
RequireFullyCanonicalSig
Check the signature.
std::vector< uint256 > batch_txn_ids_
Expected< void, std::string > checkBatchMultiSign(STObject const &batchSigner, RequireFullyCanonicalSig requireCanonicalSig, Rules const &rules) const
STTx & operator=(STTx const &other)=delete
Blob getSignature() const
std::uint32_t getSeqValue() const
Returns the first non-zero value of (Sequence, TicketSequence).
STTx(STTx const &other)=default
TxType getTxnType() const
std::string getMetaSQL(std::uint32_t inLedger, std::string const &escapedMetaData) const
uint256 getTransactionID() const
SerializedTypeID getSType() const override
std::string getFullText() const override
Expected< void, std::string > checkBatchSign(RequireFullyCanonicalSig requireCanonicalSig, Rules const &rules) const
STBase * copy(std::size_t n, void *buf) const override
A type that represents either a sequence value or a ticket value.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::shared_ptr< STTx const > sterilize(STTx const &stx)
Sterilize a transaction.
TxType
Transaction type identifiers.
bool isPseudoTx(STObject const &tx)
Check whether a transaction is a pseudo-transaction.
bool passesLocalChecks(STObject const &st, std::string &)
Note, should be treated as flags that can be | and &.