From cd629fb3a0e3e050044e97ea4b90f07381ea2025 Mon Sep 17 00:00:00 2001 From: Ava Chow Date: Wed, 25 Feb 2026 14:49:53 -0800 Subject: [PATCH 1/6] kernel: update assumed blockchain and chainstate sizes Github-Pull: bitcoin/bitcoin#34677 Rebased-From: 5ca0c55517d4c8e41a1dd9904545d82ee09adedf --- src/kernel/chainparams.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/kernel/chainparams.cpp b/src/kernel/chainparams.cpp index 47fe82fa91fa..fb880abdd9df 100644 --- a/src/kernel/chainparams.cpp +++ b/src/kernel/chainparams.cpp @@ -131,7 +131,7 @@ class CMainParams : public CChainParams { pchMessageStart[3] = 0xd9; nDefaultPort = 8333; nPruneAfterHeight = 100000; - m_assumed_blockchain_size = 810; + m_assumed_blockchain_size = 856; m_assumed_chain_state_size = 14; genesis = CreateGenesisBlock(1231006505, 2083236893, 0x1d00ffff, 1, 50 * COIN); @@ -288,7 +288,7 @@ class CTestNetParams : public CChainParams { pchMessageStart[3] = 0x07; nDefaultPort = 18333; nPruneAfterHeight = 1000; - m_assumed_blockchain_size = 200; + m_assumed_blockchain_size = 245; m_assumed_chain_state_size = 19; genesis = CreateGenesisBlock(1296688602, 414098458, 0x1d00ffff, 1, 50 * COIN); @@ -387,8 +387,8 @@ class CTestNet4Params : public CChainParams { pchMessageStart[3] = 0x28; nDefaultPort = 48333; nPruneAfterHeight = 1000; - m_assumed_blockchain_size = 11; - m_assumed_chain_state_size = 1; + m_assumed_blockchain_size = 31; + m_assumed_chain_state_size = 2; const char* testnet4_genesis_msg = "03/May/2024 000000000000000000001ebd58c244970b3aa9d783bb001011fbe8ea8e98e00e"; const CScript testnet4_genesis_script = CScript() << "000000000000000000000000000000000000000000000000000000000000000000"_hex << OP_CHECKSIG; @@ -458,10 +458,10 @@ class SigNetParams : public CChainParams { vSeeds.emplace_back("seed.signet.bitcoin.sprovoost.nl."); vSeeds.emplace_back("seed.signet.achownodes.xyz."); // Ava Chow, only supports x1, x5, x9, x49, x809, x849, xd, x400, x404, x408, x448, xc08, xc48, x40c - consensus.nMinimumChainWork = uint256{"000000000000000000000000000000000000000000000000000002b517f3d1a1"}; - consensus.defaultAssumeValid = uint256{"000000895a110f46e59eb82bbc5bfb67fa314656009c295509c21b4999f5180a"}; // 237722 - m_assumed_blockchain_size = 9; - m_assumed_chain_state_size = 1; + consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000000000000067d328e681a"}; + consensus.defaultAssumeValid = uint256{"000000128586e26813922680309f04e1de713c7542fee86ed908f56368aefe2e"}; // 267665 + m_assumed_blockchain_size = 24; + m_assumed_chain_state_size = 4; chainTxData = ChainTxData{ // Data from RPC: getchaintxstats 4096 000000895a110f46e59eb82bbc5bfb67fa314656009c295509c21b4999f5180a .nTime = 1741019645, From 3743dedcf7455bf5e6f4aaed49fc5294cb210be7 Mon Sep 17 00:00:00 2001 From: Ava Chow Date: Wed, 25 Feb 2026 14:56:36 -0800 Subject: [PATCH 2/6] kernel: update defaultAssumeValid and minimumChainWork Github-Pull: bitcoin/bitcoin#34677 Rebased-From: 8eaf1d26d446ecdc5c69b61334ee51a6f41050d3 --- src/kernel/chainparams.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/kernel/chainparams.cpp b/src/kernel/chainparams.cpp index fb880abdd9df..8164e63cef5d 100644 --- a/src/kernel/chainparams.cpp +++ b/src/kernel/chainparams.cpp @@ -117,8 +117,8 @@ class CMainParams : public CChainParams { consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = 1628640000; // August 11th, 2021 consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].min_activation_height = 709632; // Approximately November 12th, 2021 - consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000dee8e2a309ad8a9820433c68"}; - consensus.defaultAssumeValid = uint256{"00000000000000000000611fd22f2df7c8fbd0688745c3a6c3bb5109cc2a12cb"}; // 912683 + consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000001128750f82f4c366153a3a030"}; + consensus.defaultAssumeValid = uint256{"00000000000000000000ccebd6d74d9194d8dcdc1d177c478e094bfad51ba5ac"}; // 938343 /** * The message start string is designed to be unlikely to occur in normal data. @@ -279,8 +279,8 @@ class CTestNetParams : public CChainParams { consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = 1628640000; // August 11th, 2021 consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].min_activation_height = 0; // No activation delay - consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000015f5e0c9f13455b0eb17"}; - consensus.defaultAssumeValid = uint256{"00000000000003fc7967410ba2d0a8a8d50daedc318d43e8baf1a9782c236a57"}; // 3974606 + consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000017dde1c649f3708d14b6"}; + consensus.defaultAssumeValid = uint256{"000000007a61e4230b28ac5cb6b5e5a0130de37ac1faf2f8987d2fa6505b67f4"}; // 4842348 pchMessageStart[0] = 0x0b; pchMessageStart[1] = 0x11; @@ -378,8 +378,8 @@ class CTestNet4Params : public CChainParams { consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT; consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].min_activation_height = 0; // No activation delay - consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000001d6dce8651b6094e4c1"}; - consensus.defaultAssumeValid = uint256{"0000000000003ed4f08dbdf6f7d6b271a6bcffce25675cb40aa9fa43179a89f3"}; // 72600 + consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000009a0fe15d0177d086304"}; + consensus.defaultAssumeValid = uint256{"0000000002368b1e4ee27e2e85676ae6f9f9e69579b29093e9a82c170bf7cf8a"}; // 123613 pchMessageStart[0] = 0x1c; pchMessageStart[1] = 0x16; @@ -458,8 +458,8 @@ class SigNetParams : public CChainParams { vSeeds.emplace_back("seed.signet.bitcoin.sprovoost.nl."); vSeeds.emplace_back("seed.signet.achownodes.xyz."); // Ava Chow, only supports x1, x5, x9, x49, x809, x849, xd, x400, x404, x408, x448, xc08, xc48, x40c - consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000000000000067d328e681a"}; - consensus.defaultAssumeValid = uint256{"000000128586e26813922680309f04e1de713c7542fee86ed908f56368aefe2e"}; // 267665 + consensus.nMinimumChainWork = uint256{"00000000000000000000000000000000000000000000000000000b463ea0a4b8"}; + consensus.defaultAssumeValid = uint256{"00000008414aab61092ef93f1aacc54cf9e9f16af29ddad493b908a01ff5c329"}; // 293175 m_assumed_blockchain_size = 24; m_assumed_chain_state_size = 4; chainTxData = ChainTxData{ From 7b535edfddbd3e5b247f19afd6b9101a0e226bfb Mon Sep 17 00:00:00 2001 From: Ava Chow Date: Wed, 25 Feb 2026 15:00:29 -0800 Subject: [PATCH 3/6] kernel: update chainTxData Github-Pull: bitcoin/bitcoin#34677 Rebased-From: cf261b071f68b1967077a6d3baac10ea024e653a --- src/kernel/chainparams.cpp | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/kernel/chainparams.cpp b/src/kernel/chainparams.cpp index 8164e63cef5d..2de43f4df708 100644 --- a/src/kernel/chainparams.cpp +++ b/src/kernel/chainparams.cpp @@ -233,10 +233,10 @@ class CMainParams : public CChainParams { }; chainTxData = ChainTxData{ - // Data from RPC: getchaintxstats 4096 00000000000000000000611fd22f2df7c8fbd0688745c3a6c3bb5109cc2a12cb - .nTime = 1756722903, - .tx_count = 1235299397, - .dTxRate = 6.721086701157182, // held back due to present abnormal tx rate + // Data from RPC: getchaintxstats 4096 00000000000000000000ccebd6d74d9194d8dcdc1d177c478e094bfad51ba5ac + .nTime = 1772055173, + .tx_count = 1315805869, + .dTxRate = 5.40111006496122, }; } }; @@ -334,10 +334,10 @@ class CTestNetParams : public CChainParams { }; chainTxData = ChainTxData{ - // Data from RPC: getchaintxstats 4096 00000000000003fc7967410ba2d0a8a8d50daedc318d43e8baf1a9782c236a57 - .nTime = 1741042082, - .tx_count = 475477615, - .dTxRate = 17.15933950357594, + // Data from RPC: getchaintxstats 4096 000000007a61e4230b28ac5cb6b5e5a0130de37ac1faf2f8987d2fa6505b67f4 + .nTime = 1772051651, + .tx_count = 536108416, + .dTxRate = 0.02691479016257117, }; } }; @@ -433,10 +433,10 @@ class CTestNet4Params : public CChainParams { }; chainTxData = ChainTxData{ - // Data from RPC: getchaintxstats 4096 0000000000003ed4f08dbdf6f7d6b271a6bcffce25675cb40aa9fa43179a89f3 - .nTime = 1741070246, - .tx_count = 7653966, - .dTxRate = 1.239174414591965, + // Data from RPC: getchaintxstats 4096 0000000002368b1e4ee27e2e85676ae6f9f9e69579b29093e9a82c170bf7cf8a + .nTime = 1772013387, + .tx_count = 14191421, + .dTxRate = 0.01848579579528412, }; } }; @@ -463,10 +463,10 @@ class SigNetParams : public CChainParams { m_assumed_blockchain_size = 24; m_assumed_chain_state_size = 4; chainTxData = ChainTxData{ - // Data from RPC: getchaintxstats 4096 000000895a110f46e59eb82bbc5bfb67fa314656009c295509c21b4999f5180a - .nTime = 1741019645, - .tx_count = 16540736, - .dTxRate = 1.064918879911595, + // Data from RPC: getchaintxstats 4096 00000008414aab61092ef93f1aacc54cf9e9f16af29ddad493b908a01ff5c329 + .nTime = 1772055248, + .tx_count = 28676833, + .dTxRate = 0.06736623436338929, }; } else { bin = *options.challenge; From c5836d97d2ea8f9a0e9e302048488cf33e3c4dc0 Mon Sep 17 00:00:00 2001 From: Ava Chow Date: Wed, 25 Feb 2026 15:41:12 -0800 Subject: [PATCH 4/6] kernel: Update headerssync params Github-Pull: bitcoin/bitcoin#34677 Rebased-From: 58c2e23fca05d201dfcea092ab032c943c9d5665 (partial, mainnet only) --- contrib/devtools/headerssync-params.py | 4 ++-- src/headerssync.cpp | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/contrib/devtools/headerssync-params.py b/contrib/devtools/headerssync-params.py index 4640718cb7e4..2111d5b13b9d 100755 --- a/contrib/devtools/headerssync-params.py +++ b/contrib/devtools/headerssync-params.py @@ -12,13 +12,13 @@ # Parameters: # Aim for still working fine at some point in the future. [datetime] -TIME = datetime(2027, 10, 6) +TIME = datetime(2028, 10, 10) # Expected block interval. [timedelta] BLOCK_INTERVAL = timedelta(seconds=600) # The number of headers corresponding to the minchainwork parameter. [headers] -MINCHAINWORK_HEADERS = 886157 +MINCHAINWORK_HEADERS = 938343 # Combined processing bandwidth from all attackers to one victim. [bit/s] # 6 Gbit/s is approximately the speed at which a single thread of a Ryzen 5950X CPU thread can hash diff --git a/src/headerssync.cpp b/src/headerssync.cpp index 04034fd51c58..6e03b1ebef9e 100644 --- a/src/headerssync.cpp +++ b/src/headerssync.cpp @@ -11,13 +11,14 @@ // The two constants below are computed using the simulation script in // contrib/devtools/headerssync-params.py. +// Generated by headerssync-params.py on 2026-02-25. //! Store one header commitment per HEADER_COMMITMENT_PERIOD blocks. -constexpr size_t HEADER_COMMITMENT_PERIOD{632}; +constexpr size_t HEADER_COMMITMENT_PERIOD{641}; //! Only feed headers to validation once this many headers on top have been //! received and validated against commitments. -constexpr size_t REDOWNLOAD_BUFFER_SIZE{15009}; // 15009/632 = ~23.7 commitments +constexpr size_t REDOWNLOAD_BUFFER_SIZE{15218}; // 15218/641 = ~23.7 commitments // Our memory analysis assumes 48 bytes for a CompressedHeader (so we should // re-calculate parameters if we compress further) From 318a1a312d72585977cc65ed426eafa5630e96a6 Mon Sep 17 00:00:00 2001 From: Ava Chow Date: Wed, 25 Feb 2026 23:22:29 -0800 Subject: [PATCH 5/6] kernel: Add recent assumeutxo snapshot info Github-Pull: bitcoin/bitcoin#34677 Rebased-From: 44538f8ada868cb73ffa7a4bfb5267046d3f6b85 --- src/kernel/chainparams.cpp | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/kernel/chainparams.cpp b/src/kernel/chainparams.cpp index 2de43f4df708..e9d30b778163 100644 --- a/src/kernel/chainparams.cpp +++ b/src/kernel/chainparams.cpp @@ -229,6 +229,12 @@ class CMainParams : public CChainParams { .hash_serialized = AssumeutxoHash{uint256{"4daf8a17b4902498c5787966a2b51c613acdab5df5db73f196fa59a4da2f1568"}}, .m_chain_tx_count = 1226586151, .blockhash = consteval_ctor(uint256{"0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821"}), + }, + { + .height = 935'000, + .hash_serialized = AssumeutxoHash{uint256{"e4b90ef9eae834f56c4b64d2d50143cee10ad87994c614d7d04125e2a6025050"}}, + .m_chain_tx_count = 1305397408, + .blockhash = consteval_ctor(uint256{"0000000000000000000147034958af1652b2b91bba607beacc5e72a56f0fb5ee"}), } }; @@ -330,6 +336,12 @@ class CTestNetParams : public CChainParams { .hash_serialized = AssumeutxoHash{uint256{"f841584909f68e47897952345234e37fcd9128cd818f41ee6c3ca68db8071be7"}}, .m_chain_tx_count = 66484552, .blockhash = consteval_ctor(uint256{"0000000000000093bcb68c03a9a168ae252572d348a2eaeba2cdf9231d73206f"}), + }, + { + .height = 4'840'000, + .hash_serialized = AssumeutxoHash{uint256{"ce6bb677bb2ee9789c4a1c9d73e6683c53fc20e8fdbedbdaaf468982a0c8db2a"}}, + .m_chain_tx_count = 536078574, + .blockhash = consteval_ctor(uint256{"00000000000000f4971a7fb37fbdff89315b69a2e1920c467654a382f0d64786"}), } }; @@ -429,7 +441,18 @@ class CTestNet4Params : public CChainParams { }; m_assumeutxo_data = { - {} + { + .height = 90'000, + .hash_serialized = AssumeutxoHash{uint256{"784fb5e98241de66fdd429f4392155c9e7db5c017148e66e8fdbc95746f8b9b5"}}, + .m_chain_tx_count = 11347043, + .blockhash = consteval_ctor(uint256{"0000000002ebe8bcda020e0dd6ccfbdfac531d2f6a81457191b99fc2df2dbe3b"}), + }, + { + .height = 120'000, + .hash_serialized = AssumeutxoHash{uint256{"10b05d05ad468d0971162e1b222a4aa66caca89da2bb2a93f8f37fb29c4794b0"}}, + .m_chain_tx_count = 14141057, + .blockhash = consteval_ctor(uint256{"000000000bd2317e51b3c5794981c35ba894ce27d3e772d5c39ecd9cbce01dc8"}), + } }; chainTxData = ChainTxData{ @@ -536,6 +559,12 @@ class SigNetParams : public CChainParams { .hash_serialized = AssumeutxoHash{uint256{"fe0a44309b74d6b5883d246cb419c6221bcccf0b308c9b59b7d70783dbdf928a"}}, .m_chain_tx_count = 2289496, .blockhash = consteval_ctor(uint256{"0000003ca3c99aff040f2563c2ad8f8ec88bd0fd6b8f0895cfaf1ef90353a62c"}), + }, + { + .height = 290'000, + .hash_serialized = AssumeutxoHash{uint256{"97267e000b4b876800167e71b9123f1529d13b14308abec2888bbd2160d14545"}}, + .m_chain_tx_count = 28547497, + .blockhash = consteval_ctor(uint256{"0000000577f2741bb30cd9d39d6d71b023afbeb9764f6260786a97969d5c9ac0"}), } }; From ea4e3496f1f1207ede4d6ee3c81fbac07ab72276 Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Wed, 25 Mar 2026 14:04:30 +0000 Subject: [PATCH 6/6] Diff-minimise and rollback non-mainnet chainparams updates --- contrib/devtools/headerssync-params.py | 4 +- src/headerssync.cpp | 1 - src/kernel/chainparams.cpp | 71 +++++++++----------------- 3 files changed, 26 insertions(+), 50 deletions(-) diff --git a/contrib/devtools/headerssync-params.py b/contrib/devtools/headerssync-params.py index 2111d5b13b9d..4640718cb7e4 100755 --- a/contrib/devtools/headerssync-params.py +++ b/contrib/devtools/headerssync-params.py @@ -12,13 +12,13 @@ # Parameters: # Aim for still working fine at some point in the future. [datetime] -TIME = datetime(2028, 10, 10) +TIME = datetime(2027, 10, 6) # Expected block interval. [timedelta] BLOCK_INTERVAL = timedelta(seconds=600) # The number of headers corresponding to the minchainwork parameter. [headers] -MINCHAINWORK_HEADERS = 938343 +MINCHAINWORK_HEADERS = 886157 # Combined processing bandwidth from all attackers to one victim. [bit/s] # 6 Gbit/s is approximately the speed at which a single thread of a Ryzen 5950X CPU thread can hash diff --git a/src/headerssync.cpp b/src/headerssync.cpp index 6e03b1ebef9e..308cc8410e35 100644 --- a/src/headerssync.cpp +++ b/src/headerssync.cpp @@ -11,7 +11,6 @@ // The two constants below are computed using the simulation script in // contrib/devtools/headerssync-params.py. -// Generated by headerssync-params.py on 2026-02-25. //! Store one header commitment per HEADER_COMMITMENT_PERIOD blocks. constexpr size_t HEADER_COMMITMENT_PERIOD{641}; diff --git a/src/kernel/chainparams.cpp b/src/kernel/chainparams.cpp index e9d30b778163..d2065b74f565 100644 --- a/src/kernel/chainparams.cpp +++ b/src/kernel/chainparams.cpp @@ -285,8 +285,8 @@ class CTestNetParams : public CChainParams { consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = 1628640000; // August 11th, 2021 consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].min_activation_height = 0; // No activation delay - consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000017dde1c649f3708d14b6"}; - consensus.defaultAssumeValid = uint256{"000000007a61e4230b28ac5cb6b5e5a0130de37ac1faf2f8987d2fa6505b67f4"}; // 4842348 + consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000015f5e0c9f13455b0eb17"}; + consensus.defaultAssumeValid = uint256{"00000000000003fc7967410ba2d0a8a8d50daedc318d43e8baf1a9782c236a57"}; // 3974606 pchMessageStart[0] = 0x0b; pchMessageStart[1] = 0x11; @@ -294,7 +294,7 @@ class CTestNetParams : public CChainParams { pchMessageStart[3] = 0x07; nDefaultPort = 18333; nPruneAfterHeight = 1000; - m_assumed_blockchain_size = 245; + m_assumed_blockchain_size = 200; m_assumed_chain_state_size = 19; genesis = CreateGenesisBlock(1296688602, 414098458, 0x1d00ffff, 1, 50 * COIN); @@ -336,20 +336,14 @@ class CTestNetParams : public CChainParams { .hash_serialized = AssumeutxoHash{uint256{"f841584909f68e47897952345234e37fcd9128cd818f41ee6c3ca68db8071be7"}}, .m_chain_tx_count = 66484552, .blockhash = consteval_ctor(uint256{"0000000000000093bcb68c03a9a168ae252572d348a2eaeba2cdf9231d73206f"}), - }, - { - .height = 4'840'000, - .hash_serialized = AssumeutxoHash{uint256{"ce6bb677bb2ee9789c4a1c9d73e6683c53fc20e8fdbedbdaaf468982a0c8db2a"}}, - .m_chain_tx_count = 536078574, - .blockhash = consteval_ctor(uint256{"00000000000000f4971a7fb37fbdff89315b69a2e1920c467654a382f0d64786"}), } }; chainTxData = ChainTxData{ - // Data from RPC: getchaintxstats 4096 000000007a61e4230b28ac5cb6b5e5a0130de37ac1faf2f8987d2fa6505b67f4 - .nTime = 1772051651, - .tx_count = 536108416, - .dTxRate = 0.02691479016257117, + // Data from RPC: getchaintxstats 4096 00000000000003fc7967410ba2d0a8a8d50daedc318d43e8baf1a9782c236a57 + .nTime = 1741042082, + .tx_count = 475477615, + .dTxRate = 17.15933950357594, }; } }; @@ -390,8 +384,8 @@ class CTestNet4Params : public CChainParams { consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT; consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].min_activation_height = 0; // No activation delay - consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000009a0fe15d0177d086304"}; - consensus.defaultAssumeValid = uint256{"0000000002368b1e4ee27e2e85676ae6f9f9e69579b29093e9a82c170bf7cf8a"}; // 123613 + consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000001d6dce8651b6094e4c1"}; + consensus.defaultAssumeValid = uint256{"0000000000003ed4f08dbdf6f7d6b271a6bcffce25675cb40aa9fa43179a89f3"}; // 72600 pchMessageStart[0] = 0x1c; pchMessageStart[1] = 0x16; @@ -399,8 +393,8 @@ class CTestNet4Params : public CChainParams { pchMessageStart[3] = 0x28; nDefaultPort = 48333; nPruneAfterHeight = 1000; - m_assumed_blockchain_size = 31; - m_assumed_chain_state_size = 2; + m_assumed_blockchain_size = 11; + m_assumed_chain_state_size = 1; const char* testnet4_genesis_msg = "03/May/2024 000000000000000000001ebd58c244970b3aa9d783bb001011fbe8ea8e98e00e"; const CScript testnet4_genesis_script = CScript() << "000000000000000000000000000000000000000000000000000000000000000000"_hex << OP_CHECKSIG; @@ -441,25 +435,14 @@ class CTestNet4Params : public CChainParams { }; m_assumeutxo_data = { - { - .height = 90'000, - .hash_serialized = AssumeutxoHash{uint256{"784fb5e98241de66fdd429f4392155c9e7db5c017148e66e8fdbc95746f8b9b5"}}, - .m_chain_tx_count = 11347043, - .blockhash = consteval_ctor(uint256{"0000000002ebe8bcda020e0dd6ccfbdfac531d2f6a81457191b99fc2df2dbe3b"}), - }, - { - .height = 120'000, - .hash_serialized = AssumeutxoHash{uint256{"10b05d05ad468d0971162e1b222a4aa66caca89da2bb2a93f8f37fb29c4794b0"}}, - .m_chain_tx_count = 14141057, - .blockhash = consteval_ctor(uint256{"000000000bd2317e51b3c5794981c35ba894ce27d3e772d5c39ecd9cbce01dc8"}), - } + {} }; chainTxData = ChainTxData{ - // Data from RPC: getchaintxstats 4096 0000000002368b1e4ee27e2e85676ae6f9f9e69579b29093e9a82c170bf7cf8a - .nTime = 1772013387, - .tx_count = 14191421, - .dTxRate = 0.01848579579528412, + // Data from RPC: getchaintxstats 4096 0000000000003ed4f08dbdf6f7d6b271a6bcffce25675cb40aa9fa43179a89f3 + .nTime = 1741070246, + .tx_count = 7653966, + .dTxRate = 1.239174414591965, }; } }; @@ -481,15 +464,15 @@ class SigNetParams : public CChainParams { vSeeds.emplace_back("seed.signet.bitcoin.sprovoost.nl."); vSeeds.emplace_back("seed.signet.achownodes.xyz."); // Ava Chow, only supports x1, x5, x9, x49, x809, x849, xd, x400, x404, x408, x448, xc08, xc48, x40c - consensus.nMinimumChainWork = uint256{"00000000000000000000000000000000000000000000000000000b463ea0a4b8"}; - consensus.defaultAssumeValid = uint256{"00000008414aab61092ef93f1aacc54cf9e9f16af29ddad493b908a01ff5c329"}; // 293175 - m_assumed_blockchain_size = 24; - m_assumed_chain_state_size = 4; + consensus.nMinimumChainWork = uint256{"000000000000000000000000000000000000000000000000000002b517f3d1a1"}; + consensus.defaultAssumeValid = uint256{"000000895a110f46e59eb82bbc5bfb67fa314656009c295509c21b4999f5180a"}; // 237722 + m_assumed_blockchain_size = 9; + m_assumed_chain_state_size = 1; chainTxData = ChainTxData{ - // Data from RPC: getchaintxstats 4096 00000008414aab61092ef93f1aacc54cf9e9f16af29ddad493b908a01ff5c329 - .nTime = 1772055248, - .tx_count = 28676833, - .dTxRate = 0.06736623436338929, + // Data from RPC: getchaintxstats 4096 000000895a110f46e59eb82bbc5bfb67fa314656009c295509c21b4999f5180a + .nTime = 1741019645, + .tx_count = 16540736, + .dTxRate = 1.064918879911595, }; } else { bin = *options.challenge; @@ -559,12 +542,6 @@ class SigNetParams : public CChainParams { .hash_serialized = AssumeutxoHash{uint256{"fe0a44309b74d6b5883d246cb419c6221bcccf0b308c9b59b7d70783dbdf928a"}}, .m_chain_tx_count = 2289496, .blockhash = consteval_ctor(uint256{"0000003ca3c99aff040f2563c2ad8f8ec88bd0fd6b8f0895cfaf1ef90353a62c"}), - }, - { - .height = 290'000, - .hash_serialized = AssumeutxoHash{uint256{"97267e000b4b876800167e71b9123f1529d13b14308abec2888bbd2160d14545"}}, - .m_chain_tx_count = 28547497, - .blockhash = consteval_ctor(uint256{"0000000577f2741bb30cd9d39d6d71b023afbeb9764f6260786a97969d5c9ac0"}), } };