mirror of
https://github.com/monero-project/monero.git
synced 2024-12-25 11:59:27 -05:00
Blockchain: get height of RingCT fork programmatically
Get height of the RingCT fork to start the output distributuon programmatically, instead of using a hardcoded index. If using a hardcoded index, when the hardfork tables are modified, this can cause segmentation faults or horrific privacy issues: https://codeberg.org/wownero/wownero/issues/488#issuecomment-2514880.
This commit is contained in:
parent
58a1d54a4f
commit
41c4bc4557
@ -2363,17 +2363,8 @@ void Blockchain::get_output_key_mask_unlocked(const uint64_t& amount, const uint
|
||||
bool Blockchain::get_output_distribution(uint64_t amount, uint64_t from_height, uint64_t to_height, uint64_t &start_height, std::vector<uint64_t> &distribution, uint64_t &base) const
|
||||
{
|
||||
// rct outputs don't exist before v4
|
||||
if (amount == 0)
|
||||
{
|
||||
switch (m_nettype)
|
||||
{
|
||||
case STAGENET: start_height = stagenet_hard_forks[3].height; break;
|
||||
case TESTNET: start_height = testnet_hard_forks[3].height; break;
|
||||
case MAINNET: start_height = mainnet_hard_forks[3].height; break;
|
||||
case FAKECHAIN: start_height = 0; break;
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
if (amount == 0 && m_nettype != network_type::FAKECHAIN)
|
||||
start_height = m_hardfork->get_earliest_ideal_height_for_version(HF_VERSION_DYNAMIC_FEE);
|
||||
else
|
||||
start_height = 0;
|
||||
base = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user