Age | Commit message (Collapse) | Author |
|
7c3ac598dd9a1f1a506c4931249ff6c9f1c949ba contrib: list other binaries in manpage output (fanquake)
Pull request description:
Add a `SEE ALSO` section to the manpages.
Master:
![master](https://github.com/bitcoin/bitcoin/assets/863730/da6f0151-e43a-4578-983d-4f2def80a8eb)
This PR:
![pr](https://github.com/bitcoin/bitcoin/assets/863730/d57a1c9a-50c7-4f1a-834e-0f8af8520921)
Should be enough to close #29558.
ACKs for top commit:
jarolrod:
tACK 7c3ac598dd9a1f1a506c4931249ff6c9f1c949ba
willcl-ark:
ACK 7c3ac598dd9a1f1a506c4931249ff6c9f1c949ba
pablomartin4btc:
utACK 7c3ac598dd9a1f1a506c4931249ff6c9f1c949ba
laanwj:
Code review ACK 7c3ac598dd9a1f1a506c4931249ff6c9f1c949ba
Tree-SHA512: 0df13ed5d736aa514a1192115728314fc676714f4cb9131f37b5d9a9bfc8f85f98c21b859d6b62745211f3de16b33ff60888e7f6a4eca66fc0c52442503f4336
|
|
TapMiniscript
4d8d21320eba54571ff63931509cd515c3e20339 sign: don't assume we are parsing a sane Miniscript (Antoine Poinsot)
Pull request description:
The script provided for signature might be externally provided, for instance by way of 'finalizepsbt'. Therefore the script might be ill-crafted, so don't assume pubkeys are always 32 bytes.
Thanks to Niklas for finding this.
FIxes https://github.com/bitcoin/bitcoin/issues/29851.
ACKs for top commit:
achow101:
ACK 4d8d21320eba54571ff63931509cd515c3e20339
furszy:
ACK 4d8d21320eba54571ff63931509cd515c3e20339 with a small nuance that could be tackled in a follow-up by someone else (or never).
Tree-SHA512: 29b7948b56e6dc05eac1014d684f2129ab1d19cb1e5d304216c826b7057c0e1d84ceb18731b91124b680e17d90e38de9f9a5526e4f6ecc3ea816881a6599bb47
|
|
installation on FreeBSD
dace02f99d4a8785567732c0d687517175765bfd doc: suggest only necessary Qt packages for installation on FreeBSD (Vasil Dimov)
Pull request description:
The previously suggested `qt5` package is a meta package that does not
install anything itself but depends on a bunch of others and is used as
a convenience to install "everything" Qt5 related: 270 packages / 3 GiB.
We only need a subset of those which amounts to 79 packages / 381 MiB,
so suggest just that.
For comparison:
```
pkg install qt5
Updating local repository catalogue...
local repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 270 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
Imath: 3.1.11
abseil: 20230125.3
alsa-lib: 1.2.11
alsa-plugins: 1.2.7.1_3
aom: 3.8.2
assimp: 5.4.0
avahi-app: 0.8_2
brotli: 1.1.0,1
consolekit2: 1.2.6_3
cups: 2.4.7_2
curl: 8.7.1
cyrus-sasl: 2.1.28_4
dav1d: 1.4.1
dbus: 1.14.10_5,1
dbus-glib: 0.112_1
dejavu: 2.37_3
dotconf: 1.3_1
double-conversion: 3.3.0
duktape-lib: 2.7.0
encodings: 1.1.0,1
espeak-ng: 1.51.1_5
expat: 2.6.2
ffmpeg: 6.1.1_5,1
fftw3: 3.3.10_5
fftw3-float: 3.3.10_5
flac: 1.4.3_1,1
font-bh-ttf: 1.0.3_5
font-misc-ethiopic: 1.0.4
font-misc-meltho: 1.0.3_5
fontconfig: 2.15.0_2,1
freetds: 1.4.12,1
freetype2: 2.13.2
fribidi: 1.0.13_1
gdbm: 1.23
gdk-pixbuf2: 2.42.10_2
gettext-runtime: 0.22.5
giflib: 5.2.1_1
glib: 2.80.0,2
gmp: 6.3.0
gnome_subr: 1.0
gnutls: 3.8.5_1
graphite2: 1.3.14
groff: 1.23.0_3
gstreamer1: 1.22.10
gstreamer1-plugins: 1.22.10_1
gstreamer1-plugins-bad: 1.22.10_2
harfbuzz: 8.4.0
hicolor-icon-theme: 0.17
hidapi: 0.14.0
highway: 1.1.0
hunspell: 1.7.2_1
icu: 74.2_1,1
indexinfo: 0.3.1
iso-codes: 4.15.0
jasper: 4.2.3
jbigkit: 2.1_2
jpeg-turbo: 3.0.2
jsoncpp: 1.9.5
lame: 3.100_5
lcms2: 2.16_1
libICE: 1.1.0_2,1
libSM: 1.2.3_1,1
libX11: 1.8.9,1
libXScrnSaver: 1.2.4_1
libXau: 1.0.9_1
libXcomposite: 0.4.6_1,1
libXcursor: 1.2.2
libXdamage: 1.1.6
libXdmcp: 1.1.5
libXext: 1.3.6,1
libXfixes: 6.0.0_1
libXi: 1.8_1,1
libXmu: 1.1.4,1
libXrandr: 1.5.2_1
libXrender: 0.9.10_2
libXt: 1.3.0,1
libXtst: 1.2.3_3
libXv: 1.0.12_1,1
libass: 0.17.1_2
libcbor: 0.11.0
libcjson: 1.7.17
libdaemon: 0.14_1
libdeflate: 1.20
libdrm: 2.4.120_1,1
libedit: 3.1.20230828_1,1
libepoll-shim: 0.0.20230411
libevdev: 1.13.1
libevent: 2.1.12
libffi: 3.4.4_1
libfido2: 1.14.0
libfontenc: 1.1.8
libgcrypt: 1.10.3_1
libglvnd: 1.7.0
libgpg-error: 1.48
libgudev: 237
libiconv: 1.17_1
libidn2: 2.3.7
libinput: 1.25.0
libjxl: 0.10.2
libltdl: 2.4.7
liblz4: 1.9.4_1,1
libmng: 2.0.3_1
libmtdev: 1.1.6_1
libmysofa: 1.3.2
libnghttp2: 1.61.0
libnice: 0.1.21_2
libogg: 1.3.5,4
libpaper: 1.1.28_1
libpci: 3.12.0
libpciaccess: 0.18
libplacebo: 6.338.2
libpsl: 0.21.5
libsndfile: 1.2.2_1
libsoxr: 0.1.3_3
libssh2: 1.11.0_1,3
libtasn1: 4.19.0_1
libudev-devd: 0.5.2
libunibreak: 6.1,1
libunistring: 1.2
libunwind: 20240221
libv4l: 1.23.0_4
libva: 2.21.0
libvdpau: 1.5
libvorbis: 1.3.7_2,3
libvpx: 1.14.0
libwacom: 1.5_1
libx264: 0.164.3095
libxcb: 1.17.0
libxkbcommon: 1.6.0_2
libxkbfile: 1.1.3
libxml2: 2.11.7
libxslt: 1.1.37_1
llvm15: 15.0.7_10
lua53: 5.3.6_1
minizip: 1.2.11_1
mkfontscale: 1.2.3
mpdecimal: 4.0.0
mpg123: 1.32.5
mysql80-client: 8.0.35
nettle: 3.9.1
nspr: 4.35
nss: 3.99
openal-soft: 1.21.1_4
openexr: 3.2.4
openh264: 2.3.0,2
openldap26-client: 2.6.7
opus: 1.5.2
orc: 0.4.36
p11-kit: 0.25.3_2
pcaudiolib: 1.2_1
pciids: 20240331
pcre2: 10.43
perl5: 5.36.3_1
png: 1.6.43
polkit: 124_3
postgresql15-client: 15.6
psutils: 1.17_6
pulseaudio: 16.1_4
py39-evdev: 1.6.0
py39-packaging: 24.0
py39-pyudev: 0.22.0
py39-setuptools: 63.1.0_1
py39-six: 1.16.0
python39: 3.9.18_2
qt5: 5.15.13
qt5-3d: 5.15.13p0
qt5-assistant: 5.15.13p4
qt5-buildtools: 5.15.13p142
qt5-charts: 5.15.13p0
qt5-concurrent: 5.15.13p142
qt5-connectivity: 5.15.13p4
qt5-core: 5.15.13p142
qt5-datavis3d: 5.15.13p0
qt5-dbus: 5.15.13p142
qt5-declarative: 5.15.13p30
qt5-declarative-test: 5.15.13p30
qt5-designer: 5.15.13p4
qt5-doc: 5.12.2
qt5-examples: 5.15.13
qt5-gamepad: 5.15.13p0
qt5-graphicaleffects: 5.15.13p0
qt5-gui: 5.15.13p142
qt5-help: 5.15.13p4
qt5-imageformats: 5.15.13p7
qt5-l10n: 5.15.13p0
qt5-linguist: 5.15.13p4
qt5-linguisttools: 5.15.13p4
qt5-location: 5.15.13p6
qt5-multimedia: 5.15.13p2
qt5-network: 5.15.13p142
qt5-networkauth: 5.15.13p0
qt5-opengl: 5.15.13p142
qt5-pixeltool: 5.15.13p4
qt5-printsupport: 5.15.13p142
qt5-qdbus: 5.15.13p4
qt5-qdbusviewer: 5.15.13p4
qt5-qdoc: 5.15.13p4
qt5-qdoc-data: 5.15.13
qt5-qev: 5.15.13p4
qt5-qmake: 5.15.13p142
qt5-qtdiag: 5.15.13p4
qt5-qtpaths: 5.15.13p4
qt5-qtplugininfo: 5.15.13p4
qt5-quick3d: 5.15.13p1
qt5-quickcontrols: 5.15.13p0
qt5-quickcontrols2: 5.15.13p5
qt5-quicktimeline: 5.15.13p0
qt5-remoteobjects: 5.15.13p0
qt5-script: 5.15.16p0_2
qt5-scripttools: 5.15.16p0_1
qt5-scxml: 5.15.13p0
qt5-sensors: 5.15.13p0
qt5-serialbus: 5.15.13p0
qt5-serialport: 5.15.13p0
qt5-speech: 5.15.13p1
qt5-sql: 5.15.13p142
qt5-sqldrivers-mysql: 5.15.13p142
qt5-sqldrivers-odbc: 5.15.13p142
qt5-sqldrivers-pgsql: 5.15.13p142
qt5-sqldrivers-sqlite2: 5.15.13p142
qt5-sqldrivers-sqlite3: 5.15.13p142
qt5-sqldrivers-tds: 5.15.13p142
qt5-svg: 5.15.13p6
qt5-testlib: 5.15.13p142
qt5-uiplugin: 5.15.13p4
qt5-uitools: 5.15.13p4
qt5-virtualkeyboard: 5.15.13p0
qt5-webchannel: 5.15.13p3
qt5-webengine: 5.15.16.p9
qt5-webglplugin: 5.15.13p0
qt5-websockets: 5.15.13p2
qt5-websockets-qml: 5.15.13p2
qt5-webview: 5.15.13p0
qt5-widgets: 5.15.13p142
qt5-x11extras: 5.15.13p0
qt5-xml: 5.15.13p142
qt5-xmlpatterns: 5.15.13p0
re2: 20240401
readline: 8.2.10
shaderc: 2024.0
shared-mime-info: 2.2_2
snappy: 1.2.0
speech-dispatcher: 0.11.2_4
speexdsp: 1.2.1
sqlite: 2.8.17_5
sqlite3: 3.45.1,1
svt-av1: 2.0.0
tiff: 4.4.0_3
uchardet: 0.0.8_1
unixODBC: 2.3.12_1
vmaf: 3.0.0
vulkan-headers: 1.3.283
vulkan-loader: 1.3.283
wayland: 1.22.0
webp: 1.4.0
webrtc-audio-processing0: 0.3.1_3
x265: 3.5_1
xcb-util: 0.4.1,1
xcb-util-image: 0.4.1
xcb-util-keysyms: 0.4.1
xcb-util-renderutil: 0.3.10
xcb-util-wm: 0.4.2
xdg-utils: 1.1.3_4
xkeyboard-config: 2.41_4
xorg-fonts-truetype: 7.7_1
xorgproto: 2023.2
xprop: 1.2.7
xset: 1.2.5_1
xxhash: 0.8.2_1
zstd: 1.5.6
Number of packages to be installed: 270
The process will require 3 GiB more space.
Proceed with this action? [y/N]:
```
```
pkg install qt5-buildtools qt5-core qt5-gui qt5-linguisttools qt5-testlib qt5-widgets
Updating local repository catalogue...
local repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 79 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
brotli: 1.1.0,1
dbus: 1.14.10_5,1
dejavu: 2.37_3
double-conversion: 3.3.0
encodings: 1.1.0,1
expat: 2.6.2
font-bh-ttf: 1.0.3_5
font-misc-ethiopic: 1.0.4
font-misc-meltho: 1.0.3_5
fontconfig: 2.15.0_2,1
freetype2: 2.13.2
gettext-runtime: 0.22.5
glib: 2.80.0,2
graphite2: 1.3.14
harfbuzz: 8.4.0
hicolor-icon-theme: 0.17
icu: 74.2_1,1
indexinfo: 0.3.1
jpeg-turbo: 3.0.2
libICE: 1.1.0_2,1
libSM: 1.2.3_1,1
libX11: 1.8.9,1
libXau: 1.0.9_1
libXdmcp: 1.1.5
libXext: 1.3.6,1
libXfixes: 6.0.0_1
libXi: 1.8_1,1
libXmu: 1.1.4,1
libXrender: 0.9.10_2
libXt: 1.3.0,1
libepoll-shim: 0.0.20230411
libevdev: 1.13.1
libffi: 3.4.4_1
libfontenc: 1.1.8
libglvnd: 1.7.0
libgudev: 237
libiconv: 1.17_1
libinput: 1.25.0
liblz4: 1.9.4_1,1
libmtdev: 1.1.6_1
libudev-devd: 0.5.2
libwacom: 1.5_1
libxcb: 1.17.0
libxkbcommon: 1.6.0_2
libxml2: 2.11.7
mkfontscale: 1.2.3
mpdecimal: 4.0.0
pcre2: 10.43
png: 1.6.43
py39-evdev: 1.6.0
py39-packaging: 24.0
py39-pyudev: 0.22.0
py39-setuptools: 63.1.0_1
py39-six: 1.16.0
python39: 3.9.18_2
qt5-buildtools: 5.15.13p142
qt5-core: 5.15.13p142
qt5-dbus: 5.15.13p142
qt5-gui: 5.15.13p142
qt5-linguisttools: 5.15.13p4
qt5-network: 5.15.13p142
qt5-testlib: 5.15.13p142
qt5-widgets: 5.15.13p142
qt5-xml: 5.15.13p142
readline: 8.2.10
vulkan-headers: 1.3.283
wayland: 1.22.0
xcb-util: 0.4.1,1
xcb-util-image: 0.4.1
xcb-util-keysyms: 0.4.1
xcb-util-renderutil: 0.3.10
xcb-util-wm: 0.4.2
xdg-utils: 1.1.3_4
xkeyboard-config: 2.41_4
xorg-fonts-truetype: 7.7_1
xorgproto: 2023.2
xprop: 1.2.7
xset: 1.2.5_1
zstd: 1.5.6
Number of packages to be installed: 79
The process will require 381 MiB more space.
Proceed with this action? [y/N]:
```
ACKs for top commit:
hebasto:
re-ACK dace02f99d4a8785567732c0d687517175765bfd.
Tree-SHA512: 388fccb91ed677326592f5f73fa9ff7f341886a44b56364dfb1a683f29cd988e8751f64f645f200a01725086c789ebf9cabdaf412eb1cde742c8d7efc5165d94
|
|
installation on OpenBSD
970cbc3172b73e1faf6bdb429400d3497cbb9d33 doc: Suggest only necessary Qt packages for installation on OpenBSD (Hennadii Stepanov)
Pull request description:
The currently suggested `qt5` installs many unneeded dependencies, for example, `qtsensors`, `qtspeech` etc.
Similar to https://github.com/bitcoin/bitcoin/pull/29932.
ACKs for top commit:
theStack:
re-ACK 970cbc3172b73e1faf6bdb429400d3497cbb9d33
Tree-SHA512: c680a4f88c27cae145822f30d9856fe76b856c6b11babe652c7171f4322dbe7af8725cccf8b45295067690ed98aa3f6329a8b65a59f31348854638ac375372d1
|
|
fa6ab0d020d0b1492203f7eb2ccb8051812de086 rpc: Reword SighashFromStr error message (MarcoFalke)
Pull request description:
Put quotes around the parameter. In theory, `std::quoted` should be used, but that seems overkill.
This should avoid error messages such as `A valid sighash parameter is not a valid sighash parameter. (code -8)`.
Also, it should fix fuzz false positives when searching for internal bugs in the `rpc` fuzz target. For example, `ZGVzY3JpcHRvcnByb2Nlc3Nwc2J0XP9ce1tdXOVJbnRlcm5hbCBidWcgZGV0ZWN0ZWQAXQ0AHfcAXQ1p7TJv`.
ACKs for top commit:
dergoegge:
ACK fa6ab0d020d0b1492203f7eb2ccb8051812de086
brunoerg:
utACK fa6ab0d020d0b1492203f7eb2ccb8051812de086
Tree-SHA512: e2c0cc0126de61873a863af38b7b0a23d2dadd596ca0418dae2ad091e8acfb6a9d657c376d59187bb008989dc78c6b44fe518590e5217e4049a867b220c9fb18
|
|
The previously suggested `qt5` package is a meta package that does not
install anything itself but depends on a bunch of others and is used as
a convenience to install "everything" Qt5 related: 270 packages / 3 GiB.
We only need a subset of those which amounts to 79 packages / 381 MiB,
so suggest just that.
For comparison:
```
pkg install qt5
Updating local repository catalogue...
local repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 270 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
Imath: 3.1.11
abseil: 20230125.3
alsa-lib: 1.2.11
alsa-plugins: 1.2.7.1_3
aom: 3.8.2
assimp: 5.4.0
avahi-app: 0.8_2
brotli: 1.1.0,1
consolekit2: 1.2.6_3
cups: 2.4.7_2
curl: 8.7.1
cyrus-sasl: 2.1.28_4
dav1d: 1.4.1
dbus: 1.14.10_5,1
dbus-glib: 0.112_1
dejavu: 2.37_3
dotconf: 1.3_1
double-conversion: 3.3.0
duktape-lib: 2.7.0
encodings: 1.1.0,1
espeak-ng: 1.51.1_5
expat: 2.6.2
ffmpeg: 6.1.1_5,1
fftw3: 3.3.10_5
fftw3-float: 3.3.10_5
flac: 1.4.3_1,1
font-bh-ttf: 1.0.3_5
font-misc-ethiopic: 1.0.4
font-misc-meltho: 1.0.3_5
fontconfig: 2.15.0_2,1
freetds: 1.4.12,1
freetype2: 2.13.2
fribidi: 1.0.13_1
gdbm: 1.23
gdk-pixbuf2: 2.42.10_2
gettext-runtime: 0.22.5
giflib: 5.2.1_1
glib: 2.80.0,2
gmp: 6.3.0
gnome_subr: 1.0
gnutls: 3.8.5_1
graphite2: 1.3.14
groff: 1.23.0_3
gstreamer1: 1.22.10
gstreamer1-plugins: 1.22.10_1
gstreamer1-plugins-bad: 1.22.10_2
harfbuzz: 8.4.0
hicolor-icon-theme: 0.17
hidapi: 0.14.0
highway: 1.1.0
hunspell: 1.7.2_1
icu: 74.2_1,1
indexinfo: 0.3.1
iso-codes: 4.15.0
jasper: 4.2.3
jbigkit: 2.1_2
jpeg-turbo: 3.0.2
jsoncpp: 1.9.5
lame: 3.100_5
lcms2: 2.16_1
libICE: 1.1.0_2,1
libSM: 1.2.3_1,1
libX11: 1.8.9,1
libXScrnSaver: 1.2.4_1
libXau: 1.0.9_1
libXcomposite: 0.4.6_1,1
libXcursor: 1.2.2
libXdamage: 1.1.6
libXdmcp: 1.1.5
libXext: 1.3.6,1
libXfixes: 6.0.0_1
libXi: 1.8_1,1
libXmu: 1.1.4,1
libXrandr: 1.5.2_1
libXrender: 0.9.10_2
libXt: 1.3.0,1
libXtst: 1.2.3_3
libXv: 1.0.12_1,1
libass: 0.17.1_2
libcbor: 0.11.0
libcjson: 1.7.17
libdaemon: 0.14_1
libdeflate: 1.20
libdrm: 2.4.120_1,1
libedit: 3.1.20230828_1,1
libepoll-shim: 0.0.20230411
libevdev: 1.13.1
libevent: 2.1.12
libffi: 3.4.4_1
libfido2: 1.14.0
libfontenc: 1.1.8
libgcrypt: 1.10.3_1
libglvnd: 1.7.0
libgpg-error: 1.48
libgudev: 237
libiconv: 1.17_1
libidn2: 2.3.7
libinput: 1.25.0
libjxl: 0.10.2
libltdl: 2.4.7
liblz4: 1.9.4_1,1
libmng: 2.0.3_1
libmtdev: 1.1.6_1
libmysofa: 1.3.2
libnghttp2: 1.61.0
libnice: 0.1.21_2
libogg: 1.3.5,4
libpaper: 1.1.28_1
libpci: 3.12.0
libpciaccess: 0.18
libplacebo: 6.338.2
libpsl: 0.21.5
libsndfile: 1.2.2_1
libsoxr: 0.1.3_3
libssh2: 1.11.0_1,3
libtasn1: 4.19.0_1
libudev-devd: 0.5.2
libunibreak: 6.1,1
libunistring: 1.2
libunwind: 20240221
libv4l: 1.23.0_4
libva: 2.21.0
libvdpau: 1.5
libvorbis: 1.3.7_2,3
libvpx: 1.14.0
libwacom: 1.5_1
libx264: 0.164.3095
libxcb: 1.17.0
libxkbcommon: 1.6.0_2
libxkbfile: 1.1.3
libxml2: 2.11.7
libxslt: 1.1.37_1
llvm15: 15.0.7_10
lua53: 5.3.6_1
minizip: 1.2.11_1
mkfontscale: 1.2.3
mpdecimal: 4.0.0
mpg123: 1.32.5
mysql80-client: 8.0.35
nettle: 3.9.1
nspr: 4.35
nss: 3.99
openal-soft: 1.21.1_4
openexr: 3.2.4
openh264: 2.3.0,2
openldap26-client: 2.6.7
opus: 1.5.2
orc: 0.4.36
p11-kit: 0.25.3_2
pcaudiolib: 1.2_1
pciids: 20240331
pcre2: 10.43
perl5: 5.36.3_1
png: 1.6.43
polkit: 124_3
postgresql15-client: 15.6
psutils: 1.17_6
pulseaudio: 16.1_4
py39-evdev: 1.6.0
py39-packaging: 24.0
py39-pyudev: 0.22.0
py39-setuptools: 63.1.0_1
py39-six: 1.16.0
python39: 3.9.18_2
qt5: 5.15.13
qt5-3d: 5.15.13p0
qt5-assistant: 5.15.13p4
qt5-buildtools: 5.15.13p142
qt5-charts: 5.15.13p0
qt5-concurrent: 5.15.13p142
qt5-connectivity: 5.15.13p4
qt5-core: 5.15.13p142
qt5-datavis3d: 5.15.13p0
qt5-dbus: 5.15.13p142
qt5-declarative: 5.15.13p30
qt5-declarative-test: 5.15.13p30
qt5-designer: 5.15.13p4
qt5-doc: 5.12.2
qt5-examples: 5.15.13
qt5-gamepad: 5.15.13p0
qt5-graphicaleffects: 5.15.13p0
qt5-gui: 5.15.13p142
qt5-help: 5.15.13p4
qt5-imageformats: 5.15.13p7
qt5-l10n: 5.15.13p0
qt5-linguist: 5.15.13p4
qt5-linguisttools: 5.15.13p4
qt5-location: 5.15.13p6
qt5-multimedia: 5.15.13p2
qt5-network: 5.15.13p142
qt5-networkauth: 5.15.13p0
qt5-opengl: 5.15.13p142
qt5-pixeltool: 5.15.13p4
qt5-printsupport: 5.15.13p142
qt5-qdbus: 5.15.13p4
qt5-qdbusviewer: 5.15.13p4
qt5-qdoc: 5.15.13p4
qt5-qdoc-data: 5.15.13
qt5-qev: 5.15.13p4
qt5-qmake: 5.15.13p142
qt5-qtdiag: 5.15.13p4
qt5-qtpaths: 5.15.13p4
qt5-qtplugininfo: 5.15.13p4
qt5-quick3d: 5.15.13p1
qt5-quickcontrols: 5.15.13p0
qt5-quickcontrols2: 5.15.13p5
qt5-quicktimeline: 5.15.13p0
qt5-remoteobjects: 5.15.13p0
qt5-script: 5.15.16p0_2
qt5-scripttools: 5.15.16p0_1
qt5-scxml: 5.15.13p0
qt5-sensors: 5.15.13p0
qt5-serialbus: 5.15.13p0
qt5-serialport: 5.15.13p0
qt5-speech: 5.15.13p1
qt5-sql: 5.15.13p142
qt5-sqldrivers-mysql: 5.15.13p142
qt5-sqldrivers-odbc: 5.15.13p142
qt5-sqldrivers-pgsql: 5.15.13p142
qt5-sqldrivers-sqlite2: 5.15.13p142
qt5-sqldrivers-sqlite3: 5.15.13p142
qt5-sqldrivers-tds: 5.15.13p142
qt5-svg: 5.15.13p6
qt5-testlib: 5.15.13p142
qt5-uiplugin: 5.15.13p4
qt5-uitools: 5.15.13p4
qt5-virtualkeyboard: 5.15.13p0
qt5-webchannel: 5.15.13p3
qt5-webengine: 5.15.16.p9
qt5-webglplugin: 5.15.13p0
qt5-websockets: 5.15.13p2
qt5-websockets-qml: 5.15.13p2
qt5-webview: 5.15.13p0
qt5-widgets: 5.15.13p142
qt5-x11extras: 5.15.13p0
qt5-xml: 5.15.13p142
qt5-xmlpatterns: 5.15.13p0
re2: 20240401
readline: 8.2.10
shaderc: 2024.0
shared-mime-info: 2.2_2
snappy: 1.2.0
speech-dispatcher: 0.11.2_4
speexdsp: 1.2.1
sqlite: 2.8.17_5
sqlite3: 3.45.1,1
svt-av1: 2.0.0
tiff: 4.4.0_3
uchardet: 0.0.8_1
unixODBC: 2.3.12_1
vmaf: 3.0.0
vulkan-headers: 1.3.283
vulkan-loader: 1.3.283
wayland: 1.22.0
webp: 1.4.0
webrtc-audio-processing0: 0.3.1_3
x265: 3.5_1
xcb-util: 0.4.1,1
xcb-util-image: 0.4.1
xcb-util-keysyms: 0.4.1
xcb-util-renderutil: 0.3.10
xcb-util-wm: 0.4.2
xdg-utils: 1.1.3_4
xkeyboard-config: 2.41_4
xorg-fonts-truetype: 7.7_1
xorgproto: 2023.2
xprop: 1.2.7
xset: 1.2.5_1
xxhash: 0.8.2_1
zstd: 1.5.6
Number of packages to be installed: 270
The process will require 3 GiB more space.
Proceed with this action? [y/N]:
```
```
pkg install qt5-buildtools qt5-core qt5-gui qt5-linguisttools qt5-testlib qt5-widgets
Updating local repository catalogue...
local repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 79 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
brotli: 1.1.0,1
dbus: 1.14.10_5,1
dejavu: 2.37_3
double-conversion: 3.3.0
encodings: 1.1.0,1
expat: 2.6.2
font-bh-ttf: 1.0.3_5
font-misc-ethiopic: 1.0.4
font-misc-meltho: 1.0.3_5
fontconfig: 2.15.0_2,1
freetype2: 2.13.2
gettext-runtime: 0.22.5
glib: 2.80.0,2
graphite2: 1.3.14
harfbuzz: 8.4.0
hicolor-icon-theme: 0.17
icu: 74.2_1,1
indexinfo: 0.3.1
jpeg-turbo: 3.0.2
libICE: 1.1.0_2,1
libSM: 1.2.3_1,1
libX11: 1.8.9,1
libXau: 1.0.9_1
libXdmcp: 1.1.5
libXext: 1.3.6,1
libXfixes: 6.0.0_1
libXi: 1.8_1,1
libXmu: 1.1.4,1
libXrender: 0.9.10_2
libXt: 1.3.0,1
libepoll-shim: 0.0.20230411
libevdev: 1.13.1
libffi: 3.4.4_1
libfontenc: 1.1.8
libglvnd: 1.7.0
libgudev: 237
libiconv: 1.17_1
libinput: 1.25.0
liblz4: 1.9.4_1,1
libmtdev: 1.1.6_1
libudev-devd: 0.5.2
libwacom: 1.5_1
libxcb: 1.17.0
libxkbcommon: 1.6.0_2
libxml2: 2.11.7
mkfontscale: 1.2.3
mpdecimal: 4.0.0
pcre2: 10.43
png: 1.6.43
py39-evdev: 1.6.0
py39-packaging: 24.0
py39-pyudev: 0.22.0
py39-setuptools: 63.1.0_1
py39-six: 1.16.0
python39: 3.9.18_2
qt5-buildtools: 5.15.13p142
qt5-core: 5.15.13p142
qt5-dbus: 5.15.13p142
qt5-gui: 5.15.13p142
qt5-linguisttools: 5.15.13p4
qt5-network: 5.15.13p142
qt5-testlib: 5.15.13p142
qt5-widgets: 5.15.13p142
qt5-xml: 5.15.13p142
readline: 8.2.10
vulkan-headers: 1.3.283
wayland: 1.22.0
xcb-util: 0.4.1,1
xcb-util-image: 0.4.1
xcb-util-keysyms: 0.4.1
xcb-util-renderutil: 0.3.10
xcb-util-wm: 0.4.2
xdg-utils: 1.1.3_4
xkeyboard-config: 2.41_4
xorg-fonts-truetype: 7.7_1
xorgproto: 2023.2
xprop: 1.2.7
xset: 1.2.5_1
zstd: 1.5.6
Number of packages to be installed: 79
The process will require 381 MiB more space.
Proceed with this action? [y/N]:
```
|
|
fb4cc5f423ce587c1e97377e8afdf92fb4850f59 netbase: clean up Proxy logging (Matthew Zipkin)
Pull request description:
Follow up to #27375 and see https://github.com/bitcoin/bitcoin/pull/29649#issuecomment-2057456834
This removes an extra log message when we can't connect to our own proxy, and another when the proxy is invalid.
## Before #27375 if proxy is unreachable
```
2024-04-15T17:54:51Z connect() to 127.0.0.1:9999 failed after wait: Connection refused (61)
2024-04-15T17:54:52Z connect() to 127.0.0.1:9999 failed after wait: Connection refused (61)
2024-04-15T17:54:52Z connect() to 127.0.0.1:9999 failed after wait: Connection refused (61)
2024-04-15T17:54:53Z connect() to 127.0.0.1:9999 failed after wait: Connection refused (61)
2024-04-15T17:54:53Z connect() to 127.0.0.1:9999 failed after wait: Connection refused (61)
```
## After #27375 if unix proxy is unreachable:
```
2024-04-15T17:54:03Z connect() to /Users/matthewzipkin/Desktop/tor failed: No such file or directory (2)
2024-04-15T17:54:03Z Cannot connect to socket for /Users/matthewzipkin/Desktop/tor
2024-04-15T17:54:04Z connect() to /Users/matthewzipkin/Desktop/tor failed: No such file or directory (2)
2024-04-15T17:54:04Z Cannot connect to socket for /Users/matthewzipkin/Desktop/tor
2024-04-15T17:54:04Z connect() to /Users/matthewzipkin/Desktop/tor failed: No such file or directory (2)
2024-04-15T17:54:04Z Cannot connect to socket for /Users/matthewzipkin/Desktop/tor
2024-04-15T17:54:05Z connect() to /Users/matthewzipkin/Desktop/tor failed: No such file or directory (2)
2024-04-15T17:54:05Z Cannot connect to socket for /Users/matthewzipkin/Desktop/tor
```
## After this PR:
```
2024-04-15T18:18:51Z connect() to /Users/matthewzipkin/Desktop/tor failed: No such file or directory (2)
2024-04-15T18:18:51Z connect() to /Users/matthewzipkin/Desktop/tor failed: No such file or directory (2)
2024-04-15T18:18:52Z connect() to /Users/matthewzipkin/Desktop/tor failed: No such file or directory (2)
2024-04-15T18:18:52Z connect() to /Users/matthewzipkin/Desktop/tor failed: No such file or directory (2)
```
ACKs for top commit:
tdb3:
CR ACK for fb4cc5f423ce587c1e97377e8afdf92fb4850f59
laanwj:
ACK fb4cc5f423ce587c1e97377e8afdf92fb4850f59
Tree-SHA512: f07b9f7f2ea9f4bc01780c09f0b076547108294a1fa7d158a0dd48d6d7351569e461e5cccf232b7b1413ce2e3679668e523e5a7c89cd58c909da76d3dcbc34de
|
|
6f5954acac2ced22dae7088e2b679bf663507d4c ci: Drop no longer needed `-I` flag in "tidy" task (Hennadii Stepanov)
Pull request description:
As title says.
ACKs for top commit:
maflcko:
lgtm ACK 6f5954acac2ced22dae7088e2b679bf663507d4c
Tree-SHA512: 4d1cf6eb93bb4b9c51637d182e1fa585263fd998077ec66f34909d69cea070f78fe706a01cca1704dbd1c80465270f874d68972e470506b6b2032dc8bfc20ccc
|
|
The currently suggested `qt5` installs many unneeded dependencies, for
example, `qtsensors`, `qtspeech` etc.
|
|
Reorganize functional test framework unit tests to run in parallel
with other functional tests.
The option `skipunit` is removed, since unit tests no longer delay
functional test execution.
Unit tests are run by default when running all tests, and can be
run explicitly with `feature_framework_unit_tests.py` when running
a subset of tests.
|
|
signer
4357158c4712d479522d5cd441ad4dd1693fdd05 wallet: return and display signer error (Sjors Provoost)
dc55531087478d01fbde4f5fbb75375b672960c3 wallet: compare address returned by displayaddress (Sjors Provoost)
6c1a2cc09a00baa6ff3ff34455c2243b43067fb5 test: use h marker for external signer mock (Sjors Provoost)
Pull request description:
* HWI returns the requested address: as a sanity check, we now compare that to what we expected
* external signer documentation now reflects that HWI alternatives must implement this check
* both RPC and GUI will now return an error text, rather than just fail (the GUI even failed silently in some cases)
ACKs for top commit:
brunoerg:
ACK 4357158c4712d479522d5cd441ad4dd1693fdd05
achow101:
ACK 4357158c4712d479522d5cd441ad4dd1693fdd05
Tree-SHA512: 4f56edf3846745c8e7d08ef55cf29e8bb468256457149377c5f02da097931f9ca0c06bdbd856dc2385cde4fd11e4dc3b634c5a48814ff27f5562c8a25d43da93
|
|
e30e8625bbc42045b8b757a8d7e80c20cc61cebf test: remove duplicated ban test (brunoerg)
Pull request description:
Test the ban list is preserved through restart has been done by both `rpc_setban` and `p2p_disconnect_ban`. Since `p2p_disconnect_ban` does it in a more elegant way, we can keep only it and remove the other one.
https://github.com/bitcoin/bitcoin/blob/bf1b6383dbbfdd0c96a161d4693a48bf3a6b6150/test/functional/p2p_disconnect_ban.py#L74-L110
ACKs for top commit:
achow101:
ACK e30e8625bbc42045b8b757a8d7e80c20cc61cebf
tdb3:
ACK for e30e8625bbc42045b8b757a8d7e80c20cc61cebf.
hernanmarino:
tested ACK e30e8625bbc42045b8b757a8d7e80c20cc61cebf
BrandonOdiwuor:
ACK e30e8625bbc42045b8b757a8d7e80c20cc61cebf
alfonsoromanz:
ACK e30e8625bbc42045b8b757a8d7e80c20cc61cebf
Tree-SHA512: e89624f23011e6ffd76c31b2933b8386711e1d2c03366d6b3ea850484a4fd571f69971cdbc75ce2f546d541cb3fc7f4d495a5a011217d879746414e3286ac111
|
|
55b13ecd2e00ad2dbfd44c34d7de6f616590adf8 doc: explain what the wallet password does (Brandon Odiwuor)
Pull request description:
Fixes https://github.com/bitcoin/bitcoin/issues/18085
Add a document explaining what the wallet `passphrase` does
ACKs for top commit:
fjahr:
ACK 55b13ecd2e00ad2dbfd44c34d7de6f616590adf8
achow101:
ACK 55b13ecd2e00ad2dbfd44c34d7de6f616590adf8
Tree-SHA512: 6cc621269fe51ba7bd5d859427906a520e989bebcb274b08017c9900a4d781a165fc62dea46ed45aa48239cacd3c1f6eb4dd0c916be940d680a03266109716b0
|
|
|
|
|
|
13adbf733f09c73c3cf0025d94c52f9cec5dba3b remove unneeded environment option from cpp-subprocess (Sebastian Falbesoner)
2088777ba0f9ad3f6d4ab8b0b6ff8aad71117307 remove unneeded cwd option from cpp-subprocess (Sebastian Falbesoner)
03ffb09c31aa04cc296c0ce10d07109e22a8dd75 remove unneeded bufsize option from cpp-subprocess (Sebastian Falbesoner)
79c30363733503a1fb7d4c98aa0d56ced0be6e32 remove unneeded close_fds option from cpp-subprocess (Sebastian Falbesoner)
62db8f8e5a6cfe19d905afc91731d6bc8a665f61 remove unneeded session_leader option from cpp-subprocess (Sebastian Falbesoner)
80d008c66d00d3496cd8549daee6775cf2c6b782 remove unneeded defer_spawn option from cpp-subprocess (Sebastian Falbesoner)
cececad7b29e2ca3de1216db1c541dba6dc81bfa remove unneeded preexec function option from cpp-subprocess (Sebastian Falbesoner)
633e45b2e2728efcb0637afa94fcbd5756dfbe76 remove unneeded shell option from cpp-subprocess (Sebastian Falbesoner)
Pull request description:
The newly introduced cpp-subprocess library provides a good number of options for the `Popen` class:
https://github.com/bitcoin/bitcoin/blob/0de63b8b46eff5cda85b4950062703324ba65a80/src/util/subprocess.hpp#L1009-L1020
Some of them are either not fully implemented (`shell`, missing an implementation on Windows), implemented in an ugly way (e.g. using "Impoverished, meager, needy, truly needy version of type erasure" for `preexec_func` according to the author's own words) or simply unlikely to be ever needed for our external signer use-case (`defer_spawn`). Instead of maintaining incomplete and/or unneeded code, I'd suggest to get rid of it and only keep support for options if there is a strong reason for it.
ACKs for top commit:
achow101:
ACK 13adbf733f09c73c3cf0025d94c52f9cec5dba3b
hebasto:
re-ACK 13adbf733f09c73c3cf0025d94c52f9cec5dba3b.
Tree-SHA512: 8270da27891cb659da2ef6062a23f4b86331859b15ac27b79ae7433b14f5bd7efaba621f2b3ba1953708d0f38377a8bd23ef1cc0f28b9c152ac8958dd9eec6b0
|
|
|
|
`calculate_input_weight` helper
6d91cb781c30966963f28e7577c7aa3829fa9390 test: add unit tests for `calculate_input_weight` (Sebastian Falbesoner)
f81fad5e0f3be1f7aed59f9da00396c75c2a6406 test: introduce and use `calculate_input_weight` helper (Sebastian Falbesoner)
Pull request description:
Rather than manually estimating an input's weight by adding up all the involved components (fixed-size skeleton, compact-serialized lengths, and the actual scriptSig / witness stack items) we can simply take use of the serialization classes `CTxIn` / `CTxInWitness` instead, to achieve the same with significantly less code.
The new helper is used in the functional tests rpc_psbt.py and wallet_send.py, where the previous manual estimation code was
duplicated. Unit tests are added in the second commit.
ACKs for top commit:
kevkevinpal:
tACK [6d91cb7](https://github.com/bitcoin/bitcoin/pull/29777/commits/6d91cb781c30966963f28e7577c7aa3829fa9390)
QureshiFaisal:
tACK [6d91cb7](https://github.com/bitcoin/bitcoin/pull/29777/commits/6d91cb781c30966963f28e7577c7aa3829fa9390)
achow101:
ACK 6d91cb781c30966963f28e7577c7aa3829fa9390
AngusP:
tACK 6d91cb781c30966963f28e7577c7aa3829fa9390
rkrux:
tACK [6d91cb7](https://github.com/bitcoin/bitcoin/pull/29777/commits/6d91cb781c30966963f28e7577c7aa3829fa9390)
Tree-SHA512: 04424e4d94d0e13745a9c11df2dd3697c98552bbb0e792c4af67ecbb66060adc3cc0cefc202cdee2d9db0baf85b8bedf2eb339ac4b316d986b5f10f6b70c5a33
|
|
p2p_tx_download.py
fa6c300a9926a1d35fdd0a80f59ea39769bd2596 test: Fix intermittent timeout in p2p_tx_download.py (MarcoFalke)
Pull request description:
Currently the test passes, but may fail during shutdown, because blocks and transactions are synced with `NUM_INBOUND` * `self.num_nodes` peers, which may take a long time.
There is no need for this test to have this amount of inbounds.
So avoid the extraneous inbounds to speed up the test and avoid the intermittent test failures.
ACKs for top commit:
instagibbs:
ACK fa6c300a9926a1d35fdd0a80f59ea39769bd2596
fjahr:
Thanks, ACK fa6c300a9926a1d35fdd0a80f59ea39769bd2596
achow101:
ACK fa6c300a9926a1d35fdd0a80f59ea39769bd2596
theStack:
ACK fa6c300a9926a1d35fdd0a80f59ea39769bd2596
Tree-SHA512: 0a480fd1db293ed8571ae629557cf81d5a79ec883e9e635f22c8a7cf48427161249ad2180b66c67661306f696c977b8e06ad520bd11911f119c9c95b3ffc9134
|
|
peer.transport_protocol_type
c3e632b44153e314ef946f342c68c2758b1cbc4d Bugfix: bitcoin-cli: Check length of peer.transport_protocol_type (Luke Dashjr)
Pull request description:
"v" would dereference beyond the string length, and "v10" would show as '1'
Turn both of these cases into a blank, like anything else unexpected currently is.
ACKs for top commit:
sipa:
utACK c3e632b44153e314ef946f342c68c2758b1cbc4d.
hernanmarino:
utACK c3e632b44153e314ef946f342c68c2758b1cbc4d
alfonsoromanz:
ACK c3e632b44153e314ef946f342c68c2758b1cbc4d
achow101:
ACK c3e632b44153e314ef946f342c68c2758b1cbc4d
Tree-SHA512: f641e4412521adae7c8c8e1f268bdaaa223d9048d8286e3df4b13905faaa0d601155ce581cd649f760cab2acc4122356fa94a44714f1f190845552100105eda0
|
|
The script provided for signature might be externally provided, for
instance by way of 'finalizepsbt'. Therefore the script might be
ill-crafted, so don't assume pubkeys are always 32 bytes.
Thanks to Niklas for finding this.
|
|
f2e3662e57eca1330962faf38ff428a564d50a11 net: Decrease nMaxIPs when learning from DNS seeds (laanwj)
Pull request description:
Limit number of IPs learned from a single DNS seed to 32, to prevent the results from one DNS seed from dominating AddrMan. Note that the number of results from a UDP DNS query is bounded to 33 already, but it is possible for it to use TCP where a larger number of results can be returned.
Closes #16070.
ACKs for top commit:
Sjors:
utACK f2e3662e57eca1330962faf38ff428a564d50a11
achow101:
ACK f2e3662e57eca1330962faf38ff428a564d50a11
1440000bytes:
utACK https://github.com/bitcoin/bitcoin/pull/29850/commits/f2e3662e57eca1330962faf38ff428a564d50a11
mzumsande:
utACK f2e3662e57eca1330962faf38ff428a564d50a11
Tree-SHA512: 3f108c2baba7adfedb8019daaf60aa00e628b38d3942e1319c7183a4683670be01929ced9e6372c8e983c902e8633f81fbef12d7cdcaadd7f77ed729c1019942
|
|
6b02c11d667adff24daf611f9b14815d27963674 test: Fix intermittent issue in p2p_handshake.py (stratospher)
Pull request description:
When establishing outbound connections [`TestNode` --------> `P2PConnection`], `P2PConnection` listens for a single connection from `TestNode` on a [port which is fixed based on `p2p_idx`](https://github.com/bitcoin/bitcoin/blob/312f54278fd972ba3557c6a5b805fd244a063959/test/functional/test_framework/p2p.py#L746).
If we reuse the same port when disconnecting and establishing connections again, we might hit this scenario where:
- disconnection is done on python side for `P2PConnection`
- disconnection not complete on c++ side for `TestNode`
- we're trying to establish a new connection on same port again
Prevent this scenario from happening by ensuring disconnection on c++ side for TestNode as well.
One way to reproduce this on master would be adding a sleep statement before disconnection happens on c++ side.
```diff
diff --git a/src/net.cpp b/src/net.cpp
index e388f05b03..62507d1f39 100644
--- a/src/net.cpp
+++ b/src/net.cpp
@@ -2112,6 +2112,7 @@ void CConnman::SocketHandlerConnected(const std::vector<CNode*>& nodes,
if (!pnode->fDisconnect) {
LogPrint(BCLog::NET, "socket closed for peer=%d\n", pnode->GetId());
}
+ std::this_thread::sleep_for(std::chrono::milliseconds(1000));
pnode->CloseSocketDisconnect();
}
else if (nBytes < 0)
```
ACKs for top commit:
maflcko:
lgtm ACK 6b02c11d667adff24daf611f9b14815d27963674
mzumsande:
Tested ACK 6b02c11d667adff24daf611f9b14815d27963674
BrandonOdiwuor:
Tested ACK 6b02c11d667adff24daf611f9b14815d27963674
theStack:
Tested ACK 6b02c11d667adff24daf611f9b14815d27963674
glozow:
ACK 6b02c11d667adff24daf611f9b14815d27963674
Tree-SHA512: 69509edb61ba45739fd585b6cc8a254f412975c124a5b5a52688288ecaaffd264dd76019b8290cc34c26c3ac2dfe477965ee5a11d7aabdd8e4d2a75229a4a068
|
|
21d0e6c7b7c7af7f6e54a45829b4fbfba6923b86 doc: release notes for PR 27679 (Matthew Zipkin)
791dea204ecde9b500ec243b4e16fc601998ec84 test: cover unix sockets in zmq interface (Matthew Zipkin)
c87b0a0ff4cb6d83bb59360ac4453f6daa871177 zmq: accept unix domain socket address for notifier (Matthew Zipkin)
Pull request description:
This is a follow-up to https://github.com/bitcoin/bitcoin/pull/27375, allowing ZMQ notifications to be published to a UNIX domain socket.
Fortunately, libzmq handles unix sockets already, all we really have to do to support it is allow the format in the actual option.
[libzmq](https://libzmq.readthedocs.io/en/latest/zmq_ipc.html) uses the prefix `ipc://` as opposed to `unix:` which is [used by Tor](https://gitlab.torproject.org/tpo/core/tor/-/blob/main/doc/man/tor.1.txt?ref_type=heads#L1475) and now also by [bitcoind](https://github.com/bitcoin/bitcoin/blob/a85e5a7c9ab75209bc88e49be6991ba0a467034e/doc/release-notes-27375.md?plain=1#L5) so we need to switch that internally.
As far as I can tell, [LND](https://github.com/lightninglabs/gozmq/blob/d20a764486bf506bc045642e455bc7f0d21b232a/zmq.go#L38) supports `ipc://` and `unix://` (notice the double slashes).
With this patch, LND can connect to bitcoind using unix sockets:
Example:
*bitcoin.conf*:
```
zmqpubrawblock=unix:/tmp/zmqsb
zmqpubrawtx=unix:/tmp/zmqst
```
*lnd.conf*:
```
bitcoind.zmqpubrawblock=ipc:///tmp/zmqsb
bitcoind.zmqpubrawtx=ipc:///tmp/zmqst
```
ACKs for top commit:
laanwj:
Code review ACK 21d0e6c7b7c7af7f6e54a45829b4fbfba6923b86
tdb3:
crACK for 21d0e6c7b7c7af7f6e54a45829b4fbfba6923b86. Changes lgtm. Will follow up with some testing within the next few days as time allows.
achow101:
ACK 21d0e6c7b7c7af7f6e54a45829b4fbfba6923b86
guggero:
Tested and code review ACK 21d0e6c7b7c7
Tree-SHA512: ffd50222e80dd029d903e5ddde37b83f72dfec1856a3f7ce49da3b54a45de8daaf80eea1629a30f58559f4b8ded0b29809548c0638cd1c2811b2736ad8b73030
|
|
|
|
|
|
|
|
diagram checks
016ed248ba0ae64e3f0c93bb47a2cd9b5e49cd85 fuzz: explicitly cap the vsize of RBFs for diagram checks (Greg Sanders)
Pull request description:
In master we are hitting a case where vsize transactions much larger than max standard size are causing an overflow in not-yet-exposed RBF diagram checking code: https://github.com/bitcoin/bitcoin/pull/29757#issuecomment-2049220195
`ConsumeTxMemPoolEntry` is creating entries with tens of thousands of sigops cost, causing the resulting RBFs to be "overly large".
To fix this I cause the fuzz test to stop adding transactions to the mempool when we reach a potential overflow of `int32_t`.
ACKs for top commit:
glozow:
ACK 016ed248ba0ae64e3f0c93bb47a2cd9b5e49cd85
marcofleon:
ACK 016ed248ba0ae64e3f0c93bb47a2cd9b5e49cd85. I ran libFuzzer on `package_rbf` on the current master branch until the overflow was encountered. Then I built the PR branch and ran the fuzzer using the crash input.
Tree-SHA512: b3ffc98d2c4598eb3010edd58b9370aab1441aafbb1044c83b2b90c17dfe9135b8de9dba475dd0108863c1ffedede443cd978e95231a41cf1f0715629197fa51
|
|
|
|
logic (`m_recent_rejects` filter)
60ca5d55081275a011ccfc9546e0c4a8c4030493 test: p2p: add test for rejected tx request logic (`m_recent_rejects` filter) (Sebastian Falbesoner)
e9dc511a7e9a562f953ff93f358102f555f583e6 fixup: get all utxos up front in fill_mempool, discourage wallet mixing (glozow)
Pull request description:
Motivated by the discussion in #28970 (https://github.com/bitcoin/bitcoin/pull/28970#discussion_r1553911167), this PR adds test coverage for the logic around the `m_recent_rejects` filter, in particular that the filter is cleared after a new block comes in:
https://github.com/bitcoin/bitcoin/blob/f0794cbd405636a7f528a60f2873050b865cf7e8/src/net_processing.cpp#L2199-L2206
As expected, the second part of the test fails if the following patch is applied:
```diff
diff --git a/src/net_processing.cpp b/src/net_processing.cpp
index 6996af38cb..5cb1090e70 100644
--- a/src/net_processing.cpp
+++ b/src/net_processing.cpp
@@ -2202,7 +2202,7 @@ bool PeerManagerImpl::AlreadyHaveTx(const GenTxid& gtxid)
// or a double-spend. Reset the rejects filter and give those
// txs a second chance.
hashRecentRejectsChainTip = m_chainman.ActiveChain().Tip()->GetBlockHash();
- m_recent_rejects.reset();
+ //m_recent_rejects.reset();
}
const uint256& hash = gtxid.GetHash();
```
I'm still not sure in which file this test fits best, and if there is already test coverage for the first part of the test somewhere. Happy for any suggestions.
ACKs for top commit:
maflcko:
ACK 60ca5d55081275a011ccfc9546e0c4a8c4030493 🍳
glozow:
code review ACK 60ca5d55081275a011ccfc9546e0c4a8c4030493
instagibbs:
ACK 60ca5d55081275a011ccfc9546e0c4a8c4030493
Tree-SHA512: 9cab43858e8f84db04a708151e6775c9cfc68c20ff53096220eac0b2c406f31aaf9223e8e04be345e95bf0a3f6dd15efac50b0ebeb1582a48a4560b3ab0bcba5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If we reuse the same port when disconnecting and establishing connections
again, we might hit this scenario:
- disconnection is done on python side for P2PConnection
- disconnection is not complete on c++ side for TestNode
- we're trying to establish a new connection on same port again
Prevent this scenario from happening by ensuring disconnection on c++
side for TestNode as well.
|
|
Prior to this, when establishing a network connection via CConnman::ConnectNode,
if the connection needed address resolution, a single address would be picked
at random from the resolved addresses and our node will try to connect to it. However,
this would lead to the behavior of ConnectNode being unpredictable when the address
was resolved to various ips (e.g. the address resolving to IPv4 and IPv6, but we only
support one of them).
This patches the aforementioned behavior by going over all resolved IPs until we find one
we can connect to or until we exhaust them.
|
|
|
|
See https://docs.python.org/3/library/subprocess.html
|
|
|
|
|
|
See:
- https://learn.microsoft.com/en-us/cpp/build/reference/zc-preprocessor
- https://learn.microsoft.com/en-us/cpp/preprocessor/preprocessor-experimental-overview
Otherwise, the "traditional" MSVC preprocessor fails to parse the
`FUZZ_TARGET` and `DETAIL_FUZZ` macros because of behavior changes
highlighted in the docs mentioned above.
|
|
|
|
bech32m (P2TR)
c6d1b8de89d87fe4fd171dc85557299e429e6564 gui: change example address from legacy (P2PKH) to bech32m (P2TR) (Sebastian Falbesoner)
Pull request description:
Legacy addresses are less and less common these days and not recommended to use, so it seems senseful to also reflect that in the example addresses and update to the most recent address / output type (bech32m / P2TR). Also, as I couldn't see any value in computing these at runtime, they are pre-generated. This was done with the following Python script, executed in `./test/functional` (it's also included in the commit body, though without the she-bang):
```python
#!/usr/bin/env python3
from test_framework.segwit_addr import CHARSET, decode_segwit_address, encode_segwit_address
from test_framework.messages import sha256
output_key = sha256(b'bitcoin dummy taproot output key')
for network, hrp in [('mainnet', 'bc'), ('signet', 'tb'), ('testnet', 'tb'), ('regtest', 'bcrt')]:
dummy_address = encode_segwit_address(hrp, 1, output_key)
while decode_segwit_address(hrp, dummy_address) != (None, None):
last_char = CHARSET[(CHARSET.index(dummy_address[-1]) + 1) % 32]
dummy_address = dummy_address[:-1] + last_char
print(f'{network:7} example address: {dummy_address}')
```
Note that the last bech32 character is modified in order to make the checksum fail.
master (mainnet):
![image](https://github.com/bitcoin-core/gui/assets/91535/8c94cc1e-5649-47ed-8b2d-33b18654f6a2)
PR (mainnet):
![image](https://github.com/bitcoin-core/gui/assets/91535/1ce208a6-1218-4850-93e0-5323c73e9049)
ACKs for top commit:
maflcko:
lgtm ACK c6d1b8de89d87fe4fd171dc85557299e429e6564
pablomartin4btc:
tACK c6d1b8de89d87fe4fd171dc85557299e429e6564
Tree-SHA512: a53c267a3e0d29b9c41bf043b123e7152fbf297e2322d74ce047ba2582b54768187162d462cc334e91a84874731c2e0793726ad44d9970c10ecfe70a1d4f3f1c
|