4#include <xrpl/protocol/STTx.h>
5#include <xrpl/protocol/STParsedJSON.h>
6#include <xrpl/protocol/jss.h>
7#include <xrpl/protocol_autogen/TransactionBase.h>
8#include <xrpl/protocol_autogen/TransactionBuilderBase.h>
9#include <xrpl/json/json_value.h>
44 throw std::runtime_error(
"Invalid transaction type for EscrowCreate");
55 SF_ACCOUNT::type::value_type
58 return this->
tx_->at(sfDestination);
71 return this->
tx_->at(sfDestinationTag);
84 return this->
tx_->isFieldPresent(sfDestinationTag);
93 SF_AMOUNT::type::value_type
96 return this->
tx_->at(sfAmount);
109 return this->
tx_->at(sfCondition);
122 return this->
tx_->isFieldPresent(sfCondition);
135 return this->
tx_->at(sfCancelAfter);
148 return this->
tx_->isFieldPresent(sfCancelAfter);
161 return this->
tx_->at(sfFinishAfter);
174 return this->
tx_->isFieldPresent(sfFinishAfter);
187 return this->
tx_->at(sfBytecode);
200 return this->
tx_->isFieldPresent(sfBytecode);
213 return this->
tx_->at(sfData);
226 return this->
tx_->isFieldPresent(sfData);
265 if (tx->getTxnType() != ttESCROW_CREATE)
283 object_[sfDestination] = value;
294 object_[sfDestinationTag] = value;
328 object_[sfCancelAfter] = value;
339 object_[sfFinishAfter] = value;
374 sign(publicKey, secretKey);
Builder for EscrowCreate transactions.
EscrowCreateBuilder & setCondition(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfCondition (SoeOptional).
EscrowCreateBuilder & setDestinationTag(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfDestinationTag (SoeOptional).
EscrowCreateBuilder(std::shared_ptr< STTx const > tx)
Construct a EscrowCreateBuilder from an existing STTx object.
EscrowCreateBuilder(SF_ACCOUNT::type::value_type account, std::decay_t< typename SF_ACCOUNT::type::value_type > const &destination, std::decay_t< typename SF_AMOUNT::type::value_type > const &amount, std::optional< SF_UINT32::type::value_type > sequence=std::nullopt, std::optional< SF_AMOUNT::type::value_type > fee=std::nullopt)
Construct a new EscrowCreateBuilder with required fields.
EscrowCreateBuilder & setBytecode(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfBytecode (SoeOptional).
EscrowCreateBuilder & setFinishAfter(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfFinishAfter (SoeOptional).
EscrowCreate build(PublicKey const &publicKey, SecretKey const &secretKey)
Build and return the EscrowCreate wrapper.
EscrowCreateBuilder & setData(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfData (SoeOptional).
EscrowCreateBuilder & setDestination(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Transaction-specific field setters.
EscrowCreateBuilder & setAmount(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfAmount (SoeRequired).
EscrowCreateBuilder & setCancelAfter(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfCancelAfter (SoeOptional).
Transaction: EscrowCreate.
protocol_autogen::Optional< SF_VL::type::value_type > getCondition() const
Get sfCondition (SoeOptional).
bool hasDestinationTag() const
Check if sfDestinationTag is present.
protocol_autogen::Optional< SF_VL::type::value_type > getData() const
Get sfData (SoeOptional).
bool hasFinishAfter() const
Check if sfFinishAfter is present.
SF_ACCOUNT::type::value_type getDestination() const
Get sfDestination (SoeRequired).
bool hasCondition() const
Check if sfCondition is present.
bool hasCancelAfter() const
Check if sfCancelAfter is present.
bool hasBytecode() const
Check if sfBytecode is present.
protocol_autogen::Optional< SF_UINT32::type::value_type > getDestinationTag() const
Get sfDestinationTag (SoeOptional).
EscrowCreate(std::shared_ptr< STTx const > tx)
Construct a EscrowCreate transaction wrapper from an existing STTx object.
bool hasData() const
Check if sfData is present.
protocol_autogen::Optional< SF_UINT32::type::value_type > getCancelAfter() const
Get sfCancelAfter (SoeOptional).
SF_AMOUNT::type::value_type getAmount() const
Get sfAmount (SoeRequired).
static constexpr xrpl::TxType txType
protocol_autogen::Optional< SF_UINT32::type::value_type > getFinishAfter() const
Get sfFinishAfter (SoeOptional).
protocol_autogen::Optional< SF_VL::type::value_type > getBytecode() const
Get sfBytecode (SoeOptional).
std::shared_ptr< STTx const > tx_
The underlying transaction object being wrapped.
TransactionBase(std::shared_ptr< STTx const > tx)
Construct a transaction wrapper from an existing STTx object.
TransactionBuilderBase()=default
EscrowCreateBuilder & sign(PublicKey const &publicKey, SecretKey const &secretKey)
std::conditional_t< std::is_reference_v< ValueType >, std::optional< std::reference_wrapper< std::remove_reference_t< ValueType > > >, std::optional< ValueType > > Optional
TxType
Transaction type identifiers.