Commit Graph

27637 Commits

Author SHA1 Message Date
UdjinM6
519966efff
refactor: Refactor CCbTx python class to match c++ declaration 2024-11-02 00:19:06 +03:00
UdjinM6
38a0b5ac04
refactor: Move HasChainLock() calls out of loops 2024-11-02 00:18:57 +03:00
UdjinM6
6370c7a9e5
refactor: Tidy up CGovernanceVote a bit 2024-11-01 23:22:06 +03:00
UdjinM6
ae675d5314
refactor: Drop redundant SplitBy 2024-11-01 22:50:37 +03:00
UdjinM6
88c3a13674
refactor: Use switch..case instead of if in AvailableCoins 2024-11-01 22:50:37 +03:00
UdjinM6
38b304c7b0
refactor: Make bls worker aggregator batch size const (rename it accordingly) 2024-11-01 22:50:36 +03:00
UdjinM6
0cf7d4a65e
refactor: Turn ReadResult into enum class 2024-11-01 22:50:36 +03:00
UdjinM6
d9aab0fa60
refactor: Rename masternode_state_t and turn it into enum class 2024-11-01 22:50:36 +03:00
Konstantin Akimov
50ea5e13f5
fix: cbtx tx as special transaction can't be retrieved before DIP0003 is activated
It's true, let's add a check here before asking GetTxPayload which causes assert

    Assertion failure:
      assertion: (tx.nType == T::SPECIALTX_TYPE)
      file: ./evo/specialtx.h, line: 33
      function: std::optional<_Tp> GetTxPayload(const TxType&, bool) [with T = CCbTx; TxType = CTransaction]
       0#: (0x5CE686FB3AB0) stacktraces.cpp:655 - __wrap___assert_fail
       1#: (0x5CE686BB9120) specialtx.h:33      - std::optional<CCbTx> GetTxPayload<CCbTx, CTransaction>(CTransaction const&, bool)
       2#: (0x5CE686BB9120) cbtx.cpp:463        - GetCoinbaseTx(CBlockIndex const*)
       3#: (0x5CE686BB916D) cbtx.cpp:470        - GetNonNullCoinbaseChainlock(CBlockIndex const*)
       4#: (0x5CE686BB92AA) optional:469        - std::_Optional_base_impl<std::pair<CBLSSignature, unsigned int>, std::_Optional_base<std::pair<CBLSSignature, unsigned int>, false, false> >::_M_is_engaged() const
       5#: (0x5CE686BB92AA) optional:986        - std::optional<std::pair<CBLSSignature, unsigned int> >::has_value() const
       6#: (0x5CE686BB92AA) cbtx.cpp:401        - CalcCbTxBestChainlock(llmq::CChainLocksHandler const&, CBlockIndex const*, unsigned int&, CBLSSignature&)
       7#: (0x5CE686D36318) miner.cpp:233       - BlockAssembler::CreateNewBlock(CScript const&)
       8#: (0x5CE6869E450B) stl_tree.h:733      - std::_Rb_tree<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >, boost::multi_index::detail::bucket_array<std::allocator<CTxMemPoolEntry> >, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>, boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >, boost::multi_index::detail::bucket_array<std::allocator<CTxMemPoolEntry> >, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>, std::_Identity<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >, boost::multi_index::detail::bucket_array<std::allocator<CTxMemPoolEntry> >, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag> >, CompareIteratorByHash, std::allocator<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >, boost::multi_index::detail::bucket_array<std::allocator<CTxMemPoolEntry> >, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag> > >::_M_mbegin() const
       9#: (0x5CE6869E450B) stl_tree.h:737      - std::_Rb_tree<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >, boost::multi_index::detail::bucket_array<std::allocator<CTxMemPoolEntry> >, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>, boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >, boost::multi_index::detail::bucket_array<std::allocator<CTxMemPoolEntry> >, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>, std::_Identity<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >, boost::multi_index::detail::bucket_array<std::allocator<CTxMemPoolEntry> >, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag> >, CompareIteratorByHash, std::allocator<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >, boost::multi_index::detail::bucket_array<std::allocator<CTxMemPoolEntry> >, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag> > >::_M_begin()
      10#: (0x5CE6869E450B) stl_tree.h:982      - std::_Rb_tree<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >, boost::multi_index::detail::bucket_array<std::allocator<CTxMemPoolEntry> >, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>, boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >, boost::multi_index::detail::bucket_array<std::allocator<CTxMemPoolEntry> >, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>, std::_Identity<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >, boost::multi_index::detail::bucket_array<std::allocator<CTxMemPoolEntry> >, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag> >, CompareIteratorByHash, std::allocator<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >, boost::multi_index::detail::bucket_array<std::allocator<CTxMemPoolEntry> >, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag> > >::~_Rb_tree()
      11#: (0x5CE6869E450B) stl_set.h:283       - std::set<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >, boost::multi_index::detail::bucket_array<std::allocator<CTxMemPoolEntry> >, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>, CompareIteratorByHash, std::allocator<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >, boost::multi_index::detail::bucket_array<std::allocator<CTxMemPoolEntry> >, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag> > >::~set()
      12#: (0x5CE6869E450B) miner.h:146         - BlockAssembler::~BlockAssembler()
      13#: (0x5CE6869E450B) mining.cpp:174      - generateBlocks
      14#: (0x5CE6869E4C6E) prevector.h:479     - prevector<28u, unsigned char, unsigned int, int>::~prevector()
      15#: (0x5CE6869E4C6E) script.h:393        - CScript::~CScript()
      16#: (0x5CE6869E4C6E) mining.cpp:300      - operator()
      17#: (0x5CE6869E4C6E) invoke.h:61         - __invoke_impl<UniValue, generatetoaddress()::<lambda(const RPCHelpMan&, const JSONRPCRequest&)>&, const RPCHelpMan&, const JSONRPCRequest&>
      18#: (0x5CE6869E4C6E) invoke.h:116        - __invoke_r<UniValue, generatetoaddress()::<lambda(const RPCHelpMan&, const JSONRPCRequest&)>&, const RPCHelpMan&, const JSONRPCRequest&>
      19#: (0x5CE6869E4C6E) std_function.h:291  - _M_invoke
      20#: (0x5CE686F48F8E) util.cpp:541        - RPCHelpMan::HandleRequest(JSONRPCRequest const&) const
      21#: (0x5CE68697CD18) univalue.h:17       - UniValue::operator=(UniValue&&)
      22#: (0x5CE68697CD18) server.h:107        - CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::{lambda(JSONRPCRequest const&, UniValue&, bool)#1}::operator()(JSONRPCRequest const&, UniValue&, bool) const
      23#: (0x5CE68697D100) std_function.h:292  - std::_Function_handler<bool (JSONRPCRequest const&, UniValue&, bool), CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::{lambda(JSONRPCRequest const&, UniValue&, bool)#1}>::_M_invoke(std::_Any_data const&, JSONRPCRequest const&, UniValue&, bool&&)
      24#: (0x5CE686A876C0) std_function.h:591  - std::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const
      25#: (0x5CE686A876C0) server.cpp:622      - ExecuteCommand
      26#: (0x5CE686A889C6) server.cpp:511      - ExecuteCommands
      27#: (0x5CE686A889C6) server.cpp:543      - CRPCTable::execute(JSONRPCRequest const&) const
      28#: (0x5CE686C951B5) httprpc.cpp:247     - HTTPReq_JSONRPC
      29#: (0x5CE686CA5406) unique_ptr.h:93     - std::default_delete<HTTPClosure>::operator()(HTTPClosure*) const
      30#: (0x5CE686CA5406) unique_ptr.h:398    - std::unique_ptr<HTTPClosure, std::default_delete<HTTPClosure> >::~unique_ptr()
      31#: (0x5CE686CA5406) httpserver.cpp:107  - WorkQueue<HTTPClosure>::Run()
    dashd: ./evo/specialtx.h:33: std::optional<_Tp> GetTxPayload(const TxType&, bool) [with T = CCbTx; TxType = CTransaction]: Assertion `(tx.nType == T::SPECIALTX_TYPE)' failed.
2024-10-31 21:28:54 +07:00
pasta
5dbe58c996
Merge #6370: backport: merge bitcoin#23499, #23832, #24136, #24265, #23819, #23595, #24486, #15423, #24784, #24956, #25016, #25060 (auxiliary backports: part 21)
02320032c7 merge bitcoin#25060: add LIFETIMEBOUND to GetFirstStoredBlock()::start_time (Kittywhiskers Van Gogh)
cfda9e5eb5 merge bitcoin#25016: GetFirstStoredBlock() and getblockchaininfo follow-ups (Kittywhiskers Van Gogh)
99d028e9e1 merge bitcoin#24956: Call CHECK_NONFATAL only once where needed (Kittywhiskers Van Gogh)
87b556d322 refactor: use loop to iterate through `SoftForkDescPushBack` args (Kittywhiskers Van Gogh)
80615b8c01 merge bitcoin#24784: deduplicate integer serialization in RollingBloom benchmark (Kittywhiskers Van Gogh)
092a11e2d1 merge bitcoin#15423: Query Tor for correct -onion configuration (Kittywhiskers Van Gogh)
74dceb3c5c merge bitcoin#24486: dedup sqlite blob binding (Kittywhiskers Van Gogh)
aa945c2c1d merge bitcoin#23595: Add ParseHex<std::byte>() helper (Kittywhiskers Van Gogh)
c2defe7210 merge bitcoin#23819: don't serialize block hash twice (Kittywhiskers Van Gogh)
9a8d6e149f merge bitcoin#24265: Drop StripRedundantLastElementsOfPath() function (Kittywhiskers Van Gogh)
2d299f128a merge bitcoin#24136: Extract CTxIn::MAX_SEQUENCE_NONFINAL constant, rework BIP 65/68/112 docs (Kittywhiskers Van Gogh)
9aacee78ae merge bitcoin#23832: Changes time variables from int to chrono (Kittywhiskers Van Gogh)
06bf649e1b merge bitcoin#23499: Add interfaces::Node::broadCastTransaction method (Kittywhiskers Van Gogh)

Pull request description:

  ## Breaking Changes

  None expected.

  ## Checklist

  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)**
  - [x] I have added or updated relevant unit/integration/functional/e2e tests
  - [x] I have made corresponding changes to the documentation **(note: N/A)**
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK 02320032c7

Tree-SHA512: b633e1caac95e565d43e28cef7c915f65952fbabdf55624090bc587c75b84fc04474bb6cd8625219ba828da172391c3d2d1aa6db998927312055c82caaad7ba0
2024-10-29 20:12:53 -05:00
pasta
88a8e7a077
Merge #6374: test: optimize feature asset locks test
2d05df04fd refactor: use irange (pasta)
4cc3ee6286 test: update feature_asset_locks.py to reflect changes (pasta)
bfe1d2768d refactor: activate DEPLOYMENT_WITHDRAWALS sooner on regtest (pasta)
c8342e1b55 refactor: pull LimitBlocksToTrace into CChainParams (reduce regtest to 100) (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  Minimize number of blocks needed to be mined in asset locks test

  Based on CI test goes from about 270s -> 213s

  ## What was done?
  Reduce number of blocks needed by reducing hard fork activation points

  ## How Has This Been Tested?
  Ran test locally, built

  ## Breaking Changes
  Breaking for regtests, nothing else.

  ## Checklist:
    _Go over all the following points, and put an `x` in all the boxes that apply._
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  knst:
    utACK 2d05df04fd
  UdjinM6:
    utACK 2d05df04fd

Tree-SHA512: b52ec2570912ccb578b14baa4ef5c6e69454db7d83e7476c4451bca62b0c57e4c961e4bfafc9e5b0b4eebd6226840ac00505d3787316d7bdaeb64cb66b08fb30
2024-10-29 19:38:46 -05:00
pasta
841ea27d7b
Merge #6364: backport: trivial 2024 10 25 pr3
fbc0bce2e6 Merge bitcoin/bitcoin#29665: build, depends: Fix `libmultiprocess` cross-compilation (fanquake)
59a214590f Merge bitcoin/bitcoin#29747: depends: fix mingw-w64 Qt DEBUG=1 build (fanquake)
bdb2fa6773 Merge bitcoin/bitcoin#29671: index: avoid "failed to commit" errors on initialization (Ava Chow)
65377eab9e Merge bitcoin/bitcoin#29192: Weaken serfloat tests (fanquake)
4122404b81 Merge bitcoin/bitcoin#28891: test: fix `AddNode` unit test failure on OpenBSD (fanquake)
812ef53685 Merge bitcoin/bitcoin#25677: refactor: make active_chain_tip a reference (MacroFake)
34e12fa3e7 Merge bitcoin/bitcoin#24564: doc: Clarify that CheckSequenceLocksAtTip is a validation function (glozow)
d529751f47 Merge bitcoin/bitcoin#24788: doc: Add gpg key import instructions for Windows (fanquake)
61bae780b6 Merge bitcoin/bitcoin#24784: refactor: deduplicate integer serialization in RollingBloom benchmark (MarcoFalke)

Pull request description:

  ## Issue being fixed or feature implemented
  Trivial backports

  ## What was done?

  ## How Has This Been Tested?
  built locally

  ## Breaking Changes

  ## Checklist:
    _Go over all the following points, and put an `x` in all the boxes that apply._
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK fbc0bce2e6

Tree-SHA512: 731f70b747712810d4f74fe64a90139b02ddb62e9ac260705fa2588595feb19bd6e5ffed521fd878bacaab0015683e582fed19ed1855c3e955f93cd223862a17
2024-10-29 17:15:33 -05:00
pasta
5d2fde8fb1
Merge #6373: fix: multiple minor errors for Dash Core pre v22
2026c59d3c perf: re-order functional tests to make slowest one to run faster (Konstantin Akimov)
d35ce1e5d9 fix: uncomment sethdseed to follow-up for #6017 and bitcoin#12560 (Konstantin Akimov)
71cd68d038 feat: run rpc_quorum.py with only one type of wallet (Konstantin Akimov)
af1923f5c2 fix: missing governance.dat, spork.dat do not trigger a loud error message in logs (Konstantin Akimov)
678db6f43e fix: error in log if no masternode's registered yet "ERROR! Failed to get payees for block at height" (Konstantin Akimov)
80c5481c3e fix: use unique port for interface_zmq_dash.py - follow-up for bitcoin/bitcoin#26805 (Konstantin Akimov)
87caafb92f fix: dashify doc/JSON-RPC-interface.md to follow-up bitcoin#27225 (Konstantin Akimov)
237460c533 fix: initialization of CMerkleBlock() due to misusage of default argument to follow-up bitcoin#30552 (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented

  It fixes several minor issues:

   - error messages in logs on regtest:

         [httpworker.0] [masternode/payments.cpp:116] [IsTransactionValid] CMNPaymentsProcessor::IsTransactionValid -- ERROR! Failed to get payees for block at height 110
         [httpworker.0] [masternode/payments.cpp:278] [IsBlockPayeeValid] CMNPaymentsProcessor::IsBlockPayeeValid -- Valid masternode payment at height 110: CTransaction(hash=837e35fab5, ver=3, type=5, vin.size=1, vout.size=1, nLockTime=0, vExtraPayload.size=70)
                CTxIn(COutPoint(0000000000000000000000000000000000000000000000000000000000000000, 4294967295), coinbase 016e0101)
                CTxOut(nValue=500.00000000, scriptPubKey=76a9148708dff2bf8b31363cb4201d)

   - error messages for non-existing files for first run:

          [      init] [util/system.h:57] [error] ERROR: CoreRead: Failed to open file DASH/node0/regtest/governance.dat

   - non-dashified `bitcoin-cli` in `doc/JSON-RPC-interface.md`
   - incorrect initialization of `CMerkleBlock` in functional tests which can cause an un-explainable failure
   - use random ports for `interface_zmq_dash.py` to let tests run simultaneously
   - fix missing todo about using `sethdseed` after #6017
   - optimization of local run of functional tests (slowest go first)
  ## What was done?
  See each commit

  ## How Has This Been Tested?
  Run unit/functional tests

  ## Breaking Changes
  N/A

  ## Checklist:
    _Go over all the following points, and put an `x` in all the boxes that apply._
  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas
  - [x] I have added or updated relevant unit/integration/functional/e2e tests
  - [x] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK 2026c59d3c
  PastaPastaPasta:
    utACK 2026c59d3c

Tree-SHA512: 81f7ac0160203bd0a636869402108ca9b94c81aa966263b64ce74cbc69ac6a875ab111cb078a02ddbfd9408caa418c612cb9c7fb9a666786e14095dc378065c4
2024-10-29 13:50:04 -05:00
pasta
2d05df04fd
refactor: use irange 2024-10-29 13:21:05 -05:00
pasta
02ec0fd284
Merge #6372: backport: merge bitcoin#29823, #30270 (update 'src/minisketch' to sipa/minisketch@eb37a9b8)
5e65bb45a7 merge bitcoin#30270: update subtree to eb37a9b8 (Kittywhiskers Van Gogh)
ef10e83d4d Squashed 'src/minisketch/' changes from 3472e2f5ec..eb37a9b8e7 (Kittywhiskers Van Gogh)
94dca7f9ae merge bitcoin#29823: update subtree to 3472e2f5e (Kittywhiskers Van Gogh)
9540ecbc34 Squashed 'src/minisketch/' changes from a571ba20f9..3472e2f5ec (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional information

  Unexpected failure was found in UBSan unit test run originating from minisketch tests ([build](https://gitlab.com/dashpay/dash/-/jobs/8206813511#L3512)), resolved in subtree with https://github.com/sipa/minisketch/pull/81 and updated upstream in https://github.com/bitcoin/bitcoin/pull/29823.  This pull request updates the subtree to latest subtree pulls done on upstream `master` (as of this writing, [`da10e0ba`](da10e0bab4)).

  Special thanks to knst for reporting this bug! 🎉

  ## Breaking Changes

  None expected.

  ## Checklist

  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)**
  - [x] I have added or updated relevant unit/integration/functional/e2e tests **(note: N/A)**
  - [x] I have made corresponding changes to the documentation **(note: N/A)**
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK 5e65bb45a7

Tree-SHA512: be3c75436425c8662d6af46641a6fc744d01043a832884b29aa9767dd4b9090cef93bcb31355032131392a6ccf29cbbcb771a5786c654f26f4fa0a2d5f0e8a5f
2024-10-29 13:07:28 -05:00
fanquake
fbc0bce2e6
Merge bitcoin/bitcoin#29665: build, depends: Fix libmultiprocess cross-compilation
2de2ea2ff63b97eacb23234932c6e1f1f65e4494 build, depends: Fix `libmultiprocess` cross-compilation (Hennadii Stepanov)

Pull request description:

  On the master branch @ 3b12fc7bcd94cf214984911f68612feb468d5404, the following command fails:
  ```
  $ make -C depends libmultiprocess HOST=arm64-apple-darwin MULTIPROCESS=1
  ...
  [100%] Linking CXX executable mpgen
  ...
  clang++: error: linker command failed with exit code 1 (use -v to see invocation)
  ...
  ```

  This PR prevents building all default targets that include `mpgen`, which expectedly fails to link when cross-compiling.

ACKs for top commit:
  ryanofsky:
    Code review ACK 2de2ea2ff63b97eacb23234932c6e1f1f65e4494
  fanquake:
    ACK 2de2ea2ff63b97eacb23234932c6e1f1f65e4494 - I checked that this fixes the macOS cross-compilation issue. I'm assuming these packages are also likely to change further in the (near) future, given the changes going in upstream: https://github.com/chaincodelabs/libmultiprocess/pulls?q=is%3Apr+is%3Aclosed.

Tree-SHA512: 563551afbe483c923b52c6171f9d73bcc30bc4febd821b5abfe8aadb2ac601b94c2d10a73746ace3710d9f0afa4798eb090e77ccb1ae66a819495912802d91c9
2024-10-29 13:01:24 -05:00
fanquake
59a214590f
Merge bitcoin/bitcoin#29747: depends: fix mingw-w64 Qt DEBUG=1 build
b7e7e727abd86104ee58beb648a94e2f453d1f6d depends: fix mingw-w64 Qt DEBUG=1 build (fanquake)

Pull request description:

  The issue is that compilation is done with `x86_64-w64-mingw32-g++-posix`, but then linking is done with `x86_64-w64-mingw32-g++`.

  I'm guessing this has been broken since #24131 (01d1845a80ae48d741deea695ddce95d940ab0d8), but have not checked.

  Fixes #29734.
  Unblocks #29527 (`DEBUG=1` builds can be tested).

ACKs for top commit:
  hebasto:
    ACK b7e7e727abd86104ee58beb648a94e2f453d1f6d, tested on Ubuntu 22.04 with the [installed](https://github.com/bitcoin/bitcoin/issues/29734#issuecomment-2022852344) `g++-mingw-w64-x86-64` package.
  TheCharlatan:
    ACK b7e7e727abd86104ee58beb648a94e2f453d1f6d

Tree-SHA512: 9e24e84046c0489c20971bb9c68d1a643c233837193c184f61bff79dfc8d7397a5c5526ac1a205ad423920f2589559cd01cb104ceb7f89515bb6421510d82ca9
2024-10-29 13:01:24 -05:00
Ava Chow
bdb2fa6773
Merge bitcoin/bitcoin#29671: index: avoid "failed to commit" errors on initialization
f65b0f6401091e4a4ca4c9f4db1cf388f0336bad index: Move last_locator_write_time and logging to end of threadsync loop (Fabian Jahr)

Pull request description:

  In the index sync thread, when initializing an index for the first time, stop callng BaseIndex::Commit when m_best_block_index is null, to avoid a spurious "failed to commit" error from that function. This error started happening in commit 7878f97bf1 from https://github.com/bitcoin/bitcoin/pull/25494 and was reported by pstratem in https://github.com/bitcoin/bitcoin/pull/26903 with an alternate fix.

ACKs for top commit:
  achow101:
    ACK f65b0f6401091e4a4ca4c9f4db1cf388f0336bad
  ryanofsky:
    Code review ACK f65b0f6401091e4a4ca4c9f4db1cf388f0336bad. Just moved log "Syncing" log line since last commit to avoid having to call now() twice.
  furszy:
    ACK f65b0f6401091e4a4ca4c9f4db1cf388f0336bad
  TheCharlatan:
    ACK f65b0f6401091e4a4ca4c9f4db1cf388f0336bad

Tree-SHA512: afa8f05786318d36346d167ff53ea0b3bc8abdb0ad04465d199dc3eb91e9f837369e24fcb7e24b5757b02d698ec504e61da6ac365eaf006c874fc07a424a7e20
2024-10-29 13:01:24 -05:00
fanquake
65377eab9e
Merge bitcoin/bitcoin#29192: Weaken serfloat tests
6e873df3478f3ab8f67d1b9339c7e990ae90e95b serfloat: improve/simplify tests (Pieter Wuille)
b45f1f56582fb3a0d17db5014ac57f1fb40a3611 serfloat: do not test encode(bits)=bits anymore (Pieter Wuille)

Pull request description:

  Closes #28941.

  Our current tests for serfloat verify two distinct properties:
  1. Whether they roundtrip `double`->`uint64_t`->`double` (excluding NaN values) on all systems.
  2. Whether on systems with a typical floating point unit that encoding matches the hardware representation, as before v22.0, we would dump the hardware representation directly to disk and we wanted to retain compatibility with that.

  #28941 seems to show that the second property doesn't always hold, but just for "subnormal" numbers (below $2^{-1021}$). Since we don't care about encoding these numbers, we could exclude such subnormal numbers from the hardware-identical representation test, but this PR goes further and just drops the second property entirely, as I don't think we care about edge-case compatibility with pre-v22.0 code for fee_estimates.dat (the only place it is used).

ACKs for top commit:
  glozow:
    ACK 6e873df3478f3ab8f67d1b9339c7e990ae90e95b
  fanquake:
    ACK 6e873df3478f3ab8f67d1b9339c7e990ae90e95b - It's not as much of a priority, but I think we could still backport this.

Tree-SHA512: e18ceee0753a7ee7e999fdfa10b014dc5bb67b6ef79522a0f8c76b889adcfa785772fc26ed7559bcb5a09a9938e243bb54eedd9549bc59080a2c8090155e2267
2024-10-29 13:01:24 -05:00
fanquake
4122404b81
Merge bitcoin/bitcoin#28891: test: fix AddNode unit test failure on OpenBSD
007d6f0e85bc329040bb405ef6016339518caa66 test: fix `AddNode` unit test failure on OpenBSD (Sebastian Falbesoner)

Pull request description:

  On OpenBSD 7.4, the following check of the unit test `test_addnode_getaddednodeinfo_and_connection_detection` currently fails:
  ```
  BOOST_CHECK(!connman->AddNode({/*m_added_node=*/"127.1", /*m_use_v2transport=*/true}));
  ```
  The reason for that is that this OS seemingly doesn't support the IPv4 shorthand notation with omitted zero-bytes:

  ```
  $ ping 127.1
  ping: no address associated with name
  ```

  As a simple fix, this PR skips the check for this with a pre-processor #if. On NetBSD and FreeBSD, `127.1` is resolved correctly to localhost and hence the test passes (thanks to vasild for verifying on the latter!).

ACKs for top commit:
  vasild:
    ACK 007d6f0e85bc329040bb405ef6016339518caa66

Tree-SHA512: 8ab8393c490e1ecc140e8ff74f6fa4d26d0dd77e6a77a241cd198314b8c5afee7422f95351ca05f4c1742433dab77016a8ccb8d28062f8edd4b703a918a2bbda
2024-10-29 13:01:24 -05:00
MacroFake
812ef53685
Merge bitcoin/bitcoin#25677: refactor: make active_chain_tip a reference
9376a6dae41022874df3b9302667796a9fb7b81d refactor: make active_chain_tip a reference (Aurèle Oulès)

Pull request description:

  This PR fixes a TODO introduced in #21055.

  Makes `active_chain_tip` argument in `CheckFinalTxAtTip` function a reference instead of a pointer.

ACKs for top commit:
  dongcarl:
    ACK 9376a6dae41022874df3b9302667796a9fb7b81d

Tree-SHA512: c36d1769e0b9598b7f79334704b26b73e958d54caa3bd7e4eff954f3964fcf3f5e3a44a5a760497afad51b76e1614c86314fe035e4083c855e3574a620de7f4d
2024-10-29 13:01:24 -05:00
glozow
34e12fa3e7
Merge bitcoin/bitcoin#24564: doc: Clarify that CheckSequenceLocksAtTip is a validation function
fa8671018766b2f0e18c94cff3ab2a67c6b3a41d Clarify that CheckSequenceLocksAtTip is a validation function (MarcoFalke)

Pull request description:

  It has been pointed out that a bug in this function can prevent block template creation. ( https://github.com/bitcoin/bitcoin/pull/24080#issuecomment-1065148776 ) So it seems that the scope of this function is more than "policy". Rename it back to "validation", to partially revert commit fa4e30b0f36f2e7a09db7d30dca9008ed9dbcb35.

ACKs for top commit:
  ajtowns:
    ACK fa8671018766b2f0e18c94cff3ab2a67c6b3a41d - looks fine to me
  glozow:
    ACK fa8671018766b2f0e18c94cff3ab2a67c6b3a41d

Tree-SHA512: 2e0df8c70df4cbea857977f140a8616cfa7505e74df66c9c9fbcf184670ce3ce7567183c3f76e6f3fe8ca6de0e065b9babde6352d6cb495e71ea077ddedbc3f4
2024-10-29 13:01:23 -05:00
fanquake
d529751f47
Merge bitcoin/bitcoin#24788: doc: Add gpg key import instructions for Windows
107582039ac3cbfe072dc761f621c37c48aa2dc1 doc: Add gpg key import instructions for Windows (Dave Scotese)

Pull request description:

  This is a single commit to replace the three commits from #23916

  I propose this change so that Windows users can more easily import signers' keys.

ACKs for top commit:
  sipsorcery:
    tACK 107582039ac3cbfe072dc761f621c37c48aa2dc1.

Tree-SHA512: 7d4ec77ce10f751748c49f1453fa8baf0976b15af4f87dc27f4e2715ad73fbd7dc1f07fcf3e660d63a6b9eb895a5e4105774613d39a2328f73b92d9e6cff4ebd
2024-10-29 13:01:23 -05:00
MarcoFalke
61bae780b6
Merge bitcoin/bitcoin#24784: refactor: deduplicate integer serialization in RollingBloom benchmark
fff91418ffa4911f7262e824418af664b25d4026 refactor: Remove deduplication of data in rollingbloom bench (phyBrackets)

Pull request description:

  Fixed up #24088.

ACKs for top commit:
  vincenzopalazzo:
    ACK fff91418ff

Tree-SHA512: 9fef617bceb74a1aec4f4a1e7c4732c4764af3e8ac2fc02b84ce370e8b97431957ca17ee8f44fb96765f7304f8d7e5bfb951440db98ba40f240612f2232d215e
2024-10-29 13:01:23 -05:00
pasta
e3a0fce5c9
Merge #6371: ci: do not build derivations in parallel on GH
8abe646156 fix(ci): do not build derivations in parallel on GH (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  Should fix GH Guix builds

  develop: https://github.com/UdjinM6/dash/actions/runs/11563155278
  develop + this patch merged into it: https://github.com/UdjinM6/dash/actions/runs/11562899245

  more info https://github.com/dashpay/dash/blob/develop/contrib/guix/README.md#controlling-the-number-of-threads-used-by-guix-build-commands

  ## What was done?

  ## How Has This Been Tested?

  ## Breaking Changes

  ## Checklist:
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  PastaPastaPasta:
    utACK 8abe646156

Tree-SHA512: eb689e69b741958bb65a368af8ab73662724ff8c003a1b162039fbe1b5b322c268de637efc298b17564dafdb76e21bf3f2d10623698bccea1da4684c4b0d2392
2024-10-29 13:00:51 -05:00
pasta
4cc3ee6286
test: update feature_asset_locks.py to reflect changes
This results in test time locally going from ~4 minutes to ~3 minutes
2024-10-29 12:57:35 -05:00
pasta
bfe1d2768d
refactor: activate DEPLOYMENT_WITHDRAWALS sooner on regtest 2024-10-29 12:54:04 -05:00
pasta
c8342e1b55
refactor: pull LimitBlocksToTrace into CChainParams (reduce regtest to 100) 2024-10-29 12:53:47 -05:00
Konstantin Akimov
2026c59d3c
perf: re-order functional tests to make slowest one to run faster
On CI it is not critical, because there are only 4-8 parallel jobs,
while locally it can be 12-20 or even more
2024-10-30 00:11:53 +07:00
Konstantin Akimov
d35ce1e5d9
fix: uncomment sethdseed to follow-up for #6017 and bitcoin#12560 2024-10-30 00:11:53 +07:00
Konstantin Akimov
71cd68d038
feat: run rpc_quorum.py with only one type of wallet 2024-10-30 00:11:53 +07:00
Konstantin Akimov
af1923f5c2
fix: missing governance.dat, spork.dat do not trigger a loud error message in logs
exmple of error during first start of dashd:
    [      init] [util/system.h:57] [error] ERROR: CoreRead: Failed to open file DASH/node0/regtest/governance.dat
2024-10-30 00:11:53 +07:00
Konstantin Akimov
678db6f43e
fix: error in log if no masternode's registered yet "ERROR! Failed to get payees for block at height"
[httpworker.0] [masternode/payments.cpp:116] [IsTransactionValid] CMNPaymentsProcessor::IsTransactionValid -- ERROR! Failed to get payees for block at height 110
    [httpworker.0] [masternode/payments.cpp:278] [IsBlockPayeeValid] CMNPaymentsProcessor::IsBlockPayeeValid -- Valid masternode payment at height 110: CTransaction(hash=837e35fab5, ver=3, type=5, vin.size=1, vout.size=1, nLockTime=0, vExtraPayload.size=70)
                                           CTxIn(COutPoint(0000000000000000000000000000000000000000000000000000000000000000, 4294967295), coinbase 016e0101)
                                           CTxOut(nValue=500.00000000, scriptPubKey=76a9148708dff2bf8b31363cb4201d)
2024-10-30 00:11:53 +07:00
Konstantin Akimov
80c5481c3e
fix: use unique port for interface_zmq_dash.py - follow-up for bitcoin/bitcoin#26805 2024-10-30 00:11:53 +07:00
Konstantin Akimov
87caafb92f
fix: dashify doc/JSON-RPC-interface.md to follow-up bitcoin#27225 2024-10-30 00:11:53 +07:00
Konstantin Akimov
237460c533
fix: initialization of CMerkleBlock() due to misusage of default argument to follow-up bitcoin#30552 2024-10-30 00:11:53 +07:00
pasta
93cfd5bc94
Merge #6368: fix(qt): set prune dependent options correctly
2d99b2c02b fix: force correct `-disablegovernance` and `-txindex` values when pruning is requested via init dialog (UdjinM6)
64b20f0691 fix(qt): set prune dependent options correctly (Kittywhiskers Van Gogh)

Pull request description:

  ## Issue being fixed or feature implemented
  A few things to note:
  1. we shouldn't rely on `bPrune` cause it can be overridden via cmd-line
  2. `addOverriddenOption` is used to highlight that there are GUI options that were overridden via cmd-line and neither `-disablegovernance` nor `-txindex` override anything, we simply set them to correct values here.
  3. we should do all that in `SetPruneEnabled` case that's the central point for GUI prune option logic

  fixes https://github.com/dashpay/dash/issues/6366

  https://github.com/dashpay/dash/pull/6367's alternative

  ## What was done?

  ## How Has This Been Tested?

  `./src/qt/dash-qt --regtest --resetguisettings` (could also add `--txindex=1` and/or `--disablegovernance=0`), check "Limit ..." box, click OK and confirm it continues with no errors (but with a warning about disabled governance, that's by design)

  close qt and check 2 more things:
  1. `./src/qt/dash-qt --regtest` should have a warning about disabled governance
  2. `./src/qt/dash-qt --regtest --prune=0` should have no warning about disabled governance (not true on `develop`)

  ## Breaking Changes

  ## Checklist:
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  kwvg:
    ACK 2d99b2c02b
  PastaPastaPasta:
    utACK 2d99b2c02b

Tree-SHA512: 465bd2f1ca86358145c4671af554078b00b2472375d65b8de7e01ae0db8b24c9b01844a2b8e5a4c85a6d65a892a169ee61797591c0dfc0f51ec044a8e2bba58a
2024-10-29 09:16:14 -05:00
Kittywhiskers Van Gogh
5e65bb45a7
merge bitcoin#30270: update subtree to eb37a9b8
excludes:
- cb59af38 (subtree manipulation done in previous commits)
- 89464ad5 (see above)
2024-10-29 10:18:01 +00:00
Kittywhiskers Van Gogh
33035ffde0
depends: update 'src/minisketch' to sipa/minisketch@eb37a9b8 as ef10e83d 2024-10-29 10:16:07 +00:00
Kittywhiskers Van Gogh
ef10e83d4d Squashed 'src/minisketch/' changes from 3472e2f5ec..eb37a9b8e7
eb37a9b8e7 Merge sipa/minisketch#87: Avoid copy in self-assign
fe6557642e Merge sipa/minisketch#88: build: Add `-Wundef`
8ea298bfa7 Avoid copy in self-assign
978a3d8869 build: Add `-Wundef`
3387044179 Merge sipa/minisketch#86: doc: fix typo in sketch_impl.h
15c2d13b60 doc: fix typo in sketch_impl.h
7be08b8a46 Merge sipa/minisketch#85: Fixes for integer precision loss
00fb4a4d83 Avoid or make integer precision conversion explicit
9d62a4d27c Avoid the need to cast/convert to size_t for vector operations
19e06cc7af Prevent overflows from large capacity/max_elements

git-subtree-dir: src/minisketch
git-subtree-split: eb37a9b8e79f9e49d73b96a49bf97a96d9eb676c
2024-10-29 10:16:07 +00:00
Kittywhiskers Van Gogh
94dca7f9ae
merge bitcoin#29823: update subtree to 3472e2f5e
excludes:
- 1eea10a6 (subtree manipulation done in previous commits)
- e58e1323 (see above)
2024-10-29 10:09:02 +00:00
Kittywhiskers Van Gogh
9540ecbc34 Squashed 'src/minisketch/' changes from a571ba20f9..3472e2f5ec
3472e2f5ec Merge sipa/minisketch#81: Avoid overflowing shift by special casing inverse of 1
653d8b2e26 Avoid overflowing shift by special casing inverse of 1
33b7c200b9 Merge sipa/minisketch#80: Add c++20 version of CountBits
4a48f31a37 Merge sipa/minisketch#83: ci: Fix "s390x (big-endian)" task
82b6488acb Add c++20 version of CountBits
0498084d31 ci: Fix "s390x (big-endian)" task
71709dca9e Merge sipa/minisketch#82: ci: Fix `x86_64-w64-mingw32` task
9e6127fa98 Merge sipa/minisketch#74: Avoid >> above type width in BitWriter
ed420bc170 ci: Fix `x86_64-w64-mingw32` task
fe1040f227 Drop -Wno-shift-count-overflow compile flag
154bcd43bd Avoid >> above type width in BitWriter
67b87acdb6 Merge sipa/minisketch#78: ci: Update macOS image for CI
7de7250416 ci: Update macOS image for CI
83d812ea9f Merge sipa/minisketch#73: ci: Use correct variable to designate C++ compiler
e051a7d690 ci: Install wine32 package for Windows tests
2d2c695d78 build: Drop unused `CC` variable
1810fcbd11 ci: Use correct variable to designate C++ compiler
022b959049 Merge sipa/minisketch#77: Add missing include
08443c4892 Add missing include

git-subtree-dir: src/minisketch
git-subtree-split: 3472e2f5ec75ace39ce9243af6b3fee233a67492
2024-10-29 10:03:14 +00:00
Kittywhiskers Van Gogh
a53506def7
depends: update 'src/minisketch' to sipa/minisketch@3472e2f5 as 9540ecbc 2024-10-29 10:03:14 +00:00
Kittywhiskers Van Gogh
02320032c7
merge bitcoin#25060: add LIFETIMEBOUND to GetFirstStoredBlock()::start_time 2024-10-29 09:14:35 +00:00
Kittywhiskers Van Gogh
cfda9e5eb5
merge bitcoin#25016: GetFirstStoredBlock() and getblockchaininfo follow-ups 2024-10-29 09:14:35 +00:00
Kittywhiskers Van Gogh
99d028e9e1
merge bitcoin#24956: Call CHECK_NONFATAL only once where needed 2024-10-29 09:14:27 +00:00
Kittywhiskers Van Gogh
87b556d322
refactor: use loop to iterate through SoftForkDescPushBack args 2024-10-29 08:21:32 +00:00
Kittywhiskers Van Gogh
80615b8c01
merge bitcoin#24784: deduplicate integer serialization in RollingBloom benchmark 2024-10-29 08:20:00 +00:00
Kittywhiskers Van Gogh
092a11e2d1
merge bitcoin#15423: Query Tor for correct -onion configuration 2024-10-29 07:52:53 +00:00
Kittywhiskers Van Gogh
74dceb3c5c
merge bitcoin#24486: dedup sqlite blob binding 2024-10-29 07:52:53 +00:00