core-lightning/bitcoin
Vincenzo Palazzo 843fae7caf psbt: fix PSBT mutation in the changeset
During the changeset calculation after the `openchannel2_sign`
hook.

So this commit patch the problem with the following change:

- Addressed an issue where `psbt_get_changeset` was modifying the original PSBT unnecessarily.
- This modification led to problems with a different hsmd, as referenced in [Issue #6672](https://github.com/ElementsProject/lightning/issues/6672).
- Noted a potential optimization where only a subpart of the PSBT
needs to be cloned, as the mutation is specific to inputs.

Link: https://github.com/ElementsProject/lightning/issues/6672
Reported-by: @devrandom
Suggested-by: Ken Sedgwick <ken@bonsai.com>
Co-Developed-by: Ken Sedgwick <ken@bonsai.com>
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2023-10-24 12:57:45 +10:30
..
test psbt: fix PSBT mutation in the changeset 2023-10-24 12:57:45 +10:30
address.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
base58.c memleak: handle libwally allocations better. 2022-03-21 10:19:50 +10:30
base58.h bitcoin: remove unused functions, or make static. 2021-12-06 10:05:39 +10:30
block.c bitcoin: fix header order for make check-source. 2022-06-18 13:45:09 +09:30
block.h bitcoin: remove unused functions, or make static. 2021-12-06 10:05:39 +10:30
chainparams.c chainparams/dual-open: set max_supply; use for max on wumbo channels 2022-10-20 13:42:41 +02:00
chainparams.h chainparams/dual-open: set max_supply; use for max on wumbo channels 2022-10-20 13:42:41 +02:00
feerate.c lightningd: clarify uses of dynamic (mempool) feerate floor, and static. 2023-04-10 07:31:12 +09:30
feerate.h lightningd: clarify uses of dynamic (mempool) feerate floor, and static. 2023-04-10 07:31:12 +09:30
locktime.c bitcoin: remove unused functions, or make static. 2021-12-06 10:05:39 +10:30
locktime.h bitcoin: remove unused functions, or make static. 2021-12-06 10:05:39 +10:30
Makefile bitcoin: add to check-source-bolt, and (minor) quotes fixup. 2022-06-18 13:45:09 +09:30
preimage.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
preimage.h wire: move towire/fromwire_preimage out to bitcoin/preimage.c. 2020-05-18 14:51:12 +02:00
privkey.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
privkey.h wire: move remaining bitcoin functions out to bitcoin/ files. 2020-05-18 14:51:12 +02:00
psbt.c psbt: fix PSBT mutation in the changeset 2023-10-24 12:57:45 +10:30
psbt.h psbt: fix PSBT mutation in the changeset 2023-10-24 12:57:45 +10:30
pubkey.c Remove point32. 2022-10-26 11:29:06 +10:30
pubkey.h Remove point32. 2022-10-26 11:29:06 +10:30
README Fix typo. 2015-06-25 13:48:05 +09:30
script.c p2tr script utilities 2023-07-11 11:41:15 +09:30
script.h p2tr script utilities 2023-07-11 11:41:15 +09:30
shadouble.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
shadouble.h wire: move remaining bitcoin functions out to bitcoin/ files. 2020-05-18 14:51:12 +02:00
short_channel_id.c bitcoin: remove unused functions, or make static. 2021-12-06 10:05:39 +10:30
short_channel_id.h lightningd: Add RPC for populating DB with stub channels and set an error on reconnecting 2022-07-14 12:24:48 -05:00
signature.c bitcoin: remove DEVELOPER options. 2023-09-21 20:08:24 +09:30
signature.h bitcoin: remove DEVELOPER options. 2023-09-21 20:08:24 +09:30
tx_parts.c memleak: handle libwally allocations better. 2022-03-21 10:19:50 +10:30
tx_parts.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
tx.c Support p2tr deposit addresses 2023-07-11 11:41:15 +09:30
tx.h Support p2tr deposit addresses 2023-07-11 11:41:15 +09:30
varint.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
varint.h varint: Add helper function for getting varlen size 2019-10-10 05:57:45 +00:00

These are standard bitcoin manipulation routines which should be
provided by any normal bitcoin library in whatever language you choose.

The ones here are standalone ones taken from bitcoin core and some I
wrote, many taken from bitcoin-iterate and pasted in here.