mirror of
https://github.com/XRPLF/rippled.git
synced 2026-06-06 10:16:45 +00:00
Prefix confidential transfer transaction names with "MPT" (#6312)
This commit is contained in:
@@ -28,7 +28,7 @@ getSendContextHash(
|
||||
std::uint32_t version)
|
||||
{
|
||||
Serializer s;
|
||||
addCommonZKPFields(s, ttCONFIDENTIAL_SEND, account, sequence, issuanceID);
|
||||
addCommonZKPFields(s, ttCONFIDENTIAL_MPT_SEND, account, sequence, issuanceID);
|
||||
|
||||
s.addBitString(destination);
|
||||
s.addInteger(version);
|
||||
@@ -45,7 +45,7 @@ getClawbackContextHash(
|
||||
AccountID const& holder)
|
||||
{
|
||||
Serializer s;
|
||||
addCommonZKPFields(s, ttCONFIDENTIAL_CLAWBACK, account, sequence, issuanceID);
|
||||
addCommonZKPFields(s, ttCONFIDENTIAL_MPT_CLAWBACK, account, sequence, issuanceID);
|
||||
|
||||
s.add64(amount);
|
||||
s.addBitString(holder);
|
||||
@@ -57,7 +57,7 @@ uint256
|
||||
getConvertContextHash(AccountID const& account, std::uint32_t sequence, uint192 const& issuanceID, std::uint64_t amount)
|
||||
{
|
||||
Serializer s;
|
||||
addCommonZKPFields(s, ttCONFIDENTIAL_CONVERT, account, sequence, issuanceID);
|
||||
addCommonZKPFields(s, ttCONFIDENTIAL_MPT_CONVERT, account, sequence, issuanceID);
|
||||
|
||||
s.add64(amount);
|
||||
|
||||
@@ -73,7 +73,7 @@ getConvertBackContextHash(
|
||||
std::uint32_t version)
|
||||
{
|
||||
Serializer s;
|
||||
addCommonZKPFields(s, ttCONFIDENTIAL_CONVERT_BACK, account, sequence, issuanceID);
|
||||
addCommonZKPFields(s, ttCONFIDENTIAL_MPT_CONVERT_BACK, account, sequence, issuanceID);
|
||||
|
||||
s.add64(amount);
|
||||
s.addInteger(version);
|
||||
|
||||
@@ -1028,7 +1028,7 @@ class ConfidentialTransfer_test : public beast::unit_test::suite
|
||||
void
|
||||
testSendPreflight(FeatureBitset features)
|
||||
{
|
||||
testcase("test ConfidentialSend Preflight");
|
||||
testcase("test ConfidentialMPTSend Preflight");
|
||||
using namespace test::jtx;
|
||||
|
||||
// test disabled
|
||||
@@ -1166,7 +1166,7 @@ class ConfidentialTransfer_test : public beast::unit_test::suite
|
||||
void
|
||||
testSendPreclaim(FeatureBitset features)
|
||||
{
|
||||
testcase("test ConfidentialSend Preclaim");
|
||||
testcase("test ConfidentialMPTSend Preclaim");
|
||||
|
||||
using namespace test::jtx;
|
||||
Env env{*this, features};
|
||||
@@ -1228,7 +1228,7 @@ class ConfidentialTransfer_test : public beast::unit_test::suite
|
||||
Json::Value jv;
|
||||
jv[jss::Account] = bob.human();
|
||||
jv[jss::Destination] = carol.human();
|
||||
jv[jss::TransactionType] = jss::ConfidentialSend;
|
||||
jv[jss::TransactionType] = jss::ConfidentialMPTSend;
|
||||
jv[sfMPTokenIssuanceID] = to_string(mptAlice.issuanceID());
|
||||
jv[sfSenderEncryptedAmount] = strHex(getTrivialCiphertext());
|
||||
jv[sfDestinationEncryptedAmount] = strHex(getTrivialCiphertext());
|
||||
@@ -2082,7 +2082,7 @@ class ConfidentialTransfer_test : public beast::unit_test::suite
|
||||
void
|
||||
testClawback(FeatureBitset features)
|
||||
{
|
||||
testcase("test ConfidentialClawback");
|
||||
testcase("test ConfidentialMPTClawback");
|
||||
using namespace test::jtx;
|
||||
|
||||
Env env{*this, features};
|
||||
@@ -2159,7 +2159,7 @@ class ConfidentialTransfer_test : public beast::unit_test::suite
|
||||
void
|
||||
testClawbackWithAuditor(FeatureBitset features)
|
||||
{
|
||||
testcase("test ConfidentialClawback with auditor");
|
||||
testcase("test ConfidentialMPTClawback with auditor");
|
||||
using namespace test::jtx;
|
||||
|
||||
Env env{*this, features};
|
||||
@@ -2241,7 +2241,7 @@ class ConfidentialTransfer_test : public beast::unit_test::suite
|
||||
void
|
||||
testClawbackPreflight(FeatureBitset features)
|
||||
{
|
||||
testcase("test ConfidentialClawback Preflight");
|
||||
testcase("test ConfidentialMPTClawback Preflight");
|
||||
using namespace test::jtx;
|
||||
|
||||
// test feature disabled
|
||||
@@ -2285,7 +2285,7 @@ class ConfidentialTransfer_test : public beast::unit_test::suite
|
||||
Json::Value jv;
|
||||
jv[jss::Account] = alice.human();
|
||||
jv[sfHolder] = bob.human();
|
||||
jv[jss::TransactionType] = jss::ConfidentialClawback;
|
||||
jv[jss::TransactionType] = jss::ConfidentialMPTClawback;
|
||||
jv[sfMPTAmount] = std::to_string(10);
|
||||
jv[sfZKProof] = "123";
|
||||
|
||||
@@ -2408,7 +2408,7 @@ class ConfidentialTransfer_test : public beast::unit_test::suite
|
||||
Json::Value jv;
|
||||
jv[jss::Account] = alice.human();
|
||||
jv[sfHolder] = bob.human();
|
||||
jv[jss::TransactionType] = jss::ConfidentialClawback;
|
||||
jv[jss::TransactionType] = jss::ConfidentialMPTClawback;
|
||||
jv[sfMPTAmount] = std::to_string(10);
|
||||
std::string const dummyProof(196, '0');
|
||||
jv[sfZKProof] = dummyProof;
|
||||
@@ -2490,7 +2490,7 @@ class ConfidentialTransfer_test : public beast::unit_test::suite
|
||||
void
|
||||
testClawbackProof(FeatureBitset features)
|
||||
{
|
||||
testcase("ConfidentialClawback Proof");
|
||||
testcase("ConfidentialMPTClawback Proof");
|
||||
using namespace test::jtx;
|
||||
|
||||
Account const alice("alice");
|
||||
@@ -2951,14 +2951,14 @@ class ConfidentialTransfer_test : public beast::unit_test::suite
|
||||
|
||||
testSetPreflight(features);
|
||||
|
||||
// ConfidentialSend
|
||||
// ConfidentialMPTSend
|
||||
testSend(features);
|
||||
testSendPreflight(features);
|
||||
testSendPreclaim(features);
|
||||
testSendDepositPreauth(features);
|
||||
testSendWithAuditor(features);
|
||||
|
||||
// ConfidentialClawback
|
||||
// ConfidentialMPTClawback
|
||||
testClawback(features);
|
||||
testClawbackPreflight(features);
|
||||
testClawbackPreclaim(features);
|
||||
|
||||
@@ -977,7 +977,7 @@ MPTTester::convert(MPTConvert const& arg)
|
||||
else
|
||||
Throw<std::runtime_error>("Account not specified");
|
||||
|
||||
jv[jss::TransactionType] = jss::ConfidentialConvert;
|
||||
jv[jss::TransactionType] = jss::ConfidentialMPTConvert;
|
||||
if (arg.id)
|
||||
jv[sfMPTokenIssuanceID] = to_string(*arg.id);
|
||||
else
|
||||
@@ -1100,7 +1100,7 @@ void
|
||||
MPTTester::send(MPTConfidentialSend const& arg)
|
||||
{
|
||||
Json::Value jv;
|
||||
jv[jss::TransactionType] = jss::ConfidentialSend;
|
||||
jv[jss::TransactionType] = jss::ConfidentialMPTSend;
|
||||
|
||||
if (arg.account)
|
||||
jv[sfAccount] = arg.account->human();
|
||||
@@ -1361,7 +1361,7 @@ MPTTester::confidentialClaw(MPTConfidentialClawback const& arg)
|
||||
else
|
||||
Throw<std::runtime_error>("Holder not specified");
|
||||
|
||||
jv[jss::TransactionType] = jss::ConfidentialClawback;
|
||||
jv[jss::TransactionType] = jss::ConfidentialMPTClawback;
|
||||
if (arg.id)
|
||||
jv[sfMPTokenIssuanceID] = to_string(*arg.id);
|
||||
else if (id_)
|
||||
@@ -1536,7 +1536,7 @@ MPTTester::mergeInbox(MPTMergeInbox const& arg)
|
||||
jv[sfMPTokenIssuanceID] = to_string(*id_);
|
||||
}
|
||||
|
||||
jv[sfTransactionType] = jss::ConfidentialMergeInbox;
|
||||
jv[sfTransactionType] = jss::ConfidentialMPTMergeInbox;
|
||||
auto const prevInboxBalance = getDecryptedBalance(*arg.account, HOLDER_ENCRYPTED_INBOX);
|
||||
auto const prevSpendingBalance = getDecryptedBalance(*arg.account, HOLDER_ENCRYPTED_SPENDING);
|
||||
auto const prevIssuerBalance = getDecryptedBalance(*arg.account, ISSUER_ENCRYPTED_BALANCE);
|
||||
@@ -1603,7 +1603,7 @@ MPTTester::convertBack(MPTConvertBack const& arg)
|
||||
else
|
||||
Throw<std::runtime_error>("Account not specified");
|
||||
|
||||
jv[jss::TransactionType] = jss::ConfidentialConvertBack;
|
||||
jv[jss::TransactionType] = jss::ConfidentialMPTConvertBack;
|
||||
if (arg.id)
|
||||
jv[sfMPTokenIssuanceID] = to_string(*arg.id);
|
||||
else
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include <xrpld/app/tx/detail/ConfidentialClawback.h>
|
||||
#include <xrpld/app/tx/detail/ConfidentialMPTClawback.h>
|
||||
|
||||
#include <xrpl/ledger/View.h>
|
||||
#include <xrpl/protocol/ConfidentialTransfer.h>
|
||||
@@ -11,7 +11,7 @@
|
||||
namespace xrpl {
|
||||
|
||||
NotTEC
|
||||
ConfidentialClawback::preflight(PreflightContext const& ctx)
|
||||
ConfidentialMPTClawback::preflight(PreflightContext const& ctx)
|
||||
{
|
||||
if (!ctx.rules.enabled(featureConfidentialTransfer))
|
||||
return temDISABLED;
|
||||
@@ -39,7 +39,7 @@ ConfidentialClawback::preflight(PreflightContext const& ctx)
|
||||
}
|
||||
|
||||
TER
|
||||
ConfidentialClawback::preclaim(PreclaimContext const& ctx)
|
||||
ConfidentialMPTClawback::preclaim(PreclaimContext const& ctx)
|
||||
{
|
||||
// Check if sender account exists
|
||||
auto const account = ctx.tx[sfAccount];
|
||||
@@ -96,7 +96,7 @@ ConfidentialClawback::preclaim(PreclaimContext const& ctx)
|
||||
}
|
||||
|
||||
TER
|
||||
ConfidentialClawback::doApply()
|
||||
ConfidentialMPTClawback::doApply()
|
||||
{
|
||||
auto const mptIssuanceID = ctx_.tx[sfMPTokenIssuanceID];
|
||||
auto const holder = ctx_.tx[sfHolder];
|
||||
@@ -5,12 +5,12 @@
|
||||
|
||||
namespace xrpl {
|
||||
|
||||
class ConfidentialClawback : public Transactor
|
||||
class ConfidentialMPTClawback : public Transactor
|
||||
{
|
||||
public:
|
||||
static constexpr ConsequencesFactoryType ConsequencesFactory{Normal};
|
||||
|
||||
explicit ConfidentialClawback(ApplyContext& ctx) : Transactor(ctx)
|
||||
explicit ConfidentialMPTClawback(ApplyContext& ctx) : Transactor(ctx)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include <xrpld/app/tx/detail/ConfidentialConvert.h>
|
||||
#include <xrpld/app/tx/detail/ConfidentialMPTConvert.h>
|
||||
|
||||
#include <xrpl/ledger/View.h>
|
||||
#include <xrpl/protocol/ConfidentialTransfer.h>
|
||||
@@ -11,7 +11,7 @@
|
||||
namespace xrpl {
|
||||
|
||||
NotTEC
|
||||
ConfidentialConvert::preflight(PreflightContext const& ctx)
|
||||
ConfidentialMPTConvert::preflight(PreflightContext const& ctx)
|
||||
{
|
||||
if (!ctx.rules.enabled(featureConfidentialTransfer))
|
||||
return temDISABLED;
|
||||
@@ -56,7 +56,7 @@ ConfidentialConvert::preflight(PreflightContext const& ctx)
|
||||
}
|
||||
|
||||
TER
|
||||
ConfidentialConvert::preclaim(PreclaimContext const& ctx)
|
||||
ConfidentialMPTConvert::preclaim(PreclaimContext const& ctx)
|
||||
{
|
||||
auto const account = ctx.tx[sfAccount];
|
||||
auto const issuanceID = ctx.tx[sfMPTokenIssuanceID];
|
||||
@@ -149,7 +149,7 @@ ConfidentialConvert::preclaim(PreclaimContext const& ctx)
|
||||
}
|
||||
|
||||
TER
|
||||
ConfidentialConvert::doApply()
|
||||
ConfidentialMPTConvert::doApply()
|
||||
{
|
||||
auto const mptIssuanceID = ctx_.tx[sfMPTokenIssuanceID];
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
|
||||
namespace xrpl {
|
||||
|
||||
class ConfidentialConvert : public Transactor
|
||||
class ConfidentialMPTConvert : public Transactor
|
||||
{
|
||||
public:
|
||||
static constexpr ConsequencesFactoryType ConsequencesFactory{Normal};
|
||||
|
||||
explicit ConfidentialConvert(ApplyContext& ctx) : Transactor(ctx)
|
||||
explicit ConfidentialMPTConvert(ApplyContext& ctx) : Transactor(ctx)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include <xrpld/app/tx/detail/ConfidentialConvertBack.h>
|
||||
#include <xrpld/app/tx/detail/ConfidentialMPTConvertBack.h>
|
||||
|
||||
#include <xrpl/ledger/View.h>
|
||||
#include <xrpl/protocol/ConfidentialTransfer.h>
|
||||
@@ -13,7 +13,7 @@
|
||||
namespace xrpl {
|
||||
|
||||
NotTEC
|
||||
ConfidentialConvertBack::preflight(PreflightContext const& ctx)
|
||||
ConfidentialMPTConvertBack::preflight(PreflightContext const& ctx)
|
||||
{
|
||||
if (!ctx.rules.enabled(featureConfidentialTransfer))
|
||||
return temDISABLED;
|
||||
@@ -99,7 +99,7 @@ verifyProofs(STTx const& tx, std::shared_ptr<SLE const> const& issuance, std::sh
|
||||
}
|
||||
|
||||
TER
|
||||
ConfidentialConvertBack::preclaim(PreclaimContext const& ctx)
|
||||
ConfidentialMPTConvertBack::preclaim(PreclaimContext const& ctx)
|
||||
{
|
||||
auto const mptIssuanceID = ctx.tx[sfMPTokenIssuanceID];
|
||||
auto const account = ctx.tx[sfAccount];
|
||||
@@ -165,7 +165,7 @@ ConfidentialConvertBack::preclaim(PreclaimContext const& ctx)
|
||||
}
|
||||
|
||||
TER
|
||||
ConfidentialConvertBack::doApply()
|
||||
ConfidentialMPTConvertBack::doApply()
|
||||
{
|
||||
auto const mptIssuanceID = ctx_.tx[sfMPTokenIssuanceID];
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
|
||||
namespace xrpl {
|
||||
|
||||
class ConfidentialConvertBack : public Transactor
|
||||
class ConfidentialMPTConvertBack : public Transactor
|
||||
{
|
||||
public:
|
||||
static constexpr ConsequencesFactoryType ConsequencesFactory{Normal};
|
||||
|
||||
explicit ConfidentialConvertBack(ApplyContext& ctx) : Transactor(ctx)
|
||||
explicit ConfidentialMPTConvertBack(ApplyContext& ctx) : Transactor(ctx)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include <xrpld/app/tx/detail/ConfidentialMergeInbox.h>
|
||||
#include <xrpld/app/tx/detail/ConfidentialMPTMergeInbox.h>
|
||||
|
||||
#include <xrpl/protocol/ConfidentialTransfer.h>
|
||||
#include <xrpl/protocol/Feature.h>
|
||||
@@ -10,7 +10,7 @@
|
||||
namespace xrpl {
|
||||
|
||||
NotTEC
|
||||
ConfidentialMergeInbox::preflight(PreflightContext const& ctx)
|
||||
ConfidentialMPTMergeInbox::preflight(PreflightContext const& ctx)
|
||||
{
|
||||
if (!ctx.rules.enabled(featureConfidentialTransfer))
|
||||
return temDISABLED;
|
||||
@@ -23,7 +23,7 @@ ConfidentialMergeInbox::preflight(PreflightContext const& ctx)
|
||||
}
|
||||
|
||||
TER
|
||||
ConfidentialMergeInbox::preclaim(PreclaimContext const& ctx)
|
||||
ConfidentialMPTMergeInbox::preclaim(PreclaimContext const& ctx)
|
||||
{
|
||||
auto const sleIssuance = ctx.view.read(keylet::mptIssuance(ctx.tx[sfMPTokenIssuanceID]));
|
||||
if (!sleIssuance)
|
||||
@@ -50,7 +50,7 @@ ConfidentialMergeInbox::preclaim(PreclaimContext const& ctx)
|
||||
}
|
||||
|
||||
TER
|
||||
ConfidentialMergeInbox::doApply()
|
||||
ConfidentialMPTMergeInbox::doApply()
|
||||
{
|
||||
auto const mptIssuanceID = ctx_.tx[sfMPTokenIssuanceID];
|
||||
auto sleMptoken = view().peek(keylet::mptoken(mptIssuanceID, account_));
|
||||
@@ -5,12 +5,12 @@
|
||||
|
||||
namespace xrpl {
|
||||
|
||||
class ConfidentialMergeInbox : public Transactor
|
||||
class ConfidentialMPTMergeInbox : public Transactor
|
||||
{
|
||||
public:
|
||||
static constexpr ConsequencesFactoryType ConsequencesFactory{Normal};
|
||||
|
||||
explicit ConfidentialMergeInbox(ApplyContext& ctx) : Transactor(ctx)
|
||||
explicit ConfidentialMPTMergeInbox(ApplyContext& ctx) : Transactor(ctx)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include <xrpld/app/tx/detail/ConfidentialSend.h>
|
||||
#include <xrpld/app/tx/detail/ConfidentialMPTSend.h>
|
||||
|
||||
#include <xrpl/ledger/CredentialHelpers.h>
|
||||
#include <xrpl/ledger/View.h>
|
||||
@@ -12,7 +12,7 @@
|
||||
namespace xrpl {
|
||||
|
||||
NotTEC
|
||||
ConfidentialSend::preflight(PreflightContext const& ctx)
|
||||
ConfidentialMPTSend::preflight(PreflightContext const& ctx)
|
||||
{
|
||||
if (!ctx.rules.enabled(featureConfidentialTransfer))
|
||||
return temDISABLED;
|
||||
@@ -20,7 +20,7 @@ ConfidentialSend::preflight(PreflightContext const& ctx)
|
||||
auto const account = ctx.tx[sfAccount];
|
||||
auto const issuer = MPTIssue(ctx.tx[sfMPTokenIssuanceID]).getIssuer();
|
||||
|
||||
// ConfidentialSend only allows holder to holder, holder to second account,
|
||||
// ConfidentialMPTSend only allows holder to holder, holder to second account,
|
||||
// and second account to holder transfers. So issuer cannot be the sender.
|
||||
if (account == issuer)
|
||||
return temMALFORMED;
|
||||
@@ -137,7 +137,7 @@ verifySendProofs(
|
||||
if (auto const ter = verifyMultiCiphertextEqualityProof(equalityProof, recipients, recipientCount, contextHash);
|
||||
!isTesSuccess(ter))
|
||||
{
|
||||
JLOG(ctx.j.trace()) << "ConfidentialSend: Equality proof failed.";
|
||||
JLOG(ctx.j.trace()) << "ConfidentialMPTSend: Equality proof failed.";
|
||||
return ter;
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ verifySendProofs(
|
||||
contextHash);
|
||||
!isTesSuccess(ter))
|
||||
{
|
||||
JLOG(ctx.j.trace()) << "ConfidentialSend: Amount linkage proof failed.";
|
||||
JLOG(ctx.j.trace()) << "ConfidentialMPTSend: Amount linkage proof failed.";
|
||||
return ter;
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ verifySendProofs(
|
||||
contextHash);
|
||||
!isTesSuccess(ter))
|
||||
{
|
||||
JLOG(ctx.j.trace()) << "ConfidentialSend: Balance linkage proof failed.";
|
||||
JLOG(ctx.j.trace()) << "ConfidentialMPTSend: Balance linkage proof failed.";
|
||||
return ter;
|
||||
}
|
||||
|
||||
@@ -171,7 +171,7 @@ verifySendProofs(
|
||||
}
|
||||
|
||||
TER
|
||||
ConfidentialSend::preclaim(PreclaimContext const& ctx)
|
||||
ConfidentialMPTSend::preclaim(PreclaimContext const& ctx)
|
||||
{
|
||||
// Check if sender account exists
|
||||
auto const account = ctx.tx[sfAccount];
|
||||
@@ -259,7 +259,7 @@ ConfidentialSend::preclaim(PreclaimContext const& ctx)
|
||||
}
|
||||
|
||||
TER
|
||||
ConfidentialSend::doApply()
|
||||
ConfidentialMPTSend::doApply()
|
||||
{
|
||||
auto const mptIssuanceID = ctx_.tx[sfMPTokenIssuanceID];
|
||||
auto const destination = ctx_.tx[sfDestination];
|
||||
@@ -5,12 +5,12 @@
|
||||
|
||||
namespace xrpl {
|
||||
|
||||
class ConfidentialSend : public Transactor
|
||||
class ConfidentialMPTSend : public Transactor
|
||||
{
|
||||
public:
|
||||
static constexpr ConsequencesFactoryType ConsequencesFactory{Normal};
|
||||
|
||||
explicit ConfidentialSend(ApplyContext& ctx) : Transactor(ctx)
|
||||
explicit ConfidentialMPTSend(ApplyContext& ctx) : Transactor(ctx)
|
||||
{
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user