-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
chore: release v21.1.1 #6339
chore: release v21.1.1 #6339
Conversation
…r restarts 3ec0c8c fix: persist coinjoin denoms and sessions options from gui over restarts (pasta) Pull request description: ## Issue being fixed or feature implemented Persist coinjoin denoms over restarts, fixes dashpay#5975 ## What was done? Soft set the argument into the daemon from GUI settings ## How Has This Been Tested? follow procedure in 5975 ## 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: knst: utACK 3ec0c8c UdjinM6: utACK 3ec0c8c Tree-SHA512: b7378460b3990713b755f36de506b94e7d0005f19cf1155f2fc12191ba03f2e16c35049ddbd89f578acd89bc8eae5e432913114e1ff5ef7ab2cc30628aeff3f2
bf377d4 fix: correct is_snapshot_cs in VerifyDB (James O'Beirne) Pull request description: ## Issue being fixed or feature implemented Flag `is_snapshot_cs` has been inverted in bitcoin#21584 Discovered during investigation of issue: ``` Verifying last 6 blocks at level 3 2024-08-14T14:51:55Z [0%]...*** Found EvoDB inconsistency, you must reindex to continue ``` So far as code below does: ``` if ((fPruneMode || is_snapshot_cs) && !(pindex->nStatus & BLOCK_HAVE_DATA)) { // If pruning or running under an assumeutxo snapshot, only go // back as far as we have data. LogPrintf("VerifyDB(): block verification stopping at height %d (pruning, no data)\n", pindex->nHeight); break; } ``` In case of missing data in evo db we will get instead of "block verification stopping at height" we may get data inconsistency issue. ## What was done? Inverted condition back (same fix in bitcoin#27596) ## How Has This Been Tested? Unit/functional tests doesn't cover it, but they do no fail after fix. ## 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 ACKs for top commit: UdjinM6: utACK bf377d4 PastaPastaPasta: utACK bf377d4 Tree-SHA512: ac21e6db6e23c4c7dc150fb16171aef47c9f42c29466b403bca7d56ed6faa2fccc41df92e1fabec4d6e9fd56991e152dea168593a4550fc3583631a63009c27f
…ion, add tests 715bc1a test: check `masternode winners` before and after mn_rr (UdjinM6) 9d47cd2 fix: adjust payee predictions after mn_rr activation (UdjinM6) Pull request description: ## Issue being fixed or feature implemented Payment predictions in GUI are wrong when mn_rr is active, `masternode winners` RPC is affected by the same issue too. Actual payments aren't affected. ## What was done? Adjust calculations, add tests for `masternode winners`. ## How Has This Been Tested? Run dash-qt on testnet, check "Next Payment" on "Masternode" tab. Run tests. ## 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 - [ ] I have assigned this pull request to a milestone ACKs for top commit: PastaPastaPasta: utACK 715bc1a Tree-SHA512: 293c77974bcb50c6f9c51449d7bb12f89ad8db5871cad3a6083fe1951fe77e0deba8de7688b2f600fabe977bdc7390a66a984a6a076be19183c23742e00e27bf
…should be an array of objects, not debug strings 9876c2d docs: add partial release notes (UdjinM6) b330318 refactor: drop circular dependency (UdjinM6) e54fe42 refactor: use `key_to_p2pkh_script` in more places (UdjinM6) 3ed6246 test: check `creditOutputs` format (UdjinM6) ba0e645 fix: `creditOutputs` in AssetLock tx json output should be an array of objects, not debug strings (UdjinM6) Pull request description: ## Issue being fixed or feature implemented Txout-s in `creditOutputs` for AssetLock txes should be shown the way txout-s are shown in other places. We should not be using debug strings there. Example: `getrawtransaction 50757f651f335e22c5a810bd05c1e5aac0d95b132f6454e2a72683f88e3983f3 1` develop: ``` "assetLockTx": { "version": 1, "creditOutputs": [ "CTxOut(nValue=0.01000000, scriptPubKey=76a914cdfca4ae1cf2333056659a2c)" ] }, ``` This PR: ``` "assetLockTx": { "version": 1, "creditOutputs": [ { "value": 0.01000000, "valueSat": 1000000, "scriptPubKey": { "asm": "OP_DUP OP_HASH160 cdfca4ae1cf2333056659a2c8dc656f36d228402 OP_EQUALVERIFY OP_CHECKSIG", "hex": "76a914cdfca4ae1cf2333056659a2c8dc656f36d22840288ac", "address": "yf6c2VSpWGXUgmjQSHRpfEcTPsbqN4oL4c", "type": "pubkeyhash" } } ] }, ``` kudos to @coolaj86 for finding the issue ## What was done? Change `CAssetLockPayload::ToJson()` output to be closer to [`TxToUniv()`](https://github.com/dashpay/dash/blob/develop/src/core_write.cpp#L262-L272) NOTE: `refactor: use key_to_p2pkh_script in more places` commit is a bit unrelated but I decided to add it anyway to make it easier to follow assetlock creation vs getrawtransaction rpc check. ## How Has This Been Tested? Try example above, run tests ## Breaking Changes RPC output is different for AssetLock txes ## 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 ACKs for top commit: PastaPastaPasta: utACK 9876c2d Tree-SHA512: 158c98ac9e4979bb29c4f54cb1b71806f22aaec92218d92cd2b2e9b9f74df721563e7a6c5f517ea358ac74659fa79f51d1b683002a1cdceb1b8ee80f8fd79375
…0504 - fix bild for Ubuntu 24.10 + clang e994691 Merge bitcoin#30504: doc: use proper doxygen formatting for CTxMemPool::cs (merge-script) a3e6378 Merge bitcoin#23258: doc: Fix outdated comments referring to ::ChainActive() (fanquake) dcbf671 Merge bitcoin#30131: wallet, tests: Avoid stringop-overflow warning in PollutePubKey (merge-script) Pull request description: ## Issue being fixed or feature implemented It fixes build with clang 19.1.1 (default clang version on Ubuntu 24.10) ## What was done? Backport 30131, 30504 to fix compilation error and warning; 23258 to reduce conflicts. See commit messages for details ## How Has This Been Tested? Build and succeed ``` CC=clang CXX=clang++ ./configure --prefix=$(pwd)/depends/x86_64-pc-linux-gnu --enable-suppress-external-warnings --enable-debug --enable-stacktraces --enable-werror --enable-crash-hooks --enable-maintainer-mode --enable-multiprocess ``` ## 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: PastaPastaPasta: utACK e994691 UdjinM6: utACK e994691 Tree-SHA512: 82623030c164c0852d87e8497a59157630f87a385050b6c58d79bf5a8f32462fb26cb02e61b1062afdf9f835e10b9baf4590c326c0fb41bbdd79c82e9d105513
…ransfer Tx 21f174a feat: improve query categorisation in Qt App (Konstantin Akimov) c863473 test: add spending asset unlock tx in functional tests (Konstantin Akimov) 1fb67ec feat: make a support of Qt app to show Platform Transfer transaction as a new type of transaction (Konstantin Akimov) Pull request description: ## Issue being fixed or feature implemented Transfers from platform have incorrectly shown amount in Dash Core wallet app. They also shown in Qt app as self-send that is not completely true. ## What was done? Added new type of transaction to Qt App, added a filter for its type, fixed calculation of output for tx records. As well added a new type of transaction `platform-transfer` in rpc output of `gettransaction` RPC ## How Has This Been Tested? Make a Platform Transfer transaction on RegTest and check it in Dash Core ![image](https://github.com/user-attachments/assets/16c83f09-724f-4b8b-99c8-9bb0df1428da) Helper to see it: export dpath=/tmp/dash_func_test_PATHPATH/ ; src/qt/dash-qt -regtest -conf=$dpath/node0/dash.conf -datadir=$dpath/node0/ -debug=0 -debuglogfile=/dev/stdout ## Breaking Changes There's new type of transaction "platform-transfer" in rpc output of `gettransaction`. **This PR DOES NOT change any consensus rules.** Breaking changes that makes withdrawal transaction immature is moved to dashpay#6128 ## 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 Top commit has no ACKs. Tree-SHA512: ec2a54a910f121ad30ff8e94cf17080b5b3c651872e9bc3de9ec0924ca7f7a0e526b74b05cde26aaf860e3809e67f66142112319a69c216527e5bcb1b8a2b8f6
…th withdrawal transactions (asset unlock) b9a46f6 refactor: use IsPlatformTransfer in core_write and rpc/blockchain (Konstantin Akimov) f6169fa fix: make composite rpc 'masternode payments' to work with withdrawals (Konstantin Akimov) e498378 feat: add test for fee in getmempoolentry (Konstantin Akimov) b0d06f0 feat: add regression test for `getblock` and `getblockstats` for withdrawal fee calculation failure (Konstantin Akimov) ab7172b fix: getblockstats rpc to work with withdrawal transactions (Konstantin Akimov) 96c9b46 fix: getblock for withdrawal transaction if verbosity level is 2 (Konstantin Akimov) Pull request description: ## Issue being fixed or feature implemented dashpay#6335 ## What was done? Applied fixes for `getblock` rpc and `getblockstats` rpc to make them work with withdrawal transactions (asset unlock). ## How Has This Been Tested? Run updated functional test `feature_asset_locks.py` without the fix causes a failure: ``` 2024-10-22T12:01:35.902000Z TestFramework (ERROR): JSONRPC error Traceback (most recent call last): File "/home/knst/projects/dash-reviews/test/functional/test_framework/test_framework.py", line 160, in main self.run_test() File "/home/knst/projects/dash-reviews/test/functional/feature_asset_locks.py", line 273, in run_test self.test_asset_unlocks(node_wallet, node, pubkey) File "/home/knst/projects/dash-reviews/test/functional/feature_asset_locks.py", line 410, in test_asset_unlocks self.log.info(f"block info: {node.getblock(block_asset_unlock, 2)}") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/knst/projects/dash-reviews/test/functional/test_framework/coverage.py", line 49, in __call__ return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/knst/projects/dash-reviews/test/functional/test_framework/authproxy.py", line 148, in __call__ raise JSONRPCException(response['error'], status) test_framework.authproxy.JSONRPCException: Internal bug detected: "MoneyRange(fee)" core_write.cpp:338 (TxToUniv) Please report this issue here: https://github.com/dashpay/dash/issues (-1) ``` With patch functional test `feature_asset_locks.py` succeed. ## 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: PastaPastaPasta: utACK b9a46f6 kwvg: utACK b9a46f6 UdjinM6: utACK b9a46f6 ogabrielides: utACK dashpay@b9a46f6 Tree-SHA512: e49cf73bff5fabc9463ae538c6c556d02b3f9e396e0353f5ea0661afa015259409cdada406d05b77bf0414761c76a013cd428ffc283cbdefbefe3384c9d6ccc5
53d56a3
to
35a98a7
Compare
35a98a7
to
41c37bd
Compare
- Persist Coinjoin Denoms options changes made via GUI over restarts (#6208) | ||
- Fix incorrect payment predictions for evonodes in Dash-Qt and in RPC `masternode winners` (#6222) | ||
- `creditOutputs` entries in various RPCs that output transaction JSON are shown as objects now instead of being shown as strings (#6229) | ||
- Updated PGP key for builder 'pasta' to reflect new subkeys. You may need to reimport this key to validate signatures. (#6290) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
new PGP key for kwvg?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nah, no need for release notes there
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 41c37bd
src/core_write.cpp
Outdated
const CAmount fee = amt_total_in - amt_total_out; | ||
CAmount fee = amt_total_in - amt_total_out; | ||
if (tx.IsPlatformTransfer()) { | ||
fee = CHECK_NONFATAL(GetTxPayload<CAssetUnlockPayload>(tx))->getFee(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fee = CHECK_NONFATAL(GetTxPayload<CAssetUnlockPayload>(tx))->getFee(); | |
const auto optAssetUnlock{GetTxPayload<CAssetUnlockPayload>(tx)}; | |
CHECK_NONFATAL(optAssetUnlock); | |
fee = optAssetUnlock->getFee(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe include changes in src/util/check.h
from 1020356 ?
doc/release-notes.md
Outdated
As there is no need to restrict double signing for EHF, we now allow signing of multiple msgHash's for a single EHF | ||
requestID. Once a sufficient number of masternodes upgrade to v21.1, the EHF message will be automatically signed and | ||
mined. | ||
- Core now categorizes asset unlock transactions as "Platform Transfers" on the Transactions tab in Dash-Qt and in the output of the gettransaction RPC (#6131) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Core now categorizes asset unlock transactions as "Platform Transfers" on the Transactions tab in Dash-Qt and in the output of the gettransaction RPC (#6131) | |
- Core now categorizes asset unlock transactions as "Platform Transfers" on the Transactions tab in Dash-Qt and in the output of the `gettransaction` RPC (#6131) |
…ECK_NONFATAL functionality a7bbcc8 fix: make 6336 compile in v21.1.x branch, using older CHECK_NONFATAL functionality (pasta) Pull request description: ## Issue being fixed or feature implemented Resolve build failures when 6336 is back ported ## What was done? Use older functionality of CHECK_NONFATAL ## How Has This Been Tested? built on both branches ## 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: knst: utACK a7bbcc8 UdjinM6: utACK a7bbcc8 (#6339 compiles with this one applied on top of it) kwvg: utACK a7bbcc8 Tree-SHA512: 17b6d8223f653eaafa6ef9d1a4e8fc14ca1fe1623fbb13d23a9429e87a64c8fae3ddaf6d2d8d5a52138ab712a36949662b38a8a9cbbc5db3618ce24f565f6f2a
…lder CHECK_NONFATAL functionality a7bbcc8 fix: make 6336 compile in v21.1.x branch, using older CHECK_NONFATAL functionality (pasta) Pull request description: ## Issue being fixed or feature implemented Resolve build failures when 6336 is back ported ## What was done? Use older functionality of CHECK_NONFATAL ## How Has This Been Tested? built on both branches ## 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: knst: utACK a7bbcc8 UdjinM6: utACK a7bbcc8 (dashpay#6339 compiles with this one applied on top of it) kwvg: utACK a7bbcc8 Tree-SHA512: 17b6d8223f653eaafa6ef9d1a4e8fc14ca1fe1623fbb13d23a9429e87a64c8fae3ddaf6d2d8d5a52138ab712a36949662b38a8a9cbbc5db3618ce24f565f6f2a
770651a set hosts in guix-check (pasta) 580bbe6 feat: improve guix building; run always, save artifacts (pasta) 101a315 refactor: simplify caching setup, add a restore key to actually cache besides 1 run (pasta) 1b139e4 feat: automatically run guix-build on all tags pushed (pasta) Pull request description: ## Issue being fixed or feature implemented Previously, we only ran guix on 1 machine for all hosts; this slowed it down a lot. Let's move to GitHub action runners, but run them all separately. Then upload the artifacts. In the future there is significant caching I can add that should help a lot more. But currently, takes about 1 hour ## What was done? ## How Has This Been Tested? see: https://github.com/PastaPastaPasta/dash/actions/runs/10345024600 ## 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)_ ACKs for top commit: UdjinM6: utACK 770651a Tree-SHA512: 639b95c3b6a26f205ed00c138a9189f915cfc36a815516035e59ceda82675414b1bd31a361b33449b5e4c58a7655f3a7d616b362c23f7fa75e72b1284be06b9e
cd712e8 ci: attest results of guix builds (pasta) Pull request description: ## Issue being fixed or feature implemented This simply adds attestations to guix results by GitHub. This way, not only can someone verify that all us developers agree, but also that GitHub hosted runners agree :) ## What was done? Add actions/attest-build-provenance to guix-build CI ## How Has This Been Tested? see: https://github.com/PastaPastaPasta/dash/actions/runs/11239755631 ## 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)_ ACKs for top commit: UdjinM6: utACK cd712e8 Tree-SHA512: b590ee2cf29aa57f78cb68c22d5327e8c9272d63d523c3b64fbbdffabb90981a6b6505c5f511bde19310ea1d8c96fc6d181359a7d7a0672612473110cbe079ef
c3f2474 chore: update pasta gpg key to reflect new subkeys (pasta) Pull request description: ## Issue being fixed or feature implemented I've added 2 subkeys to my GPG key `29590362EC878A81FD3C202B52527BEDABE87984` to better follow best practices, which avoids using your primary key whenever possible. All future git commit signing, and potentially releases will be signed by a subkey instead of the primary key. These updated subkeys keys are now included on all the major keyservers hkps://keyserver.ubuntu.com hkps://pgp.mit.edu hkps://keyserver.ubuntu.com keybase has 1 of the 2 subkeys already, will add the other soon. ## What was done? ## How Has This Been Tested? ## Breaking Changes Users who validate my signatures may have to refresh the key from keyservers via `gpg --refresh-keys` or pull down from keybase via `curl https://keybase.io/pasta/pgp_keys.asc | gpg --import` ## 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: UdjinM6: utACK c3f2474 Tree-SHA512: 87d33caceb1973a54877c5d5a8b85a48e1373b7709698efc793598bf7453608979bfe1c75e4ea0c9ec852c0343b43b06357c58f6c4fbf72915eb910788cc705f
315fcea chore: add builder key for kittywhiskers (Kittywhiskers Van Gogh) Pull request description: ## Additional Information Key ID `30CD 0C06 5E5C 4AAD`. Same key registered with Keybase ([source](https://keybase.io/kittywhiskers/pgp_keys.asc?fingerprint=969187a8e74fe40a8a48067430cd0c065e5c4aad)) and used to sign commits on GitHub. PGP key named after Keybase username. ACKs for top commit: UdjinM6: utACK 315fcea knst: ACK 315fcea PastaPastaPasta: utACK 315fcea Tree-SHA512: f566c514831cfaf0a8bf95ebfb8aa5629474bdf0b88fd8948d4c1d3f1340ccdd3a9c67c817bd08d2f4d2e477b1599bf4fd148ad50fe68357d24feba651d832f7
41c37bd
to
d627a6e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK d627a6e
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK d627a6e
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK d627a6e
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK d627a6e
Issue being fixed or feature implemented
See commits, backports, release notes, version bump
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.