xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
include
xrpl
protocol_autogen
transactions
protocol_autogen/transactions/CheckCash.h
1
// This file is auto-generated. Do not edit.
2
#pragma once
3
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>
10
11
#include <
stdexcept
>
12
#include <
optional
>
13
14
namespace
xrpl::transactions
{
15
16
class
CheckCashBuilder
;
17
29
class
CheckCash
:
public
TransactionBase
30
{
31
public
:
32
static
constexpr
xrpl::TxType
txType
= ttCHECK_CASH;
33
38
explicit
CheckCash
(
std::shared_ptr<STTx const>
tx)
39
:
TransactionBase
(
std
::move(tx))
40
{
41
// Verify transaction type
42
if
(
tx_
->getTxnType() !=
txType
)
43
{
44
throw std::runtime_error(
"Invalid transaction type for CheckCash"
);
45
}
46
}
47
48
// Transaction-specific field getters
49
54
[[nodiscard]]
55
SF_UINT256::type::value_type
56
getCheckID
()
const
57
{
58
return
this->
tx_
->at(sfCheckID);
59
}
60
66
[[nodiscard]]
67
protocol_autogen::Optional<SF_AMOUNT::type::value_type>
68
getAmount
()
const
69
{
70
if
(
hasAmount
())
71
{
72
return
this->
tx_
->at(sfAmount);
73
}
74
return
std::nullopt;
75
}
76
81
[[nodiscard]]
82
bool
83
hasAmount
()
const
84
{
85
return
this->
tx_
->isFieldPresent(sfAmount);
86
}
87
93
[[nodiscard]]
94
protocol_autogen::Optional<SF_AMOUNT::type::value_type>
95
getDeliverMin
()
const
96
{
97
if
(
hasDeliverMin
())
98
{
99
return
this->
tx_
->at(sfDeliverMin);
100
}
101
return
std::nullopt;
102
}
103
108
[[nodiscard]]
109
bool
110
hasDeliverMin
()
const
111
{
112
return
this->
tx_
->isFieldPresent(sfDeliverMin);
113
}
114
};
115
123
class
CheckCashBuilder
:
public
TransactionBuilderBase
<CheckCashBuilder>
124
{
125
public
:
133
CheckCashBuilder
(SF_ACCOUNT::type::value_type account,
134
std::decay_t<typename SF_UINT256::type::value_type>
const
& checkID,
std::optional<SF_UINT32::type::value_type>
sequence = std::nullopt,
135
std::optional<SF_AMOUNT::type::value_type>
fee = std::nullopt
136
)
137
:
TransactionBuilderBase
<
CheckCashBuilder
>(ttCHECK_CASH, account, sequence, fee)
138
{
139
setCheckID
(checkID);
140
}
141
147
CheckCashBuilder
(
std::shared_ptr<STTx const>
tx)
148
{
149
if
(tx->getTxnType() != ttCHECK_CASH)
150
{
151
throw
std::runtime_error
(
"Invalid transaction type for CheckCashBuilder"
);
152
}
153
object_
= *tx;
154
}
155
159
164
CheckCashBuilder
&
165
setCheckID
(
std::decay_t<typename SF_UINT256::type::value_type>
const
& value)
166
{
167
object_
[sfCheckID] = value;
168
return
*
this
;
169
}
170
176
CheckCashBuilder
&
177
setAmount
(
std::decay_t<typename SF_AMOUNT::type::value_type>
const
& value)
178
{
179
object_
[sfAmount] = value;
180
return
*
this
;
181
}
182
188
CheckCashBuilder
&
189
setDeliverMin
(
std::decay_t<typename SF_AMOUNT::type::value_type>
const
& value)
190
{
191
object_
[sfDeliverMin] = value;
192
return
*
this
;
193
}
194
201
CheckCash
202
build
(
PublicKey
const
& publicKey,
SecretKey
const
& secretKey)
203
{
204
sign
(publicKey, secretKey);
205
return
CheckCash
{
std::make_shared<STTx>
(std::move(
object_
))};
206
}
207
};
208
209
}
// namespace xrpl::transactions
xrpl::PublicKey
A public key.
Definition
PublicKey.h:53
xrpl::SecretKey
A secret key.
Definition
SecretKey.h:24
xrpl::transactions::CheckCashBuilder
Builder for CheckCash transactions.
Definition
protocol_autogen/transactions/CheckCash.h:124
xrpl::transactions::CheckCashBuilder::CheckCashBuilder
CheckCashBuilder(SF_ACCOUNT::type::value_type account, std::decay_t< typename SF_UINT256::type::value_type > const &checkID, std::optional< SF_UINT32::type::value_type > sequence=std::nullopt, std::optional< SF_AMOUNT::type::value_type > fee=std::nullopt)
Construct a new CheckCashBuilder with required fields.
Definition
protocol_autogen/transactions/CheckCash.h:133
xrpl::transactions::CheckCashBuilder::setDeliverMin
CheckCashBuilder & setDeliverMin(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfDeliverMin (SoeOptional).
Definition
protocol_autogen/transactions/CheckCash.h:189
xrpl::transactions::CheckCashBuilder::setAmount
CheckCashBuilder & setAmount(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfAmount (SoeOptional).
Definition
protocol_autogen/transactions/CheckCash.h:177
xrpl::transactions::CheckCashBuilder::build
CheckCash build(PublicKey const &publicKey, SecretKey const &secretKey)
Build and return the CheckCash wrapper.
Definition
protocol_autogen/transactions/CheckCash.h:202
xrpl::transactions::CheckCashBuilder::setCheckID
CheckCashBuilder & setCheckID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Transaction-specific field setters.
Definition
protocol_autogen/transactions/CheckCash.h:165
xrpl::transactions::CheckCashBuilder::CheckCashBuilder
CheckCashBuilder(std::shared_ptr< STTx const > tx)
Construct a CheckCashBuilder from an existing STTx object.
Definition
protocol_autogen/transactions/CheckCash.h:147
xrpl::transactions::CheckCash
Transaction: CheckCash.
Definition
protocol_autogen/transactions/CheckCash.h:30
xrpl::transactions::CheckCash::getAmount
protocol_autogen::Optional< SF_AMOUNT::type::value_type > getAmount() const
Get sfAmount (SoeOptional).
Definition
protocol_autogen/transactions/CheckCash.h:68
xrpl::transactions::CheckCash::getDeliverMin
protocol_autogen::Optional< SF_AMOUNT::type::value_type > getDeliverMin() const
Get sfDeliverMin (SoeOptional).
Definition
protocol_autogen/transactions/CheckCash.h:95
xrpl::transactions::CheckCash::hasDeliverMin
bool hasDeliverMin() const
Check if sfDeliverMin is present.
Definition
protocol_autogen/transactions/CheckCash.h:110
xrpl::transactions::CheckCash::CheckCash
CheckCash(std::shared_ptr< STTx const > tx)
Construct a CheckCash transaction wrapper from an existing STTx object.
Definition
protocol_autogen/transactions/CheckCash.h:38
xrpl::transactions::CheckCash::txType
static constexpr xrpl::TxType txType
Definition
protocol_autogen/transactions/CheckCash.h:32
xrpl::transactions::CheckCash::getCheckID
SF_UINT256::type::value_type getCheckID() const
Get sfCheckID (SoeRequired).
Definition
protocol_autogen/transactions/CheckCash.h:56
xrpl::transactions::CheckCash::hasAmount
bool hasAmount() const
Check if sfAmount is present.
Definition
protocol_autogen/transactions/CheckCash.h:83
xrpl::transactions::TransactionBase::tx_
std::shared_ptr< STTx const > tx_
The underlying transaction object being wrapped.
Definition
TransactionBase.h:456
xrpl::transactions::TransactionBase::TransactionBase
TransactionBase(std::shared_ptr< STTx const > tx)
Construct a transaction wrapper from an existing STTx object.
Definition
TransactionBase.h:31
xrpl::transactions::TransactionBuilderBase< CheckCashBuilder >::object_
STObject object_
Definition
TransactionBuilderBase.h:266
xrpl::transactions::TransactionBuilderBase< CheckCashBuilder >::TransactionBuilderBase
TransactionBuilderBase()=default
xrpl::transactions::TransactionBuilderBase< CheckCashBuilder >::sign
CheckCashBuilder & sign(PublicKey const &publicKey, SecretKey const &secretKey)
Definition
TransactionBuilderBase.h:248
std::decay_t
std::make_shared
T make_shared(T... args)
std
STL namespace.
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::transactions
Definition
TransactionBase.h:15
xrpl::TxType
TxType
Transaction type identifiers.
Definition
TxFormats.h:45
optional
std::runtime_error
std::shared_ptr
stdexcept
Generated by
1.17.0