achow101
commented at 7:44 pm on August 17, 2020:
member
Enable the GUI to also use the load_on_startup feature. Wallets loaded in the GUI always have load_on_startup=true. When they are unloaded from the GUI, load_on_startup=false.
To facilitate this change, UpdateWalletSetting is moved into the wallet module and called from within LoadWallet, RemoveWallet, and Createwallet. This change does not actually touch the GUI code but rather the wallet functions that are shared between the GUI and RPC.
DrahtBot added the label
GUI
on Aug 17, 2020
DrahtBot added the label
RPC/REST/ZMQ
on Aug 17, 2020
DrahtBot added the label
Tests
on Aug 17, 2020
DrahtBot added the label
Wallet
on Aug 17, 2020
achow101 force-pushed
on Aug 17, 2020
achow101 force-pushed
on Aug 17, 2020
DrahtBot
commented at 8:04 pm on August 20, 2020:
member
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
Conflicts
Reviewers, this pull request conflicts with the following ones:
#19619 (Remove wallet.dat path handling from wallet.cpp, rpcwallet.cpp by ryanofsky)
#19101 (refactor: remove ::vpwallets and related global variables by ryanofsky)
#19077 (wallet: Add sqlite as an alternative wallet database and use it for new descriptor wallets by achow101)
#18531 (rpc: Assert that RPCArg names are equal to CRPCCommand ones by MarcoFalke)
#17211 (Allow fundrawtransaction and walletcreatefundedpsbt to take external inputs by achow101)
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
MarcoFalke removed the label
RPC/REST/ZMQ
on Aug 23, 2020
MarcoFalke removed the label
Tests
on Aug 23, 2020
MarcoFalke removed the label
GUI
on Aug 23, 2020
MarcoFalke removed the label
Wallet
on Aug 23, 2020
DrahtBot added the label
GUI
on Aug 23, 2020
DrahtBot added the label
RPC/REST/ZMQ
on Aug 23, 2020
DrahtBot added the label
Wallet
on Aug 23, 2020
MarcoFalke removed the label
RPC/REST/ZMQ
on Aug 23, 2020
ryanofsky approved
ryanofsky
commented at 10:15 pm on August 24, 2020:
member
I think the PR title and description here are hard to follow and it would be better to just describe the behavior change that this is implementing: reloading wallets previously loaded in the GUI on startup. A good title might be “gui: Load previously loaded wallets on startup.” Release notes can be updated too with this. Suggest maybe:
0--- a/doc/release-notes-15937.md
1+++ b/doc/release-notes-15937.md
2@@ -1,12 +1,15 @@
3 Configuration
4 -------------
5 6-The `createwallet`, `loadwallet`, and `unloadwallet` RPCs now accept
7-`load_on_startup` options that modify bitcoin's dynamic configuration in
8-`\<datadir\>/settings.json`, and can add or remove a wallet from the list of
9-wallets automatically loaded at startup. Unless these options are explicitly
10-set to true or false, the load on startup wallet list is not modified, so this
11-change is backwards compatible.
12+Wallets created or loaded in the GUI will now be automatically loaded on
13+startup, so they don't need to be manually reloaded next time bitcoin is
14+started. The list of wallets to load on startup is stored in
15+`\<datadir\>/settings.json` and augments any command line or `bitcoin.conf`
16+`-wallet=` settings that specify more wallets to load. Wallets that are
17+unloaded in the GUI get removed from the settings list so they won't load again
18+automatically next startup.
1920-In the future, the GUI will start updating the same startup wallet list as the
21-RPCs to automatically reopen wallets previously opened in the GUI.
22+The `createwallet`, `loadwallet`, and `unloadwallet` RPCs accept new
23+`load_on_startup` options to modify the settings list. Unless these options are
24+explicitly set to true or false, the list is not modified, so the RPC methods
25+remain backward compatible.
Historical note: Commit e8bfa09b1c1888c33acfd5dcebbe136bf0d6fe82 is an expanded version of 546bdce4ece60635a1eb2fa9d46d82ae41aeee24 from #15454. New commit and old commit do the same thing but the new commit does extra refactoring in wallet code.
achow101 force-pushed
on Aug 24, 2020
achow101 renamed this:
wallet: Move UpdateWalletSetting to wallet module and use from GUI interface
wallet: Reload previously loaded wallets on GUI startup
on Aug 24, 2020
achow101
commented at 11:34 pm on August 24, 2020:
member
Done as suggested.
ryanofsky approved
ryanofsky
commented at 0:00 am on August 25, 2020:
member
Code review ACK4cff046507df20717084260c9902fcd0733a95fa. Only doc changes since last review.
I might still try to make the PR description easier to understand. Not referencing #15937 in the first sentence for example, because you don’t need to know about #15937 to understand this PR. The main thing I think this PR is doing is automatically loading previously loaded wallets automatically on startup so you don’t need to load them manually. Rest is refactoring.
Also could tweak title
wallet: Reload previously loaded wallets on GUI startup
to
gui, wallet: Reload previously loaded wallets on startup
The “on GUI startup” part seems a little inaccurate because the wallets are loaded on bitcoind startup, too, not just bitcoin-qt startup.
achow101 renamed this:
wallet: Reload previously loaded wallets on GUI startup
wallet, gui: Reload previously loaded wallets on GUI startup
on Aug 25, 2020
achow101 renamed this:
wallet, gui: Reload previously loaded wallets on GUI startup
wallet, gui: Reload previously loaded wallets
on Aug 25, 2020
achow101 renamed this:
wallet, gui: Reload previously loaded wallets
wallet, gui: Reload previously loaded wallets on startup
on Aug 25, 2020
achow101
commented at 1:14 am on August 25, 2020:
member
Updated PR description and title.
DrahtBot added the label
Needs rebase
on Aug 31, 2020
achow101 force-pushed
on Aug 31, 2020
DrahtBot removed the label
Needs rebase
on Aug 31, 2020
Sjors
commented at 7:01 pm on August 31, 2020:
member
tACK2125f6dd29c9cd7a689c379b81faf7228aea2fec 🎉 The final missing piece for multi wallet imo
in
doc/release-notes-15937.md:10
in
2125f6dd29outdated
11+startup, so they don't need to be manually reloaded next time Bitcoin is
12+started. The list of wallets to load on startup is stored in
13+`\<datadir\>/settings.json` and augments any command line or `bitcoin.conf`
14+`-wallet=` settings that specify more wallets to load. Wallets that are
15+unloaded in the GUI get removed from the settings list so they won't load again
16+automatically next startup.
MarcoFalke
commented at 6:09 am on September 1, 2020:
0automatically next startup. (#19754)
achow101
commented at 4:14 pm on September 1, 2020:
Done
in
doc/release-notes-15937.md:15
in
2125f6dd29outdated
18-In the future, the GUI will start updating the same startup wallet list as the
19-RPCs to automatically reopen wallets previously opened in the GUI.
20+The `createwallet`, `loadwallet`, and `unloadwallet` RPCs now accept
21+`load_on_startup` options to modify the settings list. Unless these options are
22+explicitly set to true or false, the list is not modified, so the RPC methods
23+remain backwards compatible.
MarcoFalke
commented at 6:09 am on September 1, 2020:
0remain backwards compatible. (#15937)
achow101
commented at 4:14 pm on September 1, 2020:
Done
MarcoFalke
commented at 6:10 am on September 1, 2020:
member
doc nits
wallet: Reload previously loaded wallets on GUI startup
Enable the GUI to also use the load_on_startup feature.
Wallets loaded in the GUI always have load_on_startup=true.
When they are unloaded from the GUI, load_on_startup=false.
To facilitate this change, UpdateWalletSetting is moved into the wallet
module and called from within LoadWallet, RemoveWallet, and
Createwallet. This change does not actually touch the GUI code but
rather the wallet functions that are shared between the GUI and RPC.
f1ee37319a
achow101 force-pushed
on Sep 1, 2020
ryanofsky approved
ryanofsky
commented at 0:20 am on September 2, 2020:
member
Code review ACK952bf2c9eef9d6b2f1a01142191c5f41403ed3de. Just rebased and tweaked release notes since last review
promag
commented at 4:41 pm on September 2, 2020:
member
Tested but found a corner case that I think it should be fixed. If I manually move away a wallet then it will be created again. I think that settings.json should never result in new wallets - an entry that doesn’t exists is just skipped maybe?
achow101
commented at 4:54 pm on September 2, 2020:
member
Tested but found a corner case that I think it should be fixed. If I manually move away a wallet then it will be created again. I think that settings.json should never result in new wallets - an entry that doesn’t exists is just skipped maybe?
I think that’s a bit orthogonal to this PR. It’s part of the settings reading stuff I think. I would prefer that to be fixed in a followup as I believe it is a current bug in the loading implementation.
ryanofsky
commented at 5:05 pm on September 2, 2020:
member
Tested but found a corner case that I think it should be fixed. If I manually move away a wallet then it will be created again
This is similar to what happens with the default wallet currently. If you move it away and restart, it will be created again. I don’t think this PR really changes the situation: all it is doing is expanding the list of default wallets.
I do agree it would be better not to create settings wallets on startup if they don’t exist. It would be natural to do this in #15454 as part of the change that avoids creating the default wallet.
I also think we could go further and not create wallets at all on startup. There are 4 sources of wallet names that can be created on startup:
default "" wallet
-wallet command line values
bitcoin.conf wallet values
settings.json wallet values
Simplest and safest thing would be to just load wallets with these names and not create them
promag
commented at 5:52 pm on September 2, 2020:
member
Right right, didn’t mean to fix it here.
promag
commented at 5:59 pm on September 2, 2020:
member
kristapsk
commented at 0:09 am on September 3, 2020:
contributor
ACKf1ee37319a7a211e5fb325406d62db5b61dbd30e, I have tested the code.
jonasschnelli
commented at 4:24 pm on September 3, 2020:
contributor
Tested ACKf1ee37319a7a211e5fb325406d62db5b61dbd30e - works as expected. Wallets loaded via bitcoin-cli (in -server mode) or through the RPC console won’t be loaded on startup but wallets loaded via the GUI menu will.
jonasschnelli merged this
on Sep 3, 2020
jonasschnelli closed this
on Sep 3, 2020
jonatack
commented at 4:25 pm on September 3, 2020:
member
ACKf1ee37319a7a211e5fb325406d62db5b61dbd30e
sidhujag referenced this in commit
8fb2e113b6
on Sep 3, 2020
meshcollider referenced this in commit
652c45fdbb
on Sep 18, 2020
sidhujag referenced this in commit
202a5e5958
on Sep 20, 2020
ryanofsky referenced this in commit
1044521921
on Oct 19, 2020
ryanofsky referenced this in commit
bc2b0d99a5
on Oct 19, 2020
ryanofsky referenced this in commit
e368d2bb3b
on Oct 21, 2020
ryanofsky referenced this in commit
23bc6999c2
on Oct 21, 2020
ryanofsky referenced this in commit
01476a88a6
on Oct 21, 2020
MarcoFalke referenced this in commit
42b66a6b81
on Oct 29, 2020
sidhujag referenced this in commit
48063676f9
on Oct 29, 2020
janus referenced this in commit
d1ed63a9c2
on Dec 13, 2020
Fabcien referenced this in commit
c43171d5a3
on Sep 27, 2021
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2024-12-18 15:12 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me