dash/src/walletinitinterface.h

35 lines
1.1 KiB
C
Raw Normal View History

Merge bitcoin#10762: [wallet] Remove Wallet dependencies from init.cpp (#3412) * Merge #10762: [wallet] Remove Wallet dependencies from init.cpp c7ec524 [wallet] Add dummy wallet init class (John Newbery) 49baa4a [wallet] Use global g_wallet_init_interface to init/destroy the wallet. (John Newbery) caaf972 [wallet] Create wallet init interface. (John Newbery) 5fb5421 [wallet] Move wallet init functions into WalletInit class. (John Newbery) Pull request description: This continues the work of #7965. This PR, along with several others, would remove the remaining dependencies from libbitcoin_server.a on libbitcoin_wallet.a. To create the interface, I've just translated all the old init.cpp wallet function calls into an interface class. I've not done any thinking about whether it makes sense to change that interface by combining/splitting those calls. This is a purely internal interface, so there's no problem in changing it later. Tree-SHA512: 32ea57615229c33fd1a7f2f29ebc11bf30337685f7211baffa899823ef74b65dcbf068289c557a161c5afffb51fdc38a2ee8180720371f64d433b12b0615cf3f Signed-off-by: Pasta <pasta@dashboost.org> # Conflicts: # src/dashd.cpp # src/init.cpp * a couple of fixes Signed-off-by: Pasta <pasta@dashboost.org> * move privatesend launch options help into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * remove ENABLE_WALLET for AutoLockMasternodeCollaterals Signed-off-by: Pasta <pasta@dashboost.org> * move a wallet param interaction into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * move PrivateSend init to wallet/init.h Signed-off-by: Pasta <pasta@dashboost.org> * move privatesend scheduler into wallet.cpp Signed-off-by: Pasta <pasta@dashboost.org> * remove unneeded import Signed-off-by: Pasta <pasta@dashboost.org> * move KeePass init and InitAutoBackup into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * Fix 10762 Changes: - Should backup wallets before trying to verify them. This is because `-salvagewallet` is very dangerous and can actually corrupt wallets making them irreparably broken. - No reason to make `schedulePrivateSendClientMaintenance` a part of the wallet (interface) because `privateSendClient` is a global object not tied to the wallet directly atm. - Should not run client-side mixing on masternodes. - Fix `InitAutoBackup` signature in `DummyWalletInit`. * remove boost dependancy in wallet/init.cpp Signed-off-by: pasta <pasta@dashboost.org> Co-authored-by: Wladimir J. van der Laan <laanwj@gmail.com> Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2020-04-18 11:59:40 +02:00
// Copyright (c) 2017 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_WALLETINITINTERFACE_H
#define BITCOIN_WALLETINITINTERFACE_H
Merge bitcoin#10762: [wallet] Remove Wallet dependencies from init.cpp (#3412) * Merge #10762: [wallet] Remove Wallet dependencies from init.cpp c7ec524 [wallet] Add dummy wallet init class (John Newbery) 49baa4a [wallet] Use global g_wallet_init_interface to init/destroy the wallet. (John Newbery) caaf972 [wallet] Create wallet init interface. (John Newbery) 5fb5421 [wallet] Move wallet init functions into WalletInit class. (John Newbery) Pull request description: This continues the work of #7965. This PR, along with several others, would remove the remaining dependencies from libbitcoin_server.a on libbitcoin_wallet.a. To create the interface, I've just translated all the old init.cpp wallet function calls into an interface class. I've not done any thinking about whether it makes sense to change that interface by combining/splitting those calls. This is a purely internal interface, so there's no problem in changing it later. Tree-SHA512: 32ea57615229c33fd1a7f2f29ebc11bf30337685f7211baffa899823ef74b65dcbf068289c557a161c5afffb51fdc38a2ee8180720371f64d433b12b0615cf3f Signed-off-by: Pasta <pasta@dashboost.org> # Conflicts: # src/dashd.cpp # src/init.cpp * a couple of fixes Signed-off-by: Pasta <pasta@dashboost.org> * move privatesend launch options help into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * remove ENABLE_WALLET for AutoLockMasternodeCollaterals Signed-off-by: Pasta <pasta@dashboost.org> * move a wallet param interaction into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * move PrivateSend init to wallet/init.h Signed-off-by: Pasta <pasta@dashboost.org> * move privatesend scheduler into wallet.cpp Signed-off-by: Pasta <pasta@dashboost.org> * remove unneeded import Signed-off-by: Pasta <pasta@dashboost.org> * move KeePass init and InitAutoBackup into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * Fix 10762 Changes: - Should backup wallets before trying to verify them. This is because `-salvagewallet` is very dangerous and can actually corrupt wallets making them irreparably broken. - No reason to make `schedulePrivateSendClientMaintenance` a part of the wallet (interface) because `privateSendClient` is a global object not tied to the wallet directly atm. - Should not run client-side mixing on masternodes. - Fix `InitAutoBackup` signature in `DummyWalletInit`. * remove boost dependancy in wallet/init.cpp Signed-off-by: pasta <pasta@dashboost.org> Co-authored-by: Wladimir J. van der Laan <laanwj@gmail.com> Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2020-04-18 11:59:40 +02:00
class ArgsManager;
refactor: subsume CoinJoin objects under CJContext, deglobalize coinJoin{ClientQueueManager,Server} (#5337) ## Motivation CoinJoin's subsystems are initialized by variables and managers that occupy the global context. The _extent_ to which these subsystems entrench themselves into the codebase is difficult to assess and moving them out of the global context forces us to enumerate the subsystems in the codebase that rely on CoinJoin logic and enumerate the order in which components are initialized and destroyed. Keeping this in mind, the scope of this pull request aims to: * Reduce the amount of CoinJoin-specific entities present in the global scope * Make the remaining usage of these entities in the global scope explicit and easily searchable ## Additional Information * The initialization of `CCoinJoinClientQueueManager` is dependent on blocks-only mode being disabled (which can be alternatively interpreted as enabling the relay of transactions). The same applies to `CBlockPolicyEstimator`, which `CCoinJoinClientQueueManager` depends. Therefore, `CCoinJoinClientQueueManager` is only initialized if transaction relaying is enabled and so is its scheduled maintenance task. This can be found by looking at `init.cpp` [here](https://github.com/dashpay/dash/blob/93f8df1c31fdce6a14f149acfdff22678c3f22ca/src/init.cpp#L1681-L1683), [here](https://github.com/dashpay/dash/blob/93f8df1c31fdce6a14f149acfdff22678c3f22ca/src/init.cpp#L2253-L2255) and [here](https://github.com/dashpay/dash/blob/93f8df1c31fdce6a14f149acfdff22678c3f22ca/src/init.cpp#L2326-L2327). For this reason, `CBlockPolicyEstimator` is not a member of `CJContext` and its usage is fulfilled by passing it as a reference when initializing the scheduling task. * `CJClientManager` has not used `CConnman` or `CTxMemPool` as `const` as existing code that is outside the scope of this PR would cast away constness, which would be unacceptable. Furthermore, some logical paths are taken that will grind to a halt if they are stored as `const`. Examples of such a call chains would be: * `CJClientManager::DoMaintenance > CCoinJoinClientManager::DoMaintenance > DoAutomaticDenominating > CCoinJoinClientSession::DoAutomaticDenominating > CCoinJoinClientSession::StartNewQueue > CConnman::AddPendingMasternode` which modifies `CConnman::vPendingMasternodes`, which is non-const behaviour * `CJClientManager::DoMaintenance > CCoinJoinClientManager::DoMaintenance > DoAutomaticDenominating > CCoinJoin::IsCollateralValid > AcceptToMemoryPool` which adds a transaction to the memory pool, which is non-const behaviour * There were cppcheck [linter failures](https://github.com/dashpay/dash/pull/5337#issuecomment-1685084688) that seemed to be caused by the usage of `Assert` in `coinjoin/client.h`. This seems to be resolved by backporting [bitcoin#24714](https://github.com/bitcoin/bitcoin/pull/24714). (Thanks @knst!) * Depends on #5546 --------- Co-authored-by: Kittywhiskers Van Gogh <63189531+kittywhiskers@users.noreply.github.com> Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>
2023-09-13 19:52:38 +02:00
class CJClientManager;
struct NodeContext;
Merge bitcoin#10762: [wallet] Remove Wallet dependencies from init.cpp (#3412) * Merge #10762: [wallet] Remove Wallet dependencies from init.cpp c7ec524 [wallet] Add dummy wallet init class (John Newbery) 49baa4a [wallet] Use global g_wallet_init_interface to init/destroy the wallet. (John Newbery) caaf972 [wallet] Create wallet init interface. (John Newbery) 5fb5421 [wallet] Move wallet init functions into WalletInit class. (John Newbery) Pull request description: This continues the work of #7965. This PR, along with several others, would remove the remaining dependencies from libbitcoin_server.a on libbitcoin_wallet.a. To create the interface, I've just translated all the old init.cpp wallet function calls into an interface class. I've not done any thinking about whether it makes sense to change that interface by combining/splitting those calls. This is a purely internal interface, so there's no problem in changing it later. Tree-SHA512: 32ea57615229c33fd1a7f2f29ebc11bf30337685f7211baffa899823ef74b65dcbf068289c557a161c5afffb51fdc38a2ee8180720371f64d433b12b0615cf3f Signed-off-by: Pasta <pasta@dashboost.org> # Conflicts: # src/dashd.cpp # src/init.cpp * a couple of fixes Signed-off-by: Pasta <pasta@dashboost.org> * move privatesend launch options help into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * remove ENABLE_WALLET for AutoLockMasternodeCollaterals Signed-off-by: Pasta <pasta@dashboost.org> * move a wallet param interaction into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * move PrivateSend init to wallet/init.h Signed-off-by: Pasta <pasta@dashboost.org> * move privatesend scheduler into wallet.cpp Signed-off-by: Pasta <pasta@dashboost.org> * remove unneeded import Signed-off-by: Pasta <pasta@dashboost.org> * move KeePass init and InitAutoBackup into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * Fix 10762 Changes: - Should backup wallets before trying to verify them. This is because `-salvagewallet` is very dangerous and can actually corrupt wallets making them irreparably broken. - No reason to make `schedulePrivateSendClientMaintenance` a part of the wallet (interface) because `privateSendClient` is a global object not tied to the wallet directly atm. - Should not run client-side mixing on masternodes. - Fix `InitAutoBackup` signature in `DummyWalletInit`. * remove boost dependancy in wallet/init.cpp Signed-off-by: pasta <pasta@dashboost.org> Co-authored-by: Wladimir J. van der Laan <laanwj@gmail.com> Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2020-04-18 11:59:40 +02:00
class WalletInitInterface {
public:
/** Is the wallet component enabled */
virtual bool HasWalletSupport() const = 0;
Merge bitcoin#10762: [wallet] Remove Wallet dependencies from init.cpp (#3412) * Merge #10762: [wallet] Remove Wallet dependencies from init.cpp c7ec524 [wallet] Add dummy wallet init class (John Newbery) 49baa4a [wallet] Use global g_wallet_init_interface to init/destroy the wallet. (John Newbery) caaf972 [wallet] Create wallet init interface. (John Newbery) 5fb5421 [wallet] Move wallet init functions into WalletInit class. (John Newbery) Pull request description: This continues the work of #7965. This PR, along with several others, would remove the remaining dependencies from libbitcoin_server.a on libbitcoin_wallet.a. To create the interface, I've just translated all the old init.cpp wallet function calls into an interface class. I've not done any thinking about whether it makes sense to change that interface by combining/splitting those calls. This is a purely internal interface, so there's no problem in changing it later. Tree-SHA512: 32ea57615229c33fd1a7f2f29ebc11bf30337685f7211baffa899823ef74b65dcbf068289c557a161c5afffb51fdc38a2ee8180720371f64d433b12b0615cf3f Signed-off-by: Pasta <pasta@dashboost.org> # Conflicts: # src/dashd.cpp # src/init.cpp * a couple of fixes Signed-off-by: Pasta <pasta@dashboost.org> * move privatesend launch options help into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * remove ENABLE_WALLET for AutoLockMasternodeCollaterals Signed-off-by: Pasta <pasta@dashboost.org> * move a wallet param interaction into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * move PrivateSend init to wallet/init.h Signed-off-by: Pasta <pasta@dashboost.org> * move privatesend scheduler into wallet.cpp Signed-off-by: Pasta <pasta@dashboost.org> * remove unneeded import Signed-off-by: Pasta <pasta@dashboost.org> * move KeePass init and InitAutoBackup into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * Fix 10762 Changes: - Should backup wallets before trying to verify them. This is because `-salvagewallet` is very dangerous and can actually corrupt wallets making them irreparably broken. - No reason to make `schedulePrivateSendClientMaintenance` a part of the wallet (interface) because `privateSendClient` is a global object not tied to the wallet directly atm. - Should not run client-side mixing on masternodes. - Fix `InitAutoBackup` signature in `DummyWalletInit`. * remove boost dependancy in wallet/init.cpp Signed-off-by: pasta <pasta@dashboost.org> Co-authored-by: Wladimir J. van der Laan <laanwj@gmail.com> Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2020-04-18 11:59:40 +02:00
/** Get wallet help string */
virtual void AddWalletOptions(ArgsManager& argsman) const = 0;
Merge bitcoin#10762: [wallet] Remove Wallet dependencies from init.cpp (#3412) * Merge #10762: [wallet] Remove Wallet dependencies from init.cpp c7ec524 [wallet] Add dummy wallet init class (John Newbery) 49baa4a [wallet] Use global g_wallet_init_interface to init/destroy the wallet. (John Newbery) caaf972 [wallet] Create wallet init interface. (John Newbery) 5fb5421 [wallet] Move wallet init functions into WalletInit class. (John Newbery) Pull request description: This continues the work of #7965. This PR, along with several others, would remove the remaining dependencies from libbitcoin_server.a on libbitcoin_wallet.a. To create the interface, I've just translated all the old init.cpp wallet function calls into an interface class. I've not done any thinking about whether it makes sense to change that interface by combining/splitting those calls. This is a purely internal interface, so there's no problem in changing it later. Tree-SHA512: 32ea57615229c33fd1a7f2f29ebc11bf30337685f7211baffa899823ef74b65dcbf068289c557a161c5afffb51fdc38a2ee8180720371f64d433b12b0615cf3f Signed-off-by: Pasta <pasta@dashboost.org> # Conflicts: # src/dashd.cpp # src/init.cpp * a couple of fixes Signed-off-by: Pasta <pasta@dashboost.org> * move privatesend launch options help into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * remove ENABLE_WALLET for AutoLockMasternodeCollaterals Signed-off-by: Pasta <pasta@dashboost.org> * move a wallet param interaction into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * move PrivateSend init to wallet/init.h Signed-off-by: Pasta <pasta@dashboost.org> * move privatesend scheduler into wallet.cpp Signed-off-by: Pasta <pasta@dashboost.org> * remove unneeded import Signed-off-by: Pasta <pasta@dashboost.org> * move KeePass init and InitAutoBackup into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * Fix 10762 Changes: - Should backup wallets before trying to verify them. This is because `-salvagewallet` is very dangerous and can actually corrupt wallets making them irreparably broken. - No reason to make `schedulePrivateSendClientMaintenance` a part of the wallet (interface) because `privateSendClient` is a global object not tied to the wallet directly atm. - Should not run client-side mixing on masternodes. - Fix `InitAutoBackup` signature in `DummyWalletInit`. * remove boost dependancy in wallet/init.cpp Signed-off-by: pasta <pasta@dashboost.org> Co-authored-by: Wladimir J. van der Laan <laanwj@gmail.com> Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2020-04-18 11:59:40 +02:00
/** Check wallet parameter interaction */
virtual bool ParameterInteraction() const = 0;
/** Add wallets that should be opened to list of chain clients. */
virtual void Construct(NodeContext& node) const = 0;
Merge bitcoin#10762: [wallet] Remove Wallet dependencies from init.cpp (#3412) * Merge #10762: [wallet] Remove Wallet dependencies from init.cpp c7ec524 [wallet] Add dummy wallet init class (John Newbery) 49baa4a [wallet] Use global g_wallet_init_interface to init/destroy the wallet. (John Newbery) caaf972 [wallet] Create wallet init interface. (John Newbery) 5fb5421 [wallet] Move wallet init functions into WalletInit class. (John Newbery) Pull request description: This continues the work of #7965. This PR, along with several others, would remove the remaining dependencies from libbitcoin_server.a on libbitcoin_wallet.a. To create the interface, I've just translated all the old init.cpp wallet function calls into an interface class. I've not done any thinking about whether it makes sense to change that interface by combining/splitting those calls. This is a purely internal interface, so there's no problem in changing it later. Tree-SHA512: 32ea57615229c33fd1a7f2f29ebc11bf30337685f7211baffa899823ef74b65dcbf068289c557a161c5afffb51fdc38a2ee8180720371f64d433b12b0615cf3f Signed-off-by: Pasta <pasta@dashboost.org> # Conflicts: # src/dashd.cpp # src/init.cpp * a couple of fixes Signed-off-by: Pasta <pasta@dashboost.org> * move privatesend launch options help into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * remove ENABLE_WALLET for AutoLockMasternodeCollaterals Signed-off-by: Pasta <pasta@dashboost.org> * move a wallet param interaction into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * move PrivateSend init to wallet/init.h Signed-off-by: Pasta <pasta@dashboost.org> * move privatesend scheduler into wallet.cpp Signed-off-by: Pasta <pasta@dashboost.org> * remove unneeded import Signed-off-by: Pasta <pasta@dashboost.org> * move KeePass init and InitAutoBackup into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * Fix 10762 Changes: - Should backup wallets before trying to verify them. This is because `-salvagewallet` is very dangerous and can actually corrupt wallets making them irreparably broken. - No reason to make `schedulePrivateSendClientMaintenance` a part of the wallet (interface) because `privateSendClient` is a global object not tied to the wallet directly atm. - Should not run client-side mixing on masternodes. - Fix `InitAutoBackup` signature in `DummyWalletInit`. * remove boost dependancy in wallet/init.cpp Signed-off-by: pasta <pasta@dashboost.org> Co-authored-by: Wladimir J. van der Laan <laanwj@gmail.com> Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2020-04-18 11:59:40 +02:00
// Dash Specific WalletInitInterface
virtual void AutoLockMasternodeCollaterals() const = 0;
refactor: subsume CoinJoin objects under CJContext, deglobalize coinJoin{ClientQueueManager,Server} (#5337) ## Motivation CoinJoin's subsystems are initialized by variables and managers that occupy the global context. The _extent_ to which these subsystems entrench themselves into the codebase is difficult to assess and moving them out of the global context forces us to enumerate the subsystems in the codebase that rely on CoinJoin logic and enumerate the order in which components are initialized and destroyed. Keeping this in mind, the scope of this pull request aims to: * Reduce the amount of CoinJoin-specific entities present in the global scope * Make the remaining usage of these entities in the global scope explicit and easily searchable ## Additional Information * The initialization of `CCoinJoinClientQueueManager` is dependent on blocks-only mode being disabled (which can be alternatively interpreted as enabling the relay of transactions). The same applies to `CBlockPolicyEstimator`, which `CCoinJoinClientQueueManager` depends. Therefore, `CCoinJoinClientQueueManager` is only initialized if transaction relaying is enabled and so is its scheduled maintenance task. This can be found by looking at `init.cpp` [here](https://github.com/dashpay/dash/blob/93f8df1c31fdce6a14f149acfdff22678c3f22ca/src/init.cpp#L1681-L1683), [here](https://github.com/dashpay/dash/blob/93f8df1c31fdce6a14f149acfdff22678c3f22ca/src/init.cpp#L2253-L2255) and [here](https://github.com/dashpay/dash/blob/93f8df1c31fdce6a14f149acfdff22678c3f22ca/src/init.cpp#L2326-L2327). For this reason, `CBlockPolicyEstimator` is not a member of `CJContext` and its usage is fulfilled by passing it as a reference when initializing the scheduling task. * `CJClientManager` has not used `CConnman` or `CTxMemPool` as `const` as existing code that is outside the scope of this PR would cast away constness, which would be unacceptable. Furthermore, some logical paths are taken that will grind to a halt if they are stored as `const`. Examples of such a call chains would be: * `CJClientManager::DoMaintenance > CCoinJoinClientManager::DoMaintenance > DoAutomaticDenominating > CCoinJoinClientSession::DoAutomaticDenominating > CCoinJoinClientSession::StartNewQueue > CConnman::AddPendingMasternode` which modifies `CConnman::vPendingMasternodes`, which is non-const behaviour * `CJClientManager::DoMaintenance > CCoinJoinClientManager::DoMaintenance > DoAutomaticDenominating > CCoinJoin::IsCollateralValid > AcceptToMemoryPool` which adds a transaction to the memory pool, which is non-const behaviour * There were cppcheck [linter failures](https://github.com/dashpay/dash/pull/5337#issuecomment-1685084688) that seemed to be caused by the usage of `Assert` in `coinjoin/client.h`. This seems to be resolved by backporting [bitcoin#24714](https://github.com/bitcoin/bitcoin/pull/24714). (Thanks @knst!) * Depends on #5546 --------- Co-authored-by: Kittywhiskers Van Gogh <63189531+kittywhiskers@users.noreply.github.com> Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>
2023-09-13 19:52:38 +02:00
virtual void InitCoinJoinSettings(const CJClientManager& clientman) const = 0;
virtual bool InitAutoBackup() const = 0;
Merge bitcoin#10762: [wallet] Remove Wallet dependencies from init.cpp (#3412) * Merge #10762: [wallet] Remove Wallet dependencies from init.cpp c7ec524 [wallet] Add dummy wallet init class (John Newbery) 49baa4a [wallet] Use global g_wallet_init_interface to init/destroy the wallet. (John Newbery) caaf972 [wallet] Create wallet init interface. (John Newbery) 5fb5421 [wallet] Move wallet init functions into WalletInit class. (John Newbery) Pull request description: This continues the work of #7965. This PR, along with several others, would remove the remaining dependencies from libbitcoin_server.a on libbitcoin_wallet.a. To create the interface, I've just translated all the old init.cpp wallet function calls into an interface class. I've not done any thinking about whether it makes sense to change that interface by combining/splitting those calls. This is a purely internal interface, so there's no problem in changing it later. Tree-SHA512: 32ea57615229c33fd1a7f2f29ebc11bf30337685f7211baffa899823ef74b65dcbf068289c557a161c5afffb51fdc38a2ee8180720371f64d433b12b0615cf3f Signed-off-by: Pasta <pasta@dashboost.org> # Conflicts: # src/dashd.cpp # src/init.cpp * a couple of fixes Signed-off-by: Pasta <pasta@dashboost.org> * move privatesend launch options help into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * remove ENABLE_WALLET for AutoLockMasternodeCollaterals Signed-off-by: Pasta <pasta@dashboost.org> * move a wallet param interaction into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * move PrivateSend init to wallet/init.h Signed-off-by: Pasta <pasta@dashboost.org> * move privatesend scheduler into wallet.cpp Signed-off-by: Pasta <pasta@dashboost.org> * remove unneeded import Signed-off-by: Pasta <pasta@dashboost.org> * move KeePass init and InitAutoBackup into wallet/init.cpp Signed-off-by: Pasta <pasta@dashboost.org> * Fix 10762 Changes: - Should backup wallets before trying to verify them. This is because `-salvagewallet` is very dangerous and can actually corrupt wallets making them irreparably broken. - No reason to make `schedulePrivateSendClientMaintenance` a part of the wallet (interface) because `privateSendClient` is a global object not tied to the wallet directly atm. - Should not run client-side mixing on masternodes. - Fix `InitAutoBackup` signature in `DummyWalletInit`. * remove boost dependancy in wallet/init.cpp Signed-off-by: pasta <pasta@dashboost.org> Co-authored-by: Wladimir J. van der Laan <laanwj@gmail.com> Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2020-04-18 11:59:40 +02:00
virtual ~WalletInitInterface() {}
};
extern const WalletInitInterface& g_wallet_init_interface;
#endif // BITCOIN_WALLETINITINTERFACE_H