lbrycrd/src
Wladimir J. van der Laan 7c09e209ef
Merge #15225: GUI: Change the receive button to respond to keypool state changing
2bc4c3eaf9 Notify the GUI that the keypool has changed to set the receive button (Andrew Chow)
14bcdbe09c Check for more than private keys disabled to show receive button (Andrew Chow)

Pull request description:

  Currently the Receive button in the GUI is displayed enabled or disabled by the initial state of the wallet when the wallet is first loaded. The button is only enabled or disabled depending on whether the disable private keys flag is set when the wallet is loaded. However, future changes to the wallet means that this initial state and check may no longer be accurate. #14938 introduces empty wallets which do not have private keys. An empty wallet that is loaded should have the Receive button disabled, and then it should become enabled once `sethdseed` is used so that a keypool can be generated and new keys generated. Likewise, with #14075, a wallet can be loaded with no keypool initially, so the button should be disabled. Later, public keys can be imported into the keypool, at which time the button should become enabled. When the keypool runs out again (no new keys are generated as the keypool only consists of imports), the button should become disabled.

  This PR makes it so that the button becomes enabled and disabled as the keypool state changes. The check for whether to enable or disable the receive button has changed to checking whether it is possible to get new keys. It now checks for whether the wallet has an HD seed and, if not, whether the private keys are disabled. When an action happens which would make it possible for a new address to be retrieved or make it possible for a no more addresses to be retrieved, a signal is emitted which has the GUI recheck the conditions for the Receive button. These actions are setting a new HD seed, topping up the keypool, retrieving a key from the keypool, and returning a key to the keypool.

Tree-SHA512: eff15a5337f4c64ecd7169414fb47053c04f6a0f0130341b6dd9799ac4d79f451e25284701c668971fca33f0909d5352a474a2c12349375bedfdb59b63077d50
2019-01-31 15:11:32 +01:00
..
bench Merge #14955: Switch all RNG code to the built-in PRNG 2019-01-21 19:46:45 +01:00
compat Merge #13665: [build] Add risc-v support to gitian 2018-08-16 20:33:50 +02:00
config
consensus Update copyright headers to 2018 2018-12-29 10:15:01 +01:00
crypto Abstract out seeding/extracting entropy into RNGState::MixExtract 2019-01-16 16:31:37 -08:00
index Merge #14085: index: Fix for indexers skipping genesis block. 2019-01-09 14:48:11 +01:00
interfaces Merge #15225: GUI: Change the receive button to respond to keypool state changing 2019-01-31 15:11:32 +01:00
leveldb Pull leveldb subtree 2019-01-26 12:45:48 -05:00
obj
obj-test
policy Add locking annotations to feeStats, shortStats and longStats 2018-12-03 00:14:33 +01:00
primitives Made expicit constructor CTransaction(const CMutableTransaction &tx). 2018-12-17 21:02:42 -08:00
qt Merge #15225: GUI: Change the receive button to respond to keypool state changing 2019-01-31 15:11:32 +01:00
rpc Merge #15272: doc: correct logging return type and RPC example 2019-01-31 13:38:13 +01:00
script Minimal changes to comply with explicit CMutableTransaction -> CTranaction conversion. 2018-12-17 21:02:42 -08:00
secp256k1
support Fix out-of-bounds write in case of failing mmap(...) in PosixLockedPageAllocator::AllocateLocked 2019-01-06 17:45:53 +01:00
test test: Build fuzz targets into seperate executables 2019-01-29 19:03:06 -05:00
univalue Update univalue subtree 2018-09-07 08:21:14 -04:00
util Merge #14955: Switch all RNG code to the built-in PRNG 2019-01-21 19:46:45 +01:00
wallet Merge #15225: GUI: Change the receive button to respond to keypool state changing 2019-01-31 15:11:32 +01:00
zmq RPCHelpMan: Pass through Result and Examples 2019-01-25 14:16:07 -05:00
.clang-format Fix inconsistent namespace formatting guidelines 2018-04-13 15:37:20 -04:00
addrdb.cpp banman: pass the banfile path in 2019-01-16 13:54:18 -05:00
addrdb.h banman: Add, use CBanEntry ctor that takes ban reason 2019-01-16 13:54:18 -05:00
addrman.cpp Make addrman use its local RNG exclusively 2018-12-12 14:22:12 -08:00
addrman.h Use C++11 default member initializers 2019-01-05 16:16:37 +01:00
amount.h Update copyright headers to 2018 2018-12-29 10:15:01 +01:00
arith_uint256.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
arith_uint256.h Use std::numeric_limits<UNSIGNED>::max()) instead of (UNSIGNED)-1 2018-12-04 19:55:04 +02:00
attributes.h Add NODISCARD to all {Decode,Parse}[...](...) functions returning bool. Sort includes. 2018-11-05 17:03:11 +01:00
banman.cpp Allow connections from misbehavior banned peers. 2019-01-22 21:10:48 +00:00
banman.h Allow connections from misbehavior banned peers. 2019-01-22 21:10:48 +00:00
base58.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
base58.h Add NODISCARD to all {Decode,Parse}[...](...) functions returning bool. Sort includes. 2018-11-05 17:03:11 +01:00
bech32.cpp Make objects in range declarations immutable by default. Avoid unnecessary copying of objects in range declarations. 2018-08-27 18:19:33 +02:00
bech32.h Fix missing or inconsistent include guards 2018-03-22 16:23:04 +01:00
bitcoin-cli-res.rc
bitcoin-cli.cpp Merge #14480: refactor: Drop boost::this_thread::interruption_point and boost::thread_interrupted in main thread 2018-12-07 15:40:50 +01:00
bitcoin-tx-res.rc
bitcoin-tx.cpp Minimal changes to comply with explicit CMutableTransaction -> CTranaction conversion. 2018-12-17 21:02:42 -08:00
bitcoind-res.rc
bitcoind.cpp Merge #14521: qt, docs: Fix bitcoin-qt -version output formatting 2018-11-23 10:17:46 +01:00
blockencodings.cpp Extract CSipHasher to it's own file in crypto/ directory. 2018-11-05 09:25:15 -08:00
blockencodings.h disallow oversized CBlockHeaderAndShortTxIDs 2018-11-13 12:41:41 -08:00
blockfilter.cpp blockfilter: Remove default clause in switch statement. 2018-12-21 23:53:29 -06:00
blockfilter.h blockfilter: Additional constructors for BlockFilter. 2018-11-06 09:12:54 -08:00
bloom.cpp Merge #13429: Return the script type from Solver 2018-08-25 17:41:00 +02:00
bloom.h Removes unsed CBloomFilter constructor. 2018-08-13 01:24:55 +02:00
chain.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
chain.h Don't label transactions "Open" while catching up 2019-01-03 00:10:24 +02:00
chainparams.cpp Merge #14970: [net] add dnsseed.emzy.de to DNS seeds 2019-01-21 19:16:45 +01:00
chainparams.h implements different disk sizes for different networks on intro 2018-10-07 13:11:36 +01:00
chainparamsbase.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
chainparamsbase.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
chainparamsseeds.h net: Update hardcoded seeds 2018-08-13 13:57:15 +02:00
checkpoints.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
checkpoints.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
checkqueue.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
clientversion.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
clientversion.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
coins.cpp Extract CSipHasher to it's own file in crypto/ directory. 2018-11-05 09:25:15 -08:00
coins.h Trivial: fixup a few doxygen comments 2019-01-24 19:47:07 -08:00
compat.h Implement poll() on systems which support it properly. 2018-12-03 14:25:51 -05:00
compressor.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
compressor.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
core_io.h Add NODISCARD to all {Decode,Parse}[...](...) functions returning bool. Sort includes. 2018-11-05 17:03:11 +01:00
core_memusage.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
core_read.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
core_write.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
cuckoocache.h Make objects in range declarations immutable by default. Avoid unnecessary copying of objects in range declarations. 2018-08-27 18:19:33 +02:00
dbwrapper.cpp Fix typos reported by codespell 2018-09-04 13:11:26 +02:00
dbwrapper.h scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
dummywallet.cpp Remove direct node->wallet calls in init.cpp 2018-11-06 11:44:40 -04:00
fs.cpp utils: Fix broken Windows filelock 2018-10-19 02:29:25 +08:00
fs.h Update copyright headers to 2018 2018-12-29 10:15:01 +01:00
hash.cpp Extract CSipHasher to it's own file in crypto/ directory. 2018-11-05 09:25:15 -08:00
hash.h Merge #13258: uint256: Remove unnecessary crypto/common.h dependency 2018-11-30 18:48:58 +01:00
httprpc.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
httprpc.h Cleanup StartRest() 2018-08-11 09:34:47 +03:00
httpserver.cpp Use C++11 default member initializers 2019-01-05 16:16:37 +01:00
httpserver.h convert C-style (void) parameter lists to C++ style () 2018-09-13 10:36:41 -07:00
indirectmap.h
init.cpp Merge #15163: Correct units for "-dbcache" and "-prune" 2019-01-30 20:22:57 +01:00
init.h Pass chain and client variables where needed 2018-11-06 11:44:40 -04:00
key.cpp Pass export privkey DER compression flag correctly 2018-09-13 09:58:26 +02:00
key.h convert C-style (void) parameter lists to C++ style () 2018-09-13 10:36:41 -07:00
key_io.cpp Update copyright headers to 2018 2018-12-29 10:15:01 +01:00
key_io.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
keystore.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
keystore.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
limitedmap.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
logging.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
logging.h logging: Replace LogPrint macros with regular functions 2018-09-12 11:28:01 -04:00
Makefile.am Merge #14711: Remove uses of chainActive and mapBlockIndex in wallet code 2019-01-30 13:03:32 +13:00
Makefile.bench.include Add Benchmark to test input de-duplication worst case 2018-11-25 10:53:20 +09:00
Makefile.leveldb.include
Makefile.qt.include gui: Add WalletController 2019-01-18 00:34:47 +00:00
Makefile.qttest.include Add BitcoinApplication & RPCConsole tests 2019-01-04 06:31:07 -05:00
Makefile.test.include test: Build fuzz targets into seperate executables 2019-01-29 19:03:06 -05:00
memusage.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
merkleblock.cpp Replace use of BEGIN and END macros on uint256 2019-01-10 01:58:33 +01:00
merkleblock.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
miner.cpp [mining] segwit option must be set in GBT 2018-12-10 16:42:14 -05:00
miner.h [mining] segwit option must be set in GBT 2018-12-10 16:42:14 -05:00
net.cpp Allow connections from misbehavior banned peers. 2019-01-22 21:10:48 +00:00
net.h Merge #14929: net: Allow connections from misbehavior banned peers 2019-01-29 13:41:04 -10:00
net_processing.cpp net: move BanMan to its own files 2019-01-16 13:54:18 -05:00
net_processing.h banman: create and split out banman 2019-01-16 13:54:18 -05:00
netaddress.cpp Merge #14728: fix uninitialized read when stringifying an addrLocal 2018-11-23 09:53:20 +01:00
netaddress.h Merge #14728: fix uninitialized read when stringifying an addrLocal 2018-11-23 09:53:20 +01:00
netbase.cpp Implement poll() on systems which support it properly. 2018-12-03 14:25:51 -05:00
netbase.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
netmessagemaker.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
noui.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
noui.h Update copyright headers to 2018 2018-12-29 10:15:01 +01:00
optional.h Remove 'boost::optional'-related gcc warnings 2019-01-30 22:44:28 +02:00
outputtype.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
outputtype.h Add NODISCARD to all {Decode,Parse}[...](...) functions returning bool. Sort includes. 2018-11-05 17:03:11 +01:00
pow.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
pow.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
prevector.h Implement prevector::fill once 2018-11-14 12:19:28 -05:00
protocol.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
protocol.h Use C++11 default member initializers 2019-01-05 16:16:37 +01:00
pubkey.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
pubkey.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
random.cpp Document RNG design in random.h 2019-01-16 16:35:54 -08:00
random.h Document RNG design in random.h 2019-01-16 16:35:54 -08:00
rest.cpp Merge #15159: [RPC] Remove lookup to UTXO set from GetTransaction 2019-01-30 11:18:44 -05:00
reverse_iterator.h scripted-diff: Remove trailing whitespaces 2018-07-24 20:46:23 +01:00
reverselock.h
scheduler.cpp Switch all RNG code to the built-in PRNG. 2019-01-16 16:34:56 -08:00
scheduler.h scripted-diff: Replace boost::bind with std::bind 2018-10-20 02:29:59 +08:00
serialize.h Drop minor GetSerializeSize template 2018-09-11 00:58:13 -04:00
shutdown.cpp Break circular dependency: init -> * -> init by extracting shutdown.h 2018-06-25 00:08:49 -04:00
shutdown.h Break circular dependency: init -> * -> init by extracting shutdown.h 2018-06-25 00:08:49 -04:00
span.h Add more methods to Span class 2018-07-27 11:52:18 -07:00
streams.h Trivial: Doxygenize existing CBufferedFile and VectorReader comments 2019-01-25 12:32:37 -08:00
sync.cpp Prevent mutex lock fail even if --enable-debug 2019-01-25 13:21:59 +09:00
sync.h sync: Add RecursiveMutex type alias 2018-12-14 16:26:13 -05:00
threadinterrupt.cpp Merge #11640: Make LOCK, LOCK2, TRY_LOCK work with CWaitableCriticalSection 2018-08-31 16:00:38 +02:00
threadinterrupt.h Update copyright headers to 2018 2018-12-29 10:15:01 +01:00
threadsafety.h Pass chain locked variables where needed 2018-11-06 11:44:40 -04:00
timedata.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
timedata.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
tinyformat.h Fix typos 2018-03-21 08:34:44 +02:00
torcontrol.cpp Drop IsLimited in favor of IsReachable 2019-01-13 22:50:36 -08:00
torcontrol.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
txdb.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
txdb.h Merge #13780: 0.17: Pre-branch maintenance 2018-08-08 13:55:27 +02:00
txmempool.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
txmempool.h validation: Add cs_main locking annotations 2018-12-22 15:23:03 +01:00
ui_interface.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
ui_interface.h Make macro compatible with MSVC 2018-08-14 09:19:47 +00:00
uint256.cpp util: Make ToLower and ToUpper take a char 2019-01-10 02:51:14 +01:00
uint256.h uint256: Remove unnecessary crypto/common.h use 2018-09-18 14:27:05 +09:00
undo.h Extract CSipHasher to it's own file in crypto/ directory. 2018-11-05 09:25:15 -08:00
validation.cpp Merge #15159: [RPC] Remove lookup to UTXO set from GetTransaction 2019-01-30 11:18:44 -05:00
validation.h Merge #15163: Correct units for "-dbcache" and "-prune" 2019-01-30 20:22:57 +01:00
validationinterface.cpp Merge #13743: refactor: Replace boost::bind with std::bind 2018-12-29 14:14:26 +01:00
validationinterface.h Add compile time checking for all cs_main runtime locking assertions 2018-08-26 00:25:28 +02:00
version.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
versionbits.cpp MOVEONLY: Move versionbits info out of versionbits.o 2018-09-23 22:55:11 +02:00
versionbits.h MOVEONLY: Move versionbits info out of versionbits.o 2018-09-23 22:55:11 +02:00
versionbitsinfo.cpp MOVEONLY: Move versionbits info out of versionbits.o 2018-09-23 22:55:11 +02:00
versionbitsinfo.h MOVEONLY: Move versionbits info out of versionbits.o 2018-09-23 22:55:11 +02:00
walletinitinterface.h Remove direct node->wallet calls in init.cpp 2018-11-06 11:44:40 -04:00
warnings.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
warnings.h Merge #13780: 0.17: Pre-branch maintenance 2018-08-08 13:55:27 +02:00