xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
test
jtx
impl
creds.cpp
1
#include <test/jtx/Account.h>
2
#include <test/jtx/Env.h>
3
#include <test/jtx/credentials.h>
4
5
#include <xrpl/basics/strHex.h>
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_view
>
12
13
namespace
xrpl::test::jtx::credentials
{
14
15
json::Value
16
create
(
jtx::Account
const
& subject,
jtx::Account
const
& issuer,
std::string_view
credType)
17
{
18
json::Value
jv;
19
jv[jss::TransactionType] = jss::CredentialCreate;
20
21
jv[jss::Account] = issuer.
human
();
22
jv[jss::Subject] = subject.
human
();
23
jv[sfCredentialType.jsonName] =
strHex
(credType);
24
25
return
jv;
26
}
27
28
json::Value
29
accept
(
jtx::Account
const
& subject,
jtx::Account
const
& issuer,
std::string_view
credType)
30
{
31
json::Value
jv;
32
jv[jss::TransactionType] = jss::CredentialAccept;
33
jv[jss::Account] = subject.
human
();
34
jv[jss::Issuer] = issuer.
human
();
35
jv[sfCredentialType.jsonName] =
strHex
(credType);
36
return
jv;
37
}
38
39
json::Value
40
deleteCred
(
41
jtx::Account
const
& acc,
42
jtx::Account
const
& subject,
43
jtx::Account
const
& issuer,
44
std::string_view
credType)
45
{
46
json::Value
jv;
47
jv[jss::TransactionType] = jss::CredentialDelete;
48
jv[jss::Account] = acc.
human
();
49
jv[jss::Subject] = subject.
human
();
50
jv[jss::Issuer] = issuer.
human
();
51
jv[sfCredentialType.jsonName] =
strHex
(credType);
52
return
jv;
53
}
54
55
json::Value
56
ledgerEntry
(
57
jtx::Env
& env,
58
jtx::Account
const
& subject,
59
jtx::Account
const
& issuer,
60
std::string_view
credType)
61
{
62
json::Value
jvParams;
63
jvParams[jss::ledger_index] = jss::validated;
64
jvParams[jss::credential][jss::subject] = subject.
human
();
65
jvParams[jss::credential][jss::issuer] = issuer.
human
();
66
jvParams[jss::credential][jss::credential_type] =
strHex
(credType);
67
return
env.
rpc
(
"json"
,
"ledger_entry"
,
to_string
(jvParams));
68
}
69
70
json::Value
71
ledgerEntry
(
jtx::Env
& env,
std::string
const
& credIdx)
72
{
73
json::Value
jvParams;
74
jvParams[jss::ledger_index] = jss::validated;
75
jvParams[jss::credential] = credIdx;
76
return
env.
rpc
(
"json"
,
"ledger_entry"
,
to_string
(jvParams));
77
}
78
79
}
// namespace xrpl::test::jtx::credentials
std::string
std::string_view
json::Value
Represents a JSON value.
Definition
json_value.h:117
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
xrpl::test::jtx::credentials
Definition
credentials.h:18
xrpl::test::jtx::credentials::deleteCred
json::Value deleteCred(jtx::Account const &acc, jtx::Account const &subject, jtx::Account const &issuer, std::string_view credType)
Definition
creds.cpp:40
xrpl::test::jtx::credentials::accept
json::Value accept(jtx::Account const &subject, jtx::Account const &issuer, std::string_view credType)
Definition
creds.cpp:29
xrpl::test::jtx::credentials::create
json::Value create(jtx::Account const &subject, jtx::Account const &issuer, std::string_view credType)
Definition
creds.cpp:16
xrpl::test::jtx::credentials::ledgerEntry
json::Value ledgerEntry(jtx::Env &env, jtx::Account const &subject, jtx::Account const &issuer, std::string_view credType)
Definition
creds.cpp:56
xrpl::strHex
std::string strHex(FwdIt begin, FwdIt end)
Definition
strHex.h:13
xrpl::to_string
std::string to_string(BaseUInt< Bits, Tag > const &a)
Definition
base_uint.h:657
string_view
Generated by
1.17.0