From 5496253966abec287ea61a648cb518d14903f91f Mon Sep 17 00:00:00 2001 From: Jonas Schnelli Date: Wed, 1 Jul 2015 08:32:30 +0200 Subject: add CReserveScript to allow modular script keeping/returning - use one CReserveScript per mining thread --- src/wallet/wallet.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/wallet/wallet.cpp') diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 997ca1e2f..238f62a57 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -2583,14 +2583,15 @@ void CWallet::UpdatedTransaction(const uint256 &hashTx) } } -void CWallet::GetScriptForMining(CScript &script) +void CWallet::GetScriptForMining(boost::shared_ptr &script) { - CReserveKey reservekey(this); + boost::shared_ptr rKey(new CReserveKey(this)); CPubKey pubkey; - if (!reservekey.GetReservedKey(pubkey)) + if (!rKey->GetReservedKey(pubkey)) return; - script = CScript() << ToByteVector(pubkey) << OP_CHECKSIG; - reservekey.KeepKey(); + + script = rKey; + script->reserveScript = CScript() << ToByteVector(pubkey) << OP_CHECKSIG; } void CWallet::LockCoin(COutPoint& output) -- cgit v1.2.3