3#include <xrpl/basics/Buffer.h>
4#include <xrpl/basics/Expected.h>
5#include <xrpl/protocol/AccountID.h>
6#include <xrpl/protocol/Issue.h>
7#include <xrpl/protocol/PublicKey.h>
8#include <xrpl/protocol/SField.h>
9#include <xrpl/protocol/STBase.h>
10#include <xrpl/protocol/STXChainBridge.h>
11#include <xrpl/protocol/SecretKey.h>
12#include <xrpl/protocol/TER.h>
14#include <boost/container/flat_set.hpp>
15#include <boost/container/vector.hpp>
22namespace Attestations {
50 bool wasLockingChainSend_);
67 [[nodiscard]]
static bool
70 [[nodiscard]]
static bool
94 bool wasLockingChainSend_,
106 bool wasLockingChainSend_,
174 bool wasLockingChainSend_,
187 bool wasLockingChainSend_,
270 bool wasLockingChainSend_,
278 bool wasLockingChainSend_,
288 match(MatchFields
const& rhs)
const;
326 bool wasLockingChainSend_,
349template <
class TAttestation>
381 typename AttCollection::const_iterator
384 typename AttCollection::const_iterator
387 typename AttCollection::iterator
390 typename AttCollection::iterator
411template <
class TAttestation>
412[[nodiscard]]
inline bool
420template <
class TAttestation>
424 return attestations_;
427template <
class TAttestation>
435template <
class TAttestation>
443template <
class TAttestation>
447 return attestations_.size();
450template <
class TAttestation>
454 return attestations_.empty();
Like std::vector<char> but better.
STArray toSTArray() const
XChainAttestationsBase(AttCollection &&sigs)
std::size_t erase_if(F &&f)
std::vector< TAttestation > AttCollection
AttCollection::const_iterator end() const
AttCollection attestations_
XChainAttestationsBase(XChainAttestationsBase const &rhs)=default
AttCollection const & attestations() const
AttCollection::const_iterator begin() const
void emplace_back(T &&att)
XChainAttestationsBase & operator=(XChainAttestationsBase const &rhs)=default
static constexpr std::uint32_t maxAttestations
~XChainAttestationsBase()=default
XChainAttestationsBase()=default
T emplace_back(T... args)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
constexpr bool operator==(base_uint< Bits, Tag > const &lhs, base_uint< Bits, Tag > const &rhs)
AttestationBase & operator=(AttestationBase const &)=default
AccountID attestationSignerAccount
virtual ~AttestationBase()=default
bool verify(STXChainBridge const &bridge) const
static bool equalHelper(AttestationBase const &lhs, AttestationBase const &rhs)
static bool sameEventHelper(AttestationBase const &lhs, AttestationBase const &rhs)
virtual std::vector< std::uint8_t > message(STXChainBridge const &bridge) const =0
AttestationBase(AttestationBase const &)=default
void addHelper(STObject &o) const
bool sameEvent(AttestationClaim const &rhs) const
bool validAmounts() const
friend bool operator==(AttestationClaim const &lhs, AttestationClaim const &rhs)
STObject toSTObject() const
static std::vector< std::uint8_t > message(STXChainBridge const &bridge, AccountID const &sendingAccount, STAmount const &sendingAmount, AccountID const &rewardAccount, bool wasLockingChainSend, std::uint64_t claimID, std::optional< AccountID > const &dst)
std::optional< AccountID > dst
bool validAmounts() const
STObject toSTObject() const
bool sameEvent(AttestationCreateAccount const &rhs) const
std::uint64_t createCount
friend bool operator==(AttestationCreateAccount const &lhs, AttestationCreateAccount const &rhs)
static std::vector< std::uint8_t > message(STXChainBridge const &bridge, AccountID const &sendingAccount, STAmount const &sendingAmount, STAmount const &rewardAmount, AccountID const &rewardAccount, bool wasLockingChainSend, std::uint64_t createCount, AccountID const &dst)
bool operator()(AttestationClaim const &lhs, AttestationClaim const &rhs) const
bool operator()(AttestationCreateAccount const &lhs, AttestationCreateAccount const &rhs) const
MatchFields(STAmount const &a, bool b, std::optional< AccountID > const &d)
std::optional< AccountID > dst
static SField const & ArrayFieldName
std::optional< AccountID > dst
Attestations::AttestationClaim TSignedAttestation
friend bool operator==(XChainClaimAttestation const &lhs, XChainClaimAttestation const &rhs)
STObject toSTObject() const
static SField const & ArrayFieldName
STObject toSTObject() const
friend bool operator==(XChainCreateAccountAttestation const &lhs, XChainCreateAccountAttestation const &rhs)