Page MenuHomePhabricator

consensus: move amount.h into consensus
ClosedPublic

Authored by PiRK on Oct 6 2022, 14:12.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC25b4445fda46: consensus: move amount.h into consensus
Summary

Move amount.h to consensus/amount.h.
Renames, adds missing and removes uneeded includes.

Also make MAX_MONEY constexpr

This is a backport of core#22951

Test Plan

ninja all check-all bitcoin-fuzzers bench-bitcoin

grep -r "<amount.h>" src/

Event Timeline

PiRK requested review of this revision.Oct 6 2022, 14:12
Fabien requested changes to this revision.Oct 6 2022, 14:59
Fabien added a subscriber: Fabien.
Fabien added inline comments.
src/CMakeLists.txt
478 ↗(On Diff #35496)

This likely belong to libbitcoinconsensus, same goes for merkle.cpp btw.
If this can't be done it would be good to know why (and eventually fix it)

src/test/fuzz/script_flags.cpp
5 ↗(On Diff #35496)

why ?

src/util/moneystr.h
13 ↗(On Diff #35496)

Forward declare Amount instead

This revision now requires changes to proceed.Oct 6 2022, 14:59
src/test/fuzz/script_flags.cpp
5 ↗(On Diff #35496)

This one is a mistake or the result of missing backports. I'm removing it.

PiRK marked 3 inline comments as done.Oct 6 2022, 15:51

Tail of the build log:

[658/716] Linking CXX executable src/test/fuzz/process_message_sendcmpct
[659/716] Linking CXX executable src/test/fuzz/crypto_aes256cbc
[660/716] Linking CXX executable src/test/fuzz/partial_merkle_tree_deserialize
[661/716] Linking CXX executable src/test/fuzz/random
[662/716] Linking CXX executable src/test/fuzz/snapshotmetadata_deserialize
[663/716] Linking CXX executable src/test/fuzz/script
[664/716] Linking CXX executable src/test/fuzz/out_point_deserialize
[665/716] Linking CXX executable src/test/fuzz/cuckoocache
[666/716] Linking CXX executable src/test/fuzz/script_bitcoin_consensus
[667/716] Linking CXX executable src/test/fuzz/asmap
[668/716] Linking CXX executable src/test/fuzz/txrequest
[669/716] Linking CXX executable src/test/fuzz/rolling_bloom_filter
[670/716] Linking CXX executable src/test/fuzz/script_flags
[671/716] Linking CXX executable src/test/fuzz/scriptnum_ops
[672/716] Linking CXX executable src/test/fuzz/script_interpreter
[673/716] Linking CXX executable src/test/fuzz/string
[674/716] Linking CXX executable src/test/fuzz/psbt
[675/716] Linking CXX executable src/test/fuzz/process_message_sendheaders
[676/716] Linking CXX executable src/test/fuzz/system
[677/716] Linking CXX executable src/test/fuzz/script_sign
[678/716] Linking CXX executable src/test/fuzz/tx_in
[679/716] Linking CXX executable src/test/fuzz/tx_out
[680/716] Linking CXX executable src/test/fuzz/coins_view
[681/716] Linking CXX executable src/test/fuzz/crypto_chacha20_poly1305_aead
[682/716] Linking CXX executable src/test/fuzz/signature_checker
[683/716] Linking CXX executable src/test/fuzz/pub_key_deserialize
[684/716] Linking CXX executable src/test/fuzz/uint256_deserialize
[685/716] Linking CXX executable src/test/fuzz/process_message_block
[686/716] Linking CXX executable src/test/fuzz/address_deserialize
[687/716] Linking CXX executable src/test/fuzz/block_deserialize
[688/716] Linking CXX executable src/test/fuzz/block_file_info_deserialize
[689/716] Linking CXX executable src/test/fuzz/block_filter_deserialize
[690/716] Linking CXX executable src/test/fuzz/psbt_input_deserialize
[691/716] Linking CXX executable src/test/fuzz/process_message_filteradd
[692/716] Linking CXX executable src/test/fuzz/blocklocator_deserialize
[693/716] Linking CXX executable src/test/fuzz/blockheader_deserialize
[694/716] Linking CXX executable src/test/fuzz/blockundo_deserialize
[695/716] Linking CXX executable src/test/fuzz/blockmerkleroot
[696/716] Linking CXX executable src/test/fuzz/blocktransactionsrequest_deserialize
[697/716] Linking CXX executable src/test/fuzz/script_descriptor_cache
[698/716] Linking CXX executable src/test/fuzz/process_message_addr
[699/716] Linking CXX executable src/test/fuzz/diskblockindex_deserialize
[700/716] Linking CXX executable src/test/fuzz/script_deserialize
[701/716] Linking CXX executable src/test/fuzz/inv_deserialize
[702/716] Linking CXX executable src/test/fuzz/script_sigcache
[703/716] Linking CXX executable src/test/fuzz/netaddress
[704/716] Linking CXX executable src/test/fuzz/merkle_block_deserialize
[705/716] Linking CXX executable src/test/fuzz/blocktransactions_deserialize
[706/716] Linking CXX executable src/test/fuzz/partially_signed_transaction_deserialize
[707/716] Linking CXX executable src/test/fuzz/netaddr_deserialize
[708/716] Linking CXX executable src/test/fuzz/psbt_output_deserialize
[709/716] Linking CXX executable src/test/fuzz/tx_in_deserialize
[710/716] Linking CXX executable src/test/fuzz/sub_net_deserialize
[711/716] Linking CXX executable src/test/fuzz/fee_rate_deserialize
[712/716] Linking CXX executable src/test/fuzz/txoutcompressor_deserialize
[713/716] Linking CXX executable src/test/fuzz/txundo_deserialize
[714/716] Linking CXX executable src/test/fuzz/process_message_blocktxn
[715/716] Linking CXX executable src/test/fuzz/process_message_cmpctblock
ninja: build stopped: cannot make progress due to previous errors.
Build build-fuzzer failed with exit code 1
Fabien requested changes to this revision.Oct 7 2022, 10:25

back to your queue, the fuzzer is broken

This revision now requires changes to proceed.Oct 7 2022, 10:25
PiRK edited the test plan for this revision. (Show Details)

add missing includes in fuzzer and bench, and add ninja bitcoin-fuzzers bench-bitcoin to test plan

This revision is now accepted and ready to land.Oct 7 2022, 13:53
This revision was automatically updated to reflect the committed changes.