Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backport 12610 + PrivateSend multiwallet support. #3604

Merged
merged 13 commits into from
Jul 21, 2020

Commits on Jul 20, 2020

  1. Merge bitcoin#12610: Multiwallet for the GUI

    779c5f9 Qt: hide RPCConsole wallet selector when no wallets are present (Jonas Schnelli)
    dc6f150 Qt: show wallet name in request dlg in case of multiwallet (Jonas Schnelli)
    4826ca4 Qt: show wallet name in send confirmation dlg in case of multiwallet (Jonas Schnelli)
    cfa4133 GUI: RPCConsole: Log wallet changes (Luke Dashjr)
    b6d04fc Qt: Get wallet name from WalletModel rather than passing it around (Luke Dashjr)
    12d8d26 Qt: When multiple wallets are used, include in notifications the name (Jonas Schnelli)
    d1ec34a Qt: QComboBox::setVisible doesn't work in toolbars, so defer adding it at all until needed (Luke Dashjr)
    d49cc70 Qt: Add wallet selector to debug console (Jonas Schnelli)
    d558f44 Bugfix: RPC: Add missing UnregisterHTTPHandler for /wallet/ (Luke Dashjr)
    85d5319 Qt: Ensure UI updates only come from the currently selected walletView (Luke Dashjr)
    e449f9a Qt: Add a combobox to toolbar to select from multiple wallets (Luke Dashjr)
    3dba3c3 Qt: Load all wallets into WalletModels (Luke Dashjr)
    
    Pull request description:
    
      This is an overhaul of bitcoin#11383 (plus some additions).
      It avoids unnecessary coupling of httpserver/jsonrpc and the wallet as well as it avoids pointer pure passing (and pointer deletion) of `CWallet` (plus other minor design changes).
    
      Additionally it adds the wallet name to the sendconfirmation and request dialog (in case multiwallet is active)
    
    Tree-SHA512: 3d06e18badbc5d1821e488bf1dae463bb0be544cf11b2b618e025812bfdd13c5f39604bb93b4c705313930e7dc4e66f4848b9469ba14871bade58e7a027246a1
    jonasschnelli authored and PastaPastaPasta committed Jul 20, 2020
    Configuration menu
    Copy the full SHA
    2af7ce8 View commit details
    Browse the repository at this point in the history
  2. fix incomingTransaction notifications

    Signed-off-by: pasta <pasta@dashboost.org>
    PastaPastaPasta committed Jul 20, 2020
    Configuration menu
    Copy the full SHA
    a670374 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c240e70 View commit details
    Browse the repository at this point in the history
  4. privatesend: Implement multiwallet support

    With the introduction of better mutliwallet support, privatesend only worked for your first wallet. This commit implements multiwallet for privatesend such that the wallet you start the mixing from is the wallet mixing will occur in.
    
    Signed-off-by: pasta <pasta@dashboost.org>
    PastaPastaPasta committed Jul 20, 2020
    Configuration menu
    Copy the full SHA
    8acba46 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    167e0f4 View commit details
    Browse the repository at this point in the history
  6. Split dsq processing out of mixing manager

    Signed-off-by: pasta <pasta@dashboost.org>
    UdjinM6 authored and PastaPastaPasta committed Jul 20, 2020
    Configuration menu
    Copy the full SHA
    59bc2ca View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    11255fd View commit details
    Browse the repository at this point in the history
  8. Create one PS manager per wallet

    UdjinM6 authored and PastaPastaPasta committed Jul 20, 2020
    Configuration menu
    Copy the full SHA
    a7e0957 View commit details
    Browse the repository at this point in the history
  9. Do not clear the object pased into CPrivateSendClient*::GetJsonInfo()

    Just verify that it's of a proper type instead
    UdjinM6 authored and PastaPastaPasta committed Jul 20, 2020
    Configuration menu
    Copy the full SHA
    4ac00e5 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    50b09b8 View commit details
    Browse the repository at this point in the history
  11. privatesend|qt|rpc|wallet: Improve CPrivateSendClientOptions

    - Makes it singleton to make sure we always only have one instance of it
    - Protects its members by making them private and adding set/getters
    - Makes it thread safe
    xdustinface authored and PastaPastaPasta committed Jul 20, 2020
    Configuration menu
    Copy the full SHA
    8fedc08 View commit details
    Browse the repository at this point in the history
  12. Fix qt tests

    UdjinM6 authored and PastaPastaPasta committed Jul 20, 2020
    Configuration menu
    Copy the full SHA
    3d5c35c View commit details
    Browse the repository at this point in the history
  13. qt: Hide m_wallet_selector until a second wallet gets added.

    Showing it instantly may lead to the selector showing up in an unexpected place because it only gets added to a proper layout when a second wallet gets added.
    xdustinface authored and PastaPastaPasta committed Jul 20, 2020
    Configuration menu
    Copy the full SHA
    449b4a8 View commit details
    Browse the repository at this point in the history