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>
16class PayChannelBuilder;
53 SF_ACCOUNT::type::value_type
56 return this->
sle_->at(sfAccount);
64 SF_ACCOUNT::type::value_type
67 return this->
sle_->at(sfDestination);
79 return this->
sle_->at(sfSequence);
91 return this->
sle_->isFieldPresent(sfSequence);
99 SF_AMOUNT::type::value_type
102 return this->
sle_->at(sfAmount);
110 SF_AMOUNT::type::value_type
113 return this->
sle_->at(sfBalance);
121 SF_VL::type::value_type
124 return this->
sle_->at(sfPublicKey);
132 SF_UINT32::type::value_type
135 return this->
sle_->at(sfSettleDelay);
147 return this->
sle_->at(sfExpiration);
159 return this->
sle_->isFieldPresent(sfExpiration);
171 return this->
sle_->at(sfCancelAfter);
183 return this->
sle_->isFieldPresent(sfCancelAfter);
195 return this->
sle_->at(sfSourceTag);
207 return this->
sle_->isFieldPresent(sfSourceTag);
219 return this->
sle_->at(sfDestinationTag);
231 return this->
sle_->isFieldPresent(sfDestinationTag);
239 SF_UINT64::type::value_type
242 return this->
sle_->at(sfOwnerNode);
250 SF_UINT256::type::value_type
253 return this->
sle_->at(sfPreviousTxnID);
261 SF_UINT32::type::value_type
264 return this->
sle_->at(sfPreviousTxnLgrSeq);
276 return this->
sle_->at(sfDestinationNode);
288 return this->
sle_->isFieldPresent(sfDestinationNode);
335 if (sle->at(sfLedgerEntryType) != ltPAYCHAN)
362 object_[sfDestination] = value;
417 object_[sfSettleDelay] = value;
439 object_[sfCancelAfter] = value;
461 object_[sfDestinationTag] = value;
483 object_[sfPreviousTxnID] = value;
494 object_[sfPreviousTxnLgrSeq] = value;
505 object_[sfDestinationNode] = value;
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 PayChannel ledger entries.
PayChannelBuilder & setBalance(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfBalance (soeREQUIRED)
PayChannelBuilder(std::shared_ptr< SLE const > sle)
Construct a PayChannelBuilder from an existing SLE object.
PayChannel build(uint256 const &index)
Build and return the completed PayChannel wrapper.
PayChannelBuilder & setDestinationTag(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfDestinationTag (soeOPTIONAL)
PayChannelBuilder & setSourceTag(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfSourceTag (soeOPTIONAL)
PayChannelBuilder & setSequence(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfSequence (soeOPTIONAL)
PayChannelBuilder & setCancelAfter(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfCancelAfter (soeOPTIONAL)
PayChannelBuilder & setExpiration(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfExpiration (soeOPTIONAL)
PayChannelBuilder & setDestinationNode(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfDestinationNode (soeOPTIONAL)
PayChannelBuilder & setAccount(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Ledger entry-specific field setters.
PayChannelBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfPreviousTxnID (soeREQUIRED)
PayChannelBuilder & setDestination(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Set sfDestination (soeREQUIRED)
PayChannelBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (soeREQUIRED)
PayChannelBuilder & setOwnerNode(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfOwnerNode (soeREQUIRED)
PayChannelBuilder & setPublicKey(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfPublicKey (soeREQUIRED)
PayChannelBuilder & setSettleDelay(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfSettleDelay (soeREQUIRED)
PayChannelBuilder & setAmount(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfAmount (soeREQUIRED)
PayChannelBuilder(std::decay_t< typename SF_ACCOUNT::type::value_type > const &account, std::decay_t< typename SF_ACCOUNT::type::value_type > const &destination, std::decay_t< typename SF_AMOUNT::type::value_type > const &amount, std::decay_t< typename SF_AMOUNT::type::value_type > const &balance, std::decay_t< typename SF_VL::type::value_type > const &publicKey, std::decay_t< typename SF_UINT32::type::value_type > const &settleDelay, 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 PayChannelBuilder with required fields.
Ledger Entry: PayChannel.
SF_VL::type::value_type getPublicKey() const
Get sfPublicKey (soeREQUIRED)
PayChannel(std::shared_ptr< SLE const > sle)
Construct a PayChannel ledger entry wrapper from an existing SLE object.
SF_UINT32::type::value_type getSettleDelay() const
Get sfSettleDelay (soeREQUIRED)
bool hasExpiration() const
Check if sfExpiration is present.
bool hasDestinationNode() const
Check if sfDestinationNode is present.
bool hasSequence() const
Check if sfSequence is present.
SF_ACCOUNT::type::value_type getDestination() const
Get sfDestination (soeREQUIRED)
protocol_autogen::Optional< SF_UINT32::type::value_type > getDestinationTag() const
Get sfDestinationTag (soeOPTIONAL)
protocol_autogen::Optional< SF_UINT64::type::value_type > getDestinationNode() const
Get sfDestinationNode (soeOPTIONAL)
bool hasSourceTag() const
Check if sfSourceTag is present.
protocol_autogen::Optional< SF_UINT32::type::value_type > getSequence() const
Get sfSequence (soeOPTIONAL)
SF_AMOUNT::type::value_type getBalance() const
Get sfBalance (soeREQUIRED)
SF_AMOUNT::type::value_type getAmount() const
Get sfAmount (soeREQUIRED)
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (soeREQUIRED)
static constexpr LedgerEntryType entryType
protocol_autogen::Optional< SF_UINT32::type::value_type > getSourceTag() const
Get sfSourceTag (soeOPTIONAL)
SF_UINT64::type::value_type getOwnerNode() const
Get sfOwnerNode (soeREQUIRED)
protocol_autogen::Optional< SF_UINT32::type::value_type > getCancelAfter() const
Get sfCancelAfter (soeOPTIONAL)
protocol_autogen::Optional< SF_UINT32::type::value_type > getExpiration() const
Get sfExpiration (soeOPTIONAL)
bool hasCancelAfter() const
Check if sfCancelAfter is present.
SF_ACCOUNT::type::value_type getAccount() const
Get sfAccount (soeREQUIRED)
bool hasDestinationTag() const
Check if sfDestinationTag is present.
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (soeREQUIRED)
LedgerEntryType
Identifiers for on-ledger objects.