forked from phoreproject/Phore
-
Notifications
You must be signed in to change notification settings - Fork 2
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
Helix pull upstream #10
Open
nathansenn
wants to merge
9,414
commits into
ProjectHelixCoin:master
Choose a base branch
from
PIVX-Project:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Instead of the ever-messier text parsing of the output of the readelf tool (which is clearly meant for human consumption not to be machine parseable), parse the ELF binaries directly. Add a small dependency-less ELF parser specific to the checks. This is slightly more secure, too, because it removes potential ambiguity due to misparsing and changes in the output format of `elfread`. It also allows for stricter and more specific ELF format checks in the future. This removes the build-time dependency for `readelf`.
I misunderstood the ELF specification for version symbols (verneed): The `vn_aux` pointer is relative to the main verneed record, not the start of the section. This caused many symbols to not be versioned properly in the return value of `elf.dyn_symbols`. This was discovered in bitcoin#21454. Fix it by correcting the offset computation.
xkb versions symbols (using the prefix `V`), as this library is used by bitcoin-qt, add it to the valid versions in `symbol-check.py`.
…bol-check.py The (ancient) versions specified here were deceptive. Entries older than MAX_VERSIONS['GLIBC'], which is 2.27, are ignored here. So reorganize the code to avoid confusion for other people reading this code.
ASLR is not currently working for the pivx-cli.exe binary. This is due to it not having a .reloc section, which is stripped by default by the mingw-w64 ld we use for gitian builds. A good summary of issues with ld and mingw-w64 is available in this thread: https://sourceware.org/bugzilla/show_bug.cgi?id=19011. All other Windows binaries that we distribute (pivxd, pivx-qt, pivx-tx and test_pivx) do not suffer this issue, and currently having working ASLR. This is due to them exporting (inadvertent or not) libsecp256k1 symbols, and, as a result, the .reloc section is not stripped by ld. This change is a temporary workaround, also the same one described here: https://www.kb.cert.org/vuls/id/307144/, that causes main() to be exported. Exporting a symbol will mean that the .reloc section is not stripped, and ASLR will function correctly.
sks-keyservers.net's line of gpg keyservers is now defunct. Replace with Ubuntu's keyserver.
I'm now using a new gpg key for signing since my old key had become over-bloated in size and number of signatures.
GA has recently deprecated node16 version actions and has started issuing warning messages on action summaries. Simple update to newer node20 versions.
5bcd7d3 build: make translate (Fuzzbawls) e5735a9 [GUI] Remove unused addressbookpage references (Fuzzbawls) Pull request description: This is an artifact from before the UI redesign that came with v4.0, and is no longer used anywhere in the current wallet version. --- This effectively removes some unused translation strings, otherwise this is of no functional consequence. ACKs for top commit: 5bcd7d3 panleone: utACK 5bcd7d3, nice clean up Liquid369: tACK 5bcd7d3 Tree-SHA512: 5bb0c87c52cb136292ea6f0c5910fcd0e1f2bc501d81718391cbfaf6ae0119014d43706088d5402cde7e66907390fe6e48fd18988abf8f6a3535160e0ed57471
fa69949 [Doc] Update Ubuntu ppa source for db4.8 (Fuzzbawls) Pull request description: In order to cut down on ppa clutter/size, I have setup a new ppa specifically for BerkeleyDB 4 independent from the pivxd/pivx-qt ppa repositories. This new ppa repo will be the default place to install db4.8 dependencies moving forward for LTS versions of Ubuntu. It currently has package support for Xenial, Bionic, Focal, Jammy, and the upcoming Noble LTS versions. New CPU architecture riscv64 has been added for OS versions starting from Focal and newer. ACKs for top commit: fa69949 panleone: utACK fa69949 Liquid369: tACK fa69949 Tree-SHA512: 2318384d6ae883e00ee0ca3333d456dba6b30803da3bc6ed81b585579ec52e8c0d3507524467d8f6a76e73d8bb7f9a4f8c5aceaa6b43d065b27bf59b912e9768
76448e2 [GA]: Update actions to node20 versions (Fuzzbawls) Pull request description: GA has recently deprecated node16 version actions and has started issuing warning messages on action summaries. Simple update to newer node20 versions. ACKs for top commit: 76448e2 Liquid369: tACK 76448e2 Duddino: ACK 76448e2 Tree-SHA512: f6b51bda0d2d6a66b54eff389e423a363feb5c2f5b78487b89671404462d1aca7d5a12088121ed57d67bc8fc92af454f9f13cd828ff86d7d72a07c30ae34352b
Build-only update of copyright year. A full headers copyright year update will be done separately.
5d3b6a7 Doc: Update gpg key for Fuzzbawls (Fuzzbawls) 034c2da Doc: Update gpg keyserver URL (Fuzzbawls) Pull request description: sks-keyservers.net's line of gpg keyservers is now defunct. Replace with Ubuntu's keyserver. while i'm at it, i've updated to my new gpg key. ACKs for top commit: 5d3b6a7 Liquid369: tACK 5d3b6a7 Duddino: ACK 5d3b6a7 Tree-SHA512: 0fb9f558966c080c5ebe1e5f46b6079df25016ae56a85cc0882b5a6995fa3277a505151da7b3738b39ac75648d1f78288d3af04886c207c5bbc0b623bc112a7b
Adjust wallet model
97af1df Add duddino GPG key (Duddino) Pull request description: Add duddino GPG key ACKs for top commit: 97af1df Liquid369: uTACK 97af1df Fuzzbawls: ACK 97af1df Tree-SHA512: 93cbb8ba00d21f1f1c47af673ba5dc1edb999c1795fa1b73a4ea33ba7df46a8cf898ce0d742524f259f1a3fc4ac46793cce4376ab5663051dc7e5ce71c64a6f0
5f8c06e test: Add possibility to skip awaiting for the connection (Alessandro Rezzi) 5374229 Merge bitcoin#30252: test: Remove redundant verack check (merge-script) e7c21c7 Merge bitcoin#30118: test: improve robustness of connect_nodes() (Ava Chow) 9beef8d Merge bitcoin#26854: test: Fix intermittent timeout in p2p_permissions.py (MarcoFalke) b3a3d78 Merge bitcoin#25443: test: Fail if connect_nodes fails (laanwj) 72709b9 test: Avoid connecting a peer to himself (Alessandro Rezzi) 77697b8 test: Do not connect the nodes in parallel (Alessandro Rezzi) 17c065d test: Avoid race after connect_nodes (MarcoFalke) d73ac82 test: refactor connect_nodes and disconnect_nodes to take two indices instead of index + node (Alessandro Rezzi) e19d72f Merge bitcoin#18866: test: Fix verack race to avoid intermittent test failures (MarcoFalke) Pull request description: This PR solves the failures of `wallet_listtransactions.py`, like the one of https://github.com/PIVX-Project/PIVX/actions/runs/11705208154/job/32601252220?pr=2947. They happen due to mempool sync timeout: ``` 2024-11-06T14:58:03.8489793Z AssertionError: Mempool sync timed out after 60s: 2024-11-06T14:58:03.8490785Z {'7364836e7eae24a75378b920373e303b99b4ff18db758defc4c057d784a43905'} ``` The issue is that the connection between nodes is established after the transaction is sent, as we can see from the logs: ``` 2024-11-06T14:58:03.9085473Z 2024-11-06T14:57:02Z (mocktime: 2019-10-31T18:21:20Z) Relaying wtx 7364836e7eae24a75378b920373e303b99b4ff18db758defc4c057d784a43905 ... 2024-11-06T14:58:03.9103287Z 2024-11-06T14:57:02Z (mocktime: 2019-10-31T18:21:20Z) New outbound peer connected: version: 70927, blocks=200, peer=0 ``` Hence the newly connected node will never receive the transaction and the mempool will never be synced. This bug is fixed by ensuring that `connect_nodes` actually wait for the connection to be established. As a consequence of those checks we cannot anymore connect nodes in parallel in `connect_nodes_clique` (which will make tests run slightly slower) ACKs for top commit: 5f8c06e Fuzzbawls: utACK 5f8c06e Duddino: utACK 5f8c06e Liquid369: tACK 5f8c06e Tree-SHA512: 88007d7302f3b7c3c5b9d446e7d8acc959cd03b0bb27409b1633cb86c57905a4814be148e2e5f6ccaa1da17eccdd44f68f81d00299696d1f47f52f9b12b32ec7
…ay#3094) * Introduce getbestchainlock rpc and fix llmq-is-cl-conflicts.py * Add `known_block` field and move `getbestchainlock` to `blockchain` rpc category * Add CChainLockSig::IsNull() and throw an exception in getbestchainlock if there is no known chainlock yet * drop blockHash initializer
* More/better logging for InstantSend * Implement CRecoveredSigsDb::TruncateRecoveredSig * Truncate recovered sigs for ISLOCKs instead of completely removing them This makes AlreadyHave() return true even when the recovered sig is deleted locally. This avoids re-requesting and re-processing of old recovered sigs. * Also truncate recovered sigs for freshly received ISLOCKs * Fix comment
…y#3165) This avoids timeouts on parts of the network
…hpay#3219) * Implement re-signing of InstantSend inputs when TXs come in via blocks * Use GetAdjustedTime instead of GetTimeMillis in CSigSharesManager This allows use of mocktime in tests. * Expose verifiedProRegTxHash in getpeerinfo and implement wait_for_mnauth * Allow to wait for IS and CL to NOT happen * Bump timeout for wait_for_instantlock * Implement tests for retroactive signing of IS and CLs * Add wait_for_tx function to DashTestFramework * Add -whitelist=127.0.0.1 to node0 * Use node3 for isolated block generation * Don't test for non-receival of TXs on node4/node5
Implement "concentrated recovery" of LLMQ signatures
Avoid unnecessary processing/verification of reconstructed recovered signatures
…ructors "explicit" 1cc9a80 CI: Add extended lint job for cppcheck (Fuzzbawls) 43b75ca Declare single-argument (non-converting) constructors "explicit" (Fuzzbawls) Pull request description: Declare single-argument (non-converting) constructors `explicit`. In order to avoid unintended implicit conversions. Coming from bitcoin#10969 Added a new CI lint job that uses `cppcheck` to indicate any regressions or new introductions. This lint framework can be expanded on to catch other static analysis warnings in future PRs. ACKs for top commit: 1cc9a80 panleone: utACK 1cc9a80 Liquid369: utACK 1cc9a80 Tree-SHA512: 612997f2799d2527d3ecfff023740add6ea4f5d67bce3e378880b27e596e5b6ab4e33c39492e846ae071b9c5da1fe6938fc8d030d3bab2894b7ad0b406697765
a85b450 Merge pull request dashpay#3399 from codablock/pr_speedups2 (Alexander Block) 136f900 cherry-pick dashpay#2833 (Alexander Block) d942439 Merge pull request dashpay#3389 from codablock/pr_concentrated_recovery (Alexander Block) 36790d2 cherry pick dashpay#3368 (Author Alexander Block) dac01a9 cherry-pick dashpay#2780 (Alexander Block) 39d0ed9 cherry-pick dashpay#3367 (Alexander Block) 5084bbf Allow re-signing of IS locks when performing retroactive signing (dashpay#3219) (Alexander Block) 802c006 Only track last seen time instead of first and last seen time (dashpay#3165) (Alexander Block) 479b64b Avoid propagating InstantSend related old recovered sigs (dashpay#3145) (Alexander Block) 27fa2af cherry-pick dashpay#3117 (Pasta) cf138e0 cherry-pick dashpay#3097 (Pasta) 23b140e Introduce getbestchainlock rpc and fix llmq-is-cl-conflicts.py (dashpay#3094) (UdjinM6) Pull request description: as usual each commit backports a different PR ACKs for top commit: a85b450 Duddino: utACK a85b450 Liquid369: uTACK a85b450 Fuzzbawls: ACK a85b450 Tree-SHA512: e9024d180888d8a6cc300ba9df74fc15929e3ade1773e5d312bd8cc93f6c9fd3898c5bf2d14672abf4faba576575c33936708e6e1dfd01a393479d264d3f2c57
Strip the `settings` prefix from settings source files as it is redundant now.
Remove the 'settings' prefix from settings ui forms as it is redundant.
The jfrog.io repository is no more, and a new boost.io repository has been made in it's place.
Starting with 2 seconds.
Inter means between two groups, intra means inside of a group. Signed-off-by: pasta <[email protected]>
…shpay#3678) * Always check for previous quorum set in llmq IS * Refactor SelectQuorumForSigning and related code Should have no changes in behaviour * Do not use SIGN_HEIGHT_OFFSET when checking pending IS locks, use actual chain tip This commit actually changes the behaviour
* Fix potential deadlock in `CSporkManager::UpdateSpork()` * Protect `inputRequestIds` with cs lock * Protect `curDBTransaction` in `CEvoDB::CommitRootTransaction()` * Check for `AssertLockNotHeld` in `EnforceBestChainLock()` instead of just having a comment in code * Protect spork maps on (de)serialization
50626f5 [Depends] Update Boost source URL (Fuzzbawls) Pull request description: The jfrog.io repository is no more, and a new boost.io repository has been made in it's place. ACKs for top commit: 50626f5 Duddino: ACK 50626f5 Liquid369: ACK 50626f5 Tree-SHA512: 6894cd687566e5f24a7e1b43cb99c56484fe5b1d12d350172cd7ecc971085cb7d916fcd7ddfb8f6b4b078a0e7675957ff2d343a1d01f61c9a5ea3c3fd321c716
aab22f6 [Build] Update .gitignore (Fuzzbawls) Pull request description: Add new filters for various files that we don't want tracked in the git tree. ACKs for top commit: aab22f6 Duddino: ACK aab22f6 Liquid369: re-ACK aab22f6 Tree-SHA512: 8cd37f6607dd8c00bf80356cb998a9addc82235e4760df479804d1e5d0c189d925b306cbf1b48ffa9b024e9e07d1159a345e2c3e9351e931a6cfcea453cc53ae
…le names 25bad3f Refactor: Sanitize settings ui forms (Fuzzbawls) 0223281 Refactor: Sanitize settings source files (Fuzzbawls) Pull request description: Followup to #2936 that strips the `settings` filename prefix from GUI settings source files. This cleans the header include gards to be more readable. The one exception is `settingswidget` as that is aptly descriptive as-is. ACKs for top commit: 25bad3f Duddino: utACK 25bad3f Liquid369: ACK 25bad3f Tree-SHA512: a2a56bb5c15f0952b4f50f36520a96b5d17b18a1709c372f12b990ac721bfbe0a17892d9598eb7da88250237a284df345588f0eb3dd4b34dc8e81c3564dc37be
It is no longer necessary to have a `pivx` subdir in the qt source tree. This moves files up a level and cleans include guards.
595a672 Fix thread names to fit into 15 symbols (dashpay#3897) (UdjinM6) 2f492d4 evo/llmq/spork: Fix various (potential) locking issues (dashpay#3829) (UdjinM6) 453a74f Fix two potential issues in the way pending islocks are processed (dashpay#3678) (UdjinM6) 902809c replace `inter-quorum` with `intra-quorum` (dashpay#3642) (PastaPastaPasta) 46e51db Fix CSigningManager::VerifyRecoveredSig (dashpay#3546) (UdjinM6) dd02dfd Use exponential backoff timeouts for recovery (dashpay#3535) (Alexander Block) Pull request description: Each commits backports a different PR, as mentioned in the commit name ACKs for top commit: 595a672 Liquid369: ACK 595a672 Fuzzbawls: utACK 595a672 Tree-SHA512: 4d66215d3b1944266802045f66d2bec1a9e4eb7c7e2bfb16fcaf16bafda7e47225b43129094081990a5a25a9b9f753e9071f30d357dbe51e592f3b824384a461
aa91905 [Refactor] Nuke the pivx qt subdir (Fuzzbawls) Pull request description: It is no longer necessary to have a `pivx` subdir in the qt source tree. This moves files up a level and cleans include guards. ACKs for top commit: aa91905 Duddino: ACK aa91905 Liquid369: ACK aa91905 Tree-SHA512: 882df93237e734492a05c03563dcb983d54faf8f505f008af57782f7d02ee543cd01306d6e743879aa07ce8f46862fae7332a990f936f479363e3a3569518be2
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.