xrpld
Loading...
Searching...
No Matches
sponsor.h
1#pragma once
2
3#include <test/jtx/Account.h>
4#include <test/jtx/Env.h>
5#include <test/jtx/JTx.h>
6
7#include <xrpl/basics/base_uint.h>
8#include <xrpl/json/json_value.h>
9#include <xrpl/protocol/SField.h>
10#include <xrpl/protocol/STAmount.h>
11
12#include <cstdint>
13#include <optional>
14#include <utility>
15
17
18json::Value
19set(jtx::Account const& account,
20 std::uint32_t flags,
21 std::optional<std::int32_t> const reserveCountDelta = std::nullopt,
22 std::optional<STAmount> const feeAmountDelta = std::nullopt,
23 std::optional<STAmount> const maxFee = std::nullopt);
24
25inline json::Value
27 jtx::Account const& account,
28 std::uint32_t flags,
29 STAmount feeAmountDelta,
30 std::optional<STAmount> maxFee = std::nullopt)
31{
32 return set(account, flags, std::nullopt, std::move(feeAmountDelta), std::move(maxFee));
33}
34
35inline json::Value
36set_reserve(jtx::Account const& account, std::uint32_t flags, std::int32_t reserveCountDelta)
37{
38 return set(account, flags, reserveCountDelta);
39}
40
41inline json::Value
42set_max_fee(jtx::Account const& account, std::uint32_t flags, STAmount maxFee)
43{
44 return set(account, flags, std::nullopt, std::nullopt, std::move(maxFee));
45}
46
48del(jtx::Account const& account);
49
52 jtx::Account const& account,
53 uint32_t flags,
54 std::optional<uint256> const& index = std::nullopt);
55
57{
58private:
60
61public:
62 CounterpartySponsor(jtx::Account account) : sponsor_(std::move(account))
63 {
64 }
65
66 void
68};
69
71{
72private:
74
75public:
76 SponseeAcc(jtx::Account account) : sponsee_(std::move(account))
77 {
78 }
79
80 void
82};
83
84struct As
85{
86private:
89
90public:
91 As(jtx::Account account, std::uint32_t flags = 0) : sponsor_(std::move(account)), flags_(flags)
92 {
93 }
94
95 void
97};
98
100ledgerEntry(jtx::Env& env, jtx::Account const& sponsor, jtx::Account const& sponsee);
101
104
105} // namespace xrpl::test::jtx::sponsor
Represents a JSON value.
Definition json_value.h:117
Immutable cryptographic account descriptor.
Definition jtx/Account.h:21
A transaction testing environment.
Definition Env.h:161
STL namespace.
json::Value transfer(jtx::Account const &account, uint32_t flags, std::optional< uint256 > const &index)
Definition sponsor.cpp:52
json::Value set_fee(jtx::Account const &account, std::uint32_t flags, STAmount feeAmountDelta, std::optional< STAmount > maxFee=std::nullopt)
Definition sponsor.h:26
STAmount sponsorshipFeeBalance(jtx::Env &env, jtx::Account const &sponsor, jtx::Account const &sponsee)
Definition sponsor.cpp:93
json::Value set_reserve(jtx::Account const &account, std::uint32_t flags, std::int32_t reserveCountDelta)
Definition sponsor.h:36
json::Value ledgerEntry(jtx::Env &env, jtx::Account const &sponsor, jtx::Account const &sponsee)
Definition sponsor.cpp:83
json::Value set_max_fee(jtx::Account const &account, std::uint32_t flags, STAmount maxFee)
Definition sponsor.h:42
json::Value del(jtx::Account const &account)
Definition sponsor.cpp:42
json::Value set(jtx::Account const &account, uint32_t flags, std::optional< int32_t > const reserveCountDelta, std::optional< STAmount > const feeAmountDelta, std::optional< STAmount > const maxFee)
Definition sponsor.cpp:22
Execution context for applying a JSON transaction.
Definition JTx.h:27
As(jtx::Account account, std::uint32_t flags=0)
Definition sponsor.h:91
void operator()(jtx::Env &, jtx::JTx &jtx) const
Definition sponsor.cpp:76
void operator()(jtx::Env &, jtx::JTx &jtx) const
Definition sponsor.cpp:64
CounterpartySponsor(jtx::Account account)
Definition sponsor.h:62
SponseeAcc(jtx::Account account)
Definition sponsor.h:76
void operator()(jtx::Env &, jtx::JTx &jtx) const
Definition sponsor.cpp:70