dash/src
Andrew Chow f293c046f4
Merge #16528: Native Descriptor Wallets using DescriptorScriptPubKeyMan
223588b1bbc63dc57098bbd0baa48635e0cc0b82 Add a --descriptors option to various tests (Andrew Chow)
869f7ab30aeb4d7fbd563c535b55467a8a0430cf tests: Add RPCOverloadWrapper which overloads some disabled RPCs (Andrew Chow)
cf060628590fab87d73f278e744d70ef2d5d81db Correctly check for default wallet (Andrew Chow)
886e0d75f5fea2421190aa4812777d89f68962cc Implement CWallet::IsSpentKey for non-LegacySPKMans (Andrew Chow)
3c19fdd2a2fd5394fcfa75b2ba84ab2277cbdabf Return error when no ScriptPubKeyMan is available for specified type (Andrew Chow)
388ba94231f2f10a0be751c562cdd4650510a90a Change wallet_encryption.py to use signmessage instead of dumpprivkey (Andrew Chow)
1346e14831489f9c8f53a08f9dfed61d55d53c6f Functional tests for descriptor wallets (Andrew Chow)
f193ea889ddb53d9a5c47647966681d525e38368 add importdescriptors RPC and tests for native descriptor wallets (Hugo Nguyen)
ce24a944940019185efebcc5d85eac458ed26016 Add IsLegacy to CWallet so that the GUI knows whether to show watchonly (Andrew Chow)
1cb42b22b11c27e64462afc25a94b2fc50bfa113 Generate new descriptors when encrypting (Andrew Chow)
82ae02b1656819f4bd5023b8955447e1d4ea8692 Be able to create new wallets with DescriptorScriptPubKeyMans as backing (Andrew Chow)
b713baa75a62335ab9c0eed9ef76a95bfec30668 Implement GetMetadata in DescriptorScriptPubKeyMan (Andrew Chow)
8b9603bd0b443e2f7984eb72bf2e21cf02af0bcb Change GetMetadata to use unique_ptr<CKeyMetadata> (Andrew Chow)
72a9540df96ffdb94f039b9c14eaacdc7d961196 Implement FillPSBT in DescriptorScriptPubKeyMan (Andrew Chow)
84b4978c02102171775c77a45f6ec198930f0a88 Implement SignMessage for descriptor wallets (Andrew Chow)
bde7c9fa38775a81d53ac0484fa9c98076a0c7d1 Implement SignTransaction in DescriptorScriptPubKeyMan (Andrew Chow)
d50c8ddd4190f20bf0debd410348b73408ec3143 Implement GetSolvingProvider for DescriptorScriptPubKeyMan (Andrew Chow)
f1ca5feb4ad668a3e1ae543d0addd5f483f1a88f Implement GetKeypoolOldestTime and only display it if greater than 0 (Andrew Chow)
586b57a9a6b4b12a78f792785b63a5a1743bce0c Implement ReturnDestination in DescriptorScriptPubKeyMan (Andrew Chow)
f866957979c23cefd41efa9dae9e53b9177818dc Implement GetReservedDestination in DescriptorScriptPubKeyMan (Andrew Chow)
a775f7c7fd0b9094fcbeee6ba92206d5bbb19164 Implement Unlock and Encrypt in DescriptorScriptPubKeyMan (Andrew Chow)
bfdd0734869a22217c15858d7a76d0dacc2ebc86 Implement GetNewDestination for DescriptorScriptPubKeyMan (Andrew Chow)
58c7651821b0eeff0a99dc61d78d2e9e07986580 Implement TopUp in DescriptorScriptPubKeyMan (Andrew Chow)
e014886a342508f7c8d80323eee9a5f314eaf94c Implement SetupGeneration for DescriptorScriptPubKeyMan (Andrew Chow)
46dfb99768e7d03a3cf552812d5b41ceaebc06be Implement writing descriptorkeys, descriptorckeys, and descriptors to wallet file (Andrew Chow)
4cb9b69be031e1dc65d8964794781b347fd948f5 Implement several simple functions in DescriptorScriptPubKeyMan (Andrew Chow)
d1ec3e4f19487b4b100f80ad02eac063c571777d Add IsSingleType to Descriptors (Andrew Chow)
953feb3d2724f5398dd48990c4957a19313d2c8c Implement loading of keys for DescriptorScriptPubKeyMan (Andrew Chow)
2363e9fcaa41b68bf11153f591b95f2d41ff9a1a Load the descriptor cache from the wallet file (Andrew Chow)
46c46aebb7943e1e2e96755e94dc6c197920bf75 Implement GetID for DescriptorScriptPubKeyMan (Andrew Chow)
ec2f9e1178c8e38c0a5ca063fe81adac8f916348 Implement IsHDEnabled in DescriptorScriptPubKeyMan (Andrew Chow)
741122d4c1a62ced3e96d16d67f4eeb3a6522d99 Implement MarkUnusedAddresses in DescriptorScriptPubKeyMan (Andrew Chow)
2db7ca765c8fb2c71dd6f7c4f29ad70e68ff1720 Implement IsMine for DescriptorScriptPubKeyMan (Andrew Chow)
db7177af8c159abbcc209f2caafcd45d54c181c5 Add LoadDescriptorScriptPubKeyMan and SetActiveScriptPubKeyMan to CWallet (Andrew Chow)
78f8a92910d34247fa5d04368338c598d9908267 Implement SetType in DescriptorScriptPubKeyMan (Andrew Chow)
834de0300cde57ca3f662fb7aa5b1bdaed68bc8f Store WalletDescriptor in DescriptorScriptPubKeyMan (Andrew Chow)
d8132669e10c1db9ae0c2ea0d3f822d7d2f01345 Add a lock cs_desc_man for DescriptorScriptPubKeyMan (Andrew Chow)
3194a7f88ac1a32997b390b4f188c4b6a4af04a5 Introduce WalletDescriptor class (Andrew Chow)
6b13cd3fa854dfaeb9e269bff3d67cacc0e5b5dc Create LegacyScriptPubKeyMan when not a descriptor wallet (Andrew Chow)
aeac157c9dc141546b45e06ba9c2e641ad86083f Return nullptr from GetLegacyScriptPubKeyMan if descriptor wallet (Andrew Chow)
96accc73f067c7c95946e9932645dd821ef67f63 Add WALLET_FLAG_DESCRIPTORS (Andrew Chow)
6b8119af53ee2fdb4c4b5b24b4e650c0dc3bd27c Introduce DescriptorScriptPubKeyMan as a dummy class (Andrew Chow)
06620302c713cae65ee8e4ff9302e4c88e2a1285 Introduce SetType function to tell ScriptPubKeyMans the type and internal-ness of it (Andrew Chow)

Pull request description:

  Introducing the wallet of the glorious future (again): native descriptor wallets. With native descriptor wallets, addresses are generated from descriptors. Instead of generating keys and deriving addresses from keys, addresses come from the scriptPubKeys produced by a descriptor. Native descriptor wallets will be optional for now and can only be created by using `createwallet`.

  Descriptor wallets will store descriptors, master keys from the descriptor, and descriptor cache entries. Keys are derived from descriptors on the fly. In order to allow choosing different address types, 6 descriptors are needed for normal use. There is a pair of primary and change descriptors for each of the 3 address types. With the default keypool size of 1000, each descriptor has 1000 scriptPubKeys and descriptor cache entries pregenerated. This has a side effect of making wallets large since 6000 pubkeys are written to the wallet by default, instead of the current 2000. scriptPubKeys are kept only in memory and are generated every time a descriptor is loaded. By default, we use the standard BIP 44, 49, 84 derivation paths with an external and internal derivation chain for each.

  Descriptors can also be imported with a new `importdescriptors` RPC.

  Native descriptor wallets use the `ScriptPubKeyMan` interface introduced in #16341 to add a `DescriptorScriptPubKeyMan`. This defines a different IsMine which uses the simpler model of "does this scriptPubKey exist in this wallet". Furthermore, `DescriptorScriptPubKeyMan` does not have watchonly, so with native descriptor wallets, it is not possible to have a wallet with both watchonly and non-watchonly things. Rather a wallet with `disable_private_keys` needs to be used for watchonly things.

  A `--descriptor` option was added to some tests (`wallet_basic.py`, `wallet_encryption.py`, `wallet_keypool.py`, `wallet_keypool_topup.py`, and `wallet_labels.py`) to allow for these tests to use descriptor wallets. Additionally, several RPCs are disabled for descriptor wallets (`importprivkey`, `importpubkey`, `importaddress`, `importmulti`, `addmultisigaddress`, `dumpprivkey`, `dumpwallet`, `importwallet`, and `sethdseed`).

ACKs for top commit:
  Sjors:
    utACK 223588b1bbc63dc57098bbd0baa48635e0cc0b82 (rebased, nits addressed)
  jonatack:
    Code review re-ACK 223588b1bbc63dc57098bbd0baa48635e0cc0b82.
  fjahr:
    re-ACK 223588b1bbc63dc57098bbd0baa48635e0cc0b82
  instagibbs:
    light re-ACK 223588b
  meshcollider:
    Code review ACK 223588b1bbc63dc57098bbd0baa48635e0cc0b82

Tree-SHA512: 59bc52aeddbb769ed5f420d5d240d8137847ac821b588eb616b34461253510c1717d6a70bab8765631738747336ae06f45ba39603ccd17f483843e5ed9a90986

Introduce SetType function to tell ScriptPubKeyMans the type and internal-ness of it

Introduce DescriptorScriptPubKeyMan as a dummy class

Add WALLET_FLAG_DESCRIPTORS

Return nullptr from GetLegacyScriptPubKeyMan if descriptor wallet

Create LegacyScriptPubKeyMan when not a descriptor wallet

Introduce WalletDescriptor class

WalletDescriptor is a Descriptor with other wallet metadata

Add a lock cs_desc_man for DescriptorScriptPubKeyMan

Store WalletDescriptor in DescriptorScriptPubKeyMan

Implement SetType in DescriptorScriptPubKeyMan

Add LoadDescriptorScriptPubKeyMan and SetActiveScriptPubKeyMan to CWallet

Implement IsMine for DescriptorScriptPubKeyMan

Adds a set of scriptPubKeys that DescriptorScriptPubKeyMan tracks.
If the given script is in that set, it is considered ISMINE_SPENDABLE

Implement MarkUnusedAddresses in DescriptorScriptPubKeyMan

Implement IsHDEnabled in DescriptorScriptPubKeyMan

Implement GetID for DescriptorScriptPubKeyMan

Load the descriptor cache from the wallet file

Implement loading of keys for DescriptorScriptPubKeyMan

Add IsSingleType to Descriptors

IsSingleType will return whether the descriptor will give one or multiple scriptPubKeys

Implement several simple functions in DescriptorScriptPubKeyMan

Implements a bunch of one liners: UpgradeKeyMetadata, IsFirstRun, HavePrivateKeys,
KeypoolCountExternalKeys, GetKeypoolSize, GetTimeFirstKey, CanGetAddresses,
RewriteDB

Implement writing descriptorkeys, descriptorckeys, and descriptors to wallet file

Implement SetupGeneration for DescriptorScriptPubKeyMan

Implement TopUp in DescriptorScriptPubKeyMan

Implement GetNewDestination for DescriptorScriptPubKeyMan

Implement Unlock and Encrypt in DescriptorScriptPubKeyMan

Implement GetReservedDestination in DescriptorScriptPubKeyMan

Implement ReturnDestination in DescriptorScriptPubKeyMan

Implement GetKeypoolOldestTime and only display it if greater than 0

Implement GetSolvingProvider for DescriptorScriptPubKeyMan

Internally, a GetSigningProvider function is introduced which allows for
some private keys to be optionally included. This can be called with a
script as the argument (i.e. a scriptPubKey from our wallet when we are
signing) or with a pubkey. In order to know what index to expand the
private keys for that pubkey, we need to also cache all of the pubkeys
involved when we expand the descriptor. So SetCache and TopUp are
updated to do this too.

Implement SignTransaction in DescriptorScriptPubKeyMan

Implement SignMessage for descriptor wallets

Implement FillPSBT in DescriptorScriptPubKeyMan

FillPSBT will add our own scripts to the PSBT if those inputs are ours.
If an input also lists pubkeys that we happen to know the private keys
for, we will sign those inputs too.

Change GetMetadata to use unique_ptr<CKeyMetadata>

Implement GetMetadata in DescriptorScriptPubKeyMan

Be able to create new wallets with DescriptorScriptPubKeyMans as backing

Generate new descriptors when encrypting

Add IsLegacy to CWallet so that the GUI knows whether to show watchonly

add importdescriptors RPC and tests for native descriptor wallets

Co-authored-by: Andrew Chow <achow101-github@achow101.com>

Functional tests for descriptor wallets

Change wallet_encryption.py to use signmessage instead of dumpprivkey

Return error when no ScriptPubKeyMan is available for specified type

When a CWallet doesn't have a ScriptPubKeyMan for the requested type
in GetNewDestination, give a meaningful error. Also handle this in
Qt which did not do anything with errors.

Implement CWallet::IsSpentKey for non-LegacySPKMans

tests: Add RPCOverloadWrapper which overloads some disabled RPCs

RPCOverloadWrapper overloads some deprecated or disabled RPCs with
an implementation using other RPCs to avoid having a ton of code churn
around replacing those RPCs.

Add a --descriptors option to various tests

Adds a --descriptors option globally to the test framework. This will
make the test create and use descriptor wallets. However some tests may
not work with this.

Some tests are modified to work with --descriptors and run with that
option in test_runer:
* wallet_basic.py
* wallet_encryption.py
* wallet_keypool.py <---- wallet_keypool_hd.py actually
* wallet_keypool_topup.py
* wallet_labels.py
* wallet_avoidreuse.py
2024-03-07 01:23:15 +07:00
..
bench merge bitcoin#28100: more Span<std::byte> modernization & follow-ups 2024-03-05 21:43:22 +00:00
bls merge bitcoin#23438: Use spans of std::byte in serialize 2024-02-28 13:37:34 -06:00
coinjoin non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
compat merge bitcoin#21966: Remove double serialization; use software encoder for fee estimation 2024-02-28 13:37:33 -06:00
config
consensus Merge bitcoin/bitcoin#22065: Mark CheckTxInputs [[nodiscard]]. Avoid UUM in fuzzing harness coins_view. 2024-02-14 14:57:36 -06:00
crc32c Merge bitcoin/bitcoin#25836: subtree: update crc32c subtree 2024-02-29 09:35:00 -06:00
crypto merge bitcoin#28100: more Span<std::byte> modernization & follow-ups 2024-03-05 21:43:22 +00:00
dashbls
evo merge bitcoin#23438: Use spans of std::byte in serialize 2024-02-28 13:37:34 -06:00
governance refactor: subsume CGovernanceTriggerManager into CGovernanceManager 2024-03-05 13:15:59 -06:00
gsl
immer fix: drop symlinks in immer subtree 2024-02-28 13:18:49 -06:00
index Merge bitcoin/bitcoin#25967: refactor: add LIFETIMEBOUND to blockfilter where needed 2024-02-29 09:35:01 -06:00
interfaces Merge #16528: Native Descriptor Wallets using DescriptorScriptPubKeyMan 2024-03-07 01:23:15 +07:00
leveldb Merge bitcoin/bitcoin#26209: Update leveldb subtree 2024-03-05 10:40:36 -06:00
llmq refactor: add const 2024-03-04 20:34:04 -06:00
logging
masternode non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
node Merge bitcoin/bitcoin#24191: refactor: Make MessageBoxFlags enum underlying type unsigned 2024-02-28 13:16:39 -06:00
policy merge bitcoin#21966: Remove double serialization; use software encoder for fee estimation 2024-02-28 13:37:33 -06:00
primitives Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
qt Merge #16528: Native Descriptor Wallets using DescriptorScriptPubKeyMan 2024-03-07 01:23:15 +07:00
rpc Merge #16528: Native Descriptor Wallets using DescriptorScriptPubKeyMan 2024-03-07 01:23:15 +07:00
script Merge #16528: Native Descriptor Wallets using DescriptorScriptPubKeyMan 2024-03-07 01:23:15 +07:00
secp256k1
support merge bitcoin#23438: Use spans of std::byte in serialize 2024-02-28 13:37:34 -06:00
test merge bitcoin#28100: more Span<std::byte> modernization & follow-ups 2024-03-05 21:43:22 +00:00
univalue
util partial bitcoin#23595: Add ParseHex<std::byte>() helper 2024-02-28 13:37:36 -06:00
wallet Merge #16528: Native Descriptor Wallets using DescriptorScriptPubKeyMan 2024-03-07 01:23:15 +07:00
zmq merge bitcoin#21817: Replace &foo[0] with foo.data() 2024-02-28 13:37:33 -06:00
.clang-format
addrdb.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
addrdb.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
addressindex.cpp
addressindex.h
addrman.cpp merge bitcoin#21969: Switch serialize to uint8_t 2024-02-28 13:37:33 -06:00
addrman.h Merge bitcoin/bitcoin#21129: fuzz: check that ser+unser produces the same AddrMan 2024-01-01 17:48:13 -06:00
amount.h Merge #15054: Update copyright headers to 2018 2023-12-06 11:40:14 -06:00
arith_uint256.cpp Merge bitcoin/bitcoin#24059: Fix implicit-integer-sign-change in arith_uint256 2024-02-28 13:16:39 -06:00
arith_uint256.h Merge bitcoin/bitcoin#24854: Remove not needed ArithToUint256 roundtrips in tests 2024-01-13 19:32:31 -06:00
attributes.h
banman.cpp Merge bitcoin/bitcoin#24168: Fix some race conditions in BanMan::DumpBanlist() 2024-01-13 19:32:30 -06:00
banman.h
base58.cpp Merge #19739: refactor: remove c-string interfaces for DecodeBase58{Check} 2024-01-10 19:22:58 -06:00
base58.h Merge #19739: refactor: remove c-string interfaces for DecodeBase58{Check} 2024-01-10 19:22:58 -06:00
batchedlogger.cpp non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
batchedlogger.h non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
bech32.cpp
bech32.h
bip324.cpp merge bitcoin#28267: BIP324 ciphersuite follow-up 2024-03-05 21:43:22 +00:00
bip324.h merge bitcoin#28267: BIP324 ciphersuite follow-up 2024-03-05 21:43:22 +00:00
bitcoin-cli.cpp non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
bitcoin-tx.cpp
bitcoin-wallet.cpp
bitcoind.cpp non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
blockencodings.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
blockencodings.h
blockfilter.cpp merge bitcoin#23653: Generalize/simplify VectorReader into SpanReader 2024-02-28 13:37:34 -06:00
blockfilter.h Merge bitcoin/bitcoin#25967: refactor: add LIFETIMEBOUND to blockfilter where needed 2024-02-29 09:35:01 -06:00
bloom.cpp merge bitcoin#23438: Use spans of std::byte in serialize 2024-02-28 13:37:34 -06:00
bloom.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
cachemap.h non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
cachemultimap.h non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
chain.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
chain.h Merge bitcoin/bitcoin#13875: [doc] nChainTx needs to become a 64-bit earlier due to SegWit 2023-12-26 22:26:19 -06:00
chainparams.cpp chore: update chainparams for testnet 2024-03-03 23:34:35 -06:00
chainparams.h partial Merge #20004: test: Add signet witness commitment section parse tests 2024-01-31 11:32:23 -06:00
chainparamsbase.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
chainparamsbase.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
chainparamsseeds.h chore: update seeds for v20.1 2024-03-03 23:34:34 -06:00
checkqueue.h
clientversion.cpp feat: Set client version for non-release binaries and version in guix based on git tags (#5653) 2024-01-11 21:43:42 -06:00
clientversion.h
coins.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
coins.h Merge bitcoin/bitcoin#22263: refactor: wrap CCoinsViewCursor in unique_ptr 2023-12-03 20:45:01 -06:00
compat.h Merge #15704: Move Win32 defines to configure.ac to ensure they are globally defined 2024-01-10 19:22:58 -06:00
compressor.cpp merge bitcoin#21817: Replace &foo[0] with foo.data() 2024-02-28 13:37:33 -06:00
compressor.h
context.h non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
core_io.h merge bitcoin#17775: Try case where txn has inputs first 2024-02-06 08:44:04 -06:00
core_memusage.h
core_read.cpp merge bitcoin#17775: Try case where txn has inputs first 2024-02-06 08:44:04 -06:00
core_write.cpp Merge bitcoin/bitcoin#24319: refactor: Avoid unsigned integer overflow in core_write 2024-02-28 13:16:39 -06:00
ctpl_stl.h
cuckoocache.h Merge bitcoin/bitcoin#23626: refactor: Fix implicit-signed-integer-truncation in cuckoocache.h 2024-02-28 13:16:38 -06:00
cxxtimer.hpp
dash-cli-res.rc
dash-tx-res.rc
dash-wallet-res.rc
dashd-res.rc
dbwrapper.cpp merge bitcoin#21817: Replace &foo[0] with foo.data() 2024-02-28 13:37:33 -06:00
dbwrapper.h merge bitcoin#23438: Use spans of std::byte in serialize 2024-02-28 13:37:34 -06:00
deploymentinfo.cpp
deploymentinfo.h
deploymentstatus.cpp
deploymentstatus.h refactor: move out helper IsDIP3Enforced from deterministicmns 2023-12-21 23:02:31 -06:00
dsnotificationinterface.cpp non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
dsnotificationinterface.h
dummywallet.cpp refactor: rename CJClientManager 2024-01-10 12:06:01 -06:00
flat-database.h merge bitcoin#23438: Use spans of std::byte in serialize 2024-02-28 13:37:34 -06:00
flatfile.cpp Merge #21041: log: Move "Pre-allocating up to position 0x[…] in […].dat" log message to debug category 2023-12-03 20:44:56 -06:00
flatfile.h
fs.cpp Merge bitcoin/bitcoin#26090: fs: fully initialize _OVERLAPPED for win32 2024-02-29 12:35:15 -06:00
fs.h Merge #20932: refactor: Replace fs::absolute calls with AbsPathJoin calls 2023-12-08 21:16:00 +03:00
hash.cpp Merge bitcoin/bitcoin#25959: doc: Fix link to MurmurHash3.cpp (moved from Google Code to Github) 2024-02-29 09:35:01 -06:00
hash.h merge bitcoin#23438: Use spans of std::byte in serialize 2024-02-28 13:37:34 -06:00
httprpc.cpp partial bitcoin#25001: Modernize util/strencodings and util/string: string_view and optional 2024-02-28 13:37:35 -06:00
httprpc.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
httpserver.cpp Merge bitcoin/bitcoin#26131: log: log RPC port on startup 2024-02-29 12:35:16 -06:00
httpserver.h
i2p.cpp
i2p.h
indirectmap.h
init.cpp Merge #19473: net: Add -networkactive option 2024-03-06 02:00:39 +07:00
init.h
key_io.cpp Merge #20832: rpc: Better error messages for invalid addresses 2024-02-01 11:09:04 -06:00
key_io.h Merge #20832: rpc: Better error messages for invalid addresses 2024-02-01 11:09:04 -06:00
key.cpp merge bitcoin#21817: Replace &foo[0] with foo.data() 2024-02-28 13:37:33 -06:00
key.h merge bitcoin#21817: Replace &foo[0] with foo.data() 2024-02-28 13:37:33 -06:00
limitedmap.h
logging.cpp merge bitcoin#21121: Small unit test improvements, including helper to make mempool transaction 2024-02-02 23:14:06 -06:00
logging.h
Makefile.am merge bitcoin#28008: BIP324 ciphersuite 2024-03-05 21:43:21 +00:00
Makefile.bench.include merge bitcoin#28008: BIP324 ciphersuite 2024-03-05 21:43:21 +00:00
Makefile.crc32c.include
Makefile.leveldb.include Merge bitcoin/bitcoin#25457: Use more specific path when including memenv.h header 2024-02-27 10:02:44 -06:00
Makefile.qt_locale.include
Makefile.qt.include partial Merge #18027: "PSBT Operations" dialog 2024-01-31 11:32:22 -06:00
Makefile.qttest.include
Makefile.test_fuzz.include
Makefile.test_util.include merge bitcoin#21553: Misc refactor 2024-02-06 08:39:53 -06:00
Makefile.test.include merge bitcoin#28008: BIP324 ciphersuite 2024-03-05 21:43:21 +00:00
Makefile.univalue.include
mapport.cpp
mapport.h
memusage.h
merkleblock.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
merkleblock.h
messagesigner.cpp non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
messagesigner.h non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
miner.cpp non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
miner.h Merge #19478: Remove CTxMempool::mapLinks data structure member 2024-03-06 02:00:40 +07:00
net_permissions.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
net_permissions.h Merge bitcoin/bitcoin#21644: p2p, bugfix: use NetPermissions::HasFlag() in CConnman::Bind() 2023-12-03 20:44:58 -06:00
net_processing.cpp Merge #19478: Remove CTxMempool::mapLinks data structure member 2024-03-06 02:00:40 +07:00
net_processing.h partial Merge #18638: net: Use mockable time for ping/pong, add tests 2024-03-06 02:00:30 +07:00
net_types.h refactor: new helpers in net_processing for external handlers 2024-01-10 15:12:05 -06:00
net.cpp Merge #19473: net: Add -networkactive option 2024-03-06 02:00:39 +07:00
net.h Merge #19473: net: Add -networkactive option 2024-03-06 02:00:39 +07:00
netaddress.cpp
netaddress.h Merge #20119: BIP155 follow-ups 2024-01-22 19:47:13 -06:00
netbase.cpp Merge bitcoin/bitcoin#22052: net: remove non-blocking bool from interface 2024-01-02 11:17:48 -06:00
netbase.h Merge bitcoin/bitcoin#22052: net: remove non-blocking bool from interface 2024-01-02 11:17:48 -06:00
netfulfilledman.cpp non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
netfulfilledman.h non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
netmessagemaker.h Merge #18937: refactor: s/command/msg_type/ in CNetMsgMaker and CSerializedNetMsg 2024-03-06 02:00:38 +07:00
noui.cpp Merge #19331: build: Do not include server symbols in wallet 2024-01-10 12:06:05 -06:00
noui.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
outputtype.cpp
outputtype.h
pow.cpp
pow.h
prevector.h Merge bitcoin/bitcoin#24962: prevector: enforce is_trivially_copyable_v 2024-01-14 11:05:36 -06:00
protocol.cpp Merge bitcoin/bitcoin#25888: refactor: use strprintf for creating unknown-service-flag string 2024-02-29 09:35:00 -06:00
protocol.h Merge #19610: p2p: refactor AlreadyHave(), CInv::type, INV/TX processing 2024-01-27 22:55:26 -06:00
psbt.cpp merge bitcoin#23438: Use spans of std::byte in serialize 2024-02-28 13:37:34 -06:00
psbt.h partial Merge #18027: "PSBT Operations" dialog 2024-01-31 11:32:22 -06:00
pubkey.cpp merge bitcoin#21817: Replace &foo[0] with foo.data() 2024-02-28 13:37:33 -06:00
pubkey.h Merge #16528: Native Descriptor Wallets using DescriptorScriptPubKeyMan 2024-03-07 01:23:15 +07:00
random.cpp merge bitcoin#28100: more Span<std::byte> modernization & follow-ups 2024-03-05 21:43:22 +00:00
random.h merge bitcoin#28100: more Span<std::byte> modernization & follow-ups 2024-03-05 21:43:22 +00:00
randomenv.cpp
randomenv.h
rest.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
reverse_iterator.h
saltedhasher.cpp non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
saltedhasher.h non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
scheduler.cpp Merge bitcoin/bitcoin#25040: refactor: Pass lifetimebound reference to SingleThreadedSchedulerClient 2024-01-13 23:09:41 -06:00
scheduler.h Merge bitcoin/bitcoin#25040: refactor: Pass lifetimebound reference to SingleThreadedSchedulerClient 2024-01-13 23:09:41 -06:00
serialize.h merge bitcoin#28012: Allow FastRandomContext::randbytes for std::byte, Allow std::byte serialization 2024-02-28 13:37:36 -06:00
shutdown.cpp Merge #19233: Make SetMiscWarning() accept bilingual_str argument 2024-01-16 15:05:05 -06:00
shutdown.h
source_location.h
span.h Merge bitcoin/bitcoin#22881: doc: provide context for CNetAddr::UnserializeV1Array() and span.h with lifetimebound 2023-12-26 22:26:19 -06:00
spentindex.h
spork.cpp non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
spork.h non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
stacktraces.cpp non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
stacktraces.h
statsd_client.cpp
statsd_client.h non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
streams.h partial bitcoin#25296: Add DataStream without ser-type and ser-version 2024-02-28 13:37:35 -06:00
sync.cpp Merge #20507: sync: print proper lock order location when double lock is detected 2024-02-07 10:27:43 -06:00
sync.h Merge #20495: sync: Use decltype(auto) return type for WITH_LOCK 2024-01-16 07:57:35 -06:00
threadinterrupt.cpp
threadinterrupt.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
threadsafety.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
timedata.cpp Merge #19233: Make SetMiscWarning() accept bilingual_str argument 2024-01-16 15:05:05 -06:00
timedata.h
timestampindex.h
tinyformat.h
torcontrol.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
torcontrol.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
txdb.cpp merge bitcoin#23438: Use spans of std::byte in serialize 2024-02-28 13:37:34 -06:00
txdb.h Merge bitcoin/bitcoin#22263: refactor: wrap CCoinsViewCursor in unique_ptr 2023-12-03 20:45:01 -06:00
txmempool.cpp Merge #19478: Remove CTxMempool::mapLinks data structure member 2024-03-06 02:00:40 +07:00
txmempool.h Merge #19478: Remove CTxMempool::mapLinks data structure member 2024-03-06 02:00:40 +07:00
uint256.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
uint256.h merge bitcoin#23438: Use spans of std::byte in serialize 2024-02-28 13:37:34 -06:00
undo.h
unordered_lru_cache.h non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
validation.cpp merge bitcoin#23438: Use spans of std::byte in serialize 2024-02-28 13:37:34 -06:00
validation.h non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
validationinterface.cpp Merge bitcoin/bitcoin#25040: refactor: Pass lifetimebound reference to SingleThreadedSchedulerClient 2024-01-13 23:09:41 -06:00
validationinterface.h Merge #18982: wallet: Minimal fix to restore conflicted transaction notifications 2024-01-10 12:07:53 -06:00
version.h chore: bump protocol version to 70231 2024-03-03 23:36:44 -06:00
versionbits.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
versionbits.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
walletinitinterface.h refactor: rename CJClientManager 2024-01-10 12:06:01 -06:00
warnings.cpp Merge #19233: Make SetMiscWarning() accept bilingual_str argument 2024-01-16 15:05:05 -06:00
warnings.h Merge #19233: Make SetMiscWarning() accept bilingual_str argument 2024-01-16 15:05:05 -06:00