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>
42 throw std::runtime_error(
"Invalid ledger entry type for AccountRoot");
53 SF_ACCOUNT::type::value_type
56 return this->
sle_->at(sfAccount);
64 SF_UINT32::type::value_type
67 return this->
sle_->at(sfSequence);
75 SF_AMOUNT::type::value_type
78 return this->
sle_->at(sfBalance);
86 SF_UINT32::type::value_type
89 return this->
sle_->at(sfOwnerCount);
97 SF_UINT256::type::value_type
100 return this->
sle_->at(sfPreviousTxnID);
108 SF_UINT32::type::value_type
111 return this->
sle_->at(sfPreviousTxnLgrSeq);
123 return this->
sle_->at(sfAccountTxnID);
135 return this->
sle_->isFieldPresent(sfAccountTxnID);
147 return this->
sle_->at(sfRegularKey);
159 return this->
sle_->isFieldPresent(sfRegularKey);
171 return this->
sle_->at(sfEmailHash);
183 return this->
sle_->isFieldPresent(sfEmailHash);
195 return this->
sle_->at(sfWalletLocator);
207 return this->
sle_->isFieldPresent(sfWalletLocator);
219 return this->
sle_->at(sfWalletSize);
231 return this->
sle_->isFieldPresent(sfWalletSize);
243 return this->
sle_->at(sfMessageKey);
255 return this->
sle_->isFieldPresent(sfMessageKey);
267 return this->
sle_->at(sfTransferRate);
279 return this->
sle_->isFieldPresent(sfTransferRate);
291 return this->
sle_->at(sfDomain);
303 return this->
sle_->isFieldPresent(sfDomain);
315 return this->
sle_->at(sfTickSize);
327 return this->
sle_->isFieldPresent(sfTickSize);
339 return this->
sle_->at(sfTicketCount);
351 return this->
sle_->isFieldPresent(sfTicketCount);
363 return this->
sle_->at(sfNFTokenMinter);
375 return this->
sle_->isFieldPresent(sfNFTokenMinter);
387 return this->
sle_->at(sfMintedNFTokens);
399 return this->
sle_->isFieldPresent(sfMintedNFTokens);
411 return this->
sle_->at(sfBurnedNFTokens);
423 return this->
sle_->isFieldPresent(sfBurnedNFTokens);
435 return this->
sle_->at(sfFirstNFTokenSequence);
447 return this->
sle_->isFieldPresent(sfFirstNFTokenSequence);
459 return this->
sle_->at(sfSponsoredOwnerCount);
471 return this->
sle_->isFieldPresent(sfSponsoredOwnerCount);
483 return this->
sle_->at(sfSponsoringOwnerCount);
495 return this->
sle_->isFieldPresent(sfSponsoringOwnerCount);
507 return this->
sle_->at(sfSponsoringAccountCount);
519 return this->
sle_->isFieldPresent(sfSponsoringAccountCount);
531 return this->
sle_->at(sfAMMID);
543 return this->
sle_->isFieldPresent(sfAMMID);
555 return this->
sle_->at(sfVaultID);
567 return this->
sle_->isFieldPresent(sfVaultID);
579 return this->
sle_->at(sfLoanBrokerID);
591 return this->
sle_->isFieldPresent(sfLoanBrokerID);
632 if (sle->at(sfLedgerEntryType) != ltACCOUNT_ROOT)
694 object_[sfPreviousTxnID] = value;
705 object_[sfPreviousTxnLgrSeq] = value;
716 object_[sfAccountTxnID] = value;
749 object_[sfWalletLocator] = value;
782 object_[sfTransferRate] = value;
815 object_[sfTicketCount] = value;
826 object_[sfNFTokenMinter] = value;
837 object_[sfMintedNFTokens] = value;
848 object_[sfBurnedNFTokens] = value;
859 object_[sfFirstNFTokenSequence] = value;
870 object_[sfSponsoredOwnerCount] = value;
881 object_[sfSponsoringOwnerCount] = value;
892 object_[sfSponsoringAccountCount] = value;
925 object_[sfLoanBrokerID] = value;
std::shared_ptr< STLedgerEntry const > const_pointer
Builder for AccountRoot ledger entries.
AccountRootBuilder & setMintedNFTokens(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfMintedNFTokens (SoeDefault).
AccountRootBuilder(SLE::const_pointer sle)
Construct a AccountRootBuilder from an existing SLE object.
AccountRootBuilder & setAccountTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfAccountTxnID (SoeOptional).
AccountRootBuilder & setSponsoringOwnerCount(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfSponsoringOwnerCount (SoeDefault).
AccountRootBuilder & setSponsoringAccountCount(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfSponsoringAccountCount (SoeDefault).
AccountRootBuilder & setNFTokenMinter(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Set sfNFTokenMinter (SoeOptional).
AccountRootBuilder & setMessageKey(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfMessageKey (SoeOptional).
AccountRootBuilder & setTickSize(std::decay_t< typename SF_UINT8::type::value_type > const &value)
Set sfTickSize (SoeOptional).
AccountRootBuilder & setBurnedNFTokens(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfBurnedNFTokens (SoeDefault).
AccountRootBuilder & setTransferRate(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfTransferRate (SoeOptional).
AccountRootBuilder & setAccount(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Ledger entry-specific field setters.
AccountRootBuilder & setFirstNFTokenSequence(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfFirstNFTokenSequence (SoeOptional).
AccountRootBuilder & setRegularKey(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Set sfRegularKey (SoeOptional).
AccountRootBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfPreviousTxnID (SoeRequired).
AccountRootBuilder & setWalletSize(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfWalletSize (SoeOptional).
AccountRootBuilder & setSponsoredOwnerCount(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfSponsoredOwnerCount (SoeDefault).
AccountRootBuilder & setAMMID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfAMMID (SoeOptional).
AccountRoot build(uint256 const &index)
Build and return the completed AccountRoot wrapper.
AccountRootBuilder & setLoanBrokerID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfLoanBrokerID (SoeOptional).
AccountRootBuilder & setSequence(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfSequence (SoeRequired).
AccountRootBuilder(std::decay_t< typename SF_ACCOUNT::type::value_type > const &account, std::decay_t< typename SF_UINT32::type::value_type > const &sequence, std::decay_t< typename SF_AMOUNT::type::value_type > const &balance, std::decay_t< typename SF_UINT32::type::value_type > const &ownerCount, 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 AccountRootBuilder with required fields.
AccountRootBuilder & setEmailHash(std::decay_t< typename SF_UINT128::type::value_type > const &value)
Set sfEmailHash (SoeOptional).
AccountRootBuilder & setTicketCount(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfTicketCount (SoeOptional).
AccountRootBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (SoeRequired).
AccountRootBuilder & setDomain(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfDomain (SoeOptional).
AccountRootBuilder & setVaultID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfVaultID (SoeOptional).
AccountRootBuilder & setBalance(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfBalance (SoeRequired).
AccountRootBuilder & setWalletLocator(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfWalletLocator (SoeOptional).
AccountRootBuilder & setOwnerCount(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfOwnerCount (SoeRequired).
Ledger Entry: AccountRoot.
bool hasAMMID() const
Check if sfAMMID is present.
SF_AMOUNT::type::value_type getBalance() const
Get sfBalance (SoeRequired).
bool hasSponsoringAccountCount() const
Check if sfSponsoringAccountCount is present.
protocol_autogen::Optional< SF_UINT32::type::value_type > getSponsoringOwnerCount() const
Get sfSponsoringOwnerCount (SoeDefault).
bool hasSponsoringOwnerCount() const
Check if sfSponsoringOwnerCount is present.
protocol_autogen::Optional< SF_ACCOUNT::type::value_type > getRegularKey() const
Get sfRegularKey (SoeOptional).
protocol_autogen::Optional< SF_ACCOUNT::type::value_type > getNFTokenMinter() const
Get sfNFTokenMinter (SoeOptional).
bool hasTickSize() const
Check if sfTickSize is present.
protocol_autogen::Optional< SF_UINT256::type::value_type > getAccountTxnID() const
Get sfAccountTxnID (SoeOptional).
SF_UINT32::type::value_type getSequence() const
Get sfSequence (SoeRequired).
bool hasBurnedNFTokens() const
Check if sfBurnedNFTokens is present.
protocol_autogen::Optional< SF_UINT32::type::value_type > getWalletSize() const
Get sfWalletSize (SoeOptional).
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (SoeRequired).
protocol_autogen::Optional< SF_UINT8::type::value_type > getTickSize() const
Get sfTickSize (SoeOptional).
protocol_autogen::Optional< SF_VL::type::value_type > getDomain() const
Get sfDomain (SoeOptional).
bool hasWalletLocator() const
Check if sfWalletLocator is present.
bool hasMintedNFTokens() const
Check if sfMintedNFTokens is present.
static constexpr LedgerEntryType entryType
protocol_autogen::Optional< SF_UINT256::type::value_type > getAMMID() const
Get sfAMMID (SoeOptional).
bool hasAccountTxnID() const
Check if sfAccountTxnID is present.
bool hasTicketCount() const
Check if sfTicketCount is present.
bool hasDomain() const
Check if sfDomain is present.
bool hasEmailHash() const
Check if sfEmailHash is present.
protocol_autogen::Optional< SF_UINT32::type::value_type > getTicketCount() const
Get sfTicketCount (SoeOptional).
protocol_autogen::Optional< SF_UINT32::type::value_type > getBurnedNFTokens() const
Get sfBurnedNFTokens (SoeDefault).
SF_ACCOUNT::type::value_type getAccount() const
Get sfAccount (SoeRequired).
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (SoeRequired).
protocol_autogen::Optional< SF_UINT32::type::value_type > getFirstNFTokenSequence() const
Get sfFirstNFTokenSequence (SoeOptional).
bool hasWalletSize() const
Check if sfWalletSize is present.
protocol_autogen::Optional< SF_UINT256::type::value_type > getLoanBrokerID() const
Get sfLoanBrokerID (SoeOptional).
bool hasRegularKey() const
Check if sfRegularKey is present.
bool hasLoanBrokerID() const
Check if sfLoanBrokerID is present.
protocol_autogen::Optional< SF_UINT256::type::value_type > getVaultID() const
Get sfVaultID (SoeOptional).
protocol_autogen::Optional< SF_UINT32::type::value_type > getTransferRate() const
Get sfTransferRate (SoeOptional).
bool hasFirstNFTokenSequence() const
Check if sfFirstNFTokenSequence is present.
bool hasMessageKey() const
Check if sfMessageKey is present.
bool hasTransferRate() const
Check if sfTransferRate is present.
protocol_autogen::Optional< SF_UINT32::type::value_type > getSponsoringAccountCount() const
Get sfSponsoringAccountCount (SoeDefault).
protocol_autogen::Optional< SF_UINT128::type::value_type > getEmailHash() const
Get sfEmailHash (SoeOptional).
bool hasNFTokenMinter() const
Check if sfNFTokenMinter is present.
protocol_autogen::Optional< SF_UINT32::type::value_type > getSponsoredOwnerCount() const
Get sfSponsoredOwnerCount (SoeDefault).
bool hasSponsoredOwnerCount() const
Check if sfSponsoredOwnerCount is present.
SF_UINT32::type::value_type getOwnerCount() const
Get sfOwnerCount (SoeRequired).
protocol_autogen::Optional< SF_VL::type::value_type > getMessageKey() const
Get sfMessageKey (SoeOptional).
bool hasVaultID() const
Check if sfVaultID is present.
protocol_autogen::Optional< SF_UINT32::type::value_type > getMintedNFTokens() const
Get sfMintedNFTokens (SoeDefault).
protocol_autogen::Optional< SF_UINT256::type::value_type > getWalletLocator() const
Get sfWalletLocator (SoeOptional).
AccountRoot(SLE::const_pointer sle)
Construct a AccountRoot ledger entry wrapper from an existing SLE object.
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.
LedgerEntryBuilderBase()=default
std::conditional_t< std::is_reference_v< ValueType >, std::optional< std::reference_wrapper< std::remove_reference_t< ValueType > > >, std::optional< ValueType > > Optional
LedgerEntryType
Identifiers for on-ledger objects.
std::uint32_t ownerCount(SLE::const_ref sle, beast::Journal j, std::int32_t ownerCountAdj=0)
Return number of the objects which reserve is covered by the account(sle) (so called "ownercount").