3#include <test/jtx/Account.h>
4#include <test/jtx/SignerUtils.h>
5#include <test/jtx/amount.h>
6#include <test/jtx/owners.h>
7#include <test/jtx/tags.h>
66 template <
class AccountType,
class... Accounts>
68 explicit msig(
SField const* subField_, AccountType&& a0, Accounts&&... aN)
73 template <
class AccountType,
class... Accounts>
75 explicit msig(
SField const& subField_, AccountType&& a0, Accounts&&... aN)
80 template <
class AccountType,
class... Accounts>
82 explicit msig(AccountType&& a0, Accounts&&... aN)
88 operator()(
Env&,
JTx& jt)
const;
Immutable cryptographic account descriptor.
A transaction testing environment.
Set a multisignature on a JTx.
msig(SField const *subField_, std::vector< Reg > signers_)
msig(SField const &subField_, std::vector< Reg > signers_)
msig(AccountType &&a0, Accounts &&... aN)
msig(std::vector< Reg > signers_)
static constexpr SField *const topLevel
Used solely as a convenience placeholder for ctors that do not specify a subfield.
SField const *const subField
Alternative transaction object field in which to place the signer list.
msig(SField const *subField_, AccountType &&a0, Accounts &&... aN)
std::vector< Reg > signers
msig(SField const &subField_, AccountType &&a0, Accounts &&... aN)
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.
signer(Account account_, std::uint32_t weight_=1, std::optional< uint256 > tag_=std::nullopt)
std::optional< uint256 > tag