mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
Introduce MPT support (XLS-33d): (#5143)
Amendment: - MPTokensV1 New Transactions: - MPTokenIssuanceCreate - MPTokenIssuanceDestroy - MPTokenIssuanceSet - MPTokenAuthorize Modified Transactions: - Payment - Clawback New Objects: - MPTokenIssuance - MPToken API updates: - ledger_entry - account_objects - ledger_data Other: - Add += and -= operators to ValueProxy Read full spec: https://github.com/XRPLF/XRPL-Standards/tree/master/XLS-0033d-multi-purpose-tokens --------- Co-authored-by: Shawn Xie <shawnxie920@gmail.com> Co-authored-by: Howard Hinnant <howard.hinnant@gmail.com> Co-authored-by: Ed Hennis <ed@ripple.com> Co-authored-by: John Freeman <jfreeman08@gmail.com>
This commit is contained in:
committed by
GitHub
parent
63209c2646
commit
23c37fa506
@@ -394,6 +394,7 @@ public:
|
||||
auto const& sf1Outer = sfSequence;
|
||||
auto const& sf2Outer = sfExpiration;
|
||||
auto const& sf3Outer = sfQualityIn;
|
||||
auto const& sf4Outer = sfAmount;
|
||||
auto const& sf4 = sfSignature;
|
||||
auto const& sf5 = sfPublicKey;
|
||||
|
||||
@@ -425,6 +426,7 @@ public:
|
||||
{sf1Outer, soeREQUIRED},
|
||||
{sf2Outer, soeOPTIONAL},
|
||||
{sf3Outer, soeDEFAULT},
|
||||
{sf4Outer, soeOPTIONAL},
|
||||
{sf4, soeOPTIONAL},
|
||||
{sf5, soeDEFAULT},
|
||||
};
|
||||
@@ -492,6 +494,16 @@ public:
|
||||
BEAST_EXPECT(st[sf1Outer] == 4);
|
||||
BEAST_EXPECT(st[sf2Outer] == 4);
|
||||
BEAST_EXPECT(st[sf2Outer] == st[sf1Outer]);
|
||||
st[sf1Outer] += 1;
|
||||
BEAST_EXPECT(st[sf1Outer] == 5);
|
||||
st[sf4Outer] = STAmount{1};
|
||||
BEAST_EXPECT(st[sf4Outer] == STAmount{1});
|
||||
st[sf4Outer] += STAmount{1};
|
||||
BEAST_EXPECT(st[sf4Outer] == STAmount{2});
|
||||
st[sf1Outer] -= 1;
|
||||
BEAST_EXPECT(st[sf1Outer] == 4);
|
||||
st[sf4Outer] -= STAmount{1};
|
||||
BEAST_EXPECT(st[sf4Outer] == STAmount{1});
|
||||
}
|
||||
|
||||
// Write templated object
|
||||
@@ -540,6 +552,16 @@ public:
|
||||
BEAST_EXPECT(st[sf3Outer] == 0);
|
||||
BEAST_EXPECT(*st[~sf3Outer] == 0);
|
||||
BEAST_EXPECT(!!st[~sf3Outer]);
|
||||
st[sf1Outer] += 1;
|
||||
BEAST_EXPECT(st[sf1Outer] == 1);
|
||||
st[sf4Outer] = STAmount{1};
|
||||
BEAST_EXPECT(st[sf4Outer] == STAmount{1});
|
||||
st[sf4Outer] += STAmount{1};
|
||||
BEAST_EXPECT(st[sf4Outer] == STAmount{2});
|
||||
st[sf1Outer] -= 1;
|
||||
BEAST_EXPECT(st[sf1Outer] == 0);
|
||||
st[sf4Outer] -= STAmount{1};
|
||||
BEAST_EXPECT(st[sf4Outer] == STAmount{1});
|
||||
}
|
||||
|
||||
// coercion operator to std::optional
|
||||
|
||||
Reference in New Issue
Block a user