xrpld
Loading...
Searching...
No Matches
rate.cpp
1#include <test/jtx/rate.h>
2
3#include <test/jtx/Account.h>
4
5#include <xrpl/basics/contract.h>
6#include <xrpl/json/json_value.h>
7#include <xrpl/protocol/jss.h>
8
9#include <cstdint>
10#include <stdexcept>
11
12namespace xrpl::test::jtx {
13
14json::Value
15rate(Account const& account, double multiplier)
16{
17 if (multiplier > 4)
18 Throw<std::runtime_error>("rate multiplier out of range");
19 json::Value jv;
20 jv[jss::Account] = account.human();
21 jv[jss::TransferRate] = std::uint32_t(1000000000 * multiplier);
22 jv[jss::TransactionType] = jss::AccountSet;
23 return jv;
24}
25
26} // namespace xrpl::test::jtx
Represents a JSON value.
Definition json_value.h:130
Immutable cryptographic account descriptor.
Definition jtx/Account.h:17
json::Value rate(Account const &account, double multiplier)
Set a transfer rate.
Definition rate.cpp:15
XRPL_NO_SANITIZE_ADDRESS void Throw(Args &&... args)
Definition contract.h:49