Page MenuHomePhabricator

Support for serialization parameters
Changes PlannedPublic

Authored by PiRK on Fri, Dec 5, 11:51.

Details

Reviewers
None
Group Reviewers
Restricted Project
Summary

The moved part can be reviewed with the git options
--ignore-all-space --color-moved=dimmed-zebra --color-moved-ws=ignore-all-space

(Modified by Marco Falke)

Co-authored-by: Pieter Wuille <pieter@wuille.net>
Co-authored-by: Vasil Dimov <vd@FreeBSD.org>

This is a partial backport of core#25284
https://github.com/bitcoin/bitcoin/pull/25284/commits/faec591d64e40ba7ec7656cbfdda1a05953bde13
https://github.com/bitcoin/bitcoin/pull/25284/commits/fafa3fc5a62702da72991497e3270034eb9159c0
Depends on D19055

Test Plan

ninja all check-all

Event Timeline

PiRK requested review of this revision.Fri, Dec 5, 11:51
PiRK planned changes to this revision.Fri, Dec 5, 12:18

Tail of the build log:

PASSED                         [ 20%]##teamcity[testFinished timestamp='2025-12-05T12:16:35.707' duration='14' flowId='tests.test_iguana.test_invalid_format' name='tests.test_iguana.test_invalid_format']

tests/test_iguana.py::test_invalid_inputindex ##teamcity[testStarted timestamp='2025-12-05T12:16:35.708' captureStandardOutput='false' flowId='tests.test_iguana.test_invalid_inputindex' metainfo='test_invalid_inputindex' name='tests.test_iguana.test_invalid_inputindex']
PASSED                     [ 25%]##teamcity[testFinished timestamp='2025-12-05T12:16:35.724' duration='15' flowId='tests.test_iguana.test_invalid_inputindex' name='tests.test_iguana.test_invalid_inputindex']

tests/test_iguana.py::test_sig_push_only ##teamcity[testStarted timestamp='2025-12-05T12:16:35.725' captureStandardOutput='false' flowId='tests.test_iguana.test_sig_push_only' metainfo='test_sig_push_only' name='tests.test_iguana.test_sig_push_only']
PASSED                          [ 30%]##teamcity[testFinished timestamp='2025-12-05T12:16:35.789' duration='64' flowId='tests.test_iguana.test_sig_push_only' name='tests.test_iguana.test_sig_push_only']

tests/test_iguana.py::test_script_sig_success ##teamcity[testStarted timestamp='2025-12-05T12:16:35.790' captureStandardOutput='false' flowId='tests.test_iguana.test_script_sig_success' metainfo='test_script_sig_success' name='tests.test_iguana.test_script_sig_success']
PASSED                     [ 35%]##teamcity[testFinished timestamp='2025-12-05T12:16:35.841' duration='50' flowId='tests.test_iguana.test_script_sig_success' name='tests.test_iguana.test_script_sig_success']

tests/test_iguana.py::test_script_sig_invalid_opcode_encoding ##teamcity[testStarted timestamp='2025-12-05T12:16:35.842' captureStandardOutput='false' flowId='tests.test_iguana.test_script_sig_invalid_opcode_encoding' metainfo='test_script_sig_invalid_opcode_encoding' name='tests.test_iguana.test_script_sig_invalid_opcode_encoding']
PASSED     [ 40%]##teamcity[testFinished timestamp='2025-12-05T12:16:35.892' duration='49' flowId='tests.test_iguana.test_script_sig_invalid_opcode_encoding' name='tests.test_iguana.test_script_sig_invalid_opcode_encoding']

tests/test_iguana.py::test_script_pub_key_success ##teamcity[testStarted timestamp='2025-12-05T12:16:35.893' captureStandardOutput='false' flowId='tests.test_iguana.test_script_pub_key_success' metainfo='test_script_pub_key_success' name='tests.test_iguana.test_script_pub_key_success']
PASSED                 [ 45%]##teamcity[testFinished timestamp='2025-12-05T12:16:35.942' duration='48' flowId='tests.test_iguana.test_script_pub_key_success' name='tests.test_iguana.test_script_pub_key_success']

tests/test_iguana.py::test_script_pub_key_failure ##teamcity[testStarted timestamp='2025-12-05T12:16:35.942' captureStandardOutput='false' flowId='tests.test_iguana.test_script_pub_key_failure' metainfo='test_script_pub_key_failure' name='tests.test_iguana.test_script_pub_key_failure']
PASSED                 [ 50%]##teamcity[testFinished timestamp='2025-12-05T12:16:35.976' duration='32' flowId='tests.test_iguana.test_script_pub_key_failure' name='tests.test_iguana.test_script_pub_key_failure']

tests/test_iguana.py::test_script_pub_key_empty_stack ##teamcity[testStarted timestamp='2025-12-05T12:16:35.976' captureStandardOutput='false' flowId='tests.test_iguana.test_script_pub_key_empty_stack' metainfo='test_script_pub_key_empty_stack' name='tests.test_iguana.test_script_pub_key_empty_stack']
PASSED             [ 55%]##teamcity[testFinished timestamp='2025-12-05T12:16:36.030' duration='52' flowId='tests.test_iguana.test_script_pub_key_empty_stack' name='tests.test_iguana.test_script_pub_key_empty_stack']

tests/test_iguana.py::test_script_pub_key_false_stack ##teamcity[testStarted timestamp='2025-12-05T12:16:36.030' captureStandardOutput='false' flowId='tests.test_iguana.test_script_pub_key_false_stack' metainfo='test_script_pub_key_false_stack' name='tests.test_iguana.test_script_pub_key_false_stack']
PASSED             [ 60%]##teamcity[testFinished timestamp='2025-12-05T12:16:36.066' duration='34' flowId='tests.test_iguana.test_script_pub_key_false_stack' name='tests.test_iguana.test_script_pub_key_false_stack']

tests/test_iguana.py::test_script_pub_key_cleanstack ##teamcity[testStarted timestamp='2025-12-05T12:16:36.066' captureStandardOutput='false' flowId='tests.test_iguana.test_script_pub_key_cleanstack' metainfo='test_script_pub_key_cleanstack' name='tests.test_iguana.test_script_pub_key_cleanstack']
PASSED              [ 65%]##teamcity[testFinished timestamp='2025-12-05T12:16:36.078' duration='11' flowId='tests.test_iguana.test_script_pub_key_cleanstack' name='tests.test_iguana.test_script_pub_key_cleanstack']

tests/test_iguana.py::test_redeem_script_success ##teamcity[testStarted timestamp='2025-12-05T12:16:36.079' captureStandardOutput='false' flowId='tests.test_iguana.test_redeem_script_success' metainfo='test_redeem_script_success' name='tests.test_iguana.test_redeem_script_success']
PASSED                  [ 70%]##teamcity[testFinished timestamp='2025-12-05T12:16:36.120' duration='40' flowId='tests.test_iguana.test_redeem_script_success' name='tests.test_iguana.test_redeem_script_success']

tests/test_iguana.py::test_redeem_script_error ##teamcity[testStarted timestamp='2025-12-05T12:16:36.121' captureStandardOutput='false' flowId='tests.test_iguana.test_redeem_script_error' metainfo='test_redeem_script_error' name='tests.test_iguana.test_redeem_script_error']
PASSED                    [ 75%]##teamcity[testFinished timestamp='2025-12-05T12:16:36.139' duration='17' flowId='tests.test_iguana.test_redeem_script_error' name='tests.test_iguana.test_redeem_script_error']

tests/test_iguana.py::test_redeem_script_exception ##teamcity[testStarted timestamp='2025-12-05T12:16:36.140' captureStandardOutput='false' flowId='tests.test_iguana.test_redeem_script_exception' metainfo='test_redeem_script_exception' name='tests.test_iguana.test_redeem_script_exception']
PASSED                [ 80%]##teamcity[testFinished timestamp='2025-12-05T12:16:36.157' duration='16' flowId='tests.test_iguana.test_redeem_script_exception' name='tests.test_iguana.test_redeem_script_exception']

tests/test_iguana.py::test_redeem_script_empty_stack ##teamcity[testStarted timestamp='2025-12-05T12:16:36.158' captureStandardOutput='false' flowId='tests.test_iguana.test_redeem_script_empty_stack' metainfo='test_redeem_script_empty_stack' name='tests.test_iguana.test_redeem_script_empty_stack']
PASSED              [ 85%]##teamcity[testFinished timestamp='2025-12-05T12:16:36.173' duration='14' flowId='tests.test_iguana.test_redeem_script_empty_stack' name='tests.test_iguana.test_redeem_script_empty_stack']

tests/test_iguana.py::test_redeem_script_false ##teamcity[testStarted timestamp='2025-12-05T12:16:36.174' captureStandardOutput='false' flowId='tests.test_iguana.test_redeem_script_false' metainfo='test_redeem_script_false' name='tests.test_iguana.test_redeem_script_false']
PASSED                    [ 90%]##teamcity[testFinished timestamp='2025-12-05T12:16:36.195' duration='20' flowId='tests.test_iguana.test_redeem_script_false' name='tests.test_iguana.test_redeem_script_false']

tests/test_iguana.py::test_redeem_script_cleanstack ##teamcity[testStarted timestamp='2025-12-05T12:16:36.196' captureStandardOutput='false' flowId='tests.test_iguana.test_redeem_script_cleanstack' metainfo='test_redeem_script_cleanstack' name='tests.test_iguana.test_redeem_script_cleanstack']
PASSED               [ 95%]##teamcity[testFinished timestamp='2025-12-05T12:16:36.216' duration='19' flowId='tests.test_iguana.test_redeem_script_cleanstack' name='tests.test_iguana.test_redeem_script_cleanstack']

tests/test_iguana.py::test_redeem_script_input_sigchecks ##teamcity[testStarted timestamp='2025-12-05T12:16:36.216' captureStandardOutput='false' flowId='tests.test_iguana.test_redeem_script_input_sigchecks' metainfo='test_redeem_script_input_sigchecks' name='tests.test_iguana.test_redeem_script_input_sigchecks']
PASSED          [100%]##teamcity[testFinished timestamp='2025-12-05T12:16:36.263' duration='46' flowId='tests.test_iguana.test_redeem_script_input_sigchecks' name='tests.test_iguana.test_redeem_script_input_sigchecks']


============================== 20 passed in 0.69s ==============================
[218/501] Running pow test suite
PASSED: pow test suite
[222/501] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
[486/501] Running bitcoin test suite
PASSED: bitcoin test suite
ninja: build stopped: cannot make progress due to previous errors.
Build build-without-wallet failed with exit code 1

Tail of the build log:

wallet_watchonly.py                              | ✓ Passed  | 1 s
wallet_watchonly.py --usecli                     | ✓ Passed  | 1 s
chronik_avalanche.py                             | ○ Skipped | 0 s
chronik_block.py                                 | ○ Skipped | 0 s
chronik_block_header.py                          | ○ Skipped | 0 s
chronik_block_info.py                            | ○ Skipped | 0 s
chronik_block_txs.py                             | ○ Skipped | 0 s
chronik_blockchain_info.py                       | ○ Skipped | 0 s
chronik_blocks.py                                | ○ Skipped | 0 s
chronik_chronik_info.py                          | ○ Skipped | 0 s
chronik_cors.py                                  | ○ Skipped | 0 s
chronik_disable_token_index.py                   | ○ Skipped | 0 s
chronik_disallow_prune.py                        | ○ Skipped | 0 s
chronik_electrum_basic.py                        | ○ Skipped | 0 s
chronik_electrum_blockchain.py                   | ○ Skipped | 0 s
chronik_lokad_id_group.py                        | ○ Skipped | 0 s
chronik_mempool_conflicts.py                     | ○ Skipped | 0 s
chronik_mempool_disconnectpool.py                | ○ Skipped | 0 s
chronik_pause.py                                 | ○ Skipped | 0 s
chronik_plugin_groups.py                         | ○ Skipped | 0 s
chronik_plugins.py                               | ○ Skipped | 0 s
chronik_plugins_setup.py                         | ○ Skipped | 0 s
chronik_raw_tx.py                                | ○ Skipped | 0 s
chronik_resync.py                                | ○ Skipped | 0 s
chronik_script_confirmed_txs.py                  | ○ Skipped | 0 s
chronik_script_history.py                        | ○ Skipped | 0 s
chronik_script_unconfirmed_txs.py                | ○ Skipped | 0 s
chronik_script_utxos.py                          | ○ Skipped | 0 s
chronik_scripthash.py                            | ○ Skipped | 0 s
chronik_serve.py                                 | ○ Skipped | 0 s
chronik_shutdown.py                              | ○ Skipped | 0 s
chronik_spent_by.py                              | ○ Skipped | 0 s
chronik_token_alp.py                             | ○ Skipped | 0 s
chronik_token_broadcast_txs.py                   | ○ Skipped | 0 s
chronik_token_burn.py                            | ○ Skipped | 0 s
chronik_token_id_group.py                        | ○ Skipped | 0 s
chronik_token_parse_failure.py                   | ○ Skipped | 0 s
chronik_token_script_group.py                    | ○ Skipped | 0 s
chronik_token_slp_fungible.py                    | ○ Skipped | 0 s
chronik_token_slp_mint_vault.py                  | ○ Skipped | 0 s
chronik_token_slp_nft1.py                        | ○ Skipped | 0 s
chronik_tx.py                                    | ○ Skipped | 0 s
chronik_tx_removal_order.py                      | ○ Skipped | 0 s
chronik_unconfirmed_txs.py                       | ○ Skipped | 0 s
chronik_ws.py                                    | ○ Skipped | 0 s
chronik_ws_avalanche.py                          | ○ Skipped | 0 s
chronik_ws_ordering.py                           | ○ Skipped | 0 s
chronik_ws_ping.py                               | ○ Skipped | 0 s
chronik_ws_script.py                             | ○ Skipped | 0 s
feature_bind_port_discover.py                    | ○ Skipped | 0 s
feature_bind_port_externalip.py                  | ○ Skipped | 0 s
interface_usdt_net.py                            | ○ Skipped | 0 s
interface_usdt_utxocache.py                      | ○ Skipped | 0 s
interface_usdt_validation.py                     | ○ Skipped | 0 s

ALL                                              | ✓ Passed  | 1174 s (accumulated) 
Runtime: 98 s

ninja: build stopped: cannot make progress due to previous errors.
Build build-diff failed with exit code 1