{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":19352450,"defaultBranch":"master","name":"dash","ownerLogin":"dashpay","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2014-05-01T17:45:34.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/11511719?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1712169469.0","currentOid":""},"activityList":{"items":[{"before":"b1852e0a896f80fc791bb08237bd23c2cf9752c1","after":"c3f34dcd98daab3be3a1c0af4643f42883573c72","ref":"refs/heads/develop","pushedAt":"2024-04-28T17:39:48.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5982: backport: merge bitcoin#20769, #19499, #23575, #23695, #21160, #24692, partial bitcoin#20196, #25176, merge bitcoin-core/gui#526 (networking backports: part 4)\n\nab7ac1b85bac8990bc02ef753dc85fe9f2260589 partial bitcoin#25176: Fix frequent -netinfo JSON errors from null getpeerinfo#relaytxes (Kittywhiskers Van Gogh)\nc89799d46c3c2d4d7a289d19901016f0ce49a22b merge bitcoin#24692: Follow-ups to #21160 (Kittywhiskers Van Gogh)\n33098aefff8428493c26b4251656118d308ba6ec merge bitcoin#21160: Move tx inventory into net_processing (Kittywhiskers Van Gogh)\n24205d94fe51093067cf9dd64c29d78147e4619c partial bitcoin#20196: fix GetListenPort() to derive the proper port (Kittywhiskers Van Gogh)\n7f7200986b4b788dad4d75f0531314e0a917e1f7 merge bitcoin-core/gui#526: Add address relay/processed/rate-limited fields to peer details (Kittywhiskers Van Gogh)\na9114f1ce8933da2140cb7f27650d1a61eca760f merge bitcoin#23695: Always serialize local timestamp for version msg (Kittywhiskers Van Gogh)\nd936c28b4e5dbe0521dfc94a6bd387a12ca7cbcb merge bitcoin#23575: Rework FillNode (Kittywhiskers Van Gogh)\n6f8c730f35e4d4d1e3199192613e357e39030654 merge bitcoin#19499: Make timeout mockable and type safe, speed up test (Kittywhiskers Van Gogh)\n43a82bdd292dad89c23c3bb657ad2e22e30c1345 merge bitcoin#20769: fixes \"advertised address where nobody is listening\" (Kittywhiskers Van Gogh)\n\nPull request description:\n\n ## Additional Information\n\n * Dependent on https://github.com/dashpay/dash/pull/5978\n * Dependent on https://github.com/dashpay/dash/pull/5977\n\n ## Breaking Changes\n\n None observed.\n\n ## Checklist:\n\n - [x] I have performed a self-review of my own code\n - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)**\n - [x] I have added or updated relevant unit/integration/functional/e2e tests\n - [x] I have made corresponding changes to the documentation **(note: N/A)**\n - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_\n\nACKs for top commit:\n PastaPastaPasta:\n utACK ab7ac1b85bac8990bc02ef753dc85fe9f2260589\n\nTree-SHA512: 87bf5108bb80576c5bff8cd577add7800044da252fd18590e06a727f0bf70de94e2e9294b4412cdd9f1f6676472b0359902af361aaffc4c9ee299ad07d6af009","shortMessageHtmlLink":"Merge #5982: backport: merge bitcoin#20769, bitcoin#19499, bitcoin#23575"}},{"before":"f9e123efd6e11a99e535aa09b4383f56874b74b5","after":"b1852e0a896f80fc791bb08237bd23c2cf9752c1","ref":"refs/heads/develop","pushedAt":"2024-04-26T19:50:56.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5995: fix(qt): tab switching via shortcuts doesn't work after 5986\n\nc8742057ac14f76e091def7cb350c3ec0472c7be fix(qt): tab switching via shortcuts doesn't work after 5986 (UdjinM6)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n Looks like 3265b54a2f656995addb45892bb9a88ecb75dbfc (#5986) broke it\n\n ## What was done?\n\n ## How Has This Been Tested?\n run dash-qt, try using shortcuts `cmd+1`, `cmd+2` etc. (on macos)\n\n ## Breaking Changes\n n/a\n\n ## Checklist:\n - [x] I have performed a self-review of my own code\n - [ ] I have commented my code, particularly in hard-to-understand areas\n - [ ] I have added or updated relevant unit/integration/functional/e2e tests\n - [ ] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_\n\nACKs for top commit:\n PastaPastaPasta:\n ACK c8742057ac14f76e091def7cb350c3ec0472c7be\n kwvg:\n ACK c8742057ac14f76e091def7cb350c3ec0472c7be\n\nTree-SHA512: 62a593ec804d75ff8aada0ef9ea90106adbf8cd11b202a6296086f55c2a4d2181e56dc8e56193a0ed49d94e55ee3236ab441ab477c8ca6d7b0c649dff987dbbc","shortMessageHtmlLink":"Merge #5995: fix(qt): tab switching via shortcuts doesn't work after …"}},{"before":"e00f1ca88e3e2dfbed3cc2f0da909c128a6516f9","after":"f9e123efd6e11a99e535aa09b4383f56874b74b5","ref":"refs/heads/develop","pushedAt":"2024-04-26T16:03:16.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5987: refactor: reduce fMasternodeMode usage, remove fDisableGovernance global\n\nb4477e409c9585b1b0b5a5755921e2771f0c0b18 trivial: don't print `fDisableGovernance` value anymore (Kittywhiskers Van Gogh)\na42370df9343d7b1af1f7a5990b526709869aa1c refactor: remove fDisableGovernance global, define default in variable (Kittywhiskers Van Gogh)\nb1527599e4e4ddd9b6d072b55e2e7f5ee6071409 refactor: remove fMasternodeMode and fDisableGovernance from Qt code (Kittywhiskers Van Gogh)\n9402ce71717bc446f7afc71b9a1f864a874c0a5e refactor: limit usage of fDisableGovernance, use `IsValid()` instead (Kittywhiskers Van Gogh)\n106f6bdd4ed6b61c1a8600b5b97f26730db4fa1d refactor: reduce fMasternodeMode usage in governance and mnauth (Kittywhiskers Van Gogh)\n3ba293fbccb3cc51f3bb48e0969656163ea4d8c9 refactor: remove fMasternodeMode checks in CActiveMasternodeManager (Kittywhiskers Van Gogh)\nb0216ac8a69e63ca1f43504e6f2e90298b724da6 refactor: remove fMasternodeMode usage in rpc logic (Kittywhiskers Van Gogh)\n4d629a04fb43701fdb930fbe3d56e02ae99b9bf5 refactor: limit fMasternodeMode usage in blockstorage, init, net_processing (Kittywhiskers Van Gogh)\na9cbdfcebc474abb6ebf391d97107ce29834c024 refactor: remove fMasternodeMode usage from llmq logic (Kittywhiskers Van Gogh)\nc62a3d577801ceb099dac0c13a39da4f9e653f92 refactor: remove fMasternodeMode usage from coinjoin logic (Kittywhiskers Van Gogh)\n\nPull request description:\n\n ## Motivation\n\n Since https://github.com/dashpay/dash/pull/5940, `CActiveMasternodeManager` ceased to be a global variable and became a conditional smart pointer initialized based on the value of `fMasternodeMode`.\n\n Likewise, since https://github.com/dashpay/dash/pull/5555, we can tell if any `CFlatDB`-based manager has successfully loaded its database. `CGovernanceManager` is one of them and conditionally loads its database based on the value of `fGovernanceDisabled`.\n\n `fMasternodeMode` and `fGovernanceDisabled` were (and the former to a certain degree still is) unavoidable globals due to the way the functionality they influenced was structured (i.e. decided in initialization code with no way to query from the manager itself). As we can directly ask the managers now, we can start reducing the usage of these globals and at least in this PR, get rid of one of them.\n\n This PR was the idea of PastaPastaPasta, special thanks for the suggestion!\n\n ## Additional Information\n\n * There are two conventions being used for checking `nullptr`-ity of a pointer, `if (mn_activeman)` and `if (mn_activeman != nullptr)`. The former is used in initialization and RPC code due to existing conventions there ([source](https://github.com/dashpay/dash/blob/2dacfb08bdf02fdaf0740edac19435bfaa0e52d3/src/init.cpp#L1659-L1677), [source](https://github.com/dashpay/dash/blob/2dacfb08bdf02fdaf0740edac19435bfaa0e52d3/src/rpc/net.cpp#L942-L945), [source](https://github.com/dashpay/dash/blob/2dacfb08bdf02fdaf0740edac19435bfaa0e52d3/src/rpc/misc.cpp#L215-L218)). The latter is used whenever the value has to be passed as a `bool` (you cannot pass the implicit conversion to a `bool` argument without explicitly casting it) and in Dash-specific code where it is the prevalent convention ([source](https://github.com/dashpay/dash/blob/2dacfb08bdf02fdaf0740edac19435bfaa0e52d3/src/governance/governance.cpp#L125), [source](https://github.com/dashpay/dash/blob/2dacfb08bdf02fdaf0740edac19435bfaa0e52d3/src/coinjoin/client.cpp#L1064)).\n\n Unfortunately, that means this PR expresses the same thing sometimes in two different ways but this approach was taken so that reading is consistent within the same file. Codebase-wide harmonization is outside the scope of this PR.\n\n * Where `mn_activeman` isn't directly available, the result of the check is passed as an argument named `is_masternode` and/or set for the manager during its construction as `m_is_masternode` (`const bool`) as it is expected for the `CActiveMasternodeManager`'s presence or absence to remain as-is for the duration of the manager's lifetime.\n\n This does mean that some parts of the codebase check for `mn_activeman` while others check for {`m_`}`is_masternode`, which does reduce clarity while reading. Suggestions on improving this are welcomed.\n\n * One of the reasons this PR was made was to avoid having to deal the _possibility_ of `fMasternodeMode` or `fDisableGovernance` from desynchronizing from the behaviour of the managers it's suppose to influence. It's why additional assertions were placed in to make sure that `fMasternodeMode` and the existence of `mn_activeman` were always in sync ([source](https://github.com/dashpay/dash/blob/2dacfb08bdf02fdaf0740edac19435bfaa0e52d3/src/evo/mnauth.cpp#L137-L139), [source](https://github.com/dashpay/dash/blob/2dacfb08bdf02fdaf0740edac19435bfaa0e52d3/src/rpc/governance.cpp#L319-L320)).\n\n But removing the tracking global and relying on a manager's state itself prevents a potential desync, which is what this PR is aiming to do.\n\n ## Breaking Changes\n\n None expected.\n\n ## Checklist:\n\n - [x] I have performed a self-review of my own code\n - [x] I have commented my code, particularly in hard-to-understand areas\n - [x] I have added or updated relevant unit/integration/functional/e2e tests\n - [x] I have made corresponding changes to the documentation **(note: N/A)**\n - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_\n\nTop commit has no ACKs.\n\nTree-SHA512: 7861afd17c83b92af4c95b2841e9b0f676116eb3f234c4d0b1dcd3c20395452893e8ca3a17c7225389c8411dac80aeb5050f06a2ae35df5ec48998a571ef120c","shortMessageHtmlLink":"Merge #5987: refactor: reduce fMasternodeMode usage, remove fDisableG…"}},{"before":"27b2e5cd5d409e7c15eb8fd6c1e104978bec9311","after":"e00f1ca88e3e2dfbed3cc2f0da909c128a6516f9","ref":"refs/heads/develop","pushedAt":"2024-04-25T17:02:27.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5991: fix: various fixes for HD wallets implementation\n\ne5129e6c4164c1a487e8735c07d532379896048a fix: if hdseed is wrong - do not setup random seed, user can lost his fund (Konstantin Akimov)\ne52498b7d53f2b9daea922fba464ed30f6a1b893 chore: add todoes to UpgradeToHD function (Konstantin Akimov)\n0d12ea9fa6c7579407ee2e28680c490b9ac1fca4 fix: wrong if/else branches for key refill in wallet creation (Konstantin Akimov)\nd2c3dcb83966865881dc137dd389415723a1ee28 refactor: move list of function in rpcwallet to the end (Konstantin Akimov)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n Reviewed our implementation of HD wallets and compare it to bitcoin's for aiming to backport or re-implement `sethdseed` rpc.\n Noticed some strange things in our implementation, which this PR is aim to fix.\n\n ## What was done?\n See each commit for detailed changes.\n\n ## How Has This Been Tested?\n Run unit/functional tests\n\n ## Breaking Changes\n\n `-hdseed` doesn't assign a random seed anymore if an user provided an invalid hex string.\n\n ## Checklist:\n - [x] I have performed a self-review of my own code\n - [x] I have commented my code, particularly in hard-to-understand areas\n - [ ] I have added or updated relevant unit/integration/functional/e2e tests\n - [ ] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone\n\nACKs for top commit:\n PastaPastaPasta:\n utACK e5129e6c4164c1a487e8735c07d532379896048a\n\nTree-SHA512: b404dbc0762777abf421a847f58cd243e0aa00151ba3f036835c9ff54c1109b6159921ec24e29455e975797f49d54832c55f7876188da90f37dd1e4a811a21e0","shortMessageHtmlLink":"Merge #5991: fix: various fixes for HD wallets implementation"}},{"before":"2b1c165531cdd71b31dd40ba88c541112d0259f2","after":"27b2e5cd5d409e7c15eb8fd6c1e104978bec9311","ref":"refs/heads/develop","pushedAt":"2024-04-24T15:18:06.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5985: backport: bitcoin#21373, #21377, #21681, #21714, #21749, #21792, #21814, #21874, #21884, bitcoin-core/gui#284\n\n7cc77f3a30cd79fec39f9340d3fea0333500beca Merge #21373: test: generate fewer blocks in feature_nulldummy to fix timeouts, speed up (MarcoFalke)\na933a60b1a9332e03047c7b226b654cd05a1fe66 feat: new command line argument -bip147height for bitcoin#21373 (Konstantin Akimov)\n51911388f24965c2bf537062bcaa43f1007406bb Merge #21377: Speedy trial support for versionbits (fanquake)\necade9bc39cd3f0e87c6439e95dbc70249faf7f1 Merge bitcoin/bitcoin#21749: test: Bump shellcheck version (W. J. van der Laan)\neeec2f279990f4a46dd89e71106cb25df7e71321 Merge bitcoin/bitcoin#21884: fuzz: Remove unused --enable-danger-fuzz-link-all option (fanquake)\n51633d70eaefbfdd4039c3b5521697b7630c4ba5 Merge bitcoin/bitcoin#21874: fuzz: Add WRITE_ALL_FUZZ_TARGETS_AND_ABORT (MarcoFalke)\na02a2c03222343862f12cdeba012153ea2d43e81 Merge bitcoin/bitcoin#21681: validation: fix ActivateSnapshot to use hardcoded nChainTx (MarcoFalke)\n71f23d6e33e87aaaa3bad055fa1ac67b96297add Merge bitcoin/bitcoin#21814: test: Fix feature_config_args.py intermittent issue (MarcoFalke)\nde4d2a839d1f029e67ade9e68e3aa69845ea0445 Merge bitcoin/bitcoin#21714: refactor: Drop CCoinControl::SetNull (MarcoFalke)\na63f9c31cc5459a08c490b69145903d1fa05acb7 Merge bitcoin-core/gui#284: refactor: Simplify SendCoinsDialog::updateCoinControlState (Hennadii Stepanov)\nb2d889380c246bd59e02eb97fd37e78ab1ebd5ce Merge bitcoin/bitcoin#21792: test: Fix intermittent issue in p2p_segwit.py (MarcoFalke)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n Regular batch of backports from bitcoin v22\n\n ## What was done?\n Implemented new commandline argument `-bip147height` for RegTest.\n Backports:\n\n - bitcoin/bitcoin#21377\n - bitcoin/bitcoin#21792\n - bitcoin-core/gui#284\n - bitcoin/bitcoin#21714\n - bitcoin/bitcoin#21373\n - bitcoin/bitcoin#21814\n - bitcoin/bitcoin#21681\n - bitcoin/bitcoin#21874\n - bitcoin/bitcoin#21884\n - bitcoin/bitcoin#21749\n\n ## How Has This Been Tested?\n Run unit/functional tests\n\n ## Breaking Changes\n n/a\n\n ## Checklist:\n - [x] I have performed a self-review of my own code\n - [ ] I have commented my code, particularly in hard-to-understand areas\n - [ ] I have added or updated relevant unit/integration/functional/e2e tests\n - [ ] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone\n\nACKs for top commit:\n PastaPastaPasta:\n utACK 7cc77f3a30cd79fec39f9340d3fea0333500beca\n\nTree-SHA512: d46218667430af19c445d67d6411b1e7f19920e85f86e6e74ae7b9062aeb3763637a8613587c203ba8d285ccc3ee755f936141010944cfae8627397e8b8584d3","shortMessageHtmlLink":"Merge #5985: backport: bitcoin#21373, bitcoin#21377, bitcoin#21681, b…"}},{"before":"2610df3581a5e4e1f44b655b67902821d75c4255","after":"2b1c165531cdd71b31dd40ba88c541112d0259f2","ref":"refs/heads/develop","pushedAt":"2024-04-24T14:01:08.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5977: refactor: move CConnman::RelayInv{Filtered} to PeerManager, remove CConnman::RelayTransaction\n\nf2fe39fadc96327cf0a93d018860a26a46ff57c1 trivial: add `Asserts` for `m_peerman` pointer container uses (Kittywhiskers Van Gogh)\n35be4e2ebecd9db740412ede10a67f2933d4215c llmq: pass PeerManager to llmq::CInstantSendManager constructor (Kittywhiskers Van Gogh)\nbfd33cd2b4dcc331b2cb2b96395eb94e5c3122db net: move CConnman::RelayInv{Filtered} into PeerManager (Kittywhiskers Van Gogh)\n313a7e9a501e84a38743edce2ba47ecf2c999a09 trivial: cleanup unnecessary headers in context files (Kittywhiskers Van Gogh)\nc3f1ac22913615282ef9a74bebca57fa37df3b5b net: retire CConnman::RelayTransaction, use PeerManager::RelayTransaction (Kittywhiskers Van Gogh)\n0323c6ca174bdda5926d90a775b848abb2af74f8 net: move Relay{Inv, InvFiltered, Transaction} out of CConnman (Kittywhiskers Van Gogh)\nd54ba447a7243862e5384e5b045b2e02eeb68496 net: use ForEachNode instead of manually iterating through vNodes (Kittywhiskers Van Gogh)\n\nPull request description:\n\n ## Additional information\n\n * Dependency for https://github.com/dashpay/dash/pull/5982\n * Unfortunately, we are stuck with using the `unique_ptr` const-ref of `PeerManager` for initializing {`CJ`, `LLMQ`}`Context` due to some unit tests depending on Dash-specific entities but based on a testing setup that doesn't initialize `PeerManager` (specifically `validation_chainstatemanager_tests`, which uses `ChainTestingSetup`, as opposed to `TestingSetup`, which initializes `PeerManager`).\n\n Attempting to dereference it earlier will result in crashing (see CI pipeline [here](https://gitlab.com/dashpay/dash/-/pipelines/1245924304))\n\n ## Breaking Changes\n\n None observed.\n\n ## Checklist:\n\n - [x] I have performed a self-review of my own code\n - [x] I have commented my code, particularly in hard-to-understand areas\n - [x] I have added or updated relevant unit/integration/functional/e2e tests\n - [x] I have made corresponding changes to the documentation **(note: N/A)**\n - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_\n\nACKs for top commit:\n PastaPastaPasta:\n re-utACK [f2fe39f](https://github.com/dashpay/dash/pull/5977/commits/f2fe39fadc96327cf0a93d018860a26a46ff57c1)\n knst:\n utACK [f2fe39f](https://github.com/dashpay/dash/pull/5977/commits/f2fe39fadc96327cf0a93d018860a26a46ff57c1)\n\nTree-SHA512: 5e9ca47ba9f7f0c5fdc93bf6cfd99d91be6d134610d2bd3dccde17443a956c7d8848b3406082ee8b6ee3fd25f586ce7bac45bc89b568424479b8fc149172ae51","shortMessageHtmlLink":"Merge #5977: refactor: move CConnman::RelayInv{Filtered} to PeerManag…"}},{"before":"6194e454d7a9ed15b34bb75f9865005748b17b13","after":"2610df3581a5e4e1f44b655b67902821d75c4255","ref":"refs/heads/develop","pushedAt":"2024-04-23T16:27:59.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5994: doc: replace gfd() function to recommendation to use `git diff-range`\n\nf5f8bd9e9abd978211e6f090d305ff2e13b30c7f doc: replace gfd() function to recommendation to use `git diff-range` (Konstantin Akimov)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n `gfd` is less convenient to use, `git range-diff` is more functional. Dropped recommendation to use it.\n\n ## What was done?\n Updated `CONTRIBUTION.md` file\n\n ## How Has This Been Tested?\n Run `git range-diff` to ensure that it indeed works\n\n ## Breaking Changes\n N/A\n\n ## Checklist:\n - [x] I have performed a self-review of my own code\n - [ ] I have commented my code, particularly in hard-to-understand areas\n - [ ] I have added or updated relevant unit/integration/functional/e2e tests\n - [x] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone\n\nTop commit has no ACKs.\n\nTree-SHA512: 08663e5371753b6851b216da66ef72bb6bfb80acd42c31c57de9f8d52f00766e3121adf960e27236451d6520088f0c2c927f5f4f3001a40c591feb62074951e0","shortMessageHtmlLink":"Merge #5994: doc: replace gfd() function to recommendation to use `gi…"}},{"before":"5c240bbc5ef1a24ef39894b33ad159ecd61b65d2","after":"6194e454d7a9ed15b34bb75f9865005748b17b13","ref":"refs/heads/develop","pushedAt":"2024-04-23T14:58:25.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5983: backport: Merge bitcoin#22138, 21939, bitcoin-core/gui#163, 20373, 22144, 22013, 21719, 20786\n\n18169f4957b42deaa6430c0f45e37e943933727b Merge #20786: net: [refactor] Prefer integral types in CNodeStats (MarcoFalke)\n751c9e66c4929dc0cd291646b13eae44a4cd4a48 Merge bitcoin/bitcoin#21719: refactor: Add and use EnsureConnman in rpc code (MarcoFalke)\n74b20eb309adc513e334e7a84147211134dafb2c Merge bitcoin/bitcoin#22013: net: ignore block-relay-only peers when skipping DNS seed (fanquake)\n366ca98b39cc6744202e71b402008f07c1847a08 Merge bitcoin/bitcoin#22144: Randomize message processing peer order (fanquake)\n4d20cb7173cc6cd6e8a2d93670037a2f92ef108a Merge #20373: refactor, net: Increase CNode data member encapsulation (MarcoFalke)\nb8b3c4c289a5dc558968b1e5dda9d65c66a8a73f Merge bitcoin-core/gui#163: Peer details: replace Direction with Connection Type (MarcoFalke)\n00b828c0f571d51f44b407584ef56af7267967e3 Merge bitcoin/bitcoin#21939: refactor: Replace memset calls with array initialization (W. J. van der Laan)\n7bcc56c9b6cb6d58633f8c1737bf9d61b79f71e9 Merge bitcoin/bitcoin#22138: script: fix spelling linter raising spuriously on \"invokable\" (MarcoFalke)\n\nPull request description:\n\n bitcoin backports\n\nTop commit has no ACKs.\n\nTree-SHA512: 28dd3c672be847a376aaf1683a665b658b132364b4903fa360810dead7f30bd6496c231b6496e55572e09f1908febdba385d863e5e1d714cb784cc4350126be9","shortMessageHtmlLink":"Merge #5983: backport: Merge bitcoin#22138, 21939, bitcoin-core/gui#163…"}},{"before":"0bb188a07708cf7136225b81399c32749c8f1466","after":"5c240bbc5ef1a24ef39894b33ad159ecd61b65d2","ref":"refs/heads/develop","pushedAt":"2024-04-23T14:45:51.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5986: trivial: remove boost::{function, lexical_cast} usage, backport bitcoin#25550, #24624, #24406, cleanup some gArgs usage in init\n\n740d25c0622626863c164574353043d568ff06ea merge bitcoin#24406: Fix Wambiguous-reversed-operator compiler warnings (Kittywhiskers Van Gogh)\n3265b54a2f656995addb45892bb9a88ecb75dbfc merge bitcoin#24624: Avoid potential -Wdeprecated-enum-enum-conversion warnings (Kittywhiskers Van Gogh)\n65585e68e653bc66e1d35c29609334e005b0c113 merge bitcoin#25550: remove note on arm cross-compilation from build-unix.md (Kittywhiskers Van Gogh)\nfbc6bc88cf32ca0932578031582d9772cdf8a9bc init: use local ArgsManager variable instead of global when possible (Kittywhiskers Van Gogh)\n9ae39f9ba7bdbf4725e5e3312b78b5fe42d1d7ff qt: drop leftover `boost::function` usage in Qt, drop header from list (Kittywhiskers Van Gogh)\nc47e9e78eda31365ef9df310df8d173028c7b346 bench: drop leftover `boost::lexical_cast` benches, drop header from list (Kittywhiskers Van Gogh)\n\nPull request description:\n\n ## Additional Information\n\n When building Dash with `clang-16`, I use the following `CXXFLAGS`:\n\n ```\n -Werror -Werror=reorder -Werror=thread-safety -Wno-unused-command-line-argument -Wno-deprecated-builtins -Wno-deprecated-volatile -Wno-ambiguous-reversed-operator -Wno-deprecated-enum-enum-conversion\n ```\n The explanations of the `-Wno*` flags are as follows:\n\n | Argument | Reason |\n | -------------------------------------- | ------------------------------------------------------------ |\n | `-Wno-unused-command-line-argument` | Lingering use of `-static-libstdc++`, a GCC-ism that isn't recognized as a valid argument in Clang (no longer an issue thanks to https://github.com/dashpay/dash/pull/5958, thanks knst!) |\n | `-Wno-deprecated-builtins` | Due to usage of [deprecated builtins](https://github.com/dashpay/dash/blob/2dacfb08bdf02fdaf0740edac19435bfaa0e52d3/src/bench/nanobench.h#L104-L110) in `nanobench` that exist even in the [most current version](https://github.com/martinus/nanobench/blob/a5a50c2b33eea2ff1fcb355cacdface43eb42b25/src/include/nanobench.h#L115-L121) (see below) |\n | `-Wno-deprecated-volatile` | The detection code for C++20 in the CI image (based on Ubuntu `focal`) relies on deprecated volatiles (see below) |\n | `-Wno-ambiguous-reversed-operator` | Due to an ambiguous operator in a Dash unit test ([source](https://github.com/dashpay/dash/blob/2dacfb08bdf02fdaf0740edac19435bfaa0e52d3/src/test/fuzz/addrman.cpp#L145)) (see below) |\n | `-Wno-deprecated-enum-enum-conversion` | Due to key combination code in Dash Qt ([source](https://github.com/dashpay/dash/blob/2dacfb08bdf02fdaf0740edac19435bfaa0e52d3/src/qt/bitcoingui.cpp#L376)) (see below) |\n\n
\n -Wno-deprecated-builtins\n\n ```\n > make\n Making all in src\n make[1]: Entering directory '/src/dash/src'\n make[2]: Entering directory '/src/dash/src'\n make[3]: Entering directory '/src/dash'\n make[3]: Leaving directory '/src/dash'\n CXX bench/bench_dash-addrman.o\n In file included from bench/addrman.cpp:6:\n In file included from ./bench/bench.h:16:\n ./bench/nanobench.h:952:13: error: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Werror,-Wdeprecated-builtins]\n return !ANKERL_NANOBENCH_IS_TRIVIALLY_COPYABLE(Decayed) || sizeof(Decayed) > sizeof(long) || std::is_pointer::value;\n ^\n ./bench/nanobench.h:107:57: note: expanded from macro 'ANKERL_NANOBENCH_IS_TRIVIALLY_COPYABLE'\n # define ANKERL_NANOBENCH_IS_TRIVIALLY_COPYABLE(...) __has_trivial_copy(__VA_ARGS__)\n ^\n 1 error generated.\n make[2]: *** [Makefile:14567: bench/bench_dash-addrman.o] Error 1\n make[2]: Leaving directory '/src/dash/src'\n make[1]: *** [Makefile:18568: all-recursive] Error 1\n make[1]: Leaving directory '/src/dash/src'\n make: *** [Makefile:800: all-recursive] Error 1\n ```\n\n
\n\n
\n -Wno-deprecated-volatile\n\n ```\n > ./configure [...]\n [...]\n checking whether clang++-16 supports C++20 features with -h std=c++20... no\n checking whether clang++-16 supports C++20 features with -std=c++2a... no\n checking whether clang++-16 supports C++20 features with +std=c++2a... no\n checking whether clang++-16 supports C++20 features with -h std=c++2a... no\n configure: error: *** A compiler with support for C++20 language features is required.\n\n > cat config.log\n This file contains any messages produced by compilers while\n running configure, to aid debugging if configure makes a mistake.\n\n It was created by Dash Core configure 21.0.0, which was\n generated by GNU Autoconf 2.69. Invocation command line was\n\n $ ./configure --prefix=/src/dash/depends/x86_64-pc-linux-gnu --enable-zmq --enable-reduce-exports --disable-crash-hooks --disable-stacktraces --enable-c++20 --enable-suppress-external-warnings --enable-debug --disable-ccache --with-sanitizers=thread\n [...]\n configure:4450: checking whether clang++-16 accepts -g\n configure:4470: clang++-16 -c -g -I/src/dash/depends/x86_64-pc-linux-gnu/include/ -DDEBUG_LOCKORDER -DENABLE_DASH_DEBUG -DARENA_DEBUG conftest.cpp >&5\n configure:4470: $? = 0\n configure:4511: result: yes\n configure:4537: checking whether make supports the include directive\n configure:4552: make -f confmf.GNU && cat confinc.out\n this is the am__doit target\n configure:4555: $? = 0\n configure:4574: result: yes (GNU style)\n configure:4599: checking dependency style of clang++-16\n configure:4710: result: gcc3\n configure:4756: checking whether clang++-16 supports C++20 features with -std=c++20\n configure:5558: clang++-16 -std=c++20 -c -pipe -O2 -Werror -Werror=reorder -Werror=thread-safety -Wno-deprecated-builtins -I/src/dash/depends/x86_64-pc-linux-gnu/include/ -DDEBUG_LOCKORDER -DENABLE_DASH_DEBUG -DARENA_DEBUG conftest.cpp >&5\n conftest.cpp:109:36: error: volatile-qualified parameter type 'volatile int' is deprecated [-Werror,-Wdeprecated-volatile]\n test(const int c, volatile int v) // 'volatile is deprecated in C++20'\n ^\n 1 error generated.\n ```\n\n
\n\n
\n\n -Wno-ambiguous-reversed-operator\n\n ```\n > make\n Making all in src\n make[1]: Entering directory '/src/dash/src'\n make[2]: Entering directory '/src/dash/src'\n make[3]: Entering directory '/src/dash'\n make[3]: Leaving directory '/src/dash'\n [...]\n CXX test/fuzz/fuzz-addrman.o\n test/fuzz/addrman.cpp:329:22: error: ISO C++20 considers use of overloaded operator '==' (with operand types 'CAddrManDeterministic' and 'CAddrManDeterministic') to be ambiguous despite there being a unique best viable function [-Werror,-Wambiguous-reversed-operator]\n assert(addr_man1 == addr_man2);\n ~~~~~~~~~ ^ ~~~~~~~~~\n /usr/include/assert.h:93:27: note: expanded from macro 'assert'\n (static_cast (expr) \\\n ^~~~\n test/fuzz/addrman.cpp:145:10: note: ambiguity is between a regular call to this operator and a call with the argument order reversed\n bool operator==(const CAddrManDeterministic& other)\n ^\n test/fuzz/addrman.cpp:145:10: note: mark 'operator==' as const or add a matching 'operator!=' to resolve the ambiguity\n 1 error generated.\n make[2]: *** [Makefile:15393: test/fuzz/fuzz-addrman.o] Error 1\n make[2]: *** Waiting for unfinished jobs....\n make[3]: Leaving directory '/src/dash/src/dashbls'\n make[2]: Leaving directory '/src/dash/src'\n make[1]: *** [Makefile:18568: all-recursive] Error 1\n make[1]: Leaving directory '/src/dash/src'\n make: *** [Makefile:800: all-recursive] Error 1\n ```\n\n
\n\n
\n\n -Wno-deprecated-enum-enum-conversion\n\n ```\n > make\n Making all in src\n make[1]: Entering directory '/src/dash/src'\n make[2]: Entering directory '/src/dash/src'\n make[3]: Entering directory '/src/dash'\n make[3]: Leaving directory '/src/dash'\n [...]\n CXX qt/libbitcoinqt_a-bitcoingui.o\n qt/bitcoingui.cpp:376:51: error: arithmetic between different enumeration types ('Qt::Modifier' and 'Qt::Key') is deprecated [-Werror,-Wdeprecated-enum-enum-conversion]\n quitAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q));\n ~~~~~~~~ ^ ~~~~~~~~~\n qt/bitcoingui.cpp:609:56: error: arithmetic between different enumeration types ('Qt::Modifier' and 'Qt::Key') is deprecated [-Werror,-Wdeprecated-enum-enum-conversion]\n minimize_action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_M));\n ~~~~~~~~ ^ ~~~~~~~~~\n 2 errors generated.\n make[2]: *** [Makefile:12803: qt/libbitcoinqt_a-bitcoingui.o] Error 1\n make[2]: *** Waiting for unfinished jobs....\n make[2]: Leaving directory '/src/dash/src'\n make[1]: *** [Makefile:18568: all-recursive] Error 1\n make[1]: Leaving directory '/src/dash/src'\n make: *** [Makefile:800: all-recursive] Error 1\n ```\n\n
\n\n This pull request removes the need for the last two `-Wno*` flags, removes some leftover `boost::`{`function`, `lexical_cast`} usage and some `gArgs` usage where a local variable would be more applicable.\n\n Additionally, in some builds, there is an deprecation warning (`-Wdeprecation`) for using `[=]` and relying on its implicit capture of `this` (see below), this can be seen during GCC builds but not Clang builds and correspond to a proposal to the C++20 standard ([proposal](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0806r2.html)).\n\n It has also been mentioned at https://en.cppreference.com/w/cpp/language/lambda, \"The implicit capture of `*this` when the capture default is `=` is deprecated. _(since C++20)_\". This has also been remedied as part of this PR.\n\n
\n\n -Wdeprecated\n\n ```\n > make -j10\n [...]\n CXX qt/libbitcoinqt_a-trafficgraphwidget.o\n qt/optionsdialog.cpp: In lambda function:\n qt/optionsdialog.cpp:195:63: warning: implicit capture of 'this' via '[=]' is deprecated in C++20 [-Wdeprecated]\n 195 | connect(appearance, &AppearanceWidget::appearanceChanged, [=](){\n | ^\n qt/optionsdialog.cpp:195:63: note: add explicit 'this' or '*this' capture\n qt/optionsdialog.cpp: In lambda function:\n qt/optionsdialog.cpp:277:55: warning: implicit capture of 'this' via '[=]' is deprecated in C++20 [-Wdeprecated]\n 277 | connect(ui->coinJoinEnabled, &QCheckBox::clicked, [=](bool fChecked) {\n | ^\n qt/optionsdialog.cpp:277:55: note: add explicit 'this' or '*this' capture\n qt/optionsdialog.cpp: In lambda function:\n qt/optionsdialog.cpp:293:45: warning: implicit capture of 'this' via '[=]' is deprecated in C++20 [-Wdeprecated]\n 293 | connect(this, &OptionsDialog::rejected, [=]() {\n | ^\n qt/optionsdialog.cpp:293:45: note: add explicit 'this' or '*this' capture\n CXX qt/libbitcoinqt_a-utilitydialog.o\n CXX qt/libbitcoinqt_a-addressbookpage.o\n [...]\n ```\n\n
\n\n ## Checklist\n\n - [x] I have performed a self-review of my own code\n - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)**\n - [x] I have added or updated relevant unit/integration/functional/e2e tests **(note: N/A)**\n - [x] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_\n\nACKs for top commit:\n PastaPastaPasta:\n utACK 740d25c0622626863c164574353043d568ff06ea\n knst:\n utACK 740d25c0622626863c164574353043d568ff06ea\n\nTree-SHA512: 52793f9862192ccb556debcac2ec766c4f86e69ec4bedc2fdbaaff965ab4ac478b65b3983b1cb3a92610db85aee6f8668b0ded3494c617c5af7d8801284e461b","shortMessageHtmlLink":"Merge #5986: trivial: remove boost::{function, lexical_cast} usage, b…"}},{"before":"45bdfa582d3b0db209d296eb2ecee8bc5416a24c","after":"0bb188a07708cf7136225b81399c32749c8f1466","ref":"refs/heads/develop","pushedAt":"2024-04-23T14:30:31.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5988: test: disable ipv6 tests for now\n\n10a006e626c18ffb8c507b6afd7cffaf7f1ba6f8 test: disable ipv6 tests for now (UdjinM6)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n Our CI nodes on Amazon have issues running tests using ipv6.\n\n ## What was done?\n Pretend we don't have ipv6 when we run tests for now\n\n ## How Has This Been Tested?\n See CI results for this PR.\n\n ## Breaking Changes\n n/a but we'll have ipv6 not being tested for some time.\n\n ## Checklist:\n - [x] I have performed a self-review of my own code\n - [ ] I have commented my code, particularly in hard-to-understand areas\n - [ ] I have added or updated relevant unit/integration/functional/e2e tests\n - [ ] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_\n\nACKs for top commit:\n kwvg:\n ACK 10a006e626c18ffb8c507b6afd7cffaf7f1ba6f8\n PastaPastaPasta:\n utACK 10a006e\n\nTree-SHA512: 75da180b916a5a99b1363f152494cbdd1031c7daf2d5eb370ca74547dee694ad04db3e9c677f0f738b9dbb15760d685a6b43b032dde642a4c1d49fff671e2aac","shortMessageHtmlLink":"Merge #5988: test: disable ipv6 tests for now"}},{"before":"eb7d24419a31f9625da09fdb89ee12a74e455f8e","after":"45bdfa582d3b0db209d296eb2ecee8bc5416a24c","ref":"refs/heads/develop","pushedAt":"2024-04-23T14:15:55.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5979: backport: Merge bitcoin#21902, 22187, 21795, 22902,(followup) 19940, 22121, 21353, 21936\n\n6c242da723311b201e6cd1d8e7104a2ad23ba47a Merge bitcoin/bitcoin#21936: fuzz: Terminate immediately if a fuzzing harness tries to create a TCP socket (belt and suspenders) (MarcoFalke)\n26ff28a0289577a13374c07152f8e92bed541f54 Merge bitcoin/bitcoin#21353: interfaces: Stop exposing wallet destdata to gui (W. J. van der Laan)\n348f4a8b9edf9a33de95c1cb7bf034b05c2d2073 Merge bitcoin/bitcoin#22121: doc: Various validation doc fixups (fanquake)\n2996daad4c9649ac1e3dd7e1d9ef5e391a26ed61 (followup) bitcoin#19940 (Vijay)\nb6dbd8bd7dc4aae8a274d673529a71acb1c44881 Merge bitcoin/bitcoin#22092: test: convert documentation into type annotations (fanquake)\ncc70886b4d5eee7e39b904630e41ac249dfee8d7 Merge bitcoin/bitcoin#21795: fuzz: Terminate immediately if a fuzzing harness tries to perform a DNS lookup (belt and suspenders) (MarcoFalke)\nf3bc9535da61ad8139508c2f40b864810ce0af79 Merge bitcoin/bitcoin#22187: test: Add sync_blocks in wallet_orphanedreward.py (MarcoFalke)\n16ccb90bbba54a352a2fc215ba5a03376c715224 Merge bitcoin/bitcoin#21902: refactor: Remove useless extern keyword (fanquake)\n\nPull request description:\n\n backport: Merge bitcoin#21902, 22187, 21795, 22902,(followup) 19940, 22121, 21353, 21936\n\nTop commit has no ACKs.\n\nTree-SHA512: 26de87da5d18fd36a38253a077131b36a278bc681bb47a9b893b6caad8520fc535b1675c3d79d312d455d710dd6ae7235d6cef1fb031a76e0559a200c2fc9b04","shortMessageHtmlLink":"Merge #5979: backport: Merge bitcoin#21902, 22187, 21795, 22902,(foll…"}},{"before":"2dacfb08bdf02fdaf0740edac19435bfaa0e52d3","after":"eb7d24419a31f9625da09fdb89ee12a74e455f8e","ref":"refs/heads/develop","pushedAt":"2024-04-22T14:45:40.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5928: backport: Merge bitcoin#20406, 21370, 21395, 21007, 20040, 21418, 21447, 20197, 21613, 21602\n\ndaacafb5394ea37e21f8c75b95b4b0660c3f9f5b Merge #21426: rpc: remove scantxoutset EXPERIMENTAL warning (MarcoFalke)\nb8aec5cb861b7bc2f1b050e0f38894321d21147d Merge #20197: p2p: protect onions in AttemptToEvictConnection(), add eviction protection test coverage (Wladimir J. van der Laan)\ndd923229620a0007868e5615711926710a7b6861 Merge #21447: Always add -daemonwait to known command line arguments (Wladimir J. van der Laan)\n3325620ce1074160d7211d7a84af1c2b82e8bf18 Merge #21418: contrib: Make systemd invoke dependencies only when ready (Wladimir J. van der Laan)\n99f09a0be60a5f9fb86424179eeefc41e0db72c4 Merge #20040: wallet: Refactor OutputGroups to handle fees and spending eligibility on grouping (Samuel Dobson)\n6ca0eb189e852daafd946a5beac3722eaff06567 Merge #21007: bitcoind: Add -daemonwait option to wait for initialization (Wladimir J. van der Laan)\n666e6e2015f58f379af336af5aaed8445ffb8fc9 Merge #20406: util: Avoid invalid integer negation in FormatMoney and ValueFromAmount (Wladimir J. van der Laan)\n1a07e04a0e42d4ea3b75e2775f03828ada49e731 Merge #21370: Use C++11 member initializer in CNodeState (fanquake)\n6423f6bc5de97ecca10155750720c3839a0943e1 Merge #21395: Net processing: Remove unused CNode.address member (MarcoFalke)\n\nPull request description:\n\n bitcoin backports\n\nTop commit has no ACKs.\n\nTree-SHA512: dc9490c6c99cc08e8c8ffbd6b71f48e8df8b51dd2d7ca940de44ff47ab28ec3e2d45b7e381a7124d513f7e29ad13300c9df68acd7ddec3022a603eca162b12f3","shortMessageHtmlLink":"Merge #5928: backport: Merge bitcoin#20406, 21370, 21395, 21007, 2004…"}},{"before":"44d9ac76f3574d99d6421ad7ffbb9eb7d2b6b9d7","after":"2dacfb08bdf02fdaf0740edac19435bfaa0e52d3","ref":"refs/heads/develop","pushedAt":"2024-04-17T02:47:09.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5980: refactor: move C{ActiveMasternode, DeterministicMN}Manager, CMasternode{MetaMan, Sync} to NodeContext\n\na5be37c58b729c2d3558178bd1fc8f917e7395c0 refactor: remove CDeterministicMNManager global, move to NodeContext (Kittywhiskers Van Gogh)\ncf90cf20c6821615af29099fbf36788cb7d62f53 refactor: remove CMasternodeMetaMan global, move to NodeContext (Kittywhiskers Van Gogh)\n81b1247e6d04749482286a4037e0a20471d95bc2 refactor: remove CActiveMasternodeManager global, move to NodeContext (Kittywhiskers Van Gogh)\nc99fb42ddfb72dbe6a2ae558edee6beb0b646ae8 refactor: remove CMasternodeSync global, move to NodeContext (Kittywhiskers Van Gogh)\na247a63d70d38eca0f618858ea0b178dae9a8993 refactor: make CTxMemPool ProTx paths conditional on CDeterministicMNManager presence (Kittywhiskers Van Gogh)\n\nPull request description:\n\n ## Additional Information\n\n * Depends on https://github.com/dashpay/dash/pull/5966\n\n * `CTxMemPool`'s ProTx logic took the presence of `CDeterministicMNManager` for granted. To account for `CTxMemPool` instances that aren't seeded with the pointer to the manager (usually because the unit test doesn't call for them), refactoring was done to make ProTx code paths conditional on the manager pointer being set to something.\n * Setting the manager pointer is done through `CTxMemPool::Init()`, to avoid having to pass another `std::unique_ptr` const-ref and also because `CTxMemPool` can _technically_ work without the manager if ProTx logic is not needed (and `CTxMemPool::existsProviderTxConflict()` isn't called)\n\n * `CTxMemPool::Init()` doesn't allow overwriting a not-`nullptr` manager pointer. If that is desired, then `CTxMemPool::Reset()` should be called first. This was done to avoid unintentional double-initialization/overwriting.\n\n ## Breaking Changes\n\n None. Changes are limited to refactoring.\n\n ## Checklist:\n\n - [x] I have performed a self-review of my own code\n - [x] I have commented my code, particularly in hard-to-understand areas\n - [x] I have added or updated relevant unit/integration/functional/e2e tests\n - [x] I have made corresponding changes to the documentation **(note: N/A)**\n - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_\n\nACKs for top commit:\n PastaPastaPasta:\n utACK a5be37c58b729c2d3558178bd1fc8f917e7395c0\n\nTree-SHA512: 8dc7ada6597a265b7753603bca6a43b69cfe3b0d330bae98c3e27b6aa24cd3cdff80f6939bb39ffc00902b76b6b145667f0b7ac98a17fe8255d6fd143088a98c","shortMessageHtmlLink":"Merge #5980: refactor: move C{ActiveMasternode, DeterministicMN}Manag…"}},{"before":"544d33309af521c5ffd16d12c353ce6915ea3875","after":"44d9ac76f3574d99d6421ad7ffbb9eb7d2b6b9d7","ref":"refs/heads/develop","pushedAt":"2024-04-16T14:21:33.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5904: backport: Merge bitcoin#21712,21192, 21695,21244,21595\n\n262fe0ada64f4691c53fcf99ff71220604312cbe (followup) bitcoin#21244: Move GetBackupsDir to ArgsManager (Vijay)\n1f4e26baf9f5742597b479cb494fcf496eadece4 Merge #21595: cli: create -addrinfo (W. J. van der Laan)\n6a45e72eddebc6d990c0530b875e71d65dd855a2 Merge #21244: Move GetDataDir to ArgsManager (fanquake)\n4d28f3a67b388ab0ccc268861e90b7313a7971fb Merge #21695: Remove no longer used contrib/bitcoin-qt.pro from the repo (fanquake)\n9de77e8f4664f8012927eb99bbd8372153ae98ad Merge #21192: cli: Treat high detail levels as maximum in -netinfo (Wladimir J. van der Laan)\ne22ebca74651af6167b27c76b56ea0111e04823c Merge #21712: qa: Test default include_mempool value of gettxout (MarcoFalke)\n\nPull request description:\n\n backport: Merge bitcoin#21712,21192, 21695,21244,21595\n\nTop commit has no ACKs.\n\nTree-SHA512: 61e72fa6db7aa0234cdccca91b3639dbfed6eabea4d9d65d25e89ac17de0b1d1b5eddf41985b1335bbd34ca71465a9760bf62ed33418a8d79a3d742156c52f35","shortMessageHtmlLink":"Merge #5904: backport: Merge bitcoin#21712,21192, 21695,21244,21595"}},{"before":"92409675e6836d7eacb177f1490bcec0d4e54008","after":"544d33309af521c5ffd16d12c353ce6915ea3875","ref":"refs/heads/develop","pushedAt":"2024-04-16T13:57:07.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5981: backport: bitcoin#19136, #21063, #21277, #21302, partial #20267 - descriptor wallets part IV\n\nceefab52265cd778cfec6e7675f3555a70c66154 fix: feature_backwards compatible works now with as expected if no bdb compiled (Konstantin Akimov)\nb20f8126740faadd62ff2734042d8fc54aa22ec1 fix: follow-up fixes for functional tests used protx (Konstantin Akimov)\n655146d5e7a90ba049dc7aabe203d77abd515bb2 Merge #21302: wallet: createwallet examples for descriptor wallets (W. J. van der Laan)\n99a8b60393abb3862762bf19f7616529fb08093d Merge #21063: wallet, rpc: update listdescriptors response format (fanquake)\n6ee2c7cc59376dce6c0fdd2aa25b12a4d925d4ca Merge #21277: wallet: listdescriptors uses normalized descriptor form (Wladimir J. van der Laan)\n8bacdbf71f5a5ad777cc0bb26c8aadf4daeff0d5 Merge #19136: wallet: add parent_desc to getaddressinfo (Samuel Dobson)\nf567de007ace0d73bc69653c82215074f13fb7b7 chore: release notes for 5965 with wallet tool improvements (Konstantin Akimov)\n0daf360edf9886d101854f8458cd7270e1483227 chore: add TODO to implement mnemonic for descriptor wallets (Konstantin Akimov)\n5016294307a7589e325e9ab19412567e5a7fe780 chore: move functional test wallet_multiwallet from category \"slow 5 minutes\" to \"fast test\" (Konstantin Akimov)\nef7ce87c1bfab494005fc43c90613aa674be5a9d fix: remove workarounds introduced due to missing bitcoin#20267 (bdb is not compiled) (Konstantin Akimov)\n06b2d85bb46643aadaad6573630454d253aae07c partial Merge #20267: Disable and fix tests for when BDB is not compiled (Wladimir J. van der Laan)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n https://github.com/dashpay/dash-issues/issues/59\n\n ## Extra notes\n This commit `chore: move functional test wallet_multiwallet from category \"slow 5 minutes\" to \"fast test\"` is not directly connected to descriptor wallets, but added to this PR due to conflicts with 20267\n\n ## What was done?\n It steadily improves support of descriptor wallets in Dash core.\n\n Done backports and related fixes:\n - partial bitcoin/bitcoin#20267\n - bitcoin/bitcoin#19136\n - bitcoin/bitcoin#21277\n - bitcoin/bitcoin#21063\n - bitcoin/bitcoin#21302\n\n Beside backports and related fixes, this PR includes release notes for previous batch of backports for descriptor wallets support #5965\n\n ## How Has This Been Tested?\n Run unit functional tests\n\n ## Breaking Changes\n N/A\n\n ## Checklist:\n - [x] I have performed a self-review of my own code\n - [x] I have commented my code, particularly in hard-to-understand areas\n - [x] I have added or updated relevant unit/integration/functional/e2e tests\n - [ ] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone\n\nTop commit has no ACKs.\n\nTree-SHA512: f4b2033f8c4fa1d0f72cfc31378909703b3ae8f44748989ff00c3e71311ac80ac37837137133c7e4a166823a941ed7df10efa09c89f5b213f3c8ede7d3d6e8f4","shortMessageHtmlLink":"Merge #5981: backport: bitcoin#19136, bitcoin#21063, bitcoin#21277, b…"}},{"before":"7aa8f54c0f1c5c4e2b2d1ab14968f35925ccea3e","after":"92409675e6836d7eacb177f1490bcec0d4e54008","ref":"refs/heads/develop","pushedAt":"2024-04-15T15:49:24.000Z","pushType":"push","commitsCount":14,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5978: backport: merge bitcoin#21594, #21843, #22306, #22211, #22387, #21528, #22616, #22604, #22960, #23218 (networking backports: part 3)\n\n1fedf470cd821f23efd6ea896ebbfab6a3e4b951 test: add type annotation for `ADDRS` in `p2p_addrv2_relay` (Kittywhiskers Van Gogh)\n022b76f20b0f57c2993a00f6e95f91f84f611f14 merge bitcoin#23218: Use mocktime for ping timeout (Kittywhiskers Van Gogh)\n45d9e58023f4f0022a4fd59d84bedea1a7606b70 merge bitcoin#22960: Set peertimeout in write_config (Kittywhiskers Van Gogh)\n06e909b7376cbb731e09d875d7a525d00a37ad99 merge bitcoin#22604: address rate-limiting follow-ups (Kittywhiskers Van Gogh)\n60b3e08ed14301ba11c40bfb26482a7ed4fd6085 merge bitcoin#22616: address relay fixups (Kittywhiskers Van Gogh)\n8b8fbc5226893b08d87a69a4fa53b5c4e209614d merge bitcoin#22618: Small follow-ups to 21528 (Kittywhiskers Van Gogh)\n18fe76598814726996f135635aafa8d8ed663007 merge bitcoin#21528: Reduce addr blackholes (Kittywhiskers Van Gogh)\nc1874c6615e020f7530dc3979cca01c0acf7d72f net_processing: gate `m_tx_relay` access behind `!IsBlockOnlyConn()` (Kittywhiskers Van Gogh)\n602d13d2a23ee63bc083bb125b0784d6c02cb8b9 merge bitcoin#22387: Rate limit the processing of rumoured addresses (Kittywhiskers Van Gogh)\nfe66202c059e3a2df43c838c8d782de1420ac20e merge bitcoin#22211: relay I2P addresses even if not reachable (by us) (Kittywhiskers Van Gogh)\n7e08db55fe7ba42a3f364c7e87b2ea1e93cbc33c merge bitcoin#22306: Improvements to p2p_addr_relay.py (Kittywhiskers Van Gogh)\nff3497c18b6c281997dabba15b1029e1a4705324 merge bitcoin#21843: enable GetAddr, GetAddresses, and getnodeaddresses by network (Kittywhiskers Van Gogh)\n51edeb082c4a63c5d67d4f601e67603579cd3809 merge bitcoin#21594: add network field to getnodeaddresses (Kittywhiskers Van Gogh)\n\nPull request description:\n\n ## Additional Information\n\n * Dependency for https://github.com/dashpay/dash/pull/5982\n * Population of `ADDRS` in `p2p_addr`(`v2`)`_relay` in Dash is done in the test object ([source](https://github.com/dashpay/dash/blob/0a62b9f985866249964ed703108a8dc617c73ba3/test/functional/p2p_addrv2_relay.py#L42-L49)) as opposed to upstream, where it is done in the global state ([source](https://github.com/maflcko/bitcoin-core/blob/d930c7f5b091687eb4208a5ffe8a2abe311d8054/test/functional/p2p_addrv2_relay.py#L23-L35)). This is because Dash specifically relies on `self.mocktime` instead of Bitcoin, which will work with simply sampling current time (`time.time()`).\n * [bitcoin#22211](https://github.com/bitcoin/bitcoin/pull/22211) adds changes ([source](https://github.com/bitcoin/bitcoin/pull/22211/files#diff-d3d7b1bb23f25a96c9c7444a79159ad1799895565f99efebf1618e41e886bd53R44-R46)) that add usage of `ADDRS` outside the test object. That, alongside with other considerations, resulted in [dash#5967](https://github.com/dashpay/dash/pull/5967) and a discussion ([source](https://github.com/dashpay/dash/pull/5967/files#r1548101561))\n * Eventually, following the footsteps of [dash#5967](https://github.com/dashpay/dash/pull/5967), `ADDRS` was defined outside but setup within the test object. This worked just fine ([build](https://gitlab.com/dashpay/dash/-/jobs/6594036014)) but displeased the linter ([build](https://gitlab.com/dashpay/dash/-/jobs/6594035886)) because `ADDRS` type could not be implicitly determined solely on usage in the global scope.\n * An attempt to correct this was done by realignment with upstream ([commit](https://github.com/dashpay/dash/commit/262d00682c1cce6a3fee2f81d181fd5bbeeaac88)), which pleased the linter ([build](https://gitlab.com/dashpay/dash/-/jobs/6597322521)) but broken the test ([build](https://gitlab.com/dashpay/dash/-/jobs/6597322548)) for the reasons as mentioned above.\n * Therefore, to keep the linter happy, `ADDRS` has been annotated as a `List[CAddress]` (which involved importing `List` but that's fine) ([commit](https://github.com/dashpay/dash/commit/cb6d36df7d5f936743fea699c00ff1f7e61a3f1b))\n * Working on [bitcoin#21528](https://github.com/bitcoin/bitcoin/pull/21528) proved challenging due to differences in Dash's and Bitcoin's approach to relaying and the workarounds used to accommodate for that.\n * Bitcoin conditionally initializes `m_tx_relay` ([source](https://github.com/amitiuttarwar/bitcoin/blob/3f7250b328b8b2f5d63f323702445ac5c989b73d/src/net.cpp#L2989-L2991)) and can always check if transaction relaying is permitted by checking if it's initialized ([source](https://github.com/amitiuttarwar/bitcoin/blob/3f7250b328b8b2f5d63f323702445ac5c989b73d/src/net_processing.cpp#L1820-L1826)).\n * Dash unconditionally initializes it ([source](https://github.com/dashpay/dash/blob/0a62b9f985866249964ed703108a8dc617c73ba3/src/net.h#L605-L607)). Earlier, Dash used to check if it's _appropriate_ to relay transactions by checking if it can relay addresses ([source](https://github.com/dashpay/dash/blob/dc6f52ac99a3b6fb8b3dfe37db4d6db1f7b1e719/src/net_processing.cpp#L2134-L2140)), which at the time, simply meant, it wasn't a block-only connection ([source](https://github.com/dashpay/dash/blob/dc6f52ac99a3b6fb8b3dfe37db4d6db1f7b1e719/src/net.h#L568-L572)).\n * This mutual exclusivity no longer held true in [dash#5964](https://github.com/dashpay/dash/pull/5964) and therefore, some transaction relay decisions were bound to **not** being a block-only connection ([commit](https://github.com/dashpay/dash/commit/26c39f5b929edda6a0dea8d6e6bd58b3d4a69e7c)) but some were left behind, adopting `RelayAddrsWithPeer()` ([source](https://github.com/dashpay/dash/blob/0a62b9f985866249964ed703108a8dc617c73ba3/src/net_processing.cpp#L2215-L2221)), which, to be noted, is determined by the initialization status of `Peer::m_addr_known` ([source](https://github.com/dashpay/dash/blob/0a62b9f985866249964ed703108a8dc617c73ba3/src/net_processing.cpp#L839-L842)), which, so far, was pegged to **not** block-relay connection status ([source](https://github.com/dashpay/dash/blob/0a62b9f985866249964ed703108a8dc617c73ba3/src/net_processing.cpp#L1319)).\n * [bitcoin#21528](https://github.com/bitcoin/bitcoin/pull/21528) got rid of `RelayAddrsWithPeer()` and replaced it with `Peer::m_addr_relay_enabled` ([source](https://github.com/amitiuttarwar/bitcoin/blob/3f7250b328b8b2f5d63f323702445ac5c989b73d/src/net_processing.cpp#L237-L251)), which is setup using `Peer::SetupAddressRelay()` ([source](https://github.com/amitiuttarwar/bitcoin/blob/3f7250b328b8b2f5d63f323702445ac5c989b73d/src/net_processing.cpp#L637-L643)). This means, rather than defining the address relay status during construction, it is setup during the first address-related message (i.e. `ADDR`, `ADDRV2`, `GETADDR`) ([source](https://github.com/amitiuttarwar/bitcoin/blob/3f7250b328b8b2f5d63f323702445ac5c989b73d/src/net_processing.cpp#L227-L236)).\n * Meaning, until the first addr-related message happens, the state is has not been determined and defaults to `false`. Because some `m_tx_relay` usage still piggybacked on addr-relay permission to determine tx-relay, if a transaction message is processed before an address message is processed, there will be a false-negative condition.\n\n The transaction relay logic won't run since it's expecting that if transactions can be relayed, so can addresses and checks for address relaying but believes that it cannot do address relaying, borrowing that state for transaction relaying, despite address relaying permissions actually being indeterminate since it hasn't had a chance to validate its eligibility.\n * There were two approaches, run `SetupAddressRelay()` as early in the connection as possible to substitute for the \"determine at construction\" behaviour and change no other conditional statements... and break address-related tests _or_ move the remaining conditional transaction relay logic to use **not** block-only connection checks instead.\n * We've gone with the latter, resulting in some changes where the condition only changes form but is the same (`RelayAddrsWithPeer()` > `Peer::m_addr_relay_enabled`) ([source](https://github.com/dashpay/dash/pull/5978/commits/109c5a93833813e073b94059156fb6ea4c432163#diff-6875de769e90cec84d2e8a9c1b962cdbcda44d870d42e4215827e599e11e90e3L2131-L2134)) but other changes where the condition itself has been changed (`RelayAddrsWithPeer()` > `!CNode::IsBlockOnlyConn()`) ([source](https://github.com/dashpay/dash/pull/5978/commits/109c5a93833813e073b94059156fb6ea4c432163#diff-6875de769e90cec84d2e8a9c1b962cdbcda44d870d42e4215827e599e11e90e3R2256-R2259))\n * This does mean that in [dash#5982](https://github.com/dashpay/dash/pull/5982), `Peer::m_block_relay_only` is introduced to be the counterpart to `Peer::m_addr_relay_enabled` ([source](https://github.com/dashpay/dash/blame/45b48dae0a66fd918834d012cc8e1e17b5824abe/src/net_processing.cpp#L321-L322)) to account for some `CConnman` logic being moved into `PeerManager` ([source](https://github.com/dashpay/dash/blame/45b48dae0a66fd918834d012cc8e1e17b5824abe/src/net_processing.cpp#L2186-L2195)), which, in a way, reverts [dash#5339](https://github.com/dashpay/dash/pull/5339) but also, doesn't, since it moves the information into `Peer` instead of reinstating it into `CNode`.\n * This was eventual since the underlying presumption that `CNode::IsAddrRelayPeer() == !CNode::IsBlockOnlyConn()` no longer holds true (also because `CNode::IsAddrRelayPeer()` doesn't exist anymore).\n\n Special thanks to @UdjinM6 for help with understanding Dash-specifics with respect to functional tests through help on [dash#5964](https://github.com/dashpay/dash/pull/5964) and [dash#5967](https://github.com/dashpay/dash/pull/5967)\n\n ## Breaking Changes\n\n None expected.\n\n RPC changes have been introduced in `getnodeaddresses`, where a new input `network`, can filter addresses based on desired network and a new output, also `network`, will associate the address with the origin network. This change is expected to be backwards-compatible.\n\n ## Checklist:\n\n - [x] I have performed a self-review of my own code\n - [x] I have commented my code, particularly in hard-to-understand areas\n - [x] I have added or updated relevant unit/integration/functional/e2e tests\n - [x] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_\n\nACKs for top commit:\n PastaPastaPasta:\n utACK 1fedf470cd821f23efd6ea896ebbfab6a3e4b951\n\nTree-SHA512: 533d33f79a0d9fd730073b3b9a58baf1dd3b0c95823e765c88a43cc974970ed3609bf1863c63ac7fc5586d1437e5250b0a2d3005468da09e407110a412bd0264","shortMessageHtmlLink":"Merge #5978: backport: merge bitcoin#21594, bitcoin#21843, bitcoin#22306"}},{"before":"54ea9260d4b65aa8b76647405eef5048b753d21f","after":"7aa8f54c0f1c5c4e2b2d1ab14968f35925ccea3e","ref":"refs/heads/develop","pushedAt":"2024-04-12T15:30:33.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5976: backport: bitcoin#17934, #21338, #21390, #21445, #21602, #21606, #21609, #21676, bitcoin-core/gui#260,\n\n21ad71c5788017a9aad90205ebb4f79811d3f9ac Merge #21676: test: Use mocktime to avoid intermittent failure in rpc_tests (MarcoFalke)\n76a41eb24509684d8e79f9397d4e64d5ecf41015 Merge #21602: rpc: add additional ban time fields to listbanned (MarcoFalke)\nadea52a5fe8530a6260d10246ab7443d143e9790 Merge bitcoin-core/gui#260: Handle exceptions instead of crash (W. J. van der Laan)\n7e023c394f7f4944bad3fcc82280652b834427ec Merge #17934: doc: Use CONFIG_SITE variable instead of --prefix option (fanquake)\nbc6e3ed6e4493ac044c86b4505992ef2777455eb Merge #21606: fuzz: Extend psbt fuzz target a bit (MarcoFalke)\n233fb245f7644e1b62566a5146d1dd84630b4efb Merge #21445: cirrus: Use SSD cluster for speedup (fanquake)\na224b800e45b82acd4b0421128e4a1accf583081 Merge #21609: ci: increase CPU count of sanitizer job to increase memory limit (MarcoFalke)\nad947099a08736a49b73d4cbba6d35f065194e13 test: remove exception for util::Ref which doesn't exist more (Konstantin Akimov)\n6674ee85ab2ec30c5b4f866bb9fd7a0dc2bc6d9c Merge #21390: test: Test improvements for UTXO set hash tests (MarcoFalke)\ne10eec249b9516655566dacdb5a3df36b7e56871 Merge #21338: test: add functional test for anchors.dat (MarcoFalke)\nd9c31d6817f148a487ee83a82d3a7c37fa88c2d5 Merge #21411: test: add logging, reduce blocks, move sync_all in wallet_ groups (MarcoFalke)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n Regular backports from bitcoin v22\n\n ## Note for reviewers:\n PRs bitcoin#17934 and bitcoin#21606 have been backported partially in past.\n\n ## What was done?\n Removed unused sanitizer rules (see bitcoin#21366 and dashpay/dash#5055)\n - bitcoin/bitcoin#21338\n - bitcoin/bitcoin#21390\n - bitcoin/bitcoin#21609\n - bitcoin/bitcoin#21445\n - bitcoin/bitcoin#21606\n - bitcoin/bitcoin#17934\n - bitcoin-core/gui#260\n - bitcoin/bitcoin#21602\n - bitcoin/bitcoin#21676\n\n ## How Has This Been Tested?\n Run unit/functional tests\n\n ## Breaking Changes\n N/A\n\n ## Checklist:\n - [x] I have performed a self-review of my own code\n - [ ] I have commented my code, particularly in hard-to-understand areas\n - [ ] I have added or updated relevant unit/integration/functional/e2e tests\n - [ ] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone\n\nACKs for top commit:\n PastaPastaPasta:\n utACK 21ad71c5788017a9aad90205ebb4f79811d3f9ac\n\nTree-SHA512: 94276d56255300d7d8c056d15b468720ba028d83cc585b16396e8bad90157e9e010490be239e09cccd4362f575f8df2d56dde3fb505745376c7790d70e3635cd","shortMessageHtmlLink":"Merge #5976: backport: bitcoin#17934, bitcoin#21338, bitcoin#21390, b…"}},{"before":"938fd234477d54f489a63e214bff2b7c4aa43957","after":"54ea9260d4b65aa8b76647405eef5048b753d21f","ref":"refs/heads/develop","pushedAt":"2024-04-12T15:20:20.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5974: backport: bitcoin#19522, #19809, #20993, #21075, #21126, #21138, #21221, #21354, #21542\n\n005a6b104a2289a512175a7cd6915c59f21a71a6 fix: format string in llmq/commitment - mismatched arguments (Konstantin Akimov)\n4774e1e8f62f172aa92b8f99b2d4db31beb00ce3 Merge #19809: log: Prefix log messages with function name and source code location if -logsourcelocations is set (Wladimir J. van der Laan)\n43a94f05801ccdf0ce362cb276ab61c8a09d87c0 fix: adjust functional tests due to dash's support of thread name after v0.12 (Konstantin Akimov)\n085120d9f91530e9dd95b0d5884e430699ff1801 Merge #20993: test: store subversion (user agent) as string in msg_version (MarcoFalke)\ne866b431605b372aa7de5bd788f909a03f746beb Merge #21542: ci: Bump macOS VM image to the latest version (fanquake)\na3702534e56c126af8e53bf44eac9be9afb8417f Merge #21354: build, doc: Drop no longer required packages from macOS cross-compiling dependencies (fanquake)\n6bcc86ad3b848036ae26183b9b0c3380bf2c1ace Merge #21221: [tools] Allow argument/parameter bin packing in clang-format (MarcoFalke)\n318c7263d0395c6b590b67231960457d23a732e7 Merge #19522: build: fix building libconsensus with reduced exports for Darwin targets (Wladimir J. van der Laan)\n88a45d4a9aa74f38f851f414bee4d364cdc432b0 Merge #21138: ci: Re-run wine tests once if they fail (fanquake)\n4abb76845648ff97329b7794a5346e95c2901571 Merge #21126: ci: Properly bump to focal for win cross build (fanquake)\nf254f77d75ddd76889eec7401d5685cc48fcbb58 Merge #21075: doc: Fix markdown formatting (MarcoFalke)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n Regular backports from bitcoin v22 and related fixes\n\n ## What was done?\n Follow-up fixes for bitcoin#19809\n Backports:\n - bitcoin/bitcoin#21075\n - bitcoin/bitcoin#21126\n - bitcoin/bitcoin#21138\n - bitcoin/bitcoin#19522\n - bitcoin/bitcoin#21221\n - bitcoin/bitcoin#21354\n - bitcoin/bitcoin#21542\n - bitcoin/bitcoin#19809\n - bitcoin/bitcoin#20993\n\n ## How Has This Been Tested?\n Run unit/functional tests\n\n ## Breaking Changes\n N/A\n Notice, that function name is included now by default to logs with `-logfunctionnames` and many logs have function name twice now such as:\n ```\n node0 2024-04-06T20:13:56.564123Z (mocktime: 2014-12-04T17:15:38Z) [httpworker.3] [masternode/sync.cpp:331] [NotifyHeaderTip] CMasternodeSync::NotifyHeaderTip -- pindexNew->nHeight: 5 fInitialDownload=0\n ```\n For further development need to take it in account and do not use more direct calls `__func__` from code as well as reduce usages in codebase.\n\n ## Checklist:\n - [x] I have performed a self-review of my own code\n - [ ] I have commented my code, particularly in hard-to-understand areas\n - [ ] I have added or updated relevant unit/integration/functional/e2e tests\n - [ ] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone\n\nACKs for top commit:\n PastaPastaPasta:\n utACK 005a6b104a2289a512175a7cd6915c59f21a71a6\n\nTree-SHA512: f98949c4605dda7d6dfe790554e1d31a8c8178b57520578fcd58178c68fe7af33c0d66a79865683c1357de9a73fa4f484eb828b28e11ca110b8e1915c1fcf9b3","shortMessageHtmlLink":"Merge #5974: backport: bitcoin#19522, bitcoin#19809, bitcoin#20993, b…"}},{"before":"5fdaa4558c19d1f93b987d83eb8b6efe3e62746e","after":"938fd234477d54f489a63e214bff2b7c4aa43957","ref":"refs/heads/develop","pushedAt":"2024-04-12T15:16:37.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5973: backport: bitcoin#18772, #20690, #20789, #20813, #21531, bitcoin-core/gui#13, #72, 115, #139, #171\n\na2f190deff19dc21ffff700ef3a13d5f53a92ae3 Merge bitcoin-core/gui#115: Replace \"Hide tray icon\" option with positive \"Show tray icon\" one (Jonas Schnelli)\n65b80e76b722e099f8696cb374d293bf9c3e446d Merge #21531: test: remove qt byteswap compattests (MarcoFalke)\nba883c5da2ea0f27e473ad8235cd0aa6fbf01bcf Merge bitcoin-core/gui#139: doc: Improve gui/src/qt README.md (MarcoFalke)\n368c65d0501a1f562ef98cfb1c9f6c96a7ae535d Merge bitcoin-core/gui#72: util: Log static plugins meta data and used style (Jonas Schnelli)\n317777e7d7fcb13b5bc716026dcae2ba4842270b Merge bitcoin-core/gui#171: Use layout manager for Create Wallet dialog (MarcoFalke)\n83313a56035f38cf73af8229525e932f1229964e Merge bitcoin#20789: Rework strong and weak net enum fuzzing (MarcoFalke)\n4a3e3af6e7ad5856c0fbbe908d1db83931087193 Merge #20813: scripted-diff: Bump copyright headers (MarcoFalke)\ne36eacd86837135b30c308e3dd85facf740bdf58 Merge #18772: rpc: calculate fees in getblock using BlockUndo data (MarcoFalke)\n41a1e109546519dbd819ae99b4a4857142f8d59d Merge #20690: Clean up logging of outbound connection type (MarcoFalke)\n648d6f04fb437db427435f0253c8c8db3b3bfcf2 Merge bitcoin-core/gui#13: Hide peer detail view if multiple are selected (Jonas Schnelli)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n Regular backports from bitcoin v22\n\n ## What was done?\n - bitcoin-core/gui#13\n - bitcoin-core/gui#115\n - bitcoin/bitcoin#20690\n - bitcoin/bitcoin#18772\n - bitcoin/bitcoin#20813\n - bitcoin/bitcoin#20789\n - bitcoin-core/gui#171\n - bitcoin-core/gui#72\n - bitcoin-core/gui#139\n - bitcoin/bitcoin#21531\n\n ## How Has This Been Tested?\n Run unit/functional tests\n\n ## Breaking Changes\n N/A\n\n ## Checklist:\n - [x] I have performed a self-review of my own code\n - [ ] I have commented my code, particularly in hard-to-understand areas\n - [ ] I have added or updated relevant unit/integration/functional/e2e tests\n - [ ] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone\n\nACKs for top commit:\n PastaPastaPasta:\n utACK a2f190deff19dc21ffff700ef3a13d5f53a92ae3\n\nTree-SHA512: 29421e7ca38583c47f49c2605775f34b64ae2fb6aeb45ac42941fbc78598fc26e7f7a248b40fcc2c9fd21154b0a6f2aed64287a8b7cca43de1b99ae3dccd990f","shortMessageHtmlLink":"Merge #5973: backport: bitcoin#18772, bitcoin#20690, bitcoin#20789, b…"}},{"before":"0a62b9f985866249964ed703108a8dc617c73ba3","after":"5fdaa4558c19d1f93b987d83eb8b6efe3e62746e","ref":"refs/heads/develop","pushedAt":"2024-04-12T15:15:16.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5966: refactor: rearrange database initialization, trim globals use in net and net processing, move CheckSpecialTx into CSpecialTxProcessor\n\n191b3de9b48212dc5880fdca69ea949977becd57 refactor: move CheckSpecialTx into CSpecialTxProcessor (Kittywhiskers Van Gogh)\n91f4588f71dd78c55d9a0e376d43d0d6e2f9a4fe refactor: const the pointer of type `const CActiveMasternodeManager` (Kittywhiskers Van Gogh)\n1d9b7fad0fa88c52fa57f72e6b77f0efdf796ecd refactor: trim globals use in net processing functions (Kittywhiskers Van Gogh)\n2a4fdbff1ad1a7af458b71597438212829c448ed refactor: trim globals use in net threads and functions (Kittywhiskers Van Gogh)\nff825acaacaf96e42665e5ecb25a87d83ef87ef1 init: load databases of governance dependencies before loading its own (Kittywhiskers Van Gogh)\ncf940e8d8568b94ea6303a7f32d4565117297934 init: decouple CMasternodeMetaMan construction from initialization (Kittywhiskers Van Gogh)\nfae5696d820ee35562a7de043625fb59817c311b init: move CActiveMasternodeManager construction before PeerManager (Kittywhiskers Van Gogh)\n\nPull request description:\n\n ## Additional Information\n\n * Dependency for https://github.com/dashpay/dash/pull/5980\n\n * `CActiveMasternodeManager` construction is moved upwards (_before_ `PeerManager` construction) to avoid having to pass it as a `std::unique_ptr` const-ref. Shouldn't have any effect since _initialization_ is done in `ThreadImport`.\n\n * `CConnman::SetNetworkActive` will require a pointer to `CMasternodeSync` in order to call `CMasternodeSync::Reset()`. As it is no longer available as a global, it will need to be manually called through for the effect to happen as the `CConnman` constructor will simply pass a `nullptr` when calling `SetNetworkActive`, bypassing the `Reset()` call.\n\n `CMasternodeSync` is appropriately passed through in RPC (`setnetworkactive`) and interfaces.\n\n * `CheckSpecialTx` was moved into `CSpecialTxProcessor` to avoid having to expose `CDeterministicMNManager` to `MemPoolAccept` (though it has been exposed to `CChainstateHelper` through a helper, `CChainState::ChainHelper()` that was introduced in this PR).\n * As a drawback, some RPC functions that otherwise only needed access to `CDeterministicMNManager`, will also be accessing `CChainstateHelper`.\n\n ## Concerns\n\n * ~~Some tests seem to sporadically fail (fail as part of a suite but succeed when run individually, no changes in this PR should worsen resource contention) but attempting to reproduce them reliably hasn't succeeded so far.~~\n\n It appears the sporadic failure is shown in `p2p_node_network_limited.py` during TSan runs (see [failed run](https://gitlab.com/dashpay/dash/-/jobs/6529052189) for commit f95ffa7b70d5d20b6321ff11d37ad52425d446d1 that then succeeded in a [second attempt](https://gitlab.com/dashpay/dash/-/jobs/6530402585) versus a similar [failed run](https://gitlab.com/dashpay/dash/-/jobs/6546952668) for e210cb734e16e0ecef9601251fe0e074ed86827e that also succeeded on [second try](https://gitlab.com/dashpay/dash/-/jobs/6549470339)). Similar behaviour has not been observed on `develop` (as of this writing is 27c0813c08ac7e72d564120f966b3ba1e3804ae1).\n\n ## Breaking changes\n\n `CMasternodeSync::Reset()` will not be called on every `CConnman` entity instantiated. Behaviour changes as a result of that are not substantiated. Protocol, networking or interface changes are not expected, changes are primarily refactoring.\n\n ## Checklist:\n _Go over all the following points, and put an `x` in all the boxes that apply._\n - [x] I have performed a self-review of my own code\n - [x] I have commented my code, particularly in hard-to-understand areas\n - [x] I have added or updated relevant unit/integration/functional/e2e tests\n - [x] I have made corresponding changes to the documentation **(note: N/A)**\n - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_\n\nACKs for top commit:\n PastaPastaPasta:\n utACK 191b3de9b48212dc5880fdca69ea949977becd57\n\nTree-SHA512: 73a79818b0a79e3f26f079019c078ec8f81b2dae17638f695243b87fa76e9bed906a33ad7dd4e600f699100c5e994628cbb596e78a7802fa630c91f4d69cce4c","shortMessageHtmlLink":"Merge #5966: refactor: rearrange database initialization, trim global…"}},{"before":"ce992f7a3a457b6534962b68bee1ef99a9de490c","after":"0a62b9f985866249964ed703108a8dc617c73ba3","ref":"refs/heads/develop","pushedAt":"2024-04-10T14:13:34.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5965: backport: bitcoin#19137, #19253, #20365, #20687, #23349 - descriptor wallets part III\n\n31ffb78cedb8cf167a7fbc9240d947e1814590a1 feat: add option -usehd to wallettool to let create non-hd wallets (Konstantin Akimov)\n456e34c9912fd042a9ca1322dfb95a3b48e1322a chore: drop debug printing of private keys to console stdout (Konstantin Akimov)\n3f4b42caa46092c8343243e9e4a20ae0e67e9293 Merge #20687: wallet: Add missing check for -descriptors wallet tool option (MarcoFalke)\n2978c452cddbb12a8bc79834f7418b4a039f5cd0 Merge #19137: wallettool: Add dump and createfromdump commands (MarcoFalke)\n99dec80fbb3955e69ec53b3d6f82284a35e68f2d Merge #19253: Tests: tidy up address.py and segwit_addr.py (MarcoFalke)\n5758c4840c00e49e673afb1ccdac5ef1b9c84a08 Merge bitcoin/bitcoin#23349: util: Use FEATURE_LATEST for wallets created with bitcoin-wallet (Samuel Dobson)\n25248f9cb754bb3b9c88e0e1ebb86fd690e5ff30 Merge #20365: wallettool: add parameter to create descriptors wallet (MarcoFalke)\n7eb9b590de5773131a0fef879cc6d2aa6e83b420 fix: follow-up changes for #17261 of usages ScriptPubKeyMan inside WalletTool (Konstantin Akimov)\n00d4ad5102df12ad9a0c3d49c175d0712da3dfbf fix: assert if coinjoin-loader is nullptr during wallet initialization (Konstantin Akimov)\n31040abae6cffe1ade0f254324badf2d7405fbb5 fix: isHDenabled is true only when chain is generated; before that's always false (Konstantin Akimov)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n Related issue: https://github.com/dashpay/dash-issues/issues/59\n\n ## What was done?\n - ToolWallet can correctly create descriptor wallet\n - Default version of wallet created by ToolWallet bumped to the latest version.\n - HD Chain is correctly initialized now (non-empty) if created with Tool Wallet\n - dropped debug output of private keys from HD Chain to stdout of console\n\n Backports:\n - bitcoin/bitcoin#20365\n - bitcoin/bitcoin#23349\n - bitcoin/bitcoin#19253\n - bitcoin/bitcoin#19137\n - bitcoin/bitcoin#20687\n\n Beside new backports there are fixes for old backports bitcoin#17261.\n\n ## How Has This Been Tested?\n Run unit and functional tests\n\n ## Breaking Changes\n Behavior of WalletTool is changed: wallets have a newer version, they have HD chain inside.\n\n ## Checklist:\n - [x] I have performed a self-review of my own code\n - [x] I have commented my code, particularly in hard-to-understand areas\n - [ ] I have added or updated relevant unit/integration/functional/e2e tests\n - [ ] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone\n\nACKs for top commit:\n PastaPastaPasta:\n utACK [31ffb78](https://github.com/dashpay/dash/pull/5965/commits/31ffb78cedb8cf167a7fbc9240d947e1814590a1)\n\nTree-SHA512: 496cebdf965350caabe1a5f63e501c102b95db66937999ed902b407d5cca5e7c3e6cc4357b9a35c43707d7fc69572e0f978b889d5f150fc1158bba3f1d90b0cd","shortMessageHtmlLink":"Merge #5965: backport: bitcoin#19137, bitcoin#19253, bitcoin#20365, b…"}},{"before":"27c0813c08ac7e72d564120f966b3ba1e3804ae1","after":"ce992f7a3a457b6534962b68bee1ef99a9de490c","ref":"refs/heads/develop","pushedAt":"2024-04-09T13:47:13.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5972: chore: merge master 20.1.1 back into develop\n\nb96b20283d3d0ba34cbc6cd52bde242aa54538b8 chore: bump version to 20.1.1 (pasta)\n83cac77335e69870f5d6cfa43fbc0a384eeb68f4 docs: add v20.1.1 release notes (pasta)\ne58c7c443c068b3b92b4f932e6444e66838c7a77 Merge #5970: guix: exclude debug symbols for apple from list of hashes due to its non-determinism (pasta)\n2bde1ddca448544a621c672864cc60849d4d6d2d Merge #5927: fix: check if message can be handled before attempting to deserialize (pasta)\n1637fa5a9ea61dc9fb395f8da958e99745358cd9 Merge #5968: docs: add v20.0.4 release notes (pasta)\nfd46c4ccdac59f94db9266322f3a808dd12516b3 Merge #5962: fix: deadlock over cs_main and contributionsCacheCs in dkssessionmgr (pasta)\n\nPull request description:\n\n Merge master into develop\n\nTop commit has no ACKs.\n\nTree-SHA512: e65ffefcb7d0e92367ff322cab533f8505f0e9d00ab136bccb1dbf86ad64d6b710b5c9f9943594c544827d2eb69f5d0ba185962a2ac0b16c6b776a94f44cfb42","shortMessageHtmlLink":"Merge #5972: chore: merge master 20.1.1 back into develop"}},{"before":"ab7bc12e817011748ab5b0fb31ede0767cc80f7d","after":"19512988c6e6e8641245bd9c5fab21dd737561f0","ref":"refs/heads/master","pushedAt":"2024-04-05T17:24:18.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"UdjinM6","name":null,"path":"/UdjinM6","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1935069?s=80&v=4"},"commit":{"message":"Merge #5969: chore: backport items to 20.1.x and release v20.1.1\n\nb96b20283d3d0ba34cbc6cd52bde242aa54538b8 chore: bump version to 20.1.1 (pasta)\n83cac77335e69870f5d6cfa43fbc0a384eeb68f4 docs: add v20.1.1 release notes (pasta)\ne58c7c443c068b3b92b4f932e6444e66838c7a77 Merge #5970: guix: exclude debug symbols for apple from list of hashes due to its non-determinism (pasta)\n2bde1ddca448544a621c672864cc60849d4d6d2d Merge #5927: fix: check if message can be handled before attempting to deserialize (pasta)\n1637fa5a9ea61dc9fb395f8da958e99745358cd9 Merge #5968: docs: add v20.0.4 release notes (pasta)\nfd46c4ccdac59f94db9266322f3a808dd12516b3 Merge #5962: fix: deadlock over cs_main and contributionsCacheCs in dkssessionmgr (pasta)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n Backport to v20.1.x and release v20.1.1\n\n ## What was done?\n Backports and release\n\n ## How Has This Been Tested?\n\n ## Breaking Changes\n None\n\n ## Checklist:\n _Go over all the following points, and put an `x` in all the boxes that apply._\n - [ ] I have performed a self-review of my own code\n - [ ] I have commented my code, particularly in hard-to-understand areas\n - [ ] I have added or updated relevant unit/integration/functional/e2e tests\n - [ ] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_\n\nTop commit has no ACKs.\n\nTree-SHA512: 40574df3349bf1c653a50b4efbf78d1654eb048eeeb483eb657eec5f2af102f95cff8f978a98c174925d2672d56426238a1b7ec3e8cd2a53ec28c0fca42c1293","shortMessageHtmlLink":"Merge #5969: chore: backport items to 20.1.x and release v20.1.1"}},{"before":"43d0b3c74c4232eeeec5cb5944c20be930757bf3","after":"27c0813c08ac7e72d564120f966b3ba1e3804ae1","ref":"refs/heads/develop","pushedAt":"2024-04-03T19:12:14.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5953: fix: resolve a few very unlikely lifetime / undefined behavior issues\n\n6f2b350baa13e1c45c4b8ca5e4a805957b9d3984 fix: don't move out of pendingContributionVerifications; use a ref and then clear (pasta)\n7f36f122b2c25fac241946745e0764ac5847ce5b fix: fix potential mutex lifetime issue were we are returning a reference, and then releasing the mutex (pasta)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n See individual commits\n\n ## What was done?\n Fix potential lifetime issue and potential undefined behavior\n\n ## How Has This Been Tested?\n Compiling\n\n ## Breaking Changes\n None\n\n ## Checklist:\n _Go over all the following points, and put an `x` in all the boxes that apply._\n - [x] I have performed a self-review of my own code\n - [ ] I have commented my code, particularly in hard-to-understand areas\n - [ ] I have added or updated relevant unit/integration/functional/e2e tests\n - [ ] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_\n\nTop commit has no ACKs.\n\nTree-SHA512: f76d88c1fe3c19a92bdf451f147520e29f5edf84342dfb0b6ea9bde901a3f826c09b5aa2334d8f6fa687aaae7d0c109f36779883c670915d55b69af3ea8affd4","shortMessageHtmlLink":"Merge #5953: fix: resolve a few very unlikely lifetime / undefined be…"}},{"before":"ab7bc12e817011748ab5b0fb31ede0767cc80f7d","after":"19512988c6e6e8641245bd9c5fab21dd737561f0","ref":"refs/heads/v20.1.x","pushedAt":"2024-04-03T18:31:57.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5969: chore: backport items to 20.1.x and release v20.1.1\n\nb96b20283d3d0ba34cbc6cd52bde242aa54538b8 chore: bump version to 20.1.1 (pasta)\n83cac77335e69870f5d6cfa43fbc0a384eeb68f4 docs: add v20.1.1 release notes (pasta)\ne58c7c443c068b3b92b4f932e6444e66838c7a77 Merge #5970: guix: exclude debug symbols for apple from list of hashes due to its non-determinism (pasta)\n2bde1ddca448544a621c672864cc60849d4d6d2d Merge #5927: fix: check if message can be handled before attempting to deserialize (pasta)\n1637fa5a9ea61dc9fb395f8da958e99745358cd9 Merge #5968: docs: add v20.0.4 release notes (pasta)\nfd46c4ccdac59f94db9266322f3a808dd12516b3 Merge #5962: fix: deadlock over cs_main and contributionsCacheCs in dkssessionmgr (pasta)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n Backport to v20.1.x and release v20.1.1\n\n ## What was done?\n Backports and release\n\n ## How Has This Been Tested?\n\n ## Breaking Changes\n None\n\n ## Checklist:\n _Go over all the following points, and put an `x` in all the boxes that apply._\n - [ ] I have performed a self-review of my own code\n - [ ] I have commented my code, particularly in hard-to-understand areas\n - [ ] I have added or updated relevant unit/integration/functional/e2e tests\n - [ ] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_\n\nTop commit has no ACKs.\n\nTree-SHA512: 40574df3349bf1c653a50b4efbf78d1654eb048eeeb483eb657eec5f2af102f95cff8f978a98c174925d2672d56426238a1b7ec3e8cd2a53ec28c0fca42c1293","shortMessageHtmlLink":"Merge #5969: chore: backport items to 20.1.x and release v20.1.1"}},{"before":"fbcef10cf4fce92ac6e006a699fc42062c97127c","after":"43d0b3c74c4232eeeec5cb5944c20be930757bf3","ref":"refs/heads/develop","pushedAt":"2024-04-03T18:04:07.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5970: guix: exclude debug symbols for apple from list of hashes due to its non-determinism\n\na29f82670b96380a0f148a9bea223e603802e47b guix: exclude debug symbols for apple from list of hash sums due to its undeterminism (Konstantin Akimov)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n Debug symbols for apples are non-deterministic. Due to that all list of hash sums differ between build.\n It causes to impossible to merge all GPG signatures to one file *.asc, because different files are signed.\n For example these hash lists: https://github.com/dashpay/guix.sigs/blob/master/20.1.0/knst/all.SHA256SUMS#L6 and https://github.com/dashpay/guix.sigs/blob/master/20.1.0/thephez/all.SHA256SUMS#L6\n are different:\n ```\n ac87fd17eb19edcaa83b2cbf02e6d74ec12b1eaab50fc73789413bb04f1e04b5 dashcore-20.1.0-arm64-apple-darwin-debug.tar.gz\n e16eaa02e24cdf643b58831c96bf1494c02602651e977994c8317f752b4c3ae3 dashcore-20.1.0-arm64-apple-darwin-debug.tar.gz\n ```\n\n ## What was done?\n It excludes the line with hash of apples's debug artefact from the final list.\n\n ## How Has This Been Tested?\n Run guix build and guix attest locally for 2 targets. There's output:\n ```\n $ cat ~/projects/guix.sigs/20.1.0-317-ga29f82670b96/knst/noncodesigned.SHA256SUMS\n f20cee2e348a850d39f79a6f06ce8019aca577bf5da0e81a3eb1d06013c0d3d9 dashcore-20.1.0-317-ga29f82670b96.tar.gz\n e01c18b817793a7d71173c9b2d84b32d7bdc27e67fbd2ac35ad85457bed5b5c3 dashcore-20.1.0-317-ga29f82670b96-x86_64-apple-darwin-unsigned.dmg\n 0987f99859a4a7c5c1676a754f022f97dfe1dd8fdd8a35170e3144f43d317270 dashcore-20.1.0-317-ga29f82670b96-x86_64-apple-darwin-unsigned.tar.gz\n 2afdffd9e5b959dd1f54baadf2e8c7159147050ea032074b6d606945621e9a28 dashcore-20.1.0-317-ga29f82670b96-x86_64-apple-darwin.tar.gz\n 2f3af85fddb12cb6ff6f9c370b9bbb7b4893ed90748cefbb55fc4ce4d22cb3e9 dashcore-20.1.0-317-ga29f82670b96-x86_64-linux-gnu-debug.tar.gz\n 19daa1c8310d3097bf25713a551f2bcd59eccfa882b3b413db36591d6ec7c204 dashcore-20.1.0-317-ga29f82670b96-x86_64-linux-gnu.tar.gz\n ```\n linux's debug is still here, apple's debug is not here as expected\n\n ## Breaking Changes\n N/A\n\n ## Checklist:\n - [x] I have performed a self-review of my own code\n - [ ] I have commented my code, particularly in hard-to-understand areas\n - [ ] I have added or updated relevant unit/integration/functional/e2e tests\n - [ ] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone\n\nACKs for top commit:\n PastaPastaPasta:\n utACK a29f826\n\nTree-SHA512: d3b85ffea440b1b1d13b19373a9928e2881120747363844d4a9293d19afd986b98f096f3cdeee46acc93ca213200be44cadd867c3c77b9be55b7b81ecfcc156d","shortMessageHtmlLink":"Merge #5970: guix: exclude debug symbols for apple from list of hashe…"}},{"before":"c0c6a9042696921da2d1313be4f5378031d8ed8e","after":"fbcef10cf4fce92ac6e006a699fc42062c97127c","ref":"refs/heads/develop","pushedAt":"2024-04-03T17:27:55.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5956: refactor: add cs_mapSocketToNode and cs_sendable_receivable_nodes to minimize cs_vNode contention (and document an undocumented lock requirement)\n\n0b8fe48fbe0dc04cc3fe9075767e9c67269687be refactor: add cs_mapSocketToNode and cs_sendable_receivable_nodes to minimize cs_vNode contention (and document an undocumented lock requirement) (pasta)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n Reduce locking contention on cs_vNode\n\n ## What was done?\n added new mutex\n\n ## How Has This Been Tested?\n Building running locally on testnet\n\n ## Breaking Changes\n None\n\n ## Checklist:\n - [ ] I have performed a self-review of my own code\n - [ ] I have commented my code, particularly in hard-to-understand areas\n - [ ] I have added or updated relevant unit/integration/functional/e2e tests\n - [ ] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone\n\nTop commit has no ACKs.\n\nTree-SHA512: b7a3aa8078cf7f2b5f9a833a345e405351a927fa517993d77cefa77c9d109c5d92e06b6d3f91093b0fa4d91c4a464f19ce4eb457e486f9532ce890f02b9b99e1","shortMessageHtmlLink":"Merge #5956: refactor: add cs_mapSocketToNode and cs_sendable_receiva…"}},{"before":"e1532db3e107dffb4679d676fb4fb8fd25cd3dc8","after":"c0c6a9042696921da2d1313be4f5378031d8ed8e","ref":"refs/heads/develop","pushedAt":"2024-04-03T16:58:11.000Z","pushType":"push","commitsCount":20,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5964: backport: merge bitcoin#19763, #20653, #20756, #19315, #20646, #21015, #19771, #21425, #21236, #21198, #21707, #21785, #21506, #22107, partial bitcoin#21186, merge gui#226, partial gui#206 (networking backports: part 2)\n\ne89c555b0f7ade0d2e2e599a15414bd3129a5a59 merge bitcoin#22107: rename GetSystemTimeInSeconds to GetTimeSeconds (Kittywhiskers Van Gogh)\n2e55327f55312ad53ff04709753d5094cd6bcfc4 net: introduce CanRelayAddrs as RelayAddrsWithConn substitute (Kittywhiskers Van Gogh)\n5478001a810bb7cf8232a90226e3235ace670dd0 partial bitcoin#21186: Move addr data into net_processing (Kittywhiskers Van Gogh)\n26c39f5b929edda6a0dea8d6e6bd58b3d4a69e7c net: replace RelayAddrsWithConn check with !IsBlockOnlyConn (Kittywhiskers Van Gogh)\n4844e729e25b83e815b560e5739654710dc1d8b8 merge bitcoin#21506: make NetPermissionFlags an enum class (Kittywhiskers Van Gogh)\n03ab144b8fe72381c4ad1f8e04748d2107d6eab7 merge bitcoin#21785: Fix intermittent issue in p2p_addr_relay.py (Kittywhiskers Van Gogh)\n6d27db58d134e1b007b345f725d5af21d21e3a92 merge bitcoin#21707: Extend functional tests for addr relay (Kittywhiskers Van Gogh)\n39384ba461b73768120fad1961c99004793ac60d merge bitcoin#21198: Address outstanding review comments from PR20721 (Kittywhiskers Van Gogh)\nd34d2c4efbb5d5414a8aa8472325d1f0c6a66345 merge bitcoin#21236: Extract addr send functionality into MaybeSendAddr() (Kittywhiskers Van Gogh)\nba1df91d8d0ef6261e45eef9b7ab3ba52e30def1 merge bitcoin#21425: Pass PeerManagerImpl members only once (Kittywhiskers Van Gogh)\n5c4c7c55f8ced43c2217378c185c7b0e1e0f4910 merge bitcoin#19771: Replace enum CConnMan::NumConnections with enum class ConnectionDirection (Kittywhiskers Van Gogh)\n62a7311fe4d007d03ec5e608f3858c7ef51bb0db merge bitcoin#21015: Make all of net_processing (and some of net) use std::chrono types (Kittywhiskers Van Gogh)\n8b204c4c8233f74163468323117efdf76d75c4d8 merge bitcoin-core/gui#226: Add \"Last Block\" and \"Last Tx\" rows to peer details area (Kittywhiskers Van Gogh)\n3e8ba24c87e32c2669c7be6924e750e29805a30e partial bitcoin-core/gui#206: Display fRelayTxes and bip152_highbandwidth_{to, from} in peer details (Kittywhiskers Van Gogh)\ne109c0042a45093db9acb44f509c534740e2e504 merge bitcoin#20646: refer to BIPs 339/155 in feature negotiation (Kittywhiskers Van Gogh)\n1d4f10a378a8bee70cdb2f4392eb33a493029a77 merge bitcoin#19315: Allow outbound & block-relay-only connections in functional tests (Kittywhiskers Van Gogh)\nb76e029e44ceda194802900f3ddb471e13fc05a4 merge bitcoin#20756: Add missing field (permissions) to the getpeerinfo help (Kittywhiskers Van Gogh)\nd0c596e91d235248e7304a23ab8d4b23f3dabc92 merge bitcoin#20653: Move addr relay comment in net to correct place (Kittywhiskers Van Gogh)\n017d1b40e3239287aa9c5ff928373eba89ea956d merge bitcoin#19763: don't relay to the address' originator (Kittywhiskers Van Gogh)\n\nPull request description:\n\n ## Additional Information\n\n * [bitcoin#19763](https://github.com/bitcoin/bitcoin/pull/19763) doesn't play nice on its own, `p2p_addr_relay.py` fails because of `assert_equal(total_ipv4_received, num_ipv4_addrs * ipv4_branching_factor)` where `not(0 == 20)`. It only works with [bitcoin#21707](https://github.com/bitcoin/bitcoin/pull/21707).\n * In the GUI/Qt wallet, the peer information tab in the debug window has three fields added to them, \"Wants Tx Relay\", \"Last Block\" and \"Last Tx\".\n * The RPC help text for `getpeerinfo` now includes help text for the `permissions` return value and a debug RPC called `addconnection` has been introduced.\n\n ## Breaking Changes\n\n None observed.\n\n ## Checklist:\n\n - [x] I have performed a self-review of my own code\n - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)**\n - [x] I have added or updated relevant unit/integration/functional/e2e tests\n - [x] I have made corresponding changes to the documentation **(note: N/A)**\n - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_\n\nACKs for top commit:\n PastaPastaPasta:\n utACK e89c555\n\nTree-SHA512: 2be14351c22852b1318ded496fea60536db40659ab14e71bde02082935120bfb9df275790a4cb3170f54bcb4b2fb4f44096dd0e7cc703a705127ee294be39894","shortMessageHtmlLink":"Merge #5964: backport: merge bitcoin#19763, bitcoin#20653, bitcoin#20756"}},{"before":"dc6f52ac99a3b6fb8b3dfe37db4d6db1f7b1e719","after":"e1532db3e107dffb4679d676fb4fb8fd25cd3dc8","ref":"refs/heads/develop","pushedAt":"2024-04-03T16:12:42.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5968: docs: add v20.0.4 release notes\n\n7f57516d04235b65dd7d5b5a4d39d372a2ffcce3 docs: add v20.0.4 release notes (pasta)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n We didn't archive v20.0.4 release notes somehow in #5910\n\n ## What was done?\n Archive 20.0.4 release notes\n\n ## How Has This Been Tested?\n\n ## Breaking Changes\n None\n\n ## Checklist:\n _Go over all the following points, and put an `x` in all the boxes that apply._\n - [ ] I have performed a self-review of my own code\n - [ ] I have commented my code, particularly in hard-to-understand areas\n - [ ] I have added or updated relevant unit/integration/functional/e2e tests\n - [ ] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_\n\nTop commit has no ACKs.\n\nTree-SHA512: d703dedf1aad2afb5eb8af291f89e38fa2dfb4185ef9e25194c273bb9f04ae8075ea87318552b468b1a487b39b95cf1dee794d3d3c5b8a863dbfd6d458ee8e72","shortMessageHtmlLink":"Merge #5968: docs: add v20.0.4 release notes"}},{"before":"0a22b3ed3df0c2ea9fbbb29d93cfaa34d8c49ce5","after":"dc6f52ac99a3b6fb8b3dfe37db4d6db1f7b1e719","ref":"refs/heads/develop","pushedAt":"2024-04-03T15:36:16.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"PastaPastaPasta","name":null,"path":"/PastaPastaPasta","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6443210?s=80&v=4"},"commit":{"message":"Merge #5961: feat: implement read write locks in threading and use them for CActiveMasternodeManager::cs\n\n069282611c5058d0ea78ca83f9709034fe2c5ffd refactor: make CActiveMasternodeManager::cs SharedMutex and private (pasta)\n663774c54484d5ce20d1c305bce62d97f0164386 feat: implement Read Write Locks in threading (pasta)\n\nPull request description:\n\n ## Issue being fixed or feature implemented\n We have some caches or other information in codebase which are read from a lot; but rarely written to. We can use a RW lock here instead of a normal Mutex\n\n ## What was done?\n Implement a RW lock and use them\n\n ## How Has This Been Tested?\n Hasn't been much; looking for review atm. Maybe should deploy this on testnet for a bit and make sure it doesn't break.\n ## Breaking Changes\n\n ## Checklist:\n _Go over all the following points, and put an `x` in all the boxes that apply._\n - [x] I have performed a self-review of my own code\n - [x] I have commented my code, particularly in hard-to-understand areas\n - [ ] I have added or updated relevant unit/integration/functional/e2e tests\n - [ ] I have made corresponding changes to the documentation\n - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_\n\nACKs for top commit:\n knst:\n utACK 069282611c5058d0ea78ca83f9709034fe2c5ffd\n\nTree-SHA512: a9759d4904580eebb5ddf9e05d3d54cf4b0b0db971f09d2f4cb093fddc0a13094998ef2af301de581fd64dc1235df80bace7f701ab437c2ecfa663b4fc6e25ed","shortMessageHtmlLink":"Merge #5961: feat: implement read write locks in threading and use th…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEPF0sZgA","startCursor":null,"endCursor":null}},"title":"Activity · dashpay/dash"}