Commit Graph

22063 Commits

Author SHA1 Message Date
Kittywhiskers Van Gogh
1e9733f195 merge bitcoin#19558: split pthread flags out of ldflags and dont use when building libconsensus 2022-08-23 21:33:33 +05:30
Kittywhiskers Van Gogh
d9ea7fa716 merge bitcoin#20188: Add fuzzing harness for CConnman 2022-08-23 21:31:21 +05:30
Kittywhiskers Van Gogh
24a58c3934 merge bitcoin#18775: Add fuzzing harnesses for various classes/functions in policy/ (CBlockPolicyEstimator, IsRBFOptIn(…), etc.) 2022-08-23 21:31:20 +05:30
Kittywhiskers Van Gogh
5b0b206853 merge bitcoin#19296: Add fuzzing harness for AES{CBC,}256{Encrypt,Decrypt}, poly1305_auth, CHKDF_HMAC_SHA256_L32, ChaCha20 and ChaCha20Poly1305AEAD 2022-08-21 18:09:28 +05:30
Kittywhiskers Van Gogh
50b6c2af4c merge bitcoin#19379: Add fuzzing harness for SigHasLowR(...) and ecdsa_signature_parse_der_lax(...) 2022-08-21 18:09:28 +05:30
Kittywhiskers Van Gogh
208ca5bd7e merge bitcoin#18736: Add fuzzing harnesses for various classes/functions in util/ 2022-08-21 18:09:25 +05:30
UdjinM6
5a7f6a7133
Merge pull request #4981 from UdjinM6/merge_master_18.0.1
chore: Merge master 18.0.1 back into develop
2022-08-18 22:34:56 +03:00
UdjinM6
b1b7a11648
Merge branch 'master' into merge_master_18.0.1 2022-08-17 23:39:55 +03:00
UdjinM6
75298fce5e
chore: bump version to 18.0.1 (#4980) 2022-08-17 19:40:59 +03:00
UdjinM6
db99678965
Merge pull request #4979 from PastaPastaPasta/18.x/backport-more
18.x/backport more
2022-08-17 19:28:25 +03:00
UdjinM6
6a57fa0c68
backport: macos code signing (dashpay#4978) 2022-08-17 11:26:18 -05:00
PastaPastaPasta
53a6888ec9
doc: update release notes slightly (#4972) 2022-08-17 19:19:35 +03:00
UdjinM6
8a9d0c5fe8
Merge pull request #4978 from UdjinM6/bp_macos_sig
backport: macos code signing
2022-08-17 19:19:02 +03:00
UdjinM6
747475b55f
fix(gitian): Fetch tags while cloning the repo via gbuild (#4976)
Should fix version numbers for releases/candidates
2022-08-17 11:17:42 -05:00
UdjinM6
6f40461bb7
fix: Allow triggers with p2sh after DIP0024 (#4973) 2022-08-17 11:17:29 -05:00
UdjinM6
00335a0282
bump signapple to the latest commit used in bitcoin atm
see 7a0b129c41/contrib/guix/manifest.scm (L502)
2022-08-17 18:35:47 +03:00
fanquake
6b615cfc67
Partial merge bitcoin/bitcoin#22190: Use latest signapple commit
683d197970a533690ca1bd4d06d021900e87cb8b Use latest signapple commit (Andrew Chow)

Pull request description:

  Update gitian and guix to use the same latest signapple commit.

  Also changed guix to use the actual repo. The changes from the fork were incorporated upstream.

ACKs for top commit:
  fanquake:
    ACK 683d197970a533690ca1bd4d06d021900e87cb8b - sanity checked that the updated package is built:

Tree-SHA512: a4981f8bbe33e6c5654632bc9b9f6f2f1e675741a19ac7296205e370f1e64a747101ecb632e0cc82a0134e4c2e9ce47b3f7b4d8c8f75f0f06dd069c078303759
2022-08-17 18:30:46 +03:00
Wladimir J. van der Laan
c57de2596a
Merge #20880: gitian: Use custom MacOS code signing tool
2c403279e2f0f7c8c27c56d4e7b0573c59571f0a gitian: Remove codesign_allocate and pagestuff from MacOS build (Andrew Chow)
f55eed251488d70d5e2e3a2965a4f8ec0c476853 gitian: use signapple to create the MacOS code signature (Andrew Chow)
95b06d21852b28712db6c710e420a58bdc1a0944 gitian: use signapple to apply the MacOS code signature (Andrew Chow)
42bb1ea363286b088257cabccb686ef1887c1d3b gitian: install signapple in gitian-osx-signer.yml (Andrew Chow)

Pull request description:

  The MacOS code signing issues that were encountered during the 0.21.0 release cycle have shown that it is necessary for us to use a code signing tool for which the source code is available and modifiable by us. Given that there appears to not be such a tool available, I have written such a tool, [signapple](https://github.com/achow101/signapple), that we can use. This tool is able to create a valid MacOS code signature, detach it in a way that we were doing previously, and attach it to the unsigned binary. This tool can also verify that the signature is correct.

  This PR implements the usage of that tool in the gitian build for the code signed MacOS binary. The code signer will use this tool to create the detached signature. Gitian builders will use this tool to apply the detached signature. The `gitian-osx-signer.yml` descriptor has been modified to install this tool so that the `detached-sig-apply.sh` script can use it. Additionally, the `codesign_allocate` and `pagestuff` tools are no longer necessary so they are no longer added to the tarball used in code signing. Lastly, both the `detached-sig-create.sh` and `detached-sig-apply.sh` scripts are made to be significantly less complex and to not do unexpected things such as unpacking an already unpacked tarball.

  The detached code signature that signapple creates is almost identical to that which we were previously creating. The only difference is that the cpu architecture name is included in the extension (e.g. we have `bitcoin-qt.x86_64sign` instead of `bitcoin-qt.sign`). This was done in order to support signing universal binaries which we may want to do in the future. However signapple can still apply existing code signatures as it will accept the `.sign` extension. If it is desired, it can be modified to produce signatures with just the `.sign` extension. However I do not think it is necessary to maintain compatibility with the old process.

ACKs for top commit:
  laanwj:
    Code review ACK 2c403279e2f0f7c8c27c56d4e7b0573c59571f0a

Tree-SHA512: 2a0e01e9133f8859b9de26e7e8fe1d2610d2cbdee2845e6008b12c083c7e3622cbb2d9b83c50a269e2c3074ab95914a8225d3cd4108017f58b77a62bf10951e0
2022-08-17 18:30:05 +03:00
UdjinM6
fc01d76fa9
fix(gitian): Fetch tags while cloning the repo via gbuild (#4976)
Should fix version numbers for releases/candidates
2022-08-17 17:37:07 +03:00
UdjinM6
af085cd528
fix: Allow triggers with p2sh after DIP0024 (#4973) 2022-08-17 16:45:04 +03:00
PastaPastaPasta
269fba2819
chore: set _CLIENT_VERSION_IS_RELEASE to true, drop RC (#4959) 2022-08-15 20:33:36 +03:00
UdjinM6
26a22471ff
doc: Add v18.0.0 release notes (#4955)
* doc: archive v0.17.0.3 release notes

* [WIP] doc: Add v18.0 release notes

* Apply suggestions from code review

Co-authored-by: thephez <thephez@users.noreply.github.com>
Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>

* Update doc/release-notes.md

Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>

* Update dip0024 hf date

* Update text for network improvements

* Update wallet changes

* fix date for rotation signaling

* more text about multi wallet support

Co-authored-by: thephez <thephez@users.noreply.github.com>

* change where the "now" is in a sentence

* Revert "more text about multi wallet support"

This reverts commit ee2022bae5.

* Update doc/release-notes.md

Co-authored-by: TheLazieR Yip <thelazier@gmail.com>

* Update doc/release-notes.md

Co-authored-by: TheLazieR Yip <thelazier@gmail.com>

* avoid potential dead links

Co-authored-by: thephez <thephez@users.noreply.github.com>

* Update doc/release-notes.md

Co-authored-by: thephez <thephez@users.noreply.github.com>

Co-authored-by: thephez <thephez@users.noreply.github.com>
Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>
Co-authored-by: QuantumExplorer <quantum@dash.org>
Co-authored-by: TheLazieR Yip <thelazier@gmail.com>
2022-08-15 20:32:15 +03:00
UdjinM6
1900029d4f
Merge pull request #4970 from PastaPastaPasta/v18/backport-final
backport(v18.x): final v18.x backports
2022-08-14 19:18:50 +03:00
PastaPastaPasta
c6cc5d2e90
chore: enable DIP0024 hard fork on mainnet (#4968) 2022-08-14 09:56:32 -05:00
UdjinM6
e0e4d5d327
fix(llmq): Drop quorum members cache on undo (#4964)
This should help with v18 migration for nodes that failed to update in time. Still have to invalidate/reconsider the pre-fork quorum cycle start block to recalculate quorum members but it's better than having to reindex the whole chain.
# Conflicts:
#	src/llmq/utils.cpp
#	src/llmq/utils.h
2022-08-14 09:53:03 -05:00
PastaPastaPasta
8773a21b30
chore: enable DIP0024 hard fork on mainnet (#4968) 2022-08-13 23:25:53 +03:00
UdjinM6
efd96178e4
translations: Add final v18 updates for ar, de and zh_CN (#4962)
NOTE: these files were made by running `./contrib/devtools/update-translations.py` on v18.x branch
2022-08-13 11:32:00 -05:00
PastaPastaPasta
a78cccd355
chore: bump ChainTxData for mainnet and testnet (#4961)
mainnet
```
getchaintxstats
{
  "time": 1660074878,
  "txcount": 43702293,
  "window_final_block_hash": "0000000000000002ee5a0d2caa3f78cd630ece1a12ce74f7a8146eb6689b1b66",
  "window_final_block_height": 1718597,
  "window_block_count": 17280,
  "window_tx_count": 476084,
  "window_interval": 2724994,
  "txrate": 0.174710109453452
}
```

testnet
```
> dash-cli getblockhash 771537
0000028ce7bc90ddaa75703bbe576b8821e470b4b98bbe13be81eb79546e111f
> dash-cli getchaintxstats 17280 0000028ce7bc90ddaa75703bbe576b8821e470b4b98bbe13be81eb79546e111f
{
  "time": 1659215338,
  "txcount": 5579961,
  "window_final_block_hash": "0000028ce7bc90ddaa75703bbe576b8821e470b4b98bbe13be81eb79546e111f",
  "window_final_block_height": 771537,
  "window_block_count": 17280,
  "window_tx_count": 43514,
  "window_interval": 2428572,
  "txrate": 0.01791752519587642
}
```
2022-08-13 11:31:52 -05:00
PastaPastaPasta
28e1d46cbb
chore: bump nMinimumChainWork, defaultAssumeValid and m_assumed_blockchain_size for mainnet and testnet (#4960)
* chore: bump nMinimumChainWork and defaultAssumeValid for mainnet and testnet

* chore: bump m_assumed_blockchain_size for mainnet and testnet
2022-08-13 11:31:43 -05:00
Konstantin Akimov
713c851bbe
Update hard coded seeds for v18.0.0-rc12 (#4953)
Mainnet: 1716101
    Testnet: 774784
2022-08-13 11:31:34 -05:00
UdjinM6
3ac0b4884a
fix(llmq): Drop quorum members cache on undo (#4964)
This should help with v18 migration for nodes that failed to update in time. Still have to invalidate/reconsider the pre-fork quorum cycle start block to recalculate quorum members but it's better than having to reindex the whole chain.
2022-08-13 11:10:32 -05:00
PastaPastaPasta
f83d857e36
Merge pull request #4478 from kittywhiskers/undashify
revert #3036, #2911, #1879, #1432: revert dashification of filenames
2022-08-11 12:34:55 -04:00
UdjinM6
7072ab491d
fix: make linter happy (4926+4952 follow-up) (#4965) 2022-08-11 11:18:49 +03:00
PastaPastaPasta
afbc817220
refactor/chore: update cppcheck to 2.8 with needed refactoring (#4926)
* refactor/chore: update cppcheck to 2.8 with needed refactoring

* use probably invalid index for default

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>

* trivial: rename skContributions -> m_sk_contributions and skContributions2 -> skContributions

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2022-08-11 02:05:44 +03:00
Konstantin Akimov
137c4fc84c
Update hard coded seeds for v18.0.0-rc12 (#4953)
Mainnet: 1716101
    Testnet: 774784
2022-08-11 01:57:13 +03:00
UdjinM6
5dd027bb55
doc: Update man pages for v18 (#4963) 2022-08-11 01:56:34 +03:00
UdjinM6
b30d50d835
translations: Add final v18 updates for ar, de and zh_CN (#4962)
NOTE: these files were made by running `./contrib/devtools/update-translations.py` on v18.x branch
2022-08-11 01:56:17 +03:00
PastaPastaPasta
91047566a8
chore: bump ChainTxData for mainnet and testnet (#4961)
mainnet
```
getchaintxstats
{
  "time": 1660074878,
  "txcount": 43702293,
  "window_final_block_hash": "0000000000000002ee5a0d2caa3f78cd630ece1a12ce74f7a8146eb6689b1b66",
  "window_final_block_height": 1718597,
  "window_block_count": 17280,
  "window_tx_count": 476084,
  "window_interval": 2724994,
  "txrate": 0.174710109453452
}
```

testnet
```
> dash-cli getblockhash 771537
0000028ce7bc90ddaa75703bbe576b8821e470b4b98bbe13be81eb79546e111f
> dash-cli getchaintxstats 17280 0000028ce7bc90ddaa75703bbe576b8821e470b4b98bbe13be81eb79546e111f
{
  "time": 1659215338,
  "txcount": 5579961,
  "window_final_block_hash": "0000028ce7bc90ddaa75703bbe576b8821e470b4b98bbe13be81eb79546e111f",
  "window_final_block_height": 771537,
  "window_block_count": 17280,
  "window_tx_count": 43514,
  "window_interval": 2428572,
  "txrate": 0.01791752519587642
}
```
2022-08-11 01:55:59 +03:00
PastaPastaPasta
8a4b9c66a9
chore: bump nMinimumChainWork, defaultAssumeValid and m_assumed_blockchain_size for mainnet and testnet (#4960)
* chore: bump nMinimumChainWork and defaultAssumeValid for mainnet and testnet

* chore: bump m_assumed_blockchain_size for mainnet and testnet
2022-08-11 01:55:33 +03:00
Kittywhiskers Van Gogh
fc18536053 trivial: revert dashification of header guards 2022-08-09 14:16:29 +05:30
Kittywhiskers Van Gogh
887b4324d3 trivial: revert dashification of source and header filenames 2022-08-09 14:16:29 +05:30
Kittywhiskers Van Gogh
f02085e988 revert dash#1432: Rename consensus source library and API
It's a shared library, so we should keep its name and API 
distinguishable from Bitcoin's and avoid pkgconfig confusion

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2022-08-09 14:16:28 +05:30
Kittywhiskers Van Gogh
c587212f8c partial revert dash#2911: s/dash-config/bitcoin-config/g 2022-08-09 14:16:28 +05:30
Kittywhiskers Van Gogh
ece4e1ee87 partial revert dash#3036: s/libbitcoin/libdash/g 2022-08-09 14:16:28 +05:30
UdjinM6
d47af2c4bf
feat/fix: ScanQuorums improvements (#4945)
* feat: Revive quorum scan caching

* refactor: split quorumsCacheCs mutex into two

* fix: Avoid extra work in quorum scanning

Non-rotation quorums do not become rotation ones (anymore), use `useRotation` to pick the right method only. This brings CPU load for `d-isman` thread (while being idle) from ~5% down to ~1% on testnet for me.

* apply suggestions
2022-08-08 19:09:21 +03:00
UdjinM6
63d9c6abf7
fix: 4946 follow-up (#4957) 2022-08-08 19:06:10 +03:00
Konstantin Akimov
ae051bb6e0
Merge #17260: Split some CWallet functions into new LegacyScriptPubKeyMan (#4938)
* Move wallet enums to walletutil.h

* MOVEONLY: Move key handling code out of wallet to keyman file

Start moving wallet and ismine code to scriptpubkeyman.h, scriptpubkeyman.cpp

The easiest way to review this commit is to run:

   git log -p -n1 --color-moved=dimmed_zebra

And check that everything is a move (other than includes and copyrights comments).

This commit is move-only and doesn't change code or affect behavior.

* Refactor: Split up CWallet and LegacyScriptPubKeyMan and classes

This moves CWallet members and methods dealing with keys to a new
LegacyScriptPubKeyMan class, and updates calling code to reference the new
class instead of CWallet.

Most of the changes are simple text replacements and variable substitutions
easily verified with:

    git log -p -n1 -U0 --word-diff-regex=.

The only nontrivial chunk of code added is the new LegacyScriptPubKeyMan class
declaration, but this code isn't new and is just selectively copied and moved
from the previous CWallet class declaration. This can be verified with:

    git log -p -n1 --color-moved=dimmed_zebra src/wallet/scriptpubkeyman.h src/wallet/wallet.h

or

    git diff HEAD~1:src/wallet/wallet.h HEAD:src/wallet/scriptpubkeyman.h

This commit does not change behavior.

* Renamed classes in scriptpubkeyman

* Fixes for conflicts, compilation and linkage errors due to previous commits

* Reordered methods in scriptpubkeyman to make further backports easier

* Reordered methods in scriptpubkeyman to make further backports easier (part II)

* Remove HDChain copy from SigningProvider class

* fixes/suggestions

Co-authored-by: Andrew Chow <achow101-github@achow101.com>
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2022-08-08 11:05:21 -05:00
UdjinM6
8882a7377e
feat: Avoid starting useless DKG threads on regular non-watching nodes (#4946)
* refactor: Initialize masternode mode related variables and objects earlier

* feat: Avoid starting useless DKG threads on regular nodes
2022-08-06 11:50:11 +03:00
UdjinM6
bdfa322f1f
fix: Restore caching in CalcCbTxMerkleRootMNList (#4951) 2022-08-06 11:45:02 +03:00
UdjinM6
abcc14b51e
feat: Implement caching in CalcCbTxMerkleRootQuorums (#4952) 2022-08-06 11:44:21 +03:00