bitcoin/src
Andrew Chow e83babe3b8 wallet: Replace use of purpose strings with an enum
Instead of storing and passing around fixed strings for the purpose of
an address, use an enum.

This also rationalizes the CAddressBookData struct, documenting all fields and
making them public, and simplifying the representation to avoid bugs like
https://github.com/bitcoin/bitcoin/pull/26761#discussion_r1134615114 and make
it not possible to invalid address data like change addresses with labels.

Co-authored-by: Ryan Ofsky <ryan@ofsky.org>
2023-04-11 15:55:31 -04:00
..
bench Merge bitcoin/bitcoin#26699: wallet, gui: bugfix, getAvailableBalance skips selected coins 2023-04-11 14:05:55 -04:00
common refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
compat refactor: don't avoid sys/types.h on when building for Windows 2023-04-03 14:44:48 +01:00
config
consensus Merge bitcoin/bitcoin#26345: refactor: modernize the implementation of uint256.* 2023-02-06 13:56:51 -05:00
crc32c Update crc32c subtree to latest upstream master 2022-08-13 13:55:38 +01:00
crypto Merge bitcoin/bitcoin#26153: Reduce wasted pseudorandom bytes in ChaCha20 + various improvements 2023-02-15 14:58:47 +00:00
index Merge bitcoin/bitcoin#27254: refactor: Extract util/fs from util/system 2023-04-03 14:41:22 +01:00
init Merge bitcoin/bitcoin#27254: refactor: Extract util/fs from util/system 2023-04-03 14:41:22 +01:00
interfaces wallet: Replace use of purpose strings with an enum 2023-04-11 15:55:31 -04:00
ipc refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
kernel refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
leveldb Update leveldb-subtree subtree to latest upstream 2022-09-29 16:43:30 +01:00
logging Use steady clock for logging timer 2023-01-31 18:48:50 +01:00
minisketch Update minisketch subtree to latest upstream 2022-10-23 15:03:04 +01:00
node Merge bitcoin/bitcoin#27254: refactor: Extract util/fs from util/system 2023-04-03 14:41:22 +01:00
policy refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
primitives scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
qt wallet: Replace use of purpose strings with an enum 2023-04-11 15:55:31 -04:00
rpc Merge bitcoin/bitcoin#27254: refactor: Extract util/fs from util/system 2023-04-03 14:41:22 +01:00
script miniscript: explicit cast instead of comparing integers of different signs 2023-03-31 17:27:19 +02:00
secp256k1 Update src/secp256k1 subtree to upstream libsecp256k1 v0.3.0 2023-03-08 17:41:24 -05:00
support util: Remove duplicate include 2023-02-23 17:58:40 -05:00
test Merge bitcoin/bitcoin#26662: fuzz: Add HeadersSyncState target 2023-04-11 16:17:04 +01:00
univalue Merge bitcoin/bitcoin#26612: refactor: RPC: pass named argument value as string_view 2023-03-03 15:23:43 +01:00
util Merge bitcoin/bitcoin#27254: refactor: Extract util/fs from util/system 2023-04-03 14:41:22 +01:00
wallet wallet: Replace use of purpose strings with an enum 2023-04-11 15:55:31 -04:00
zmq clang-tidy: Add performance-faster-string-find check 2023-03-26 20:17:46 +01:00
.bear-tidy-config tidy: enable modernize-use-nullptr 2022-04-26 10:43:33 +01:00
.clang-format
.clang-tidy clang-tidy: Exclude performance-* checks rather including them 2023-03-26 20:18:13 +01:00
addrdb.cpp refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
addrdb.h refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
addrman.cpp Merge bitcoin/bitcoin#25619: net: avoid overriding non-virtual ToString() in CService and use better naming 2023-02-17 13:34:40 -05:00
addrman.h addrman: Use std::nullopt instead of {} 2023-02-01 10:18:08 -05:00
addrman_impl.h addrman, refactor: combine two size functions 2023-01-26 18:11:13 -05:00
arith_uint256.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
arith_uint256.h Fix clang-tidy readability-const-return-type violations 2023-02-01 11:33:35 +01:00
attributes.h
banman.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
banman.h refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
base58.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
base58.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
bech32.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
bech32.h
bitcoin-chainstate.cpp Merge bitcoin/bitcoin#26177: refactor / kernel: Move non-gArgs chainparams functionality to kernel 2023-03-16 13:56:35 +00:00
bitcoin-cli-res.rc
bitcoin-cli.cpp clang-tidy: Add performance-inefficient-vector-operation check 2023-03-26 20:17:55 +01:00
bitcoin-tx-res.rc
bitcoin-tx.cpp refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
bitcoin-util-res.rc
bitcoin-util.cpp clang-tidy: Add performance-inefficient-vector-operation check 2023-03-26 20:17:55 +01:00
bitcoin-wallet-res.rc
bitcoin-wallet.cpp refactor: Extract util/exception from util/system 2023-03-13 17:09:47 +01:00
bitcoind-res.rc
bitcoind.cpp refactor: Extract util/exception from util/system 2023-03-13 17:09:47 +01:00
blockencodings.cpp Use DataStream where possible 2023-01-26 10:44:05 +01:00
blockencodings.h script: remove out-of-date snprintf TODO 2023-02-15 14:42:28 -08:00
blockfilter.cpp refactor: use Hash helper for double-SHA256 calculations 2023-01-31 19:34:35 +01:00
blockfilter.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
chain.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
chain.h refactor: add kernel/cs_main.* 2023-01-05 09:05:14 +00:00
chainparams.cpp Split non/kernel chainparams 2023-03-15 16:43:31 +01:00
chainparams.h Split non/kernel chainparams 2023-03-15 16:43:31 +01:00
chainparamsbase.cpp
chainparamsbase.h
chainparamsseeds.h Merge bitcoin/bitcoin#25853: net: update testnet torv3 hardcoded seeds for 24.x 2022-09-09 10:07:39 +02:00
checkqueue.h refactor: Use move semantics in CCheckQueue::Loop 2023-03-21 13:04:21 +00:00
clientversion.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
clientversion.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
coins.cpp Add deterministic mode to CCoinsViewCache 2023-02-02 09:00:15 -05:00
coins.h Add deterministic mode to CCoinsViewCache 2023-02-02 09:00:15 -05:00
compressor.cpp
compressor.h
core_io.h rpc: decode Miniscript descriptor when possible in decodescript 2023-02-03 18:15:42 +01:00
core_memusage.h
core_read.cpp Use DataStream where possible 2023-01-26 10:44:05 +01:00
core_write.cpp rpc: decode Miniscript descriptor when possible in decodescript 2023-02-03 18:15:42 +01:00
cuckoocache.h clang-tidy: Fix modernize-use-default-member-init in headers 2023-01-31 11:50:10 +00:00
dbwrapper.cpp refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
dbwrapper.h refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
deploymentinfo.cpp Decouple RegTestChainParams from ArgsManager 2023-03-15 16:42:42 +01:00
deploymentinfo.h Decouple RegTestChainParams from ArgsManager 2023-03-15 16:42:42 +01:00
deploymentstatus.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
deploymentstatus.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
dummywallet.cpp
external_signer.cpp Fix clang-tidy readability-const-return-type violations 2023-02-01 11:33:35 +01:00
external_signer.h Fix clang-tidy readability-const-return-type violations 2023-02-01 11:33:35 +01:00
flatfile.cpp refactor: Extract util/fs_helpers from util/system 2023-03-23 12:52:00 +01:00
flatfile.h Merge bitcoin/bitcoin#27254: refactor: Extract util/fs from util/system 2023-04-03 14:41:22 +01:00
hash.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
hash.h Merge bitcoin/bitcoin#26649: refactor: Use AutoFile and HashVerifier (without ser-type and ser-version) where possible 2023-01-30 15:57:12 +00:00
headerssync.cpp [headerssync] Make m_commit_offset protected 2022-12-12 21:06:04 +00:00
headerssync.h [headerssync] Make m_commit_offset protected 2022-12-12 21:06:04 +00:00
httprpc.cpp Merge bitcoin/bitcoin#25619: net: avoid overriding non-virtual ToString() in CService and use better naming 2023-02-17 13:34:40 -05:00
httprpc.h
httpserver.cpp Merge bitcoin/bitcoin#26742: http: Track active requests and wait for last to finish - 2nd attempt 2023-03-06 19:35:59 -05:00
httpserver.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
i2p.cpp refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
i2p.h refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
indirectmap.h
init.cpp Merge bitcoin/bitcoin#27254: refactor: Extract util/fs from util/system 2023-04-03 14:41:22 +01:00
init.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
key.cpp refactor: use Hash helper for double-SHA256 calculations 2023-01-31 19:34:35 +01:00
key.h clang-tidy: Fix modernize-use-default-member-init in headers 2023-01-31 11:50:10 +00:00
key_io.cpp Improve address decoding errors 2023-01-17 18:31:51 +01:00
key_io.h
logging.cpp Merge bitcoin/bitcoin#27317: log: Check that the timestamp string is non-empty to avoid undefined behavior 2023-04-05 11:50:27 +01:00
logging.h refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
Makefile.am wallet: Add wallet/types.h for simple public enum and struct types 2023-04-11 15:52:25 -04:00
Makefile.bench.include Merge bitcoin/bitcoin#16981: Improve runtime performance of --reindex 2022-11-15 19:23:39 -05:00
Makefile.crc32c.include build: Create .la library for crc32c 2022-04-26 16:25:38 -04:00
Makefile.leveldb.include Use more specific path when including memenv.h header 2022-06-23 15:33:01 +02:00
Makefile.minisketch.include build: Build minisketch test in make check, not in make 2022-07-21 10:42:09 +01:00
Makefile.qt.include build: extract $(BOOST_CPPFLAGS) from $(BITCOIN_INCLUDES) 2022-09-13 17:15:17 +01:00
Makefile.qt_locale.include qt: Periodic translation updates from Transifex 2023-02-27 13:53:29 +00:00
Makefile.qttest.include build: extract $(BOOST_CPPFLAGS) from $(BITCOIN_INCLUDES) 2022-09-13 17:15:17 +01:00
Makefile.test.include Merge bitcoin/bitcoin#26662: fuzz: Add HeadersSyncState target 2023-04-11 16:17:04 +01:00
Makefile.test_fuzz.include [fuzz] Move ConsumeNetAddr to fuzz/util/net.h 2022-11-17 14:52:45 +00:00
Makefile.test_util.include Merge bitcoin/bitcoin#26940: test: create random and coins utils, add amount helper, dedupe add_coin 2023-02-17 17:28:14 -05:00
Makefile.univalue.include
mapport.cpp Merge bitcoin/bitcoin#25619: net: avoid overriding non-virtual ToString() in CService and use better naming 2023-02-17 13:34:40 -05:00
mapport.h Remove configure-time setting of DEFAULT_UPNP 2023-01-28 15:24:13 +00:00
memusage.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
merkleblock.cpp
merkleblock.h
net.cpp Merge bitcoin/bitcoin#27254: refactor: Extract util/fs from util/system 2023-04-03 14:41:22 +01:00
net.h [net] Pass nRecvFloodSize to CNode 2023-03-27 16:00:02 +02:00
net_permissions.cpp
net_permissions.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
net_processing.cpp Merge bitcoin/bitcoin#27270: refactor, net processing: Avoid CNode::m_relays_txs usage 2023-04-11 11:43:21 +01:00
net_processing.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
net_types.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
net_types.h
netaddress.cpp Merge bitcoin/bitcoin#25619: net: avoid overriding non-virtual ToString() in CService and use better naming 2023-02-17 13:34:40 -05:00
netaddress.h Merge bitcoin/bitcoin#25619: net: avoid overriding non-virtual ToString() in CService and use better naming 2023-02-17 13:34:40 -05:00
netbase.cpp refactor: Move error() from util/system.h to logging.h 2023-03-13 17:09:54 +01:00
netbase.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
netgroup.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
netgroup.h
netmessagemaker.h
noui.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
noui.h
outputtype.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
outputtype.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
pow.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
pow.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
prevector.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
protocol.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
protocol.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
psbt.cpp Merge bitcoin/bitcoin#24149: Signing support for Miniscript Descriptors 2023-02-16 10:01:33 +00:00
psbt.h Merge bitcoin/bitcoin#26997: psbt: s/transcation/transaction/ 2023-02-16 09:39:50 +00:00
pubkey.cpp Merge bitcoin/bitcoin#26691: Update secp256k1 subtree to libsecp256k1 version 0.2.0 2023-01-13 09:40:57 +00:00
pubkey.h Merge bitcoin/bitcoin#26691: Update secp256k1 subtree to libsecp256k1 version 0.2.0 2023-01-13 09:40:57 +00:00
random.cpp Use steady clock in SeedStrengthen and FindBestImplementation 2023-03-02 14:48:28 +01:00
random.h Merge bitcoin/bitcoin#26153: Reduce wasted pseudorandom bytes in ChaCha20 + various improvements 2023-02-15 14:58:47 +00:00
randomenv.cpp refactor: don't avoid sys/types.h on when building for Windows 2023-04-03 14:44:48 +01:00
randomenv.h
rest.cpp Merge bitcoin/bitcoin#26207: rest: add verbose and mempool_sequence query params for mempool/contents 2023-03-15 19:39:30 -04:00
rest.h
reverse_iterator.h doc: remove usages of C++11 2023-01-12 13:42:44 +00:00
scheduler.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
scheduler.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
serialize.h clang-tidy: Fix modernize-use-default-member-init in headers 2023-01-31 11:50:10 +00:00
shutdown.cpp Add InitError(error, details) overload 2023-02-28 12:04:47 -05:00
shutdown.h
signet.cpp
signet.h
span.h clang-tidy: Fix modernize-use-default-member-init in headers 2023-01-31 11:50:10 +00:00
streams.h Merge bitcoin/bitcoin#26992: refactor: Remove unused CDataStream SerializeMany constructor 2023-02-02 10:47:37 +00:00
sync.cpp
sync.h doc: Export threadsafety.h from sync.h 2023-01-25 09:33:26 +01:00
threadsafety.h
timedata.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
timedata.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
tinyformat.h clang-tidy: Fix modernize-use-default-member-init in headers 2023-01-31 11:50:10 +00:00
torcontrol.cpp Merge bitcoin/bitcoin#25619: net: avoid overriding non-virtual ToString() in CService and use better naming 2023-02-17 13:34:40 -05:00
torcontrol.h refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
txdb.cpp refactor: Move error() from util/system.h to logging.h 2023-03-13 17:09:54 +01:00
txdb.h refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
txmempool.cpp Merge bitcoin/bitcoin#26531: mempool: Add mempool tracepoints 2023-03-20 12:42:24 -04:00
txmempool.h Fix clang-tidy readability-const-return-type violations 2023-02-01 11:33:35 +01:00
txorphanage.cpp Merge bitcoin/bitcoin#26551: p2p: Track orphans by who provided them 2023-01-26 10:36:18 +00:00
txorphanage.h Merge bitcoin/bitcoin#26551: p2p: Track orphans by who provided them 2023-01-26 10:36:18 +00:00
txrequest.cpp
txrequest.h
uint256.cpp refactor: modernize the implementation of uint256.* 2022-12-10 14:34:44 -06:00
uint256.h Merge bitcoin/bitcoin#26345: refactor: modernize the implementation of uint256.* 2023-02-06 13:56:51 -05:00
undo.h
validation.cpp Merge bitcoin/bitcoin#27254: refactor: Extract util/fs from util/system 2023-04-03 14:41:22 +01:00
validation.h Merge bitcoin/bitcoin#27254: refactor: Extract util/fs from util/system 2023-04-03 14:41:22 +01:00
validationinterface.cpp Fix clang-tidy readability-const-return-type violations 2023-02-01 11:33:35 +01:00
validationinterface.h refactor: add kernel/cs_main.* 2023-01-05 09:05:14 +00:00
version.h
versionbits.cpp refactor: use braced init for integer constants instead of c style casts 2023-01-03 19:31:29 -06:00
versionbits.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
walletinitinterface.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
warnings.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
warnings.h