dash/src/script
Samuel Dobson 1e87dc0e8a
Merge #17938: Disallow automatic conversion between disparate hash types
4d7369125a82214ea42b808a32b71b315a5c3c72 Disallow automatic conversion between hash types (Ben Woosley)
fa9ef2cdbed32438bdb32623af6e06f13ecd35e4 Remove an apparently unnecessary conversion (Ben Woosley)
966a22d859db37b1775e2180e5be032fc4fdf483 Explicitly support conversion between equivalent hash types (Ben Woosley)
f32c1e07fd6c174ff3f6406a619550d2f6c19360 Use explicit conversion from WitnessV0KeyHash -> CKeyID (Ben Woosley)
2c54217f913967703b404747133be67cf2f4feac Use explicit conversion from PKHash -> CKeyID (Ben Woosley)
a9e451f144480d7b170e49087df162989d31cd20 Convert CPubKey to WitnessV0KeyHash directly (Ben Woosley)
3fcc46812334074d2c77a6233e8a961cd0785872 Prefer explicit CScriptID construction (Ben Woosley)
0a5ea32ce605984094c5552877cb99bc81654f2c Prefer explicit uint160 conversion (Ben Woosley)

Pull request description:

  This bases the script/standard hash types, TxDestination-related and CScriptID on a base template which does not silently convert the underlying `uintN` type.

  Inspired by and built on #17924. Commits are small and focused to ease review.

  Note some of these changes may be relative to existing bugs of the same sort as #17924. See particularly "Convert CPubKey to WitnessV0KeyHash directly" and "Remove an apparently unnecessary conversion".

ACKs for top commit:
  achow101:
    ACK 4d7369125a82214ea42b808a32b71b315a5c3c72
  meshcollider:
    re-utACK 4d7369125a82214ea42b808a32b71b315a5c3c72

Tree-SHA512: f1b3284ddc6fb6c6e726f2c22668b6d732d45eb5418262ed2b9c728f60be7be43dfb414b6ddd9915025c8dcd7f360dc3b46e997a945a2feb95b0e5c4f05d6b54
2024-01-16 15:05:08 -06:00
..
bitcoinconsensus.cpp partial bitcoin#26691: Update secp256k1 subtree to libsecp256k1 version 0.2.0 2023-11-21 07:59:03 -06:00
bitcoinconsensus.h trivial: revert dashification of header guards 2022-08-09 14:16:29 +05:30
descriptor.cpp fix: correct parsing pubkey in merge bitcoin#18204: improve descriptor cache and cache xpubs 2023-12-06 11:46:53 -06:00
descriptor.h Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
interpreter.cpp Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
interpreter.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
keyorigin.h
script_error.cpp Merge #19004: refactor: Replace const char* to std::string 2024-01-09 08:13:04 -06:00
script_error.h Merge #19004: refactor: Replace const char* to std::string 2024-01-09 08:13:04 -06:00
script.cpp Merge #19004: refactor: Replace const char* to std::string 2024-01-09 08:13:04 -06:00
script.h Merge #19004: refactor: Replace const char* to std::string 2024-01-09 08:13:04 -06:00
sigcache.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
sigcache.h merge bitcoin#19935: Move SaltedHashers to separate file and add some new ones 2023-09-04 20:50:27 -05:00
sign.cpp Merge #20211: Use -Wswitch for TxoutType where possible 2024-01-16 09:29:50 -06:00
sign.h merge bitcoin#23413: Replace MakeSpan helper with Span deduction guide 2023-09-24 09:50:50 -05:00
signingprovider.cpp partial (missing function GetKeyForDestination) Merge #11403: SegWit wallet support 2023-12-06 11:46:53 -06:00
signingprovider.h partial (missing function GetKeyForDestination) Merge #11403: SegWit wallet support 2023-12-06 11:46:53 -06:00
standard.cpp Merge #20211: Use -Wswitch for TxoutType where possible 2024-01-16 09:29:50 -06:00
standard.h Merge #17938: Disallow automatic conversion between disparate hash types 2024-01-16 15:05:08 -06:00