hardfork: most state now saved to the DB

There will be a delay on first load of an existing blockchain
as it gets reparsed for this state data.
This commit is contained in:
moneromooo-monero
2015-09-20 18:41:38 +01:00
parent 0a54c3a553
commit 5b11a89a76
10 changed files with 537 additions and 258 deletions

View File

@@ -374,6 +374,13 @@ private:
virtual void remove_spent_key(const crypto::key_image& k_image);
void get_output_global_indices(const uint64_t& amount, const std::vector<uint64_t> &offsets, std::vector<uint64_t> &global_indices);
// Hard fork related storage
virtual void set_hard_fork_starting_height(uint8_t version, uint64_t height);
virtual uint64_t get_hard_fork_starting_height(uint8_t version) const;
virtual void set_hard_fork_version(uint64_t height, uint8_t version);
virtual uint8_t get_hard_fork_version(uint64_t height) const;
/**
* @brief convert a tx output to a blob for storage
*
@@ -430,6 +437,9 @@ private:
Db* m_spent_keys;
Db* m_hf_starting_heights;
Db* m_hf_versions;
uint64_t m_height;
uint64_t m_num_outputs;
std::string m_folder;