Commit Graph

27086 Commits

Author SHA1 Message Date
Kittywhiskers Van Gogh
b04b71a957
merge bitcoin#24858: incorrect blk file size calculation during reindex results in recoverable blk file corruption 2024-10-15 06:58:52 +00:00
Kittywhiskers Van Gogh
9e75b99c53
merge bitcoin#26215: Improve BaseIndex::BlockUntilSyncedToCurrentChain reliability 2024-10-15 06:58:51 +00:00
Kittywhiskers Van Gogh
3bd584c845
merge bitcoin#24832: Verify the block filter hash when reading the filter from disk 2024-10-15 06:58:51 +00:00
Kittywhiskers Van Gogh
e507a51323
fix: avoid mandatory-script-verify-flag-failed crash in bench test
Aberrant behaviour was first introduced in 5d10b413 (dash#6152), changes
meant for SegWit made it in, reverting them fixes the problem.
2024-10-15 06:58:51 +00:00
Kittywhiskers Van Gogh
a86109a017
merge bitcoin#25074: During sync, commit best block after indexing 2024-10-15 06:58:51 +00:00
Kittywhiskers Van Gogh
e6867a35ce
merge bitcoin#25123: Fix race condition in index prune test 2024-10-15 06:58:51 +00:00
Kittywhiskers Van Gogh
baf6e26eed
merge bitcoin#21726: Improve Indices on pruned nodes via prune blockers 2024-10-15 06:58:51 +00:00
Kittywhiskers Van Gogh
c65ec190c5
merge bitcoin#24626: disallow reindex-chainstate when pruning 2024-10-15 06:58:51 +00:00
Kittywhiskers Van Gogh
bcd24a25e3
fix: push activation height for forks ahead, fix feature_pruning.py
We need to push DIP-0001's activation height ahead as post-DIP-0001
consensus rejects transactions greater than `MAX_STANDARD_TX_SIZE`
(`bad-txns-oversize`) and this test generates transactions nearly 9.5x
that.

We also need to push v20 activation ahead to avoid different subsidy
calculation logic (`bad-cb-amount`).
2024-10-15 06:58:51 +00:00
Kittywhiskers Van Gogh
10203560f5
merge bitcoin#24812: Add CHECK_NONFATAL identity function and NONFATAL_UNREACHABLE macro 2024-10-15 06:58:50 +00:00
Kittywhiskers Van Gogh
1caaa85716
merge bitcoin#24138: Commit MuHash and best block together for coinstatsindex
Continuation of c21f23db from dash#5501
2024-10-15 06:58:50 +00:00
Kittywhiskers Van Gogh
b218f123b7
merge bitcoin#23046: Add txindex migration test 2024-10-15 06:58:49 +00:00
Kittywhiskers Van Gogh
ebae59eedf
fix: make sure we flush our committed best block in no-upgrade cases
This was spotted when working on `feature_txindex_compatibility.py`,
attempting to load old databases would fail because `MigrateDBIfNeeded()`
would delete `DB_OLD_BEST_BLOCK`, write `EVODB_BEST_BLOCK`, commit it
but never flush it.

So when `MigrateDBIfNeeded2()` would read it again, it would note the lack
of `DB_OLD_BEST_BLOCK` and conclude it was a failed run and exit. This
is solved by actually flushing our new best block, which would prevent
`MigrateDBIfNeeded2` from raising an objection.
2024-10-13 15:45:14 +00:00
pasta
3f0c2ff324
Merge #6323: chore: bump dashbls subtree to 1.3.3
02260cba57 build: stop tracking cmake dependency relic_conf.h.in (UdjinM6)
02107450d0 Squashed 'src/dashbls/' changes from 795660db76..4e070243ae (Odysseas Gabrielides)
314102e054 Revert "build: stop tracking cmake dependency relic_conf.h.in" (Odysseas Gabrielides)

Pull request description:

  ## Issue being fixed or feature implemented
  Bumped blsdash to version 1.3.3

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

ACKs for top commit:
  kwvg:
    utACK 02260cba57
  UdjinM6:
    utACK 02260cba57

Tree-SHA512: 5f45919d5cc8e2c2eb37427c4e3b110bf34884472f4de1e3cd0e6b6bd7fc71d71e7d63192e6a9a637f7181f2e16641dec3abc15cd41e1e5b7322185a2bc7a58e
2024-10-10 12:47:59 -05:00
UdjinM6
02260cba57
build: stop tracking cmake dependency relic_conf.h.in
This reverts commit 0b3ab8d5e9.
2024-10-09 17:26:10 +03:00
Odysseas Gabrielides
c05fdde88d
Merge commit '02107450d0c68a372f720974c92fe16acf3961f9' into bump_blsdash_1.3.3 2024-10-09 17:25:19 +03:00
Odysseas Gabrielides
02107450d0 Squashed 'src/dashbls/' changes from 795660db76..4e070243ae
4e070243ae chore: bump version to 1.3.3 (#99)
d93956254e ci: disable Go bindings CI for macos for now (#98)
ae40c5c86d Merge pull request #97 from PastaPastaPasta/refac/pybind-bump-2.13.6
e835ece935 refactor: bump pybind version to 2.13.6
eda5d6a402 chore: change of gmp source (#95)
61f95aa80e chore: cleanup 6.2.1 left overs (#96)
adbd094409 Merge pull request #92 from kwvg/darwin_gmp
062ee6726b Merge pull request #90 from UdjinM6/fix_aarch_arch
3538d8b033 fix: aarch64 is not supported, should set ARCH to RELIC_NONE
e27a62f4a2 revert: disable gmp if targeting darwin on aarch64 when on 'auto'
bb2fe6ee55 build: enforce minimum version of libgmp based on arch and platform
9832b7a132 build: replace deprecated macros `AC_PROG_CC_C99` and `AM_PROG_CC_C_O`
b2428718b9 Merge pull request #91 from UdjinM6/fix_macos_test_build
3ffa7fa2b6 chore: bump version to 1.3.2 (#94)
0f4efc9327 Merge pull request #88 from HashEngineering/feat/support-android
a181889489 fix: rust bindings build for macos (#89)
738d187359 fix: detect gmp via brew earlier
ce4d6a47b6 fix: install libtool
4fa46ccaff fix: use macos-latest for test build
69bdc1aac7 Merge pull request #85 from kwvg/debug
39791d4e31 build: print build options after configure
73106a0121 build: use `-mbranch-protection=bti` on supporting `aarch64` compilers
6a3c28f6ca build: use stricter `-Werror` when testing compile flags
7a1b227637 build: rename {`NO`}`WARN_CFLAGS` to {`NO`}`WARN_FLAGS`, use with C{++}
28bea63838 build: set {`NO`}`WARN_CFLAGS` flags if not overridden and uniformly
32c2f0f5f8 trivial: rename `CORE_CXXFLAGS` to `CORE_FLAGS`, use with C{++}
b630c2c323 build: append `HARDENED_FLAGS` to `AM_CFLAGS`
e6008148e4 trivial: rename `HARDENED_CXXFLAGS` to `HARDENED_FLAGS`
af0e3daef5 build: subsume `PI{C,E}_FLAGS` into `HARDENED_CXXFLAGS`
9ff8618a1b build: expand `--disable-optimizations` to include `-O0` and `-fwrapv`
3036b83181 build: expand `--enable-debug` to include `-O0`, `-ftrapv` and dbg info
c90d43d43b build: add check to see if `CFLAGS` has been overridden
2d77f7ae49 build: remove vestigial `LIBTOOL_{CXX,CPP,LD}FLAGS`, `HARDENED_CPPFLAGS`
883a098868 build: autodetect i?86 and arm as 32-bit
deb3269820 build: don't specify exact `{CPU_}ARCH` if optimizations are disabled
720d49a44b trivial: fix indentation for `want_backend` check
f9328320af build: use `easy` backend if optimizations are disabled unless specified
3687cd59e0 build: define new flag `--enable-optimizations`
f82bfee5dd build: ensure help string format matches Autotool defaults
d68920063e build: define arguments as `--enable-[term]` instead of `--disable-[term]`
7f41e7dd16 fix: support android
1c2fc79c19 feat(rust): allow to move G1 and G2 elements between threads (#87)
3540b8bbed feat: debug with data hex (#86)

git-subtree-dir: src/dashbls
git-subtree-split: 4e070243aed142bc458472f8807ab77527dd879a
2024-10-09 17:25:18 +03:00
Odysseas Gabrielides
314102e054
Revert "build: stop tracking cmake dependency relic_conf.h.in"
This reverts commit a891c78654.
2024-10-09 17:24:41 +03:00
pasta
6157e67a55
Merge #6297: backport: merge bitcoin#23156, #23213, #23227, #23223, #23564, #23538, #23437, #23630, #23465, #23738, #17631, #22875 (auxiliary backports: part 18)
5aceee38fc merge bitcoin#22875: Fix Racy ParseOpCode function initialization (Kittywhiskers Van Gogh)
427d07f4db merge bitcoin#17631: Expose block filters over REST (Kittywhiskers Van Gogh)
d60f15ec33 merge bitcoin#23738: improve logging of ChainstateManager snapshot persistance (Kittywhiskers Van Gogh)
87257347c2 merge bitcoin#23465: Remove CTxMemPool params from ATMP (Kittywhiskers Van Gogh)
d2cbdc40d5 merge bitcoin#23630: Remove GetSpendHeight (Kittywhiskers Van Gogh)
8bdab4d4fe merge bitcoin#23437: AcceptToMemoryPool (Kittywhiskers Van Gogh)
1f4e8a0cf9 merge bitcoin#23538: Remove strtol in torcontrol (Kittywhiskers Van Gogh)
2318d9f996 merge bitcoin#23564: don't use deprecated brew package names (Kittywhiskers Van Gogh)
3b7a7394a9 merge bitcoin#23223: Disable lock contention logging in checkqueue_tests (Kittywhiskers Van Gogh)
b383609a72 merge bitcoin#23227: Avoid treating integer overflow as OP_0 (Kittywhiskers Van Gogh)
0188d32430 merge bitcoin#23213: Return error when header count is not integral (Kittywhiskers Van Gogh)
eb9e20890f merge bitcoin#23156: Remove unused ParsePrechecks and ParseDouble (Kittywhiskers Van Gogh)
18fff7e3d3 rpc: switch to taking an integer for `rate` in `quorum dkgsimerror` (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  * Dependent on https://github.com/dashpay/dash/pull/6288

  * Dependent on https://github.com/dashpay/dash/pull/6296

  ## Breaking changes

  - `quorum dkgsimerror` will no longer accept a decimal value between 0 and 1 for the `rate` argument, it will now expect an integer between 0 to 100.

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

ACKs for top commit:
  PastaPastaPasta:
    utACK 5aceee38fc
  UdjinM6:
    utACK 5aceee38fc
  knst:
    utACK 5aceee38fc

Tree-SHA512: 8fc34b05a74f2ddbe84b2a7a54772e49941042c89bc74d71d33711e658754a3d086af11fb2437d2bb72ede0c611adc57b82193783e7b6f10fbd4ebab2a7fa7cb
2024-10-08 17:28:25 -05:00
pasta
f93c763ac6
Merge #6318: refactor: remove circular dependency governance/object over governance/classes
2e36832982 refactor: drop circular dependency governance/classes over governance/governance (Konstantin Akimov)
39f18ab154 refactor: move CGoveranceManager code from classes.cpp to governace.cpp (Konstantin Akimov)
350a5ca47c refactor: drop CSuperblock::GetGovernanceObject to simplify thread safety analysis over FindGovernanceObject (Konstantin Akimov)
5031f29441 refactor: add couple missing `const` for CGovernanceManager (Konstantin Akimov)
b240d08e09 refactor: move GetBestSuperblock to CGovernanceManager (Konstantin Akimov)
3641653174 refactor: move CSuperblockManager::IsValid to CGoveranceManager::IsValidSuperblock (Konstantin Akimov)
de8969f463 refactor: move ExecuteBestSuperblock to CGovernanceManager (Konstantin Akimov)
107d5b4941 refactor: move GetSuperblockPayments to CGovernanceManager (Konstantin Akimov)
7a470c441e refactor: move IsSuperblockTriggered to CGovernanceManager (Konstantin Akimov)
9638fdce6d refactor: pass mn_sync to CGovernanceManager ctor as a reference (UdjinM6)
7eb1634686 refactor: drop alias that is used only once (Konstantin Akimov)
1570a02c89 refactor: move ScopedLockBool from header to cpp file (Konstantin Akimov)
7aafb5a393 fix: add one more file to list of non-backported (flat-database.h) (Konstantin Akimov)
41f1a43236 fix: add missing const for member functions of CRateCheckBuffer (Konstantin Akimov)
982fc9a069 fix: avoid lock annotation for govman.cs in voteraw (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  This PR is preparation for bitcoin#19668, otherwise impossible to make lock annotations for CGovernanceManager properly.

  ## What was done?
  1. object mn_sync and peerman is pass to many methods of CGovernanceManager instead passing it to constructor.
  2. methods of class CSuperblockManager moved to CGovernanceManager where they belongs to.
  3. removed `CSuperblock::GetGovernanceObject` which makes a lot of mess with annotations of `govman.cs`

  And minor relevant improvements: moved ScopedLockBool from header to implementation, added multiple `const` for methods, added one more file `flat-database.h` to non-backported list

  ## How Has This Been Tested?
  Run unit and functional tests.

  ## 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
  - [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 2e36832982
  PastaPastaPasta:
    utACK 2e36832982

Tree-SHA512: 59842c208f7ece46c9381fc3f9fc838d9ed1cf0fd2404eebf7fbd656c5df1fa5fd339410da83088089e2d954a017efb518cba290f6c5d45b5bcb91818041f931
2024-10-08 17:12:24 -05:00
Konstantin Akimov
2e36832982
refactor: drop circular dependency governance/classes over governance/governance 2024-10-09 00:13:15 +07:00
Konstantin Akimov
39f18ab154
refactor: move CGoveranceManager code from classes.cpp to governace.cpp
There's only code move, no changes. For review use `git show --color-moved=dimmed-zebra`
2024-10-09 00:13:15 +07:00
Konstantin Akimov
350a5ca47c
refactor: drop CSuperblock::GetGovernanceObject to simplify thread safety analysis over FindGovernanceObject 2024-10-09 00:13:15 +07:00
Konstantin Akimov
5031f29441
refactor: add couple missing const for CGovernanceManager 2024-10-09 00:13:14 +07:00
Konstantin Akimov
b240d08e09
refactor: move GetBestSuperblock to CGovernanceManager 2024-10-09 00:13:14 +07:00
Konstantin Akimov
3641653174
refactor: move CSuperblockManager::IsValid to CGoveranceManager::IsValidSuperblock 2024-10-09 00:13:13 +07:00
Konstantin Akimov
de8969f463
refactor: move ExecuteBestSuperblock to CGovernanceManager 2024-10-09 00:13:13 +07:00
Konstantin Akimov
107d5b4941
refactor: move GetSuperblockPayments to CGovernanceManager 2024-10-09 00:13:13 +07:00
Konstantin Akimov
7a470c441e
refactor: move IsSuperblockTriggered to CGovernanceManager 2024-10-09 00:13:12 +07:00
UdjinM6
9638fdce6d
refactor: pass mn_sync to CGovernanceManager ctor as a reference 2024-10-09 00:13:12 +07:00
Kittywhiskers Van Gogh
5aceee38fc
merge bitcoin#22875: Fix Racy ParseOpCode function initialization 2024-10-08 15:59:18 +00:00
Kittywhiskers Van Gogh
427d07f4db
merge bitcoin#17631: Expose block filters over REST 2024-10-08 15:59:18 +00:00
Kittywhiskers Van Gogh
d60f15ec33
merge bitcoin#23738: improve logging of ChainstateManager snapshot persistance 2024-10-08 15:59:17 +00:00
Kittywhiskers Van Gogh
87257347c2
merge bitcoin#23465: Remove CTxMemPool params from ATMP 2024-10-08 15:59:17 +00:00
Kittywhiskers Van Gogh
d2cbdc40d5
merge bitcoin#23630: Remove GetSpendHeight 2024-10-08 15:59:17 +00:00
Kittywhiskers Van Gogh
8bdab4d4fe
merge bitcoin#23437: AcceptToMemoryPool 2024-10-08 15:59:17 +00:00
Kittywhiskers Van Gogh
1f4e8a0cf9
merge bitcoin#23538: Remove strtol in torcontrol 2024-10-08 15:59:17 +00:00
Kittywhiskers Van Gogh
2318d9f996
merge bitcoin#23564: don't use deprecated brew package names 2024-10-08 15:59:17 +00:00
Kittywhiskers Van Gogh
3b7a7394a9
merge bitcoin#23223: Disable lock contention logging in checkqueue_tests 2024-10-08 15:59:17 +00:00
Kittywhiskers Van Gogh
b383609a72
merge bitcoin#23227: Avoid treating integer overflow as OP_0 2024-10-08 15:59:17 +00:00
Kittywhiskers Van Gogh
0188d32430
merge bitcoin#23213: Return error when header count is not integral 2024-10-08 15:59:16 +00:00
Kittywhiskers Van Gogh
eb9e20890f
merge bitcoin#23156: Remove unused ParsePrechecks and ParseDouble 2024-10-08 15:59:16 +00:00
Kittywhiskers Van Gogh
18fff7e3d3
rpc: switch to taking an integer for rate in quorum dkgsimerror
This is required in order to backport bitcoin#23156, which gets rid of
`ParseDouble` (used by `ParseDoubleV`), which is last used by
`quorum dkgsimerror`.
2024-10-08 15:58:58 +00:00
pasta
4843f04a4f
Merge #6317: build: update gmp to 6.3.0
9dad5252db build: set `-march` irrespective of target operating system (Kittywhiskers Van Gogh)
82b440546a build: update gmp to 6.3.0 (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  After [bls-signatures#92](https://github.com/dashpay/bls-signatures/pull/92), GMP is re-enabled for Apple Silicon macOS targets so long as GMP 6.3.0 or higher is used. GMP significantly contributes to performance improvements in bls-signatures, generally to the tune of ~50% ([source](https://github.com/dashpay/bls-signatures/pull/93#issuecomment-2395111949)).

  The URL has been changed based on guidance from the Homebrew recipe for `gmp` ([source](51c899140c/Formula/g/gmp.rb (L44-L45))).

  ## 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:
  PastaPastaPasta:
    utACK [9dad525](9dad5252db)

Tree-SHA512: fbab727b9aa331f3eadd0573b925bc222380732782642cd4e12d670162cc0c45bf14edc8f99227960dc894f968f1d3f22496f0da7aca898ecb8db41d3a504f2b
2024-10-08 09:57:03 -05:00
Kittywhiskers Van Gogh
9dad5252db
build: set -march irrespective of target operating system 2024-10-08 14:52:16 +00:00
Kittywhiskers Van Gogh
82b440546a
build: update gmp to 6.3.0 2024-10-08 14:52:16 +00:00
pasta
0c39d14f6c
Merge #6313: backport: bump boost min
c0154c0d8c partial merge bitcoin/bitcoin#27783: Add public Boost headers explicitly (fanquake)
49fcd4ab64 Merge bitcoin/bitcoin#29066: Bump minimum required Boost version due to migration to C++20 (fanquake)
355a69c47d Merge bitcoin/bitcoin#24558: build: explicitly disable Boost multi_index serialization (MarcoFalke)

Pull request description:

  ## Issue being fixed or feature implemented
  See commit

  ## What was done?

  ## How Has This Been Tested?

  ## 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 c0154c0d8c
  knst:
    utACK c0154c0d8c

Tree-SHA512: d11045903e1b665b8bbb21326ce3f9b1ee2c83b881e48a08482f1c5103c7b9909f1defac27b222fa28ee6c1ae52c98c924850eb0a38993e53d6008c81791181d
2024-10-08 09:32:45 -05:00
pasta
6ee5f2dc27
Merge #6320: test: adjust reindex test to check with txindex on/off
251434f094 test: adjust reindex test to check with txindex on/off (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  https://github.com/dashpay/dash/pull/6316#discussion_r1791520650

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

ACKs for top commit:
  kwvg:
    utACK 251434f094
  PastaPastaPasta:
    utACK 251434f094

Tree-SHA512: c2349317c7e1f1202c3f141bc4271b45b4a1d69740681ec1aacd0ebb20082db0255c4a9eb0562c01f9229bd119e6bcc7b87964da3b4d7e23aa855d04e75c3880
2024-10-08 09:18:46 -05:00
UdjinM6
251434f094
test: adjust reindex test to check with txindex on/off 2024-10-08 13:47:32 +03:00
pasta
8598a3fbb8
Merge #6312: chore: Update copyrights and copyright_header.py script
7d1fc66d91 chore: run `contrib/devtools/copyright_header.py update .` (UdjinM6)
c2acde0f9b chore: update copyright_header.py and BitPay copyright strings (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  A little bit of housekeeping

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

ACKs for top commit:
  PastaPastaPasta:
    utACK 7d1fc66d91

Tree-SHA512: f62a15139d10d10c155deef70c218d8dd14bfe3648703c4af39c299fa56537c806e84bccb7e99159633dea02d6d145b64990874d6114cfecf2a4467c7ab2cd6d
2024-10-07 15:29:29 -05:00