xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
test
jtx
paychan.h
1
#pragma once
2
3
#include <test/jtx/Account.h>
4
5
#include <xrpl/basics/Buffer.h>
6
#include <xrpl/basics/Slice.h>
7
#include <xrpl/basics/base_uint.h>
8
#include <xrpl/basics/chrono.h>
9
#include <xrpl/json/json_value.h>
10
#include <xrpl/ledger/ReadView.h>
11
#include <xrpl/protocol/AccountID.h>
12
#include <xrpl/protocol/PublicKey.h>
13
#include <xrpl/protocol/STAmount.h>
14
#include <xrpl/protocol/SecretKey.h>
15
16
#include <
cstdint
>
17
#include <
optional
>
18
22
namespace
xrpl::test::jtx::paychan
{
23
24
json::Value
25
create
(
26
AccountID
const
& account,
27
AccountID
const
& to,
28
STAmount
const
& amount,
29
NetClock::duration
const
& settleDelay,
30
PublicKey
const
& pk,
31
std::optional<NetClock::time_point>
const
& cancelAfter = std::nullopt,
32
std::optional<std::uint32_t>
const
& dstTag = std::nullopt);
33
34
inline
json::Value
35
create
(
36
Account
const
& account,
37
Account
const
& to,
38
STAmount
const
& amount,
39
NetClock::duration
const
& settleDelay,
40
PublicKey
const
& pk,
41
std::optional<NetClock::time_point>
const
& cancelAfter = std::nullopt,
42
std::optional<std::uint32_t>
const
& dstTag = std::nullopt)
43
{
44
return
create
(account.id(), to.
id
(), amount, settleDelay, pk, cancelAfter, dstTag);
45
}
46
47
json::Value
48
fund
(
49
AccountID
const
& account,
50
uint256
const
&
channel
,
51
STAmount
const
& amount,
52
std::optional<NetClock::time_point>
const
& expiration = std::nullopt);
53
54
json::Value
55
claim
(
56
AccountID
const
& account,
57
uint256
const
&
channel
,
58
std::optional<STAmount>
const
& balance = std::nullopt,
59
std::optional<STAmount>
const
& amount = std::nullopt,
60
std::optional<Slice>
const
& signature = std::nullopt,
61
std::optional<PublicKey>
const
& pk = std::nullopt);
62
63
uint256
64
channel
(
AccountID
const
& account,
AccountID
const
& dst,
std::uint32_t
seqProxyValue);
65
66
inline
uint256
67
channel
(
Account
const
& account,
Account
const
& dst,
std::uint32_t
seqProxyValue)
68
{
69
return
channel
(account.id(), dst.
id
(), seqProxyValue);
70
}
71
72
STAmount
73
channelBalance
(
ReadView
const
& view,
uint256
const
& chan);
74
75
STAmount
76
channelAmount
(
ReadView
const
& view,
uint256
const
& chan);
77
78
bool
79
channelExists
(
ReadView
const
& view,
uint256
const
& chan);
80
81
Buffer
82
signClaimAuth
(
83
PublicKey
const
& pk,
84
SecretKey
const
& sk,
85
uint256
const
&
channel
,
86
STAmount
const
& authAmt);
87
88
}
// namespace xrpl::test::jtx::paychan
json::Value
Represents a JSON value.
Definition
json_value.h:117
xrpl::Buffer
Like std::vector<char> but better.
Definition
Buffer.h:19
xrpl::NetClock::duration
std::chrono::duration< rep, period > duration
Definition
chrono.h:47
xrpl::PublicKey
A public key.
Definition
PublicKey.h:53
xrpl::ReadView
A view into a ledger.
Definition
ReadView.h:41
xrpl::STAmount
Definition
STAmount.h:46
xrpl::SecretKey
A secret key.
Definition
SecretKey.h:24
xrpl::test::jtx::Account
Immutable cryptographic account descriptor.
Definition
jtx/Account.h:21
xrpl::test::jtx::Account::id
AccountID id() const
Returns the Account ID.
Definition
jtx/Account.h:104
cstdint
std::uint32_t
xrpl::test::jtx::paychan
Paychan operations.
Definition
paychan.cpp:28
xrpl::test::jtx::paychan::fund
json::Value fund(AccountID const &account, uint256 const &channel, STAmount const &amount, std::optional< NetClock::time_point > const &expiration)
Definition
paychan.cpp:55
xrpl::test::jtx::paychan::channelBalance
STAmount channelBalance(ReadView const &view, uint256 const &chan)
Definition
paychan.cpp:104
xrpl::test::jtx::paychan::create
json::Value create(AccountID const &account, AccountID const &to, STAmount const &amount, NetClock::duration const &settleDelay, PublicKey const &pk, std::optional< NetClock::time_point > const &cancelAfter, std::optional< std::uint32_t > const &dstTag)
Definition
paychan.cpp:31
xrpl::test::jtx::paychan::channel
uint256 channel(AccountID const &account, AccountID const &dst, std::uint32_t seqProxyValue)
Definition
paychan.cpp:96
xrpl::test::jtx::paychan::claim
json::Value claim(AccountID const &account, uint256 const &channel, std::optional< STAmount > const &balance, std::optional< STAmount > const &amount, std::optional< Slice > const &signature, std::optional< PublicKey > const &pk)
Definition
paychan.cpp:72
xrpl::test::jtx::paychan::channelAmount
STAmount channelAmount(ReadView const &view, uint256 const &chan)
Definition
paychan.cpp:113
xrpl::test::jtx::paychan::channelExists
bool channelExists(ReadView const &view, uint256 const &chan)
Definition
paychan.cpp:122
xrpl::test::jtx::paychan::signClaimAuth
Buffer signClaimAuth(PublicKey const &pk, SecretKey const &sk, uint256 const &channel, STAmount const &authAmt)
Definition
paychan.cpp:129
xrpl::AccountID
BaseUInt< 160, detail::AccountIDTag > AccountID
A 160-bit unsigned that uniquely identifies an account.
Definition
AccountID.h:34
xrpl::uint256
UInt256 uint256
Definition
base_uint.h:586
optional
Generated by
1.17.0