xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
test
jtx
impl
delegate.cpp
1
#include <test/jtx/delegate.h>
2
3
#include <test/jtx/Account.h>
4
#include <test/jtx/Env.h>
5
6
#include <xrpl/json/json_value.h>
7
#include <xrpl/json/to_string.h>
8
#include <xrpl/protocol/SField.h>
9
#include <xrpl/protocol/jss.h>
10
11
#include <
string
>
12
#include <
vector
>
13
14
namespace
xrpl::test::jtx::delegate
{
15
16
json::Value
17
set
(
jtx::Account
const
& account,
18
jtx::Account
const
& authorize,
19
std::vector<std::string>
const
& permissions)
20
{
21
json::Value
jv;
22
jv[jss::TransactionType] = jss::DelegateSet;
23
jv[jss::Account] = account.human();
24
jv[sfAuthorize.jsonName] = authorize.
human
();
25
json::Value
permissionsJson(
json::ValueType::Array
);
26
for
(
auto
const
& permission : permissions)
27
{
28
json::Value
permissionValue;
29
permissionValue[sfPermissionValue.jsonName] = permission;
30
json::Value
permissionObj;
31
permissionObj[sfPermission.jsonName] = permissionValue;
32
permissionsJson.
append
(permissionObj);
33
}
34
35
jv[sfPermissions.jsonName] = permissionsJson;
36
37
return
jv;
38
}
39
40
json::Value
41
entry
(
jtx::Env
& env,
jtx::Account
const
& account,
jtx::Account
const
& authorize)
42
{
43
json::Value
jvParams;
44
jvParams[jss::ledger_index] = jss::validated;
45
jvParams[jss::delegate][jss::account] = account.human();
46
jvParams[jss::delegate][jss::authorize] = authorize.
human
();
47
return
env.
rpc
(
"json"
,
"ledger_entry"
,
to_string
(jvParams));
48
}
49
50
}
// namespace xrpl::test::jtx::delegate
json::Value
Represents a JSON value.
Definition
json_value.h:117
json::Value::append
Value & append(Value const &value)
Append value to array at the end.
Definition
json_value.cpp:997
xrpl::test::jtx::Account
Immutable cryptographic account descriptor.
Definition
jtx/Account.h:21
xrpl::test::jtx::Account::human
std::string const & human() const
Returns the human readable public key.
Definition
jtx/Account.h:113
xrpl::test::jtx::Env
A transaction testing environment.
Definition
Env.h:161
xrpl::test::jtx::Env::rpc
json::Value rpc(unsigned apiVersion, std::unordered_map< std::string, std::string > const &headers, std::string const &cmd, Args &&... args)
Execute an RPC command.
Definition
Env.h:1058
json::ValueType::Array
@ Array
array value (ordered list)
Definition
json_value.h:28
xrpl::test::jtx::delegate
Definition
delegate.h:14
xrpl::test::jtx::delegate::entry
json::Value entry(jtx::Env &env, jtx::Account const &account, jtx::Account const &authorize)
Definition
delegate.cpp:41
xrpl::test::jtx::delegate::set
json::Value set(jtx::Account const &account, jtx::Account const &authorize, std::vector< std::string > const &permissions)
Definition
delegate.cpp:17
xrpl::to_string
std::string to_string(BaseUInt< Bits, Tag > const &a)
Definition
base_uint.h:657
string
vector
Generated by
1.17.0