@@ -78,7 +78,7 @@ WalletTx MakeWalletTx(CWallet& wallet, const CWalletTx& wtx)
7878WalletTxStatus MakeWalletTxStatus (CWallet& wallet, const CWalletTx& wtx)
7979{
8080 WalletTxStatus result;
81- result.block_height = wallet.chain ().getBlockHeight (wtx.m_confirm .hashBlock ).get_value_or (std::numeric_limits<int >::max ());
81+ result.block_height = wallet.chain ().getBlockHeight (wtx.m_confirm .hashBlock ).value_or (std::numeric_limits<int >::max ());
8282 result.blocks_to_maturity = wtx.GetBlocksToMaturity ();
8383 result.depth_in_main_chain = wtx.GetDepthInMainChain ();
8484 result.time_received = wtx.nTimeReceived ;
@@ -395,7 +395,7 @@ class WalletImpl : public Wallet
395395 return false ;
396396 }
397397 balances = getBalances ();
398- num_blocks = m_wallet->chain ().getHeight ().get_value_or (-1 );
398+ num_blocks = m_wallet->chain ().getHeight ().value_or (-1 );
399399 return true ;
400400 }
401401 CAmount getBalance () override
@@ -558,10 +558,11 @@ class WalletImpl : public Wallet
558558class WalletClientImpl : public WalletClient
559559{
560560public:
561- WalletClientImpl (Chain& chain, std::vector<std::string> wallet_filenames)
561+ WalletClientImpl (Chain& chain, ArgsManager& args, std::vector<std::string> wallet_filenames)
562562 : m_wallet_filenames(std::move(wallet_filenames))
563563 {
564564 m_context.chain = &chain;
565+ m_context.args = &args;
565566 }
566567 ~WalletClientImpl () override { UnloadWallets (); }
567568
@@ -577,7 +578,7 @@ class WalletClientImpl : public WalletClient
577578 }
578579 bool verify () override { return VerifyWallets (*m_context.chain , m_wallet_filenames); }
579580 bool load () override { return LoadWallets (*m_context.chain , m_wallet_filenames); }
580- void start (CScheduler& scheduler) override { return StartWallets (scheduler); }
581+ void start (CScheduler& scheduler) override { return StartWallets (scheduler, * Assert (m_context. args ) ); }
581582 void flush () override { return FlushWallets (); }
582583 void stop () override { return StopWallets (); }
583584 void setMockTime (int64_t time) override { return SetMockTime (time); }
@@ -619,7 +620,7 @@ class WalletClientImpl : public WalletClient
619620 }
620621
621622 WalletContext m_context;
622- std::vector<std::string> m_wallet_filenames;
623+ const std::vector<std::string> m_wallet_filenames;
623624 std::vector<std::unique_ptr<Handler>> m_rpc_handlers;
624625 std::list<CRPCCommand> m_rpc_commands;
625626};
@@ -628,9 +629,9 @@ class WalletClientImpl : public WalletClient
628629
629630std::unique_ptr<Wallet> MakeWallet (const std::shared_ptr<CWallet>& wallet) { return wallet ? MakeUnique<WalletImpl>(wallet) : nullptr ; }
630631
631- std::unique_ptr<WalletClient> MakeWalletClient (Chain& chain, std::vector<std::string> wallet_filenames)
632+ std::unique_ptr<WalletClient> MakeWalletClient (Chain& chain, ArgsManager& args, std::vector<std::string> wallet_filenames)
632633{
633- return MakeUnique<WalletClientImpl>(chain, std::move (wallet_filenames));
634+ return MakeUnique<WalletClientImpl>(chain, args, std::move (wallet_filenames));
634635}
635636
636637} // namespace interfaces
0 commit comments