Commit Graph

23335 Commits

Author SHA1 Message Date
UdjinM6
3d77c539d2
test: Various test improvements (#5382)
## Issue being fixed or feature implemented
Speed thing up: 8075fc0c61
Unify things: ff1a390224 (and _probably_
fix issues like https://gitlab.com/dashpay/dash/-/jobs/4304343867),
876f5c3a9f,
ed58cdda13
Let tsan tests finish on smaller/slower machines:
ba1e3360f9

## What was done?
pls see individual commits


## How Has This Been Tested?
run tests locally and my in gitlab ci
https://gitlab.com/UdjinM6/dash/-/jobs/4319419014

## Breaking Changes
n/a

## Checklist:
- [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
- [ ] 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)_
2023-05-24 12:38:33 -05:00
UdjinM6
6e75f5b2a5
docs: actually add release-notes-19.0.0.md (#5389)
## Issue being fixed or feature implemented
we missed it in https://github.com/dashpay/dash/pull/5385

## What was done?

## How Has This Been Tested?

## 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 _(for repository
code-owners and collaborators only)_
2023-05-24 11:39:17 -05:00
PastaPastaPasta
e80ab7cfaa
Merge pull request #5388 from UdjinM6/merge_master_19.1.0
chore: Merge master 19.1.0 back into develop
2023-05-24 11:35:22 -05:00
UdjinM6
1bfc403165
Merge branch 'master' into merge_master_19.1.0 2023-05-23 13:49:16 +03:00
PastaPastaPasta
2fbd73eeb7
Merge pull request #5385 from PastaPastaPasta/v19.x
backport: v19.1.0 backports
2023-05-22 10:08:48 -05:00
pasta
a938b77073
chore: bump version to 19.1.0 2023-05-22 09:06:55 -05:00
pasta
a6e2fef076
docs: add release-notes.md for v19.1.0 2023-05-22 09:06:55 -05:00
PastaPastaPasta
1c1f1fc5c9
fix: delay v19 activation to June 14 (#5384)
## Issue being fixed or feature implemented
Mainnet chain has stalled. The root issue does not appear trivial to
resolve, as such the most optimal path is likely to delay the v19 hard
fork

## What was done?
Delayed HF

## How Has This Been Tested?


## Breaking Changes
This will hard fork mainnet

## 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)_
2023-05-22 08:46:26 -05:00
PastaPastaPasta
ea184524ac
fix: delay v19 activation to June 14 (#5384)
## Issue being fixed or feature implemented
Mainnet chain has stalled. The root issue does not appear trivial to
resolve, as such the most optimal path is likely to delay the v19 hard
fork

## What was done?
Delayed HF

## How Has This Been Tested?


## Breaking Changes
This will hard fork mainnet

## 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)_
2023-05-22 08:45:27 -05:00
thephez
95156b7d1c
chore: update dash_hash install and instructions (#5291)
## Issue being fixed or feature implemented
Install of dash_hash will change once
https://github.com/dashpay/dash_hash/pull/17/ is merged

## What was done?
- Changed install instructions to match new install in dash_hash README
- Updated Dockerfile to install correctly

## How Has This Been Tested?
N/A

## 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
- [x] I have made corresponding changes to the documentation
2023-05-22 08:37:37 -05:00
UdjinM6
8b18a2f1c7
ci: clone dash_hash at a specific tag (#5369)
## Issue being fixed or feature implemented
should fix ci failures like
https://gitlab.com/dashpay/dash/-/jobs/4261565118 in #5291

## What was done?
Use the exact dash_hash version/tag instead of simply using `master`.
Bumping `DASH_HASH_VERSION` invalidates docker cache.

## How Has This Been Tested?
Ran it in my gitlab 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 _(for repository
code-owners and collaborators only)_
2023-05-22 08:37:08 -05:00
UdjinM6
a7a69df25a
fix(qt): provide correct data into intro dlg (#5348)
## Issue being fixed or feature implemented
we failed to backport 13216 correctly in #4359

noticed this while reviewing/testing #5255 

## What was done?
fix it

## How Has This Been Tested?
run qt with `-resetguisetting` and check info with and without the patch
on testnet for example (or tweak regtest params and test there)

## 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 _(for repository
code-owners and collaborators only)_
2023-05-22 08:37:03 -05:00
PastaPastaPasta
5b4c771866
build: add --hardened-runtime for macos detached signature creation to enable notarization (#5332)
## Issue being fixed or feature implemented
Slightly changes the detached signature creation code 

## What was done?
Investigated what exactly needed to be done for notarization (docs to
come), tried it again, then when it failed as expected trying to figure
it out, then figuring it out :) simple change in the end.

## How Has This Been Tested?
created macOS detached sigs and notarized 19.0.0-rc.10 binaries and
ensured that all worked as expected. See binary attached here (sha256
3829e863831b05c3d76785540183bee556c4bab03dac98f5872df06668b9cb20)

[dashcore-19.0.0-rc.10-osx.dmg.zip](https://github.com/dashpay/dash/files/11246273/dashcore-19.0.0-rc.10-osx.dmg.zip).
You can also do a signed gitian-build for rc.10 and should replicate
these hashes.


## Breaking Changes
Should be none; I would like to backport this to 19 as a 19.0.1

## 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)_
2023-05-22 08:37:03 -05:00
PastaPastaPasta
37c801c0a3
ci: add ci for merging into master (#5316)
## Issue being fixed or feature implemented
This adds a check that ensures branches merge cleanly into master via a
ff-only

## What was done?
Added a GitHub action created via gpt-4 :)

## How Has This Been Tested?

https://github.com/PastaPastaPasta/dash/actions/runs/4703432752/jobs/8341923994
and
https://github.com/PastaPastaPasta/dash/actions/runs/4703457936/jobs/8341980146
for expected pass and expected fail

## Breaking Changes
None, should be back ported to v19.x branch when we get the chance.

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

**For repository code-owners and collaborators only**
- [x] I have assigned this pull request to a milestone
2023-05-22 08:37:03 -05:00
UdjinM6
99e5b08189
fix(wallet): autobackup fixes (#5269)
## Issue being fixed or feature implemented
pls see individual commits

fixes an issue (reported by @strophy recently) where mixing wouldn't
start in a fresh new wallet

not 100% sure but
[99867eb](99867eb769)
might also fix #5350 reported by @splawik21 so this could also be a v19
backport candidate

## What was done?


## How Has This Been Tested?
mixing on testnet

## Breaking Changes


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

**For repository code-owners and collaborators only**
- [x] I have assigned this pull request to a milestone
2023-05-22 08:35:00 -05:00
UdjinM6
1d6990a588
fix(rpc): Fix non-fatal check in generateblock (#5075)
## Issue being fixed or feature implemented
`generateblock` was not aware of Dash-specific txes
```
rpc/mining.cpp:375 (generateblock)
Internal bug detected: 'block.vtx.size() == 1'
```

👍 to @strophy for finding it

## What was done?
<!--- Describe your changes in detail -->


## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->


## 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. -->
- [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

**For repository code-owners and collaborators only**
- [x] I have assigned this pull request to a milestone
2023-05-20 17:24:32 +03:00
UdjinM6
8bf40ea589
refactor/feat: Refactor and add safety belts in llmq utils (#5378)
## Issue being fixed or feature implemented
We use `pQuorumBaseBlockIndex` name when we shouldn't and we don't check
that quorum types and block indexes provided as input params in llmq
utils satisfy our requirements. This is kind of ok-ish as long as we use
these functions appropriately but it's better to make things clearer and
to have actual checks imo.

noticed this while reviewing #5366 

## What was done?
Rename `pQuorumBaseBlockIndex` to `pCycleQuorumBaseBlockIndex`/`pindex`
in a few places. Check that quorum types and block indexes have expected
values.

## 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
- [x] I have assigned this pull request to a milestone _(for repository
code-owners and collaborators only)_
2023-05-20 17:21:21 +03:00
Konstantin Akimov
e3a97b0156
feat: bury dash deployments: dip0003, dip0020, dip0024, brr, bip147 (#5356)
## Issue being fixed or feature implemented
This changes are follow up for backport bitcoin/bitcoin#16060 

## What was done?
Buried all hardened dash deployments

## How Has This Been Tested?
Run unit/functional tests.
Run dash with option `-reindex` for both mainnet/testnet - both succeed.

## Breaking Changes
No breaking changes, it should be fully compatible.

## 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
2023-05-18 12:15:08 -05:00
PastaPastaPasta
f6f2d6ba3a
Merge pull request #5365 from kittywhiskers/bp_20942
backport: bitcoin#20942 (Move some net_processing globals into PeerManagerImpl)
2023-05-18 12:11:36 -05:00
Kittywhiskers Van Gogh
3b89dbf742 merge bitcoin#20942: Move some net_processing globals into PeerManagerImpl 2023-05-18 12:11:15 -05:00
UdjinM6
3edc876f99
refactor: move BuildSimplifiedDiff to src/evo/simplifiedmns.cpp to resolve 3 circular dependencies (#5380)
## Issue being fixed or feature implemented
Move `BuildSimplifiedDiff` to the place it's actually used. This also
resolves 3 circular dependencies we have atm.

## What was done?
mostly trivial move-only changes

## How Has This Been Tested?
it compiles and linter is happy 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
- [x] I have assigned this pull request to a milestone _(for repository
code-owners and collaborators only)_
2023-05-18 12:03:19 -05:00
UdjinM6
8e148c8cd7
Merge pull request #5376 from UdjinM6/fix_tsan
test: Fix tsan build failure
2023-05-17 21:29:28 +03:00
UdjinM6
f2ac8c4afa fix(tests): pass extra_args instead of setting them via ForceSetArg 2023-05-17 21:29:06 +03:00
UdjinM6
a124280dfb merge bitcoin#19775: Activate segwit in TestChain100Setup 2023-05-17 21:29:06 +03:00
Odysseas Gabrielides
9eee9ee680
feat!: calculate quorum members using v20 cbtx clsig (#5366)
## Issue being fixed or feature implemented

Implementation of Randomness Beacon Part 2.
This PR is the next step of #5262.

Starting from v20 activation fork, members for quorums are sorted using
(if available) the best CL signature found in Coinbase.
If no CL signature is present yet, then the usual way is used (By using
Blockhash instead)

## What was done?

## How Has This Been Tested?
Test `feature_llmq_rotation.py` was updated to cover both rotated and
non-rotated quorums.
2 quorums are mined first to ensure Chainlock are working earlier.
Then dip_24 activation is replaced by v20 activation.

The only direct way to test this change is to make sure that all
expected quorums after v20 activation are properly formed.

Note: A `wait_for_chainlocked_block_all_nodes` is called between every
rotation cycle to ensure that Coinbase will use a different Chainlock
signature.

## Breaking Changes
Yes, quorum members will be calculated differently.

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

---------

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2023-05-17 20:27:15 +03:00
PastaPastaPasta
04a31c76e0
chore: harden dip 20 and 24 activation (#5344)
## Issue being fixed or feature implemented
We had forgotten to harden dip20 and dip24 activation

## What was done?
Hardened dip20 and dip24 activation

## How Has This Been Tested?
Hasn't yet; should do an assumevalid=0 reindex

## Breaking Changes
Hopefully 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
- [ ] I have assigned this pull request to a milestone _(for repository
code-owners and collaborators only)_

---------

Co-authored-by: Konstantin Akimov <knstqq@gmail.com>
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2023-05-17 14:11:33 +03:00
PastaPastaPasta
16187c7670
ci: implement guix build by label request in CI (#5368)
## Issue being fixed or feature implemented
Automated guix builds in CI when specifically requested 

## What was done?
Any PR with the `build-guix` label added will automatically have the
Guix build ran and the hashes placed in the CI output to compare against


## How Has This Been Tested?
This PR

## 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)_
2023-05-15 22:15:34 -05:00
UdjinM6
bfccd1e732
fix: do not hold cs_map_quorums for too long (#5370)
## Issue being fixed or feature implemented
`cs_map_quorums` was introduced to protect `mapQuorumsCache` only. We
shouldn't hold it for too long or require it to be held in
`BuildQuorumFromCommitment`.

## What was done?
limit the scope of `cs_map_quorums`

## How Has This Been Tested?
build and run tests locally and in gitlab 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 _(for repository
code-owners and collaborators only)_
2023-05-11 20:20:33 -05:00
thephez
490f32c8d1
chore: update dash_hash install and instructions (#5291)
## Issue being fixed or feature implemented
Install of dash_hash will change once
https://github.com/dashpay/dash_hash/pull/17/ is merged

## What was done?
- Changed install instructions to match new install in dash_hash README
- Updated Dockerfile to install correctly

## How Has This Been Tested?
N/A

## 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
- [x] I have made corresponding changes to the documentation
2023-05-11 20:19:45 -05:00
PastaPastaPasta
11b64fc2e8
Merge pull request #5352 from kittywhiskers/peermgr_refac
backport: merge bitcoin#19791, #19911, #19910, #20217, #20649, #18458, #20811 (peer manager backports)
2023-05-11 09:23:34 -05:00
Kittywhiskers Van Gogh
d663d47be9 merge bitcoin#20811: move net_processing implementation details out of header 2023-05-11 09:19:47 -05:00
Kittywhiskers Van Gogh
3a4c4633a4 merge bitcoin#18458: Add missing cs_vNodes lock 2023-05-11 09:19:47 -05:00
Kittywhiskers Van Gogh
6f3060b763 merge bitcoin#20649: Remove nMyStartingHeight from CNode/Connman 2023-05-11 09:19:47 -05:00
Kittywhiskers Van Gogh
2c3feb8e4b merge bitcoin#20217: Remove g_relay_txes 2023-05-11 09:19:47 -05:00
Kittywhiskers Van Gogh
296e0dd28e merge bitcoin#19910: Move peer_map to PeerManager 2023-05-11 09:19:47 -05:00
Kittywhiskers Van Gogh
d0a35831db net: rename misbehavior members using scripted-diff
implements 8e35bf59062b3a823182588e0bf809b3367c2be0 from https://github.com/bitcoin/bitcoin/pull/19607
2023-05-11 09:19:47 -05:00
Kittywhiskers Van Gogh
60d589014c merge bitcoin#19911: guard vRecvGetData with cs_vRecv and orphan_work_set with g_cs_orphans 2023-05-11 09:19:47 -05:00
Kittywhiskers Van Gogh
f2384ffa90 merge bitcoin#19791: Move Misbehaving() to PeerManager 2023-05-11 09:19:47 -05:00
Kittywhiskers Van Gogh
d9d98505e4 net: pass PeerLogicValidation to remaining ProcessMessages 2023-05-11 09:19:47 -05:00
Kittywhiskers Van Gogh
f1f1d6392b net: pass PeerLogicValidation to LLMQ objects 2023-05-11 09:19:47 -05:00
PastaPastaPasta
d4f2c354b6
Merge pull request #5364 from kittywhiskers/py_bump
build: downgrade to python 3.8, consistently use focal across images and documentation
2023-05-11 09:19:23 -05:00
Kittywhiskers Van Gogh
a287a51b39 ci: update documentation to use focal instead of bionic 2023-05-11 09:18:48 -05:00
Kittywhiskers Van Gogh
8b054d49c7 ci: harmonize parent images, use focal consistently 2023-05-11 09:18:48 -05:00
Kittywhiskers Van Gogh
49e01820bb merge bitcoin#18705: Remove xenial tsan workaround 2023-05-11 09:18:48 -05:00
Kittywhiskers Van Gogh
0b9500f3e9 partial bitcoin#27483: Bump python minimum version to 3.8 2023-05-11 09:18:48 -05:00
Kittywhiskers Van Gogh
7bd22afacb partial bitcoin#26226: Bump minimum python version to 3.7 2023-05-11 09:18:48 -05:00
Kittywhiskers Van Gogh
4fb0a43052 merge bitcoin#23317: fix python detection 2023-05-11 09:18:48 -05:00
Kittywhiskers Van Gogh
d6de466369 merge bitcoin#23182: add python3.10 alias to AC_PATH_PROGS call in configure 2023-05-11 09:18:48 -05:00
Kittywhiskers Van Gogh
5edac8c86e merge bitcoin#26445: bump patch version to 3.6.15 2023-05-11 09:18:48 -05:00
Kittywhiskers Van Gogh
1bfb3328e6 merge bitcoin#19504: Bump minimum python version to 3.6 2023-05-11 09:18:48 -05:00