Changeset View
Changeset View
Standalone View
Standalone View
src/interfaces/wallet.cpp
Show First 20 Lines • Show All 458 Lines • ▼ Show 20 Lines | public: | ||||
} | } | ||||
CWallet *wallet() override { return m_wallet.get(); } | CWallet *wallet() override { return m_wallet.get(); } | ||||
std::shared_ptr<CWallet> m_wallet; | std::shared_ptr<CWallet> m_wallet; | ||||
}; | }; | ||||
class WalletClientImpl : public WalletClient { | class WalletClientImpl : public WalletClient { | ||||
public: | public: | ||||
WalletClientImpl(Chain &chain, ArgsManager &args, | WalletClientImpl(Chain &chain, ArgsManager &args) { | ||||
std::vector<std::string> wallet_filenames) | |||||
: m_wallet_filenames(std::move(wallet_filenames)) { | |||||
m_context.chain = &chain; | m_context.chain = &chain; | ||||
m_context.args = &args; | m_context.args = &args; | ||||
} | } | ||||
~WalletClientImpl() override { UnloadWallets(); } | ~WalletClientImpl() override { UnloadWallets(); } | ||||
//! ChainClient methods | //! ChainClient methods | ||||
void registerRpcs(const Span<const CRPCCommand> &commands) { | void registerRpcs(const Span<const CRPCCommand> &commands) { | ||||
for (const CRPCCommand &command : commands) { | for (const CRPCCommand &command : commands) { | ||||
Show All 10 Lines | public: | ||||
m_context.chain->handleRpc(m_rpc_commands.back())); | m_context.chain->handleRpc(m_rpc_commands.back())); | ||||
} | } | ||||
} | } | ||||
void registerRpcs() override { | void registerRpcs() override { | ||||
registerRpcs(GetWalletRPCCommands()); | registerRpcs(GetWalletRPCCommands()); | ||||
registerRpcs(GetWalletDumpRPCCommands()); | registerRpcs(GetWalletDumpRPCCommands()); | ||||
} | } | ||||
bool verify() override { | bool verify() override { return VerifyWallets(*m_context.chain); } | ||||
return VerifyWallets(*m_context.chain, m_wallet_filenames); | bool load() override { return LoadWallets(*m_context.chain); } | ||||
} | |||||
bool load() override { | |||||
return LoadWallets(*m_context.chain, m_wallet_filenames); | |||||
} | |||||
void start(CScheduler &scheduler) override { | void start(CScheduler &scheduler) override { | ||||
return StartWallets(scheduler, *Assert(m_context.args)); | return StartWallets(scheduler, *Assert(m_context.args)); | ||||
} | } | ||||
void flush() override { return FlushWallets(); } | void flush() override { return FlushWallets(); } | ||||
void stop() override { return StopWallets(); } | void stop() override { return StopWallets(); } | ||||
void setMockTime(int64_t time) override { return SetMockTime(time); } | void setMockTime(int64_t time) override { return SetMockTime(time); } | ||||
//! WalletClient methods | //! WalletClient methods | ||||
▲ Show 20 Lines • Show All 50 Lines • ▼ Show 20 Lines | namespace { | ||||
}; | }; | ||||
} // namespace | } // namespace | ||||
std::unique_ptr<Wallet> MakeWallet(const std::shared_ptr<CWallet> &wallet) { | std::unique_ptr<Wallet> MakeWallet(const std::shared_ptr<CWallet> &wallet) { | ||||
return wallet ? std::make_unique<WalletImpl>(wallet) : nullptr; | return wallet ? std::make_unique<WalletImpl>(wallet) : nullptr; | ||||
} | } | ||||
std::unique_ptr<WalletClient> | std::unique_ptr<WalletClient> MakeWalletClient(Chain &chain, | ||||
MakeWalletClient(Chain &chain, ArgsManager &args, | ArgsManager &args) { | ||||
std::vector<std::string> wallet_filenames) { | return std::make_unique<WalletClientImpl>(chain, args); | ||||
return std::make_unique<WalletClientImpl>(chain, args, | |||||
std::move(wallet_filenames)); | |||||
} | } | ||||
} // namespace interfaces | } // namespace interfaces |