xrpld
Loading...
Searching...
No Matches
Env_ss.h
1#pragma once
2
3#include <test/jtx/Env.h>
4#include <test/jtx/JTx.h>
5
6#include <xrpl/json/json_value.h>
7
8#include <source_location>
9#include <utility>
10
11namespace xrpl::test::jtx {
12
18class EnvSs
19{
20private:
22
23private:
25 {
26 public:
30
32 : env_(env), jt_(std::move(jt)), loc_(loc)
33 {
34 }
35
36 void
38 {
39 env_.signAndSubmit(jt_, params, loc_);
40 }
41
42 private:
44 JTx const jt_;
46 };
47
48public:
49 EnvSs(EnvSs const&) = delete;
50 EnvSs&
51 operator=(EnvSs const&) = delete;
52
53 EnvSs(Env& env) : env_(env)
54 {
55 }
56
57 template <class... FN>
58 SignSubmitRunner
60 {
61 auto jtx = env_.jt(std::move(jv.value), fN...);
62 return SignSubmitRunner(env_, std::move(jtx), jv.loc);
63 }
64
65 template <class... FN>
66 SignSubmitRunner
68 {
69 auto jtx = env_.jt(std::move(jv.value), fN...);
70 return SignSubmitRunner(env_, std::move(jtx), jv.loc);
71 }
72};
73
74} // namespace xrpl::test::jtx
Represents a JSON value.
Definition json_value.h:117
std::source_location const loc_
Definition Env_ss.h:45
SignSubmitRunner(Env &env, JTx &&jt, std::source_location loc)
Definition Env_ss.h:31
SignSubmitRunner & operator=(SignSubmitRunner &&)=delete
SignSubmitRunner(SignSubmitRunner &&)=default
void operator()(json::Value const &params=json::ValueType::Null)
Definition Env_ss.h:37
SignSubmitRunner operator()(WithSourceLocation< JTx > jv, FN const &... fN)
Definition Env_ss.h:67
EnvSs & operator=(EnvSs const &)=delete
EnvSs(EnvSs const &)=delete
SignSubmitRunner operator()(WithSourceLocation< json::Value > jv, FN const &... fN)
Definition Env_ss.h:59
A transaction testing environment.
Definition Env.h:161
@ Null
'null' value
Definition json_value.h:22
STL namespace.
Execution context for applying a JSON transaction.
Definition JTx.h:27
Wrapper that captures std::source_location when implicitly constructed.
Definition Env.h:69
std::source_location loc
Definition Env.h:71