get_num_outputs added

pull/155/head
moneroexamples 5 years ago
parent c965b9efc8
commit c62f719233

@ -342,6 +342,19 @@ CurrentBlockchainStatus::get_tx_with_output(
return true;
}
uint64_t
CurrentBlockchainStatus::get_num_outputs(
uint64_t amount) const
{
auto future_result = thread_pool->submit(
[this](auto const& amount) -> uint64_t
{
return this->mcore->get_num_outputs(amount);
}, std::cref(amount));
return future_result.get();
}
bool
CurrentBlockchainStatus::get_output_keys(
@ -360,9 +373,9 @@ CurrentBlockchainStatus::get_output_keys(
absolute_offsets, outputs);
return true;
}
catch (std::exception const& e)
catch (...)
{
OMERROR << "get_output_keys: " << e.what();
OMERROR << "Can get_output_keys";
}
return false;
@ -1318,6 +1331,12 @@ MicroCoreAdapter::MicroCoreAdapter(CurrentBlockchainStatus* _cbs)
: cbs {_cbs}
{}
uint64_t
MicroCoreAdapter::get_num_outputs(uint64_t amount) const
{
return cbs->get_num_outputs(amount);
}
void
MicroCoreAdapter::get_output_key(uint64_t amount,
vector<uint64_t> const& absolute_offsets,

@ -128,6 +128,9 @@ public:
uint64_t amount,
std::vector<uint64_t> const& offsets,
std::vector<tx_out_index>& indices) const;
virtual uint64_t
get_num_outputs(uint64_t amount) const;
virtual bool
get_output_keys(const uint64_t& amount,
@ -377,6 +380,9 @@ class MicroCoreAdapter : public AbstractCore
{
public:
MicroCoreAdapter(CurrentBlockchainStatus* _cbs);
virtual uint64_t
get_num_outputs(uint64_t amount) const override;
virtual void
get_output_key(uint64_t amount,

@ -2125,7 +2125,6 @@ OpenMoneroRequests::create_account(
// if scan block height is zero (for extranl wallets)
// blockchain scanning starts immedietly.
scanned_block_height = start_height;
}
// create new account

@ -307,6 +307,7 @@ TEST_F(MYSQL_TEST, InsertAndGetAccount)
uint64_t mock_current_blockchain_height = 452145;
uint64_t mock_current_blockchain_timestamp = 1529302789;
bool mock_generated_locally {true};
DateTime blk_timestamp_mysql_format
= mysqlpp::DateTime(static_cast<time_t>(
@ -326,6 +327,7 @@ TEST_F(MYSQL_TEST, InsertAndGetAccount)
view_key_hash,
mock_current_blockchain_height, /* for scanned_block_height */
blk_timestamp_mysql_format,
mock_generated_locally,
mock_current_blockchain_height);
int64_t acc_id = xmr_accounts->insert(new_account);

Loading…
Cancel
Save