aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/chainparams.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/chainparams.cpp')
-rw-r--r--src/kernel/chainparams.cpp32
1 files changed, 31 insertions, 1 deletions
diff --git a/src/kernel/chainparams.cpp b/src/kernel/chainparams.cpp
index 26c261eba2..af02c6963b 100644
--- a/src/kernel/chainparams.cpp
+++ b/src/kernel/chainparams.cpp
@@ -29,7 +29,7 @@
static CBlock CreateGenesisBlock(const char* pszTimestamp, const CScript& genesisOutputScript, uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward)
{
CMutableTransaction txNew;
- txNew.nVersion = 1;
+ txNew.version = 1;
txNew.vin.resize(1);
txNew.vout.resize(1);
txNew.vin[0].scriptSig = CScript() << 486604799 << CScriptNum(4) << std::vector<unsigned char>((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
@@ -542,3 +542,33 @@ std::unique_ptr<const CChainParams> CChainParams::TestNet()
{
return std::make_unique<const CTestNetParams>();
}
+
+std::vector<int> CChainParams::GetAvailableSnapshotHeights() const
+{
+ std::vector<int> heights;
+ heights.reserve(m_assumeutxo_data.size());
+
+ for (const auto& data : m_assumeutxo_data) {
+ heights.emplace_back(data.height);
+ }
+ return heights;
+}
+
+std::optional<ChainType> GetNetworkForMagic(const MessageStartChars& message)
+{
+ const auto mainnet_msg = CChainParams::Main()->MessageStart();
+ const auto testnet_msg = CChainParams::TestNet()->MessageStart();
+ const auto regtest_msg = CChainParams::RegTest({})->MessageStart();
+ const auto signet_msg = CChainParams::SigNet({})->MessageStart();
+
+ if (std::equal(message.begin(), message.end(), mainnet_msg.data())) {
+ return ChainType::MAIN;
+ } else if (std::equal(message.begin(), message.end(), testnet_msg.data())) {
+ return ChainType::TESTNET;
+ } else if (std::equal(message.begin(), message.end(), regtest_msg.data())) {
+ return ChainType::REGTEST;
+ } else if (std::equal(message.begin(), message.end(), signet_msg.data())) {
+ return ChainType::SIGNET;
+ }
+ return std::nullopt;
+}