From f955cb3d9c7f1cd01ace0b4229bda9f1eb7b6129 Mon Sep 17 00:00:00 2001 From: Pablo Greco Date: Sun, 28 Nov 2021 13:20:14 +0000 Subject: [PATCH] liquidtestnet: Add chainparams --- src/chainparams.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ src/chainparamsbase.cpp | 3 +++ src/chainparamsbase.h | 1 + 3 files changed, 45 insertions(+) diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 66373a0787..32c9f810ed 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -945,6 +945,45 @@ public: } }; +/** + * Liquid testnet (customparams with a few defaults). + */ +class CLiquidTestNetParams : public CCustomParams { +public: + CLiquidTestNetParams(const std::string& chain, const ArgsManager& args) : CCustomParams(chain, args) + { + strNetworkID = chain; + // not a debug chain + fDefaultConsistencyChecks = false; + + initialFreeCoins = 2100000000000000; + anyonecanspend_aremine = false; + consensus.max_block_signature_size = 150; + consensus.dynamic_epoch_length = 1000; + + // no parent chain by default + consensus.has_parent_chain = false; + parentGenesisBlockHash = uint256(); + + bech32_hrp = "tex"; + blech32_hrp = "tlq"; + + base58Prefixes[PUBKEY_ADDRESS] = std::vector(1, 36); + base58Prefixes[SCRIPT_ADDRESS] = std::vector(1, 19); + base58Prefixes[BLINDED_ADDRESS] = std::vector(1, 23); + base58Prefixes[SECRET_KEY] = std::vector(1, base58Prefixes[SECRET_KEY][0]); + + // disable automatic dynafed + consensus.vDeployments[Consensus::DEPLOYMENT_DYNA_FED].nStartTime = 0; + + default_magic_str = "410EDD62"; + default_signblockscript = "51210217e403ddb181872c32a0cd468c710040b2f53d8cac69f18dad07985ee37e9a7151ae"; + UpdateFromArgs(args); + SetGenesisBlock(); + consensus.hashGenesisBlock = genesis.GetHash(); + } +}; + /** * Liquid v1 */ @@ -1486,6 +1525,8 @@ std::unique_ptr CreateChainParams(const ArgsManager& args, c return std::unique_ptr(new CLiquidV1Params()); } else if (chain == CBaseChainParams::LIQUID1TEST) { return std::unique_ptr(new CLiquidV1TestParams(args)); + } else if (chain == CBaseChainParams::LIQUIDTESTNET) { + return std::unique_ptr(new CLiquidTestNetParams(chain, args)); } return std::unique_ptr(new CCustomParams(chain, args)); diff --git a/src/chainparamsbase.cpp b/src/chainparamsbase.cpp index b79ba9685d..35aa921cd9 100644 --- a/src/chainparamsbase.cpp +++ b/src/chainparamsbase.cpp @@ -16,6 +16,7 @@ const std::string CBaseChainParams::SIGNET = "signet"; const std::string CBaseChainParams::REGTEST = "regtest"; const std::string CBaseChainParams::LIQUID1 = "liquidv1"; const std::string CBaseChainParams::LIQUID1TEST = "liquidv1test"; +const std::string CBaseChainParams::LIQUIDTESTNET = "liquidtestnet"; const std::string CBaseChainParams::DEFAULT = CBaseChainParams::LIQUID1; @@ -89,6 +90,8 @@ std::unique_ptr CreateBaseChainParams(const std::string& chain return std::make_unique("liquidv1", 7041, 8332, 37041); } else if (chain == CBaseChainParams::LIQUID1TEST) { return std::make_unique("liquidv1test", 7040, 18332, 37040); // Use same ports as customparams + } else if (chain == CBaseChainParams::LIQUIDTESTNET) { + return std::make_unique(chain, 7039, 18331, 37039); } // ELEMENTS: diff --git a/src/chainparamsbase.h b/src/chainparamsbase.h index edbea7e02c..5ba4677ef3 100644 --- a/src/chainparamsbase.h +++ b/src/chainparamsbase.h @@ -25,6 +25,7 @@ public: static const std::string REGTEST; static const std::string LIQUID1; static const std::string LIQUID1TEST; + static const std::string LIQUIDTESTNET; ///@} static const std::string DEFAULT;