Byron Hambly
aad0872c6a
Merge c63c8a1590 into merged_master (Bitcoin PR bitcoin/bitcoin#27464 )
2025-05-09 12:00:14 +02:00
Byron Hambly
5ac82e15a9
Merge 669af32632 into merged_master (Bitcoin PR bitcoin/bitcoin#27419 )
2025-05-09 11:47:45 +02:00
Byron Hambly
0c1e24ab17
Merge 5aa0c82ccd into merged_master (Bitcoin PR bitcoin/bitcoin#25325 )
2025-05-02 15:01:30 +02:00
Byron Hambly
e118b94887
Merge b63f7ab9b5 into merged_master (Elements PR #1433 )
2025-04-16 11:48:02 +02:00
Byron Hambly
82f8b9e1ff
Merge 0eb2ea5cbe into merged_master (Elements PR #1425 )
2025-04-15 11:19:51 +02:00
Byron Hambly
abdf08133b
Merge c17d4d3b6b into merged_master (Bitcoin PR bitcoin/bitcoin#26662 )
2025-04-12 13:49:26 +02:00
Byron Hambly
d23a2260eb
Merge 04595484d9 into merged_master (Bitcoin PR bitcoin/bitcoin#27404 )
2025-04-12 13:30:40 +02:00
Byron Hambly
e23e51f9ef
Merge 369d4c03b7 into merged_master (Bitcoin PR bitcoin/bitcoin#27254 )
2025-04-12 12:19:09 +02:00
Byron Hambly
cbcc6e9930
Merge 8d31d769b7 into merged_master (Bitcoin PR bitcoin/bitcoin#27344 )
2025-04-11 23:10:04 +02:00
Byron Hambly
32f56a1e5b
Merge d254f942a5 into merged_master (Bitcoin PR bitcoin/bitcoin#27324 )
2025-04-11 23:01:24 +02:00
Byron Hambly
e04de3e652
Merge 3963067555 into merged_master (Bitcoin PR bitcoin/bitcoin#26642 )
2025-04-11 22:28:06 +02:00
Byron Hambly
e268f3a7eb
Merge a70911492f into merged_master (Bitcoin PR bitcoin/bitcoin#26749 )
...
includes a FIXME for rpc_psbt.py that must have happened in the merge of
bitcoin/bitcoin#27200
2025-04-11 20:49:25 +02:00
Thomas Trevethan
8c1a76abb8
Merge 34551cb97a into merged_master (Bitcoin PR bitcoin/bitcoin#27289 )
2025-04-11 15:08:23 +01:00
Byron Hambly
afe6c13f41
Merge 236cd231d0 into merged_master (Bitcoin PR bitcoin/bitcoin#27197 )
2025-04-09 13:20:57 +02:00
Byron Hambly
f3fcbc07b0
Merge cb40639bdf into merged_master (Bitcoin PR bitcoin/bitcoin#27165 )
2025-04-09 13:11:08 +02:00
Tom Trevethan
483a6cd1bc
Merge 8b4dc94734 into merged_master (Bitcoin PR bitcoin/bitcoin#27117 )
2025-04-08 12:51:45 +00:00
Byron Hambly
c312a23624
Merge 35fbc97208 into merged_master (Bitcoin PR bitcoin/bitcoin#25619 )
2025-04-07 08:19:49 +02:00
Byron Hambly
c7bff919f0
Merge fb82d91a9c into merged_master (Bitcoin PR bitcoin/bitcoin#24149 )
2025-04-05 22:44:14 +02:00
Byron Hambly
bdb3612cea
Merge 1e0198b6c1 into merged_master (Bitcoin PR bitcoin/bitcoin#26153 )
2025-04-05 18:42:18 +02:00
Byron Hambly
14af5f2c3c
Merge 8126551d54 into merged_master (Bitcoin PR bitcoin/bitcoin#27011 )
2025-04-05 16:54:52 +02:00
Byron Hambly
2ba842104d
Merge 550e6bd227 into merged_master (Bitcoin PR bitcoin/bitcoin#26935 )
2025-04-05 10:57:32 +02:00
Byron Hambly
a48982853a
Merge ba3d32715f into merged_master (Bitcoin PR bitcoin/bitcoin#26847 )
2025-04-05 09:33:50 +02:00
Byron Hambly
5376805631
Merge c8cb62272e into merged_master (Bitcoin PR bitcoin/bitcoin#26999 )
2025-04-05 08:34:22 +02:00
Tom Trevethan
1435fb334b
Merge 79e007d1d6 into merged_master (Bitcoin PR bitcoin/bitcoin#25296 )
2025-04-04 13:36:08 +00:00
Byron Hambly
0534256d39
Merge 77a36033b5 into merged_master (Bitcoin PR bitcoin/bitcoin#26551 )
2025-04-04 11:47:53 +02:00
Byron Hambly
c67d68f205
Merge 3ce7b27124 into merged_master (Bitcoin PR bitcoin/bitcoin#26930 )
2025-04-04 10:43:26 +02:00
Byron Hambly
c38021b28f
Merge 837e9ed611 into merged_master (Bitcoin PR bitcoin/bitcoin#26898 )
2025-04-04 10:27:59 +02:00
Byron Hambly
517e379f52
Merge 05e3468fb3 into merged_master (Bitcoin PR bitcoin/bitcoin#26686 )
2025-04-03 20:35:27 +02:00
Byron Hambly
e9d7ca4858
Merge 07c54de550 into merged_master (Bitcoin PR bitcoin/bitcoin#26691 )
2025-04-02 09:40:04 +02:00
Byron Hambly
feb8f8cf2b
Merge 9887fc7898 into merged_master (Bitcoin PR bitcoin/bitcoin#26758 )
2025-04-01 21:20:49 +02:00
Tom Trevethan
694c51a39f
Merge 3212d104f4 into merged_master (Bitcoin PR bitcoin/bitcoin#23829 )
2025-04-01 15:23:27 +00:00
Byron Hambly
b4405ba453
Merge e9262ea32a into merged_master (Bitcoin PR bitcoin/bitcoin#26750 )
2025-03-31 16:37:52 +02:00
Byron Hambly
f4756663f6
Merge 65f5cfda65 into merged_master (Bitcoin PR bitcoin/bitcoin#25311 )
2025-03-31 10:42:10 +02:00
Tom Trevethan
387af571cd
Merge 1ff79292e3 into merged_master (Bitcoin PR bitcoin/bitcoin#26609 )
2025-03-24 23:33:59 +00:00
Russell O'Connor
3a80782963
Avoid double free in simplicity pointer when copying PrecomputedTransactionData
...
We cannot put a raw pointer into a class that has a default copy constructor.
2025-03-03 17:35:07 -05:00
Byron Hambly
b929f50852
Merge a79b720092 into merged_master (Bitcoin PR bitcoin/bitcoin#26295 )
2025-03-03 15:12:13 +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
b5a75af14a
Merge 1b680948d4 into merged_master (Bitcoin PR bitcoin/bitcoin#26292 )
2025-03-03 13:37:42 +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
da8b6f2f7f
Merge d0b1f613c2 into merged_master (Bitcoin PR bitcoin/bitcoin#17786 )
2025-03-03 11:12:31 +02:00
Byron Hambly
b83abdf89a
Merge UP TO e42ba134f4 into merged_master (UP TO Bitcoin PR bitcoin/bitcoin#26448 )
...
1667577042 2022-11-04T16:50:42+01:00 e42ba134f4 Bitcoin Merge bitcoin/bitcoin#26448 : test: fix intermittent failure in p2p_sendtxrcncl.py
1667576919 2022-11-04T15:48:39+00:00 83cf055bef Bitcoin Merge bitcoin/bitcoin#26443 : doc: mention BIP86 in doc/bips.md
1667478613 2022-11-03T13:30:13+01:00 28653a596a Bitcoin Merge bitcoin/bitcoin#26445 : .python-version: bump patch version to 3.6.15
1667471345 2022-11-03T10:29:05+00:00 2a7c9984db Bitcoin Merge bitcoin/bitcoin#25248 : refactor: Add LIFETIMEBOUND / -Wdangling-gsl to Assert()
1667397640 2022-11-02T15:00:40+01:00 5274f32437 Bitcoin Merge bitcoin/bitcoin#26417 : test: fix intermittent failure in feature_index_prune.py
1667372848 2022-11-02T08:07:28+01:00 39f026b1ec Bitcoin Merge bitcoin/bitcoin#26396 : net: Avoid SetTxRelay for feeler connections
1667316369 2022-11-01T16:26:09+01:00 bf0cb43990 Bitcoin Merge bitcoin/bitcoin#26437 : test: remove unused `CHANGE_{XPRV,XPUB}` constants
1667300957 2022-11-01T11:09:17+00:00 5668ccec1d Bitcoin Merge bitcoin/bitcoin#25548 : gui: Check for readlink buffer overflow and handle gracefully
1667297563 2022-11-01T10:12:43+00:00 c041d8f2c9 Bitcoin Merge bitcoin/bitcoin#26360 : build: remove threadinterrupt from libbitcoinkernel
1667297149 2022-11-01T10:05:49+00:00 27e76afe24 Bitcoin Merge bitcoin/bitcoin#26294 : build: move util/url to common/url
1667291397 2022-11-01T08:29:57+00:00 d08b63baa0 Bitcoin Merge bitcoin/bitcoin#26373 : Update minisketch subtree to latest upstream
1667230521 2022-10-31T15:35:21+00:00 43e813cab2 Bitcoin Merge bitcoin/bitcoin#26387 : p2p: TryLowWorkHeadersSync follow-ups
1667217075 2022-10-31T11:51:15+00:00 4766cd1981 Bitcoin Merge bitcoin/bitcoin#24051 : Bugfix: configure: bitcoin-{cli,tx,util} don't need UPnP, NAT-PMP, or ZMQ
1667213203 2022-10-31T11:46:43+01:00 2856dee808 Bitcoin Merge bitcoin/bitcoin#26402 : doc: Fix typos
1667202170 2022-10-31T08:42:50+01:00 c75c0d8e11 Bitcoin Merge bitcoin/bitcoin#26424 : doc: correct deriveaddresses RPC name
1667034850 2022-10-29T11:14:10+02:00 4f270d2b63 Bitcoin Merge bitcoin/bitcoin#26404 : test: fix intermittent failure in rpc_getblockfrompeer.py
1667030363 2022-10-29T09:59:23+02:00 984a01589b Bitcoin Merge bitcoin/bitcoin#26408 : test: Remove spam from debug log
1666985837 2022-10-28T15:37:17-04:00 8b050762b1 Bitcoin Merge bitcoin/bitcoin#26409 : refactor: Silence GCC Wmissing-field-initializers in ChainstateManagerOpts
1666949533 2022-10-28T11:32:13+02:00 1bad29fe02 Bitcoin Merge bitcoin/bitcoin#26377 : test: Make `system_tests/run_command` test locale and platform agnostic
2025-02-27 13:40:17 +02:00
Byron Hambly
ed487fc096
Merge e343610b99 into merged_master (Elements PR #1414 )
2025-02-18 16:51:36 +02:00
Byron Hambly
ff888d5a2b
tidy: use nullptr in simplicity targets
2025-02-17 10:52:31 +02:00
Andrew Poelstra
a2d24eff9e
fuzz: remove dead code from simplicity_tx.cpp
2025-02-13 23:09:51 +00:00
Andrew Poelstra
69c241592f
fuzz: update simplicity_tx target to hit simplicity CMR error
2025-02-13 23:08:57 +00:00
Byron Hambly
4a8546600d
Merge e41b225107 into merged_master (Elements PR #1384 )
2025-02-13 08:48:21 +02:00
Byron Hambly
1ba6aeea51
Merge 99c2ee7f9a into merged_master (Elements PR #1399 )
2025-02-12 14:47:53 +02:00
Andrew Poelstra
3fe5d12c57
fuzz: simplicity: use zero CMR for invalid programs
...
When we have an invalid program, use a zero CMR and create a valid
control block/taptweak. Otherwise we fail to hit the Simplicity logic at
all with bad programs.
#
# You are committing on CAMUS
#
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch 2024-12--simple-fuzz
# Changes to be committed:
# modified: src/test/fuzz/simplicity_tx.cpp
#
# Untracked files:
# reduced-corpus/
# run-fuzz-merge-dir-CPzq/
# run-fuzz-merge-dir-sscf/
#
2025-02-11 16:12:29 +00:00
Andrew Poelstra
eea423e3d6
fuzz: add second simplicity fuzz test
...
The first fuzztest takes a Simplicity program and a transaction and
directly calls the Simplicity interpreter with some context cobbled
together from the transaction. It also tries messing with the budget
and computes AMRs to check that the AMR-check works, even though on
the blockchain AMRs are never used.
It also attempts mangling programs to directly fuzz the parser, type
inference and CMR checking.
THIS test, on the other hand, takes a transaction, looks for Simplicity
programs (or witnesses which look like Simplicity programs), computes
their CMRs to produce a correct corresponding scriptPubKey, creates
scriptchecks, and executes them. This should do an end-to-end coverage
of the whole Simplicity consensus logic, including all the new branches
in interpreter.cpp.
To produce seeds for this, I have a a local fuzz target which uses
rust-simplicity and rust-elements to produce programs, deep Taproot trees,
and transactions. I run this to get high coverage, then dump the
resulting complete transactions to disk, where they can be used as
seeds for this test.
2025-02-11 16:12:29 +00:00
Andrew Poelstra
a87e4cf70b
simplicity: rewrite fuzz target
...
This fuzz target takes its seeds in a simple and well-defined format: a
four-byte LE budget, then a transaction, Simplicity program and witness,
each prefixed by a four-byte LE length. The fuzz target extracts any
additional randomness it needs from the txid of the first input of the
transaction, since this data is not interpreted in any other way we
therefore won't confuse the fuzzer.
The reason for this design, rather than a more typical "just query the
fuzzer when you need stuff", is to make it possible to fairly easily
generate test vectors from sources other than this fuzz test. (For
example, I have an alternate target which uses Rust code to generate
well-formed Simplicity programs, which quickly gets high coverage at the
expense of being an unmaintainable mess.)
This commit includes a .c file with a small function to comute the AMR
of a program. This is needed to pass a correct AMR to the Simplicity
interpreter, to exercise all the AMR-checking paths. In practice this is
not really necessary; Elements passes NULL to disable these AMR checks.
2025-02-11 16:12:28 +00:00