Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

19.0 backports from upstream 22.1 #208

Merged
merged 24 commits into from
Nov 3, 2022
Merged

Conversation

vertiond
Copy link
Member

@vertiond vertiond commented Nov 3, 2022

mzumsande and others added 24 commits May 30, 2022 10:46
Github-Pull: 23716
Rebased-From: ad3e9e1
…iValue by ref for rpcdoccheck

7fcac96 rpc: Capture potentially large UniValue by ref for rpcdoccheck (Martin Zumsande)

Pull request description:

ACKs for top commit:
  fanquake:
    ACK 7fcac96

Tree-SHA512: e1e321ce49f5696d1b08d4a9cf77bdc90bdeedbe776d19fe13443d898b966c046593d20758376db4edb5baf17cb925a2ff21201889af977456c18cc43094a683
…ith an own implementation

ea3e028 Swap out hashlib.ripemd160 for own implementation (Pieter Wuille)
5203691 Add pure Python RIPEMD-160 (Pieter Wuille)

Pull request description:

  Needed to unbreak the tsan CI task, which runs the test on Ubuntu Jammy, which has ripemd160 removed from openssl.

ACKs for top commit:
  fanquake:
    ACK ea3e028 - backport looks correct. tsan job has [timed out](https://github.com/bitcoin/bitcoin/pull/25250/checks?check_run_id=6657882409).

Tree-SHA512: 1117567c5de8287d6c4ada5cdc5990116808da9349f5aa3633c01b7aa12ea0ae6208418c7082e46dfde584b43807dce5ade5e8850cc392e1e0d42d9897a70017
…ertificate

c4aacfb windeploy: Renewed windows code signing certificate (Andrew Chow)

Pull request description:

  Backports:
  - bitcoin/bitcoin#25201

ACKs for top commit:
  LarryRuane:
    utACK c4aacfb

Tree-SHA512: cce6c85cecf0014e0b123b42e454db2123becf02f4274b1c355f69d8e7b8f77cd12af86adc251da8146b7bd3a55e9f47e3c1ed12f70c5267b3ac3283634526ec
This reverts ee7b84e from #20527.
This change was made without any rationale, maybe other than a brew
installed version might be newer, and that's "better". However when
building from source on macOS, it just results in drastically worse
perofrmance, and results in issues / confusions like #25724.

Resolves the "build from source" portion of #25724. Building from
depends is still not ideal, however I have some other changes that might
help improve things in that case.

The difference in performance can be observed using the example from
bitcoin/bitcoin#25724 (comment),
but minified to only 10 descriptors. i.e:
```bash
time src/bitcoin-cli createwallet speedy true
time src/bitcoin-cli importdescriptors '[
  {"desc":"raw(00145846369f3d6ba366d6f5a903fb5cf4dca3763c0e)#k9wh6v62","timestamp":"now"},
  {"desc":"raw(001420800aabf13f3a4c4ce3ce4c66cecf1d17f21a6e)#6m0hlfh4","timestamp":"now"},
  {"desc":"raw(0014c6bf9715e06d73ebf9b3b02d5cc48d24d8bbabc1)#wyavh36r","timestamp":"now"},
  {"desc":"raw(00141ba7807b3f46af113beaea5c698428ce7138cd8a)#jctdsups","timestamp":"now"},
  {"desc":"raw(00140c1bd27f10fff01b36ddf3c1febaa1acff19b080)#9s6nc3pk","timestamp":"now"},
  {"desc":"raw(00141226e31987e4bc2e63c0ee12908f675e40464b20)#9pp7qm39","timestamp":"now"},
  {"desc":"raw(0014f73f149f7503960a5e849c6ee7a8a8c336f631cb)#qtkxv9fc","timestamp":"now"},
  {"desc":"raw(0014c8ccb4d81ffc769fc5fdd8d7eed69b0e0cae5749)#hn39qayv","timestamp":"now"},
  {"desc":"raw(001498565aead2d67a22a6021d55210f2a917fc22169)#6ar3vwsx","timestamp":"now"},
  {"desc":"raw(001403013248ac0cd9eabe176cad162cda2a19f771e1)#4m47mukd","timestamp":"now"}
]'
```

Running master, when building from souce and using brew installed
sqlite, this takes ~3.4s. With this PR, the same operation takes ~0.3s.

Github-Pull: #25985
Rebased-From: d216d71
…ite package if it is available"

63d2ee9 doc: remove brew install sqlite from macOS docs (fanquake)
bf42d7d Revert "build: Use Homebrew's sqlite package if it is available" (fanquake)

Pull request description:

  Backport of bitcoin/bitcoin#25985 to the 22.x branch.

ACKs for top commit:
  hebasto:
    ACK 63d2ee9, I have reviewed the code and it looks OK, I agree it can be merged.
  stickies-v:
    re-ACK [63d2ee9](bitcoin/bitcoin@63d2ee9)

Tree-SHA512: 66738fc67df86db536a500fe253257976208b31773b891d6b6865b795ba4c933345febcc81773db159d3e1078810dbc8053fe63a7e9acad25b28d02dbf2687e8
2c6c628 Prevent data race for `pathHandlers` (Hennadii Stepanov)

Pull request description:

  Backport of bitcoin/bitcoin#25983 to the 22.x branch.

ACKs for top commit:
  dergoegge:
    ACK 2c6c628

Tree-SHA512: 9b172f73407fdd5a79e67ed1b2b3b7c6e7989ea1de6757c839ee7040d62ebbd87d10770c6fcb39709a07d52345dc9b7b244ef2b490c9ad8a656ff8ad4d618a01
The old Transifex Command-Line Tool is considered deprecated (as of
January 2022) and will sunset on Nov 30, 2022.

See: https://github.com/transifex/cli/blob/devel/README.md#migrating-from-older-versions-of-the-client

An accompanying PR: bitcoin-core/bitcoin-maintainer-tools#142

Github-Pull: #26321
Rebased-From: d6adbb7
2147483647 is the maximum positive value of a signed int32, and - currently -
the maximum value that the deriveaddresses bitcoin RPC call accepts as
derivation index due to its input validation routines.

Before this change, when the derivation index (and thus range_end) reached
std::numeric_limits<int_32_t>::max(), the "i" variable in the for cycle (which
is declared as int, and as such 32 bits in size on most platforms) would be
incremented at the end of the first iteration and then warp back to
-2147483648. This caused SIGABRT in bitcoind and a core dump.

This change assigns "i" an explicit size of 64 bits on every platform,
sidestepping the problem.

Fixes #26274.

Github-Pull: #26275
Rebased-From: addf9d6
…s 2147483647

This test would cause a crash in bitcoind (see #26274) if the fix given in the
previous commit was not applied.

Github-Pull: #26275
Rebased-From: 9153ff3
403de22 rpc: add non-regression test about deriveaddresses crash when index is 2147483647 (muxator)
db20d27 rpc: fix crash in deriveaddresses when derivation index is 2147483647 (muxator)
d174db0 Adjust `.tx/config` for new Transifex CLI (Hennadii Stepanov)

Pull request description:

  Currently backports:
  * bitcoin/bitcoin#26275
  * bitcoin/bitcoin#26321

  Will leave open to collect backports for 22.1,

ACKs for top commit:
  MarcoFalke:
    cherry-pick ACK 403de22  🏔

Tree-SHA512: f9095a5cad52ecb9580fcaf173a05148dce382ac773a6116e2aed47009402bdfa6cbce62e488fe96120f7a0a81a623eb3e0e4539fa88670adb8c14cf5e334fa5
0bba3a7 qt: 22.1rc1 translations update (Hennadii Stepanov)

Pull request description:

  This PR pulls the recent translations from the [Transifex.com](https://www.transifex.com/bitcoin/bitcoin) using the [`bitcoin-maintainer-tools/update-translations.py`](https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/main/update-translations.py) tool.

  According to our [Release Process docs](https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-every-release-candidate), it is supposed to be merged before `v22.1rc1` tagging.

  Will keep this PR updated regularly until merging.

  The `bitcoin_vi.ts` translation is damaged, therefore its changes were rejected manually.

ACKs for top commit:
  jarolrod:
    ACK 0bba3a7

Tree-SHA512: 85ec2eeb83d7d8dc6ea3ac5ea7da99ab127e930ab11023f69728c206483526b3b0e50058d1349bc569e23313670c67d4e66044b3577dd763d26c595756721a9b
3343ec5 doc: update version number in bips.md to v22.1 (fanquake)
54e89ee doc: Update manual pages for 22.1.0rc1 (fanquake)
b63309c build: Bump version to 22.1.0rc1 (fanquake)

Pull request description:

  Bump the version to 22.1rc1
  Generate the man pages.
  Update the version number in bips.md.

ACKs for top commit:
  MarcoFalke:
    Thanks, Concept ACK 3343ec5

Tree-SHA512: fcfd7df493d316789072333396d6bceb77ae471e2a9ed06266d6128aa3746ac3184dcd9e9c20aecaf5c8906f82edee39a135fad9ae5c7f4c11b686e385aa3ed2
� Conflicts:
�	configure.ac
�	contrib/windeploy/win-codesign.cert
�	doc/man/vertcoin-wallet.1
�	src/qt/locale/bitcoin_ar.ts
�	src/qt/locale/bitcoin_az.ts
�	src/qt/locale/bitcoin_bg.ts
�	src/qt/locale/bitcoin_bs.ts
�	src/qt/locale/bitcoin_ca.ts
�	src/qt/locale/bitcoin_cs.ts
�	src/qt/locale/bitcoin_da.ts
�	src/qt/locale/bitcoin_el.ts
�	src/qt/locale/bitcoin_es.ts
�	src/qt/locale/bitcoin_es_DO.ts
�	src/qt/locale/bitcoin_es_MX.ts
�	src/qt/locale/bitcoin_eu.ts
�	src/qt/locale/bitcoin_fa.ts
�	src/qt/locale/bitcoin_fi.ts
�	src/qt/locale/bitcoin_fil.ts
�	src/qt/locale/bitcoin_fr.ts
�	src/qt/locale/bitcoin_he.ts
�	src/qt/locale/bitcoin_hr.ts
�	src/qt/locale/bitcoin_hu.ts
�	src/qt/locale/bitcoin_is.ts
�	src/qt/locale/bitcoin_it.ts
�	src/qt/locale/bitcoin_ko.ts
�	src/qt/locale/bitcoin_lv.ts
�	src/qt/locale/bitcoin_nb.ts
�	src/qt/locale/bitcoin_nl.ts
�	src/qt/locale/bitcoin_pl.ts
�	src/qt/locale/bitcoin_pt.ts
�	src/qt/locale/bitcoin_pt_BR.ts
�	src/qt/locale/bitcoin_ru.ts
�	src/qt/locale/bitcoin_sk.ts
�	src/qt/locale/bitcoin_sr.ts
�	src/qt/locale/bitcoin_sv.ts
�	src/qt/locale/bitcoin_ta.ts
�	src/qt/locale/bitcoin_th.ts
�	src/qt/locale/bitcoin_tr.ts
�	src/qt/locale/bitcoin_zh.ts
�	src/qt/locale/bitcoin_zh_TW.ts
@vertiond vertiond merged commit 773a5ca into vertcoin-project:19.0 Nov 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants