mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 04:22:55 +01:00
Merge pull request #4716 from PastaPastaPasta/develop-trivial-2022-03-05
backports: trivial backports Mar 5 2022
This commit is contained in:
commit
afd098cbd1
@ -440,6 +440,7 @@ if test "x$CXXFLAGS_overridden" = "xno"; then
|
||||
AX_CHECK_COMPILE_FLAG([-Wrange-loop-analysis],[WARN_CXXFLAGS="$WARN_CXXFLAGS -Wrange-loop-analysis"],,[[$CXXFLAG_WERROR]])
|
||||
AX_CHECK_COMPILE_FLAG([-Wredundant-decls],[WARN_CXXFLAGS="$WARN_CXXFLAGS -Wredundant-decls"],,[[$CXXFLAG_WERROR]])
|
||||
AX_CHECK_COMPILE_FLAG([-Wunused-variable],[WARN_CXXFLAGS="$WARN_CXXFLAGS -Wunused-variable"],,[[$CXXFLAG_WERROR]])
|
||||
AX_CHECK_COMPILE_FLAG([-Wunused-member-function],[WARN_CXXFLAGS="$WARN_CXXFLAGS -Wunused-member-function"],,[[$CXXFLAG_WERROR]])
|
||||
AX_CHECK_COMPILE_FLAG([-Wdate-time],[WARN_CXXFLAGS="$WARN_CXXFLAGS -Wdate-time"],,[[$CXXFLAG_WERROR]])
|
||||
AX_CHECK_COMPILE_FLAG([-Wconditional-uninitialized],[WARN_CXXFLAGS="$WARN_CXXFLAGS -Wconditional-uninitialized"],,[[$CXXFLAG_WERROR]])
|
||||
AX_CHECK_COMPILE_FLAG([-Wsuggest-override],[WARN_CXXFLAGS="$WARN_CXXFLAGS -Wsuggest-override"],,[[$CXXFLAG_WERROR]],
|
||||
@ -645,9 +646,6 @@ case $host in
|
||||
fi
|
||||
|
||||
CPPFLAGS="$CPPFLAGS -D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -D_WIN32_WINNT=0x0601"
|
||||
if test "x$CXXFLAGS_overridden" = "xno"; then
|
||||
CXXFLAGS="$CXXFLAGS -w"
|
||||
fi
|
||||
|
||||
dnl libtool insists upon adding -nostdlib and a list of objects/libs to link against.
|
||||
dnl That breaks our ability to build dll's with static libgcc/libstdc++/libssp. Override
|
||||
|
@ -2,7 +2,6 @@
|
||||
# Copyright (c) 2013-2015 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
import biplist
|
||||
from ds_store import DSStore
|
||||
from mac_alias import Alias
|
||||
import sys
|
||||
@ -47,7 +46,7 @@ alias.volume.disk_image_alias.target.filename = package_name_ns + '.temp.dmg'
|
||||
alias.volume.disk_image_alias.target.carbon_path = 'Macintosh HD:Users:\x00dashcoreuser:\x00Documents:\x00dashcore:\x00dashcore:\x00' + package_name_ns + '.temp.dmg'
|
||||
alias.volume.disk_image_alias.target.posix_path = 'Users/dashcoreuser/Documents/dashcore/dashcore/' + package_name_ns + '.temp.dmg'
|
||||
alias.target.carbon_path = package_name_ns + ':.background:\x00background.tiff'
|
||||
icvp['backgroundImageAlias'] = biplist.Data(alias.to_bytes())
|
||||
icvp['backgroundImageAlias'] = alias.to_bytes()
|
||||
ds['.']['icvp'] = icvp
|
||||
|
||||
ds['.']['vSrn'] = ('long', 1)
|
||||
|
@ -1,15 +0,0 @@
|
||||
package=native_biplist
|
||||
$(package)_version=1.0.3
|
||||
$(package)_download_path=https://bitbucket.org/wooster/biplist/downloads
|
||||
$(package)_file_name=biplist-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=4c0549764c5fe50b28042ec21aa2e14fe1a2224e239a1dae77d9e7f3932aa4c6
|
||||
$(package)_install_libdir=$(build_prefix)/lib/python3/dist-packages
|
||||
|
||||
define $(package)_build_cmds
|
||||
python3 setup.py build
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
mkdir -p $($(package)_install_libdir) && \
|
||||
python3 setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir)
|
||||
endef
|
@ -1,9 +1,15 @@
|
||||
package=native_clang
|
||||
$(package)_version=10.0.1
|
||||
$(package)_download_path=https://github.com/llvm/llvm-project/releases/download/llvmorg-$($(package)_version)
|
||||
ifneq (,$(findstring aarch64,$(BUILD)))
|
||||
$(package)_download_file=clang+llvm-$($(package)_version)-aarch64-linux-gnu.tar.xz
|
||||
$(package)_file_name=clang+llvm-$($(package)_version)-aarch64-linux-gnu.tar.xz
|
||||
$(package)_sha256_hash=90dc69a4758ca15cd0ffa45d07fbf5bf4309d47d2c7745a9f0735ecffde9c31f
|
||||
else
|
||||
$(package)_download_file=clang+llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-16.04.tar.xz
|
||||
$(package)_file_name=clang+llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-16.04.tar.xz
|
||||
$(package)_sha256_hash=48b83ef827ac2c213d5b64f5ad7ed082c8bcb712b46644e0dc5045c6f462c231
|
||||
endif
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
rm -f $($(package)_extract_dir)/lib/libc++abi.so*
|
||||
|
@ -1,10 +1,9 @@
|
||||
package=native_ds_store
|
||||
$(package)_version=1.1.2
|
||||
$(package)_version=1.3.0
|
||||
$(package)_download_path=https://github.com/al45tair/ds_store/archive/
|
||||
$(package)_file_name=v$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=3b3ecb7bf0a5157f5b6010bc3af7c141fb0ad3527084e63336220d22744bc20c
|
||||
$(package)_sha256_hash=76b3280cd4e19e5179defa23fb594a9dd32643b0c80d774bd3108361d94fb46d
|
||||
$(package)_install_libdir=$(build_prefix)/lib/python3/dist-packages
|
||||
$(package)_dependencies=native_biplist
|
||||
|
||||
define $(package)_build_cmds
|
||||
python3 setup.py build
|
||||
|
@ -20,7 +20,7 @@ zmq_packages=zeromq
|
||||
upnp_packages=miniupnpc
|
||||
natpmp_packages=libnatpmp
|
||||
|
||||
darwin_native_packages = native_biplist native_ds_store native_mac_alias
|
||||
darwin_native_packages = native_ds_store native_mac_alias
|
||||
|
||||
$(host_arch)_$(host_os)_native_packages += native_b2
|
||||
|
||||
|
@ -85,7 +85,6 @@ $(package)_config_opts += -no-feature-colordialog
|
||||
$(package)_config_opts += -no-feature-commandlineparser
|
||||
$(package)_config_opts += -no-feature-concurrent
|
||||
$(package)_config_opts += -no-feature-dial
|
||||
$(package)_config_opts += -no-feature-filesystemwatcher
|
||||
$(package)_config_opts += -no-feature-fontcombobox
|
||||
$(package)_config_opts += -no-feature-ftp
|
||||
$(package)_config_opts += -no-feature-image_heuristic_mask
|
||||
|
@ -4,6 +4,8 @@ The configuration file is used by `dashd`, `dash-qt` and `dash-cli`.
|
||||
|
||||
All command-line options (except for `-?`, `-help`, `-version` and `-conf`) may be specified in a configuration file, and all configuration file options (except for `includeconf`) may also be specified on the command line. Command-line options override values set in the configuration file and configuration file options override values set in the GUI.
|
||||
|
||||
Changes to the configuration file while `dashd` or `dash-qt` is running only take effect after restarting.
|
||||
|
||||
## Configuration File Format
|
||||
|
||||
The configuration file is a plain text file and consists of `option=value` entries, one per line. Leading and trailing whitespaces are removed.
|
||||
|
@ -433,12 +433,18 @@ public:
|
||||
nUBuckets ^= (1 << 30);
|
||||
}
|
||||
|
||||
if (nNew > ADDRMAN_NEW_BUCKET_COUNT * ADDRMAN_BUCKET_SIZE) {
|
||||
throw std::ios_base::failure("Corrupt CAddrMan serialization, nNew exceeds limit.");
|
||||
if (nNew > ADDRMAN_NEW_BUCKET_COUNT * ADDRMAN_BUCKET_SIZE || nNew < 0) {
|
||||
throw std::ios_base::failure(
|
||||
strprintf("Corrupt CAddrMan serialization: nNew=%d, should be in [0, %u]",
|
||||
nNew,
|
||||
ADDRMAN_NEW_BUCKET_COUNT * ADDRMAN_BUCKET_SIZE));
|
||||
}
|
||||
|
||||
if (nTried > ADDRMAN_TRIED_BUCKET_COUNT * ADDRMAN_BUCKET_SIZE) {
|
||||
throw std::ios_base::failure("Corrupt CAddrMan serialization, nTried exceeds limit.");
|
||||
if (nTried > ADDRMAN_TRIED_BUCKET_COUNT * ADDRMAN_BUCKET_SIZE || nTried < 0) {
|
||||
throw std::ios_base::failure(
|
||||
strprintf("Corrupt CAddrMan serialization: nTried=%d, should be in [0, %u]",
|
||||
nTried,
|
||||
ADDRMAN_TRIED_BUCKET_COUNT * ADDRMAN_BUCKET_SIZE));
|
||||
}
|
||||
|
||||
// Deserialize entries from the new table.
|
||||
|
@ -57,7 +57,6 @@ struct DBVal {
|
||||
struct DBHeightKey {
|
||||
int height;
|
||||
|
||||
DBHeightKey() : height(0) {}
|
||||
explicit DBHeightKey(int height_in) : height(height_in) {}
|
||||
|
||||
template<typename Stream>
|
||||
|
@ -1230,8 +1230,8 @@ bool AppInitBasicSetup()
|
||||
_set_abort_behavior(0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT);
|
||||
#endif
|
||||
#ifdef WIN32
|
||||
// Enable Data Execution Prevention (DEP)
|
||||
SetProcessDEPPolicy(PROCESS_DEP_ENABLE);
|
||||
// Enable heap terminate-on-corruption
|
||||
HeapSetInformation(nullptr, HeapEnableTerminationOnCorruption, nullptr, 0);
|
||||
#endif
|
||||
|
||||
if (!SetupNetworking())
|
||||
|
@ -16,8 +16,7 @@ namespace {
|
||||
class TxInputStream
|
||||
{
|
||||
public:
|
||||
TxInputStream(int nTypeIn, int nVersionIn, const unsigned char *txTo, size_t txToLen) :
|
||||
m_type(nTypeIn),
|
||||
TxInputStream(int nVersionIn, const unsigned char *txTo, size_t txToLen) :
|
||||
m_version(nVersionIn),
|
||||
m_data(txTo),
|
||||
m_remaining(txToLen)
|
||||
@ -47,9 +46,7 @@ public:
|
||||
}
|
||||
|
||||
int GetVersion() const { return m_version; }
|
||||
int GetType() const { return m_type; }
|
||||
private:
|
||||
const int m_type;
|
||||
const int m_version;
|
||||
const unsigned char* m_data;
|
||||
size_t m_remaining;
|
||||
@ -84,7 +81,7 @@ int dashconsensus_verify_script(const unsigned char *scriptPubKey, unsigned int
|
||||
return set_error(err, dashconsensus_ERR_INVALID_FLAGS);
|
||||
}
|
||||
try {
|
||||
TxInputStream stream(SER_NETWORK, PROTOCOL_VERSION, txTo, txToLen);
|
||||
TxInputStream stream(PROTOCOL_VERSION, txTo, txToLen);
|
||||
CTransaction tx(deserialize, stream);
|
||||
if (nIn >= tx.vin.size())
|
||||
return set_error(err, dashconsensus_ERR_TX_INDEX);
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include <script/standard.h>
|
||||
#include <streams.h>
|
||||
#include <test/util/setup_common.h>
|
||||
#include <txdb.h>
|
||||
#include <uint256.h>
|
||||
#include <undo.h>
|
||||
#include <util/strencodings.h>
|
||||
@ -108,7 +109,12 @@ static const unsigned int NUM_SIMULATION_ITERATIONS = 40000;
|
||||
//
|
||||
// During the process, booleans are kept to make sure that the randomized
|
||||
// operation hits all branches.
|
||||
BOOST_AUTO_TEST_CASE(coins_cache_simulation_test)
|
||||
//
|
||||
// If fake_best_block is true, assign a random uint256 to mock the recording
|
||||
// of best block on flush. This is necessary when using CCoinsViewDB as the base,
|
||||
// otherwise we'll hit an assertion in BatchWrite.
|
||||
//
|
||||
void SimulationTest(CCoinsView* base, bool fake_best_block)
|
||||
{
|
||||
// Various coverage trackers.
|
||||
bool removed_all_caches = false;
|
||||
@ -125,9 +131,8 @@ BOOST_AUTO_TEST_CASE(coins_cache_simulation_test)
|
||||
std::map<COutPoint, Coin> result;
|
||||
|
||||
// The cache stack.
|
||||
CCoinsViewTest base; // A CCoinsViewTest at the bottom.
|
||||
std::vector<CCoinsViewCacheTest*> stack; // A stack of CCoinsViewCaches on top.
|
||||
stack.push_back(new CCoinsViewCacheTest(&base)); // Start with one cache.
|
||||
stack.push_back(new CCoinsViewCacheTest(base)); // Start with one cache.
|
||||
|
||||
// Use a limited set of random transaction ids, so we do test overwriting entries.
|
||||
std::vector<uint256> txids;
|
||||
@ -210,6 +215,7 @@ BOOST_AUTO_TEST_CASE(coins_cache_simulation_test)
|
||||
// Every 100 iterations, flush an intermediate cache
|
||||
if (stack.size() > 1 && InsecureRandBool() == 0) {
|
||||
unsigned int flushIndex = InsecureRandRange(stack.size() - 1);
|
||||
if (fake_best_block) stack[flushIndex]->SetBestBlock(InsecureRand256());
|
||||
BOOST_CHECK(stack[flushIndex]->Flush());
|
||||
}
|
||||
}
|
||||
@ -217,13 +223,14 @@ BOOST_AUTO_TEST_CASE(coins_cache_simulation_test)
|
||||
// Every 100 iterations, change the cache stack.
|
||||
if (stack.size() > 0 && InsecureRandBool() == 0) {
|
||||
//Remove the top cache
|
||||
if (fake_best_block) stack.back()->SetBestBlock(InsecureRand256());
|
||||
BOOST_CHECK(stack.back()->Flush());
|
||||
delete stack.back();
|
||||
stack.pop_back();
|
||||
}
|
||||
if (stack.size() == 0 || (stack.size() < 4 && InsecureRandBool())) {
|
||||
//Add a new cache
|
||||
CCoinsView* tip = &base;
|
||||
CCoinsView* tip = base;
|
||||
if (stack.size() > 0) {
|
||||
tip = stack.back();
|
||||
} else {
|
||||
@ -255,6 +262,16 @@ BOOST_AUTO_TEST_CASE(coins_cache_simulation_test)
|
||||
BOOST_CHECK(uncached_an_entry);
|
||||
}
|
||||
|
||||
// Run the above simulation for multiple base types.
|
||||
BOOST_AUTO_TEST_CASE(coins_cache_simulation_test)
|
||||
{
|
||||
CCoinsViewTest base;
|
||||
SimulationTest(&base, false);
|
||||
|
||||
CCoinsViewDB db_base{"test", /*nCacheSize*/ 1 << 23, /*fMemory*/ true, /*fWipe*/ false};
|
||||
SimulationTest(&db_base, true);
|
||||
}
|
||||
|
||||
// Store of all necessary tx and undo data for next test
|
||||
typedef std::map<COutPoint, std::tuple<CTransaction,CTxUndo,Coin>> UtxoData;
|
||||
UtxoData utxoData;
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include <algorithm>
|
||||
#include <cstring>
|
||||
#include <initializer_list>
|
||||
#include <limits>
|
||||
#include <string>
|
||||
#include <type_traits>
|
||||
#include <utility>
|
||||
|
@ -1311,12 +1311,6 @@ struct Tracker
|
||||
copies = t.copies + 1;
|
||||
return *this;
|
||||
}
|
||||
Tracker& operator=(Tracker&& t) noexcept
|
||||
{
|
||||
origin = t.origin;
|
||||
copies = t.copies;
|
||||
return *this;
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -4035,7 +4035,7 @@ UniValue walletcreatefundedpsbt(const JSONRPCRequest& request)
|
||||
{
|
||||
{"txid", RPCArg::Type::STR_HEX, RPCArg::Optional::NO, "The transaction id"},
|
||||
{"vout", RPCArg::Type::NUM, RPCArg::Optional::NO, "The output number"},
|
||||
{"sequence", RPCArg::Type::NUM, RPCArg::Optional::NO, "The sequence number"},
|
||||
{"sequence", RPCArg::Type::NUM, /* default */ "depends on the value of the 'locktime' argument", "The sequence number"},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user