zcashd/src/wallet
Jack Grigg 2c17d1e274 Store inputs and outputs by reference in JSDescriptionInfo
When creating randomized JoinSplits, the caller passes in references to
arrays in which the mapping from original to randomised position is
stored. However, in the old JSDescription constructors, the caller also
passed the inputs and outputs themselves by reference, and those arrays
were also randomised. The JSDescriptionInfo constructor was instead
taking these by value, meaning that its internal copies were being
randomised, but not the caller's arrays. This caused the Sprout payment
disclosure logic to (with 1/2 probability) store the incorrect output
in a payment disclosure key.

This commit restores the previous behaviour, by storing references to
the input and output arrays in JSDescriptionInfo instead of copying them.
2020-12-21 02:18:35 +00:00
..
gtest Remove JSDescription::h_sig 2020-12-20 22:42:22 +00:00
test Reduce the default fee for z_* operations, and the "low fee penalty" threshold for mempool limiting, to 1000 zatoshis. 2020-12-18 12:37:03 -07:00
asyncrpcoperation_common.cpp scripted-diff: Migrate from boost::optional to std::optional 2020-12-16 22:59:35 +00:00
asyncrpcoperation_common.h Auto merge of #4892 - str4d:boosted, r=str4d 2020-12-17 02:42:55 +00:00
asyncrpcoperation_mergetoaddress.cpp Remove JSDescription::h_sig 2020-12-20 22:42:22 +00:00
asyncrpcoperation_mergetoaddress.h Reduce the default fee for z_* operations, and the "low fee penalty" threshold for mempool limiting, to 1000 zatoshis. 2020-12-18 12:37:03 -07:00
asyncrpcoperation_saplingmigration.cpp Reduce the default fee for z_* operations, and the "low fee penalty" threshold for mempool limiting, to 1000 zatoshis. 2020-12-18 12:37:03 -07:00
asyncrpcoperation_saplingmigration.h lint: Fix missing or inconsistent include guards 2020-11-09 23:06:21 +00:00
asyncrpcoperation_sendmany.cpp Remove JSDescription::h_sig 2020-12-20 22:42:22 +00:00
asyncrpcoperation_sendmany.h Reduce the default fee for z_* operations, and the "low fee penalty" threshold for mempool limiting, to 1000 zatoshis. 2020-12-18 12:37:03 -07:00
asyncrpcoperation_shieldcoinbase.cpp Remove JSDescription::h_sig 2020-12-20 22:42:22 +00:00
asyncrpcoperation_shieldcoinbase.h Reduce the default fee for z_* operations, and the "low fee penalty" threshold for mempool limiting, to 1000 zatoshis. 2020-12-18 12:37:03 -07:00
crypter.cpp scripted-diff: Remove #include <boost/foreach.hpp> 2020-11-23 23:07:15 +00:00
crypter.h wallet: Change CCrypter to use vectors with secure allocator 2020-07-31 06:43:08 +01:00
db.cpp Use fsbridge for fopen and freopen 2020-10-22 01:11:37 +01:00
db.h Replace uses of boost::filesystem with fs 2020-10-22 01:11:37 +01:00
paymentdisclosure.cpp Replace libsodium's crypto_sign with ed25519-zebra 2020-08-20 19:00:47 +01:00
paymentdisclosure.h lint: Fix missing or inconsistent include guards 2020-11-09 23:06:21 +00:00
paymentdisclosuredb.cpp Replace uses of boost::filesystem with fs 2020-10-22 01:11:37 +01:00
paymentdisclosuredb.h scripted-diff: Migrate from boost::optional to std::optional 2020-12-16 22:59:35 +00:00
rpcdisclosure.cpp Remove JSDescription::h_sig 2020-12-20 22:42:22 +00:00
rpcdump.cpp scripted-diff: Migrate from boost::optional to std::optional 2020-12-16 22:59:35 +00:00
rpcwallet.cpp Store inputs and outputs by reference in JSDescriptionInfo 2020-12-21 02:18:35 +00:00
rpcwallet.h Reduce the default fee for z_* operations, and the "low fee penalty" threshold for mempool limiting, to 1000 zatoshis. 2020-12-18 12:37:03 -07:00
wallet.cpp Remove JSDescription::h_sig 2020-12-20 22:42:22 +00:00
wallet.h Remove JSDescription::h_sig 2020-12-20 22:42:22 +00:00
walletdb.cpp scripted-diff: Remove #include <boost/foreach.hpp> 2020-11-23 23:07:15 +00:00
walletdb.h Store imported Sapling ExtFVKs in wallet database 2020-02-21 01:32:15 +00:00