rippled
Loading...
Searching...
No Matches
XChainOwnedCreateAccountClaimID.h
1// This file is auto-generated. Do not edit.
2#pragma once
3
4#include <xrpl/protocol/STLedgerEntry.h>
5#include <xrpl/protocol/STParsedJSON.h>
6#include <xrpl/protocol/jss.h>
7#include <xrpl/protocol_autogen/LedgerEntryBase.h>
8#include <xrpl/protocol_autogen/LedgerEntryBuilderBase.h>
9#include <xrpl/json/json_value.h>
10
11#include <stdexcept>
12#include <optional>
13
14namespace xrpl::ledger_entries {
15
16class XChainOwnedCreateAccountClaimIDBuilder;
17
28{
29public:
30 static constexpr LedgerEntryType entryType = ltXCHAIN_OWNED_CREATE_ACCOUNT_CLAIM_ID;
31
37 : LedgerEntryBase(std::move(sle))
38 {
39 // Verify ledger entry type
40 if (sle_->getType() != entryType)
41 {
42 throw std::runtime_error("Invalid ledger entry type for XChainOwnedCreateAccountClaimID");
43 }
44 }
45
46 // Ledger entry-specific field getters
47
52 [[nodiscard]]
53 SF_ACCOUNT::type::value_type
54 getAccount() const
55 {
56 return this->sle_->at(sfAccount);
57 }
58
63 [[nodiscard]]
64 SF_XCHAIN_BRIDGE::type::value_type
66 {
67 return this->sle_->at(sfXChainBridge);
68 }
69
74 [[nodiscard]]
75 SF_UINT64::type::value_type
77 {
78 return this->sle_->at(sfXChainAccountCreateCount);
79 }
80
86 [[nodiscard]]
87 STArray const&
89 {
90 return this->sle_->getFieldArray(sfXChainCreateAccountAttestations);
91 }
92
97 [[nodiscard]]
98 SF_UINT64::type::value_type
100 {
101 return this->sle_->at(sfOwnerNode);
102 }
103
108 [[nodiscard]]
109 SF_UINT256::type::value_type
111 {
112 return this->sle_->at(sfPreviousTxnID);
113 }
114
119 [[nodiscard]]
120 SF_UINT32::type::value_type
122 {
123 return this->sle_->at(sfPreviousTxnLgrSeq);
124 }
125};
126
134class XChainOwnedCreateAccountClaimIDBuilder : public LedgerEntryBuilderBase<XChainOwnedCreateAccountClaimIDBuilder>
135{
136public:
148 : LedgerEntryBuilderBase<XChainOwnedCreateAccountClaimIDBuilder>(ltXCHAIN_OWNED_CREATE_ACCOUNT_CLAIM_ID)
149 {
150 setAccount(account);
151 setXChainBridge(xChainBridge);
152 setXChainAccountCreateCount(xChainAccountCreateCount);
153 setXChainCreateAccountAttestations(xChainCreateAccountAttestations);
154 setOwnerNode(ownerNode);
155 setPreviousTxnID(previousTxnID);
156 setPreviousTxnLgrSeq(previousTxnLgrSeq);
157 }
158
165 {
166 if (sle->at(sfLedgerEntryType) != ltXCHAIN_OWNED_CREATE_ACCOUNT_CLAIM_ID)
167 {
168 throw std::runtime_error("Invalid ledger entry type for XChainOwnedCreateAccountClaimID");
169 }
170 object_ = *sle;
171 }
172
181 {
182 object_[sfAccount] = value;
183 return *this;
184 }
185
192 {
193 object_[sfXChainBridge] = value;
194 return *this;
195 }
196
203 {
204 object_[sfXChainAccountCreateCount] = value;
205 return *this;
206 }
207
214 {
215 object_.setFieldArray(sfXChainCreateAccountAttestations, value);
216 return *this;
217 }
218
225 {
226 object_[sfOwnerNode] = value;
227 return *this;
228 }
229
236 {
237 object_[sfPreviousTxnID] = value;
238 return *this;
239 }
240
247 {
248 object_[sfPreviousTxnLgrSeq] = value;
249 return *this;
250 }
251
258 build(uint256 const& index)
259 {
261 }
262};
263
264} // namespace xrpl::ledger_entries
void setFieldArray(SField const &field, STArray const &v)
Definition STObject.cpp:819
Base class for type-safe ledger entry wrappers.
std::shared_ptr< SLE const > sle_
The underlying serialized ledger entry being wrapped.
Base class for all ledger entry builders.
Builder for XChainOwnedCreateAccountClaimID ledger entries.
XChainOwnedCreateAccountClaimIDBuilder & setAccount(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Ledger entry-specific field setters.
XChainOwnedCreateAccountClaimIDBuilder(std::decay_t< typename SF_ACCOUNT::type::value_type > const &account, std::decay_t< typename SF_XCHAIN_BRIDGE::type::value_type > const &xChainBridge, std::decay_t< typename SF_UINT64::type::value_type > const &xChainAccountCreateCount, STArray const &xChainCreateAccountAttestations, std::decay_t< typename SF_UINT64::type::value_type > const &ownerNode, std::decay_t< typename SF_UINT256::type::value_type > const &previousTxnID, std::decay_t< typename SF_UINT32::type::value_type > const &previousTxnLgrSeq)
Construct a new XChainOwnedCreateAccountClaimIDBuilder with required fields.
XChainOwnedCreateAccountClaimIDBuilder & setXChainAccountCreateCount(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfXChainAccountCreateCount (soeREQUIRED)
XChainOwnedCreateAccountClaimIDBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfPreviousTxnID (soeREQUIRED)
XChainOwnedCreateAccountClaimIDBuilder & setXChainCreateAccountAttestations(STArray const &value)
Set sfXChainCreateAccountAttestations (soeREQUIRED)
XChainOwnedCreateAccountClaimIDBuilder & setOwnerNode(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfOwnerNode (soeREQUIRED)
XChainOwnedCreateAccountClaimIDBuilder(std::shared_ptr< SLE const > sle)
Construct a XChainOwnedCreateAccountClaimIDBuilder from an existing SLE object.
XChainOwnedCreateAccountClaimIDBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (soeREQUIRED)
XChainOwnedCreateAccountClaimIDBuilder & setXChainBridge(std::decay_t< typename SF_XCHAIN_BRIDGE::type::value_type > const &value)
Set sfXChainBridge (soeREQUIRED)
XChainOwnedCreateAccountClaimID build(uint256 const &index)
Build and return the completed XChainOwnedCreateAccountClaimID wrapper.
SF_ACCOUNT::type::value_type getAccount() const
Get sfAccount (soeREQUIRED)
XChainOwnedCreateAccountClaimID(std::shared_ptr< SLE const > sle)
Construct a XChainOwnedCreateAccountClaimID ledger entry wrapper from an existing SLE object.
SF_XCHAIN_BRIDGE::type::value_type getXChainBridge() const
Get sfXChainBridge (soeREQUIRED)
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (soeREQUIRED)
SF_UINT64::type::value_type getXChainAccountCreateCount() const
Get sfXChainAccountCreateCount (soeREQUIRED)
STArray const & getXChainCreateAccountAttestations() const
Get sfXChainCreateAccountAttestations (soeREQUIRED)
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (soeREQUIRED)
SF_UINT64::type::value_type getOwnerNode() const
Get sfOwnerNode (soeREQUIRED)
T is_same_v
STL namespace.
LedgerEntryType
Identifiers for on-ledger objects.