xrpld
Loading...
Searching...
No Matches
include
xrpl
protocol_autogen
ledger_entries
Sponsorship.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
14
namespace
xrpl::ledger_entries
{
15
16
class
SponsorshipBuilder
;
17
27
class
Sponsorship
:
public
LedgerEntryBase
28
{
29
public
:
30
static
constexpr
LedgerEntryType
entryType
= ltSPONSORSHIP;
31
36
explicit
Sponsorship
(
SLE::const_pointer
sle)
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 Sponsorship"
);
43
}
44
}
45
46
// Ledger entry-specific field getters
47
52
[[nodiscard]]
53
SF_UINT256::type::value_type
54
getPreviousTxnID
()
const
55
{
56
return
this->
sle_
->at(sfPreviousTxnID);
57
}
58
63
[[nodiscard]]
64
SF_UINT32::type::value_type
65
getPreviousTxnLgrSeq
()
const
66
{
67
return
this->
sle_
->at(sfPreviousTxnLgrSeq);
68
}
69
74
[[nodiscard]]
75
SF_ACCOUNT::type::value_type
76
getOwner
()
const
77
{
78
return
this->
sle_
->at(sfOwner);
79
}
80
85
[[nodiscard]]
86
SF_ACCOUNT::type::value_type
87
getSponsee
()
const
88
{
89
return
this->
sle_
->at(sfSponsee);
90
}
91
96
[[nodiscard]]
97
protocol_autogen::Optional<SF_AMOUNT::type::value_type>
98
getFeeAmount
()
const
99
{
100
if
(
hasFeeAmount
())
101
return
this->
sle_
->at(sfFeeAmount);
102
return
std::nullopt;
103
}
104
109
[[nodiscard]]
110
bool
111
hasFeeAmount
()
const
112
{
113
return
this->
sle_
->isFieldPresent(sfFeeAmount);
114
}
115
120
[[nodiscard]]
121
protocol_autogen::Optional<SF_AMOUNT::type::value_type>
122
getMaxFee
()
const
123
{
124
if
(
hasMaxFee
())
125
return
this->
sle_
->at(sfMaxFee);
126
return
std::nullopt;
127
}
128
133
[[nodiscard]]
134
bool
135
hasMaxFee
()
const
136
{
137
return
this->
sle_
->isFieldPresent(sfMaxFee);
138
}
139
144
[[nodiscard]]
145
protocol_autogen::Optional<SF_UINT32::type::value_type>
146
getRemainingOwnerCount
()
const
147
{
148
if
(
hasRemainingOwnerCount
())
149
return
this->
sle_
->at(sfRemainingOwnerCount);
150
return
std::nullopt;
151
}
152
157
[[nodiscard]]
158
bool
159
hasRemainingOwnerCount
()
const
160
{
161
return
this->
sle_
->isFieldPresent(sfRemainingOwnerCount);
162
}
163
168
[[nodiscard]]
169
SF_UINT64::type::value_type
170
getOwnerNode
()
const
171
{
172
return
this->
sle_
->at(sfOwnerNode);
173
}
174
179
[[nodiscard]]
180
SF_UINT64::type::value_type
181
getSponseeNode
()
const
182
{
183
return
this->
sle_
->at(sfSponseeNode);
184
}
185
};
186
194
class
SponsorshipBuilder
:
public
LedgerEntryBuilderBase
<SponsorshipBuilder>
195
{
196
public
:
206
SponsorshipBuilder
(
std::decay_t<typename SF_UINT256::type::value_type>
const
& previousTxnID,
std::decay_t<typename SF_UINT32::type::value_type>
const
& previousTxnLgrSeq,
std::decay_t<typename SF_ACCOUNT::type::value_type>
const
& owner,
std::decay_t<typename SF_ACCOUNT::type::value_type>
const
& sponsee,
std::decay_t<typename SF_UINT64::type::value_type>
const
& ownerNode,
std::decay_t<typename SF_UINT64::type::value_type>
const
& sponseeNode)
207
:
LedgerEntryBuilderBase
<
SponsorshipBuilder
>(ltSPONSORSHIP)
208
{
209
setPreviousTxnID
(previousTxnID);
210
setPreviousTxnLgrSeq
(previousTxnLgrSeq);
211
setOwner
(owner);
212
setSponsee
(sponsee);
213
setOwnerNode
(ownerNode);
214
setSponseeNode
(sponseeNode);
215
}
216
222
SponsorshipBuilder
(
SLE::const_pointer
sle)
223
{
224
if
(sle->at(sfLedgerEntryType) != ltSPONSORSHIP)
225
{
226
throw
std::runtime_error
(
"Invalid ledger entry type for Sponsorship"
);
227
}
228
object_
= *sle;
229
}
230
234
239
SponsorshipBuilder
&
240
setPreviousTxnID
(
std::decay_t<typename SF_UINT256::type::value_type>
const
& value)
241
{
242
object_
[sfPreviousTxnID] = value;
243
return
*
this
;
244
}
245
250
SponsorshipBuilder
&
251
setPreviousTxnLgrSeq
(
std::decay_t<typename SF_UINT32::type::value_type>
const
& value)
252
{
253
object_
[sfPreviousTxnLgrSeq] = value;
254
return
*
this
;
255
}
256
261
SponsorshipBuilder
&
262
setOwner
(
std::decay_t<typename SF_ACCOUNT::type::value_type>
const
& value)
263
{
264
object_
[sfOwner] = value;
265
return
*
this
;
266
}
267
272
SponsorshipBuilder
&
273
setSponsee
(
std::decay_t<typename SF_ACCOUNT::type::value_type>
const
& value)
274
{
275
object_
[sfSponsee] = value;
276
return
*
this
;
277
}
278
283
SponsorshipBuilder
&
284
setFeeAmount
(
std::decay_t<typename SF_AMOUNT::type::value_type>
const
& value)
285
{
286
object_
[sfFeeAmount] = value;
287
return
*
this
;
288
}
289
294
SponsorshipBuilder
&
295
setMaxFee
(
std::decay_t<typename SF_AMOUNT::type::value_type>
const
& value)
296
{
297
object_
[sfMaxFee] = value;
298
return
*
this
;
299
}
300
305
SponsorshipBuilder
&
306
setRemainingOwnerCount
(
std::decay_t<typename SF_UINT32::type::value_type>
const
& value)
307
{
308
object_
[sfRemainingOwnerCount] = value;
309
return
*
this
;
310
}
311
316
SponsorshipBuilder
&
317
setOwnerNode
(
std::decay_t<typename SF_UINT64::type::value_type>
const
& value)
318
{
319
object_
[sfOwnerNode] = value;
320
return
*
this
;
321
}
322
327
SponsorshipBuilder
&
328
setSponseeNode
(
std::decay_t<typename SF_UINT64::type::value_type>
const
& value)
329
{
330
object_
[sfSponseeNode] = value;
331
return
*
this
;
332
}
333
339
Sponsorship
340
build
(
uint256
const
& index)
341
{
342
return
Sponsorship
{
std::make_shared<SLE>
(std::move(
object_
), index)};
343
}
344
};
345
346
}
// namespace xrpl::ledger_entries
xrpl::STLedgerEntry::const_pointer
std::shared_ptr< STLedgerEntry const > const_pointer
Definition
STLedgerEntry.h:33
xrpl::ledger_entries::LedgerEntryBase::LedgerEntryBase
LedgerEntryBase(SLE::const_pointer sle)
Construct a ledger entry wrapper from an existing SLE object.
Definition
LedgerEntryBase.h:30
xrpl::ledger_entries::LedgerEntryBase::sle_
SLE::const_pointer sle_
The underlying serialized ledger entry being wrapped.
Definition
LedgerEntryBase.h:164
xrpl::ledger_entries::LedgerEntryBuilderBase< SponsorshipBuilder >::LedgerEntryBuilderBase
LedgerEntryBuilderBase()=default
xrpl::ledger_entries::LedgerEntryBuilderBase< SponsorshipBuilder >::object_
STObject object_
Definition
LedgerEntryBuilderBase.h:81
xrpl::ledger_entries::SponsorshipBuilder
Builder for Sponsorship ledger entries.
Definition
Sponsorship.h:195
xrpl::ledger_entries::SponsorshipBuilder::build
Sponsorship build(uint256 const &index)
Build and return the completed Sponsorship wrapper.
Definition
Sponsorship.h:340
xrpl::ledger_entries::SponsorshipBuilder::setOwner
SponsorshipBuilder & setOwner(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Set sfOwner (SoeRequired).
Definition
Sponsorship.h:262
xrpl::ledger_entries::SponsorshipBuilder::SponsorshipBuilder
SponsorshipBuilder(SLE::const_pointer sle)
Construct a SponsorshipBuilder from an existing SLE object.
Definition
Sponsorship.h:222
xrpl::ledger_entries::SponsorshipBuilder::setSponseeNode
SponsorshipBuilder & setSponseeNode(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfSponseeNode (SoeRequired).
Definition
Sponsorship.h:328
xrpl::ledger_entries::SponsorshipBuilder::SponsorshipBuilder
SponsorshipBuilder(std::decay_t< typename SF_UINT256::type::value_type > const &previousTxnID, std::decay_t< typename SF_UINT32::type::value_type > const &previousTxnLgrSeq, std::decay_t< typename SF_ACCOUNT::type::value_type > const &owner, std::decay_t< typename SF_ACCOUNT::type::value_type > const &sponsee, std::decay_t< typename SF_UINT64::type::value_type > const &ownerNode, std::decay_t< typename SF_UINT64::type::value_type > const &sponseeNode)
Construct a new SponsorshipBuilder with required fields.
Definition
Sponsorship.h:206
xrpl::ledger_entries::SponsorshipBuilder::setSponsee
SponsorshipBuilder & setSponsee(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Set sfSponsee (SoeRequired).
Definition
Sponsorship.h:273
xrpl::ledger_entries::SponsorshipBuilder::setRemainingOwnerCount
SponsorshipBuilder & setRemainingOwnerCount(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfRemainingOwnerCount (SoeDefault).
Definition
Sponsorship.h:306
xrpl::ledger_entries::SponsorshipBuilder::setMaxFee
SponsorshipBuilder & setMaxFee(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfMaxFee (SoeOptional).
Definition
Sponsorship.h:295
xrpl::ledger_entries::SponsorshipBuilder::setFeeAmount
SponsorshipBuilder & setFeeAmount(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfFeeAmount (SoeOptional).
Definition
Sponsorship.h:284
xrpl::ledger_entries::SponsorshipBuilder::setOwnerNode
SponsorshipBuilder & setOwnerNode(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfOwnerNode (SoeRequired).
Definition
Sponsorship.h:317
xrpl::ledger_entries::SponsorshipBuilder::setPreviousTxnID
SponsorshipBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Ledger entry-specific field setters.
Definition
Sponsorship.h:240
xrpl::ledger_entries::SponsorshipBuilder::setPreviousTxnLgrSeq
SponsorshipBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (SoeRequired).
Definition
Sponsorship.h:251
xrpl::ledger_entries::Sponsorship
Ledger Entry: Sponsorship.
Definition
Sponsorship.h:28
xrpl::ledger_entries::Sponsorship::getPreviousTxnID
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (SoeRequired).
Definition
Sponsorship.h:54
xrpl::ledger_entries::Sponsorship::Sponsorship
Sponsorship(SLE::const_pointer sle)
Construct a Sponsorship ledger entry wrapper from an existing SLE object.
Definition
Sponsorship.h:36
xrpl::ledger_entries::Sponsorship::getSponsee
SF_ACCOUNT::type::value_type getSponsee() const
Get sfSponsee (SoeRequired).
Definition
Sponsorship.h:87
xrpl::ledger_entries::Sponsorship::getOwnerNode
SF_UINT64::type::value_type getOwnerNode() const
Get sfOwnerNode (SoeRequired).
Definition
Sponsorship.h:170
xrpl::ledger_entries::Sponsorship::getSponseeNode
SF_UINT64::type::value_type getSponseeNode() const
Get sfSponseeNode (SoeRequired).
Definition
Sponsorship.h:181
xrpl::ledger_entries::Sponsorship::getRemainingOwnerCount
protocol_autogen::Optional< SF_UINT32::type::value_type > getRemainingOwnerCount() const
Get sfRemainingOwnerCount (SoeDefault).
Definition
Sponsorship.h:146
xrpl::ledger_entries::Sponsorship::hasMaxFee
bool hasMaxFee() const
Check if sfMaxFee is present.
Definition
Sponsorship.h:135
xrpl::ledger_entries::Sponsorship::getPreviousTxnLgrSeq
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (SoeRequired).
Definition
Sponsorship.h:65
xrpl::ledger_entries::Sponsorship::getMaxFee
protocol_autogen::Optional< SF_AMOUNT::type::value_type > getMaxFee() const
Get sfMaxFee (SoeOptional).
Definition
Sponsorship.h:122
xrpl::ledger_entries::Sponsorship::getOwner
SF_ACCOUNT::type::value_type getOwner() const
Get sfOwner (SoeRequired).
Definition
Sponsorship.h:76
xrpl::ledger_entries::Sponsorship::hasRemainingOwnerCount
bool hasRemainingOwnerCount() const
Check if sfRemainingOwnerCount is present.
Definition
Sponsorship.h:159
xrpl::ledger_entries::Sponsorship::entryType
static constexpr LedgerEntryType entryType
Definition
Sponsorship.h:30
xrpl::ledger_entries::Sponsorship::hasFeeAmount
bool hasFeeAmount() const
Check if sfFeeAmount is present.
Definition
Sponsorship.h:111
xrpl::ledger_entries::Sponsorship::getFeeAmount
protocol_autogen::Optional< SF_AMOUNT::type::value_type > getFeeAmount() const
Get sfFeeAmount (SoeOptional).
Definition
Sponsorship.h:98
std::decay_t
std::make_shared
T make_shared(T... args)
std
STL namespace.
xrpl::ledger_entries
Definition
AccountRoot.h:14
xrpl::protocol_autogen::Optional
std::conditional_t< std::is_reference_v< ValueType >, std::optional< std::reference_wrapper< std::remove_reference_t< ValueType > > >, std::optional< ValueType > > Optional
Definition
Utils.h:9
xrpl::LedgerEntryType
LedgerEntryType
Identifiers for on-ledger objects.
Definition
LedgerFormats.h:40
xrpl::uint256
BaseUInt< 256 > uint256
Definition
base_uint.h:580
optional
std::runtime_error
stdexcept
Generated by
1.16.1