elements/src/wallet
Samuel Dobson bd331bd745
Merge #17938: Disallow automatic conversion between disparate hash types
4d7369125a Disallow automatic conversion between hash types (Ben Woosley)
fa9ef2cdbe Remove an apparently unnecessary conversion (Ben Woosley)
966a22d859 Explicitly support conversion between equivalent hash types (Ben Woosley)
f32c1e07fd Use explicit conversion from WitnessV0KeyHash -> CKeyID (Ben Woosley)
2c54217f91 Use explicit conversion from PKHash -> CKeyID (Ben Woosley)
a9e451f144 Convert CPubKey to WitnessV0KeyHash directly (Ben Woosley)
3fcc468123 Prefer explicit CScriptID construction (Ben Woosley)
0a5ea32ce6 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 4d7369125a
  meshcollider:
    re-utACK 4d7369125a

Tree-SHA512: f1b3284ddc6fb6c6e726f2c22668b6d732d45eb5418262ed2b9c728f60be7be43dfb414b6ddd9915025c8dcd7f360dc3b46e997a945a2feb95b0e5c4f05d6b54
2020-06-21 20:26:59 +12:00
..
test Convert CPubKey to WitnessV0KeyHash directly 2020-06-19 12:14:07 -07:00
bdb.cpp walletdb: refactor Read, Write, Erase, and Exists into non-template func 2020-06-17 10:29:27 -04:00
bdb.h Merge #19310: wallet: BerkeleyDatabase make BerkeleyDatabase::Create, CreateMock, and CreateDummy non-static functions 2020-06-18 16:29:21 -04:00
coincontrol.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
coincontrol.h refactor: Nuke coincontrol circular dependency 2019-11-23 08:30:03 +02:00
coinselection.cpp bnb: exit selection when best_waste is 0 2020-03-04 16:35:15 -05:00
coinselection.h amount: Move CAmount CENT to unit test header 2018-09-17 14:34:56 -04:00
context.cpp Remove g_rpc_chain global 2020-05-28 02:13:19 -04:00
context.h Remove g_rpc_chain global 2020-05-28 02:13:19 -04:00
crypter.cpp Fix occurences of c_str() used with size() to data() 2019-10-28 13:41:45 +01:00
crypter.h Convert wallet to new serialization 2020-05-24 10:34:52 -07:00
db.cpp walletdb: Move BDB specific things into bdb.{cpp/h} 2020-06-15 20:41:05 -04:00
db.h walletdb: Move BDB specific things into bdb.{cpp/h} 2020-06-15 20:41:05 -04:00
feebumper.cpp wallet: Remove trailing whitespace from potential translation strings 2020-05-01 07:41:32 -04:00
feebumper.h wallet: Avoid translating RPC errors when creating txs 2020-05-01 07:39:06 -04:00
fees.cpp Remove unused includes 2019-10-15 22:56:43 +00:00
fees.h Remove uses of fee globals in wallet code 2019-02-22 15:43:02 -04:00
init.cpp wallet: remove -salvagewallet 2020-05-25 12:39:40 -04:00
ismine.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
load.cpp wallet: remove -salvagewallet 2020-05-25 12:39:40 -04:00
load.h wallet: remove -salvagewallet 2020-05-25 12:39:40 -04:00
rpcdump.cpp Remove an apparently unnecessary conversion 2020-06-19 12:14:08 -07:00
rpcwallet.cpp Merge #17938: Disallow automatic conversion between disparate hash types 2020-06-21 20:26:59 +12:00
rpcwallet.h refactor: Combine GetWalletForJSONRPCRequest and EnsureWalletIsAvailable functions 2020-06-05 08:29:18 -04:00
salvage.cpp scripted-diff: Replace WalletDatabase::Create* with CreateWalletDatabase 2020-06-17 14:12:41 -04:00
salvage.h Move RecoverKeysOnlyFilter into RecoverDataBaseFile 2020-05-25 12:59:29 -04:00
scriptpubkeyman.cpp Use explicit conversion from PKHash -> CKeyID 2020-06-19 12:14:07 -07:00
scriptpubkeyman.h Merge #19032: Serialization improvements: final step 2020-05-26 15:45:50 +02:00
wallet.cpp scripted-diff: Replace WalletDatabase::Create* with CreateWalletDatabase 2020-06-17 14:12:41 -04:00
wallet.h refactor: Drop ::HasWallets() 2020-06-13 01:09:15 +01:00
walletdb.cpp Merge #19054: wallet: Skip hdKeypath of 'm' when determining inactive hd seeds 2020-06-19 16:14:47 -04:00
walletdb.h Add Create*WalletDatabase functions 2020-06-17 12:31:29 -04:00
wallettool.cpp scripted-diff: Replace WalletDatabase::Create* with CreateWalletDatabase 2020-06-17 14:12:41 -04:00
wallettool.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
walletutil.cpp Correctly check for default wallet 2020-04-23 13:59:48 -04:00
walletutil.h Convert wallet to new serialization 2020-05-24 10:34:52 -07:00