From 8af452ee272dd10e20ece7f7e9a03579e41926ce Mon Sep 17 00:00:00 2001 From: Shawn Xie <35279399+shawnxie999@users.noreply.github.com> Date: Thu, 3 Oct 2024 11:07:43 -0400 Subject: [PATCH] remove unneeded fields (#36) --- include/xrpl/protocol/SField.h | 2 -- include/xrpl/protocol/TER.h | 5 +++-- include/xrpl/protocol/jss.h | 1 - src/libxrpl/protocol/LedgerFormats.cpp | 2 -- src/libxrpl/protocol/SField.cpp | 3 +-- src/libxrpl/protocol/STInteger.cpp | 3 +-- src/libxrpl/protocol/STParsedJSON.cpp | 3 +-- src/libxrpl/protocol/TER.cpp | 2 +- src/test/app/MPToken_test.cpp | 2 +- src/xrpld/app/tx/detail/MPTokenIssuanceCreate.cpp | 2 +- src/xrpld/ledger/detail/View.cpp | 5 +---- 11 files changed, 10 insertions(+), 20 deletions(-) diff --git a/include/xrpl/protocol/SField.h b/include/xrpl/protocol/SField.h index b7391d2971b..849332ecc3c 100644 --- a/include/xrpl/protocol/SField.h +++ b/include/xrpl/protocol/SField.h @@ -470,7 +470,6 @@ extern SF_UINT64 const sfXChainAccountClaimCount; extern SF_UINT64 const sfAssetPrice; extern SF_UINT64 const sfMaximumAmount; extern SF_UINT64 const sfOutstandingAmount; -extern SF_UINT64 const sfLockedAmount; extern SF_UINT64 const sfMPTAmount; // 128-bit @@ -661,7 +660,6 @@ extern SField const sfXChainClaimProofSig; extern SField const sfXChainCreateAccountProofSig; extern SField const sfXChainClaimAttestationCollectionElement; extern SField const sfXChainCreateAccountAttestationCollectionElement; -extern SField const MPToken; // array of objects (common) // ARRAY/1 is reserved for end of array diff --git a/include/xrpl/protocol/TER.h b/include/xrpl/protocol/TER.h index b4dcd6ff875..70234fa994a 100644 --- a/include/xrpl/protocol/TER.h +++ b/include/xrpl/protocol/TER.h @@ -125,7 +125,6 @@ enum TEMcodes : TERUnderlyingType { temSEQ_AND_TICKET, temBAD_NFTOKEN_TRANSFER_FEE, - temBAD_MPTOKEN_TRANSFER_FEE, temBAD_AMM_TOKENS, @@ -139,7 +138,9 @@ enum TEMcodes : TERUnderlyingType { temEMPTY_DID, temARRAY_EMPTY, - temARRAY_TOO_LARGE + temARRAY_TOO_LARGE, + + temBAD_TRANSFER_FEE }; //------------------------------------------------------------------------------ diff --git a/include/xrpl/protocol/jss.h b/include/xrpl/protocol/jss.h index 1716be7e7ec..63ffab0604f 100644 --- a/include/xrpl/protocol/jss.h +++ b/include/xrpl/protocol/jss.h @@ -462,7 +462,6 @@ JSS(load_fee); // out: LoadFeeTrackImp, NetworkOPs JSS(local); // out: resource/Logic.h JSS(local_txs); // out: GetCounts JSS(local_static_keys); // out: ValidatorList -JSS(locked_amount); // out: MPTHolders JSS(low); // out: BookChanges JSS(lowest_sequence); // out: AccountInfo JSS(lowest_ticket); // out: AccountInfo diff --git a/src/libxrpl/protocol/LedgerFormats.cpp b/src/libxrpl/protocol/LedgerFormats.cpp index 71f04cd8d10..ebabad3322f 100644 --- a/src/libxrpl/protocol/LedgerFormats.cpp +++ b/src/libxrpl/protocol/LedgerFormats.cpp @@ -375,7 +375,6 @@ LedgerFormats::LedgerFormats() {sfAssetScale, soeDEFAULT}, {sfMaximumAmount, soeOPTIONAL}, {sfOutstandingAmount, soeREQUIRED}, - {sfLockedAmount, soeDEFAULT}, {sfMPTokenMetadata, soeOPTIONAL}, {sfPreviousTxnID, soeREQUIRED}, {sfPreviousTxnLgrSeq, soeREQUIRED} @@ -388,7 +387,6 @@ LedgerFormats::LedgerFormats() {sfAccount, soeREQUIRED}, {sfMPTokenIssuanceID, soeREQUIRED}, {sfMPTAmount, soeDEFAULT}, - {sfLockedAmount, soeDEFAULT}, {sfOwnerNode, soeREQUIRED}, {sfPreviousTxnID, soeREQUIRED}, {sfPreviousTxnLgrSeq, soeREQUIRED} diff --git a/src/libxrpl/protocol/SField.cpp b/src/libxrpl/protocol/SField.cpp index dc4bfb69a21..85aca815acc 100644 --- a/src/libxrpl/protocol/SField.cpp +++ b/src/libxrpl/protocol/SField.cpp @@ -196,8 +196,7 @@ CONSTRUCT_TYPED_SFIELD(sfXChainAccountClaimCount, "XChainAccountClaimCount", U CONSTRUCT_TYPED_SFIELD(sfAssetPrice, "AssetPrice", UINT64, 23); CONSTRUCT_TYPED_SFIELD(sfMaximumAmount, "MaximumAmount", UINT64, 24); CONSTRUCT_TYPED_SFIELD(sfOutstandingAmount, "OutstandingAmount", UINT64, 25); -CONSTRUCT_TYPED_SFIELD(sfLockedAmount, "LockedAmount", UINT64, 26); -CONSTRUCT_TYPED_SFIELD(sfMPTAmount, "MPTAmount", UINT64, 27); +CONSTRUCT_TYPED_SFIELD(sfMPTAmount, "MPTAmount", UINT64, 26); // 128-bit CONSTRUCT_TYPED_SFIELD(sfEmailHash, "EmailHash", UINT128, 1); diff --git a/src/libxrpl/protocol/STInteger.cpp b/src/libxrpl/protocol/STInteger.cpp index 148a05d2ab6..2db4ff32c34 100644 --- a/src/libxrpl/protocol/STInteger.cpp +++ b/src/libxrpl/protocol/STInteger.cpp @@ -206,8 +206,7 @@ Json::Value STUInt64::getJson(JsonOptions) const }; if (auto const& fName = getFName(); fName == sfMaximumAmount || - fName == sfOutstandingAmount || fName == sfLockedAmount || - fName == sfMPTAmount) + fName == sfOutstandingAmount || fName == sfMPTAmount) { return convertToString(value_, 10); // Convert to base 10 } diff --git a/src/libxrpl/protocol/STParsedJSON.cpp b/src/libxrpl/protocol/STParsedJSON.cpp index 7e6b8ff5975..1ca4e83d9e6 100644 --- a/src/libxrpl/protocol/STParsedJSON.cpp +++ b/src/libxrpl/protocol/STParsedJSON.cpp @@ -399,8 +399,7 @@ parseLeaf( std::uint64_t val; bool const useBase10 = field == sfMaximumAmount || - field == sfOutstandingAmount || - field == sfLockedAmount || field == sfMPTAmount; + field == sfOutstandingAmount || field == sfMPTAmount; // if the field is amount, serialize as base 10 auto [p, ec] = std::from_chars( diff --git a/src/libxrpl/protocol/TER.cpp b/src/libxrpl/protocol/TER.cpp index 45da1f30e56..9fead8ae339 100644 --- a/src/libxrpl/protocol/TER.cpp +++ b/src/libxrpl/protocol/TER.cpp @@ -202,7 +202,6 @@ transResults() MAKE_ERROR(temINVALID_COUNT, "Malformed: Count field outside valid range."), MAKE_ERROR(temSEQ_AND_TICKET, "Transaction contains a TicketSequence and a non-zero Sequence."), MAKE_ERROR(temBAD_NFTOKEN_TRANSFER_FEE, "Malformed: The NFToken transfer fee must be between 1 and 5000, inclusive."), - MAKE_ERROR(temBAD_MPTOKEN_TRANSFER_FEE, "Malformed: The MPToken transfer fee must be between 1 and 5000, inclusive."), MAKE_ERROR(temXCHAIN_EQUAL_DOOR_ACCOUNTS, "Malformed: Bridge must have unique door accounts."), MAKE_ERROR(temXCHAIN_BAD_PROOF, "Malformed: Bad cross-chain claim proof."), MAKE_ERROR(temXCHAIN_BRIDGE_BAD_ISSUES, "Malformed: Bad bridge issues."), @@ -211,6 +210,7 @@ transResults() MAKE_ERROR(temXCHAIN_BRIDGE_BAD_REWARD_AMOUNT, "Malformed: Bad reward amount."), MAKE_ERROR(temARRAY_EMPTY, "Malformed: Array is empty."), MAKE_ERROR(temARRAY_TOO_LARGE, "Malformed: Array is too large."), + MAKE_ERROR(temBAD_TRANSFER_FEE, "Malformed: Transfer fee is outside valid range."), MAKE_ERROR(terRETRY, "Retry transaction."), MAKE_ERROR(terFUNDS_SPENT, "DEPRECATED."), diff --git a/src/test/app/MPToken_test.cpp b/src/test/app/MPToken_test.cpp index df37651d8a4..7516c124edb 100644 --- a/src/test/app/MPToken_test.cpp +++ b/src/test/app/MPToken_test.cpp @@ -66,7 +66,7 @@ class MPToken_test : public beast::unit_test::suite .transferFee = maxTransferFee + 1, .metadata = "test", .flags = tfMPTCanTransfer, - .err = temBAD_MPTOKEN_TRANSFER_FEE}); + .err = temBAD_TRANSFER_FEE}); // tries to set a txfee while not enabling transfer mptAlice.create( diff --git a/src/xrpld/app/tx/detail/MPTokenIssuanceCreate.cpp b/src/xrpld/app/tx/detail/MPTokenIssuanceCreate.cpp index de01341e296..881e24bfa20 100644 --- a/src/xrpld/app/tx/detail/MPTokenIssuanceCreate.cpp +++ b/src/xrpld/app/tx/detail/MPTokenIssuanceCreate.cpp @@ -40,7 +40,7 @@ MPTokenIssuanceCreate::preflight(PreflightContext const& ctx) if (auto const fee = ctx.tx[~sfTransferFee]) { if (fee > maxTransferFee) - return temBAD_MPTOKEN_TRANSFER_FEE; + return temBAD_TRANSFER_FEE; // If a non-zero TransferFee is set then the tfTransferable flag // must also be set. diff --git a/src/xrpld/ledger/detail/View.cpp b/src/xrpld/ledger/detail/View.cpp index 6e1f4536fcc..51810286813 100644 --- a/src/xrpld/ledger/detail/View.cpp +++ b/src/xrpld/ledger/detail/View.cpp @@ -329,10 +329,7 @@ accountHolds( amount.clear(mptIssue); else { - auto const amt = sleMpt->getFieldU64(sfMPTAmount); - auto const locked = sleMpt->getFieldU64(sfLockedAmount); - if (amt > locked) - amount = STAmount{mptIssue, amt - locked}; + amount = STAmount{mptIssue, sleMpt->getFieldU64(sfMPTAmount)}; // only if auth check is needed, as it needs to do an additional read // operation