mirror of
https://github.com/XRPLF/rippled.git
synced 2026-06-03 16:56:48 +00:00
chore: Enable clang-tidy misc checks (#6655)
This commit is contained in:
@@ -61,9 +61,9 @@ private:
|
||||
env(offer(carol, XRP(50), USD(50)));
|
||||
|
||||
// Good quality path
|
||||
AMM ammCarol(env, carol, BTC(1'000), USD(100'100));
|
||||
AMM const ammCarol(env, carol, BTC(1'000), USD(100'100));
|
||||
|
||||
PathSet paths(Path(XRP, USD), Path(USD));
|
||||
PathSet const paths(Path(XRP, USD), Path(USD));
|
||||
|
||||
env(pay(alice, bob, USD(100)),
|
||||
json(paths.json()),
|
||||
@@ -114,7 +114,7 @@ private:
|
||||
env(pay(gw2, bob, USD2(50)));
|
||||
env.close();
|
||||
|
||||
AMM ammDan(env, dan, XRP(10'000), USD1(10'000));
|
||||
AMM const ammDan(env, dan, XRP(10'000), USD1(10'000));
|
||||
|
||||
env(pay(alice, carol, USD2(50)),
|
||||
path(~USD1, bob),
|
||||
@@ -145,7 +145,7 @@ private:
|
||||
env(pay(gw2, bob, USD2(50)));
|
||||
env.close();
|
||||
|
||||
AMM ammDan(env, dan, XRP(10'000), USD1(10'050));
|
||||
AMM const ammDan(env, dan, XRP(10'000), USD1(10'050));
|
||||
|
||||
env(pay(alice, carol, USD2(50)),
|
||||
path(~USD1, bob),
|
||||
@@ -269,7 +269,7 @@ private:
|
||||
|
||||
fund(env, gw, {bob, alice}, XRP(300'000), {USD(100)}, Fund::All);
|
||||
|
||||
AMM ammAlice(env, alice, XRP(150'000), USD(50));
|
||||
AMM const ammAlice(env, alice, XRP(150'000), USD(50));
|
||||
|
||||
// Existing offer pays better than this wants.
|
||||
// Partially consume existing offer.
|
||||
@@ -302,7 +302,7 @@ private:
|
||||
|
||||
env(pay(gw, alice, alice["USD"](500)));
|
||||
|
||||
AMM ammAlice(env, alice, XRP(150'000), USD(51));
|
||||
AMM const ammAlice(env, alice, XRP(150'000), USD(51));
|
||||
env(offer(bob, USD(1), XRP(3'000)));
|
||||
|
||||
BEAST_EXPECT(ammAlice.expectBalances(XRP(153'000), USD(50), ammAlice.tokens()));
|
||||
@@ -334,7 +334,7 @@ private:
|
||||
env.require(owners(alice, 1), owners(bob, 1));
|
||||
|
||||
env(pay(gw, alice, alice["USD"](100)));
|
||||
AMM ammBob(env, bob, USD(200), XRP(1'500));
|
||||
AMM const ammBob(env, bob, USD(200), XRP(1'500));
|
||||
|
||||
env(pay(alice, alice, XRP(500)), sendmax(USD(100)));
|
||||
|
||||
@@ -459,7 +459,7 @@ private:
|
||||
env(pay(gw2, dan, dan["EUR"](400)));
|
||||
env.close();
|
||||
|
||||
AMM ammCarol(env, carol, USD1(5'000), XRP(50'000));
|
||||
AMM const ammCarol(env, carol, USD1(5'000), XRP(50'000));
|
||||
|
||||
env(offer(dan, XRP(500), EUR1(50)));
|
||||
env.close();
|
||||
@@ -513,7 +513,7 @@ private:
|
||||
|
||||
env(pay(gw1, bob, bob["USD"](1'200)));
|
||||
|
||||
AMM ammBob(env, bob, XRP(1'000), USD1(1'200));
|
||||
AMM const ammBob(env, bob, XRP(1'000), USD1(1'200));
|
||||
// Alice has 350 fees - a reserve of 50 = 250 reserve = 100 available.
|
||||
// Ask for more than available to prove reserve works.
|
||||
env(offer(alice, USD1(200), XRP(200)));
|
||||
@@ -548,7 +548,7 @@ private:
|
||||
env(pay(gw, bob, USD(1)));
|
||||
env(pay(gw, alice, USD(200)));
|
||||
|
||||
AMM ammAlice(env, alice, USD(150), XRP(150'100));
|
||||
AMM const ammAlice(env, alice, USD(150), XRP(150'100));
|
||||
env(offer(bob, XRP(100), USD(0.1)));
|
||||
|
||||
BEAST_EXPECT(ammAlice.expectBalances(USD(150.1), XRP(150'000), ammAlice.tokens()));
|
||||
@@ -601,7 +601,7 @@ private:
|
||||
|
||||
env(pay(gw, bob, bob["USD"](2'200)));
|
||||
|
||||
AMM ammBob(env, bob, XRP(1'000), USD(2'200));
|
||||
AMM const ammBob(env, bob, XRP(1'000), USD(2'200));
|
||||
// Alice has 350 fees - a reserve of 50 = 250 reserve = 100 available.
|
||||
// Ask for more than available to prove reserve works.
|
||||
// Taker pays 100 USD for 100 XRP.
|
||||
@@ -629,7 +629,7 @@ private:
|
||||
auto const starting_xrp = XRP(100.1) + reserve(env, 1) + env.current()->fees().base * 2;
|
||||
fund(env, gw, {alice, bob}, starting_xrp, {XTS(100), XXX(100)}, Fund::All);
|
||||
|
||||
AMM ammAlice(env, alice, XTS(100), XXX(100));
|
||||
AMM const ammAlice(env, alice, XTS(100), XXX(100));
|
||||
|
||||
Json::Value payment;
|
||||
payment[jss::secret] = toBase58(generateSeed("bob"));
|
||||
@@ -677,8 +677,8 @@ private:
|
||||
// o carol has EUR but wants USD.
|
||||
// Note that carol's offer must come last. If carol's offer is
|
||||
// placed before AMM is created, then autobridging will not occur.
|
||||
AMM ammAlice(env, alice, XRP(10'000), USD(10'100));
|
||||
AMM ammBob(env, bob, EUR(10'000), XRP(10'100));
|
||||
AMM const ammAlice(env, alice, XRP(10'000), USD(10'100));
|
||||
AMM const ammBob(env, bob, EUR(10'000), XRP(10'100));
|
||||
|
||||
// Carol makes an offer that consumes AMM liquidity and
|
||||
// fully consumes Carol's offer.
|
||||
@@ -704,7 +704,7 @@ private:
|
||||
// Note that carol's offer must come last. If carol's offer is
|
||||
// placed before AMM and bob's offer are created, then autobridging
|
||||
// will not occur.
|
||||
AMM ammAlice(env, alice, XRP(10'000), USD(10'100));
|
||||
AMM const ammAlice(env, alice, XRP(10'000), USD(10'100));
|
||||
env(offer(bob, EUR(100), XRP(100)));
|
||||
env.close();
|
||||
|
||||
@@ -734,7 +734,7 @@ private:
|
||||
// autobridging will not occur.
|
||||
env(offer(alice, XRP(100), USD(100)));
|
||||
env.close();
|
||||
AMM ammBob(env, bob, EUR(10'000), XRP(10'100));
|
||||
AMM const ammBob(env, bob, EUR(10'000), XRP(10'100));
|
||||
|
||||
// Carol makes an offer that consumes AMM liquidity and
|
||||
// fully consumes Carol's offer.
|
||||
@@ -764,7 +764,7 @@ private:
|
||||
{
|
||||
Env env{*this, features};
|
||||
fund(env, gw, {alice, bob}, {USD(20'000)}, Fund::All);
|
||||
AMM ammBob(env, bob, XRP(20'000), USD(200));
|
||||
AMM const ammBob(env, bob, XRP(20'000), USD(200));
|
||||
// alice submits a tfSell | tfFillOrKill offer that does not cross.
|
||||
env(offer(alice, USD(2.1), XRP(210), tfSell | tfFillOrKill), ter(killedCode));
|
||||
|
||||
@@ -774,7 +774,7 @@ private:
|
||||
{
|
||||
Env env{*this, features};
|
||||
fund(env, gw, {alice, bob}, {USD(1'000)}, Fund::All);
|
||||
AMM ammBob(env, bob, XRP(20'000), USD(200));
|
||||
AMM const ammBob(env, bob, XRP(20'000), USD(200));
|
||||
// alice submits a tfSell | tfFillOrKill offer that crosses.
|
||||
// Even though tfSell is present it doesn't matter this time.
|
||||
env(offer(alice, USD(2), XRP(220), tfSell | tfFillOrKill));
|
||||
@@ -790,7 +790,7 @@ private:
|
||||
// returns more than was asked for (because of the tfSell flag).
|
||||
Env env{*this, features};
|
||||
fund(env, gw, {alice, bob}, {USD(1'000)}, Fund::All);
|
||||
AMM ammBob(env, bob, XRP(20'000), USD(200));
|
||||
AMM const ammBob(env, bob, XRP(20'000), USD(200));
|
||||
|
||||
env(offer(alice, USD(10), XRP(1'500), tfSell | tfFillOrKill));
|
||||
env.close();
|
||||
@@ -809,7 +809,7 @@ private:
|
||||
// which matches alice's offer quality is ~ 10XRP/0.01996USD.
|
||||
Env env{*this, features};
|
||||
fund(env, gw, {alice, bob}, {USD(10'000)}, Fund::All);
|
||||
AMM ammBob(env, bob, XRP(5000), USD(10));
|
||||
AMM const ammBob(env, bob, XRP(5000), USD(10));
|
||||
|
||||
env(offer(alice, USD(1), XRP(501), tfSell | tfFillOrKill), ter(tecKILLED));
|
||||
env.close();
|
||||
@@ -876,7 +876,7 @@ private:
|
||||
// o carol has EUR but wants USD.
|
||||
// Note that Carol's offer must come last. If Carol's offer is
|
||||
// placed before AMM is created, then autobridging will not occur.
|
||||
AMM ammAlice(env, alice, XRP(10'000), USD(10'100));
|
||||
AMM const ammAlice(env, alice, XRP(10'000), USD(10'100));
|
||||
env(offer(bob, EUR(100), XRP(100)));
|
||||
env.close();
|
||||
|
||||
@@ -907,7 +907,7 @@ private:
|
||||
// o carol has EUR but wants USD.
|
||||
// Note that Carol's offer must come last. If Carol's offer is
|
||||
// placed before AMM is created, then autobridging will not occur.
|
||||
AMM ammAlice(env, alice, XRP(10'000), USD(10'050));
|
||||
AMM const ammAlice(env, alice, XRP(10'000), USD(10'050));
|
||||
env(offer(bob, EUR(100), XRP(100)));
|
||||
env.close();
|
||||
|
||||
@@ -953,7 +953,7 @@ private:
|
||||
// o carol has EUR but wants USD.
|
||||
// Note that Carol's offer must come last. If Carol's offer is
|
||||
// placed before AMM is created, then autobridging will not occur.
|
||||
AMM ammAlice(env, alice, XRP(10'000), USD(10'100));
|
||||
AMM const ammAlice(env, alice, XRP(10'000), USD(10'100));
|
||||
env(offer(bob, EUR(100), XRP(100)));
|
||||
env.close();
|
||||
|
||||
@@ -995,7 +995,7 @@ private:
|
||||
// o carol has EUR but wants USD.
|
||||
// Note that Carol's offer must come last. If Carol's offer is
|
||||
// placed before AMM is created, then autobridging will not occur.
|
||||
AMM ammAlice(env, alice, XRP(10'000), USD(10'100));
|
||||
AMM const ammAlice(env, alice, XRP(10'000), USD(10'100));
|
||||
env(offer(bob, EUR(100), XRP(100)));
|
||||
env.close();
|
||||
|
||||
@@ -1029,7 +1029,7 @@ private:
|
||||
|
||||
env.fund(XRP(30'000) + f, alice, bob);
|
||||
env.close();
|
||||
AMM ammBob(env, bob, XRP(10'000), USD_bob(10'100));
|
||||
AMM const ammBob(env, bob, XRP(10'000), USD_bob(10'100));
|
||||
|
||||
env(offer(alice, USD_bob(100), XRP(100)));
|
||||
env.close();
|
||||
@@ -1086,7 +1086,7 @@ private:
|
||||
BEAST_EXPECT(expectHolding(env, dan, A_BUX(none)));
|
||||
BEAST_EXPECT(expectHolding(env, dan, D_BUX(none)));
|
||||
|
||||
AMM ammBob(env, bob, A_BUX(30), D_BUX(30));
|
||||
AMM const ammBob(env, bob, A_BUX(30), D_BUX(30));
|
||||
|
||||
env(trust(ann, D_BUX(100)));
|
||||
env.close();
|
||||
@@ -1143,7 +1143,7 @@ private:
|
||||
env(pay(bob, carol, B_BUX(400)));
|
||||
env(pay(ann, carol, A_BUX(400)));
|
||||
|
||||
AMM ammCarol(env, carol, A_BUX(300), B_BUX(330));
|
||||
AMM const ammCarol(env, carol, A_BUX(300), B_BUX(330));
|
||||
|
||||
// cam puts an offer on the books that her upcoming offer could cross.
|
||||
// But this offer should be deleted, not crossed, by her upcoming
|
||||
@@ -1215,7 +1215,7 @@ private:
|
||||
env(pay(gw, alice, USD(1'000)));
|
||||
env.close();
|
||||
// Alice is able to create AMM since the GW has authorized her
|
||||
AMM ammAlice(env, alice, USD(1'000), XRP(1'050));
|
||||
AMM const ammAlice(env, alice, USD(1'000), XRP(1'050));
|
||||
|
||||
// Set up authorized trust line for AMM.
|
||||
env(trust(gw, STAmount{Issue{USD.currency, ammAlice.ammAccount()}, 10}),
|
||||
@@ -1250,7 +1250,7 @@ private:
|
||||
|
||||
// Alice doesn't have the funds
|
||||
{
|
||||
AMM ammAlice(env, alice, USD(1'000), XRP(1'000), ter(tecUNFUNDED_AMM));
|
||||
AMM const ammAlice(env, alice, USD(1'000), XRP(1'000), ter(tecUNFUNDED_AMM));
|
||||
}
|
||||
|
||||
env(fset(gw, asfRequireAuth));
|
||||
@@ -1267,7 +1267,7 @@ private:
|
||||
|
||||
// Alice should not be able to create AMM without authorization.
|
||||
{
|
||||
AMM ammAlice(env, alice, USD(1'000), XRP(1'000), ter(tecNO_LINE));
|
||||
AMM const ammAlice(env, alice, USD(1'000), XRP(1'000), ter(tecNO_LINE));
|
||||
}
|
||||
|
||||
// Set up a trust line for Alice, but don't authorize it. Alice
|
||||
@@ -1276,7 +1276,7 @@ private:
|
||||
env.close();
|
||||
|
||||
{
|
||||
AMM ammAlice(env, alice, USD(1'000), XRP(1'000), ter(tecNO_AUTH));
|
||||
AMM const ammAlice(env, alice, USD(1'000), XRP(1'000), ter(tecNO_AUTH));
|
||||
}
|
||||
|
||||
// Finally, set up an authorized trust line for Alice. Now Alice's
|
||||
@@ -1286,7 +1286,7 @@ private:
|
||||
env(pay(gw, alice, USD(1'000)));
|
||||
env.close();
|
||||
|
||||
AMM ammAlice(env, alice, USD(1'000), XRP(1'050));
|
||||
AMM const ammAlice(env, alice, USD(1'000), XRP(1'050));
|
||||
|
||||
// Set up authorized trust line for AMM.
|
||||
env(trust(gw, STAmount{Issue{USD.currency, ammAlice.ammAccount()}, 10}),
|
||||
@@ -1349,7 +1349,7 @@ private:
|
||||
env.fund(XRP(100'000'250), alice);
|
||||
fund(env, gw, {carol, bob}, {USD(100)}, Fund::All);
|
||||
fund(env, gw, {alice}, {USD(100)}, Fund::IOUOnly);
|
||||
AMM ammCarol(env, carol, XRP(100), USD(100));
|
||||
AMM const ammCarol(env, carol, XRP(100), USD(100));
|
||||
|
||||
STPathSet st;
|
||||
STAmount sa;
|
||||
@@ -1383,7 +1383,7 @@ private:
|
||||
env.trust(AUD(2'000), bob, carol);
|
||||
env(pay(gw, carol, AUD(51)));
|
||||
env.close();
|
||||
AMM ammCarol(env, carol, XRP(40), AUD(51));
|
||||
AMM const ammCarol(env, carol, XRP(40), AUD(51));
|
||||
env(pay(alice, bob, AUD(10)), sendmax(XRP(100)), paths(XRP));
|
||||
env.close();
|
||||
// AMM offer is 51.282052XRP/11AUD, 11AUD/1.1 = 10AUD to bob
|
||||
@@ -1404,7 +1404,7 @@ private:
|
||||
// XRP -> IOU receive max
|
||||
Env env = pathTestEnv();
|
||||
fund(env, gw, {alice, bob, charlie}, {USD(11)}, Fund::All);
|
||||
AMM ammCharlie(env, charlie, XRP(10), USD(11));
|
||||
AMM const ammCharlie(env, charlie, XRP(10), USD(11));
|
||||
auto [st, sa, da] = find_paths(env, alice, bob, USD(-1), XRP(1).value());
|
||||
BEAST_EXPECT(sa == XRP(1));
|
||||
BEAST_EXPECT(equal(da, USD(1)));
|
||||
@@ -1420,7 +1420,7 @@ private:
|
||||
// IOU -> XRP receive max
|
||||
Env env = pathTestEnv();
|
||||
fund(env, gw, {alice, bob, charlie}, {USD(11)}, Fund::All);
|
||||
AMM ammCharlie(env, charlie, XRP(11), USD(10));
|
||||
AMM const ammCharlie(env, charlie, XRP(11), USD(10));
|
||||
env.close();
|
||||
auto [st, sa, da] = find_paths(env, alice, bob, drops(-1), USD(1).value());
|
||||
BEAST_EXPECT(sa == USD(1));
|
||||
@@ -1441,13 +1441,13 @@ private:
|
||||
testcase("Path Find: XRP -> XRP and XRP -> IOU");
|
||||
using namespace jtx;
|
||||
Env env = pathTestEnv();
|
||||
Account A1{"A1"};
|
||||
Account A2{"A2"};
|
||||
Account A3{"A3"};
|
||||
Account G1{"G1"};
|
||||
Account G2{"G2"};
|
||||
Account G3{"G3"};
|
||||
Account M1{"M1"};
|
||||
Account const A1{"A1"};
|
||||
Account const A2{"A2"};
|
||||
Account const A3{"A3"};
|
||||
Account const G1{"G1"};
|
||||
Account const G2{"G2"};
|
||||
Account const G3{"G3"};
|
||||
Account const M1{"M1"};
|
||||
|
||||
env.fund(XRP(100'000), A1);
|
||||
env.fund(XRP(10'000), A2);
|
||||
@@ -1472,8 +1472,8 @@ private:
|
||||
env(pay(G3, M1, G3["ABC"](25'000)));
|
||||
env.close();
|
||||
|
||||
AMM ammM1_G1_G2(env, M1, G1["XYZ"](1'000), G2["XYZ"](1'000));
|
||||
AMM ammM1_XRP_G3(env, M1, XRP(10'000), G3["ABC"](1'000));
|
||||
AMM const ammM1_G1_G2(env, M1, G1["XYZ"](1'000), G2["XYZ"](1'000));
|
||||
AMM const ammM1_XRP_G3(env, M1, XRP(10'000), G3["ABC"](1'000));
|
||||
|
||||
STPathSet st;
|
||||
STAmount sa, da;
|
||||
@@ -1526,10 +1526,10 @@ private:
|
||||
testcase("Path Find: non-XRP -> XRP");
|
||||
using namespace jtx;
|
||||
Env env = pathTestEnv();
|
||||
Account A1{"A1"};
|
||||
Account A2{"A2"};
|
||||
Account G3{"G3"};
|
||||
Account M1{"M1"};
|
||||
Account const A1{"A1"};
|
||||
Account const A2{"A2"};
|
||||
Account const G3{"G3"};
|
||||
Account const M1{"M1"};
|
||||
|
||||
env.fund(XRP(1'000), A1, A2, G3);
|
||||
env.fund(XRP(11'000), M1);
|
||||
@@ -1544,7 +1544,7 @@ private:
|
||||
env(pay(G3, M1, G3["ABC"](1'200)));
|
||||
env.close();
|
||||
|
||||
AMM ammM1(env, M1, G3["ABC"](1'000), XRP(10'010));
|
||||
AMM const ammM1(env, M1, G3["ABC"](1'000), XRP(10'010));
|
||||
|
||||
STPathSet st;
|
||||
STAmount sa, da;
|
||||
@@ -1562,16 +1562,16 @@ private:
|
||||
testcase("Path Find: non-XRP -> non-XRP, same currency");
|
||||
using namespace jtx;
|
||||
Env env = pathTestEnv();
|
||||
Account A1{"A1"};
|
||||
Account A2{"A2"};
|
||||
Account A3{"A3"};
|
||||
Account A4{"A4"};
|
||||
Account G1{"G1"};
|
||||
Account G2{"G2"};
|
||||
Account G3{"G3"};
|
||||
Account G4{"G4"};
|
||||
Account M1{"M1"};
|
||||
Account M2{"M2"};
|
||||
Account const A1{"A1"};
|
||||
Account const A2{"A2"};
|
||||
Account const A3{"A3"};
|
||||
Account const A4{"A4"};
|
||||
Account const G1{"G1"};
|
||||
Account const G2{"G2"};
|
||||
Account const G3{"G3"};
|
||||
Account const G4{"G4"};
|
||||
Account const M1{"M1"};
|
||||
Account const M2{"M2"};
|
||||
|
||||
env.fund(XRP(1'000), A1, A2, A3, G1, G2, G3, G4);
|
||||
env.fund(XRP(10'000), A4);
|
||||
@@ -1596,9 +1596,9 @@ private:
|
||||
env(pay(G2, M2, G2["HKD"](5'000)));
|
||||
env.close();
|
||||
|
||||
AMM ammM1(env, M1, G1["HKD"](1'010), G2["HKD"](1'000));
|
||||
AMM ammM2XRP_G2(env, M2, XRP(10'000), G2["HKD"](1'010));
|
||||
AMM ammM2G1_XRP(env, M2, G1["HKD"](1'010), XRP(10'000));
|
||||
AMM const ammM1(env, M1, G1["HKD"](1'010), G2["HKD"](1'000));
|
||||
AMM const ammM2XRP_G2(env, M2, XRP(10'000), G2["HKD"](1'010));
|
||||
AMM const ammM2G1_XRP(env, M2, G1["HKD"](1'010), XRP(10'000));
|
||||
|
||||
STPathSet st;
|
||||
STAmount sa, da;
|
||||
@@ -1692,12 +1692,12 @@ private:
|
||||
testcase("Path Find: non-XRP -> non-XRP, same currency");
|
||||
using namespace jtx;
|
||||
Env env = pathTestEnv();
|
||||
Account A1{"A1"};
|
||||
Account A2{"A2"};
|
||||
Account A3{"A3"};
|
||||
Account G1{"G1"};
|
||||
Account G2{"G2"};
|
||||
Account M1{"M1"};
|
||||
Account const A1{"A1"};
|
||||
Account const A2{"A2"};
|
||||
Account const A3{"A3"};
|
||||
Account const G1{"G1"};
|
||||
Account const G2{"G2"};
|
||||
Account const M1{"M1"};
|
||||
|
||||
env.fund(XRP(11'000), M1);
|
||||
env.fund(XRP(1'000), A1, A2, A3, G1, G2);
|
||||
@@ -1716,7 +1716,7 @@ private:
|
||||
env(pay(G2, M1, G2["HKD"](5'000)));
|
||||
env.close();
|
||||
|
||||
AMM ammM1(env, M1, G1["HKD"](1'010), G2["HKD"](1'000));
|
||||
AMM const ammM1(env, M1, G1["HKD"](1'010), G2["HKD"](1'000));
|
||||
|
||||
// E) Gateway to user
|
||||
// Source -> OB -> AC -> Destination
|
||||
@@ -1759,7 +1759,7 @@ private:
|
||||
// tecPATH_DRY, but the entire path should not be marked as dry.
|
||||
// This is the second error case to test (when flowV1 is used).
|
||||
env(offer(bob, EUR(50), XRP(50)));
|
||||
AMM ammBob(env, bob, ammXrpPool, USD(150));
|
||||
AMM const ammBob(env, bob, ammXrpPool, USD(150));
|
||||
|
||||
env(pay(alice, carol, USD(1'000'000)),
|
||||
path(~XRP, ~USD),
|
||||
@@ -1783,7 +1783,7 @@ private:
|
||||
|
||||
fund(env, gw, {alice, bob, carol}, XRP(10'000), {BTC(100), USD(150)}, Fund::All);
|
||||
|
||||
AMM ammBob(env, bob, BTC(100), USD(150));
|
||||
AMM const ammBob(env, bob, BTC(100), USD(150));
|
||||
|
||||
env(pay(alice, carol, USD(50)), path(~USD), sendmax(BTC(50)));
|
||||
|
||||
@@ -1799,8 +1799,8 @@ private:
|
||||
|
||||
fund(env, gw, {alice, carol, bob}, XRP(10'000), {BTC(100), USD(150)}, Fund::All);
|
||||
|
||||
AMM ammBobBTC_XRP(env, bob, BTC(100), XRP(150));
|
||||
AMM ammBobXRP_USD(env, bob, XRP(100), USD(150));
|
||||
AMM const ammBobBTC_XRP(env, bob, BTC(100), XRP(150));
|
||||
AMM const ammBobXRP_USD(env, bob, XRP(100), USD(150));
|
||||
|
||||
env(pay(alice, carol, USD(50)), path(~XRP, ~USD), sendmax(BTC(50)));
|
||||
|
||||
@@ -1817,7 +1817,7 @@ private:
|
||||
|
||||
fund(env, gw, {alice, carol, bob}, XRP(10'000), {USD(150)}, Fund::All);
|
||||
|
||||
AMM ammBob(env, bob, XRP(100), USD(150));
|
||||
AMM const ammBob(env, bob, XRP(100), USD(150));
|
||||
|
||||
env(pay(alice, carol, USD(50)), path(~USD), sendmax(XRP(50)));
|
||||
|
||||
@@ -1833,7 +1833,7 @@ private:
|
||||
|
||||
fund(env, gw, {alice, carol, bob}, XRP(10'000), {USD(100)}, Fund::All);
|
||||
|
||||
AMM ammBob(env, bob, USD(100), XRP(150));
|
||||
AMM const ammBob(env, bob, USD(100), XRP(150));
|
||||
|
||||
env(pay(alice, carol, XRP(50)), path(~XRP), sendmax(USD(50)));
|
||||
|
||||
@@ -1863,7 +1863,7 @@ private:
|
||||
env(offer(bob, BTC(50), USD(50)));
|
||||
env(offer(bob, BTC(40), EUR(50)));
|
||||
env.close();
|
||||
AMM ammBob(env, bob, EUR(100), USD(150));
|
||||
AMM const ammBob(env, bob, EUR(100), USD(150));
|
||||
|
||||
// unfund offer
|
||||
env(pay(bob, gw, EUR(50)));
|
||||
@@ -1914,7 +1914,7 @@ private:
|
||||
env.close();
|
||||
|
||||
// This is multiplath, which generates limited # of offers
|
||||
AMM ammBobBTC_USD(env, bob, BTC(50), USD(50));
|
||||
AMM const ammBobBTC_USD(env, bob, BTC(50), USD(50));
|
||||
env(offer(bob, BTC(60), EUR(50)));
|
||||
env(offer(carol, BTC(1'000), EUR(1)));
|
||||
env(offer(bob, EUR(50), USD(50)));
|
||||
@@ -1928,7 +1928,7 @@ private:
|
||||
|
||||
auto flowJournal = env.app().getJournal("Flow");
|
||||
auto const flowResult = [&] {
|
||||
STAmount deliver(USD(51));
|
||||
STAmount const deliver(USD(51));
|
||||
STAmount smax(BTC(61));
|
||||
PaymentSandbox sb(env.current().get(), tapNONE);
|
||||
STPathSet paths;
|
||||
@@ -1941,10 +1941,10 @@ private:
|
||||
};
|
||||
{
|
||||
// BTC -> USD
|
||||
STPath p1({IPE(USD.issue())});
|
||||
STPath const p1({IPE(USD.issue())});
|
||||
paths.push_back(p1);
|
||||
// BTC -> EUR -> USD
|
||||
STPath p2({IPE(EUR.issue()), IPE(USD.issue())});
|
||||
STPath const p2({IPE(EUR.issue()), IPE(USD.issue())});
|
||||
paths.push_back(p2);
|
||||
}
|
||||
|
||||
@@ -2007,7 +2007,7 @@ private:
|
||||
env.close();
|
||||
|
||||
// env(offer(bob, USD(1), drops(2)), txflags(tfPassive));
|
||||
AMM ammBob(env, bob, USD(8), XRPAmount{21});
|
||||
AMM const ammBob(env, bob, USD(8), XRPAmount{21});
|
||||
env(offer(bob, drops(1), EUR(1'000)), txflags(tfPassive));
|
||||
|
||||
env(pay(alice, carol, EUR(1)),
|
||||
@@ -2034,7 +2034,7 @@ private:
|
||||
env(rate(gw, 1.25));
|
||||
env.close();
|
||||
|
||||
AMM amm(env, bob, GBP(1'000), USD(1'000));
|
||||
AMM const amm(env, bob, GBP(1'000), USD(1'000));
|
||||
|
||||
env(pay(alice, carol, USD(100)),
|
||||
path(~USD),
|
||||
@@ -2075,7 +2075,7 @@ private:
|
||||
env(offer(ed, GBP(1'000), EUR(1'000)), txflags(tfPassive));
|
||||
env.close();
|
||||
|
||||
AMM amm(env, bob, EUR(1'000), USD(1'000));
|
||||
AMM const amm(env, bob, EUR(1'000), USD(1'000));
|
||||
|
||||
env(pay(alice, carol, USD(100)),
|
||||
path(~EUR, ~USD),
|
||||
@@ -2109,8 +2109,8 @@ private:
|
||||
env(rate(gw, 1.25));
|
||||
env.close();
|
||||
|
||||
AMM amm1(env, bob, GBP(1'000), EUR(1'000));
|
||||
AMM amm2(env, ed, EUR(1'000), USD(1'000));
|
||||
AMM const amm1(env, bob, GBP(1'000), EUR(1'000));
|
||||
AMM const amm2(env, ed, EUR(1'000), USD(1'000));
|
||||
|
||||
env(pay(alice, carol, USD(100)),
|
||||
path(~EUR, ~USD),
|
||||
@@ -2159,7 +2159,7 @@ private:
|
||||
env(rate(gw, 1.25));
|
||||
env.close();
|
||||
|
||||
AMM amm(env, bob, USD(1'000), EUR(1'100));
|
||||
AMM const amm(env, bob, USD(1'000), EUR(1'100));
|
||||
env(offer(alice, EUR(100), USD(100)));
|
||||
env.close();
|
||||
|
||||
@@ -2178,7 +2178,7 @@ private:
|
||||
env(rate(gw, 1.25));
|
||||
env.close();
|
||||
|
||||
AMM amm(env, bob, GBP(1'000), USD(1'000));
|
||||
AMM const amm(env, bob, GBP(1'000), USD(1'000));
|
||||
|
||||
// requested quality limit is 100USD/178.58GBP = 0.55997
|
||||
// trade quality is 100USD/178.5714 = 0.55999
|
||||
@@ -2209,7 +2209,7 @@ private:
|
||||
env(rate(gw, 1.25));
|
||||
env.close();
|
||||
|
||||
AMM amm(env, bob, GBP(1'000), USD(1'200));
|
||||
AMM const amm(env, bob, GBP(1'000), USD(1'200));
|
||||
|
||||
// requested quality limit is 90USD/120GBP = 0.75
|
||||
// trade quality is 22.5USD/30GBP = 0.75
|
||||
@@ -2259,7 +2259,7 @@ private:
|
||||
env(offer(ed, GBP(1'000), EUR(1'000)), txflags(tfPassive));
|
||||
env.close();
|
||||
|
||||
AMM amm(env, bob, EUR(1'000), USD(1'400));
|
||||
AMM const amm(env, bob, EUR(1'000), USD(1'400));
|
||||
|
||||
// requested quality limit is 95USD/140GBP = 0.6785
|
||||
// trade quality is 59.7321USD/88.0262GBP = 0.6785
|
||||
@@ -2340,7 +2340,7 @@ private:
|
||||
env(rate(gw, 1.25));
|
||||
env.close();
|
||||
|
||||
AMM amm(env, bob, GBP(1'000), EUR(1'000));
|
||||
AMM const amm(env, bob, GBP(1'000), EUR(1'000));
|
||||
|
||||
env(offer(ed, EUR(1'000), USD(1'400)), txflags(tfPassive));
|
||||
env.close();
|
||||
@@ -2412,8 +2412,8 @@ private:
|
||||
env(rate(gw, 1.25));
|
||||
env.close();
|
||||
|
||||
AMM amm1(env, bob, GBP(1'000), EUR(1'000));
|
||||
AMM amm2(env, ed, EUR(1'000), USD(1'400));
|
||||
AMM const amm1(env, bob, GBP(1'000), EUR(1'000));
|
||||
AMM const amm2(env, ed, EUR(1'000), USD(1'400));
|
||||
|
||||
// requested quality limit is 90USD/145GBP = 0.6206
|
||||
// trade quality is 66.7432USD/107.5308GBP = 0.6206
|
||||
@@ -2474,8 +2474,8 @@ private:
|
||||
env(rate(gw, 1.25));
|
||||
env.close();
|
||||
|
||||
AMM amm1(env, alice, GBP(1'000), EUR(1'000));
|
||||
AMM amm2(env, bob, EUR(1'000), USD(1'400));
|
||||
AMM const amm1(env, alice, GBP(1'000), EUR(1'000));
|
||||
AMM const amm2(env, bob, EUR(1'000), USD(1'400));
|
||||
|
||||
// requested quality limit is 90USD/120GBP = 0.75
|
||||
// trade quality is 81.1111USD/108.1481GBP = 0.75
|
||||
@@ -2534,7 +2534,7 @@ private:
|
||||
|
||||
fund(env, gw, {alice, bob, carol}, XRP(10'000), {USD(2'000)});
|
||||
|
||||
AMM ammBob(env, bob, XRP(1'000), USD(1'050));
|
||||
AMM const ammBob(env, bob, XRP(1'000), USD(1'050));
|
||||
env(offer(bob, XRP(100), USD(50)));
|
||||
|
||||
env(pay(alice, carol, USD(100)),
|
||||
@@ -2561,8 +2561,8 @@ private:
|
||||
// fails with tecPATH_DRY.
|
||||
fund(env, gw, {alice, bob}, XRP(10'000), {USD(200), EUR(200)}, Fund::All);
|
||||
|
||||
AMM ammAliceXRP_USD(env, alice, XRP(100), USD(101));
|
||||
AMM ammAliceXRP_EUR(env, alice, XRP(100), EUR(101));
|
||||
AMM const ammAliceXRP_USD(env, alice, XRP(100), USD(101));
|
||||
AMM const ammAliceXRP_EUR(env, alice, XRP(100), EUR(101));
|
||||
env.close();
|
||||
|
||||
TER const expectedTer = TER{temBAD_PATH_LOOP};
|
||||
@@ -2579,8 +2579,8 @@ private:
|
||||
// with tecPATH_DRY.
|
||||
fund(env, gw, {alice, bob}, XRP(10'000), {USD(200), EUR(200)}, Fund::All);
|
||||
|
||||
AMM ammAliceXRP_USD(env, alice, XRP(100), USD(100));
|
||||
AMM ammAliceXRP_EUR(env, alice, XRP(100), EUR(100));
|
||||
AMM const ammAliceXRP_USD(env, alice, XRP(100), USD(100));
|
||||
AMM const ammAliceXRP_EUR(env, alice, XRP(100), EUR(100));
|
||||
// EUR -> //XRP -> //USD ->XRP
|
||||
env(pay(alice, bob, XRP(1)),
|
||||
path(~XRP, ~USD, ~XRP),
|
||||
@@ -2597,9 +2597,9 @@ private:
|
||||
// with tecPATH_DRY.
|
||||
fund(env, gw, {alice, bob}, XRP(10'000), {USD(200), EUR(200), JPY(200)}, Fund::All);
|
||||
|
||||
AMM ammAliceXRP_USD(env, alice, XRP(100), USD(100));
|
||||
AMM ammAliceXRP_EUR(env, alice, XRP(100), EUR(100));
|
||||
AMM ammAliceXRP_JPY(env, alice, XRP(100), JPY(100));
|
||||
AMM const ammAliceXRP_USD(env, alice, XRP(100), USD(100));
|
||||
AMM const ammAliceXRP_EUR(env, alice, XRP(100), EUR(100));
|
||||
AMM const ammAliceXRP_JPY(env, alice, XRP(100), JPY(100));
|
||||
|
||||
env(pay(alice, bob, JPY(1)),
|
||||
path(~XRP, ~EUR, ~XRP, ~JPY),
|
||||
@@ -2628,7 +2628,7 @@ private:
|
||||
env(pay(gw, dan, USD(1)));
|
||||
n_offers(env, 2'000, bob, XRP(1), USD(1));
|
||||
n_offers(env, 1, dan, XRP(1), USD(1));
|
||||
AMM ammEd(env, ed, XRP(9), USD(11));
|
||||
AMM const ammEd(env, ed, XRP(9), USD(11));
|
||||
|
||||
// Alice offers to buy 1000 XRP for 1000 USD. She takes Bob's first
|
||||
// offer, removes 999 more as unfunded, then hits the step limit.
|
||||
@@ -2687,7 +2687,7 @@ private:
|
||||
txflags(tfPartialPayment),
|
||||
ter(temBAD_AMOUNT));
|
||||
env(pay(gw, carol, USD(50)));
|
||||
AMM ammCarol(env, carol, XRP(10), USD(15));
|
||||
AMM const ammCarol(env, carol, XRP(10), USD(15));
|
||||
env(pay(alice, bob, USD(10)),
|
||||
paths(XRP),
|
||||
deliver_min(USD(7)),
|
||||
@@ -2703,7 +2703,7 @@ private:
|
||||
fund(env, gw, {alice, bob}, XRP(10'000));
|
||||
env.trust(USD(1'100), alice, bob);
|
||||
env(pay(gw, bob, USD(1'100)));
|
||||
AMM ammBob(env, bob, XRP(1'000), USD(1'100));
|
||||
AMM const ammBob(env, bob, XRP(1'000), USD(1'100));
|
||||
env(pay(alice, alice, USD(10'000)),
|
||||
paths(XRP),
|
||||
deliver_min(USD(100)),
|
||||
@@ -2717,7 +2717,7 @@ private:
|
||||
fund(env, gw, {alice, bob, carol}, XRP(10'000));
|
||||
env.trust(USD(1'200), bob, carol);
|
||||
env(pay(gw, bob, USD(1'200)));
|
||||
AMM ammBob(env, bob, XRP(5'500), USD(1'200));
|
||||
AMM const ammBob(env, bob, XRP(5'500), USD(1'200));
|
||||
env(pay(alice, carol, USD(10'000)),
|
||||
paths(XRP),
|
||||
deliver_min(USD(200)),
|
||||
@@ -2743,7 +2743,7 @@ private:
|
||||
env(pay(gw, dan, USD(1'100)));
|
||||
env(offer(bob, XRP(100), USD(100)));
|
||||
env(offer(bob, XRP(1'000), USD(100)));
|
||||
AMM ammDan(env, dan, XRP(1'000), USD(1'100));
|
||||
AMM const ammDan(env, dan, XRP(1'000), USD(1'100));
|
||||
if (!features[fixAMMv1_1])
|
||||
{
|
||||
env(pay(alice, carol, USD(10'000)),
|
||||
@@ -2794,7 +2794,7 @@ private:
|
||||
env(pay(gw, alice, USD(500)));
|
||||
env.close();
|
||||
|
||||
AMM ammAlice(env, alice, XRP(100), USD(140));
|
||||
AMM const ammAlice(env, alice, XRP(100), USD(140));
|
||||
|
||||
// becky pays herself USD (10) by consuming part of alice's offer.
|
||||
// Make sure the payment works if PaymentAuth is not involved.
|
||||
@@ -2829,7 +2829,7 @@ private:
|
||||
|
||||
env(pay(gw, alice, USD(150)));
|
||||
env(pay(gw, carol, USD(150)));
|
||||
AMM ammCarol(env, carol, USD(100), XRPAmount(101));
|
||||
AMM const ammCarol(env, carol, USD(100), XRPAmount(101));
|
||||
|
||||
// Make sure bob's trust line is all set up so he can receive USD.
|
||||
env(pay(alice, bob, USD(50)));
|
||||
@@ -2926,7 +2926,7 @@ private:
|
||||
env(pay(G1, alice, G1["USD"](205)));
|
||||
env.close();
|
||||
|
||||
AMM ammAlice(env, alice, XRP(500), G1["USD"](105));
|
||||
AMM const ammAlice(env, alice, XRP(500), G1["USD"](105));
|
||||
|
||||
{
|
||||
auto lines = getAccountLines(env, bob);
|
||||
@@ -3040,11 +3040,11 @@ private:
|
||||
using namespace test::jtx;
|
||||
Env env(*this, features);
|
||||
|
||||
Account G1{"G1"};
|
||||
Account A1{"A1"};
|
||||
Account A2{"A2"};
|
||||
Account A3{"A3"};
|
||||
Account A4{"A4"};
|
||||
Account const G1{"G1"};
|
||||
Account const A1{"A1"};
|
||||
Account const A2{"A2"};
|
||||
Account const A3{"A3"};
|
||||
Account const A4{"A4"};
|
||||
|
||||
env.fund(XRP(12'000), G1);
|
||||
env.fund(XRP(1'000), A1);
|
||||
@@ -3063,7 +3063,7 @@ private:
|
||||
env(pay(G1, A4, G1["BTC"](100)));
|
||||
env.close();
|
||||
|
||||
AMM ammG1(env, G1, XRP(10'000), G1["USD"](100));
|
||||
AMM const ammG1(env, G1, XRP(10'000), G1["USD"](100));
|
||||
env(offer(A1, XRP(10'000), G1["USD"](100)), txflags(tfPassive));
|
||||
env(offer(A2, G1["USD"](100), XRP(10'000)), txflags(tfPassive));
|
||||
env.close();
|
||||
@@ -3129,7 +3129,7 @@ private:
|
||||
env.require(nflags(G1, asfNoFreeze));
|
||||
|
||||
// test: assets can't be bought on the market
|
||||
AMM ammA3(env, A3, G1["BTC"](1), XRP(1), ter(tecFROZEN));
|
||||
AMM const ammA3(env, A3, G1["BTC"](1), XRP(1), ter(tecFROZEN));
|
||||
|
||||
// test: assets can't be sold on the market
|
||||
// AMM is bidirectional
|
||||
@@ -3170,10 +3170,10 @@ private:
|
||||
using namespace test::jtx;
|
||||
Env env(*this, features);
|
||||
|
||||
Account G1{"G1"};
|
||||
Account A2{"A2"};
|
||||
Account A3{"A3"};
|
||||
Account A4{"A4"};
|
||||
Account const G1{"G1"};
|
||||
Account const A2{"A2"};
|
||||
Account const A3{"A3"};
|
||||
Account const A4{"A4"};
|
||||
|
||||
env.fund(XRP(2'000), G1, A3, A4);
|
||||
env.fund(XRP(2'000), A2);
|
||||
@@ -3188,7 +3188,7 @@ private:
|
||||
env(pay(G1, A4, G1["USD"](2'001)));
|
||||
env.close();
|
||||
|
||||
AMM ammA3(env, A3, XRP(1'000), G1["USD"](1'001));
|
||||
AMM const ammA3(env, A3, XRP(1'000), G1["USD"](1'001));
|
||||
|
||||
// removal after successful payment
|
||||
// test: make a payment with partially consuming offer
|
||||
@@ -3299,8 +3299,8 @@ private:
|
||||
|
||||
fund(env, gw, {alice, bob, carol}, XRP(10'000), {USD(2'000), EUR(1'000)});
|
||||
|
||||
AMM bobXRP_USD(env, bob, XRP(1'000), USD(1'000));
|
||||
AMM bobUSD_EUR(env, bob, USD(1'000), EUR(1'000));
|
||||
AMM const bobXRP_USD(env, bob, XRP(1'000), USD(1'000));
|
||||
AMM const bobUSD_EUR(env, bob, USD(1'000), EUR(1'000));
|
||||
|
||||
// payment path: XRP -> XRP/USD -> USD/EUR -> EUR/USD
|
||||
env(pay(alice, carol, USD(100)),
|
||||
@@ -3327,10 +3327,10 @@ private:
|
||||
fund(env, bob, {alice, gw}, {BobUSD(100), BobEUR(100)}, Fund::IOUOnly);
|
||||
env.close();
|
||||
|
||||
AMM ammBobXRP_USD(env, bob, XRP(100), BobUSD(100));
|
||||
AMM const ammBobXRP_USD(env, bob, XRP(100), BobUSD(100));
|
||||
env(offer(gw, XRP(100), USD(100)), txflags(tfPassive));
|
||||
|
||||
AMM ammBobUSD_EUR(env, bob, BobUSD(100), BobEUR(100));
|
||||
AMM const ammBobUSD_EUR(env, bob, BobUSD(100), BobEUR(100));
|
||||
env(offer(gw, USD(100), EUR(100)), txflags(tfPassive));
|
||||
|
||||
Path const p = [&] {
|
||||
@@ -3340,7 +3340,7 @@ private:
|
||||
return result;
|
||||
}();
|
||||
|
||||
PathSet paths(p);
|
||||
PathSet const paths(p);
|
||||
|
||||
env(pay(alice, alice, EUR(1)),
|
||||
json(paths.json()),
|
||||
@@ -3354,7 +3354,7 @@ private:
|
||||
|
||||
fund(env, gw, {alice, bob, carol}, XRP(10'000), {USD(100)});
|
||||
|
||||
AMM ammBob(env, bob, XRP(100), USD(100));
|
||||
AMM const ammBob(env, bob, XRP(100), USD(100));
|
||||
|
||||
// payment path: XRP -> XRP/USD -> USD/XRP
|
||||
env(pay(alice, carol, XRP(100)),
|
||||
@@ -3368,7 +3368,7 @@ private:
|
||||
|
||||
fund(env, gw, {alice, bob, carol}, XRP(10'000), {USD(100)});
|
||||
|
||||
AMM ammBob(env, bob, XRP(100), USD(100));
|
||||
AMM const ammBob(env, bob, XRP(100), USD(100));
|
||||
|
||||
// payment path: XRP -> XRP/USD -> USD/XRP
|
||||
env(pay(alice, carol, XRP(100)),
|
||||
@@ -3398,7 +3398,7 @@ private:
|
||||
env(pay(gw, alice, USD(100)));
|
||||
env.close();
|
||||
|
||||
AMM ammBob(env, bob, XRP(100), USD(100));
|
||||
AMM const ammBob(env, bob, XRP(100), USD(100));
|
||||
|
||||
// payment path: USD -> USD/XRP -> XRP/USD
|
||||
env(pay(alice, carol, USD(100)),
|
||||
@@ -3421,9 +3421,9 @@ private:
|
||||
env(pay(gw, bob, EUR(200)));
|
||||
env(pay(gw, bob, CNY(100)));
|
||||
|
||||
AMM ammBobXRP_USD(env, bob, XRP(100), USD(100));
|
||||
AMM ammBobUSD_EUR(env, bob, USD(100), EUR(100));
|
||||
AMM ammBobEUR_CNY(env, bob, EUR(100), CNY(100));
|
||||
AMM const ammBobXRP_USD(env, bob, XRP(100), USD(100));
|
||||
AMM const ammBobUSD_EUR(env, bob, USD(100), EUR(100));
|
||||
AMM const ammBobEUR_CNY(env, bob, EUR(100), CNY(100));
|
||||
|
||||
// payment path: XRP->XRP/USD->USD/EUR->USD/CNY
|
||||
env(pay(alice, carol, CNY(100)),
|
||||
|
||||
Reference in New Issue
Block a user