1#ifndef XRPL_TEST_JTX_XCHAINBRIDGE_H_INCLUDED 
    2#define XRPL_TEST_JTX_XCHAINBRIDGE_H_INCLUDED 
    4#include <test/jtx/Account.h> 
    5#include <test/jtx/amount.h> 
    6#include <test/jtx/multisign.h> 
    8#include <xrpl/json/json_value.h> 
    9#include <xrpl/protocol/SField.h> 
   10#include <xrpl/protocol/XChainAttestations.h> 
   23    Account const& lockingChainDoor,
 
   24    Issue const& lockingChainIssue,
 
   25    Account const& issuingChainDoor,
 
   26    Issue const& issuingChainIssue);
 
   47    Account const& otherChainSource);
 
   87    bool wasLockingChainSend,
 
  100    bool wasLockingChainSend,
 
  112    bool wasLockingChainSend,
 
  127    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.