Commit graph

102 commits

Author SHA1 Message Date
Byron Hambly
0f57df2c31
Merge 6c77dbfd7e into merged_master (Bitcoin PR bitcoin/bitcoin#29529) 2025-12-04 15:39:27 +02:00
Byron Hambly
352fbd36dc
Merge ffb021612b into merged_master (Bitcoin PR bitcoin/bitcoin#28451) 2025-11-11 11:44:59 +02:00
Byron Hambly
26b9abc2f2
Merge b5a271334c into merged_master (Bitcoin PR bitcoin/bitcoin#28922) 2025-11-11 08:56:23 +02:00
Byron Hambly
910f6d4759
Merge f4073c5395 into merged_master (Bitcoin PR bitcoin/bitcoin#28578) 2025-11-10 15:24:39 +02:00
Byron Hambly
34f8d7a3c4
Merge 53313c49d6 into merged_master (Bitcoin PR bitcoin/bitcoin#28246) 2025-08-01 12:40:43 +02:00
Byron Hambly
5d35499c0c Merge 238d29aff9 into merged_master (Bitcoin PR bitcoin/bitcoin#28361) 2025-07-21 09:41:01 +02:00
Byron Hambly
a35749fd61 Merge d98180a969 into merged_master (Bitcoin PR bitcoin/bitcoin#28419) 2025-07-18 14:49:55 +02:00
Byron Hambly
b4405ba453 Merge e9262ea32a into merged_master (Bitcoin PR bitcoin/bitcoin#26750) 2025-03-31 16:37:52 +02:00
Byron Hambly
cfe620f7fd Merge 93cae70d87 into merged_master (Bitcoin PR bitcoin/bitcoin#26561) 2025-03-03 14:54:07 +02:00
Byron Hambly
7fe321f93a
Merge 0968c51401 into merged_master (Bitcoin PR bitcoin/bitcoin#26497) 2025-03-03 12:10:27 +02:00
Byron Hambly
ca0a68b350
Merge UP TO 551c8e9526 into merged_master (UP TO bitcoin/bitcoin#26349)
Includes FIXMEs for a few functional tests
2025-02-05 09:50:17 +02:00
Byron Hambly
5501bf04b8 Merge ea67232cdb into merged_master (Bitcoin PR bitcoin/bitcoin#25962) 2024-11-26 11:34:14 +02:00
Byron Hambly
da5b3cf786 Merge 9ba73758c9 into merged_master (Bitcoin PR bitcoin/bitcoin#24697)
Also removes the redundant redeclaration of CheckMinimalPush from
interpreter.h that was moved to script.h in f4e289f384
2024-10-20 20:19:04 +02:00
Byron Hambly
299207b5d6 Merge 2bdce7f7ad into merged_master (Bitcoin PR bitcoin/bitcoin#25514)
Note I did manually run the trim headers functional test successfully on
this commit, since it touched some of trim headers code.
2024-10-17 10:44:56 +02:00
James Dorfman
c86e00508f Merge dd13d7bf16 into merged_master (Bitcoin PR bitcoin/bitcoin#25591) 2024-10-16 05:03:53 +00:00
James Dorfman
0d5e99e733 Merge 55c9e2d790 into merged_master (Bitcoin PR bitcoin/bitcoin#24378) 2024-09-17 18:40:39 +00:00
James Dorfman
3c3193e5fb Merge ba29911e21 into merged_master (Bitcoin PR bitcoin/bitcoin#25426) 2024-09-17 18:36:20 +00:00
James Dorfman
94c443f2bf Merge a085a55491 into merged_master (Bitcoin PR bitcoin/bitcoin#25428) 2024-09-16 05:05:52 +00:00
James Dorfman
d12772b740 Merge 0ea92cad52 into merged_master (Bitcoin PR bitcoin/bitcoin#24356) 2024-09-10 20:19:42 +00:00
James Dorfman
5fa8f4dda7 Merge 6300b9556e into merged_master (Bitcoin PR bitcoin/bitcoin#24357) 2024-08-01 16:18:44 +00:00
James Dorfman
e860ace1e4 Merge f089a0802c into merged_master (Bitcoin PR bitcoin/bitcoin#24692) 2024-05-23 23:51:34 +00:00
James Dorfman
363d930f8e Merge 9344697e57 into merged_master (Bitcoin PR bitcoin/bitcoin#21160) 2024-03-19 20:07:00 +00:00
fanquake
312f3381a2
fuzz: restrict fopencookie usage to Linux & FreeBSD
Should fix the GCC compilation portion of #29517:
https://github.com/bitcoin/bitcoin/issues/29517#issuecomment-1973573314.

See also:
https://www.gnu.org/software/gnulib/manual/html_node/fopencookie.html
but note that FreeBSD has supported this function since 11.x.
2024-03-05 21:18:44 +00:00
MarcoFalke
fa4fbd5816
Remove unused version.h include 2023-11-30 11:28:19 +01:00
fanquake
b5a271334c
Merge bitcoin/bitcoin#28922: Use Txid in COutpoint
9e58c5bcd9 Use Txid in COutpoint (dergoegge)

Pull request description:

  This PR changes the type of the hash of a transaction outpoint from `uint256` to `Txid`.

ACKs for top commit:
  Sjors:
    ACK 9e58c5bcd9
  stickies-v:
    ACK 9e58c5bcd9. A sizeable diff, but very straightforward changes. Didn't see anything controversial. Left a few nits, but nothing blocking, only if you have to retouch.
  TheCharlatan:
    ACK 9e58c5bcd9

Tree-SHA512: 58f61ce1c58668f689513e62072a7775419c4d5af8f607669cd8cdc2e7be9645ba14af7f9e2d65da2670da3ec1ce7fc2a744037520caf799aba212fd1ac44b34
2023-11-24 14:41:58 +00:00
dergoegge
9e58c5bcd9 Use Txid in COutpoint 2023-11-21 13:15:44 +00:00
brunoerg
641dddf018 fuzz: create ConsumeCoins 2023-11-20 15:57:56 -03:00
Andrew Chow
07d3bdf4eb Add PubKeyDestination for P2PK scripts
P2PK scripts are not PKHash destinations, they should have their own
type.

This also results in no longer showing a p2pkh address for p2pk outputs.
However for backwards compatibility, ListCoinst will still do this
conversion.
2023-09-12 12:14:31 -04:00
Andrew Chow
8dd067088d Make WitnessUnknown members private
Make sure that nothing else can change WitnessUnknown's data members by
making them private. Also change the program to use a vector rather than
C-style array.
2023-09-12 12:14:31 -04:00
fanquake
238d29aff9
Merge bitcoin/bitcoin#28361: fuzz: add ConstructPubKeyBytes util function
1580e3be83 fuzz: add ConstructPubKeyBytes function (josibake)

Pull request description:

  In https://github.com/bitcoin/bitcoin/pull/28246 and https://github.com/bitcoin/bitcoin/pull/28122 , we add a `PubKeyDestination` and a `V0SilentPaymentsDestination`. Both of these PRs update `fuzz/util.cpp` and need a way to create well-formed pubkeys. Currently in `fuzz/util.cpp`, we have some logic for creating pubkeys in the multisig data provider. This logic is duplicated in #28246 and duplicated again in #28122. Seems much better to have a `ConstructPubKeyBytes` function that both PRs (and any future work) can reuse.

  This PR introduces a function to do this and has the existing code use it. While the purpose is to introduce a utility function, the previous multisig code used `ConsumeIntegralInRange(4, 7)` which would have created some uncompressed pubkeys with the prefix 0x05, which is incorrect (see https://bitcoin.stackexchange.com/questions/57855/c-secp256k1-what-do-prefixes-0x06-and-0x07-in-an-uncompressed-public-key-signif)

  tldr; using `PickValueFromArray` is more correct as it limits to the set of defined prefixes for compressed and uncompressed pubkeys.

ACKs for top commit:
  Sjors:
    ACK 1580e3be83

Tree-SHA512: c87c8bcd1f6b3a97ef772be93102efb912811c59f32211cfd531a116f1da8a57c8c6ff106b34f2a2b88d8b34fb5bc30d9f9ed6d2720113ffcaaa2f8d5dc9eb27
2023-09-07 16:22:16 +01:00
Sebastian Falbesoner
583af18fd1 fuzz: introduce and use ConsumePrivateKey helper 2023-09-06 13:59:12 +02:00
josibake
1580e3be83
fuzz: add ConstructPubKeyBytes function
Today, this code only has one spot where it needs well-formed pubkeys,
but future PRs will want to reuse this code.

Add a function which creates a well-formed byte array that can be turned
into a pubkey. It is not required that the pubkey is valid, just that it
can be recognized as a compressed or uncompressed pubkey.

Note: while the main intent of this commit is to wrap the existing
logic into a function, it also switches to `PickValueFromArray` so that
we are only choosing one of 0x04, 0x06, or 0x07. The previous code,
`ConsumeIntegralInRange` would have also picked 0x05, which is not
definied in the context of compressed vs uncompressed keys.

See https://bitcoin.stackexchange.com/questions/57855/c-secp256k1-what-do-prefixes-0x06-and-0x07-in-an-uncompressed-public-key-signif
for more details.
2023-08-30 17:45:51 +02:00
Byron Hambly
a573a48bf9 Merge 292a841553 into merged_master (Bitcoin PR bitcoin/bitcoin#24449) 2023-07-02 16:32:16 +00:00
Byron Hambly
4e5e47d2d5 Merge 5f4c07b799 into merged_master (Bitcoin PR bitcoin/bitcoin#24136) 2023-06-29 13:43:18 +00:00
Byron Hambly
b535b87e0e Merge 7de2cf9b25 into merged_master (Bitcoin PR bitcoin/bitcoin#23992) 2023-06-20 11:11:11 +00:00
Byron Hambly
2643bd7860 Merge 8f1c28a609 into merged_master (Bitcoin PR bitcoin/bitcoin#21879) 2023-06-15 08:00:33 +00:00
Byron Hambly
b8e9358d8c Merge e31cdb0238 into merged_master (Bitcoin PR bitcoin/bitcoin#23411) 2023-06-15 07:42:35 +00:00
Byron Hambly
5494a066ab Merge 498fe4b780 into merged_master (Bitcoin PR bitcoin/bitcoin#23575) 2023-06-13 09:58:15 +00:00
Byron Hambly
9189a19022 Merge 024e4debc5 into merged_master (Bitcoin PR bitcoin/bitcoin#23408) 2023-05-25 08:34:33 +00:00
Byron Hambly
498907a233 Merge 816e15ee81 into merged_master (Bitcoin PR bitcoin/bitcoin#22951) 2023-05-09 11:50:39 +00:00
Hennadii Stepanov
306ccd4927
scripted-diff: Bump copyright headers
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-

Commits of previous years:
- 2021: f47dda2c58
- 2020: fa0074e2d8
- 2019: aaaaad6ac9
2022-12-24 23:49:50 +00:00
MarcoFalke
fa3b2cf277
fuzz: Move-only net utils 2022-11-23 17:26:01 +01:00
dergoegge
0eeb9b0442 [fuzz] Move ConsumeNetAddr to fuzz/util/net.h 2022-11-17 14:52:45 +00:00
dergoegge
291c8697d4 [fuzz] Make ConsumeNetAddr produce valid onion addresses 2022-11-17 14:52:45 +00:00
glozow
7e1007a3c6
Merge bitcoin/bitcoin#25421: net: convert standalone IsSelectableSocket() and SetSocketNonBlocking() to Sock methods
b527b54950 net: convert standalone SetSocketNonBlocking() to Sock::SetNonBlocking() (Vasil Dimov)
29f66f7682 moveonly: move SetSocketNonBlocking() from netbase to util/sock (Vasil Dimov)
b4bac55679 net: convert standalone IsSelectableSocket() to Sock::IsSelectable() (Vasil Dimov)
5db7d2ca0a moveonly: move IsSelectableSocket() from compat.h to sock.{h,cpp} (Vasil Dimov)

Pull request description:

  _This is a piece of #21878, chopped off to ease review._

  * convert standalone `IsSelectableSocket()` to `Sock::IsSelectable()`
  * convert standalone `SetSocketNonBlocking()` to `Sock::SetNonBlocking()`

  This further encapsulates syscalls inside the `Sock` class and makes the callers mockable.

ACKs for top commit:
  jonatack:
    ACK b527b54950 review/debug build/unit tests at each commit, cross-referenced the changes with `man select` and `man errno`, ran a signet node on the last commit with ip4/ip6//tor/i2p/cjdns and network connections were nominal
  dergoegge:
    Code review ACK b527b54950

Tree-SHA512: af783ce558c7a89e173f7ab323fb3517103d765c19b5d14de29f64706b4e1fea3653492e8ea73ae972699986aaddf2ae72c7cfaa7dad7614254283083b7d2632
2022-10-12 15:49:02 -04:00
fanquake
eb15569280
fuzz: add util/mempool/h.cpp
Moving the mempool code (Boost) out of util.h, results in a ~10% speedup
(for me) when compiling the fuzz tests.
2022-10-04 21:12:50 +01:00
fanquake
079cf88c0d
refactor: move Boost datetime usage to wallet
This means we don't need datetime in a --disable-wallet build, and it
isn't included in the kernel.
2022-10-01 11:41:53 +01:00
Anthony Towns
d394156b99 net: make CNode::m_permissionFlags const 2022-09-01 20:53:57 +10:00
MarcoFalke
fa64dd6673
refactor: Use type-safe std::chrono for addrman time 2022-07-26 11:06:10 +02:00
Vasil Dimov
b527b54950
net: convert standalone SetSocketNonBlocking() to Sock::SetNonBlocking()
This further encapsulates syscalls inside the `Sock` class.

Co-authored-by: practicalswift <practicalswift@users.noreply.github.com>
2022-07-20 16:26:24 +02:00