1#ifndef XRPL_TEST_JTX_MULTISIGN_H_INCLUDED
2#define XRPL_TEST_JTX_MULTISIGN_H_INCLUDED
4#include <test/jtx/Account.h>
5#include <test/jtx/SignerUtils.h>
6#include <test/jtx/amount.h>
7#include <test/jtx/owners.h>
8#include <test/jtx/tags.h>
67 :
msig{&subField_, signers_}
75 template <
class AccountType,
class... Accounts>
77 explicit msig(
SField const* subField_, AccountType&& a0, Accounts&&... aN)
86 template <
class AccountType,
class... Accounts>
88 explicit msig(
SField const& subField_, AccountType&& a0, Accounts&&... aN)
97 template <
class AccountType,
class... Accounts>
101 explicit msig(AccountType&& a0, Accounts&&... aN)
111 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)