xrpld
Loading...
Searching...
No Matches
vault.h
1#pragma once
2
3#include <test/jtx/Account.h>
4#include <test/jtx/amount.h>
5
6#include <xrpl/basics/base_uint.h>
7#include <xrpl/json/json_value.h>
8#include <xrpl/protocol/Asset.h>
9#include <xrpl/protocol/Keylet.h>
10
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)
28 };
29
32 create(CreateArgs const& args) const;
33
34 struct SetArgs
35 {
38 };
39
40 static json::Value
41 set(SetArgs const& args);
42
48
49 static json::Value
50 del(DeleteArgs const& args);
51
58
59 static json::Value
60 deposit(DepositArgs const& args);
61
68
69 static json::Value
70 withdraw(WithdrawArgs const& args);
71
73 {
77 std::optional<STAmount> amount = std::nullopt; // NOLINT(readability-redundant-member-init)
78 };
79
80 static json::Value
81 clawback(ClawbackArgs const& args);
82};
83
84} // namespace xrpl::test::jtx
Represents a JSON value.
Definition json_value.h:130
Immutable cryptographic account descriptor.
Definition jtx/Account.h:17
A transaction testing environment.
Definition Env.h:143
BaseUInt< 256 > uint256
Definition base_uint.h:562
std::optional< STAmount > amount
Definition vault.h:77
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:20
static json::Value withdraw(WithdrawArgs const &args)
Definition vault.cpp:64
static json::Value del(DeleteArgs const &args)
Definition vault.cpp:43
static json::Value clawback(ClawbackArgs const &args)
Definition vault.cpp:75
static json::Value set(SetArgs const &args)
Definition vault.cpp:33
static json::Value deposit(DepositArgs const &args)
Definition vault.cpp:53