Fix liquidv1 sync

A single field wasn't given a positive value which
meant it considers no peg-ins to be valid.
This commit is contained in:
Gregory Sanders 2019-09-25 21:01:55 -04:00
parent 1e5da20b5e
commit b73ff4ccfe
3 changed files with 6 additions and 2 deletions

View file

@ -725,6 +725,9 @@ public:
g_con_blockheightinheader = true;
g_con_elementsmode = true;
// TODO: Pick appropriate value for this network.
consensus.total_valid_epochs = 2;
consensus.genesis_subsidy = 0;

View file

@ -106,7 +106,8 @@ struct Params {
// Used to seed the extension space for first dynamic blocks
std::vector<std::vector<unsigned char>> first_extension_space;
// Used to allow M-epoch-old peg-in addresses as deposits
size_t total_valid_epochs;
// default 1 to not break legacy chains implicitly.
size_t total_valid_epochs = 1;
};
} // namespace Consensus

View file

@ -492,7 +492,7 @@ std::vector<std::pair<CScript, CScript>> GetValidFedpegScripts(const CBlockIndex
fedpegscripts.push_back(std::make_pair(GetScriptForDestination(ScriptHash(GetScriptForDestination(WitnessV0ScriptHash(params.fedpegScript)))), params.fedpegScript));
}
}
// Only return up to the latest two of three possible fedpegscripts, which are enforced
// Only return up to the latest total_valid_epochs fedpegscripts, which are enforced
fedpegscripts.resize(std::min(fedpegscripts.size(), params.total_valid_epochs));
return fedpegscripts;
}