xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
include
xrpl
protocol_autogen
transactions
XChainCreateClaimID.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
XChainCreateClaimIDBuilder
;
17
29
class
XChainCreateClaimID
:
public
TransactionBase
30
{
31
public
:
32
static
constexpr
xrpl::TxType
txType
= ttXCHAIN_CREATE_CLAIM_ID;
33
38
explicit
XChainCreateClaimID
(
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 XChainCreateClaimID"
);
45
}
46
}
47
48
// Transaction-specific field getters
49
54
[[nodiscard]]
55
SF_XCHAIN_BRIDGE::type::value_type
56
getXChainBridge
()
const
57
{
58
return
this->
tx_
->at(sfXChainBridge);
59
}
60
65
[[nodiscard]]
66
SF_AMOUNT::type::value_type
67
getSignatureReward
()
const
68
{
69
return
this->
tx_
->at(sfSignatureReward);
70
}
71
76
[[nodiscard]]
77
SF_ACCOUNT::type::value_type
78
getOtherChainSource
()
const
79
{
80
return
this->
tx_
->at(sfOtherChainSource);
81
}
82
};
83
91
class
XChainCreateClaimIDBuilder
:
public
TransactionBuilderBase
<XChainCreateClaimIDBuilder>
92
{
93
public
:
103
XChainCreateClaimIDBuilder
(SF_ACCOUNT::type::value_type account,
104
std::decay_t<typename SF_XCHAIN_BRIDGE::type::value_type>
const
& xChainBridge,
std::decay_t<typename SF_AMOUNT::type::value_type>
const
& signatureReward,
std::decay_t<typename SF_ACCOUNT::type::value_type>
const
& otherChainSource,
std::optional<SF_UINT32::type::value_type>
sequence = std::nullopt,
105
std::optional<SF_AMOUNT::type::value_type>
fee = std::nullopt
106
)
107
:
TransactionBuilderBase
<
XChainCreateClaimIDBuilder
>(ttXCHAIN_CREATE_CLAIM_ID, account, sequence, fee)
108
{
109
setXChainBridge
(xChainBridge);
110
setSignatureReward
(signatureReward);
111
setOtherChainSource
(otherChainSource);
112
}
113
119
XChainCreateClaimIDBuilder
(
std::shared_ptr<STTx const>
tx)
120
{
121
if
(tx->getTxnType() != ttXCHAIN_CREATE_CLAIM_ID)
122
{
123
throw
std::runtime_error
(
"Invalid transaction type for XChainCreateClaimIDBuilder"
);
124
}
125
object_
= *tx;
126
}
127
131
136
XChainCreateClaimIDBuilder
&
137
setXChainBridge
(
std::decay_t<typename SF_XCHAIN_BRIDGE::type::value_type>
const
& value)
138
{
139
object_
[sfXChainBridge] = value;
140
return
*
this
;
141
}
142
147
XChainCreateClaimIDBuilder
&
148
setSignatureReward
(
std::decay_t<typename SF_AMOUNT::type::value_type>
const
& value)
149
{
150
object_
[sfSignatureReward] = value;
151
return
*
this
;
152
}
153
158
XChainCreateClaimIDBuilder
&
159
setOtherChainSource
(
std::decay_t<typename SF_ACCOUNT::type::value_type>
const
& value)
160
{
161
object_
[sfOtherChainSource] = value;
162
return
*
this
;
163
}
164
171
XChainCreateClaimID
172
build
(
PublicKey
const
& publicKey,
SecretKey
const
& secretKey)
173
{
174
sign
(publicKey, secretKey);
175
return
XChainCreateClaimID
{
std::make_shared<STTx>
(std::move(
object_
))};
176
}
177
};
178
179
}
// namespace xrpl::transactions
xrpl::PublicKey
A public key.
Definition
PublicKey.h:53
xrpl::SecretKey
A secret key.
Definition
SecretKey.h:24
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< XChainCreateClaimIDBuilder >::object_
STObject object_
Definition
TransactionBuilderBase.h:266
xrpl::transactions::TransactionBuilderBase< XChainCreateClaimIDBuilder >::TransactionBuilderBase
TransactionBuilderBase()=default
xrpl::transactions::TransactionBuilderBase< XChainCreateClaimIDBuilder >::sign
XChainCreateClaimIDBuilder & sign(PublicKey const &publicKey, SecretKey const &secretKey)
Definition
TransactionBuilderBase.h:248
xrpl::transactions::XChainCreateClaimIDBuilder
Builder for XChainCreateClaimID transactions.
Definition
XChainCreateClaimID.h:92
xrpl::transactions::XChainCreateClaimIDBuilder::XChainCreateClaimIDBuilder
XChainCreateClaimIDBuilder(SF_ACCOUNT::type::value_type account, std::decay_t< typename SF_XCHAIN_BRIDGE::type::value_type > const &xChainBridge, std::decay_t< typename SF_AMOUNT::type::value_type > const &signatureReward, std::decay_t< typename SF_ACCOUNT::type::value_type > const &otherChainSource, std::optional< SF_UINT32::type::value_type > sequence=std::nullopt, std::optional< SF_AMOUNT::type::value_type > fee=std::nullopt)
Construct a new XChainCreateClaimIDBuilder with required fields.
Definition
XChainCreateClaimID.h:103
xrpl::transactions::XChainCreateClaimIDBuilder::XChainCreateClaimIDBuilder
XChainCreateClaimIDBuilder(std::shared_ptr< STTx const > tx)
Construct a XChainCreateClaimIDBuilder from an existing STTx object.
Definition
XChainCreateClaimID.h:119
xrpl::transactions::XChainCreateClaimIDBuilder::setXChainBridge
XChainCreateClaimIDBuilder & setXChainBridge(std::decay_t< typename SF_XCHAIN_BRIDGE::type::value_type > const &value)
Transaction-specific field setters.
Definition
XChainCreateClaimID.h:137
xrpl::transactions::XChainCreateClaimIDBuilder::setOtherChainSource
XChainCreateClaimIDBuilder & setOtherChainSource(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Set sfOtherChainSource (SoeRequired).
Definition
XChainCreateClaimID.h:159
xrpl::transactions::XChainCreateClaimIDBuilder::build
XChainCreateClaimID build(PublicKey const &publicKey, SecretKey const &secretKey)
Build and return the XChainCreateClaimID wrapper.
Definition
XChainCreateClaimID.h:172
xrpl::transactions::XChainCreateClaimIDBuilder::setSignatureReward
XChainCreateClaimIDBuilder & setSignatureReward(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfSignatureReward (SoeRequired).
Definition
XChainCreateClaimID.h:148
xrpl::transactions::XChainCreateClaimID
Transaction: XChainCreateClaimID.
Definition
XChainCreateClaimID.h:30
xrpl::transactions::XChainCreateClaimID::getXChainBridge
SF_XCHAIN_BRIDGE::type::value_type getXChainBridge() const
Get sfXChainBridge (SoeRequired).
Definition
XChainCreateClaimID.h:56
xrpl::transactions::XChainCreateClaimID::txType
static constexpr xrpl::TxType txType
Definition
XChainCreateClaimID.h:32
xrpl::transactions::XChainCreateClaimID::getOtherChainSource
SF_ACCOUNT::type::value_type getOtherChainSource() const
Get sfOtherChainSource (SoeRequired).
Definition
XChainCreateClaimID.h:78
xrpl::transactions::XChainCreateClaimID::getSignatureReward
SF_AMOUNT::type::value_type getSignatureReward() const
Get sfSignatureReward (SoeRequired).
Definition
XChainCreateClaimID.h:67
xrpl::transactions::XChainCreateClaimID::XChainCreateClaimID
XChainCreateClaimID(std::shared_ptr< STTx const > tx)
Construct a XChainCreateClaimID transaction wrapper from an existing STTx object.
Definition
XChainCreateClaimID.h:38
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