Commit Graph

26282 Commits

Author SHA1 Message Date
pasta
5901fd4db8
Merge #6160: feat: add sbom and provenance in release for dockerhub; use jammy; apt remove as possible
9178e8a75f feat: add smob and provenance in release for dockerhub; use jammy; apt remove as possible (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  Docker provenance refers to the origin and history of Docker images, including how they were built, modified, and by whom. An SBOM (Software Bill of Materials) is a detailed list of all components in a software application, providing transparency about libraries, dependencies, and versions used, which is crucial for security and compliance.

  ## What was done?
  Add SBOM and provenance to docker build; this may allow some level of validation that GitHub actions is actually doing what it says it is.

  See this for more information https://docs.docker.com/build/ci/github-actions/attestations/

  ## How Has This Been Tested?
  Building with buildx with sbom and provenance flags locally

  ## Breaking Changes
  None

  ## 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
  - [ ] 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 9178e8a75f

Tree-SHA512: 6e3f35a0b30f002e2d5d80d6dd18ee554a1c15c62c1d4cbe1185f38977f55a199998515cf5bb9a027670f068f3d56ef33faa062d8c4122a886375d00afe6bf2f
2024-08-01 09:16:40 -05:00
pasta
bf24a2bde2
Merge #6121: test: disable mocktime in p2p_eviction.py
764b3a3239 test: disable mocktime in p2p_eviction.py (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  No idea why CI has no issues but `p2p_eviction.py` fails locally after #6103 (my guess is that it's because P2PInterface can't work with mocktime properly).

  ## What was done?
  Disable mocktime in `p2p_eviction.py`

  ## How Has This Been Tested?
  Run tests locally

  ## Breaking Changes
  n/a

  ## Checklist:
  - [x] 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)_

Top commit has no ACKs.

Tree-SHA512: a9be9032c7697ff47b2256395f0fb126deeccd9bee6f101a71a1f88e1f25b08fa039ed5eb4cd4b1b308e8136d64510a544b7019ed9147ea2e80f8cb83ff25412
2024-07-31 22:45:06 -05:00
UdjinM6
764b3a3239
test: disable mocktime in p2p_eviction.py
Co-authored-by: Konstantin Akimov <knstqq@gmail.com>
2024-07-31 22:39:52 -05:00
pasta
84179f7e0e
Merge #6147: feat: aim to have at least 2 onion connections, guard them from eviction
e775b74d5e docs: add release notes for 6147 (pasta)
127a4d23a5 feat: aim to have 2 onion connections when possible, guard them from eviction (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  In the past I've noticed that even when using `-proxy` over tor, I wouldn't actually gain any onion connections over time. This is even worse when using -onion. Sure it may expose an onion service, but you wouldn't gain any onion connections (in my experience)!

  The goal here is to minimize easy-ish censorship and improve network-wide resistance to partitioning. It is not unimaginable that port 9999 could be blocked at large scale. This could potentially result in severe partitioning, and subsequent issues. In an attempt to avoid this, we should always try to have at least 2 outbound onion connections when at all possible. Hopefully this also makes onion addresses gossip better.

  This also adds a benefit of p2p encryption for these peers. As a result, there is improved plausible deniability that you produced a transaction, as it is possible you received it over onion and simply rebroadcast it over ipv4.

  I don't think there is any real downside to this patch, stuff like masternode / quorum connections will still always happen over ipv4, but with this, blocks and transactions would continue to propogate across the network even if (non-onion) ipv4 traffic was all dropped.

  Arguably, it's not **ideal** to send so much traffic over tor, but hopefully as latency is higher, we will generally receive messages over ipv4 first and therefor not request them over the onion connections.

  ## What was done?
  We will always try to get 2 onion nodes (full or block only); and guard them from eviction

  ## How Has This Been Tested?
  Run a node; see over time that you start with 0 onion nodes, and over time you progress to having two of them!

  ## Breaking Changes
  None

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [x] 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)_

Top commit has no ACKs.

Tree-SHA512: cd15565751ae845302c71cac084ffba66340033d379ffa78d0aa6fa4ad8f65ddeccd55fa623dfaf7daeed5e38b5b2ec27683991275cf2b6edfbd8e114a1bfe60
2024-07-31 13:33:52 -05:00
pasta
e775b74d5e
docs: add release notes for 6147 2024-07-31 13:19:54 -05:00
pasta
127a4d23a5
feat: aim to have 2 onion connections when possible, guard them from eviction
In the past I've noticed that even when using `-proxy` over tor, I wouldn't actually gain any onion connections over time. This is even worse when using -onion. Sure it may expose an onion service, but you wouldn't gain any onion connections!

The goal here is to minimize easy-ish censorship and improve network-wide resistance to partitioning. It is not unimaginable that port 9999 could be blocked at large scale. This could potentially result in severe partitioning, and subsequent issues. In an attempt to avoid this, we should always try to have at least 2 outbound onion connections when at all possible. Hopefully this also makes onion addresses gossip better.

I don't think there is any real downside to this patch, stuff like masternode / quorum connections will still always happen over ipv4, but with this, blocks and transactions would continue to propogate across the network even if (non-onion) ipv4 traffic was all dropped.

This also adds a benefit of p2p encryption for these peers. As a result, there is improved plausible deniability that you produced a transaction, as it is possible you received it over onion and simply rebroadcast it over ipv4.

Arguably, it's not **ideal** to send so much traffic over tor, but hopefully as latency is higher, we will generally receive messages over ipv4 first and therefor not request them over the onion connections.
2024-07-31 13:19:52 -05:00
pasta
7ebd7785d6
Merge #6161: chore: merge master 21.0.0 back into develop
98a33939fd chore: set release to true (pasta)
cd0a3a6cc6 Merge #6154: chore: remove trailing whitespaces in release notes (pasta)
6bc60a7236 Merge #6151: chore: update seeds for v21 release (pasta)
88e949aa1b Merge #6146: chore: bump assumevalid, minchainwork, checkpoints, chaintxdata (pasta)
cc14427ccd Merge #6144: docs: release notes for v21.0.0 (pasta)
0a8ece1fd2 Merge #6122: chore: translations 2024-07 (pasta)
146d24401f Merge #6140: feat: harden all sporks on mainnet to current values (pasta)
024d272eb9 Merge #6126: feat: enable EHF activation of MN_RR on mainnet (pasta)
e780b3d48d Merge #6125: docs: update manpages for 21.0 (pasta)
5ede23c2ba Merge #6118: docs: add release notes notifying change of default branch to `develop` (pasta)
1b6fe9c720 Merge #6117: docs: update supported versions in SECURITY.md (pasta)
27d20beda8 Merge #6116: fix: mitigate crashes associated with some upgradetohd edge cases (pasta)
db828177bf Merge #6106: feat: create new composite quorum-command platformsign (pasta)
a45e6df58b Merge #6104: fix: adjust incorrect parameter description that says there is a default that doesn't exist (pasta)
7330982631 Merge #6100: feat: make whitelist works with composite commands for platform needs (pasta)
9998ffd92b Merge #6096: feat: split type of error in submitchainlock - return enum in CL verifying code (pasta)
cdf7a25012 Merge #6095: fix: createwallet to require 'load_on_startup' for descriptor wallets (pasta)
c1c2c55690 Merge #6092: fix: mixing for partially unlocked descriptor wallets (pasta)
117548660d Merge #6073: feat: add logging for RPC HTTP requests: command, user, http-code, time of running (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  Suppressed changes from be83865959 so the diff is empty.

  ## What was done?

  ## How Has This Been Tested?

  ## Breaking Changes

  ## Checklist:
  - [x] 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:
  PastaPastaPasta:
    ACK 158cf86795bbcf27a5ee7ccc4fd8072c8db05c4c; no diff
  knst:
    ACK 158cf86795

Tree-SHA512: 3310a39fbcb45bdf09f885fe77ba769c0a715869a3bb287eaf0f2cf54b35a7e1f832c88df3bd31097eabf2d375515c1b87ff05e0c3282cef642833a154c42bbe
2024-07-29 14:48:01 -05:00
UdjinM6
158cf86795
Merge branch 'master' into merge_master_21.0.0 2024-07-29 17:28:34 +03:00
pasta
9178e8a75f
feat: add smob and provenance in release for dockerhub; use jammy; apt remove as possible 2024-07-28 11:58:13 -05:00
pasta
be83865959
Merge #6157: chore: set release to true
98a33939fd chore: set release to true (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  Sets release flag to true.

  ## 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
  - [ ] 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 98a33939fd

Tree-SHA512: 2dfe7097eaad936fa426186233e9088c7fe41a33277cee9e4ff88061e9f68ad76741d4e7e6204294687edad9d16083a1af0375b0b572ff144e6051c429860699
2024-07-25 13:19:43 -05:00
pasta
444956733a
Merge #6129: backport: bitcoin#22630, 22577, 22277
79f226de9e Merge bitcoin/bitcoin#22277: test: Properly set BIP34 height in CreateNewBlock_validity unit test (MarcoFalke)
5057ebb4f1 Merge bitcoin/bitcoin#22577: Close minor startup race between main and scheduler threads (MarcoFalke)
4be68dd34a Merge bitcoin/bitcoin#22630: test:Add missing include (fanquake)

Pull request description:

  bitcoin backports

Top commit has no ACKs.

Tree-SHA512: 3310a39fbcb45bdf09f885fe77ba769c0a715869a3bb287eaf0f2cf54b35a7e1f832c88df3bd31097eabf2d375515c1b87ff05e0c3282cef642833a154c42bbe
2024-07-25 10:49:32 -05:00
MarcoFalke
79f226de9e
Merge bitcoin/bitcoin#22277: test: Properly set BIP34 height in CreateNewBlock_validity unit test
faa670d3862783017f5cd1491f37648e1875f19f test: Properly set BIP34 height in CreateNewBlock_validity unit test (MarcoFalke)

Pull request description:

  The coinbase scriptSig in this unit test has several issues:

  * The BIP34 height is not the "first item" as required (See https://github.com/bitcoin/bips/blob/master/bip-0034.mediawiki#specification)
  * It uses the wrong encoding ( See da69d9965a/src/validation.cpp (L3250) )
  * It uses the wrong height (off by one)

  While BIP34 isn't currently enforced in this unit test, this should be fixed to avoid confusion and to promote self-consistency.

  The change obviously requires new proof of work (`BLOCKINFO`).

  Also change the block version from `1` to `VERSIONBITS_TOP_BITS`, because this test shouldn't care about the block version and bumping it is required for other changes.

ACKs for top commit:
  theStack:
    Code review ACK faa670d3862783017f5cd1491f37648e1875f19f

Tree-SHA512: 8dbe2d5300a640f3e1817ff048906e60463aca64ba50fec8ee4f18fb1c70e511008755b0b5baba81114a1a6265fdfae9a4b7ae8acadfb2c7ad43223157a0386c
2024-07-25 10:44:24 -05:00
MarcoFalke
5057ebb4f1
Merge bitcoin/bitcoin#22577: Close minor startup race between main and scheduler threads
703b1e612a4bd4521e20ae21eb8fb7c19f4ef942 Close minor startup race between main and scheduler threads (Larry Ruane)

Pull request description:

  This is a low-priority bug fix. The scheduler thread runs `CheckForStaleTipAndEvictPeers()` every 45 seconds (EXTRA_PEER_CHECK_INTERVAL). If its first run happens before the active chain is set up (`CChain::SetTip()`), `bitcoind` will assert:
  ```
  (...)
  2021-07-28T22:16:49Z init message: Loading block index…
  bitcoind: validation.cpp:4968: CChainState& ChainstateManager::ActiveChainstate() const: Assertion `m_active_chainstate' failed.
  Aborted (core dumped)
  ```
  I ran into this while using the debugger to investigate an unrelated problem. Single-stepping through threads with a debugger can cause the relative thread execution timing to be very different than usual. I don't think any automated tests are needed for this PR. I'll give reproduction steps in the next PR comment.

ACKs for top commit:
  MarcoFalke:
    cr ACK 703b1e612a4bd4521e20ae21eb8fb7c19f4ef942
  tryphe:
    tested ACK 703b1e612a4bd4521e20ae21eb8fb7c19f4ef942
  0xB10C:
    ACK 703b1e612a4bd4521e20ae21eb8fb7c19f4ef942
  glozow:
    code review ACK 703b1e612a4bd4521e20ae21eb8fb7c19f4ef942 - it makes sense to me to start peerman's background tasks here, after `chainstate->LoadChainTip()` and `node.connman->Start()` have been called.

Tree-SHA512: 9316ad768cba3b171f62e2eb400e3790af66c47d1886d7965edb38d9710fc8c8f8e4fb38232811c9346732ce311d39f740c5c2aaf5f6ca390ddc48c51a8d633b
2024-07-25 10:44:24 -05:00
fanquake
4be68dd34a
Merge bitcoin/bitcoin#22630: test:Add missing include
6666ec9e059ea66065a11f5e25c0a17d7d0834fe test: Add missing include (MarcoFalke)

Pull request description:

  Fix the silent merge conflict introduced in commit 7d60f7ec6bbf293c6f23f442a0fd985111a15ff7

ACKs for top commit:
  fanquake:
    ACK 6666ec9e059ea66065a11f5e25c0a17d7d0834fe - fixes:

Tree-SHA512: c712715db4a41cf6ed991fb35482d8fd9016b5a27e1309654018219ebbfd8d4f98a389bdf5d7b792e7a4690928aeef943c716465b0c5e00f70320ad2e134ebb5
2024-07-25 10:44:24 -05:00
pasta
baf8161d7c
Merge #6091: fix: move cpp file of ehf_signals from headers to libbitcoin_server
c04214fce8 fix: move cpp file of ehf_signals from headers to libbitcoin_server SOURCES (Konstantin Akimov)

Pull request description:

  ## What was done?
  Moved cpp file from list of headers to list o libbitcoin_server where it is supposed to be.
  Also recover alphabetical sort in file list for libbitcoin_server

  ## How Has This Been Tested?
  Run CI

  ## Breaking Changes
  N/A

  ## Checklist:
  - [x] 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

ACKs for top commit:
  UdjinM6:
    utACK c04214fce8
  PastaPastaPasta:
    utACK c04214fce8

Tree-SHA512: 1c245af2be11f026bd86697e8e2ff463989355fbc39ea15ea85abbdddd56ebf4126da79008cdba597f74d31363add442202970c964f80ffc279946f174597d02
2024-07-25 10:40:30 -05:00
pasta
7f0f30e29e
Merge #6149: backport: trivial 2024 07 23
d4a728b60d docs: add release notes for 24806 (pasta)
1221f45a9c Merge bitcoin/bitcoin#25314: p2p: always set nTime for self-advertisements (laanwj)
c2b3f4b62f Merge bitcoin/bitcoin#25299: doc: Correct comments re. units of constants (laanwj)
1ecb6ca1d0 Merge bitcoin/bitcoin#25339: RPC/blockchain: Elaborate on scantxoutset documentation (MacroFake)
2afbf25e25 Merge bitcoin/bitcoin#24032: Add defaults to vDeployments to avoid uninitialized variables (laanwj)
1d991ae96b Merge bitcoin/bitcoin#24806: RPC: Switch getblockfrompeer back to standard param name blockhash (fanquake)
9ee82d223e Merge bitcoin/bitcoin#24627: test: Limit scope of id global which is shared between subtests (fanquake)
5587bf15db Merge bitcoin/bitcoin#24156: build: Replace `which` command with `command -v` (laanwj)
5a6a328c32 Merge bitcoin/bitcoin#23219: p2p, refactor: tidy up LookupSubNet() (W. J. van der Laan)
e311662a2d Merge bitcoin/bitcoin#23766: refactor: remove unneeded calls to strprintf() (MarcoFalke)
763645ad2b Merge bitcoin/bitcoin#23634: rpc: add missing scantxoutset examples (W. J. van der Laan)
5ac73929e2 Merge bitcoin/bitcoin#20583: rpc: Add missing BlockUntilSyncedToCurrentChain to wallet RPCs (MarcoFalke)
cc9d00a56d Merge bitcoin/bitcoin#23132: test: Change background_cs from pointer to reference in validation_chainstate_tests (MarcoFalke)
5e0c67cb94 Merge bitcoin/bitcoin#22113: test: minor cleanups in feature_cltv.py (MarcoFalke)

Pull request description:

  ## Issue being fixed or feature implemented
  Batch of trivial backports

  ## What was done?

  ## How Has This Been Tested?
  building; ran tests that were changed

  ## Breaking Changes
    _Please describe any breaking changes your code introduces_

  ## 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 d4a728b60d

Tree-SHA512: e602d10a6824aa285957bb8c41a554b85fcf2447cc137a33f30b6ea9e70845ad6e7cf3f9a12536135d86cc988c13e914b3ba18bf837639cd5e250d04e432a83a
2024-07-25 09:30:51 -05:00
pasta
98a33939fd
chore: set release to true 2024-07-24 23:29:01 -05:00
pasta
add2de7039
Merge #6145: [v21.0.x] backport: v21.0.0-rc.3
cd0a3a6cc6 Merge #6154: chore: remove trailing whitespaces in release notes (pasta)
6bc60a7236 Merge #6151: chore: update seeds for v21 release (pasta)
88e949aa1b Merge #6146: chore: bump assumevalid, minchainwork, checkpoints, chaintxdata (pasta)
cc14427ccd Merge #6144: docs: release notes for v21.0.0 (pasta)
0a8ece1fd2 Merge #6122: chore: translations 2024-07 (pasta)
146d24401f Merge #6140: feat: harden all sporks on mainnet to current values (pasta)
024d272eb9 Merge #6126: feat: enable EHF activation of MN_RR on mainnet (pasta)
e780b3d48d Merge #6125: docs: update manpages for 21.0 (pasta)
5ede23c2ba Merge #6118: docs: add release notes notifying change of default branch to `develop` (pasta)
1b6fe9c720 Merge #6117: docs: update supported versions in SECURITY.md (pasta)
27d20beda8 Merge #6116: fix: mitigate crashes associated with some upgradetohd edge cases (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  Backports to v21 for rc.3; there are more PRs to be back ported here

  ## What was done?
  see commits

  ## How Has This Been Tested?

  ## Breaking Changes
  None

  ## 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
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] 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 cd0a3a6cc6

Tree-SHA512: 0a8d027c5952fcb61317cc413a0de1f3152ae675c5690942400c3e4655cc6a803c702a7e1b18d8dac77aa0f483783f5cdbe29d6c0592165c4f0517d6f37b91a4
2024-07-24 19:14:29 -05:00
pasta
d4a728b60d
docs: add release notes for 24806 2024-07-24 18:22:14 -05:00
pasta
cd0a3a6cc6
Merge #6154: chore: remove trailing whitespaces in release notes
4969a72cc9 chore: remove trailing whitespaces in release notes (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  https://gitlab.com/dashpay/dash/-/jobs/7421310092

  ## What was done?

  ## How Has This Been Tested?

  ## Breaking Changes

  ## Checklist:
  - [x] 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:
  PastaPastaPasta:
    utACK 4969a72cc9

Tree-SHA512: 2c85bb45a097543abad3e8f97fd9b7cd847fbfdfd4b4916e24f6725ffc05cad38647ff008dc4a35b188a6db631e6fffcbd535362a794f440d45a678255c13428
2024-07-24 18:18:41 -05:00
pasta
3850128704
Merge #6154: chore: remove trailing whitespaces in release notes
4969a72cc9 chore: remove trailing whitespaces in release notes (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  https://gitlab.com/dashpay/dash/-/jobs/7421310092

  ## What was done?

  ## How Has This Been Tested?

  ## Breaking Changes

  ## Checklist:
  - [x] 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:
  PastaPastaPasta:
    utACK 4969a72cc9

Tree-SHA512: 2c85bb45a097543abad3e8f97fd9b7cd847fbfdfd4b4916e24f6725ffc05cad38647ff008dc4a35b188a6db631e6fffcbd535362a794f440d45a678255c13428
2024-07-24 18:17:39 -05:00
UdjinM6
4969a72cc9
chore: remove trailing whitespaces in release notes 2024-07-25 01:34:48 +03:00
pasta
6bc60a7236
Merge #6151: chore: update seeds for v21 release
43c39537d8 chore: update seeds (Konstantin Akimov)
16dd04357b chore: added extra onion seeds (provided by pasta) (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  https://github.com/dashpay/dash/issues/6081

  ## What was done?
  Extra onion seeds are provided by pasta.

  ```sh
  dash-cli protx list valid 1 2110129 > protx_list.json

  # Make sure the onion seeds still work!
  while IFS= read -r line
  do
    address=$(echo $line | cut -d':' -f1)
    port=$(echo $line | cut -d':' -f2)
    nc -v -x 127.0.0.1:9050 -z $address $port
  done < "onion_seeds.txt"

  python3 makeseeds.py protx_list.json onion_seeds.txt > nodes_main.txt
  python3 generate-seeds.py . > ../../src/chainparamsseeds.h
  ```

  ## How Has This Been Tested?
  n/a

  ## Breaking Changes
  n/a

  ## Checklist:
  - [x] 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
  - [x] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  UdjinM6:
    utACK 43c39537d8
  PastaPastaPasta:
    utACK 43c39537d8

Tree-SHA512: 8583f030949c6b26b5410eaa4db4f9b85fbe14bc147083861519d9564ae1fff52716b2d8deb233d30ecfb679e778cb2bb2f0ef3dee392cff1986b004b03d9e1e
2024-07-24 14:20:21 -05:00
pasta
f81000b019
Merge #6151: chore: update seeds for v21 release
43c39537d8 chore: update seeds (Konstantin Akimov)
16dd04357b chore: added extra onion seeds (provided by pasta) (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  https://github.com/dashpay/dash/issues/6081

  ## What was done?
  Extra onion seeds are provided by pasta.

  ```sh
  dash-cli protx list valid 1 2110129 > protx_list.json

  # Make sure the onion seeds still work!
  while IFS= read -r line
  do
    address=$(echo $line | cut -d':' -f1)
    port=$(echo $line | cut -d':' -f2)
    nc -v -x 127.0.0.1:9050 -z $address $port
  done < "onion_seeds.txt"

  python3 makeseeds.py protx_list.json onion_seeds.txt > nodes_main.txt
  python3 generate-seeds.py . > ../../src/chainparamsseeds.h
  ```

  ## How Has This Been Tested?
  n/a

  ## Breaking Changes
  n/a

  ## Checklist:
  - [x] 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
  - [x] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  UdjinM6:
    utACK 43c39537d8
  PastaPastaPasta:
    utACK 43c39537d8

Tree-SHA512: 8583f030949c6b26b5410eaa4db4f9b85fbe14bc147083861519d9564ae1fff52716b2d8deb233d30ecfb679e778cb2bb2f0ef3dee392cff1986b004b03d9e1e
2024-07-24 14:19:32 -05:00
pasta
19008009ce
Merge #6153: fix: multiple trivial improvements
859b9ad28f style: run clang-format (pasta)
567d629e42 test: fix linter message for usage assert in rpc governance (Konstantin Akimov)
6d890870e5 refactor: change formatting - missing changes from bitcoin#20560 for easier backports in future (Konstantin Akimov)
acafd6ab83 fix: codestyle no spaces for annotations [[ ... ]] (Konstantin Akimov)

Pull request description:

  ## What was done?
  Fixed formatting in several files to make backporting changes from bitcoin easier.
  Fixed a lint message that pollutes output due to misusage assert in governance rpc code.

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

  ## Breaking Changes
  N/A

  ## Checklist:
  - [x] 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

ACKs for top commit:
  UdjinM6:
    utACK 859b9ad28f
  PastaPastaPasta:
    utACK 859b9ad28f it's really only whitespace. I'll merge (and build locally / run linter first), but not wait for CI

Tree-SHA512: dd02d22ccceedd769780ca032c73271be7720dfd98dbf1cf44d8c650db22556a0c80bc4380db356af9bad741d0c618d8f14164df4bda6954e300a0d1060d2e4b
2024-07-24 14:16:45 -05:00
laanwj
1221f45a9c
Merge bitcoin/bitcoin#25314: p2p: always set nTime for self-advertisements
99b9e5f3a9fa29bbc1e45fc958470fbcc207ef23 p2p: always set nTime for self-advertisements (Martin Zumsande)

Pull request description:

  This logic was recently changed in 0cfc0cd322 to overwrite `addrLocal` with the address they gave us when self-advertising to an inbound peer. But if we don't also change `nTime` again from the default `TIME_INIT`, our peer will not relay our advertised address any further.

ACKs for top commit:
  naumenkogs:
    ACK 99b9e5f3a9fa29bbc1e45fc958470fbcc207ef23
  laanwj:
    Code review ACK 99b9e5f3a9fa29bbc1e45fc958470fbcc207ef23
  vasild:
    ACK 99b9e5f3a9fa29bbc1e45fc958470fbcc207ef23

Tree-SHA512: 4c7ea51cc77ddaa4b3537962ad2ad085f7ef5322982d3b1f5baecb852719eb99dd578436ca63432cb6b0a4fbd8b59fca793caf326c4663a4d6f34301e8146aa2
2024-07-24 14:04:30 -05:00
laanwj
c2b3f4b62f
Merge bitcoin/bitcoin#25299: doc: Correct comments re. units of constants
241c4d047ee658a976625c39c6acd04dd7b071ef doc: Correct comment describing value of MAX_FILE_SIZE_PSBT as in MiB (Ben Woosley)
64f81a38b9f0e09e353d058aa88eb681a181df37 doc: Correct nPruneTarget misidentifying units of variable (darosior)

Pull request description:

  In https://github.com/bitcoin/bitcoin/pull/15848, darosior fixed up a comment which mis-identified the units of a constant.

  Another comment misidentified a value as in MiB rather than MB.

ACKs for top commit:
  laanwj:
    Code review ACK 241c4d047ee658a976625c39c6acd04dd7b071ef
  darosior:
    ACK 241c4d047ee658a976625c39c6acd04dd7b071ef, with or without https://github.com/bitcoin/bitcoin/pull/25299#discussion_r892705277

Tree-SHA512: 96c03a35140e5c53759f387bd292a8f8f621ba74c3cf6621939fad40f48892d23141c747ad3ab4fd71108e3b737670175abc2eb3990a1bd1660366c55d61ddf8
2024-07-24 14:04:30 -05:00
MacroFake
1ecb6ca1d0
Merge bitcoin/bitcoin#25339: RPC/blockchain: Elaborate on scantxoutset documentation
7862c4ac4e7afc954ef9e2c7ee8c556e1654a374 RPC/blockchain: Reorder result documentation for scantxoutset (Luke Dashjr)
98718d03be5795905b17d23959ab400db0f8664f scripted-diff: RPC/blockchain: Lowercase "when" in scantxoutset documentation (Luke Dashjr)
b283e4d823cc29c0151f02c43203d3a0253e383c RPC/blockchain: Elaborate on scantxoutset documentation (Luke Dashjr)

Pull request description:

  Minor doc improvements

ACKs for top commit:
  achow101:
    ACK 7862c4ac4e7afc954ef9e2c7ee8c556e1654a374

Tree-SHA512: a8b16a9b77c3ca216ce2556c26d6a049b12f73500bdb35c172432409b3b9321cc24a08daca1210926e0f75674b2e680e850637700c516c195fb75ce6555c17c4
2024-07-24 14:04:29 -05:00
laanwj
2afbf25e25
Merge bitcoin/bitcoin#24032: Add defaults to vDeployments to avoid uninitialized variables
c4c5b9ca6e98cf44309af73edf5559940a04d00f consensus/params: set default values for BIP9Deployment (Anthony Towns)

Pull request description:

  Adds default values for `vDeployments` in `consensus/params.h` so that undefined behaviour is avoided if a deployment is not initialized. Also adds a check in the unit tests to alert if this is happening, since even if it doesn't invoke undefined behaviour it's probably a mistake.

ACKs for top commit:
  laanwj:
    Code review ACK c4c5b9ca6e98cf44309af73edf5559940a04d00f

Tree-SHA512: 22d7ff86a817d9e9e67c47301fc3b7e9d5821c13565d7706711f113dea220eea29b413a7c8d029691009159cebc85a108d77cb52418734091c196bafb2b12423
2024-07-24 14:04:29 -05:00
fanquake
1d991ae96b
Merge bitcoin/bitcoin#24806: RPC: Switch getblockfrompeer back to standard param name blockhash
88917f93cc01b5e881072b0e476b74d20b7673c4 RPC: Switch getblockfrompeer back to standard param name blockhash (Luke Dashjr)

Pull request description:

  This commit partially reverts 923312fbf6a89efde1739da0b7209694d4f892ba.

  Portion of #24294.

ACKs for top commit:
  MarcoFalke:
    review ACK 88917f93cc01b5e881072b0e476b74d20b7673c4
  ajtowns:
    ACK 88917f93cc01b5e881072b0e476b74d20b7673c4
  jonatack:
    Review-and-grep-only ACK 88917f93cc01b5e881072b0e476b74d20b7673c4

Tree-SHA512: e42497ea6162623e449c5e60b83a5abbef568f226edc022aa14bbc1f1921618255d593968cf43f7a6d2c0bfd84cdd4b05fbce5c724759b20035e6eead758d443
2024-07-24 14:04:29 -05:00
fanquake
9ee82d223e
Merge bitcoin/bitcoin#24627: test: Limit scope of id global which is shared between subtests
fa9086d085f664a96561eeb5dd29fc1a4e4f926a test: Limit scope of id global which is shared between subtests (MarcoFalke)

Pull request description:

  Globals aren't too nice when testing, as leak state between subtests run in the same process. For example, when checking peer ids in the tests, they might pass/fail depending on other tests run in the same process.

  Fix this by making `id` not a global.

ACKs for top commit:
  promag:
    Code review ACK fa9086d085f664a96561eeb5dd29fc1a4e4f926a.

Tree-SHA512: 0a53dde428570086f4557b23112e6460d6413bedf6ef487bd56e88f83cd5f4526f44effa8076cdeaf4761ecc062c346948e0bff434808bbf9b558eabd81328e3
2024-07-24 14:04:29 -05:00
laanwj
5587bf15db
Merge bitcoin/bitcoin#24156: build: Replace which command with command -v
148b33cf72033eced8a701d127e21dfe8a816ce3 build: Replace `which` command with `command -v` (Hennadii Stepanov)

Pull request description:

  On some systems the `which` command can emit messages into stderr. For example, for `debianutils 5.5-1` package in Debian Sid:
  ```
  # which cat
  /usr/bin/which: this version of `which' is deprecated; use `command -v' in scripts instead.
  /bin/cat
  ```

  Although such messages are harmless, they could distract developers needlessly (see bitcoin/bitcoin#24056).

  Fixes bitcoin/bitcoin#24056.

ACKs for top commit:
  dongcarl:
    Code Review ACK 148b33cf72033eced8a701d127e21dfe8a816ce3
  laanwj:
    Code review ACK 148b33cf72033eced8a701d127e21dfe8a816ce3

Tree-SHA512: 36ee45d8831afb75a1ba6f8c8491fa5381159a2b86042140ac09037752f74e92d3e725caa793b8e97c36afe03ada0b557eede95df2bec049173c27f32ffc804a
2024-07-24 14:04:28 -05:00
W. J. van der Laan
5a6a328c32
Merge bitcoin/bitcoin#23219: p2p, refactor: tidy up LookupSubNet()
c44c20108f7b7314f59f034110789385a24db280 p2p, refactor: drop unused DNSLookupFn param in LookupSubnet() (Vasil Dimov)
f0c9e68080432c1ab11b14e571b8dfb7cfe727f8 p2p, refactor: tidy up LookupSubNet() (Jon Atack)

Pull request description:

  This pull originally resolved a code `TO-DO`, as well as fixing different param names between the function declaration and definition, updating the function to current style standards, clearer variable naming, and improving the Doxygen documentation.

  Following the merge of #17160, it now does the non-`TODO` changes and also now drops an unused param to simplify the function.

ACKs for top commit:
  dunxen:
    ACK c44c201
  vasild:
    ACK c44c20108f7b7314f59f034110789385a24db280
  shaavan:
    crACK c44c20108f7b7314f59f034110789385a24db280

Tree-SHA512: 55f64c7f403819dec84f4da06e63db50f7c0601a2d9a1ec196fda667c220ec6f5ad2a3c95e0e02275da9f6da6b984275d1dc10e19ed82005c5e13da5c5ecab02
2024-07-24 14:04:28 -05:00
MarcoFalke
e311662a2d
Merge bitcoin/bitcoin#23766: refactor: remove unneeded calls to strprintf()
eca159c305c1ff3d9b806755026a23bf2aad9a48 refactor: remove unneeded calls to strprintf() (fanquake)

Pull request description:

ACKs for top commit:
  laanwj:
    Code review ACK eca159c305c1ff3d9b806755026a23bf2aad9a48

Tree-SHA512: 6f0b25dd6506f7223e3603f89c9d6e33feb9a7b524986146f70d10973b7a346830889656b37b2ab5cf78ddea458ca6979dd848403a900cb79f62a1494b968f99
2024-07-24 14:04:28 -05:00
W. J. van der Laan
763645ad2b
Merge bitcoin/bitcoin#23634: rpc: add missing scantxoutset examples
1ed5681407adc1acc60c9bfebde5819f077f0bf3 rpc: add missing scantxoutset examples (Sebastian Falbesoner)

Pull request description:

  The scantxoutset RPC and its help text was at last improved in #16285, but it's still missing examples (see https://github.com/bitcoin/bitcoin/pull/16285#issuecomment-529313781).

  ~Note that the example descriptor used doesn't follow the developer guideline of using invalid bech32 addresses, as the RPC is not wallet-related and it's use-case is merely to look up state information (i.e. there is no danger of sending funds to a wrong address).~ For the sake of simplicity, the raw descriptor for an early coinbase payout address (block 9) is taken, i.e. it yields results even at an early stage of IBD. Happy to change that though if there are other suggestions.

ACKs for top commit:
  shaavan:
    reACK 1ed5681407adc1acc60c9bfebde5819f077f0bf3

Tree-SHA512: 057ad9ac0d019035bee2332440128de0ef08580bbeae80182ff74771beead3555c4bf7008071a97bbb6a8d85fb85d0f0754fb7941db2c5b755eae1ac9aa65318
2024-07-24 14:04:27 -05:00
Konstantin Akimov
43c39537d8
chore: update seeds
```sh
dash-cli protx list valid 1  2110129 > protx_list.json

while IFS= read -r line
do
  address=$(echo $line | cut -d':' -f1)
  port=$(echo $line | cut -d':' -f2)
  nc -v -x 127.0.0.1:9050 -z $address $port
done < "onion_seeds.txt"

python3 makeseeds.py protx_list.json onion_seeds.txt > nodes_main.txt
python3 generate-seeds.py . > ../../src/chainparamsseeds.h
```
2024-07-25 02:00:25 +07:00
Konstantin Akimov
16dd04357b
chore: added extra onion seeds (provided by pasta) 2024-07-25 01:57:45 +07:00
pasta
859b9ad28f
style: run clang-format 2024-07-25 01:54:47 +07:00
pasta
88e949aa1b
Merge #6146: chore: bump assumevalid, minchainwork, checkpoints, chaintxdata
dfe708993d chore: bump assumevalid, minchainwork, checkpoints, chaintxdata (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  bump assumevalid, minchainwork, checkpoints, chaintxdata in prep for v21 release final

  ## What was done?

  ## How Has This Been Tested?
  Reindex TBD

  ## Breaking Changes
  None

  ## 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 dfe708993d
  kwvg:
    utACK dfe708993d

Tree-SHA512: 34ef58092cbae4389db87e3f4fc9978356abf19ea110575b89663f00c7621091141f138ce03bc21d7deca9f5b86588c1c2e0874aa8a85d7c54efa41a201d51cc
2024-07-24 13:37:01 -05:00
pasta
cc14427ccd
Merge #6144: docs: release notes for v21.0.0
dfd144b64d docs: add v21.0.0 release notes, archive old release notes, delete partials (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  Add release notes for v21.0.0

  ## What was done?
  See commits

  ## How Has This Been Tested?

  ## Breaking Changes

  ## 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
  - [ ] 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)_

Top commit has no ACKs.

Tree-SHA512: fafe225f7db59ccea6aa998b04204f22b913ab4d0a178737ca2311b093c04be39ce57c2a6ab3e8e0e312a10159118a024371a7315dcb5df3d8651d3535417861
2024-07-24 13:36:47 -05:00
pasta
37124ec138
Merge #6144: docs: release notes for v21.0.0
dfd144b64d docs: add v21.0.0 release notes, archive old release notes, delete partials (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  Add release notes for v21.0.0

  ## What was done?
  See commits

  ## How Has This Been Tested?

  ## Breaking Changes

  ## 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
  - [ ] 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)_

Top commit has no ACKs.

Tree-SHA512: fafe225f7db59ccea6aa998b04204f22b913ab4d0a178737ca2311b093c04be39ce57c2a6ab3e8e0e312a10159118a024371a7315dcb5df3d8651d3535417861
2024-07-24 13:34:48 -05:00
Konstantin Akimov
567d629e42
test: fix linter message for usage assert in rpc governance 2024-07-25 01:33:00 +07:00
Konstantin Akimov
6d890870e5
refactor: change formatting - missing changes from bitcoin#20560 for easier backports in future 2024-07-25 01:33:00 +07:00
Konstantin Akimov
acafd6ab83
fix: codestyle no spaces for annotations [[ ... ]] 2024-07-25 01:33:00 +07:00
pasta
dfd144b64d
docs: add v21.0.0 release notes, archive old release notes, delete partials 2024-07-24 13:32:25 -05:00
pasta
32585f385d
Merge #6146: chore: bump assumevalid, minchainwork, checkpoints, chaintxdata
dfe708993d chore: bump assumevalid, minchainwork, checkpoints, chaintxdata (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  bump assumevalid, minchainwork, checkpoints, chaintxdata in prep for v21 release final

  ## What was done?

  ## How Has This Been Tested?
  Reindex TBD

  ## Breaking Changes
  None

  ## 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 dfe708993d
  kwvg:
    utACK dfe708993d

Tree-SHA512: 34ef58092cbae4389db87e3f4fc9978356abf19ea110575b89663f00c7621091141f138ce03bc21d7deca9f5b86588c1c2e0874aa8a85d7c54efa41a201d51cc
2024-07-24 12:19:24 -05:00
MarcoFalke
5ac73929e2
Merge bitcoin/bitcoin#20583: rpc: Add missing BlockUntilSyncedToCurrentChain to wallet RPCs
fa5362a9a0c5665c1a4de51c3ce4758c93a9449e rpc: Add missing BlockUntilSyncedToCurrentChain to wallet RPCs (MarcoFalke)

Pull request description:

  Wallet RPCs that allow a rescan based on block-timestamp or block-height
  need to sync with the active chain first, because the user might assume
  the wallet is up-to-date with the latest block they got reported via a
  blockchain RPC.

ACKs for top commit:
  meshcollider:
    utACK fa5362a9a0c5665c1a4de51c3ce4758c93a9449e

Tree-SHA512: d4831f1f08f854f9a49fc969de86c438f856e41c2163c801a6ff36dc2f6299cb342b44663279c524a8b7ca9a50895db1243cd7d49bed79277ada857213f20a26
2024-07-23 23:42:45 -05:00
MarcoFalke
cc9d00a56d
Merge bitcoin/bitcoin#23132: test: Change background_cs from pointer to reference in validation_chainstate_tests
fa4d0aacf2bbddaf1709660ffd8d520570533aa8 test: * -> & (MarcoFalke)

Pull request description:

  This changes background_cs from being a pointer to a reference to work
  around a gcc false warning. Also, this makes the test easier to read.

  Fixes bitcoin#23101

  Can be reviewed with --ignore-all-space.

ACKs for top commit:
  practicalswift:
    cr ACK fa4d0aacf2bbddaf1709660ffd8d520570533aa8
  jamesob:
    ACK fa4d0aacf2
  hebasto:
    ACK fa4d0aacf2bbddaf1709660ffd8d520570533aa8, tested on Linux Mint 20.2 (x86_64) by merging this PR on top of the current master.

Tree-SHA512: 93a0d8859201f7074bea52fab8f6701409148bc50cfbb142cacfa6c991fc12c07584df04fead645f11703883df99535423d154f9945202e1c5aff49540d9b607
2024-07-23 23:42:24 -05:00
MarcoFalke
5e0c67cb94
Merge bitcoin/bitcoin#22113: test: minor cleanups in feature_cltv.py
7e32fde912b3924fdb27ec1f658ac11fcf160b3e test: feature_cltv.py: don't return tx copies in modification functions (Sebastian Falbesoner)
9ab2ce0a6673acc7ee0f85158fc087fce0fc7dd8 test: drop unused node parameters in feature_cltv.py (Sebastian Falbesoner)
0c2139a3f160d1d443460e4c5928109a6ab8cd11 test: fix typo in feature_cltv.py (s/ctlv/cltv/) (Sebastian Falbesoner)

Pull request description:

  This tiny PR cleans up the test `feature_cltv.py` in the following ways:
  * fixes a typo (s/ctlv/cltv/); compared to CHECKLOCKTIMEVERIFY, CHECKTIMELOCKVERIFY probably also sounds good and you [even get some search results for it](https://www.google.com/search?q=%22CHECKTIMELOCKVERIFY%22), but it's still wrong ;)
  * drops the unused "node" parameters from the tx modification functions
  * don't return a copy from the tx modification functions; it's modified in-place, hence a copy is not needed and `cltv_validate(tx, ...)` looks more natural than `tx = cltv_validate(tx, ...)`

ACKs for top commit:
  MarcoFalke:
    review ACK 7e32fde912b3924fdb27ec1f658ac11fcf160b3e 📼

Tree-SHA512: d2e6230977442f6a511d0f7c99431a44ad3a423647f4f327ce2ce8efe78bf9616c0d2093f5e3c3550f690dcb3f625ddf53227505c01ced70227425f249c25364
2024-07-23 23:41:53 -05:00
pasta
dfe708993d
chore: bump assumevalid, minchainwork, checkpoints, chaintxdata 2024-07-23 16:32:06 -05:00