xrpld
Loading...
Searching...
No Matches
escrow.h
1#pragma once
2
3#include <test/jtx/Account.h>
4#include <test/jtx/Env.h>
5#include <test/jtx/TestHelpers.h>
6
7#include <xrpl/json/json_value.h>
8#include <xrpl/protocol/AccountID.h>
9#include <xrpl/protocol/Rate.h>
10#include <xrpl/protocol/SField.h>
11#include <xrpl/protocol/STAmount.h>
12
13#include <array>
14#include <cstdint>
15
20
22create(AccountID const& account, AccountID const& to, STAmount const& amount);
23
24inline json::Value
25create(Account const& account, Account const& to, STAmount const& amount)
26{
27 return create(account.id(), to.id(), amount);
28}
29
31finish(AccountID const& account, AccountID const& from, std::uint32_t seq);
32
33inline json::Value
34finish(Account const& account, Account const& from, std::uint32_t seq)
35{
36 return finish(account.id(), from.id(), seq);
37}
38
40cancel(AccountID const& account, Account const& from, std::uint32_t seq);
41
42inline json::Value
43cancel(Account const& account, Account const& from, std::uint32_t seq)
44{
45 return cancel(account.id(), from, seq);
46}
47
48Rate
49rate(Env& env, Account const& account, std::uint32_t const& seq);
50
51// A PreimageSha256 fulfillments and its associated kCondition.
52std::array<std::uint8_t, 4> const kFb1 = {{0xA0, 0x02, 0x80, 0x00}};
53
55 {0xA0, 0x25, 0x80, 0x20, 0xE3, 0xB0, 0xC4, 0x42, 0x98, 0xFC, 0x1C, 0x14, 0x9A,
56 0xFB, 0xF4, 0xC8, 0x99, 0x6F, 0xB9, 0x24, 0x27, 0xAE, 0x41, 0xE4, 0x64, 0x9B,
57 0x93, 0x4C, 0xA4, 0x95, 0x99, 0x1B, 0x78, 0x52, 0xB8, 0x55, 0x81, 0x01, 0x00}};
58
59// Another PreimageSha256 fulfillments and its associated kCondition.
60std::array<std::uint8_t, 7> const kFb2 = {{0xA0, 0x05, 0x80, 0x03, 0x61, 0x61, 0x61}};
61
63 {0xA0, 0x25, 0x80, 0x20, 0x98, 0x34, 0x87, 0x6D, 0xCF, 0xB0, 0x5C, 0xB1, 0x67,
64 0xA5, 0xC2, 0x49, 0x53, 0xEB, 0xA5, 0x8C, 0x4A, 0xC8, 0x9B, 0x1A, 0xDF, 0x57,
65 0xF2, 0x8F, 0x2F, 0x9D, 0x09, 0xAF, 0x10, 0x7E, 0xE8, 0xF0, 0x81, 0x01, 0x03}};
66
67// Another PreimageSha256 kFulfillment and its associated kCondition.
68std::array<std::uint8_t, 8> const kFb3 = {{0xA0, 0x06, 0x80, 0x04, 0x6E, 0x69, 0x6B, 0x62}};
69
71 {0xA0, 0x25, 0x80, 0x20, 0x6E, 0x4C, 0x71, 0x45, 0x30, 0xC0, 0xA4, 0x26, 0x8B,
72 0x3F, 0xA6, 0x3B, 0x1B, 0x60, 0x6F, 0x2D, 0x26, 0x4A, 0x2D, 0x85, 0x7B, 0xE8,
73 0xA0, 0x9C, 0x1D, 0xFD, 0x57, 0x0D, 0x15, 0x85, 0x8B, 0xD4, 0x81, 0x01, 0x04}};
74
78auto const kFinishTime = JTxFieldWrapper<TimePointField>(sfFinishAfter);
79
83auto const kCancelTime = JTxFieldWrapper<TimePointField>(sfCancelAfter);
84
85auto const kCondition = JTxFieldWrapper<BlobField>(sfCondition);
86
87auto const kFulfillment = JTxFieldWrapper<BlobField>(sfFulfillment);
88
89} // namespace xrpl::test::jtx::escrow
Represents a JSON value.
Definition json_value.h:117
Immutable cryptographic account descriptor.
Definition jtx/Account.h:21
AccountID id() const
Returns the Account ID.
A transaction testing environment.
Definition Env.h:161
Escrow operations.
Definition escrow.h:19
json::Value create(AccountID const &account, AccountID const &to, STAmount const &amount)
Definition escrow.cpp:24
json::Value cancel(AccountID const &account, Account const &from, std::uint32_t seq)
Definition escrow.cpp:48
auto const kCondition
Definition escrow.h:85
auto const kCancelTime
Set the "CancelAfter" time tag on a JTx.
Definition escrow.h:83
Rate rate(Env &env, Account const &account, std::uint32_t const &seq)
Definition escrow.cpp:60
auto const kFinishTime
Set the "FinishAfter" time tag on a JTx.
Definition escrow.h:78
std::array< std::uint8_t, 8 > const kFb3
Definition escrow.h:68
std::array< std::uint8_t, 7 > const kFb2
Definition escrow.h:60
std::array< std::uint8_t, 39 > const kCb2
Definition escrow.h:62
auto const kFulfillment
Definition escrow.h:87
json::Value finish(AccountID const &account, AccountID const &from, std::uint32_t seq)
Definition escrow.cpp:36
std::array< std::uint8_t, 4 > const kFb1
Definition escrow.h:52
std::array< std::uint8_t, 39 > const kCb1
Definition escrow.h:54
std::array< std::uint8_t, 39 > const kCb3
Definition escrow.h:70
BaseUInt< 160, detail::AccountIDTag > AccountID
A 160-bit unsigned that uniquely identifies an account.
Definition AccountID.h:34
Represents a transfer rate.
Definition Rate.h:21