rippled
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
ripple::test::XChain_test Struct Reference
Inheritance diagram for ripple::test::XChain_test:
Inheritance graph
[legend]
Collaboration diagram for ripple::test::XChain_test:
Collaboration graph
[legend]

Public Member Functions

XRPAmount reserve (std::uint32_t count)
 
XRPAmount txFee ()
 
void testXChainBridgeExtraFields ()
 
void testXChainCreateBridge ()
 
void testXChainBridgeCreateConstraints ()
 
void testXChainCreateBridgeMatrix ()
 
void testXChainModifyBridge ()
 
void testXChainCreateClaimID ()
 
void testXChainCommit ()
 
void testXChainAddAttestation ()
 
void testXChainAddClaimNonBatchAttestation ()
 
void testXChainAddAccountCreateNonBatchAttestation ()
 
void testXChainClaim ()
 
void testXChainCreateAccount ()
 
void testFeeDipsIntoReserve ()
 
void testXChainDeleteDoor ()
 
void testBadPublicKey ()
 
void run () override
 Runs the suite.
 
template<class = void>
void operator() (runner &r)
 Invokes the test using the specified runner.
 
template<class = void>
void pass ()
 Record a successful test condition.
 
template<class F , class String >
bool except (F &&f, String const &reason)
 
template<class F >
bool except (F &&f)
 
template<class E , class F , class String >
bool except (F &&f, String const &reason)
 
template<class E , class F >
bool except (F &&f)
 
template<class F , class String >
bool unexcept (F &&f, String const &reason)
 
template<class F >
bool unexcept (F &&f)
 
std::string const & arg () const
 Return the argument associated with the runner.
 
template<class Condition , class String >
bool unexpected (Condition shouldBeFalse, String const &reason)
 
template<class Condition >
bool unexpected (Condition shouldBeFalse)
 
void createMcBridgeObjects (Env &mcEnv)
 
void createScBridgeObjects (Env &scEnv)
 
void createBridgeObjects (Env &mcEnv, Env &scEnv)
 
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)
 
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)
 
template<class String >
void fail (String const &reason, char const *file, int line)
 Record a failure.
 
template<class = void>
void fail (std::string const &reason="")
 
template<class Condition >
bool expect (Condition const &shouldBeTrue)
 Evaluate a test condition.
 
template<class Condition , class String >
bool expect (Condition const &shouldBeTrue, String const &reason)
 
template<class Condition >
bool expect (Condition const &shouldBeTrue, char const *file, int line)
 
template<class Condition , class String >
bool expect (Condition const &shouldBeTrue, String const &reason, char const *file, int line)
 

Static Public Member Functions

static suitethis_suite ()
 Returns the "current" running suite.
 

Public Attributes

log_os< char > log
 Logging output stream.
 
testcase_t testcase
 Memberspace for declaring test cases.
 
Account const mcDoor
 
Account const mcAlice
 
Account const mcBob
 
Account const mcCarol
 
Account const mcGw
 
Account const scDoor
 
Account const scAlice
 
Account const scBob
 
Account const scCarol
 
Account const scGw
 
Account const scAttester
 
Account const scReward
 
Account const mcuDoor
 
Account const mcuAlice
 
Account const mcuBob
 
Account const mcuCarol
 
Account const mcuGw
 
Account const scuDoor
 
Account const scuAlice
 
Account const scuBob
 
Account const scuCarol
 
Account const scuGw
 
IOU const mcUSD
 
IOU const scUSD
 
Json::Value const jvXRPBridgeRPC
 
Json::Value jvb
 
Json::Value jvub
 
FeatureBitset const features
 
std::vector< signer > const signers
 
std::vector< signer > const alt_signers
 
std::vector< Account > const payee
 
std::vector< Account > const payees
 
std::uint32_t const quorum
 
STAmount const reward
 
STAmount const split_reward_quorum
 
STAmount const split_reward_everyone
 
STAmount const tiny_reward
 
STAmount const tiny_reward_split
 
STAmount const tiny_reward_remainder
 
STAmount const one_xrp
 
STAmount const xrp_dust
 

Static Public Attributes

static constexpr int drop_per_xrp = 1000000
 

Private Member Functions

void propagate_abort ()
 

Static Private Member Functions

static suite ** p_this_suite ()
 

Private Attributes

bool abort_ = false
 
bool aborted_ = false
 
runner * runner_ = nullptr
 

Detailed Description

Definition at line 363 of file XChain_test.cpp.

Member Function Documentation

◆ reserve()

XRPAmount ripple::test::XChain_test::reserve ( std::uint32_t  count)

Definition at line 367 of file XChain_test.cpp.

◆ txFee()

XRPAmount ripple::test::XChain_test::txFee ( )

Definition at line 373 of file XChain_test.cpp.

◆ testXChainBridgeExtraFields()

void ripple::test::XChain_test::testXChainBridgeExtraFields ( )

Definition at line 379 of file XChain_test.cpp.

◆ testXChainCreateBridge()

void ripple::test::XChain_test::testXChainCreateBridge ( )

Definition at line 410 of file XChain_test.cpp.

◆ testXChainBridgeCreateConstraints()

void ripple::test::XChain_test::testXChainBridgeCreateConstraints ( )

Bridge create constraints tests.

Define the door's bridge asset collection as the collection of all the issuing assets for which the door account is on the issuing chain and all the locking assets for which the door account is on the locking chain. (note: a door account can simultaneously be on an issuing and locking chain). A new bridge is not a duplicate as long as the new bridge asset collection does not contain any duplicate currencies (even if the issuers differ).

Create bridges:

| Owner | Locking | Issuing | Comment | | a1 | a1 USD/GW | USD/B | |

a2 a2 USD/GW USD/B Same locking & issuing assets
a3 a3 USD/GW USD/a4
a4 a4 USD/GW USD/a4 Same bridge, different accounts
B A USD/GW USD/B
B A EUR/GW USD/B Fail: Same issuing asset
A A USD/B USD/C
A A USD/B EUR/B Fail: Same locking asset
A A USD/C EUR/B Fail: Same locking asset currency
A A USD/GW USD/B Fail: Same bridge not allowed
A B USD/GW USD/A Fail: "A" has USD already
B A EUR/GW USD/B Fail:

Note that, now from sidechain's point of view, A is both a local locking door and a foreign locking door on different bridges. Txns such as commits specify bridge spec, but not the local door account. So we test the transactors can figure out the correct local door account from bridge spec.

Commit to sidechain door accounts: | bridge spec | result case 6 | A -> B | B's balance increase case 7 | C <- A | A's balance increase

We also test ModifyBridge txns modify correct bridges.

Definition at line 533 of file XChain_test.cpp.

◆ testXChainCreateBridgeMatrix()

void ripple::test::XChain_test::testXChainCreateBridgeMatrix ( )

Definition at line 664 of file XChain_test.cpp.

◆ testXChainModifyBridge()

void ripple::test::XChain_test::testXChainModifyBridge ( )

test tfClearAccountCreateAmount flag in BridgeModify tx – tx has both minAccountCreateAmount and the flag, temMALFORMED – tx has the flag and also modifies signature reward, tesSUCCESS – XChainCreateAccountCommit tx fail after previous step

Definition at line 956 of file XChain_test.cpp.

◆ testXChainCreateClaimID()

void ripple::test::XChain_test::testXChainCreateClaimID ( )

Definition at line 1263 of file XChain_test.cpp.

◆ testXChainCommit()

void ripple::test::XChain_test::testXChainCommit ( )

Definition at line 1353 of file XChain_test.cpp.

◆ testXChainAddAttestation()

void ripple::test::XChain_test::testXChainAddAttestation ( )

Definition at line 1489 of file XChain_test.cpp.

◆ testXChainAddClaimNonBatchAttestation()

void ripple::test::XChain_test::testXChainAddClaimNonBatchAttestation ( )

sfAttestationSignerAccount related cases.

Good cases: –G1: master key –G2: regular key –G3: public key and non-exist (unfunded) account match

Bad cases: –B1: disabled master key –B2: single item signer list –B3: public key and non-exist (unfunded) account mismatch –B4: not on signer list –B5: missing sfAttestationSignerAccount field

Definition at line 2362 of file XChain_test.cpp.

◆ testXChainAddAccountCreateNonBatchAttestation()

void ripple::test::XChain_test::testXChainAddAccountCreateNonBatchAttestation ( )

Definition at line 2592 of file XChain_test.cpp.

◆ testXChainClaim()

void ripple::test::XChain_test::testXChainClaim ( )

Definition at line 2667 of file XChain_test.cpp.

◆ testXChainCreateAccount()

void ripple::test::XChain_test::testXChainCreateAccount ( )

Definition at line 3923 of file XChain_test.cpp.

◆ testFeeDipsIntoReserve()

void ripple::test::XChain_test::testFeeDipsIntoReserve ( )

Definition at line 4088 of file XChain_test.cpp.

◆ testXChainDeleteDoor()

void ripple::test::XChain_test::testXChainDeleteDoor ( )

Definition at line 4138 of file XChain_test.cpp.

◆ testBadPublicKey()

void ripple::test::XChain_test::testBadPublicKey ( )

Definition at line 4188 of file XChain_test.cpp.

◆ run()

void ripple::test::XChain_test::run ( )
overridevirtual

Runs the suite.

Implements beast::unit_test::suite.

Definition at line 4255 of file XChain_test.cpp.

◆ this_suite()

static suite * beast::unit_test::suite::this_suite ( )
staticinherited

Returns the "current" running suite.

If no suite is running, nullptr is returned.

Definition at line 158 of file suite.h.

◆ operator()()

template<class >
void beast::unit_test::suite::operator() ( runner r)
inherited

Invokes the test using the specified runner.

Data members are set up here instead of the constructor as a convenience to writing the derived class to avoid repetition of forwarded constructor arguments to the base. Normally this is called by the framework for you.

Definition at line 396 of file suite.h.

◆ pass()

template<class >
void beast::unit_test::suite::pass ( )
inherited

Record a successful test condition.

Definition at line 508 of file suite.h.

◆ fail() [1/2]

template<class String >
void beast::unit_test::suite::fail ( String const &  reason,
char const *  file,
int  line 
)
inherited

Record a failure.

Parameters
reasonOptional text added to the output on a failure.
fileThe source code file where the test failed.
lineThe source code line number where the test failed.

Definition at line 530 of file suite.h.

◆ fail() [2/2]

template<class >
void beast::unit_test::suite::fail ( std::string const &  reason = "")
inherited

Definition at line 517 of file suite.h.

◆ expect() [1/4]

template<class Condition >
bool beast::unit_test::suite::expect ( Condition const &  shouldBeTrue)
inherited

Evaluate a test condition.

This function provides improved logging by incorporating the file name and line number into the reported output on failure, as well as additional text specified by the caller.

Parameters
shouldBeTrueThe condition to test. The condition is evaluated in a boolean context.
reasonOptional added text to output on a failure.
fileThe source code file where the test failed.
lineThe source code line number where the test failed.
Returns
true if the test condition indicates success.

Definition at line 226 of file suite.h.

◆ expect() [2/4]

template<class Condition , class String >
bool beast::unit_test::suite::expect ( Condition const &  shouldBeTrue,
String const &  reason 
)
inherited

Definition at line 413 of file suite.h.

◆ expect() [3/4]

template<class Condition >
bool beast::unit_test::suite::expect ( Condition const &  shouldBeTrue,
char const *  file,
int  line 
)
inherited

Definition at line 237 of file suite.h.

◆ expect() [4/4]

template<class Condition , class String >
bool beast::unit_test::suite::expect ( Condition const &  shouldBeTrue,
String const &  reason,
char const *  file,
int  line 
)
inherited

Definition at line 426 of file suite.h.

◆ except() [1/4]

template<class F , class String >
bool beast::unit_test::suite::except ( F &&  f,
String const &  reason 
)
inherited

Definition at line 445 of file suite.h.

◆ except() [2/4]

template<class F >
bool beast::unit_test::suite::except ( F &&  f)
inherited

Definition at line 260 of file suite.h.

◆ except() [3/4]

template<class E , class F , class String >
bool beast::unit_test::suite::except ( F &&  f,
String const &  reason 
)
inherited

Definition at line 462 of file suite.h.

◆ except() [4/4]

template<class E , class F >
bool beast::unit_test::suite::except ( F &&  f)
inherited

Definition at line 269 of file suite.h.

◆ unexcept() [1/2]

template<class F , class String >
bool beast::unit_test::suite::unexcept ( F &&  f,
String const &  reason 
)
inherited

Definition at line 479 of file suite.h.

◆ unexcept() [2/2]

template<class F >
bool beast::unit_test::suite::unexcept ( F &&  f)
inherited

Definition at line 278 of file suite.h.

◆ arg()

std::string const & beast::unit_test::suite::arg ( ) const
inherited

Return the argument associated with the runner.

Definition at line 285 of file suite.h.

◆ unexpected() [1/2]

template<class Condition , class String >
bool beast::unit_test::suite::unexpected ( Condition  shouldBeFalse,
String const &  reason 
)
inherited

Definition at line 496 of file suite.h.

◆ unexpected() [2/2]

template<class Condition >
bool beast::unit_test::suite::unexpected ( Condition  shouldBeFalse)
inherited

Definition at line 298 of file suite.h.

◆ p_this_suite()

static suite ** beast::unit_test::suite::p_this_suite ( )
staticprivateinherited

Definition at line 307 of file suite.h.

◆ propagate_abort()

void beast::unit_test::suite::propagate_abort ( )
privateinherited

Definition at line 536 of file suite.h.

◆ createMcBridgeObjects()

void ripple::test::jtx::XChainBridgeObjects::createMcBridgeObjects ( Env mcEnv)
inherited

Definition at line 447 of file xchain_bridge.cpp.

◆ createScBridgeObjects()

void ripple::test::jtx::XChainBridgeObjects::createScBridgeObjects ( Env scEnv)
inherited

Definition at line 464 of file xchain_bridge.cpp.

◆ createBridgeObjects()

void ripple::test::jtx::XChainBridgeObjects::createBridgeObjects ( Env mcEnv,
Env scEnv 
)
inherited

Definition at line 482 of file xchain_bridge.cpp.

◆ att_create_acct_vec()

JValueVec ripple::test::jtx::XChainBridgeObjects::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 
)
inherited

Definition at line 201 of file xchain_bridge.h.

◆ create_bridge()

Json::Value ripple::test::jtx::XChainBridgeObjects::create_bridge ( Account const &  acc,
Json::Value const &  bridge = Json::nullValue,
STAmount const &  _reward = XRP(1),
std::optional< STAmount > const &  minAccountCreate = std::nullopt 
)
inherited

Definition at line 224 of file xchain_bridge.h.

Member Data Documentation

◆ abort_

bool beast::unit_test::suite::abort_ = false
privateinherited

Definition at line 54 of file suite.h.

◆ aborted_

bool beast::unit_test::suite::aborted_ = false
privateinherited

Definition at line 55 of file suite.h.

◆ runner_

runner* beast::unit_test::suite::runner_ = nullptr
privateinherited

Definition at line 56 of file suite.h.

◆ log

log_os<char> beast::unit_test::suite::log
inherited

Logging output stream.

Text sent to the log output stream will be forwarded to the output stream associated with the runner.

Definition at line 149 of file suite.h.

◆ testcase

testcase_t beast::unit_test::suite::testcase
inherited

Memberspace for declaring test cases.

Definition at line 152 of file suite.h.

◆ mcDoor

Account const ripple::test::jtx::XChainBridgeObjects::mcDoor
inherited

Definition at line 137 of file xchain_bridge.h.

◆ mcAlice

Account const ripple::test::jtx::XChainBridgeObjects::mcAlice
inherited

Definition at line 138 of file xchain_bridge.h.

◆ mcBob

Account const ripple::test::jtx::XChainBridgeObjects::mcBob
inherited

Definition at line 139 of file xchain_bridge.h.

◆ mcCarol

Account const ripple::test::jtx::XChainBridgeObjects::mcCarol
inherited

Definition at line 140 of file xchain_bridge.h.

◆ mcGw

Account const ripple::test::jtx::XChainBridgeObjects::mcGw
inherited

Definition at line 141 of file xchain_bridge.h.

◆ scDoor

Account const ripple::test::jtx::XChainBridgeObjects::scDoor
inherited

Definition at line 142 of file xchain_bridge.h.

◆ scAlice

Account const ripple::test::jtx::XChainBridgeObjects::scAlice
inherited

Definition at line 143 of file xchain_bridge.h.

◆ scBob

Account const ripple::test::jtx::XChainBridgeObjects::scBob
inherited

Definition at line 144 of file xchain_bridge.h.

◆ scCarol

Account const ripple::test::jtx::XChainBridgeObjects::scCarol
inherited

Definition at line 145 of file xchain_bridge.h.

◆ scGw

Account const ripple::test::jtx::XChainBridgeObjects::scGw
inherited

Definition at line 146 of file xchain_bridge.h.

◆ scAttester

Account const ripple::test::jtx::XChainBridgeObjects::scAttester
inherited

Definition at line 147 of file xchain_bridge.h.

◆ scReward

Account const ripple::test::jtx::XChainBridgeObjects::scReward
inherited

Definition at line 148 of file xchain_bridge.h.

◆ mcuDoor

Account const ripple::test::jtx::XChainBridgeObjects::mcuDoor
inherited

Definition at line 151 of file xchain_bridge.h.

◆ mcuAlice

Account const ripple::test::jtx::XChainBridgeObjects::mcuAlice
inherited

Definition at line 152 of file xchain_bridge.h.

◆ mcuBob

Account const ripple::test::jtx::XChainBridgeObjects::mcuBob
inherited

Definition at line 153 of file xchain_bridge.h.

◆ mcuCarol

Account const ripple::test::jtx::XChainBridgeObjects::mcuCarol
inherited

Definition at line 154 of file xchain_bridge.h.

◆ mcuGw

Account const ripple::test::jtx::XChainBridgeObjects::mcuGw
inherited

Definition at line 155 of file xchain_bridge.h.

◆ scuDoor

Account const ripple::test::jtx::XChainBridgeObjects::scuDoor
inherited

Definition at line 156 of file xchain_bridge.h.

◆ scuAlice

Account const ripple::test::jtx::XChainBridgeObjects::scuAlice
inherited

Definition at line 157 of file xchain_bridge.h.

◆ scuBob

Account const ripple::test::jtx::XChainBridgeObjects::scuBob
inherited

Definition at line 158 of file xchain_bridge.h.

◆ scuCarol

Account const ripple::test::jtx::XChainBridgeObjects::scuCarol
inherited

Definition at line 159 of file xchain_bridge.h.

◆ scuGw

Account const ripple::test::jtx::XChainBridgeObjects::scuGw
inherited

Definition at line 160 of file xchain_bridge.h.

◆ mcUSD

IOU const ripple::test::jtx::XChainBridgeObjects::mcUSD
inherited

Definition at line 162 of file xchain_bridge.h.

◆ scUSD

IOU const ripple::test::jtx::XChainBridgeObjects::scUSD
inherited

Definition at line 163 of file xchain_bridge.h.

◆ jvXRPBridgeRPC

Json::Value const ripple::test::jtx::XChainBridgeObjects::jvXRPBridgeRPC
inherited

Definition at line 165 of file xchain_bridge.h.

◆ jvb

Json::Value ripple::test::jtx::XChainBridgeObjects::jvb
inherited

Definition at line 166 of file xchain_bridge.h.

◆ jvub

Json::Value ripple::test::jtx::XChainBridgeObjects::jvub
inherited

Definition at line 167 of file xchain_bridge.h.

◆ features

FeatureBitset const ripple::test::jtx::XChainBridgeObjects::features
inherited

Definition at line 169 of file xchain_bridge.h.

◆ signers

std::vector<signer> const ripple::test::jtx::XChainBridgeObjects::signers
inherited

Definition at line 170 of file xchain_bridge.h.

◆ alt_signers

std::vector<signer> const ripple::test::jtx::XChainBridgeObjects::alt_signers
inherited

Definition at line 171 of file xchain_bridge.h.

◆ payee

std::vector<Account> const ripple::test::jtx::XChainBridgeObjects::payee
inherited

Definition at line 172 of file xchain_bridge.h.

◆ payees

std::vector<Account> const ripple::test::jtx::XChainBridgeObjects::payees
inherited

Definition at line 173 of file xchain_bridge.h.

◆ quorum

std::uint32_t const ripple::test::jtx::XChainBridgeObjects::quorum
inherited

Definition at line 174 of file xchain_bridge.h.

◆ reward

STAmount const ripple::test::jtx::XChainBridgeObjects::reward
inherited

Definition at line 176 of file xchain_bridge.h.

◆ split_reward_quorum

STAmount const ripple::test::jtx::XChainBridgeObjects::split_reward_quorum
inherited

Definition at line 177 of file xchain_bridge.h.

◆ split_reward_everyone

STAmount const ripple::test::jtx::XChainBridgeObjects::split_reward_everyone
inherited

Definition at line 178 of file xchain_bridge.h.

◆ tiny_reward

STAmount const ripple::test::jtx::XChainBridgeObjects::tiny_reward
inherited

Definition at line 180 of file xchain_bridge.h.

◆ tiny_reward_split

STAmount const ripple::test::jtx::XChainBridgeObjects::tiny_reward_split
inherited

Definition at line 181 of file xchain_bridge.h.

◆ tiny_reward_remainder

STAmount const ripple::test::jtx::XChainBridgeObjects::tiny_reward_remainder
inherited

Definition at line 182 of file xchain_bridge.h.

◆ one_xrp

STAmount const ripple::test::jtx::XChainBridgeObjects::one_xrp
inherited

Definition at line 184 of file xchain_bridge.h.

◆ xrp_dust

STAmount const ripple::test::jtx::XChainBridgeObjects::xrp_dust
inherited

Definition at line 185 of file xchain_bridge.h.

◆ drop_per_xrp

constexpr int ripple::test::jtx::XChainBridgeObjects::drop_per_xrp = 1000000
staticconstexprinherited

Definition at line 187 of file xchain_bridge.h.