xrpld
Loading...
Searching...
No Matches
FeeSettings.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
17
28{
29public:
30 static constexpr LedgerEntryType entryType = ltFEE_SETTINGS;
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 FeeSettings");
43 }
44 }
45
46 // Ledger entry-specific field getters
47
52 [[nodiscard]]
54 getBaseFee() const
55 {
56 if (hasBaseFee())
57 return this->sle_->at(sfBaseFee);
58 return std::nullopt;
59 }
60
65 [[nodiscard]]
66 bool
67 hasBaseFee() const
68 {
69 return this->sle_->isFieldPresent(sfBaseFee);
70 }
71
76 [[nodiscard]]
79 {
81 return this->sle_->at(sfReferenceFeeUnits);
82 return std::nullopt;
83 }
84
89 [[nodiscard]]
90 bool
92 {
93 return this->sle_->isFieldPresent(sfReferenceFeeUnits);
94 }
95
100 [[nodiscard]]
103 {
104 if (hasReserveBase())
105 return this->sle_->at(sfReserveBase);
106 return std::nullopt;
107 }
108
113 [[nodiscard]]
114 bool
116 {
117 return this->sle_->isFieldPresent(sfReserveBase);
118 }
119
124 [[nodiscard]]
127 {
129 return this->sle_->at(sfReserveIncrement);
130 return std::nullopt;
131 }
132
137 [[nodiscard]]
138 bool
140 {
141 return this->sle_->isFieldPresent(sfReserveIncrement);
142 }
143
148 [[nodiscard]]
151 {
152 if (hasBaseFeeDrops())
153 return this->sle_->at(sfBaseFeeDrops);
154 return std::nullopt;
155 }
156
161 [[nodiscard]]
162 bool
164 {
165 return this->sle_->isFieldPresent(sfBaseFeeDrops);
166 }
167
172 [[nodiscard]]
175 {
177 return this->sle_->at(sfReserveBaseDrops);
178 return std::nullopt;
179 }
180
185 [[nodiscard]]
186 bool
188 {
189 return this->sle_->isFieldPresent(sfReserveBaseDrops);
190 }
191
196 [[nodiscard]]
199 {
201 return this->sle_->at(sfReserveIncrementDrops);
202 return std::nullopt;
203 }
204
209 [[nodiscard]]
210 bool
212 {
213 return this->sle_->isFieldPresent(sfReserveIncrementDrops);
214 }
215
220 [[nodiscard]]
223 {
224 if (hasGasLimit())
225 return this->sle_->at(sfGasLimit);
226 return std::nullopt;
227 }
228
233 [[nodiscard]]
234 bool
236 {
237 return this->sle_->isFieldPresent(sfGasLimit);
238 }
239
244 [[nodiscard]]
247 {
249 return this->sle_->at(sfBytecodeSizeLimit);
250 return std::nullopt;
251 }
252
257 [[nodiscard]]
258 bool
260 {
261 return this->sle_->isFieldPresent(sfBytecodeSizeLimit);
262 }
263
268 [[nodiscard]]
271 {
272 if (hasGasPrice())
273 return this->sle_->at(sfGasPrice);
274 return std::nullopt;
275 }
276
281 [[nodiscard]]
282 bool
284 {
285 return this->sle_->isFieldPresent(sfGasPrice);
286 }
287
292 [[nodiscard]]
295 {
296 if (hasPreviousTxnID())
297 return this->sle_->at(sfPreviousTxnID);
298 return std::nullopt;
299 }
300
305 [[nodiscard]]
306 bool
308 {
309 return this->sle_->isFieldPresent(sfPreviousTxnID);
310 }
311
316 [[nodiscard]]
319 {
321 return this->sle_->at(sfPreviousTxnLgrSeq);
322 return std::nullopt;
323 }
324
329 [[nodiscard]]
330 bool
332 {
333 return this->sle_->isFieldPresent(sfPreviousTxnLgrSeq);
334 }
335};
336
344class FeeSettingsBuilder : public LedgerEntryBuilderBase<FeeSettingsBuilder>
345{
346public:
354
361 {
362 if (sle->at(sfLedgerEntryType) != ltFEE_SETTINGS)
363 {
364 throw std::runtime_error("Invalid ledger entry type for FeeSettings");
365 }
366 object_ = *sle;
367 }
368
372
379 {
380 object_[sfBaseFee] = value;
381 return *this;
382 }
383
390 {
391 object_[sfReferenceFeeUnits] = value;
392 return *this;
393 }
394
401 {
402 object_[sfReserveBase] = value;
403 return *this;
404 }
405
412 {
413 object_[sfReserveIncrement] = value;
414 return *this;
415 }
416
423 {
424 object_[sfBaseFeeDrops] = value;
425 return *this;
426 }
427
434 {
435 object_[sfReserveBaseDrops] = value;
436 return *this;
437 }
438
445 {
446 object_[sfReserveIncrementDrops] = value;
447 return *this;
448 }
449
456 {
457 object_[sfGasLimit] = value;
458 return *this;
459 }
460
467 {
468 object_[sfBytecodeSizeLimit] = value;
469 return *this;
470 }
471
478 {
479 object_[sfGasPrice] = value;
480 return *this;
481 }
482
489 {
490 object_[sfPreviousTxnID] = value;
491 return *this;
492 }
493
500 {
501 object_[sfPreviousTxnLgrSeq] = value;
502 return *this;
503 }
504
511 build(UInt256 const& index)
512 {
513 return FeeSettings{std::make_shared<SLE>(std::move(object_), index)};
514 }
515};
516
517} // namespace xrpl::ledger_entries
std::shared_ptr< STLedgerEntry const > const_pointer
Builder for FeeSettings ledger entries.
FeeSettingsBuilder & setReferenceFeeUnits(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfReferenceFeeUnits (SoeOptional).
FeeSettingsBuilder()
Construct a new FeeSettingsBuilder with required fields.
FeeSettingsBuilder & setBytecodeSizeLimit(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfBytecodeSizeLimit (SoeOptional).
FeeSettingsBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfPreviousTxnID (SoeOptional).
FeeSettingsBuilder & setGasLimit(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfGasLimit (SoeOptional).
FeeSettingsBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (SoeOptional).
FeeSettingsBuilder & setGasPrice(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfGasPrice (SoeOptional).
FeeSettingsBuilder & setReserveBaseDrops(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfReserveBaseDrops (SoeOptional).
FeeSettingsBuilder & setReserveBase(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfReserveBase (SoeOptional).
FeeSettingsBuilder & setBaseFee(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Ledger entry-specific field setters.
FeeSettingsBuilder(SLE::const_pointer sle)
Construct a FeeSettingsBuilder from an existing SLE object.
FeeSettingsBuilder & setBaseFeeDrops(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfBaseFeeDrops (SoeOptional).
FeeSettings build(UInt256 const &index)
Build and return the completed FeeSettings wrapper.
FeeSettingsBuilder & setReserveIncrement(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfReserveIncrement (SoeOptional).
FeeSettingsBuilder & setReserveIncrementDrops(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfReserveIncrementDrops (SoeOptional).
Ledger Entry: FeeSettings.
Definition FeeSettings.h:28
bool hasReferenceFeeUnits() const
Check if sfReferenceFeeUnits is present.
Definition FeeSettings.h:91
protocol_autogen::Optional< SF_AMOUNT::type::value_type > getReserveIncrementDrops() const
Get sfReserveIncrementDrops (SoeOptional).
bool hasReserveIncrementDrops() const
Check if sfReserveIncrementDrops is present.
static constexpr LedgerEntryType entryType
Definition FeeSettings.h:30
protocol_autogen::Optional< SF_UINT256::type::value_type > getPreviousTxnID() const
Get sfPreviousTxnID (SoeOptional).
protocol_autogen::Optional< SF_UINT32::type::value_type > getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (SoeOptional).
bool hasReserveBase() const
Check if sfReserveBase is present.
bool hasBaseFee() const
Check if sfBaseFee is present.
Definition FeeSettings.h:67
protocol_autogen::Optional< SF_UINT32::type::value_type > getReserveBase() const
Get sfReserveBase (SoeOptional).
protocol_autogen::Optional< SF_UINT32::type::value_type > getReserveIncrement() const
Get sfReserveIncrement (SoeOptional).
FeeSettings(SLE::const_pointer sle)
Construct a FeeSettings ledger entry wrapper from an existing SLE object.
Definition FeeSettings.h:36
bool hasGasLimit() const
Check if sfGasLimit is present.
protocol_autogen::Optional< SF_UINT32::type::value_type > getGasLimit() const
Get sfGasLimit (SoeOptional).
protocol_autogen::Optional< SF_AMOUNT::type::value_type > getReserveBaseDrops() const
Get sfReserveBaseDrops (SoeOptional).
bool hasGasPrice() const
Check if sfGasPrice is present.
bool hasPreviousTxnLgrSeq() const
Check if sfPreviousTxnLgrSeq is present.
protocol_autogen::Optional< SF_UINT32::type::value_type > getGasPrice() const
Get sfGasPrice (SoeOptional).
protocol_autogen::Optional< SF_UINT32::type::value_type > getReferenceFeeUnits() const
Get sfReferenceFeeUnits (SoeOptional).
Definition FeeSettings.h:78
bool hasReserveIncrement() const
Check if sfReserveIncrement is present.
protocol_autogen::Optional< SF_UINT32::type::value_type > getBytecodeSizeLimit() const
Get sfBytecodeSizeLimit (SoeOptional).
bool hasReserveBaseDrops() const
Check if sfReserveBaseDrops is present.
protocol_autogen::Optional< SF_AMOUNT::type::value_type > getBaseFeeDrops() const
Get sfBaseFeeDrops (SoeOptional).
protocol_autogen::Optional< SF_UINT64::type::value_type > getBaseFee() const
Get sfBaseFee (SoeOptional).
Definition FeeSettings.h:54
bool hasBytecodeSizeLimit() const
Check if sfBytecodeSizeLimit is present.
bool hasBaseFeeDrops() const
Check if sfBaseFeeDrops is present.
bool hasPreviousTxnID() const
Check if sfPreviousTxnID is present.
LedgerEntryBase(SLE::const_pointer sle)
Construct a ledger entry wrapper from an existing SLE object.
SLE::const_pointer sle_
The underlying serialized ledger entry being wrapped.
T make_shared(T... args)
STL namespace.
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
BaseUInt< 256 > UInt256
Definition base_uint.h:580
LedgerEntryType
Identifiers for on-ledger objects.