xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
include
xrpl
protocol_autogen
transactions
protocol_autogen/transactions/ConfidentialMPTClawback.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
ConfidentialMPTClawbackBuilder
;
17
29
class
ConfidentialMPTClawback
:
public
TransactionBase
30
{
31
public
:
32
static
constexpr
xrpl::TxType
txType
= ttCONFIDENTIAL_MPT_CLAWBACK;
33
38
explicit
ConfidentialMPTClawback
(
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 ConfidentialMPTClawback"
);
45
}
46
}
47
48
// Transaction-specific field getters
49
54
[[nodiscard]]
55
SF_UINT192::type::value_type
56
getMPTokenIssuanceID
()
const
57
{
58
return
this->
tx_
->at(sfMPTokenIssuanceID);
59
}
60
65
[[nodiscard]]
66
SF_ACCOUNT::type::value_type
67
getHolder
()
const
68
{
69
return
this->
tx_
->at(sfHolder);
70
}
71
76
[[nodiscard]]
77
SF_UINT64::type::value_type
78
getMPTAmount
()
const
79
{
80
return
this->
tx_
->at(sfMPTAmount);
81
}
82
87
[[nodiscard]]
88
SF_VL::type::value_type
89
getZKProof
()
const
90
{
91
return
this->
tx_
->at(sfZKProof);
92
}
93
};
94
102
class
ConfidentialMPTClawbackBuilder
:
public
TransactionBuilderBase
<ConfidentialMPTClawbackBuilder>
103
{
104
public
:
115
ConfidentialMPTClawbackBuilder
(SF_ACCOUNT::type::value_type account,
116
std::decay_t<typename SF_UINT192::type::value_type>
const
& mPTokenIssuanceID,
std::decay_t<typename SF_ACCOUNT::type::value_type>
const
& holder,
std::decay_t<typename SF_UINT64::type::value_type>
const
& mPTAmount,
std::decay_t<typename SF_VL::type::value_type>
const
& zKProof,
std::optional<SF_UINT32::type::value_type>
sequence = std::nullopt,
117
std::optional<SF_AMOUNT::type::value_type>
fee = std::nullopt
118
)
119
:
TransactionBuilderBase
<
ConfidentialMPTClawbackBuilder
>(ttCONFIDENTIAL_MPT_CLAWBACK, account, sequence, fee)
120
{
121
setMPTokenIssuanceID
(mPTokenIssuanceID);
122
setHolder
(holder);
123
setMPTAmount
(mPTAmount);
124
setZKProof
(zKProof);
125
}
126
132
ConfidentialMPTClawbackBuilder
(
std::shared_ptr<STTx const>
tx)
133
{
134
if
(tx->getTxnType() != ttCONFIDENTIAL_MPT_CLAWBACK)
135
{
136
throw
std::runtime_error
(
"Invalid transaction type for ConfidentialMPTClawbackBuilder"
);
137
}
138
object_
= *tx;
139
}
140
144
149
ConfidentialMPTClawbackBuilder
&
150
setMPTokenIssuanceID
(
std::decay_t<typename SF_UINT192::type::value_type>
const
& value)
151
{
152
object_
[sfMPTokenIssuanceID] = value;
153
return
*
this
;
154
}
155
160
ConfidentialMPTClawbackBuilder
&
161
setHolder
(
std::decay_t<typename SF_ACCOUNT::type::value_type>
const
& value)
162
{
163
object_
[sfHolder] = value;
164
return
*
this
;
165
}
166
171
ConfidentialMPTClawbackBuilder
&
172
setMPTAmount
(
std::decay_t<typename SF_UINT64::type::value_type>
const
& value)
173
{
174
object_
[sfMPTAmount] = value;
175
return
*
this
;
176
}
177
182
ConfidentialMPTClawbackBuilder
&
183
setZKProof
(
std::decay_t<typename SF_VL::type::value_type>
const
& value)
184
{
185
object_
[sfZKProof] = value;
186
return
*
this
;
187
}
188
195
ConfidentialMPTClawback
196
build
(
PublicKey
const
& publicKey,
SecretKey
const
& secretKey)
197
{
198
sign
(publicKey, secretKey);
199
return
ConfidentialMPTClawback
{
std::make_shared<STTx>
(std::move(
object_
))};
200
}
201
};
202
203
}
// namespace xrpl::transactions
xrpl::PublicKey
A public key.
Definition
PublicKey.h:53
xrpl::SecretKey
A secret key.
Definition
SecretKey.h:24
xrpl::transactions::ConfidentialMPTClawbackBuilder
Builder for ConfidentialMPTClawback transactions.
Definition
protocol_autogen/transactions/ConfidentialMPTClawback.h:103
xrpl::transactions::ConfidentialMPTClawbackBuilder::ConfidentialMPTClawbackBuilder
ConfidentialMPTClawbackBuilder(std::shared_ptr< STTx const > tx)
Construct a ConfidentialMPTClawbackBuilder from an existing STTx object.
Definition
protocol_autogen/transactions/ConfidentialMPTClawback.h:132
xrpl::transactions::ConfidentialMPTClawbackBuilder::setZKProof
ConfidentialMPTClawbackBuilder & setZKProof(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfZKProof (SoeRequired).
Definition
protocol_autogen/transactions/ConfidentialMPTClawback.h:183
xrpl::transactions::ConfidentialMPTClawbackBuilder::setHolder
ConfidentialMPTClawbackBuilder & setHolder(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Set sfHolder (SoeRequired).
Definition
protocol_autogen/transactions/ConfidentialMPTClawback.h:161
xrpl::transactions::ConfidentialMPTClawbackBuilder::build
ConfidentialMPTClawback build(PublicKey const &publicKey, SecretKey const &secretKey)
Build and return the ConfidentialMPTClawback wrapper.
Definition
protocol_autogen/transactions/ConfidentialMPTClawback.h:196
xrpl::transactions::ConfidentialMPTClawbackBuilder::setMPTokenIssuanceID
ConfidentialMPTClawbackBuilder & setMPTokenIssuanceID(std::decay_t< typename SF_UINT192::type::value_type > const &value)
Transaction-specific field setters.
Definition
protocol_autogen/transactions/ConfidentialMPTClawback.h:150
xrpl::transactions::ConfidentialMPTClawbackBuilder::setMPTAmount
ConfidentialMPTClawbackBuilder & setMPTAmount(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfMPTAmount (SoeRequired).
Definition
protocol_autogen/transactions/ConfidentialMPTClawback.h:172
xrpl::transactions::ConfidentialMPTClawbackBuilder::ConfidentialMPTClawbackBuilder
ConfidentialMPTClawbackBuilder(SF_ACCOUNT::type::value_type account, std::decay_t< typename SF_UINT192::type::value_type > const &mPTokenIssuanceID, std::decay_t< typename SF_ACCOUNT::type::value_type > const &holder, std::decay_t< typename SF_UINT64::type::value_type > const &mPTAmount, std::decay_t< typename SF_VL::type::value_type > const &zKProof, std::optional< SF_UINT32::type::value_type > sequence=std::nullopt, std::optional< SF_AMOUNT::type::value_type > fee=std::nullopt)
Construct a new ConfidentialMPTClawbackBuilder with required fields.
Definition
protocol_autogen/transactions/ConfidentialMPTClawback.h:115
xrpl::transactions::ConfidentialMPTClawback
Transaction: ConfidentialMPTClawback.
Definition
protocol_autogen/transactions/ConfidentialMPTClawback.h:30
xrpl::transactions::ConfidentialMPTClawback::txType
static constexpr xrpl::TxType txType
Definition
protocol_autogen/transactions/ConfidentialMPTClawback.h:32
xrpl::transactions::ConfidentialMPTClawback::getMPTokenIssuanceID
SF_UINT192::type::value_type getMPTokenIssuanceID() const
Get sfMPTokenIssuanceID (SoeRequired).
Definition
protocol_autogen/transactions/ConfidentialMPTClawback.h:56
xrpl::transactions::ConfidentialMPTClawback::ConfidentialMPTClawback
ConfidentialMPTClawback(std::shared_ptr< STTx const > tx)
Construct a ConfidentialMPTClawback transaction wrapper from an existing STTx object.
Definition
protocol_autogen/transactions/ConfidentialMPTClawback.h:38
xrpl::transactions::ConfidentialMPTClawback::getMPTAmount
SF_UINT64::type::value_type getMPTAmount() const
Get sfMPTAmount (SoeRequired).
Definition
protocol_autogen/transactions/ConfidentialMPTClawback.h:78
xrpl::transactions::ConfidentialMPTClawback::getZKProof
SF_VL::type::value_type getZKProof() const
Get sfZKProof (SoeRequired).
Definition
protocol_autogen/transactions/ConfidentialMPTClawback.h:89
xrpl::transactions::ConfidentialMPTClawback::getHolder
SF_ACCOUNT::type::value_type getHolder() const
Get sfHolder (SoeRequired).
Definition
protocol_autogen/transactions/ConfidentialMPTClawback.h:67
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< ConfidentialMPTClawbackBuilder >::object_
STObject object_
Definition
TransactionBuilderBase.h:266
xrpl::transactions::TransactionBuilderBase< ConfidentialMPTClawbackBuilder >::TransactionBuilderBase
TransactionBuilderBase()=default
xrpl::transactions::TransactionBuilderBase< ConfidentialMPTClawbackBuilder >::sign
ConfidentialMPTClawbackBuilder & 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::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