Commit graph

2804 commits

Author SHA1 Message Date
stickies-v
42fb5311b1
rpc: return warnings as an array instead of just a single one
The RPC documentation for `getblockchaininfo`, `getmininginfo` and
`getnetworkinfo` states that "warnings" returns "any network and
blockchain warnings". In practice, only a single warning is returned.

Fix that by returning all warnings as an array.

As a side benefit, cleans up the GetWarnings() logic.
2024-05-01 14:44:57 +01:00
Ava Chow
842f7fdf78
Merge bitcoin/bitcoin#29645: doc: update release-process.md
1ea8674316 [doc] update release-process.md and backports section of CONTRIBUTING (glozow)

Pull request description:

  While doing various release process things for the first time, I noticed some of our docs are outdated and/or confusing.

ACKs for top commit:
  achow101:
    ACK 1ea8674316

Tree-SHA512: 4ad10d4ce2c33fe15cb02599353107bb72ecb867aefc6c120cfd5cdea42aa8fa3783f9e0218c2f3815f030e0694cc8fb24011ce88358a0206cb07416a256a962
2024-04-30 20:17:04 -04:00
Ava Chow
063072b86a
Merge bitcoin/bitcoin#29813: doc: i2p: improve -i2pacceptincoming mention
2179e2c320 doc: i2p: improve `-i2pacceptincoming` mention (brunoerg)

Pull request description:

  In i2p documentation, it says that "the first time Bitcoin Core connects to the I2P router,
  it automatically generates a persistent I2P address and its corresponding private key by
  default _**or if `-i2pacceptincoming=1` is set**_". This is weird, because `-i2pacceptincoming=1`
  by itself does not have any effect. Moreover, `-i2pacceptincoming` is 1 by default anyway.

ACKs for top commit:
  laanwj:
    This documentation change is correct and makes the documentation slightly shorter, thus easier to read. ACK 2179e2c320
  davidgumberg:
    ACK 2179e2c320
  achow101:
    ACK 2179e2c320
  byaye:
    ACK 2179e2c320

Tree-SHA512: 18a6a627343fb0aa824029d99df8a232153ba288ce94ec8c5da25693885237381fba505ea1e71c756b2a611243a302d319ca7ae03b526020cd6588710fc2ac17
2024-04-30 19:00:54 -04:00
Matthew Zipkin
84900ac34f
doc: add release-notes-27064.md 2024-04-30 11:03:46 -04:00
Matthew Zipkin
855dd8d592
system: use %LOCALAPPDATA% as default datadir on windows 2024-04-30 11:03:04 -04:00
fanquake
6866b571ab
depends: miniupnpc 2.2.7
Includes a temporary patch to fix the Windows Autotools build.

See
https://miniupnp.tuxfamily.org/files/changelog.php?file=miniupnpc-2.2.7.tar.gz.
2024-04-30 10:07:19 +08:00
Sjors Provoost
22574046c9
doc: add LLVM instruction for macOS < 13 2024-04-29 10:33:21 +02:00
MarcoFalke
fa1964c5b8
build: Bump clang minimum supported version to 15 2024-04-27 14:54:00 +02:00
merge-script
10f5022072
Merge bitcoin/bitcoin#29708: depends: build libnatpmp with CMake
3c1ae3ee33 depends: switch libnatpmp to CMake (Cory Fields)
72ba7b5d26 depends: libnatpmp f2433bec24ca3d3f22a8a7840728a3ac177f94ba (fanquake)

Pull request description:

  This picks up one of the changes from https://github.com/bitcoin/bitcoin/pull/29232, which is a switch to building libnatpmp with CMake. It includes an update to the most recent version of libnatpmp (f2433bec24), which includes (https://github.com/miniupnp/libnatpmp/pull/43).

  From an initial look I couldn't find any significant difference between the Autotools and CMake produced libs.

ACKs for top commit:
  m3dwards:
    ACK 3c1ae3ee33
  hebasto:
    ACK 3c1ae3ee33.
  TheCharlatan:
    ACK 3c1ae3ee33

Tree-SHA512: 1dd9d9933a5fceb9f8c4e1d68cd5cb4456a10a6dd27a6f6316f14493f9d2efad981ef8be9570c09ca82d45163aebd7f4cb2b2449989ec6084268ddba9a564c83
2024-04-25 21:07:52 +08:00
merge-script
072b118407
Merge bitcoin/bitcoin#29932: doc: suggest only necessary Qt packages for installation on FreeBSD
dace02f99d 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 dace02f99d.

Tree-SHA512: 388fccb91ed677326592f5f73fa9ff7f341886a44b56364dfb1a683f29cd988e8751f64f645f200a01725086c789ebf9cabdaf412eb1cde742c8d7efc5165d94
2024-04-24 21:05:23 +08:00
Vasil Dimov
dace02f99d
doc: suggest only necessary Qt packages for installation on FreeBSD
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]:
```
2024-04-24 14:14:18 +02:00
Hennadii Stepanov
970cbc3172
doc: Suggest only necessary Qt packages for installation on OpenBSD
The currently suggested `qt5` installs many unneeded dependencies, for
example, `qtsensors`, `qtspeech` etc.
2024-04-24 09:17:48 +01:00
Ava Chow
a7129f827c
Merge bitcoin/bitcoin#24313: Improve display address handling for external signer
4357158c47 wallet: return and display signer error (Sjors Provoost)
dc55531087 wallet: compare address returned by displayaddress (Sjors Provoost)
6c1a2cc09a 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 4357158c47
  achow101:
    ACK 4357158c47

Tree-SHA512: 4f56edf3846745c8e7d08ef55cf29e8bb468256457149377c5f02da097931f9ca0c06bdbd856dc2385cde4fd11e4dc3b634c5a48814ff27f5562c8a25d43da93
2024-04-23 17:20:54 -04:00
Ava Chow
4aa18cea82
Merge bitcoin/bitcoin#28974: doc: explain what the wallet password does
55b13ecd2e 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 55b13ecd2e
  achow101:
    ACK 55b13ecd2e

Tree-SHA512: 6cc621269fe51ba7bd5d859427906a520e989bebcb274b08017c9900a4d781a165fc62dea46ed45aa48239cacd3c1f6eb4dd0c916be940d680a03266109716b0
2024-04-23 15:34:24 -04:00
Ava Chow
04c90f1059
Merge bitcoin/bitcoin#27679: ZMQ: Support UNIX domain sockets
21d0e6c7b7 doc: release notes for PR 27679 (Matthew Zipkin)
791dea204e test: cover unix sockets in zmq interface (Matthew Zipkin)
c87b0a0ff4 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](a85e5a7c9a/doc/release-notes-27375.md (L5)) so we need to switch that internally.

  As far as I can tell, [LND](d20a764486/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 21d0e6c7b7
  tdb3:
    crACK for 21d0e6c7b7.  Changes lgtm. Will follow up with some testing within the next few days as time allows.
  achow101:
    ACK 21d0e6c7b7
  guggero:
    Tested and code review ACK 21d0e6c7b7

Tree-SHA512: ffd50222e80dd029d903e5ddde37b83f72dfec1856a3f7ce49da3b54a45de8daaf80eea1629a30f58559f4b8ded0b29809548c0638cd1c2811b2736ad8b73030
2024-04-22 11:24:43 -04:00
Brandon Odiwuor
55b13ecd2e doc: explain what the wallet password does 2024-04-22 18:07:23 +03:00
glozow
1ea8674316 [doc] update release-process.md and backports section of CONTRIBUTING
- Mention which directories contain the respective unsigned tarballs
- Clarify that bitcoin.conf might not need to be updated
- Specify where to put historical release notes if there is already
  something in release-notes.md
- Clarify what exactly is the problem with running guix-codesign more
  than once
- Correct number: 6 codesigned attestations are needed before uploading
  binaries
- Remove scp command which is outdated
- Remove server path which is outdated
- Specify that translations update should happen before branch-off, not
  before each release candidate
- Mention that you should notify lists when RCs are available
- Put "Archive the release notes" as a separate step, since creating the
  github release has a dependency on it.
- Put bitcoincore.org website updates as a separate step, since
  updating packaging repos may have a dependency on it.
- Update "bitcoin-dev mailing list" to "bitcoin-dev group"
- Document that maintainers should create PRs to collect backports
- Remove section about not uploading `*-debug` files, reader should
  upload all build artifacts.
- Torrent is created automatically, so delete instructions.
- Mention that server also generates ots file automatically.
2024-04-18 17:07:57 +01:00
Ava Chow
003785c961
Merge bitcoin/bitcoin#28373: doc: Add example of mixing private and public keys in descriptors
24b67fa9f6 doc: Add example of mixing private and public keys in descriptors (Anton A)

Pull request description:

  closes: #27414

ACKs for top commit:
  achow101:
    ACK 24b67fa9f6
  alfonsoromanz:
    Re ACK 24b67fa9f6

Tree-SHA512: 8c063f23199ac0ff35909f786a5b0de1b4a9b15d1e93bdcdac10cb4bd2002c12e99b6fb1c2e56d16971e7622b67d910b79088429df92c48279be2d7797049911
2024-04-17 11:29:50 -04:00
Matthew Zipkin
21d0e6c7b7
doc: release notes for PR 27679 2024-04-16 14:14:42 -04:00
Sjors Provoost
dc55531087
wallet: compare address returned by displayaddress
Update external signer documentation to reflect this requirement, which HWI already implements.
2024-04-16 17:47:43 +02:00
fanquake
c08754971d
doc: archive 27.0 release notes 2024-04-16 09:10:33 +01:00
fanquake
eaf186d1ee
Merge bitcoin/bitcoin#29690: clang-tidy: Enable misc-no-recursion
78407b99ed [clang-tidy] Enable the misc-no-recursion check (dergoegge)

Pull request description:

  Recursion is a frequent source of stack overflow bugs. Secondly, introduction of recursion can be non-obvious.

  This PR proposes to use the clang-tidy `misc-no-recursion` check to make introduction of new recursion obvious. We don't make use of recursion a lot in our code base but there are a few places that need suppressions anyway (mostly the descriptor and univalue/rpc code).

ACKs for top commit:
  stickies-v:
    ACK 78407b99ed
  TheCharlatan:
    Re-ACK 78407b99ed
  fanquake:
    ACK 78407b99ed

Tree-SHA512: 34126d704c46086fe7371906ca852c25ced1dbd5fcfd85bf623810cd171a797569a92a33c7e26b8dc01c30c7bbf81aa326718926e8354585091411989a4edb14
2024-04-08 17:35:15 +02:00
Ava Chow
93bd2e2f6c doc: 25.2 historical release notes 2024-04-08 05:12:28 -04:00
dergoegge
78407b99ed [clang-tidy] Enable the misc-no-recursion check
Co-authored-by: stickies-v <stickies-v@protonmail.com>
Co-authored-by: Gloria Zhao <gloriajzhao@gmail.com>
2024-04-07 14:04:45 +01:00
fanquake
72ba7b5d26
depends: libnatpmp f2433bec24ca3d3f22a8a7840728a3ac177f94ba
This includes once CMake related change I upstreamed:
https://github.com/miniupnp/libnatpmp/pull/43.
2024-04-05 15:20:14 +01:00
brunoerg
2179e2c320 doc: i2p: improve -i2pacceptincoming mention 2024-04-04 18:32:39 -03:00
fanquake
43735252c5
Merge bitcoin/bitcoin#29782: doc: Update the developer mailing list address.
0ead466a0c Update the developer mailing list address. (Edil Medeiros)

Pull request description:

  The developer mailing list was migrated to Google Groups in February 2024 as announced in https://groups.google.com/g/bitcoindev/c/aewBuV6k-LI.

  In this patch, I decided to add a link to the [archives maintained by the Linux Foundation](https://lists.linuxfoundation.org/pipermail/bitcoin-dev/) as linked in the [old mailing list page](https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev).

  A reasonable alternative would be link to the [new archives](https://gnusha.org/pi/bitcoindev/) linked in the [migration announcement message](https://groups.google.com/g/bitcoindev/c/aewBuV6k-LI). I'm not sure about the status of the archive migration, probably the old archives are more comprehensive to this date.

ACKs for top commit:
  josibake:
    reACK 0ead466a0c
  Sjors:
    ACK 0ead466a0c
  Zero-1729:
    crACK 0ead466a0c

Tree-SHA512: c29296a45a65f342df03faffa49e7dc1469d78e96074a7dbc82d89fc3f45179e4828015cbb6400b44830d6bb7fc23869abf2b8a7070196b03f99fbb0158bb343
2024-04-03 09:45:08 +01:00
Edil Medeiros
0ead466a0c Update the developer mailing list address.
The developer mailing list was migrated to Google Groups in February 2024
as announced in https://groups.google.com/g/bitcoindev/c/aewBuV6k-LI.

The archives maintained by the Linux Foundation stopped updating in December
2024. Thus, we point to the new archive maintained by gnusha.org.

The codebase refers to old discussions linked to the Linux Foundation archives.
Since all links are still active to this date, we keep them as they are.

See #29782.
2024-04-02 15:38:40 -03:00
glozow
d32346c39e [doc] add historical release notes for 26.1 2024-04-02 09:37:10 +01:00
fanquake
948ecf181e
Merge bitcoin/bitcoin#29648: Remove libbitcoinconsensus
80f8b92f4f remove libbitcoinconsensus (fanquake)

Pull request description:

  This was deprecated in `v27.0`, for removal in `v28.0`. See discussion in PR #29189.

ACKs for top commit:
  theuni:
    Concept ACK and light review ACK 80f8b92f4f. My only hesitation here is that (afaics?) there's now nothing keeping undesired features like threading or globals from working their way into the interpreter in future commits.
  m3dwards:
    Concept ACK 80f8b92f4f
  TheCharlatan:
    ACK 80f8b92f4f
  hebasto:
    ACK 80f8b92f4f, I have reviewed the code and it looks OK.

Tree-SHA512: 17a62118aeb088f2695c892bb32794dfea3061e3cb7d9e8e9f1c06c3ff6f63a7587fa532e37edbb91fbc5a19b12c9a0f8e05fa9e8864aa07f92665375d847e80
2024-04-01 17:53:31 +02:00
fanquake
90224fbf61
Merge bitcoin/bitcoin#29756: doc: Override -g properly to skip debugging information
f8f5cece4d doc: Override `-g` properly to skip debugging information (Hennadii Stepanov)

Pull request description:

  Fix https://github.com/bitcoin/bitcoin/issues/29755.

ACKs for top commit:
  TheCharlatan:
    ACK f8f5cece4d

Tree-SHA512: 02bff5fc41859deb914531ef01ea1ac88ab2e138219fe175472962192b11feefe772128da03f466ec765c1b35b21eead31a42cc76e62ecb7ea5dc947cf568d61
2024-04-01 16:54:44 +02:00
fanquake
3d37ed490a
Merge bitcoin/bitcoin#29732: depends: qt 5.15.13
430f319f73 depends: qt 5.15.13 (fanquake)

Pull request description:

  I need to try and patch around Qts buildsystem to keep #21778 moving along (the issue being that even when you tell Qt to build using Clang on Linux, it still calls out to GCC, breaking our ability to have a macOS release build env that doesn't have a GCC toolchain installed, and thus no `ld` binary).

  Before trying to patch Qt any further, update to the latest LTS release, and update the current patch set.

ACKs for top commit:
  TheCharlatan:
    Re-ACK 430f319f73
  hebasto:
    re-ACK 430f319f73.

Tree-SHA512: 11122c04d63f4ec79e5d7945e1686eaf308cb1f98c3ff8bc52e265d7353cd4f1a532f4d78d55b43183245aeebf93cc1092087d9fe83e42eefa8a69ad9017d2da
2024-04-01 16:10:42 +02:00
laanwj
a3c6a13cb2 doc: Suggest installing dev packages for debian/ubuntu qt5 build
Pretty much all library packages were renamed in the 64-bit time_t
migration to add `t64` (even on 64-bit platforms).

Instead of complicating the doc with conditional package names, suggest
installing the `-dev` packages which still have the same name, and
besides that, are the right way to go about it as they contain the
"user facing" C++ headers needed to build against Qt5.

For Fedora, devel packages are already suggested.

This affects Ubuntu 24.04 and Debian Testing.
2024-03-29 09:33:43 +01:00
Hennadii Stepanov
f8f5cece4d
doc: Override -g properly to skip debugging information 2024-03-28 11:50:12 +00:00
fanquake
430f319f73
depends: qt 5.15.13
I need to try and patch around Qts buildsystem to keep #21778 moving
along (the issue being that even when you tell Qt to build using
Clang on Linux, it still calls out to GCC, breaking our ability to have
a macOS release build env that doesn't have a GCC toolchain installed,
and thus no ld binary).

Before trying to patch Qt any further, update to the latest LTS
release, and update the current patch set.
2024-03-27 16:45:21 +00:00
Ben Westgate
416b9d9427
correct '-dbcache' to '-prune' 2024-03-25 01:39:22 -05:00
fanquake
80f8b92f4f
remove libbitcoinconsensus
This was deprecated in v27.0, for removal in v28.0.
See discussion in PR #29189.
2024-03-18 16:59:39 +00:00
Ryan Ofsky
9d9a7458a2 assumeutxo: Remove BLOCK_ASSUMED_VALID flag
Flag adds complexity and is not currently used for anything.
2024-03-18 11:28:40 -05:00
Anton A
24b67fa9f6 doc: Add example of mixing private and public keys in descriptors 2024-03-15 16:28:43 +03:00
MarcoFalke
fa8409e760
build: Bump g++ minimum supported version to 11 2024-03-14 12:15:22 +01:00
Ava Chow
0ed2c130e7
Merge bitcoin/bitcoin#27375: net: support unix domain sockets for -proxy and -onion
567cec9a05 doc: add release notes and help text for unix sockets (Matthew Zipkin)
bfe5192891 test: cover UNIX sockets in feature_proxy.py (Matthew Zipkin)
c65c0d0163 init: allow UNIX socket path for -proxy and -onion (Matthew Zipkin)
c3bd43142e gui: accomodate unix socket Proxy in updateDefaultProxyNets() (Matthew Zipkin)
a88bf9dedd i2p: construct Session with Proxy instead of CService (Matthew Zipkin)
d9318a37ec net: split ConnectToSocket() from ConnectDirectly() for unix sockets (Matthew Zipkin)
ac2ecf3182 proxy: rename randomize_credentials to m_randomize_credentials (Matthew Zipkin)
a89c3f59dc netbase: extend Proxy class to wrap UNIX socket as well as TCP (Matthew Zipkin)
3a7d6548ef net: move CreateSock() calls from ConnectNode() to netbase methods (Matthew Zipkin)
74f568cb6f netbase: allow CreateSock() to create UNIX sockets if supported (Matthew Zipkin)
bae86c8d31 netbase: refactor CreateSock() to accept sa_family_t (Matthew Zipkin)
adb3a3e51d configure: test for unix domain sockets (Matthew Zipkin)

Pull request description:

  Closes https://github.com/bitcoin/bitcoin/issues/27252

  UNIX domain sockets are a mechanism for inter-process communication that are faster than local TCP ports (because there is no need for TCP overhead) and potentially more secure because access is managed by the filesystem instead of serving an open port on the system.

  There has been work on [unix domain sockets before](https://github.com/bitcoin/bitcoin/pull/9979) but for now I just wanted to start on this single use-case which is enabling unix sockets from the client side, specifically connecting to a local Tor proxy (Tor can listen on unix sockets and even enforces strict curent-user-only access permission before binding) configured by `-onion=` or `-proxy=`

  I copied the prefix `unix:` usage from Tor. With this patch built locally you can test with your own filesystem path (example):

  `tor --SocksPort unix:/Users/matthewzipkin/torsocket/x`

  `bitcoind -proxy=unix:/Users/matthewzipkin/torsocket/x`

  Prep work for this feature includes:
  - Moving where and how we create `sockaddr` and `Sock` to accommodate `AF_UNIX` without disturbing `CService`
  - Expanding `Proxy` class to represent either a `CService` or a UNIX socket (by its file path)

  Future work:
  - Enable UNIX sockets for ZMQ (https://github.com/bitcoin/bitcoin/pull/27679)
  - Enable UNIX sockets for I2P SAM proxy (some code is included in this PR but not tested or exposed to user options yet)
  - Enable UNIX sockets on windows where supported
  - Update Network Proxies dialog in GUI to support UNIX sockets

ACKs for top commit:
  Sjors:
    re-ACK 567cec9a05
  tdb3:
    re ACK for 567cec9a05.
  achow101:
    ACK 567cec9a05
  vasild:
    ACK 567cec9a05

Tree-SHA512: de81860e56d5de83217a18df4c35297732b4ad491e293a0153d2d02a0bde1d022700a1131279b187ef219651487537354b9d06d10fde56225500c7e257df92c1
2024-03-13 06:53:07 -04:00
Ava Chow
bef99176e6
Merge bitcoin/bitcoin#27114: p2p: Allow whitelisting manual connections
0a533613fb docs: add release notes for #27114 (brunoerg)
e6b8f19de9 test: add coverage for whitelisting manual connections (brunoerg)
c985eb854c test: add option to speed up tx relay/mempool sync (brunoerg)
66bc6e2d17 Accept "in" and "out" flags to -whitelist to allow whitelisting manual connections (Luke Dashjr)
8e06be347c net_processing: Move extra service flag into InitializeNode (Luke Dashjr)
9133fd69a5 net: Move `NetPermissionFlags::Implicit` verification to `AddWhitelistPermissionFlags` (Luke Dashjr)
2863d7dddb net: store `-whitelist{force}relay` values in `CConnman` (brunoerg)

Pull request description:

  Revives #17167. It allows whitelisting manual connections. Fixes #9923

  Since there are some PRs/issues around this topic, I'll list some motivations/comments for whitelisting outbound connections from them:
  - Speed-up tx relay/mempool sync for testing purposes (my personal motivation for this) - In #26970, theStack pointed out that we whitelist peers to speed up tx relay for fast mempool synchronization, however, since it applies only for inbound connections and considering the topology `node0 <--- node1 <---- node2 <--- ... <-- nodeN`,  if a tx is submitted from any node other than node0, the mempool synchronization can take quite long.
  - https://github.com/bitcoin/bitcoin/pull/29058#issuecomment-1865155764 - "Before enabling -v2transport by default (which I'd image may happen after https://github.com/bitcoin/bitcoin/pull/24748) we could consider a way to force manual connections to be only-v1 or even only-v2 (disabling reconnect-with-v1). A possibility could be through a net permission flag, if https://github.com/bitcoin/bitcoin/pull/27114 makes it in."
  - https://github.com/bitcoin/bitcoin/pull/17167#issuecomment-1168606032 - "This would allow us to use https://github.com/bitcoin/bitcoin/pull/25355 when making outgoing connections to all nodes, except to whitelisted ones for which we would use our persistent I2P address."
  - Force-relay/mempool permissions for a node you intentionally connected to.

ACKs for top commit:
  achow101:
    ACK 0a533613fb
  sr-gi:
    re-ACK [0a53361](0a533613fb)
  pinheadmz:
    ACK 0a533613fb

Tree-SHA512: 97a79bb854110da04540897d2619eda409d829016aafdf1825ab5515334b0b42ef82f33cd41587af235b3af6ddcec3f2905ca038b5ab22e4c8a03d34f27aebe1
2024-03-12 12:59:02 -04:00
spicyzboss
4f1753deaa
doc: Wrap flags with code in developer-notes.md 2024-03-08 15:55:37 +07:00
fanquake
ba1bf5322f
Merge bitcoin/bitcoin#29544: doc: update signet faucet link in offline-signing-tutorial.md
990b348912 doc: update signet faucet link in offline-signing-tutorial.md (Supachai Kheawjuy)

Pull request description:

  https://signet.bc-2.jp is broken and https://signetfaucet.com is the same as before.

  https://signet.bc-2.jp from archive.org
  <img width="1258" alt="image" src="https://github.com/bitcoin/bitcoin/assets/73651621/36817aa6-95ea-427d-8d1d-93e21af86dce">

  https://signetfaucet.com
  <img width="1242" alt="image" src="https://github.com/bitcoin/bitcoin/assets/73651621/e3248fb0-8a6d-45b3-9268-d883d2385c8f">

  reference: https://en.bitcoin.it/wiki/Signet#Faucets

ACKs for top commit:
  fanquake:
    ACK 990b348912

Tree-SHA512: 482c931168a162cc666ecbe610e80d94ae433ebdc6bc52832bcc40c58592f9d9b8c7f1aea6faa2739873e80c6d4ea70c8a4f78d18067d1739e8070effce83062
2024-03-05 14:52:20 +00:00
fanquake
6e5eda83ad
doc: remove rel note fragments
These have been added to
https://github.com/bitcoin-core/bitcoin-devwiki/wiki/27.0-Release-Notes-Draft,
where they can be improved further.
2024-03-04 11:58:26 +00:00
Supachai Kheawjuy
990b348912
doc: update signet faucet link in offline-signing-tutorial.md 2024-03-04 00:14:29 +07:00
Matthew Zipkin
567cec9a05
doc: add release notes and help text for unix sockets 2024-03-01 14:47:29 -05:00
fanquake
d72cf823d4
Merge bitcoin/bitcoin#29518: doc: correct function name in AssumeUTXO design docs
efb70cd645 doc: correct function name in AssumeUTXO design docs (jrakibi)

Pull request description:

  Corrected the function name from `CompleteSnapshotValidation()` to `MaybeCompleteSnapshotValidation()` in the assumeutxo design documentation.
  This change ensures that the documentation accurately reflects the actual function name used in the code

ACKs for top commit:
  Empact:
    ACK efb70cd645

Tree-SHA512: 68b9be3ba710d91a2a955189e227f86b46ccb6a2a13c345d46f276cec6ff12b77ebf9814c4bcb00db7c17e221510e4a2e71175c78a6faf0e0e3159c761bc9b94
2024-03-01 09:51:14 -05:00
jrakibi
efb70cd645 doc: correct function name in AssumeUTXO design docs 2024-02-29 20:50:50 +01:00
Cory Fields
f8a06f7a02 doc: remove references to disable-asm option now that it's gone
The comment about sha256_sse4::Transform is believed to be old and stale.
2024-02-29 19:10:31 +00:00
brunoerg
0a533613fb docs: add release notes for #27114 2024-02-28 10:05:56 -03:00
fanquake
6a7ed5e237
Merge bitcoin/bitcoin#29481: doc: Update OpenBSD build docs for 7.4
fccfdb25b2 doc: Update OpenBSD build docs to 7.4 (Jesse Barton)

Pull request description:

  Updated OpenBSD Build doc for 7.4 after testing all build options. No issues on my end.

  Also added a note about referring to depends/README.md for detailed instructions on required dependencies.
  This was added in reference to a conversation in #29443

ACKs for top commit:
  fanquake:
    ACK fccfdb25b2
  theStack:
    lgtm ACK fccfdb25b2

Tree-SHA512: be6d22b605140b37a71e11c5bbed54f60655832d78cd3cb221eddc77c7621a65c0d71baf436f90819be536d9b5dbf1a0b2c82b6b23d62356addc495403f2ba35
2024-02-27 11:27:10 +00:00
Jesse Barton
fccfdb25b2 doc: Update OpenBSD build docs to 7.4
Tested and used all build options on OpenBSD 7.4 with no issues.

Added a note about referring to depends/README.md for detailed instructions on required dependencies.
This was added in reference to a conversation in #29443
2024-02-26 16:05:47 +00:00
Andrew Toth
eb5d78c649
doc: document preference for list-initialization 2024-02-23 13:19:19 -05:00
fanquake
0d3e18bcd6
doc: document that BIP324 on by default for v27.0 2024-02-19 15:37:59 +00:00
fanquake
dfff8ee02e
Merge bitcoin/bitcoin#29414: doc: Update translation process guide
3b0ec06d62 doc: Update translation_process.md (pablomartin4btc)

Pull request description:

  Updating Transifex broken link and setup Transifex config file with a token.

ACKs for top commit:
  hebasto:
    ACK 3b0ec06d62.
  hernanmarino:
    ACK 3b0ec06d62

Tree-SHA512: fc8e537a7d244e2e5983763ff7bd017a796359b2baf2119809c2fa051f43ba8a7bcbf5aef0687bc86c8badf5abc4b67cf2e0252f9e2ee14cafb50612dd51f3f7
2024-02-16 12:24:59 +00:00
pablomartin4btc
3b0ec06d62 doc: Update translation_process.md
Updating Transifex broken link and remove Transifex config file
section as it has been outdated.
2024-02-14 21:39:39 -03:00
glozow
63b62e123e [doc] fix docs and comments from v3 2024-02-12 14:27:25 +00:00
Ava Chow
7143d43884
Merge bitcoin/bitcoin#28948: v3 transaction policy for anti-pinning
29029df5c7 [doc] v3 signaling in mempool-replacements.md (glozow)
e643ea795e [fuzz] v3 transactions and sigop-adjusted vsize (glozow)
1fd16b5c62 [functional test] v3 transaction submission (glozow)
27c8786ba9 test framework: Add and use option for tx-version in MiniWallet methods (MarcoFalke)
9a1fea55b2 [policy/validation] allow v3 transactions with certain restrictions (glozow)
eb8d5a2e7d [policy] add v3 policy rules (glozow)
9a29d470fb [rpc] return full string for package_msg and package-error (glozow)
158623b8e0 [refactor] change Workspace::m_conflicts and adjacent funcs/structs to use Txid (glozow)

Pull request description:

  See #27463 for overall package relay tracking.

  Delving Bitcoin discussion thread: https://delvingbitcoin.org/t/v3-transaction-policy-for-anti-pinning/340
  Delving Bitcoin discussion for LN usage: https://delvingbitcoin.org/t/lightning-transactions-with-v3-and-ephemeral-anchors/418

  Rationale:
  - There are various pinning problems with RBF and our general ancestor/descendant limits. These policies help mitigate many pinning attacks and make package RBF feasible (see #28984 which implements package RBF on top of this). I would focus the most here on Rule 3 pinning. [1][2]
  - Switching to a cluster-based mempool (see #27677 and #28676) requires the removal of CPFP carve out, which applications depend on. V3 + package RBF + ephemeral anchors + 1-parent-1-child package relay provides an intermediate solution.

  V3 policy is for "Priority Transactions." [3][4] It allows users to opt in to more restrictive topological limits for shared transactions, in exchange for the more robust fee-bumping abilities that offers. Even though we don't have cluster limits, we are able to treat these transactions as having as having a maximum cluster size of 2.

  Immediate benefits:

  - You can presign a transaction with 0 fees (not just 1sat/vB!) and add a fee-bump later.
  - Rule 3 pinning is reduced by a significant amount, since the attacker can only attach a maximum of 1000vB to your shared transaction.

  This also enables some other cool things (again see #27463 for overall roadmap):
  - Ephemeral Anchors
  - Package RBF for these 1-parent-1-child packages. That means e.g. a commitment tx + child can replace another commitment tx using the child's fees.
  - We can transition to a "single anchor" universe without worrying about package limit pinning. So current users of CPFP carve out would have something else to use.
  - We can switch to a cluster-based mempool [5] (#27677 #28676), which removes CPFP carve out [6].

  [1]: Original mailing list post and discussion about RBF pinning problems https://gist.github.com/glozow/25d9662c52453bd08b4b4b1d3783b9ff, https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-January/019817.html
  [2]: A FAQ is "we need this for cluster mempool, but is this still necessary afterwards?" There are some pinning issues that are fixed here and not fully fixed in cluster mempool, so we will still want this or something similar afterward.
  [3]: Mailing list post for v3 https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-September/020937.html
  [4]: Original PR #25038 also contains a lot of the discussion
  [5]: https://delvingbitcoin.org/t/an-overview-of-the-cluster-mempool-proposal/393/7
  [6]: https://delvingbitcoin.org/t/an-overview-of-the-cluster-mempool-proposal/393#the-cpfp-carveout-rule-can-no-longer-be-supported-12

ACKs for top commit:
  sdaftuar:
    ACK 29029df5c7
  achow101:
    ACK 29029df5c7
  instagibbs:
    ACK 29029df5c7 modulo that

Tree-SHA512: 9664b078890cfdca2a146439f8835c9d9ab483f43b30af8c7cd6962f09aa557fb1ce7689d5e130a2ec142235dbc8f21213881baa75241c5881660f9008d68450
2024-02-09 23:37:57 -05:00
glozow
29029df5c7 [doc] v3 signaling in mempool-replacements.md 2024-02-08 21:50:55 +00:00
fanquake
5b8c5970bd
Merge bitcoin/bitcoin#29189: RFC: Deprecate libconsensus
25dc87e6f8 libconsensus: deprecate (Cory Fields)

Pull request description:

  This library has existed for nearly 10 years with very little known uptake or impact. It has become a maintenance burden. In several cases it dictates our code/library structure (for example necessitating LIBBITCOIN_CRYPTO_BASE), as well as build-system procedures (building multiple copies of object files especially for the lib).

  Several discussions have arisen wrt migrating it to CMake and it has become difficult to justify adding more complexity for a library that is virtually unused anyway.

  See for example the discussions:
  https://github.com/hebasto/bitcoin/pull/41
  https://github.com/bitcoin/bitcoin/pull/29123

  And here: https://github.com/bitcoin/bitcoin/pull/29180
  Where it is pointed out that the libbitcoinconsensus functions are slower than those the internal bitcoind equivalents due to the missing sha2 implementations.

  Instead, we (fanquake, hebasto, TheCharlatan, and I) propose simply not migrating it to CMake and letting it end with v27. Any remaining use-cases could be handled in the future by libbitcoinkernel.

  If there are any users currently using libbitcoinconsensus, please chime in with your use-case!

  Edit: Corrected final release to be v27.

ACKs for top commit:
  TheCharlatan:
    ACK 25dc87e6f8
  fanquake:
    ACK 25dc87e6f8 - this library has very little, if any impactful real world usage. It has been entirely broken (on various platforms) for long periods of its existence, where nobody even noticed. Pruning this out to save porting, and starting anew with the kernel, is the sane thing to do.

Tree-SHA512: baff2b3c4f76f520c96021035f751fdcb51bedf00e767660249e92a7bc7c5c176786bcf2c4cfe2d2351c200f932b39eb886bcfb22fbec824a41617590d6a1638
2024-02-01 16:11:31 +00:00
Cory Fields
25dc87e6f8 libconsensus: deprecate
This library has existed for nearly 10 years with very little known uptake or
impact. It has become a maintenance burden. In several cases it dictates our
code/library structure (for example necessitating LIBBITCOIN_CRYPTO_BASE), as
well as build-system procedures (building multiple copies of object files
especially for the lib).

Several discussions have arisen wrt migrating it to CMake and it has become
difficult to justify adding more complexity for a library that is virtually
unused anyway.

See for example the discussions:
https://github.com/hebasto/bitcoin/pull/41
https://github.com/bitcoin/bitcoin/pull/29123

Instead, we (fanquake, hebasto, TheCharlatan, and I) propose simply not
migrating it to CMake and letting it end with v27. Any remaining use-cases
could be handled in the future by libbitcoinkernel.
2024-01-30 23:19:02 +00:00
Fabian Jahr
c003562120
doc: Add missing backtick in developer notes logging section
Also fix some minor punctuation error in the section.
2024-01-12 16:26:17 +01:00
glozow
3ba8de1b70
Merge bitcoin/bitcoin#29235: doc: refer to "Node relay options" in policy/README
0d627c4ca8 doc: refer to "Node relay options" in policy/README (djschnei21)

Pull request description:

  Fixed up #29095, to refer to `-help`, rather than listing every option.

ACKs for top commit:
  stickies-v:
    ACK 0d627c4ca8
  glozow:
    lgtm ACK 0d627c4ca8

Tree-SHA512: 37d36ffa48297371eb0032ed48dce28802f862f6c18bdb50207555a228ce252e51a93a6fdef86b3e596d486c5107594d64db89f077b77fc885fe84cecb1dadc3
2024-01-12 12:25:22 +00:00
fanquake
8c5e4f42d5
Merge bitcoin/bitcoin#29208: build: Bump clang minimum supported version to 14
aaaace2fd1 fuzz: Assume presence of __builtin_*_overflow, without checks (MarcoFalke)
fa223ba5eb Revert "build: Fix undefined reference to __mulodi4" (MarcoFalke)
fa7c751bd9 build: Bump clang minimum supported version to 14 (MarcoFalke)

Pull request description:

  Most supported operating systems ship with clang-14 (or later), so bump the minimum to that and allow new code to drop workarounds for previous clang bugs.

  For reference:
  * https://packages.debian.org/bookworm/clang (`clang-14`)
  * https://packages.ubuntu.com/jammy/clang (`clang-14`)
  * CentOS-like 8/9 Stream: All Clang versions from 15 to 17
  * FreeBSD 12/13: All Clang versions from 15 to 16
  * OpenSuse Tumbleweed ships with https://software.opensuse.org/package/clang (`clang17`); No idea about OpenSuse Leap

  On operating systems where the clang version is not shipped by default, the user would have to use GCC, or install clang in a different way. For example:

  * https://packages.debian.org/bullseye/g++ (g++-10)
  * https://packages.ubuntu.com/focal/g++-10
  * https://apt.llvm.org/, or nix, or guix, or compile clang from source, ...

ACKs for top commit:
  fanquake:
    ACK aaaace2fd1

Tree-SHA512: 81d066b14cc568d27312f1cc814b09540b038a10a0a8e9d71fc9745b024fb6c32a959af673e6819b817ea7cef98da4abfa63dff16cffb7821b40083016b0291f
2024-01-12 10:03:22 +00:00
djschnei21
0d627c4ca8
doc: refer to "Node relay options" in policy/README 2024-01-11 18:06:01 +00:00
Ava Chow
7ff8e6b240
Merge bitcoin/bitcoin#28318: logging: Simplify API for level based logging
e60fc7d5d3 logging: Replace uses of LogPrintfCategory (Anthony Towns)
f7ce5ac08c logging: add LogError, LogWarning, LogInfo, LogDebug, LogTrace (Anthony Towns)
fbd7642c8e logging: add -loglevelalways=1 option (Anthony Towns)
782bb6a056 logging: treat BCLog::ALL like BCLog::NONE (Anthony Towns)
667ce3e329 logging: Drop BCLog::Level::None (Anthony Towns)
ab34dc6012 logging: Log Info messages unconditionally (Anthony Towns)
dfe98b6874 logging: make [cat:debug] and [info] implicit (Anthony Towns)
c5c76dc615 logging: refactor: pull prefix code out (Anthony Towns)

Pull request description:

  Replace `LogPrint*` functions with severity based logging functions:

   * `LogInfo(...)`, `LogWarning(...)`, `LogError(...)` for unconditional (uncategorised) logging (replaces `LogPrintf`)
   * `LogDebug(CATEGORY, ...)` and `LogTrace(CATEGORY, ...)` for conditional logging (replaces `LogPrint`)
   * `LogPrintLevel(CATEGORY, LEVEL, ...)` for when the level isn't known in advance, or a category needs to be added for an info/warning/error log message (mostly unchanged, but rarely needed)

  Logs look roughly as they do now with `LogInfo` not having an `[info]` prefix, and `LogDebug` having a `[cat]` prefix, rather than a `[cat:debug]` prefix. This removes `BCLog::Level::None` entirely -- for `LogFlags::NONE` just use `Level::Info`, for any actual category, use `Level::Debug`.

  Adds docs to developer-notes about when to use which level.

  Adds `-loglevelalways=1` option so that you get `[net:debug]`, `[all:info]`, `[all:warning]` etc, which might be helpful for automated parsing, or just if you like everything to be consistent. Defaults to off to reduce noise in the default config, and to avoid unnecessary changes on upgrades.

  Changes the behaviour of `LogPrintLevel(CATEGORY, BCLog::Level::Info, ...)` to be logged unconditionally, rather than only being an additional optional logging level in addition to trace and debug. Does not change the behaviour of `LogPrintLevel(NONE, Debug, ...)` and `LogPrintLevel(NONE, Trace, ...)` being no-ops.

ACKs for top commit:
  maflcko:
    re-ACK e60fc7d5d3 🌚
  achow101:
    ACK e60fc7d5d3
  stickies-v:
    ACK e60fc7d5d3
  jamesob:
    ACK e60fc7d5d3 ([`jamesob/ackr/28318.1.ajtowns.logging_simplify_api_for`](https://github.com/jamesob/bitcoin/tree/ackr/28318.1.ajtowns.logging_simplify_api_for))

Tree-SHA512: e7a4588779b148242495b7b6f64198a00c314cd57100affab11c43e9d39c9bbf85118ee2002792087fdcffdea08c84576e20844b3079f27083e26ddd7ca15d7f
2024-01-10 14:11:32 -05:00
MarcoFalke
fa7c751bd9
build: Bump clang minimum supported version to 14 2024-01-09 14:17:55 +01:00
Ava Chow
d036a86815
Merge bitcoin/bitcoin#28978: doc: Add multiprocess design doc
91dc48c148 doc: Add multiprocess design doc (Ryan Ofsky)

Pull request description:

  Add multiprocess design doc and existing multiprocess documentation into design and usage sections.

  Links to rendered markdown:

  https://github.com/ryanofsky/bitcoin/blob/pr/ipcdoc/doc/design/multiprocess.md
  https://github.com/ryanofsky/bitcoin/blob/pr/ipcdoc/doc/multiprocess.md

  ---

  This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/issues/28722).

ACKs for top commit:
  fjahr:
    ACK 91dc48c148
  achow101:
    ACK 91dc48c148
  TheCharlatan:
    ACK 91dc48c148
  stickies-v:
    ACK 91dc48c148 - left a couple of improvements but agreed that iterating in future PRs is better.

Tree-SHA512: 8890abd85555eb3a64e75e3393f867839771a83aaba7667c19eccac2e959fb37b13c3bc1906ff06ff3d66609e2c72835b4b9a22d31e997af4489092418eeb001
2024-01-02 10:45:11 -05:00
Ryan Ofsky
91dc48c148 doc: Add multiprocess design doc
Also split up existing multiprocess documentation into design and usage
sections
2023-12-22 16:23:33 -05:00
Anthony Towns
f7ce5ac08c logging: add LogError, LogWarning, LogInfo, LogDebug, LogTrace
These provide simple and clear ways to write the most common logging
operations:

    LogInfo("msg");
    LogDebug(BCLog::LogFlags::NET, "msg");

    LogError("msg");
    LogWarning("msg");
    LogTrace(BCLog::LogFlags::NET, "msg");

For cases where the level cannot be hardcoded, LogPrintLevel(category,
level, ...) remains available.
2023-12-20 15:59:48 +10:00
Ava Chow
1b2dedbf5c
Merge bitcoin/bitcoin#29040: refactor: Remove pre-C++20 code, fs::path cleanup
6666713041 refactor: Rename fs::path::u8string() to fs::path::utf8string() (MarcoFalke)
856c88776f ArgsManager: return path by value from GetBlocksDirPath() (Vasil Dimov)
fa3d9304e8 refactor: Remove pre-C++20 fs code (MarcoFalke)
fa00098e1a Add tests for C++20 std::u8string (MarcoFalke)
fa2bac08c2 refactor: Avoid copy/move in fs.h (MarcoFalke)
faea30227b refactor: Use C++20 std::chrono::days (MarcoFalke)

Pull request description:

  This:

  * Removes dead code.
  * Avoids unused copies in some places.
  * Adds copies in other places for safety.

ACKs for top commit:
  achow101:
    ACK 6666713041
  ryanofsky:
    Code review ACK 6666713041. Just documentation change since last review.
  stickies-v:
    re-ACK 6666713041

Tree-SHA512: 6176e44f30b310d51632ec2d3827c3819905d0ddc6a4b57acfcb6cfa1f9735176da75ee8ed4a4abd1296cb0b83bee9374cc6f91ffac87c19b63c435eeadf3f46
2023-12-14 16:46:54 -05:00
MarcoFalke
6666713041
refactor: Rename fs::path::u8string() to fs::path::utf8string() 2023-12-14 16:22:40 +01:00
Hennadii Stepanov
49a90915aa
build: Bump minimum required Boost to 1.73.0 to support C++20
Boost versions <1.73 have C++20-specific bugs that were fixed in the
following commits:
- 15fcf21356
- 495c095dc0
2023-12-12 19:59:52 +00:00
Marnix
d58f89d355 doc: update/clarify max outbound connection count 2023-12-11 20:05:25 +01:00
fanquake
14d1732602
Merge bitcoin/bitcoin#29025: doc: Add link to needs-release-notes label
fa88953d6f doc: Add link to needs-release-notes label (MarcoFalke)

Pull request description:

  This makes it easier to spot and not forget. C.f. https://github.com/bitcoin/bitcoin/pull/28597#issuecomment-1845299642

ACKs for top commit:
  kristapsk:
    ACK fa88953d6f
  TheCharlatan:
    ACK fa88953d6f

Tree-SHA512: 28336cde36d62622d1b6627497291cbd4644bf1e4e6f17dc9cde39f254e7094dd02484da754e45558e59facb20941dd0c049ce7b33dcc62bfec6c26c16516cdf
2023-12-08 10:25:33 +00:00
fanquake
ca5937553b
doc: Missing additions to 26.0 release notes 2023-12-07 15:35:44 +00:00
MarcoFalke
fa88953d6f
doc: Add link to needs-release-notes label 2023-12-07 15:56:39 +01:00
fanquake
7d4e47d184
doc: add historical release notes for 26.0 2023-12-07 13:53:42 +00:00
fanquake
8df4aaabbe
doc: add minimum required Linux Kernel to release-notes 2023-12-07 13:53:41 +00:00
fanquake
656a7e9de6
doc: remove mingw-w64 install for "older" systems
Now that we require GCC 10.1+, the posix variant is available on
supported systems.

i.e:
https://packages.debian.org/bullseye/g++-mingw-w64-x86-64-posix
https://packages.ubuntu.com/jammy/g++-mingw-w64-x86-64-posix
2023-11-17 10:57:51 +00:00
fanquake
30bd4b1e4a
doc: remove mention of missing bdb being a configure error
This is no-longer the case, unless you're passing additional flags,
which is not the case in this example.
2023-11-15 13:34:50 +00:00
Andrew Chow
d232e36abd
Merge bitcoin/bitcoin#28207: mempool: Persist with XOR
fa6b053b5c mempool: persist with XOR (MarcoFalke)

Pull request description:

  Currently the `mempool.dat` file stores data received from remote peers as-is. This may be problematic when a program other than Bitcoin Core tries to interpret them by accident. For example, an anti-virus program or other program may scan the file and move it into quarantine, or delete it, or corrupt it.

  While the local wallet is expected to re-submit any pending transactions, unrelated transactions may be missing from the mempool after a restart. This may cause fee estimates to be off, or may cause block relay to be slower.

  Fix this, similar to https://github.com/bitcoin/bitcoin/pull/6650, by rolling a random XOR pattern over the dat file when writing or reading it.

  Obviously this can only protect against programs that accidentally and unintentionally are trying to mess with the dat file. Any program that intentionally wants to mess with the dat file can still trivially do so.

ACKs for top commit:
  achow101:
    re-ACK fa6b053b5c
  glozow:
    reACK fa6b053b5c
  ismaelsadeeq:
    ACK fa6b053b5c

Tree-SHA512: ded2ce3d81bc944b828263534e3178a1e45a914fe8e024f4a14c6561a73e301820944ecc75dd704b3d4221a7a3a5c0597ccab79546250c1197609ee981fe324e
2023-11-13 11:28:15 -05:00
fanquake
29c2c90362
Merge bitcoin/bitcoin#28721: multiprocess compatibility updates
3b70f7b615 doc: fix broken doc/design/multiprocess.md links after #24352 (Ryan Ofsky)
6d43aad742 span: Make Span template deduction guides work in SFINAE context (Ryan Ofsky)
8062c3bdb9 util: Add ArgsManager SetConfigFilePath method (Ryan Ofsky)
441d00c60f interfaces: Rename CalculateBumpFees methods to be compatible with capn'proto (Ryan Ofsky)
156f49d682 interfaces: Change getUnspentOutput return type to avoid multiprocess segfault (Ryan Ofsky)
4978754c00 interfaces: Add schedulerMockForward method so mockscheduler RPC can work across processes (Ryan Ofsky)
924327eaf3 interfaces: Fix const virtual method that breaks multiprocess support (Ryan Ofsky)
82a379eca8 streams: Add SpanReader ignore method (Russell Yanofsky)

Pull request description:

  This is a collection of small changes to interfaces and code which were needed as part of multiprocess PR #10102, but have been moved here to make that PR smaller.

  All of these changes are refactoring changes which do not affect behavior of current code

  ---

  This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/issues/28722).

ACKs for top commit:
  achow101:
    ACK 3b70f7b615
  naumenkogs:
    ACK 3b70f7b615
  maflcko:
    re-ACK 3b70f7b615  🎆

Tree-SHA512: 2368772b887056ad8a9f84c299cfde76ba45943770e3b5353130580900afa9611302195b899ced7b6e303b11f053ff204cae7c28ff4e12c55562fcc81119ba4c
2023-11-13 12:32:55 +00:00
MarcoFalke
fa6b053b5c
mempool: persist with XOR 2023-11-09 19:44:50 +01:00
Andrew Chow
4cebad4833
Merge bitcoin/bitcoin#28363: doc: Add offline signing tutorial
3c208cc05e Add offline signing tutorial (Brandon Odiwuor)

Pull request description:

  This PR adds offline signing tutorial. Fixes https://github.com/bitcoin/bitcoin/issues/9492

  Although there currently exists tutorials on external-signer and on multisig implemented on #24519  . The external-signer tutorial assumes a connected device and the multisig tutorial is only for multisig transactions and does not include using an offline wallet

  - The tutorial uses signet(instead of regtest) to be as close as possible to mainnet

ACKs for top commit:
  achow101:
    ACK 3c208cc05e
  willcl-ark:
    ACK 3c208cc05e
  pinheadmz:
    ACK 3c208cc05e
  Zero-1729:
    ACK 3c208cc05e

Tree-SHA512: c1686043d9e9ed440e78d219a6b18d58d62efd05bdd535e74194d8cc2db0a91e94c6c619106453120a137e47220cf3ab27af3214e861f4e5cc419a73a8704dd6
2023-11-06 10:54:54 -05:00
Hennadii Stepanov
8047bb6fea
build: Update qt package up to 5.15.11 2023-11-01 15:20:20 +00:00
MarcoFalke
faea58eee4
Bump g++ minimum supported version to 10
Also, enable -Werror=maybe-uninitialized in
ci/test/00_setup_env_native_qt5.sh
2023-10-30 15:12:26 +01:00
Brandon Odiwuor
3c208cc05e Add offline signing tutorial 2023-10-27 12:32:48 +03:00
Andrew Chow
e789b30b25
Merge bitcoin/bitcoin#27116: doc: clarify that LOCK() internally checks whether the mutex is held
91d0888921 sync: unpublish LocksHeld() which is used only in sync.cpp (Vasil Dimov)
3df37e0c78 doc: clarify that LOCK() does AssertLockNotHeld() internally (Vasil Dimov)

Pull request description:

  Constructs like

  ```cpp
  AssertLockNotHeld(m);
  LOCK(m);
  ```

  are equivalent to (almost, modulo some logging differences, see below)

  ```cpp
  LOCK(m);
  ```

  for non-recursive mutexes, so it is ok to omit `AssertLockNotHeld()` in such cases. Requests to do the former keep coming during review process. `developer-notes.md` explicitly states "Combine annotations in function declarations with run-time asserts in function definitions", but that seems to be too strong or unclear. `LOCK()` is also a run-time assert in this case.

  Also remove `LocksHeld()` from the public interface in `sync.h` since it is only used in `sync.cpp`.

ACKs for top commit:
  achow101:
    ACK 91d0888921
  hebasto:
    ACK 91d0888921, I have reviewed the code and it looks OK.

Tree-SHA512: c4b7ef2c0bfeb28d1c4f55f497810f629873137e02f5a92137c02cb1ff603ac76473dcd2171e594491494a5cb87b8c0c803e06b86f190d4acb231791e28e802d
2023-10-26 15:02:13 -04:00
Andrew Chow
b72cb7801b
Merge bitcoin/bitcoin#28283: doc: clarify cookie generation in JSON-RPC-interface.md
bdb2e8d4ae Update JSON-RPC-interface.md (iamcarlos94)

Pull request description:

  clarifying when the .cookie file is generated

ACKs for top commit:
  maflcko:
     lgtm ACK bdb2e8d4ae
  achow101:
    ACK bdb2e8d4ae

Tree-SHA512: 5a19b9892917126980bd3260f6035a8b2c5c9a9cfd16261d5364713ffa4816f1604e8bd3298fcf7ca7be072f33cd5a9f4e0a89cfee77ae90dc0b201e4abc0f3f
2023-10-26 14:37:52 -04:00
MarcoFalke
fae379b6b1
build: Bump minimum supported Clang to clang-13 2023-10-24 18:52:00 +02:00
fanquake
43704827b4
Merge bitcoin/bitcoin#28211: Bump python minimum supported version to 3.9
fa25e8b0a1 doc: Recommend lint image build on every call (MarcoFalke)
faf70c1f33 Bump python minimum version to 3.9 (MarcoFalke)
fa8996b930 ci: Bump i686_multiprocess.sh to latest Ubuntu LTS (MarcoFalke)

Pull request description:

  All supported operating systems ship with python 3.9 (or later), so bumping the minimum should not cause any issues. A bump will allow new code to use new python 3.9 features.

  For reference:
  * https://packages.debian.org/bullseye/python3
  * https://packages.ubuntu.com/focal/python3.9
  * FreeBSD 12/13 also ships with 3.9
  * CentOS-like 8/9 also ships with 3.9 (and 3.11)
  * OpenSuse Leap also ships with 3.9 (and 3.11) https://software.opensuse.org/package/python311-base

  This is for Bitcoin Core 27.0 in 2024 (next year), not the soon upcoming 26.0 next month.

ACKs for top commit:
  Sjors:
    ACK fa25e8b0a1
  jamesob:
    ACK fa25e8b0a1 ([`jamesob/ackr/28211.1.MarcoFalke.bump_python_minimum_supp`](https://github.com/jamesob/bitcoin/tree/ackr/28211.1.MarcoFalke.bump_python_minimum_supp))

Tree-SHA512: 86c9f6ac4b5ba94a62ee6a6062dd48a8295d8611a39cdb5829f4f0dbc77aaa1a51edccc7a99275bf699143ad3a6fe826de426d413e5a465e3b0e82b86d10c32e
2023-10-24 17:24:30 +01:00
fanquake
1ac5584f80
doc: remove release note fragments for 26.x branch 2023-10-24 11:13:44 +01:00
fanquake
96ec3b67a7
Merge bitcoin/bitcoin#28707: doc: add historical release notes for 24.2
3f482ac231 doc: add historical release notes for 24.2 (fanquake)

Pull request description:

  v24.2 has [been tagged](https://github.com/bitcoin/bitcoin/releases/tag/v24.2).

ACKs for top commit:
  stickies-v:
    ACK 3f482ac231

Tree-SHA512: 71773832910ecda7ed34c6545d184ecbc743d9a36aadd8e4bd367ff60ef5b8048d39335b2347878c4a1a076cc691f12f0e36e8db542757c883d7f83d1161625d
2023-10-24 10:33:26 +01:00
Andrew Chow
da8e397e4a
Merge bitcoin/bitcoin#28685: coinstats, assumeutxo: fix hash_serialized2 calculation
4bfaad4eca chainparams, assumeutxo: Fix signet txoutset hash (Fabian Jahr)
a503cd0f0b chainparams, assumeutxo: Fix testnet txoutset hash (Fabian Jahr)
f6213929c5 assumeutxo: Check deserialized coins for out of range values (Fabian Jahr)
66865446a7 docs: Add release notes for #28685 (Fabian Jahr)
cb0336817e scripted-diff: Rename hash_serialized_2 to hash_serialized_3 (Fabian Jahr)
351370a1d2 coinstats: Fix hash_serialized2 calculation (Fabian Jahr)

Pull request description:

  Closes #28675

  The last commit demonstrates that theStack's analysis [here](https://github.com/bitcoin/bitcoin/issues/28675#issuecomment-1770389468) seems to be correct. There will be more changes needed for the rest of the test suite but the `feature_assumeutxo.py` with my additional tests pass.

ACKs for top commit:
  achow101:
    ACK 4bfaad4eca
  theStack:
    Code-review ACK 4bfaad4eca
  ryanofsky:
    Code review ACK 4bfaad4eca

Tree-SHA512: 2f6abc92b282f7c5da46391803cf0804d13978d191d541f2509b532c538abccd0a081e46cda23d80d47206a05fa2b5d41b7ab246e6a263db7a7461d6292116ef
2023-10-23 15:16:08 -04:00
Ryan Ofsky
5c32c5971c
Merge bitcoin/bitcoin#28618: doc: assumeutxo prune and index notes
03f82087f6 doc: assumeutxo prune and index notes (Sjors Provoost)

Pull request description:

  Based on recent comments on #27596.

ACKs for top commit:
  pablomartin4btc:
    re ACK 03f82087f6
  ryanofsky:
    ACK 03f82087f6. Nice changes, these seem like very helpful notes

Tree-SHA512: fe651b49f4d667400a3655899f27a96dd1eaf67cf9215fb35db5f44fb8c0313e7d541518be6791fec93392df24b909793f3886adb808e53228ed2a291165639d
2023-10-23 12:41:15 -04:00
fanquake
3f482ac231
doc: add historical release notes for 24.2 2023-10-23 10:21:00 +01:00
Fabian Jahr
66865446a7
docs: Add release notes for #28685 2023-10-20 22:53:06 +02:00
Ryan Ofsky
3b70f7b615 doc: fix broken doc/design/multiprocess.md links after #24352 2023-10-20 10:30:16 -04:00