rippled
Loading...
Searching...
No Matches
token.h
1#pragma once
2
3#include <test/jtx/Account.h>
4#include <test/jtx/Env.h>
5#include <test/jtx/owners.h>
6
7#include <xrpl/basics/strHex.h>
8
9#include <initializer_list>
10
11namespace xrpl {
12namespace test {
13namespace jtx {
14
15namespace token {
16
19mint(jtx::Account const& account, std::uint32_t tokenTaxon = 0);
20
23{
24private:
26
27public:
29 {
30 }
31
32 void
33 operator()(Env&, JTx& jtx) const;
34};
35
37class issuer
38{
39private:
41
42public:
43 explicit issuer(jtx::Account const& issue) : issuer_(issue.human())
44 {
45 }
46
47 void
48 operator()(Env&, JTx& jtx) const;
49};
50
52class uri
53{
54private:
56
57public:
58 explicit uri(std::string const& u) : uri_(strHex(u))
59 {
60 }
61
62 void
63 operator()(Env&, JTx& jtx) const;
64};
65
67class amount
68{
69private:
71
72public:
73 explicit amount(STAmount const amount) : amount_(amount)
74 {
75 }
76
77 void
78 operator()(Env&, JTx& jtx) const;
79};
80
84 jtx::Env const& env,
85 jtx::Account const& account,
86 std::uint32_t nftokenTaxon,
88 std::uint16_t xferFee = 0);
89
92getID(
93 jtx::Env const& env,
94 jtx::Account const& account,
95 std::uint32_t tokenTaxon,
96 std::uint32_t nftSeq,
98 std::uint16_t xferFee = 0);
99
102burn(jtx::Account const& account, uint256 const& nftokenID);
103
106createOffer(jtx::Account const& account, uint256 const& nftokenID, STAmount const& amount);
107
109class owner
110{
111private:
113
114public:
115 explicit owner(jtx::Account const& ownedBy) : owner_(ownedBy.human())
116 {
117 }
118
119 void
120 operator()(Env&, JTx& jtx) const;
121};
122
125{
126private:
128
129public:
130 explicit expiration(std::uint32_t const& expires) : expires_(expires)
131 {
132 }
133
134 void
135 operator()(Env&, JTx& jtx) const;
136};
137
140{
141private:
143
144public:
145 explicit destination(jtx::Account const& dest) : dest_(dest.human())
146 {
147 }
148
149 void
150 operator()(Env&, JTx& jtx) const;
151};
152
155cancelOffer(jtx::Account const& account, std::initializer_list<uint256> const& nftokenOffers = {});
156
158cancelOffer(jtx::Account const& account, std::vector<uint256> const& nftokenOffers);
159
162{
163private:
165
166public:
167 explicit rootIndex(uint256 const& index) : rootIndex_(to_string(index))
168 {
169 }
170
171 void
172 operator()(Env&, JTx& jtx) const;
173};
174
177acceptBuyOffer(jtx::Account const& account, uint256 const& offerIndex);
178
181acceptSellOffer(jtx::Account const& account, uint256 const& offerIndex);
182
185brokerOffers(jtx::Account const& account, uint256 const& buyOfferIndex, uint256 const& sellOfferIndex);
186
189{
190private:
192
193public:
195 {
196 }
197
198 void
199 operator()(Env&, JTx& jtx) const;
200};
201
204setMinter(jtx::Account const& account, jtx::Account const& minter);
205
208clearMinter(jtx::Account const& account);
209
212modify(jtx::Account const& account, uint256 const& nftokenID);
213
214} // namespace token
215
216} // namespace jtx
217
218} // namespace test
219} // namespace xrpl
Represents a JSON value.
Definition json_value.h:130
Immutable cryptographic account descriptor.
Definition Account.h:19
A transaction testing environment.
Definition Env.h:119
Set the fee on a JTx.
Definition fee.h:17
Match set account flags.
Definition flags.h:108
Sets the optional amount field on an NFTokenMint.
Definition token.h:68
void operator()(Env &, JTx &jtx) const
Definition token.cpp:43
amount(STAmount const amount)
Definition token.h:73
STAmount const amount_
Definition token.h:70
Sets the optional NFTokenBrokerFee field in a brokerOffer transaction.
Definition token.h:189
brokerFee(STAmount const fee)
Definition token.h:194
void operator()(Env &, JTx &jtx) const
Definition token.cpp:181
Sets the optional Destination field on an NFTokenOffer.
Definition token.h:140
destination(jtx::Account const &dest)
Definition token.h:145
void operator()(Env &, JTx &jtx) const
Definition token.cpp:110
Sets the optional Expiration field on an NFTokenOffer.
Definition token.h:125
expiration(std::uint32_t const &expires)
Definition token.h:130
void operator()(Env &, JTx &jtx) const
Definition token.cpp:104
Sets the optional Issuer on an NFTokenMint.
Definition token.h:38
void operator()(Env &, JTx &jtx) const
Definition token.cpp:31
issuer(jtx::Account const &issue)
Definition token.h:43
Sets the optional Owner on an NFTokenOffer.
Definition token.h:110
void operator()(Env &, JTx &jtx) const
Definition token.cpp:98
owner(jtx::Account const &ownedBy)
Definition token.h:115
Sets the optional RootIndex field when canceling NFTokenOffers.
Definition token.h:162
void operator()(Env &, JTx &jtx) const
Definition token.cpp:144
rootIndex(uint256 const &index)
Definition token.h:167
Sets the optional URI on an NFTokenMint.
Definition token.h:53
uri(std::string const &u)
Definition token.h:58
void operator()(Env &, JTx &jtx) const
Definition token.cpp:37
Sets the optional TransferFee on an NFTokenMint.
Definition token.h:23
void operator()(Env &, JTx &jtx) const
Definition token.cpp:25
xferFee(std::uint16_t fee)
Definition token.h:28
Json::Value setMinter(jtx::Account const &account, jtx::Account const &minter)
Set the authorized minter on an account root.
Definition token.cpp:187
uint256 getID(jtx::Env const &env, jtx::Account const &issuer, std::uint32_t nfTokenTaxon, std::uint32_t nftSeq, std::uint16_t flags, std::uint16_t xferFee)
Get the NFTokenID for a particular nftSequence.
Definition token.cpp:62
Json::Value mint(jtx::Account const &account, std::uint32_t nfTokenTaxon)
Mint an NFToken.
Definition token.cpp:15
Json::Value acceptBuyOffer(jtx::Account const &account, uint256 const &offerIndex)
Accept an NFToken buy offer.
Definition token.cpp:150
Json::Value burn(jtx::Account const &account, uint256 const &nftokenID)
Burn an NFToken.
Definition token.cpp:77
Json::Value brokerOffers(jtx::Account const &account, uint256 const &buyOfferIndex, uint256 const &sellOfferIndex)
Broker two NFToken offers.
Definition token.cpp:170
Json::Value acceptSellOffer(jtx::Account const &account, uint256 const &offerIndex)
Accept an NFToken sell offer.
Definition token.cpp:160
Json::Value clearMinter(jtx::Account const &account)
Clear any authorized minter from an account root.
Definition token.cpp:195
Json::Value modify(jtx::Account const &account, uint256 const &nftokenID)
Modify an NFToken.
Definition token.cpp:201
Json::Value cancelOffer(jtx::Account const &account, std::initializer_list< uint256 > const &nftokenOffers)
Cancel NFTokenOffers.
Definition token.cpp:132
Json::Value createOffer(jtx::Account const &account, uint256 const &nftokenID, STAmount const &amount)
Create an NFTokenOffer.
Definition token.cpp:87
uint256 getNextID(jtx::Env const &env, jtx::Account const &issuer, std::uint32_t nfTokenTaxon, std::uint16_t flags, std::uint16_t xferFee)
Get the next NFTokenID that will be issued.
Definition token.cpp:49
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
std::string to_string(base_uint< Bits, Tag > const &a)
Definition base_uint.h:597
std::string strHex(FwdIt begin, FwdIt end)
Definition strHex.h:10
Execution context for applying a JSON transaction.
Definition JTx.h:25