diff --git a/src/currency_core/blockchain_storage_basic.h b/src/currency_core/blockchain_storage_basic.h index b6123fe0..efeb2759 100644 --- a/src/currency_core/blockchain_storage_basic.h +++ b/src/currency_core/blockchain_storage_basic.h @@ -195,14 +195,13 @@ namespace currency inline crypto::hash get_coinbase_hash_cached(const block_extended_info& bei) { - if (bei.m_cache_coinbase_id) - { - return *bei.m_cache_coinbase_id; - } - else + std::shared_ptr local_coinbase_id = bei.m_cache_coinbase_id; + if (!local_coinbase_id) { bei.m_cache_coinbase_id = std::make_shared(get_transaction_hash(bei.bl.miner_tx)); - return *bei.m_cache_coinbase_id; + local_coinbase_id = bei.m_cache_coinbase_id; } + return *local_coinbase_id; + } } // namespace currency diff --git a/src/wallet/wallet_rpc_server.cpp b/src/wallet/wallet_rpc_server.cpp index b3ae4ca6..6def4e7c 100644 --- a/src/wallet/wallet_rpc_server.cpp +++ b/src/wallet/wallet_rpc_server.cpp @@ -56,7 +56,7 @@ POP_VS_WARNINGS catch (const std::exception& e) \ { \ er.code = WALLET_RPC_ERROR_CODE_GENERIC_TRANSFER_ERROR; \ - er.message = std::string("WALLET_RPC_ERROR_CODE_GENERIC_TRANSFER_ERROR") + e.what(); \ + er.message = std::string("WALLET_RPC_ERROR_CODE_GENERIC_TRANSFER_ERROR: ") + e.what(); \ return false; \ } \ catch (...) \