Repository navigation
Fix improper parsing of transaction with some nVersion - #1269
Conversation
5b6b2db to
59531a9
Compare
| nVersion = nVersion & ~NoDummyInput; | ||
|
|
||
| if (vin.Count == 0 && witSupported && !hasNoDummy) | ||
| if (vin.Count == 0 && witSupported) |
There was a problem hiding this comment.
Not super familiar with the codebase, but the version based check is present below when writing out a transaction. As a result, I think if you tried to write out a segwit transaction with that version that tripped things up in the first place, it may end up writing it out as a non-segwit txn.
There was a problem hiding this comment.
Either way, I'd recommend treating the flag market bytes and the version as distinct components during parsing.
There was a problem hiding this comment.
This whole version bit thing shouldn't have been in the source anymore... I'm now copying the Bitcoin Core implementation to make sure it match.
But this broke my tests, due to parsing for transactions with 0 inputs... Normally this can't happen in the network, but internally in NBitcoin it happens time to time. So I'm just adapting for this case only.
I believe that originally the version bit was added due to the same reason.
59531a9 to
f782d80
Compare
| { | ||
| /* Check whether witnesses need to be serialized. */ | ||
| if (HasWitness) | ||
| if (HasWitness || Inputs.Count == 0) |
There was a problem hiding this comment.
I don't think you need to gate setting the flag value on if there're inputs or not. Instead, if writing a witness encoding is requested and any of the inputs has a witness, then the marker byte should be written.
There was a problem hiding this comment.
From BIP 144:
If the witness is empty, the old serialization format must be used.
There was a problem hiding this comment.
bitcoind also has a check for failing parsing if the witness encoding is used, but no witnesses are found in the transaction: https://github.com/bitcoin/bitcoin/blob/31d3eebfb92ae0521e18225d69be95e78fb02672/src/primitives/transaction.h#L243-L245
There was a problem hiding this comment.
All of those hacks I am doing is for handling the serialization of tx which doesn't have any inputs...
If I fix the bug, then it create issues for txs without inputs... (used internally for some reason)
There was a problem hiding this comment.
Ah gotcha, maybe it's used for serializing PSBTs where the template is known but inputs haven't been added?
I think you should still be able to tighten up this parsing, while still allowing for writing and reading transactions that actually have no inputs.
There was a problem hiding this comment.
After further analysis, it was only used in tests, and in a single place to estimate the size of a transaction... So I will just forbid to serialize a tx without any input from now... not worth the trouble of dealing with it.
f782d80 to
c954fff
Compare
|
Ok so I think I will push this, even if tests aren't passing. There are trouble for transactions without inputs which are used internally in some part of NBitcoin. But I guess I will be able to fix that somehow later, I want at least to unblock NBX. |
Backport of NixOS/nixpkgs#407336 Fixes MetacoSA/NBitcoin#1269
commit c810709 Author: steepdawn974 <steepdawn974@tutanota.com> Date: Sat Nov 29 21:55:55 2025 +0100 Bump bitcoin-knots to 29.2.knots20251110 commit c9979d9 Author: steepdawn974 <steepdawn974@tutanota.com> Date: Tue Oct 21 22:24:38 2025 +0200 [chore] bump lnhance lo 28.1-lnhance-790f5e0 commit baf09ef Author: steepdawn974 <steepdawn974@tutanota.com> Date: Mon Oct 20 22:34:15 2025 +0200 [chore] Bump bitcoin-knots to 29.2.knots20251010 commit 8cf16df Author: steepdawn974 <steepdawn974@tutanota.com> Date: Tue Sep 30 21:14:55 2025 +0200 Patching core-lnhance commit cc924e2 Author: steepdawn974 <steepdawn974@tutanota.com> Date: Tue Sep 30 17:01:42 2025 +0200 new pkgs: bitcoin-core-lnhance commit 7b34f95 Author: steepdawn974 <steepdawn974@tutanota.com> Date: Tue Sep 16 11:43:05 2025 +0200 Bump version to 29.1.knots20250903 commit a4d26e7 Author: steepdawn974 <steepdawn974@tutanota.com> Date: Tue Sep 16 11:30:09 2025 +0200 Revert "Replace custom Knots with official nixpkg bitcoind-knots" This reverts commit 7efc48b. commit 83b462a Author: steepdawn974 <steepdawn974@tutanota.com> Date: Tue Apr 29 16:25:57 2025 +0200 Replace custom Knots with official nixpkg bitcoind-knots commit 01d8896 Author: steepdawn974 <steepdawn974@tutanota.com> Date: Thu Apr 24 15:46:49 2025 +0200 Add Bitcoin Knots as alternative full node - Introduced a new Bitcoin Knots Nix package at pkgs/bitcoin-knots/default.nix - Added a NixOS module for managing the Bitcoin Knots daemon (modules/bitcoin-knots.nix) - Updated pkgs/pinned.nix and modules/modules.nix to include Bitcoin Knots - Provided configuration options and compatibility with existing bitcoind setups - Documented switching and configuration in INSTRUCTIONS.md and examples/README.md commit 0c961fa Merge: 508a26f 81ac873 Author: Jonas Nick <jonasd.nick@gmail.com> Date: Sun Sep 14 18:55:01 2025 +0000 Merge fort-nix#809: Update nixpkgs 81ac873 update nixpkgs (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 81ac873 Tree-SHA512: 0ad8cb2cc30653158a2fce3749d20b76dc0965b3dc110bfbb41cb4f49bd7a5bca164a0415d9d9110cd395790dbe0268f4abc056745cd378027af40f76e36b75d commit 81ac873 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Fri Sep 12 09:11:04 2025 +0200 update nixpkgs bitcoind: 29.0 -> 29.1 btcpayserver: 2.1.6 -> 2.2.1 commit 508a26f Merge: 54221ac 454f6ad Author: Jonas Nick <jonasd.nick@gmail.com> Date: Thu Sep 11 06:28:22 2025 +0000 Merge fort-nix#808: rtl: 0.15.5 -> 0.15.6 454f6ad rtl: 0.15.5 -> 0.15.6 (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 454f6ad Tree-SHA512: 075ac5330f4b32218829779e97094de354195fcc143b8b5ac1bd0be1fdf2a357290ebf0a5661d18df5177b095b37c7f0e41b80c0b18afdf7793c9543a52e0a27 commit 454f6ad Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Wed Sep 10 11:00:02 2025 +0200 rtl: 0.15.5 -> 0.15.6 commit 54221ac Merge: 21442ea 0c02330 Author: Jonas Nick <jonasd.nick@gmail.com> Date: Sun Sep 7 08:34:28 2025 +0000 Merge fort-nix#807: Update nixpkgs 0c02330 update nixpkgs (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 0c02330 Tree-SHA512: 97d171691937fe0ea2474e7b09267d63b07bd0cd0b4c724d8cddde5db1b8a6df383410be213c6e11e9691cbc1fa21e8f6e85455e09765b1be7e9dc56cf618bb8 commit 0c02330 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Thu Aug 28 16:23:47 2025 +0200 update nixpkgs lnd: 0.19.2-beta -> 0.19.3-beta commit 21442ea Merge: 0451ee6 6bc5747 Author: Jonas Nick <jonasd.nick@gmail.com> Date: Tue Aug 19 07:22:47 2025 +0000 Merge fort-nix#806: run-tests: Fix `tmpDir` being deleted before it's used 6bc5747 run-tests: fix `tmpDir` being deleted before it's used (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 6bc5747 Tree-SHA512: 7767634bc098faac5cfeb14d1800f24df89a1ea5d56fe894338ae2d2871c3293a8bafc62ee61b5cb7f9f658b02c2a52bc7f82b86f69d20d1dae86cc6bfe004b3 commit 0451ee6 Merge: 5deb0b4 904fd2e Author: Jonas Nick <jonasd.nick@gmail.com> Date: Tue Aug 19 07:03:54 2025 +0000 Merge fort-nix#802: trustedcoin: 0.8.4 -> 0.8.6 904fd2e trustedcoin: 0.8.4 -> 0.8.6 (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 904fd2e Tree-SHA512: e19c0185d8cdbd2f5d07f06a8397f0d804ed8b364fc19c3ad76cf6a3fa321c07d7fafedabab4c7ea4aaad69501fc8cc07172fd73e37d2ebe0f1e2d8acac12246 commit 6bc5747 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Mon Aug 18 13:28:00 2025 +0200 run-tests: fix `tmpDir` being deleted before it's used In `buildTests`, `nixInstantiate` is called in a subshell. When `tmpDir` is unset before the call, the tmpdir is created in the subshell and gets deleted before subshell exit (via `trap`). But subsequent code accesses the tmpdir, which has now been deleted, leading to an error. This bug has been undetected for a long time because bash 5.2 has a bug [1] where `trap` is not always executed, causing the tmpdir to never be deleted. Bash 5.3 (introduced in NixOS 25.05) now works correctly and exposes the bug. Fix it by creating the tmpdir before the subshell call. [1] https://mail.gnu.org/archive/html/help-bash/2024-07/msg00007.html commit 904fd2e Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Mon Aug 11 18:25:41 2025 +0200 trustedcoin: 0.8.4 -> 0.8.6 commit 5deb0b4 Merge: db83817 da2a683 Author: Jonas Nick <jonasd.nick@gmail.com> Date: Sat Aug 16 07:28:33 2025 +0000 Merge fort-nix#801: Update nixpkgs da2a683 update nixpkgs (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK da2a683 Tree-SHA512: c2923fd8f0d17c865198733e60c74659628accbf10b6afd259e188b33f167abfba54964165579269fafb3fe46643479f02dde7f7f2a4f9232a697d34960329df commit db83817 Merge: b59764d 874b214 Author: Jonas Nick <jonasd.nick@gmail.com> Date: Fri Aug 15 20:24:07 2025 +0000 Merge fort-nix#805: examples/configuration.nix: Improve `secure-node` preset documentation 874b214 examples/configuration.nix: improve `secure-node` preset documentation (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 874b214 Tree-SHA512: e5d201b5cd267a6d48545a008348d207b29cae82b7a6b4c921c33378f19f252e3b90141b9285ccd3edebeb818ec5190c4dd6c473546492d00cc61670ce3b2d74 commit b59764d Merge: 5031e25 9f8dc58 Author: Jonas Nick <jonasd.nick@gmail.com> Date: Fri Aug 15 15:41:26 2025 +0000 Merge fort-nix#803: CI: Group job output, print eval results 9f8dc58 ci: group job output, print eval results (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 9f8dc58 Tree-SHA512: 732c3f65c49a4e0b92d050189721c8b3e244224aad37f9e602103acb252c6e3464a61128689df9de20e52a77df53490de9b51986e00f40d65386f4fd34f1d39e commit 874b214 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Thu Aug 14 12:35:13 2025 +0200 examples/configuration.nix: improve `secure-node` preset documentation Explicitly import modules.nix, so that users can remove the secure-node.nix import. commit 9f8dc58 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Mon Aug 11 18:36:28 2025 +0200 ci: group job output, print eval results Useful for debugging. commit da2a683 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Sun Aug 10 19:06:23 2025 +0200 update nixpkgs electrs: 0.10.9 -> 0.10.10 commit 5031e25 Merge: b53eefd 17f057c Author: Jonas Nick <jonasd.nick@gmail.com> Date: Mon Jul 21 06:23:52 2025 +0000 Merge fort-nix#800: Update nixpkgs 17f057c update nixpkgs (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 17f057c Tree-SHA512: 9cbfe378ca9487ec667c1dac0f74dfac3eeaa61e2580fe557ba84e9801adedac10e63044f6e26bef8cdfffb3809999046f7ff017289f9d2c5753bffd13c30dda commit 17f057c Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Sun Jul 20 20:00:47 2025 +0200 update nixpkgs btcpayserver: 2.1.5 -> 2.1.6 lnd: 0.19.1-beta -> 0.19.2-beta commit b53eefd Merge: e2ca2e4 84028a2 Author: Jonas Nick <jonasd.nick@gmail.com> Date: Wed Jul 16 19:50:32 2025 +0000 Merge fort-nix#799: rtl: 0.15.4 -> 0.15.5 84028a2 rtl: 0.15.4 -> 0.15.5 (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 84028a2 Tree-SHA512: 747bf94c1f8a15af9973b61292a150f0971c68d5ef3e344c4a7e7ce2c3a6e81740e68c81548141a108c58963e73c183d9e4385106f47772fab5027d89309ad2e commit 84028a2 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Wed Jul 9 16:00:59 2025 +0200 rtl: 0.15.4 -> 0.15.5 commit e2ca2e4 Merge: aec8331 5516bcc Author: Jonas Nick <jonasd.nick@gmail.com> Date: Thu Jul 3 08:16:36 2025 +0000 Merge fort-nix#795: CI: Switch from Cirrus to Github Actions 5516bcc ci: switch from Cirrus to Github Actions (Erik Arvstedt) 7d33e9d tests: extract fn `instantiateTestsFromStr` (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 5516bcc Tree-SHA512: 1aa23ffc52c8e9b7efd38fbf31be9bab7a7e187571c6bee8c1dbdb8eb14f90995b260d10f0d3d9968d6e9be1be452d22173d9775fd6d42a94a01f41ab3305d21 commit aec8331 Merge: ac1344f 042f4af Author: Jonas Nick <jonasd.nick@gmail.com> Date: Wed Jul 2 08:25:50 2025 +0000 Merge fort-nix#793: Update nixpkgs 042f4af update nixpkgs (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 042f4af Tree-SHA512: a46a00ad1bc04c1774818340a4528f811bbfdcdf81cb50b1a33fcfb2f6984ea395a603df3b9830e9e06f0a46813a0504af6312a504716cbfda3789b09e51804c commit 042f4af Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Fri Jun 20 22:08:40 2025 +0200 update nixpkgs btcpayserver: 2.1.1 -> 2.1.5 clightning: 25.02.2 -> 25.05 lightning-loop: 0.31.1-beta -> 0.31.2-beta lnd: 0.19.0-beta -> 0.19.1-beta commit 5516bcc Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Thu Jun 26 23:22:51 2025 +0200 ci: switch from Cirrus to Github Actions commit 7d33e9d Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Thu Jun 26 23:22:50 2025 +0200 tests: extract fn `instantiateTestsFromStr` Fn `instantiateTests` now takes an array of strings. It is used in the following commit. commit ac1344f Merge: b91de26 9311fb9 Author: Jonas Nick <jonasd.nick@gmail.com> Date: Wed Jun 11 14:38:06 2025 +0000 Merge fort-nix#792: lnd: disable log file, disable log timestamps 9311fb9 lnd: disable log file, disable log timestamps (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 9311fb9 Tree-SHA512: e0e901d904c2041b32aa22341f8be7d8711cb181cb961fe968fee152e08e91cb3b3c8cfd977073ac830de4ed5cb4a54c620f27b7abb0f582668678bbd210c33c commit 9311fb9 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Tue Jun 10 18:34:15 2025 +0200 lnd: disable log file, disable log timestamps This is the default for nix-bitcoin services. `no-timestamps` has been added in lnd 0.19.0-beta. Also remove deprecated option `bitcoin.active`. commit b91de26 Merge: 067dad7 fd84c57 Author: Jonas Nick <jonasd.nick@gmail.com> Date: Wed Jun 11 13:53:43 2025 +0000 Merge fort-nix#791: Update nixpkgs fd84c57 update nixpkgs (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK fd84c57 Tree-SHA512: 1e5ef8e2d7140454eb59796b090a12f240820e401a3c155ca0f5be0bb4b6944ec0afc0da55b6d056034116283e565ef40095259472ce371c21e26f4cb4edfab8 commit fd84c57 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Tue Jun 10 18:17:46 2025 +0200 update nixpkgs lightning-loop: 0.28.8-beta -> 0.31.1-beta lnd: 0.18.5-beta -> 0.19.0-beta commit 067dad7 Merge: 120daaa fb56684 Author: Jonas Nick <jonasd.nick@gmail.com> Date: Wed Jun 11 13:29:14 2025 +0000 Merge fort-nix#788: Update to NixOS 25.05 fb56684 ci: enable parallel building (Erik Arvstedt) a52bf46 treewide: streamline bash error reporting (Erik Arvstedt) 538b2dc clnrest: update `cargoHash` (Erik Arvstedt) 9b607da python-packages/specific-versions: remove `coincurve_20` (Erik Arvstedt) 9da4d1e python-packages: update to NixOS 25.05 (Erik Arvstedt) 79900f9 update to nodejs 22 (Erik Arvstedt) 9808a5e update to NixOS 25.05 (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK fb56684 Tree-SHA512: d2a1493d372860827acbb8ada806aeb9766198034a98f3dc9dccf7afd349381b34de3df30a292ea6a01b435b4a3c66f76477a59ce95d051c14879b463830dcfa commit fb56684 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Mon Jun 2 11:52:19 2025 +0200 ci: enable parallel building Use `nix build --print-build-logs` to prefix the build output with the name of its derivation. This helps to distinguish build outputs when output is interleaved in parallel builds. commit a52bf46 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Sun Jun 1 23:32:29 2025 +0200 treewide: streamline bash error reporting - Show the script file name - Use common line number format that allows opening file at line in editors commit 538b2dc Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Sun Jun 1 23:05:56 2025 +0200 clnrest: update `cargoHash` commit 9b607da Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Sun Jun 1 23:05:57 2025 +0200 python-packages/specific-versions: remove `coincurve_20` `coincurve_20` in now included in nixpkgs 25.05. Also remove its dependency `scikit-build-core_0_10`. commit 9da4d1e Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Sun Jun 1 23:05:55 2025 +0200 python-packages: update to NixOS 25.05 - Cryptography contains no relevant backwards-incompatible changes https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst#4400---2024-11-27 - Other updates are minor maintenance releases commit 79900f9 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Sun Jun 1 23:05:54 2025 +0200 update to nodejs 22 Version 18 is no longer supported. Version 22 is the current LTS release. commit 9808a5e Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Sun Jun 1 23:05:53 2025 +0200 update to NixOS 25.05 commit 120daaa Merge: b5142a1 7822e2c Author: Jonas Nick <jonasd.nick@gmail.com> Date: Mon Jun 9 12:30:20 2025 +0000 Merge fort-nix#787: mempool: 2.5.0 -> 3.2.1 7822e2c mempool: add frontend settings (Erik Arvstedt) 81112a0 mempool: 2.5.0 -> 3.2.1 (Erik Arvstedt) 9a044fb mempool: remove unneded nginx config files (Erik Arvstedt) 710a92d mempool: improve comments (Erik Arvstedt) d61099a mempool: minor refactorings (Erik Arvstedt) c48b997 mempool: fix version (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 7822e2c Tree-SHA512: 50f953a324641fa87f913035d99d2a739c33bb8adca20a5337c0061809ff3e17315bb7761655689b791ef9f53fa3995148ca4d4729bf989074cd52ff41b6f03d commit b5142a1 Merge: a06d1d8 4763e2e Author: Jonas Nick <jonasd.nick@gmail.com> Date: Mon Jun 9 06:30:53 2025 +0000 Merge fort-nix#789: clightning: increase service start timeout 4763e2e clightning: increase service start timeout (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 4763e2e Tree-SHA512: 9b14ba275479a30bd64368f419b8661d6f46a32a60ef5ebf85c95d41c5c54e93d11665a77d4c6adee7f4c107cafa0dea77d1de7fd9a40feb05bb758674f73d41 commit 4763e2e Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Sun Jun 1 23:19:08 2025 +0200 clightning: increase service start timeout commit 7822e2c Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Sun Jun 1 23:03:33 2025 +0200 mempool: add frontend settings commit 81112a0 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Sun Jun 1 23:03:32 2025 +0200 mempool: 2.5.0 -> 3.2.1 commit 9a044fb Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Sun Jun 1 23:03:31 2025 +0200 mempool: remove unneded nginx config files mempool.conf, nginx.conf were not used in nix-bitcoin. commit 710a92d Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Sun Jun 1 23:03:30 2025 +0200 mempool: improve comments commit d61099a Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Mon Jun 2 10:46:52 2025 +0200 mempool: minor refactorings - Use `sourceRoot` - Allow `generate.sh` to directly trigger the build of `nodeModules`. Needed by mempool 3.2.1, where `mempool-backend` has multiple fixed output derivation dependencies, which can only be updated if they can be built directly. commit c48b997 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Mon Jun 2 10:32:32 2025 +0200 mempool: fix version Remove `v` prefix of mempool drv versions: `v2.5.0` -> `2.5.0` commit a06d1d8 Merge: e7e6353 343bf47 Author: Jonas Nick <jonasd.nick@gmail.com> Date: Sun May 25 15:30:20 2025 +0000 Merge fort-nix#784: update nixpkgs 343bf47 charge-lnd: remove electrum server support (Erik Arvstedt) b111cf9 update nixpkgs (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 343bf47 Tree-SHA512: 912b96fc4ea47ada176f05fa2c71d71bc94b37f0e42af23b41a44b8ed46d3ad3cd5b403ccabb05342c3f52ad420e57249bac5dc632147761619b969b79dc07a4 commit 343bf47 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Sun May 25 13:28:21 2025 +0200 charge-lnd: remove electrum server support This has been removed upstream: accumulator/charge-lnd@481ccf5 commit b111cf9 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Sun May 25 12:02:31 2025 +0200 update nixpkgs btcpayserver: 2.1.0 -> 2.1.1 charge-lnd: 0.2.13 -> 0.3.0 clightning: 25.02.1 -> 25.02.2 commit e7e6353 Merge: 03c154b c65cfdc Author: Jonas Nick <jonasd.nick@gmail.com> Date: Sat May 24 04:55:59 2025 +0000 Merge fort-nix#783: bitcoind: remove upper limit of option `dbcache` c65cfdc bitcoind: remove upper limit of option `dbcache` (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK c65cfdc Tree-SHA512: a29aa43684aa05ec703a0be78cc4fcf6687d84aabde257dcca3f9eb40d31a8a9d41a4f68ee433fbb19ff027bc9e129fcde850dcca411895ab735baa8e148e18b commit 03c154b Merge: 52809af 44662a8 Author: Jonas Nick <jonasd.nick@gmail.com> Date: Sat May 24 04:52:08 2025 +0000 Merge fort-nix#782: trustedcoin: 2024-11-15 -> 0.8.4 44662a8 trustedcoin: 2024-11-15 -> 0.8.4 (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 44662a8 Tree-SHA512: 532289c866b8c40603c2dbadea4305d4a15bdcf524caeb277062d48cfac5141230ad309e7ef3ce98828871ca61253a55b4834f5d86f04e3c00997e4e4e574a37 commit c65cfdc Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Thu May 22 15:04:37 2025 +0200 bitcoind: remove upper limit of option `dbcache` The upper limit has been removed. See item `The maximum allowed value...` at https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-29.0.md#updated-settings commit 44662a8 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Thu May 22 10:42:46 2025 +0200 trustedcoin: 2024-11-15 -> 0.8.4 commit 52809af Merge: 1586a34 ce6244c Author: Jonas Nick <jonasd.nick@gmail.com> Date: Wed May 21 20:11:08 2025 +0000 Merge fort-nix#780: clightning: set service as active only after clnrest has started ce6244c clightning: set service as active only after clnrest has started (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK ce6244c Tree-SHA512: e92df9fc5f42ad59eb05421e1645012fc98a8bd020215fa894d22bdde8b2860b6462c1db96b4c957e256beac9b93b76336bad9eb313c0b5cc727fffbf6b42970 commit ce6244c Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Tue May 20 22:39:28 2025 +0200 clightning: set service as active only after clnrest has started commit 1586a34 Merge: f61e4c3 a2a0174 Author: Jonas Nick <jonasd.nick@gmail.com> Date: Sat May 17 07:00:41 2025 +0000 Merge fort-nix#776: bitcoind-rpc-public-whitelist: add `getblockfrompeer` a2a0174 bitcoind-rpc-public-whitelist.nixbitcoind-rpc-public-whitelist: add `getblockfrompeer` (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK a2a0174 Tree-SHA512: cfcb21239da22c2d051f7dfbbf3a3390a0c06f09f196d2b6e227b25518063c755064228081882e11ff85a5297b9dd3da6402b395323fcb4615c72ea599615588 commit f61e4c3 Merge: 040231d 742eb2e Author: Jonas Nick <jonasd.nick@gmail.com> Date: Sat May 17 06:58:59 2025 +0000 Merge fort-nix#775: nbxplorer: init at 2.5.26 742eb2e nbxplorer: init at 2.5.26 (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 742eb2e Tree-SHA512: 734f2e5cb5d54a38785db70efc87d40f35ccf63a7ab018fe37d34556a0c8a2312a8b9872409fc1fd32d5614d450281b0961e0390cb035d3b513111cb12ec8aed commit a2a0174 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Thu May 15 22:48:55 2025 +0200 bitcoind-rpc-public-whitelist.nixbitcoind-rpc-public-whitelist: add `getblockfrompeer` This is used by nbxplorer since v2.5.24 on pruned nodes: btcpayserver/NBXplorer#511 commit 742eb2e Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Thu May 15 22:31:57 2025 +0200 nbxplorer: init at 2.5.26 Backport of NixOS/nixpkgs#407336 Fixes MetacoSA/NBitcoin#1269 commit 040231d Merge: b2bc5e6 69090cd Author: Jonas Nick <jonasd.nick@gmail.com> Date: Wed May 14 10:17:19 2025 +0000 Merge fort-nix#773: pinned pkgs: add `bitcoind-knots` 69090cd pinned pkgs: add `bitcoind-knots` (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK 69090cd Tree-SHA512: f99036bad7535d6b8617b2384d63922158138ddfd7284b59837a3566babe156372be427956f907a87e78b57d21efa6921b95350f36d7d301c70bb79ef7712118 commit 69090cd Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Mon May 12 23:55:36 2025 +0200 pinned pkgs: add `bitcoind-knots` commit b2bc5e6 Merge: 990805a 411b131 Author: Jonas Nick <jonasd.nick@gmail.com> Date: Fri May 9 13:57:05 2025 +0000 Merge fort-nix#772: update nixpkgs 411b131 test: remove clightning plugin start timeout patch (Erik Arvstedt) 815f2cd clightning: don't set `datadir` for `bitcoin-cli` plugin (Erik Arvstedt) 04b6a09 clightning-plugins: use `clnrest`, remove Python version (Erik Arvstedt) ac86e67 clnrest: init at 0.2.0 (Erik Arvstedt) 6e3c5db update nixpkgs (Jonas Nick) Pull request description: ACKs for top commit: erikarvstedt: ACK 411b131 Tree-SHA512: 8dd521079d76b75d4db5cbb94d622fe4713b52cf2ffe196d997838c918ba0d07622e5ae5789851c38520dcbd00f24c4657d04a82b21342adb0bb52eca609664d commit 411b131 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Fri May 9 13:31:20 2025 +0200 test: remove clightning plugin start timeout patch Unneded because the timeout has been increased upstream: ElementsProject/lightning@ee3133f commit 815f2cd Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Fri May 9 13:31:19 2025 +0200 clightning: don't set `datadir` for `bitcoin-cli` plugin This option is unneeded because `bitcoin-cli` auth and connection settings are already provided by other options like `bitcoin-rpcpassword`. In bitcoind versions prior to 29.0, option `datadir` (passed by clightning to `bitcoin-cli`) was therefore ignored. Since 29.0, option `datadir` is always checked for validity. This causes a file permission error because service clighting has no access to the bitcoin datadir. This is now fixed. commit 04b6a09 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Fri May 9 13:31:18 2025 +0200 clightning-plugins: use `clnrest`, remove Python version commit ac86e67 Author: Erik Arvstedt <erik.arvstedt@gmail.com> Date: Thu May 8 23:58:27 2025 +0200 clnrest: init at 0.2.0 commit 6e3c5db Author: Jonas Nick <jonasd.nick@gmail.com> Date: Mon May 5 12:40:09 2025 +0000 update nixpkgs bitcoin: 28.1 -> 29.0 bitcoind: 28.1 -> 29.0 btcpayserver: 2.0.7 -> 2.1.0 clightning: 24.11.1 -> 25.02.1 fulcrum: 1.11.1 -> 1.12.0.1 nbxplorer: 2.5.23 -> 2.5.25
The coinbase transaction 889d4fed1ec4a775d02082b5ff727f48d93013469db709d8d435e15b173118f3 wasn't properly parsed by NBitcoin, resulting in code crashing when parsing block 896727.
The root cause seems to be that I based my implementation on code that was done pre-release of segwit bitcoin/bitcoin@e37b16a .