aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_basic/cryptonote_format_utils.h
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2018-08-03 10:21:08 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2018-10-07 11:13:22 +0000
commit9907ea0694ecf025258fd1b28e3dcc8c2c1b54d0 (patch)
tree84a36096707f4ac99bb04c44975eb26aa4cd27c8 /src/cryptonote_basic/cryptonote_format_utils.h
parentMerge pull request #4223 (diff)
downloadmonero-9907ea0694ecf025258fd1b28e3dcc8c2c1b54d0.tar.xz
cryptonote: sort tx_extra fields
This removes some small amount of fingerprinting entropy. There is no consensus rule to require this since this field is technically free form, and a transaction is free to have custom data in it.
Diffstat (limited to 'src/cryptonote_basic/cryptonote_format_utils.h')
-rw-r--r--src/cryptonote_basic/cryptonote_format_utils.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cryptonote_basic/cryptonote_format_utils.h b/src/cryptonote_basic/cryptonote_format_utils.h
index 8a5296d5b..b40db4668 100644
--- a/src/cryptonote_basic/cryptonote_format_utils.h
+++ b/src/cryptonote_basic/cryptonote_format_utils.h
@@ -31,6 +31,7 @@
#pragma once
#include "blobdatatype.h"
#include "cryptonote_basic_impl.h"
+#include "tx_extra.h"
#include "account.h"
#include "subaddress_index.h"
#include "include_base_utils.h"
@@ -64,6 +65,7 @@ namespace cryptonote
}
bool parse_tx_extra(const std::vector<uint8_t>& tx_extra, std::vector<tx_extra_field>& tx_extra_fields);
+ bool sort_tx_extra(const std::vector<uint8_t>& tx_extra, std::vector<uint8_t> &sorted_tx_extra, bool allow_partial = false);
crypto::public_key get_tx_pub_key_from_extra(const std::vector<uint8_t>& tx_extra, size_t pk_index = 0);
crypto::public_key get_tx_pub_key_from_extra(const transaction_prefix& tx, size_t pk_index = 0);
crypto::public_key get_tx_pub_key_from_extra(const transaction& tx, size_t pk_index = 0);