| 235 | class CTestNetParams : public CChainParams { |
| 236 | public: |
| 237 | CTestNetParams(const TestNetOptions& opts) { |
| 238 | m_chain_type = ChainType::TESTNET; |
| 239 | consensus.signet_blocks = false; |
| 240 | consensus.signet_challenge.clear(); |
| 241 | consensus.nSubsidyHalvingInterval = 210000; |
| 242 | consensus.script_flag_exceptions.emplace( // BIP16 exception |
| 243 | uint256{"00000000dd30457c001f4095d208cc1296b0eed002427aa599874af7a432b105"}, SCRIPT_VERIFY_NONE); |
| 244 | consensus.BIP34Height = 21111; |
| 245 | consensus.BIP34Hash = uint256{"0000000023b3a96d3484e5abb3755c413e7d41500f8e2a5c3f0dd01299cd8ef8"}; |
| 246 | consensus.BIP65Height = 581885; // 00000000007f6655f22f98e72ed80d8b06dc761d5da09df0fa1dc4be4f861eb6 |
| 247 | consensus.BIP66Height = 330776; // 000000002104c8c45e99a8853285a3b592602a3ccde2b832481da85e9e4ba182 |
| 248 | consensus.CSVHeight = 770112; // 00000000025e930139bac5c6c31a403776da130831ab85be56578f3fa75369bb |
| 249 | consensus.SegwitHeight = 834624; // 00000000002b980fcd729daaa248fd9316a5200e9b367f4ff2c42453e84201ca |
| 250 | consensus.MinBIP9WarningHeight = 2013984; // taproot activation height + miner confirmation window |
| 251 | consensus.powLimit = uint256{"00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}; |
| 252 | consensus.nPowTargetTimespan = 14 * 24 * 60 * 60; // two weeks |
| 253 | consensus.nPowTargetSpacing = 10 * 60; |
| 254 | consensus.fPowAllowMinDifficultyBlocks = true; |
| 255 | consensus.enforce_BIP94 = false; |
| 256 | consensus.fPowNoRetargeting = false; |
| 257 | consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].bit = 28; |
| 258 | consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = Consensus::BIP9Deployment::NEVER_ACTIVE; |
| 259 | consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT; |
| 260 | consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].min_activation_height = 0; // No activation delay |
| 261 | consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].threshold = 1512; // 75% |
| 262 | consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].period = 2016; |
| 263 | |
| 264 | ApplyDeploymentOptions(opts.dep_opts); |
| 265 | |
| 266 | consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000017dde1c649f3708d14b6"}; |
| 267 | consensus.defaultAssumeValid = uint256{"000000007a61e4230b28ac5cb6b5e5a0130de37ac1faf2f8987d2fa6505b67f4"}; // 4842348 |
| 268 | |
| 269 | pchMessageStart[0] = 0x0b; |
| 270 | pchMessageStart[1] = 0x11; |
| 271 | pchMessageStart[2] = 0x09; |
| 272 | pchMessageStart[3] = 0x07; |
| 273 | nDefaultPort = 18333; |
| 274 | nPruneAfterHeight = 1000; |
| 275 | m_assumed_blockchain_size = 245; |
| 276 | m_assumed_chain_state_size = 19; |
| 277 | |
| 278 | genesis = CreateGenesisBlock(1296688602, 414098458, 0x1d00ffff, 1, 50 * COIN); |
| 279 | consensus.hashGenesisBlock = genesis.GetHash(); |
| 280 | assert(consensus.hashGenesisBlock == uint256{"000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943"}); |
| 281 | assert(genesis.hashMerkleRoot == uint256{"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"}); |
| 282 | |
| 283 | vFixedSeeds.clear(); |
| 284 | vSeeds.clear(); |
| 285 | // nodes with support for servicebits filtering should be at the top |
| 286 | vSeeds.emplace_back("testnet-seed.bitcoin.jonasschnelli.ch."); |
| 287 | vSeeds.emplace_back("seed.tbtc.petertodd.net."); |
| 288 | vSeeds.emplace_back("seed.testnet.bitcoin.sprovoost.nl."); |
| 289 | vSeeds.emplace_back("testnet-seed.bluematt.me."); // Just a static list of stable node(s), only supports x9 |
| 290 | vSeeds.emplace_back("seed.testnet.achownodes.xyz."); // Ava Chow, only supports x1, x5, x9, x49, x809, x849, xd, x400, x404, x408, x448, xc08, xc48, x40c |
| 291 | |
| 292 | base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,111); |
| 293 | base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,196); |
| 294 | base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1,239); |
nothing calls this directly
no test coverage detected