rippled
Public Member Functions | Public Attributes | Static Public 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
 
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)
 

Public Attributes

const Account mcDoor
 
const Account mcAlice
 
const Account mcBob
 
const Account mcCarol
 
const Account mcGw
 
const Account scDoor
 
const Account scAlice
 
const Account scBob
 
const Account scCarol
 
const Account scGw
 
const Account scAttester
 
const Account scReward
 
const Account mcuDoor
 
const Account mcuAlice
 
const Account mcuBob
 
const Account mcuCarol
 
const Account mcuGw
 
const Account scuDoor
 
const Account scuAlice
 
const Account scuBob
 
const Account scuCarol
 
const Account scuGw
 
const IOU mcUSD
 
const IOU scUSD
 
const Json::Value jvXRPBridgeRPC
 
Json::Value jvb
 
Json::Value jvub
 
const FeatureBitset features
 
const std::vector< signersigners
 
const std::vector< signeralt_signers
 
const std::vector< Accountpayee
 
const std::vector< Accountpayees
 
const std::uint32_t quorum
 
const STAmount reward
 
const STAmount split_reward_quorum
 
const STAmount split_reward_everyone
 
const STAmount tiny_reward
 
const STAmount tiny_reward_split
 
const STAmount tiny_reward_remainder
 
const STAmount one_xrp
 
const STAmount xrp_dust
 

Static Public Attributes

static constexpr int drop_per_xrp = 1000000
 

Detailed Description

Definition at line 389 of file XChain_test.cpp.

Member Function Documentation

◆ reserve()

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

Definition at line 393 of file XChain_test.cpp.

◆ txFee()

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

Definition at line 399 of file XChain_test.cpp.

◆ testXChainBridgeExtraFields()

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

Definition at line 405 of file XChain_test.cpp.

◆ testXChainCreateBridge()

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

Definition at line 436 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 559 of file XChain_test.cpp.

◆ testXChainCreateBridgeMatrix()

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

Definition at line 690 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 982 of file XChain_test.cpp.

◆ testXChainCreateClaimID()

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

Definition at line 1289 of file XChain_test.cpp.

◆ testXChainCommit()

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

Definition at line 1379 of file XChain_test.cpp.

◆ testXChainAddAttestation()

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

Definition at line 1515 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 2388 of file XChain_test.cpp.

◆ testXChainAddAccountCreateNonBatchAttestation()

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

Definition at line 2617 of file XChain_test.cpp.

◆ testXChainClaim()

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

Definition at line 2692 of file XChain_test.cpp.

◆ testXChainCreateAccount()

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

Definition at line 3948 of file XChain_test.cpp.

◆ testFeeDipsIntoReserve()

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

Definition at line 4113 of file XChain_test.cpp.

◆ testXChainDeleteDoor()

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

Definition at line 4163 of file XChain_test.cpp.

◆ testBadPublicKey()

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

Definition at line 4213 of file XChain_test.cpp.

◆ run()

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

Definition at line 4280 of file XChain_test.cpp.

◆ createMcBridgeObjects()

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

Definition at line 474 of file xchain_bridge.cpp.

◆ createScBridgeObjects()

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

Definition at line 491 of file xchain_bridge.cpp.

◆ createBridgeObjects()

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

Definition at line 509 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 219 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 242 of file xchain_bridge.h.

Member Data Documentation

◆ mcDoor

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

Definition at line 155 of file xchain_bridge.h.

◆ mcAlice

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

Definition at line 156 of file xchain_bridge.h.

◆ mcBob

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

Definition at line 157 of file xchain_bridge.h.

◆ mcCarol

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

Definition at line 158 of file xchain_bridge.h.

◆ mcGw

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

Definition at line 159 of file xchain_bridge.h.

◆ scDoor

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

Definition at line 160 of file xchain_bridge.h.

◆ scAlice

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

Definition at line 161 of file xchain_bridge.h.

◆ scBob

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

Definition at line 162 of file xchain_bridge.h.

◆ scCarol

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

Definition at line 163 of file xchain_bridge.h.

◆ scGw

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

Definition at line 164 of file xchain_bridge.h.

◆ scAttester

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

Definition at line 165 of file xchain_bridge.h.

◆ scReward

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

Definition at line 166 of file xchain_bridge.h.

◆ mcuDoor

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

Definition at line 169 of file xchain_bridge.h.

◆ mcuAlice

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

Definition at line 170 of file xchain_bridge.h.

◆ mcuBob

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

Definition at line 171 of file xchain_bridge.h.

◆ mcuCarol

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

Definition at line 172 of file xchain_bridge.h.

◆ mcuGw

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

Definition at line 173 of file xchain_bridge.h.

◆ scuDoor

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

Definition at line 174 of file xchain_bridge.h.

◆ scuAlice

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

Definition at line 175 of file xchain_bridge.h.

◆ scuBob

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

Definition at line 176 of file xchain_bridge.h.

◆ scuCarol

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

Definition at line 177 of file xchain_bridge.h.

◆ scuGw

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

Definition at line 178 of file xchain_bridge.h.

◆ mcUSD

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

Definition at line 180 of file xchain_bridge.h.

◆ scUSD

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

Definition at line 181 of file xchain_bridge.h.

◆ jvXRPBridgeRPC

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

Definition at line 183 of file xchain_bridge.h.

◆ jvb

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

Definition at line 184 of file xchain_bridge.h.

◆ jvub

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

Definition at line 185 of file xchain_bridge.h.

◆ features

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

Definition at line 187 of file xchain_bridge.h.

◆ signers

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

Definition at line 188 of file xchain_bridge.h.

◆ alt_signers

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

Definition at line 189 of file xchain_bridge.h.

◆ payee

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

Definition at line 190 of file xchain_bridge.h.

◆ payees

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

Definition at line 191 of file xchain_bridge.h.

◆ quorum

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

Definition at line 192 of file xchain_bridge.h.

◆ reward

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

Definition at line 194 of file xchain_bridge.h.

◆ split_reward_quorum

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

Definition at line 195 of file xchain_bridge.h.

◆ split_reward_everyone

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

Definition at line 196 of file xchain_bridge.h.

◆ tiny_reward

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

Definition at line 198 of file xchain_bridge.h.

◆ tiny_reward_split

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

Definition at line 199 of file xchain_bridge.h.

◆ tiny_reward_remainder

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

Definition at line 200 of file xchain_bridge.h.

◆ one_xrp

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

Definition at line 202 of file xchain_bridge.h.

◆ xrp_dust

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

Definition at line 203 of file xchain_bridge.h.

◆ drop_per_xrp

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

Definition at line 205 of file xchain_bridge.h.