20#ifndef RIPPLE_TEST_JTX_MULTISIGN_H_INCLUDED
21#define RIPPLE_TEST_JTX_MULTISIGN_H_INCLUDED
23#include <test/jtx/Account.h>
24#include <test/jtx/SignerUtils.h>
25#include <test/jtx/amount.h>
26#include <test/jtx/owners.h>
27#include <test/jtx/tags.h>
86 :
msig{&subField_, signers_}
94 template <
class AccountType,
class... Accounts>
96 explicit msig(
SField const* subField_, AccountType&& a0, Accounts&&... aN)
105 template <
class AccountType,
class... Accounts>
107 explicit msig(
SField const& subField_, AccountType&& a0, Accounts&&... aN)
116 template <
class AccountType,
class... Accounts>
120 explicit msig(AccountType&& a0, Accounts&&... aN)
130 operator()(
Env&,
JTx& jt)
const;
Immutable cryptographic account descriptor.
A transaction testing environment.
Set a multisignature on a JTx.
msig(AccountType &&a0, Accounts &&... aN)
SField const *const subField
Alternative transaction object field in which to place the signer list.
msig(SField const *subField_, std::vector< Reg > signers_)
msig(SField const &subField_, AccountType &&a0, Accounts &&... aN)
msig(SField const &subField_, std::vector< Reg > signers_)
msig(SField const *subField_, AccountType &&a0, Accounts &&... aN)
static constexpr SField *const topLevel
Used solely as a convenience placeholder for ctors that do not specify a subfield.
msig(std::vector< Reg > signers_)
std::vector< Reg > signers
Json::Value signers(Account const &account, std::uint32_t quorum, std::vector< signer > const &v)
void sortSigners(std::vector< Reg > &signers)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Execution context for applying a JSON transaction.
A signer in a SignerList.
std::optional< uint256 > tag
signer(Account account_, std::uint32_t weight_=1, std::optional< uint256 > tag_=std::nullopt)