rippled
Loading...
Searching...
No Matches
XChainOwnedClaimID.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 XChainOwnedClaimIDBuilder;
17
28{
29public:
30 static constexpr LedgerEntryType entryType = ltXCHAIN_OWNED_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 XChainOwnedClaimID");
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(sfXChainClaimID);
79 }
80
85 [[nodiscard]]
86 SF_ACCOUNT::type::value_type
88 {
89 return this->sle_->at(sfOtherChainSource);
90 }
91
97 [[nodiscard]]
98 STArray const&
100 {
101 return this->sle_->getFieldArray(sfXChainClaimAttestations);
102 }
103
108 [[nodiscard]]
109 SF_AMOUNT::type::value_type
111 {
112 return this->sle_->at(sfSignatureReward);
113 }
114
119 [[nodiscard]]
120 SF_UINT64::type::value_type
122 {
123 return this->sle_->at(sfOwnerNode);
124 }
125
130 [[nodiscard]]
131 SF_UINT256::type::value_type
133 {
134 return this->sle_->at(sfPreviousTxnID);
135 }
136
141 [[nodiscard]]
142 SF_UINT32::type::value_type
144 {
145 return this->sle_->at(sfPreviousTxnLgrSeq);
146 }
147};
148
156class XChainOwnedClaimIDBuilder : public LedgerEntryBuilderBase<XChainOwnedClaimIDBuilder>
157{
158public:
172 : LedgerEntryBuilderBase<XChainOwnedClaimIDBuilder>(ltXCHAIN_OWNED_CLAIM_ID)
173 {
174 setAccount(account);
175 setXChainBridge(xChainBridge);
176 setXChainClaimID(xChainClaimID);
177 setOtherChainSource(otherChainSource);
178 setXChainClaimAttestations(xChainClaimAttestations);
179 setSignatureReward(signatureReward);
180 setOwnerNode(ownerNode);
181 setPreviousTxnID(previousTxnID);
182 setPreviousTxnLgrSeq(previousTxnLgrSeq);
183 }
184
191 {
192 if (sle->at(sfLedgerEntryType) != ltXCHAIN_OWNED_CLAIM_ID)
193 {
194 throw std::runtime_error("Invalid ledger entry type for XChainOwnedClaimID");
195 }
196 object_ = *sle;
197 }
198
207 {
208 object_[sfAccount] = value;
209 return *this;
210 }
211
218 {
219 object_[sfXChainBridge] = value;
220 return *this;
221 }
222
229 {
230 object_[sfXChainClaimID] = value;
231 return *this;
232 }
233
240 {
241 object_[sfOtherChainSource] = value;
242 return *this;
243 }
244
251 {
252 object_.setFieldArray(sfXChainClaimAttestations, value);
253 return *this;
254 }
255
262 {
263 object_[sfSignatureReward] = value;
264 return *this;
265 }
266
273 {
274 object_[sfOwnerNode] = value;
275 return *this;
276 }
277
284 {
285 object_[sfPreviousTxnID] = value;
286 return *this;
287 }
288
295 {
296 object_[sfPreviousTxnLgrSeq] = value;
297 return *this;
298 }
299
306 build(uint256 const& index)
307 {
308 return XChainOwnedClaimID{std::make_shared<SLE>(std::move(object_), index)};
309 }
310};
311
312} // 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 XChainOwnedClaimID ledger entries.
XChainOwnedClaimIDBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (soeREQUIRED)
XChainOwnedClaimIDBuilder(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 &xChainClaimID, std::decay_t< typename SF_ACCOUNT::type::value_type > const &otherChainSource, STArray const &xChainClaimAttestations, std::decay_t< typename SF_AMOUNT::type::value_type > const &signatureReward, 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 XChainOwnedClaimIDBuilder with required fields.
XChainOwnedClaimIDBuilder & setXChainClaimID(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfXChainClaimID (soeREQUIRED)
XChainOwnedClaimIDBuilder & setOwnerNode(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfOwnerNode (soeREQUIRED)
XChainOwnedClaimIDBuilder & setXChainClaimAttestations(STArray const &value)
Set sfXChainClaimAttestations (soeREQUIRED)
XChainOwnedClaimIDBuilder(std::shared_ptr< SLE const > sle)
Construct a XChainOwnedClaimIDBuilder from an existing SLE object.
XChainOwnedClaimIDBuilder & setSignatureReward(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfSignatureReward (soeREQUIRED)
XChainOwnedClaimIDBuilder & setAccount(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Ledger entry-specific field setters.
XChainOwnedClaimIDBuilder & setOtherChainSource(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Set sfOtherChainSource (soeREQUIRED)
XChainOwnedClaimIDBuilder & setXChainBridge(std::decay_t< typename SF_XCHAIN_BRIDGE::type::value_type > const &value)
Set sfXChainBridge (soeREQUIRED)
XChainOwnedClaimID build(uint256 const &index)
Build and return the completed XChainOwnedClaimID wrapper.
XChainOwnedClaimIDBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfPreviousTxnID (soeREQUIRED)
Ledger Entry: XChainOwnedClaimID.
SF_UINT64::type::value_type getOwnerNode() const
Get sfOwnerNode (soeREQUIRED)
SF_XCHAIN_BRIDGE::type::value_type getXChainBridge() const
Get sfXChainBridge (soeREQUIRED)
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (soeREQUIRED)
XChainOwnedClaimID(std::shared_ptr< SLE const > sle)
Construct a XChainOwnedClaimID ledger entry wrapper from an existing SLE object.
SF_UINT64::type::value_type getXChainClaimID() const
Get sfXChainClaimID (soeREQUIRED)
SF_ACCOUNT::type::value_type getAccount() const
Get sfAccount (soeREQUIRED)
SF_ACCOUNT::type::value_type getOtherChainSource() const
Get sfOtherChainSource (soeREQUIRED)
static constexpr LedgerEntryType entryType
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (soeREQUIRED)
SF_AMOUNT::type::value_type getSignatureReward() const
Get sfSignatureReward (soeREQUIRED)
STArray const & getXChainClaimAttestations() const
Get sfXChainClaimAttestations (soeREQUIRED)
T is_same_v
STL namespace.
LedgerEntryType
Identifiers for on-ledger objects.