aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_basic/cryptonote_format_utils.h
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2019-03-05 14:09:19 +0200
committerRiccardo Spagni <ric@spagni.net>2019-03-05 14:09:19 +0200
commited6aa76cca69e4f6d0b84eb55ef7061dc4b6fc77 (patch)
treeb5cb515fa3db4dea131a3e1a3162ce3ee820b946 /src/cryptonote_basic/cryptonote_format_utils.h
parent39d7d3113bfe3655e721fa08b132d3b7fbcfb9b3 (diff)
parentc4851024ced48988c9a61db2a89b0cfd0c56915a (diff)
downloadmonzero-core-ed6aa76cca69e4f6d0b84eb55ef7061dc4b6fc77.tar.gz
monzero-core-ed6aa76cca69e4f6d0b84eb55ef7061dc4b6fc77.tar.xz
monzero-core-ed6aa76cca69e4f6d0b84eb55ef7061dc4b6fc77.zip
Merge pull request #5100
c4851024 wallet_rpc_server: avoid repeated string allocations when parsing (moneromooo-monero) 88c85c18 cryptonote: avoid double parsing blocks when syncing (moneromooo-monero) 9feda0ee cryptonote: speed up calculating coinbase tx prunable hash (moneromooo-monero) 238401d4 core: avoid double parsing blocks after hoh (moneromooo-monero) dc5a7609 blockchain: avoid unneeded block copy (moneromooo-monero) 79b4e9f3 save some database calls when getting top block hash and height (moneromooo-monero) 98278808 blockchain: avoid pointless transaction copy and temporary (moneromooo-monero) 07d655e4 blockchain: avoid duplicate block hash computation (moneromooo-monero) f75d51ab core: avoid calculating tx prefix hash when we don't need it (moneromooo-monero) b044d03a Avoid repeated (de)serialization when syncing (moneromooo-monero) b747e836 wallet2: don't calculate prefix hash when we don't need it (moneromooo-monero) e69477bf db: speedup block addition (moneromooo-monero)
Diffstat (limited to 'src/cryptonote_basic/cryptonote_format_utils.h')
-rw-r--r--src/cryptonote_basic/cryptonote_format_utils.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/cryptonote_basic/cryptonote_format_utils.h b/src/cryptonote_basic/cryptonote_format_utils.h
index 994978c10..92dbdbff0 100644
--- a/src/cryptonote_basic/cryptonote_format_utils.h
+++ b/src/cryptonote_basic/cryptonote_format_utils.h
@@ -51,6 +51,7 @@ namespace cryptonote
crypto::hash get_transaction_prefix_hash(const transaction_prefix& tx);
bool parse_and_validate_tx_prefix_from_blob(const blobdata& tx_blob, transaction_prefix& tx);
bool parse_and_validate_tx_from_blob(const blobdata& tx_blob, transaction& tx, crypto::hash& tx_hash, crypto::hash& tx_prefix_hash);
+ bool parse_and_validate_tx_from_blob(const blobdata& tx_blob, transaction& tx, crypto::hash& tx_hash);
bool parse_and_validate_tx_from_blob(const blobdata& tx_blob, transaction& tx);
bool parse_and_validate_tx_base_from_blob(const blobdata& tx_blob, transaction& tx);
bool is_v1_tx(const blobdata_ref& tx_blob);
@@ -98,15 +99,17 @@ namespace cryptonote
bool generate_key_image_helper(const account_keys& ack, const std::unordered_map<crypto::public_key, subaddress_index>& subaddresses, const crypto::public_key& out_key, const crypto::public_key& tx_public_key, const std::vector<crypto::public_key>& additional_tx_public_keys, size_t real_output_index, keypair& in_ephemeral, crypto::key_image& ki, hw::device &hwdev);
bool generate_key_image_helper_precomp(const account_keys& ack, const crypto::public_key& out_key, const crypto::key_derivation& recv_derivation, size_t real_output_index, const subaddress_index& received_index, keypair& in_ephemeral, crypto::key_image& ki, hw::device &hwdev);
void get_blob_hash(const blobdata& blob, crypto::hash& res);
+ void get_blob_hash(const epee::span<const char>& blob, crypto::hash& res);
crypto::hash get_blob_hash(const blobdata& blob);
+ crypto::hash get_blob_hash(const epee::span<const char>& blob);
std::string short_hash_str(const crypto::hash& h);
crypto::hash get_transaction_hash(const transaction& t);
bool get_transaction_hash(const transaction& t, crypto::hash& res);
bool get_transaction_hash(const transaction& t, crypto::hash& res, size_t& blob_size);
bool get_transaction_hash(const transaction& t, crypto::hash& res, size_t* blob_size);
- bool calculate_transaction_prunable_hash(const transaction& t, crypto::hash& res);
- crypto::hash get_transaction_prunable_hash(const transaction& t);
+ bool calculate_transaction_prunable_hash(const transaction& t, const cryptonote::blobdata *blob, crypto::hash& res);
+ crypto::hash get_transaction_prunable_hash(const transaction& t, const cryptonote::blobdata *blob = NULL);
bool calculate_transaction_hash(const transaction& t, crypto::hash& res, size_t* blob_size);
crypto::hash get_pruned_transaction_hash(const transaction& t, const crypto::hash &pruned_data_hash);