Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

backport: merge bitcoin#23114, #24262, #25502, #26373 (add sipa/minisketch as vendored dependency) #6332

Merged
merged 12 commits into from
Oct 24, 2024

Conversation

kwvg
Copy link
Collaborator

@kwvg kwvg commented Oct 20, 2024

Additional Information

Breaking Changes

None expected

Checklist

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas (note: N/A)
  • 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)

kwvg added 12 commits October 20, 2024 10:22
git-subtree-dir: src/minisketch
git-subtree-split: 89629eb2c7e262b39ba489b93b111760baded4b3
…test

excludes:
- b6487dc (subtree manipulation done in previous commits)
- 07f0a61 (see above)
- 0eb7928 (we don't support MSVC build method)
7eeb778fef Merge sipa/minisketch#58: Move `#ifdef HAVE_CLMUL` guard outside of the EnableClmul definition
4d9db2b897 Move `#ifdef HAVE_CLMUL` guard outside of the EnableClmul definition

git-subtree-dir: src/minisketch
git-subtree-split: 7eeb778fef45e21abca01ede85cf0a82e8a510df
excludes:
- 8fcb19f (subtree manipulation done in previous commits)
- 4382d09 (see above)
47f0a2d26f Merge sipa/minisketch#66: msvc: remove direct Bitcoin Core `compat.h` include
64f17584c7 msvc: remove Core compat.h include
a223557ce1 Merge sipa/minisketch#65: Update broken links
127f7763e8 Update broken links

git-subtree-dir: src/minisketch
git-subtree-split: 47f0a2d26f6ca0f6ab3ba5e72064a9d28745de77
excludes:
- 28a28a0 (subtree manipulation done in previous commits)
- dc375e5 (see above)
a571ba20f9 Merge sipa/minisketch#68: Add missed `#include <string>`
b9a7f7e2bc Merge sipa/minisketch#69: refactor: Drop unused `total` local variables
8a5af94edc Merge sipa/minisketch#70: build: Remove `-Qunused-arguments` workaround for clang + ccache
c36f1f03a3 Merge sipa/minisketch#72: Fix MSVC implementation of `CountBits()` function
0078bedda6 Ignore `HAVE_CLZ` macro when building with MSVC
1c772918c4 Fix MSVC implementation of `CountBits()` function
98f87c55f4 build: Remove `-Qunused-arguments` workaround for clang + ccache
11a1e25c81 refactor: Drop unused `total` local variables
ed6c8fcfd9 Add missed `#include <string>`

git-subtree-dir: src/minisketch
git-subtree-split: a571ba20f9dd1accab6a2309d066369878042ca6
excludes:
- e9f1d8c (subtree manipulation done in previous commits)
- 45a0f4e (see above)
@kwvg kwvg changed the title backport: merge bitcoin#23114, #24262, #25502, #26373 (add minisketch) backport: merge bitcoin#23114, #24262, #25502, #26373 (add sipa/minisketch as vendored dependency) Oct 20, 2024
@kwvg kwvg added this to the 22 milestone Oct 20, 2024
@kwvg kwvg marked this pull request as ready for review October 21, 2024 19:33
Copy link

This pull request has conflicts, please rebase.

Copy link
Member

@PastaPastaPasta PastaPastaPasta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK e56482b

git ls-tree $(git rev-parse HEAD) ./src/minisketch/ | sed 's|src/minisketch/||g' | sha256sum                                                                                                                                                                         [±minisketch ●]
227a5b18bc4a8fc2b5b945cf270ca09a8b7a1000c80843a4fcfe20d0c00105b0  -
pasta@pastas-MacBook-Pro ~/workspace/minisketch                                                                                                                                                                                                                                [9:47:23]
> $ git ls-tree $(git rev-parse HEAD) ./ | sha256sum                                                                                                                                                                                                                        [±a571ba2 ✓]
227a5b18bc4a8fc2b5b945cf270ca09a8b7a1000c80843a4fcfe20d0c00105b0  -

Copy link

@UdjinM6 UdjinM6 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Previous HEAD position was 4163ff9e4 Merge e56482bd913fc9b81da134cf019937ef63afb992 into 3a18f087bf16fc7530b2b139a59a056320632b1f
Switched to branch 'master'
hint: Diverging branches can't be fast-forwarded, you need to either:
hint:
hint: 	git merge --no-ff
hint:
hint: or:
hint:
hint: 	git rebase
hint:
hint: Disable this message with "git config advice.diverging false"
fatal: Not possible to fast-forward, aborting.

needs rebase

Copy link

@UdjinM6 UdjinM6 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@PastaPastaPasta convinced me it should work as is so..

utACK e56482b

@PastaPastaPasta PastaPastaPasta merged commit 4de1235 into dashpay:develop Oct 24, 2024
31 of 38 checks passed
PastaPastaPasta added a commit that referenced this pull request Oct 28, 2024
, bitcoin#26381, bitcoin#26396, bitcoin#26448, bitcoin#26359, bitcoin#26686, bitcoin#23670, partial bitcoin#19953 (Erlay support)

cc98f9e merge bitcoin#23670: Build minisketch test in make check, not in make (Kittywhiskers Van Gogh)
606a444 merge bitcoin#26686: Enable erlay setting in process_message(s) targets (Kittywhiskers Van Gogh)
38a16a2 merge bitcoin#26359: Erlay support signaling follow-ups (Kittywhiskers Van Gogh)
b55a6f7 merge bitcoin#26448: fix intermittent failure in p2p_sendtxrcncl.py (Kittywhiskers Van Gogh)
36be978 merge bitcoin#26396: Avoid SetTxRelay for feeler connections (Kittywhiskers Van Gogh)
62dc9cb merge bitcoin#26381: Fix intermittent issue in p2p_sendtxrcncl.py (Kittywhiskers Van Gogh)
6a7868d merge bitcoin#23443: Erlay support signaling (Kittywhiskers Van Gogh)
fdc3c07 partial bitcoin#19953: Implement BIP 340-342 validation (Kittywhiskers Van Gogh)
477157d merge bitcoin#26272: Prevent UB in `minisketch_tests.cpp` (Kittywhiskers Van Gogh)
0cf7401 merge bitcoin#23496: Add minisketch fuzz test (Kittywhiskers Van Gogh)
49ef53c merge bitcoin#23491: Move minisketchwrapper to src/node (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  * Dependent on #6332
  * Dependent on #6365
  * Erlay requires nodes to be `WTXIDRELAY` (as defined by BIP-339, [source](https://github.com/bitcoin/bips/blob/17c04f9fa1ecae173d6864b65717e13dfc1880af/bip-0339.mediawiki))-capable ([source](https://github.com/bitcoin/bips/blob/17c04f9fa1ecae173d6864b65717e13dfc1880af/bip-0330.mediawiki#sendtxrcncl)) as prior to `WTXIDRELAY` adoption, TXIDs of SegWit transactions didn't include the witness data in the hash, which meant, the witness data was malleable ([source](https://bitcoin.stackexchange.com/a/107394)), which would be a relevant factor when you are building out a reconciliation system where you need TXIDs to authoritatively identify a transaction's contents.

    As Dash _doesn't_ support SegWit, this requirement can be dispensed with. It has instead been replaced with checking if the node is running Dash Core v22 or above to retain the underlying test logic (but this can also be dispensed with as `SENDTXRCNCL`  will simply be ignored by older nodes and major releases are _generally_ mandatory upgrades anyways)

  ## Breaking Changes

  None expected.

  ## Checklist

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

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

Tree-SHA512: fe985f4df6c96c0a7b984882815a1bce7f23c54370198d099e41a59ac4c46c283a2b8dd95f5c8fc12eb1dc1330c4e5c21626b76d33d83d395326e8eb19d564ce
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants