aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_core/blockchain.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cryptonote_core/blockchain.h')
-rw-r--r--src/cryptonote_core/blockchain.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/cryptonote_core/blockchain.h b/src/cryptonote_core/blockchain.h
index c61ce4466..42246fca2 100644
--- a/src/cryptonote_core/blockchain.h
+++ b/src/cryptonote_core/blockchain.h
@@ -57,6 +57,7 @@
#include "rpc/core_rpc_server_commands_defs.h"
#include "cryptonote_basic/difficulty.h"
#include "cryptonote_tx_utils.h"
+#include "tx_verification_utils.h"
#include "cryptonote_basic/verification_context.h"
#include "crypto/hash.h"
#include "checkpoints/checkpoints.h"
@@ -597,6 +598,15 @@ namespace cryptonote
bool store_blockchain();
/**
+ * @brief expands v2 transaction data from blockchain
+ *
+ * RingCT transactions do not transmit some of their data if it
+ * can be reconstituted by the receiver. This function expands
+ * that implicit data.
+ */
+ static bool expand_transaction_2(transaction &tx, const crypto::hash &tx_prefix_hash, const std::vector<std::vector<rct::ctkey>> &pubkeys);
+
+ /**
* @brief validates a transaction's inputs
*
* validates a transaction's inputs as correctly used and not previously
@@ -1222,6 +1232,9 @@ namespace cryptonote
uint64_t m_prepare_nblocks;
std::vector<block> *m_prepare_blocks;
+ // cache for verifying transaction RCT non semantics
+ mutable rct_ver_cache_t m_rct_ver_cache;
+
/**
* @brief collects the keys for all outputs being "spent" as an input
*
@@ -1575,15 +1588,6 @@ namespace cryptonote
void load_compiled_in_block_hashes(const GetCheckpointsCallback& get_checkpoints);
/**
- * @brief expands v2 transaction data from blockchain
- *
- * RingCT transactions do not transmit some of their data if it
- * can be reconstituted by the receiver. This function expands
- * that implicit data.
- */
- bool expand_transaction_2(transaction &tx, const crypto::hash &tx_prefix_hash, const std::vector<std::vector<rct::ctkey>> &pubkeys) const;
-
- /**
* @brief invalidates any cached block template
*/
void invalidate_block_template_cache();