aboutsummaryrefslogtreecommitdiff
path: root/src/qt/walletcontroller.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge #18790: gui: Improve thread namingfanquake2020-09-191-0/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ead771bf6fc7a4b96a03d4938796c88657c69ba6 qt: Rename qt-init thread before logging start (Hennadii Stepanov) ad5f614bf326d739424e8b403066f2d4275e4c1b qt: Name ClientModel timer QThread (Hennadii Stepanov) 2c7f5d8c2e6dae099a73fe748f6194da3c961a48 qt: Name WalletController worker QThread (Hennadii Stepanov) 27dcc37d429626c75c540331340c62723529f37e qt: Name RPCConsole executor QThread (Hennadii Stepanov) Pull request description: On **master** (eef90c14ed0f559e3f6e187341009270b84f45cb): - thread list from OS: ![Screenshot from 2020-04-28 00-25-41](https://user-images.githubusercontent.com/32963518/80425413-3de07100-88ec-11ea-8d7a-79bd9e152395.png) - log excerpt: ``` 2020-04-27T21:25:26Z [] GUI: initialize : Running initialization in thread ... 2020-04-27T21:26:04Z [] Using BerkeleyDB version Berkeley DB 4.8.30: (April 9, 2010) 2020-04-27T21:26:04Z [] Using wallet /home/hebasto/.bitcoin/testnet3/wallets/test2 2020-04-27T21:26:04Z [] BerkeleyEnvironment::Open: LogDir=/home/hebasto/.bitcoin/testnet3/wallets/test2/database ErrorFile=/home/hebasto/.bitcoin/testnet3/wallets/test2/db.log 2020-04-27T21:26:04Z [] init message: Loading wallet... 2020-04-27T21:26:04Z [] BerkeleyEnvironment::Open: LogDir=/home/hebasto/.bitcoin/testnet3/wallets/test2/database ErrorFile=/home/hebasto/.bitcoin/testnet3/wallets/test2/db.log 2020-04-27T21:26:04Z [] [test2] Wallet File Version = 169900 2020-04-27T21:26:04Z [] [test2] Keys: 2001 plaintext, 0 encrypted, 2001 w/ metadata, 2001 total. Unknown wallet records: 0 2020-04-27T21:26:04Z [] [test2] Wallet completed loading in 26ms 2020-04-27T21:26:04Z [] GUI: TransactionTablePriv::refreshWallet 2020-04-27T21:26:04Z [] [test2] setKeyPool.size() = 2000 2020-04-27T21:26:04Z [] [test2] mapWallet.size() = 0 2020-04-27T21:26:04Z [] [test2] m_address_book.size() = 0 ``` With **this PR**: - thread list from OS: ![Screenshot from 2020-04-28 00-21-40](https://user-images.githubusercontent.com/32963518/80425527-7a13d180-88ec-11ea-8a34-dfc774bb1c75.png) - log excerpt: ``` 2020-04-27T21:21:25Z [qt-init] GUI: initialize : Running initialization in thread ... 2020-04-27T21:23:08Z [qt-walletctrl] Using BerkeleyDB version Berkeley DB 4.8.30: (April 9, 2010) 2020-04-27T21:23:08Z [qt-walletctrl] Using wallet /home/hebasto/.bitcoin/testnet3/wallets/test2 2020-04-27T21:23:08Z [qt-walletctrl] BerkeleyEnvironment::Open: LogDir=/home/hebasto/.bitcoin/testnet3/wallets/test2/database ErrorFile=/home/hebasto/.bitcoin/testnet3/wallets/test2/db.log 2020-04-27T21:23:08Z [qt-walletctrl] init message: Loading wallet... 2020-04-27T21:23:08Z [qt-walletctrl] BerkeleyEnvironment::Open: LogDir=/home/hebasto/.bitcoin/testnet3/wallets/test2/database ErrorFile=/home/hebasto/.bitcoin/testnet3/wallets/test2/db.log 2020-04-27T21:23:08Z [qt-walletctrl] [test2] Wallet File Version = 169900 2020-04-27T21:23:08Z [qt-walletctrl] [test2] Keys: 2001 plaintext, 0 encrypted, 2001 w/ metadata, 2001 total. Unknown wallet records: 0 2020-04-27T21:23:08Z [qt-walletctrl] [test2] Wallet completed loading in 37ms 2020-04-27T21:23:08Z [qt-walletctrl] init message: Rescanning... 2020-04-27T21:23:08Z [qt-walletctrl] [test2] Rescanning last 112924 blocks (from block 1609206)... 2020-04-27T21:23:08Z [qt-walletctrl] [test2] Rescan started from block 000000000000003761c81f7efbd8cebf217f39d353ec1ac59c624ac2dddfc2a8... 2020-04-27T21:23:22Z [qt-walletctrl] [test2] Rescan completed in 14157ms 2020-04-27T21:23:22Z [qt-walletctrl] GUI: TransactionTablePriv::refreshWallet 2020-04-27T21:23:22Z [qt-walletctrl] [test2] setKeyPool.size() = 2000 2020-04-27T21:23:22Z [qt-walletctrl] [test2] mapWallet.size() = 0 2020-04-27T21:23:22Z [qt-walletctrl] [test2] m_address_book.size() = 0 ``` ACKs for top commit: Sjors: tACK ead771bf6fc7a4b96a03d4938796c88657c69ba6 Tree-SHA512: a3b2789990414ab23b69236ca36b656a3f026e11e88fb5940ef4fecfc2053df5ed886615afb37f98584f6e19b953209d3884baab057740b2e9eed68661880dd3
| * qt: Name WalletController worker QThreadHennadii Stepanov2020-08-131-0/+4
| |
* | refactor: Use DatabaseStatus and DatabaseOptions typesRussell Yanofsky2020-09-031-3/+2
| | | | | | | | No changes in behavior. Just replaces arguments and return types
* | refactor: Move wallet methods out of chain.h and node.hRussell Yanofsky2020-08-271-5/+5
|/ | | | | | | | | | | | | Add WalletClient interface so node interface is cleaner and don't need wallet-specific methods. The new NodeContext::wallet_client pointer will also be needed to eliminate global wallet variables like ::vpwallets, because createWallet(), loadWallet(), getWallets(), etc methods called by the GUI need a way to get a reference to the list of open wallets if it is no longer a global variable. Also tweaks splash screen registration for load wallet events to be delayed until after wallet client is created.
* Merge #18927: Pass bilingual_str argument to AbortNode()MarcoFalke2020-06-161-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5527be06277647dffe7cda587c4bbfbec2a5c8ca refactor: Add AbortError alias (Hennadii Stepanov) d924f2a596c8f37deb2dd94069c578244823c31f Drop MSG_NOPREFIX flag (Hennadii Stepanov) 083daf7fbaf02de61f8d197ef6a8df98c1a57f7b Pass bilingual_str argument to AbortNode() (Hennadii Stepanov) d1cca129b4b5b8e4830e442ebaee55dd0660b48a refactor: Use bilingual_str::empty() (Hennadii Stepanov) Pull request description: This PR is a [followup](https://github.com/bitcoin/bitcoin/issues/16218#issuecomment-625919724) of #16224, and it adds `bilingual_str` type argument support to the `AbortNode()` functions. ACKs for top commit: MarcoFalke: ACK 5527be06277647dffe7cda587c4bbfbec2a5c8ca 👟 Tree-SHA512: bf8b15b14912b1f672e6e588fffa1e6eb6f00b4b23d15d0ced7f18fbdf76919244427feb7217007fe29617049308e13def893a03a87358db819cca9692f59905
| * refactor: Use bilingual_str::empty()Hennadii Stepanov2020-06-041-2/+2
| |
* | gui: Add closeAllWallets to WalletControllerJoão Barbosa2020-06-011-0/+17
|/
* util: Drop OpOriginal() and OpTranslated()Hennadii Stepanov2020-05-101-2/+2
| | | | | The current implementation of the Join() allows do not use OpOriginal() and OpTranslated() unary operators at all.
* wallet: Avoid translating RPC errors when loading walletsMarcoFalke2020-05-011-6/+7
| | | | | | | Common errors and warnings should be translated when displayed in the GUI, but not translated when displayed elsewhere. The wallet method CreateWalletFromFile does not know its caller, so this commit changes it to return a bilingual_str to the caller.
* Be able to create new wallets with DescriptorScriptPubKeyMans as backingAndrew Chow2020-04-231-0/+3
|
* scripted-diff: Bump copyright headersMarcoFalke2020-04-161-1/+1
| | | | | | -BEGIN VERIFY SCRIPT- ./contrib/devtools/copyright_header.py update ./ -END VERIFY SCRIPT-
* Merge #17905: gui: Avoid redundant tx status updatesMarcoFalke2020-04-101-4/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 96cb597325f64cadb3cf43e2cdb3d7c1e2e49891 gui: Avoid redundant tx status updates (Russell Yanofsky) Pull request description: This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/projects/10). In `TransactionTablePriv::index`, avoid calling `interfaces::Wallet::tryGetTxStatus` if the status is up to date as of the most recent `NotifyBlockTip` notification. Store height from the most recent notification in a new `ClientModel::cachedNumBlocks` variable in order to check this. This avoids floods of IPC traffic from `tryGetTxStatus` with #10102 when there are a lot of transactions. It might also make the GUI a little more efficient even when there is no IPC. ACKs for top commit: promag: Code review ACK 96cb597325f64cadb3cf43e2cdb3d7c1e2e49891. hebasto: ACK 96cb597325f64cadb3cf43e2cdb3d7c1e2e49891 Tree-SHA512: fce597bf52a813ad4923110d0a39229ea09e1631e0d580ea18cffb09e58cdbb4b111a40a9a9270ff16d8163cd47b0bd9f1fe7e3a6c7ebb19198f049f8dd1aa46
| * gui: Avoid redundant tx status updatesRussell Yanofsky2020-01-091-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | In TransactionTablePriv::index, avoid calling interfaces::Wallet::tryGetTxStatus if the status is up to date as of the most recent NotifyBlockTip notification. Store height from the most recent notification in a new ClientModel::cachedNumBlocks variable in order to check this. This avoids floods of IPC traffic from tryGetTxStatus with #10102 when there are a lot of transactions. It might also make the GUI a little more efficient even when there is no IPC.
* | gui: Delete progress dialog instead of hidding itJoão Barbosa2020-03-311-2/+10
| |
* | gui: Handle WalletModel::unload asynchronousJoão Barbosa2020-03-271-2/+2
| | | | | | | | | | This change prevents deleting a WalletModel instance while it's being used.
* | refactor: Change createWallet, fillPSBT argument orderRussell Yanofsky2020-03-191-2/+2
|/ | | | | Move output arguments after input arguments for consistency with other methods, and to work more easily with IPC framework in #10102
* refactor: Cleanup headers from walletmodel.hHennadii Stepanov2019-11-191-3/+4
|
* Merge #17120: gui: Fix start timer from non QThreadWladimir J. van der Laan2019-10-261-0/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | a8f5026d6d992fd8d72908c848c5028f0f9a8cd1 gui: Fix start timer from non QThread (João Barbosa) Pull request description: Fixes #16296. ACKs for top commit: laanwj: code review ACK a8f5026d6d992fd8d72908c848c5028f0f9a8cd1 Tree-SHA512: d7b05ac88e188de16cbbe80cb2f773b7976ee07ee876ac94a93f9351856c4f3a9d66a531d3f3748d2dccff8c8d77d9d8227433069ed5909c32be2efeaa32f655
| * gui: Fix start timer from non QThreadJoão Barbosa2019-10-141-0/+6
| |
* | wallet: Avoid showing GUI popups on RPC errorsMarcoFalke2019-10-081-2/+3
|/
* gui: fix autofocus in CreateWalletActivity::askPassphrase()Jon Atack2019-09-091-0/+1
|
* gui: fix passphrase labels/tooltip in createwalletdialog/askpassphrasedialogJon Atack2019-09-091-1/+1
| | | | | | UI improvements: - update remaining GUI wallet labels and tooltips from passwords to passphrases - improve grammar of labels in askpassphrase dialog and WalletController::closeWallet
* gui: rename encrypt(), blank(), and askPasshprase()Jon Atack2019-09-091-5/+5
| | | | as well as disablePrivateKeys() to be consistent in naming.
* HTML escape the wallet name in more dialogs and notificationsAndrew Chow2019-09-081-1/+1
|
* Expose wallet creation to the GUI via WalletControllerAndrew Chow2019-09-051-0/+92
| | | | Co-authored-by: João Barbosa <[email protected]>
* gui: Refactor OpenWalletActivityJoão Barbosa2019-09-061-24/+60
|
* Remove redundant WalletController::addWallet slotHennadii Stepanov2019-07-091-15/+4
|
* qt: Assert QMetaObject::invokeMethod resultJoão Barbosa2019-07-081-1/+2
|
* refactor: Rename getWallets to getOpenWallets in WalletControllerJoão Barbosa2019-07-081-1/+1
|
* gui: Sort wallets in open wallet menuJoão Barbosa2019-07-081-4/+7
|
* gui: Defer removeAndDeleteWallet when no modal widget is activeJoão Barbosa2019-03-221-1/+13
|
* gui: Fix async open wallet call orderJoão Barbosa2019-02-231-1/+0
|
* gui: Add closeWallet to WalletControllerJoão Barbosa2019-02-121-0/+16
|
* gui: Add OpenWalletActivityJoão Barbosa2019-02-041-10/+26
|
* gui: Add thread to run background activity in WalletControllerJoão Barbosa2019-02-041-1/+7
|
* gui: Add openWallet and getWalletsAvailableToOpen to WalletControllerJoão Barbosa2019-02-041-0/+25
|
* gui: Add WalletControllerJoão Barbosa2019-01-181-0/+95