4#include <gtest/gtest.h>
6#include <protocol_autogen/TestHelpers.h>
8#include <xrpl/protocol/SecretKey.h>
9#include <xrpl/protocol/Seed.h>
10#include <xrpl/protocol/STTx.h>
11#include <xrpl/protocol_autogen/transactions/ConfidentialMPTClawback.h>
12#include <xrpl/protocol_autogen/transactions/AccountSet.h>
20TEST(TransactionsConfidentialMPTClawbackTests, BuilderSettersRoundTrip)
23 auto const [publicKey, secretKey] =
39 mPTokenIssuanceIDValue,
49 auto tx = builder.
build(publicKey, secretKey);
52 EXPECT_TRUE(tx.validate(reason)) << reason;
55 EXPECT_FALSE(tx.getSigningPubKey().empty());
56 EXPECT_TRUE(tx.hasTxnSignature());
59 EXPECT_EQ(tx.getAccount(), accountValue);
60 EXPECT_EQ(tx.getSequence(), sequenceValue);
61 EXPECT_EQ(tx.getFee(), feeValue);
65 auto const& expected = mPTokenIssuanceIDValue;
66 auto const actual = tx.getMPTokenIssuanceID();
71 auto const& expected = holderValue;
72 auto const actual = tx.getHolder();
77 auto const& expected = mPTAmountValue;
78 auto const actual = tx.getMPTAmount();
83 auto const& expected = zKProofValue;
84 auto const actual = tx.getZKProof();
93TEST(TransactionsConfidentialMPTClawbackTests, BuilderFromStTxRoundTrip)
96 auto const [publicKey, secretKey] =
113 mPTokenIssuanceIDValue,
122 auto initialTx = initialBuilder.
build(publicKey, secretKey);
127 auto rebuiltTx = builderFromTx.
build(publicKey, secretKey);
130 EXPECT_TRUE(rebuiltTx.validate(reason)) << reason;
133 EXPECT_EQ(rebuiltTx.getAccount(), accountValue);
134 EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue);
135 EXPECT_EQ(rebuiltTx.getFee(), feeValue);
139 auto const& expected = mPTokenIssuanceIDValue;
140 auto const actual = rebuiltTx.getMPTokenIssuanceID();
145 auto const& expected = holderValue;
146 auto const actual = rebuiltTx.getHolder();
151 auto const& expected = mPTAmountValue;
152 auto const actual = rebuiltTx.getMPTAmount();
157 auto const& expected = zKProofValue;
158 auto const actual = rebuiltTx.getZKProof();
166TEST(TransactionsConfidentialMPTClawbackTests, WrapperThrowsOnWrongTxType)
169 auto const [pk, sk] =
174 auto wrongTx = wrongBuilder.
build(pk, sk);
180TEST(TransactionsConfidentialMPTClawbackTests, BuilderThrowsOnWrongTxType)
183 auto const [pk, sk] =
188 auto wrongTx = wrongBuilder.
build(pk, sk);
Builder for AccountSet transactions.
AccountSet build(PublicKey const &publicKey, SecretKey const &secretKey)
Build and return the AccountSet wrapper.
Builder for ConfidentialMPTClawback transactions.
ConfidentialMPTClawback build(PublicKey const &publicKey, SecretKey const &secretKey)
Build and return the ConfidentialMPTClawback wrapper.
Transaction: ConfidentialMPTClawback.
TEST(TransactionsAccountDeleteTests, BuilderSettersRoundTrip)
AccountValue canonical_ACCOUNT()
UInt192Value canonical_UINT192()
Seed generateSeed(std::string const &passPhrase)
Generate a seed deterministically.
std::pair< PublicKey, SecretKey > generateKeyPair(KeyType type, Seed const &seed)
Generate a key pair deterministically.
AmountValue canonical_AMOUNT()
AccountID calcAccountID(PublicKey const &pk)
UInt64Value canonical_UINT64()
void expectEqualField(T const &expected, T const &actual, char const *fieldName)