xrpld
Loading...
Searching...
No Matches
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
15
16json::Value
17set(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
41entry(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
Represents a JSON value.
Definition json_value.h:130
Value & append(Value const &value)
Append value to array at the end.
Immutable cryptographic account descriptor.
Definition jtx/Account.h:17
std::string const & human() const
Returns the human readable public key.
Definition jtx/Account.h:92
A transaction testing environment.
Definition Env.h:143
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:864
@ Array
array value (ordered list)
Definition json_value.h:25
json::Value entry(jtx::Env &env, jtx::Account const &account, jtx::Account const &authorize)
Definition delegate.cpp:41
json::Value set(jtx::Account const &account, jtx::Account const &authorize, std::vector< std::string > const &permissions)
Definition delegate.cpp:17
std::string to_string(BaseUInt< Bits, Tag > const &a)
Definition base_uint.h:633