Monero
Loading...
Searching...
No Matches
ver_rct_non_semantics_simple_cached.cpp File Reference
#include <sstream>
#include "gtest/gtest.h"
#include "unit_tests_utils.h"
#include "cryptonote_basic/cryptonote_format_utils.h"
#include "cryptonote_core/blockchain.h"
#include "file_io_utils.h"
#include "misc_log_ex.h"
#include "ringct/rctSigs.h"
Include dependency graph for ver_rct_non_semantics_simple_cached.cpp:

Namespaces

namespace  cryptonote
 Holds cryptonote related classes and helpers.

Macros

#define IN_UNIT_TESTS
#define SERIALIZABLE_SIG_CHANGES_SUBTEST(fieldmodifyclause)
#define UNSERIALIZABLE_SIG_CHANGES_SUBTEST(fieldmodifyclause)
#define SERIALIZABLE_MIXRING_CHANGES_SUBTEST(fieldmodifyclause)
#define EXPAND_TRANSACTION_2_FAILURES_SUBTEST(fieldmodifyclause)

Functions

bool cryptonote::expand_transaction_1 (transaction &tx, bool base_only)
 TEST (verRctNonSemanticsSimple, tx1_preconditions)
 TEST (verRctNonSemanticsSimple, serializable_sig_changes)
 TEST (verRctNonSemanticsSimple, unserializable_sig_changes)
 TEST (verRctNonSemanticsSimple, serializable_mixring_changes)
 TEST (verRctNonSemanticsSimple, expand_transaction_2_failures)

Macro Definition Documentation

◆ EXPAND_TRANSACTION_2_FAILURES_SUBTEST

#define EXPAND_TRANSACTION_2_FAILURES_SUBTEST ( fieldmodifyclause)
Value:
do { \
cryptonote::transaction test_tx = original_tx; \
test_tx.fieldmodifyclause; \
test_tx.invalidate_hashes(); \
EXPECT_FALSE(check_tx_is_expanded(test_tx, original_mixring)); \
} while (0); \
Definition cryptonote_basic.h:205
void invalidate_hashes()
Definition cryptonote_basic.h:431

◆ IN_UNIT_TESTS

#define IN_UNIT_TESTS

◆ SERIALIZABLE_MIXRING_CHANGES_SUBTEST

#define SERIALIZABLE_MIXRING_CHANGES_SUBTEST ( fieldmodifyclause)
Value:
do { \
using mr_mod_func_t = std::function<void(rct::ctkeyM&)>; \
const mr_mod_func_t mr_modifier_func = [&](rct::ctkeyM& mr) { mr fieldmodifyclause; }; \
EXPECT_TRUE(modification_changes_do_serialize(original_mixring, mr_modifier_func, true)); \
} while (0); \
std::vector< ctkeyV > ctkeyM
Definition rctTypes.h:110

◆ SERIALIZABLE_SIG_CHANGES_SUBTEST

#define SERIALIZABLE_SIG_CHANGES_SUBTEST ( fieldmodifyclause)
Value:
do { \
const auto sig_modifier_func = [](rct::rctSig& rs) { rs.fieldmodifyclause; }; \
EXPECT_TRUE(modification_changes_do_serialize(original_sig, sig_modifier_func, true)); \
} while (0); \
Definition rctTypes.h:613

◆ UNSERIALIZABLE_SIG_CHANGES_SUBTEST

#define UNSERIALIZABLE_SIG_CHANGES_SUBTEST ( fieldmodifyclause)
Value:
do { \
const auto sig_modifier_func = [](rct::rctSig& rs) { rs.fieldmodifyclause; }; \
EXPECT_FALSE(modification_changes_do_serialize(original_sig, sig_modifier_func, false)); \
} while (0); \

Function Documentation

◆ TEST() [1/5]

TEST ( verRctNonSemanticsSimple ,
expand_transaction_2_failures  )

◆ TEST() [2/5]

TEST ( verRctNonSemanticsSimple ,
serializable_mixring_changes  )

◆ TEST() [3/5]

TEST ( verRctNonSemanticsSimple ,
serializable_sig_changes  )

◆ TEST() [4/5]

TEST ( verRctNonSemanticsSimple ,
tx1_preconditions  )

◆ TEST() [5/5]

TEST ( verRctNonSemanticsSimple ,
unserializable_sig_changes  )