xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
include
xrpl
protocol_autogen
transactions
protocol_autogen/transactions/NFTokenModify.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
NFTokenModifyBuilder
;
17
29
class
NFTokenModify
:
public
TransactionBase
30
{
31
public
:
32
static
constexpr
xrpl::TxType
txType
= ttNFTOKEN_MODIFY;
33
38
explicit
NFTokenModify
(
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 NFTokenModify"
);
45
}
46
}
47
48
// Transaction-specific field getters
49
54
[[nodiscard]]
55
SF_UINT256::type::value_type
56
getNFTokenID
()
const
57
{
58
return
this->
tx_
->at(sfNFTokenID);
59
}
60
65
[[nodiscard]]
66
protocol_autogen::Optional<SF_ACCOUNT::type::value_type>
67
getOwner
()
const
68
{
69
if
(
hasOwner
())
70
{
71
return
this->
tx_
->at(sfOwner);
72
}
73
return
std::nullopt;
74
}
75
80
[[nodiscard]]
81
bool
82
hasOwner
()
const
83
{
84
return
this->
tx_
->isFieldPresent(sfOwner);
85
}
86
91
[[nodiscard]]
92
protocol_autogen::Optional<SF_VL::type::value_type>
93
getURI
()
const
94
{
95
if
(
hasURI
())
96
{
97
return
this->
tx_
->at(sfURI);
98
}
99
return
std::nullopt;
100
}
101
106
[[nodiscard]]
107
bool
108
hasURI
()
const
109
{
110
return
this->
tx_
->isFieldPresent(sfURI);
111
}
112
};
113
121
class
NFTokenModifyBuilder
:
public
TransactionBuilderBase
<NFTokenModifyBuilder>
122
{
123
public
:
131
NFTokenModifyBuilder
(SF_ACCOUNT::type::value_type account,
132
std::decay_t<typename SF_UINT256::type::value_type>
const
& nFTokenID,
std::optional<SF_UINT32::type::value_type>
sequence = std::nullopt,
133
std::optional<SF_AMOUNT::type::value_type>
fee = std::nullopt
134
)
135
:
TransactionBuilderBase
<
NFTokenModifyBuilder
>(ttNFTOKEN_MODIFY, account, sequence, fee)
136
{
137
setNFTokenID
(nFTokenID);
138
}
139
145
NFTokenModifyBuilder
(
std::shared_ptr<STTx const>
tx)
146
{
147
if
(tx->getTxnType() != ttNFTOKEN_MODIFY)
148
{
149
throw
std::runtime_error
(
"Invalid transaction type for NFTokenModifyBuilder"
);
150
}
151
object_
= *tx;
152
}
153
157
162
NFTokenModifyBuilder
&
163
setNFTokenID
(
std::decay_t<typename SF_UINT256::type::value_type>
const
& value)
164
{
165
object_
[sfNFTokenID] = value;
166
return
*
this
;
167
}
168
173
NFTokenModifyBuilder
&
174
setOwner
(
std::decay_t<typename SF_ACCOUNT::type::value_type>
const
& value)
175
{
176
object_
[sfOwner] = value;
177
return
*
this
;
178
}
179
184
NFTokenModifyBuilder
&
185
setURI
(
std::decay_t<typename SF_VL::type::value_type>
const
& value)
186
{
187
object_
[sfURI] = value;
188
return
*
this
;
189
}
190
197
NFTokenModify
198
build
(
PublicKey
const
& publicKey,
SecretKey
const
& secretKey)
199
{
200
sign
(publicKey, secretKey);
201
return
NFTokenModify
{
std::make_shared<STTx>
(std::move(
object_
))};
202
}
203
};
204
205
}
// namespace xrpl::transactions
xrpl::PublicKey
A public key.
Definition
PublicKey.h:53
xrpl::SecretKey
A secret key.
Definition
SecretKey.h:24
xrpl::transactions::NFTokenModifyBuilder
Builder for NFTokenModify transactions.
Definition
protocol_autogen/transactions/NFTokenModify.h:122
xrpl::transactions::NFTokenModifyBuilder::setOwner
NFTokenModifyBuilder & setOwner(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Set sfOwner (SoeOptional).
Definition
protocol_autogen/transactions/NFTokenModify.h:174
xrpl::transactions::NFTokenModifyBuilder::NFTokenModifyBuilder
NFTokenModifyBuilder(std::shared_ptr< STTx const > tx)
Construct a NFTokenModifyBuilder from an existing STTx object.
Definition
protocol_autogen/transactions/NFTokenModify.h:145
xrpl::transactions::NFTokenModifyBuilder::setURI
NFTokenModifyBuilder & setURI(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfURI (SoeOptional).
Definition
protocol_autogen/transactions/NFTokenModify.h:185
xrpl::transactions::NFTokenModifyBuilder::NFTokenModifyBuilder
NFTokenModifyBuilder(SF_ACCOUNT::type::value_type account, std::decay_t< typename SF_UINT256::type::value_type > const &nFTokenID, std::optional< SF_UINT32::type::value_type > sequence=std::nullopt, std::optional< SF_AMOUNT::type::value_type > fee=std::nullopt)
Construct a new NFTokenModifyBuilder with required fields.
Definition
protocol_autogen/transactions/NFTokenModify.h:131
xrpl::transactions::NFTokenModifyBuilder::build
NFTokenModify build(PublicKey const &publicKey, SecretKey const &secretKey)
Build and return the NFTokenModify wrapper.
Definition
protocol_autogen/transactions/NFTokenModify.h:198
xrpl::transactions::NFTokenModifyBuilder::setNFTokenID
NFTokenModifyBuilder & setNFTokenID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Transaction-specific field setters.
Definition
protocol_autogen/transactions/NFTokenModify.h:163
xrpl::transactions::NFTokenModify
Transaction: NFTokenModify.
Definition
protocol_autogen/transactions/NFTokenModify.h:30
xrpl::transactions::NFTokenModify::getURI
protocol_autogen::Optional< SF_VL::type::value_type > getURI() const
Get sfURI (SoeOptional).
Definition
protocol_autogen/transactions/NFTokenModify.h:93
xrpl::transactions::NFTokenModify::hasOwner
bool hasOwner() const
Check if sfOwner is present.
Definition
protocol_autogen/transactions/NFTokenModify.h:82
xrpl::transactions::NFTokenModify::txType
static constexpr xrpl::TxType txType
Definition
protocol_autogen/transactions/NFTokenModify.h:32
xrpl::transactions::NFTokenModify::hasURI
bool hasURI() const
Check if sfURI is present.
Definition
protocol_autogen/transactions/NFTokenModify.h:108
xrpl::transactions::NFTokenModify::getOwner
protocol_autogen::Optional< SF_ACCOUNT::type::value_type > getOwner() const
Get sfOwner (SoeOptional).
Definition
protocol_autogen/transactions/NFTokenModify.h:67
xrpl::transactions::NFTokenModify::getNFTokenID
SF_UINT256::type::value_type getNFTokenID() const
Get sfNFTokenID (SoeRequired).
Definition
protocol_autogen/transactions/NFTokenModify.h:56
xrpl::transactions::NFTokenModify::NFTokenModify
NFTokenModify(std::shared_ptr< STTx const > tx)
Construct a NFTokenModify transaction wrapper from an existing STTx object.
Definition
protocol_autogen/transactions/NFTokenModify.h:38
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< NFTokenModifyBuilder >::object_
STObject object_
Definition
TransactionBuilderBase.h:266
xrpl::transactions::TransactionBuilderBase< NFTokenModifyBuilder >::TransactionBuilderBase
TransactionBuilderBase()=default
xrpl::transactions::TransactionBuilderBase< NFTokenModifyBuilder >::sign
NFTokenModifyBuilder & 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