xrpld
Loading...
Searching...
No Matches
vault.h
1#pragma once
2
3#include <test/jtx/Account.h>
4
5#include <xrpl/basics/base_uint.h>
6#include <xrpl/json/json_value.h>
7#include <xrpl/protocol/Asset.h>
8#include <xrpl/protocol/Keylet.h>
9
10#include <cstdint>
11#include <optional>
12#include <tuple>
13
14namespace xrpl::test::jtx {
15
16class Env;
17
18struct Vault
19{
21
23 {
27 std::nullopt; // NOLINT(readability-redundant-member-init)
29 std::nullopt; // NOLINT(readability-redundant-member-init)
31 std::nullopt; // NOLINT(readability-redundant-member-init)
33 std::nullopt; // NOLINT(readability-redundant-member-init)
34 };
35
40 create(CreateArgs const& args) const;
41
42 struct SetArgs
43 {
46 };
47
48 static json::Value
49 set(SetArgs const& args);
50
56
57 static json::Value
58 del(DeleteArgs const& args);
59
66
67 static json::Value
68 deposit(DepositArgs const& args);
69
76
77 static json::Value
78 withdraw(WithdrawArgs const& args);
79
81 {
85 std::optional<STAmount> amount = std::nullopt; // NOLINT(readability-redundant-member-init)
86 };
87
88 static json::Value
89 clawback(ClawbackArgs const& args);
90};
91
92} // namespace xrpl::test::jtx
Represents a JSON value.
Definition json_value.h:117
Immutable cryptographic account descriptor.
Definition jtx/Account.h:21
A transaction testing environment.
Definition Env.h:161
BaseUInt< 256 > uint256
Definition base_uint.h:580
std::optional< STAmount > amount
Definition vault.h:85
std::optional< std::uint8_t > vaultKind
Definition vault.h:28
std::optional< std::uint32_t > subscriptionDate
Definition vault.h:30
std::optional< std::uint32_t > redemptionDate
Definition vault.h:32
std::optional< std::uint32_t > flags
Definition vault.h:26
std::tuple< json::Value, Keylet > create(CreateArgs const &args) const
Return a VaultCreate transaction and the Vault's expected keylet.
Definition vault.cpp:21
static json::Value withdraw(WithdrawArgs const &args)
Definition vault.cpp:72
static json::Value del(DeleteArgs const &args)
Definition vault.cpp:51
static json::Value clawback(ClawbackArgs const &args)
Definition vault.cpp:83
static json::Value set(SetArgs const &args)
Definition vault.cpp:41
static json::Value deposit(DepositArgs const &args)
Definition vault.cpp:61