20#ifndef RIPPLE_TEST_JTX_XCHAINBRIDGE_H_INCLUDED
21#define RIPPLE_TEST_JTX_XCHAINBRIDGE_H_INCLUDED
23#include <test/jtx/Account.h>
24#include <test/jtx/amount.h>
25#include <test/jtx/multisign.h>
27#include <xrpl/json/json_value.h>
28#include <xrpl/protocol/SField.h>
29#include <xrpl/protocol/XChainAttestations.h>
42 Account const& lockingChainDoor,
43 Issue const& lockingChainIssue,
44 Account const& issuingChainDoor,
45 Issue const& issuingChainIssue);
66 Account const& otherChainSource);
106 bool wasLockingChainSend,
119 bool wasLockingChainSend,
131 bool wasLockingChainSend,
146 bool wasLockingChainSend,
A currency issued by an account.
Immutable cryptographic account descriptor.
A transaction testing environment.
Converts to IOU Issue or STAmount.
constexpr std::size_t UT_XCHAIN_DEFAULT_QUORUM
Json::Value create_account_attestation(jtx::Account const &submittingAccount, Json::Value const &jvBridge, jtx::Account const &sendingAccount, jtx::AnyAmount const &sendingAmount, jtx::AnyAmount const &rewardAmount, jtx::Account const &rewardAccount, bool wasLockingChainSend, std::uint64_t createCount, jtx::Account const &dst, jtx::signer const &signer)
JValueVec claim_attestations(jtx::Account const &submittingAccount, Json::Value const &jvBridge, jtx::Account const &sendingAccount, jtx::AnyAmount const &sendingAmount, std::vector< jtx::Account > const &rewardAccounts, bool wasLockingChainSend, std::uint64_t claimID, std::optional< jtx::Account > const &dst, std::vector< jtx::signer > const &signers, std::size_t const numAtts, std::size_t const fromIdx)
Json::Value bridge_create(Account const &acc, Json::Value const &bridge, STAmount const &reward, std::optional< STAmount > const &minAccountCreate)
Json::Value claim_attestation(jtx::Account const &submittingAccount, Json::Value const &jvBridge, jtx::Account const &sendingAccount, jtx::AnyAmount const &sendingAmount, jtx::Account const &rewardAccount, bool wasLockingChainSend, std::uint64_t claimID, std::optional< jtx::Account > const &dst, jtx::signer const &signer)
Json::Value bridge(Account const &lockingChainDoor, Issue const &lockingChainIssue, Account const &issuingChainDoor, Issue const &issuingChainIssue)
Json::Value signers(Account const &account, std::uint32_t quorum, std::vector< signer > const &v)
Json::Value sidechain_xchain_account_claim(Account const &acc, Json::Value const &bridge, Account const &dst, AnyAmount const &amt)
Json::Value sidechain_xchain_account_create(Account const &acc, Json::Value const &bridge, Account const &dst, AnyAmount const &amt, AnyAmount const &reward)
Json::Value xchain_claim(Account const &acc, Json::Value const &bridge, std::uint32_t claimID, AnyAmount const &amt, Account const &dst)
constexpr std::size_t UT_XCHAIN_DEFAULT_NUM_SIGNERS
JValueVec create_account_attestations(jtx::Account const &submittingAccount, Json::Value const &jvBridge, jtx::Account const &sendingAccount, jtx::AnyAmount const &sendingAmount, jtx::AnyAmount const &rewardAmount, std::vector< jtx::Account > const &rewardAccounts, bool wasLockingChainSend, std::uint64_t createCount, jtx::Account const &dst, std::vector< jtx::signer > const &signers, std::size_t const numAtts, std::size_t const fromIdx)
Json::Value xchain_create_claim_id(Account const &acc, Json::Value const &bridge, STAmount const &reward, Account const &otherChainSource)
Json::Value bridge_modify(Account const &acc, Json::Value const &bridge, std::optional< STAmount > const &reward, std::optional< STAmount > const &minAccountCreate)
Json::Value xchain_commit(Account const &acc, Json::Value const &bridge, std::uint32_t claimID, AnyAmount const &amt, std::optional< Account > const &dst)
XRP_t const XRP
Converts to XRP Issue or STAmount.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Amount specifier with an option for any issuer.
void createScBridgeObjects(Env &scEnv)
STAmount const tiny_reward_split
JValueVec att_create_acct_vec(std::uint64_t createCount, jtx::AnyAmount const &amt, jtx::Account const &dst, std::size_t const numAtts, std::size_t const fromIdx=0)
void createMcBridgeObjects(Env &mcEnv)
std::vector< Account > const payee
STAmount const tiny_reward
std::uint32_t const quorum
std::vector< signer > const alt_signers
static constexpr int drop_per_xrp
Json::Value create_bridge(Account const &acc, Json::Value const &bridge=Json::nullValue, STAmount const &_reward=XRP(1), std::optional< STAmount > const &minAccountCreate=std::nullopt)
STAmount const split_reward_everyone
STAmount const tiny_reward_remainder
std::vector< Account > const payees
FeatureBitset const features
std::vector< signer > const signers
void createBridgeObjects(Env &mcEnv, Env &scEnv)
STAmount const split_reward_quorum
Json::Value const jvXRPBridgeRPC
A signer in a SignerList.