Skip to content

Commit a933a60

Browse files
committed
feat: new command line argument -bip147height for bitcoin#21373
This command line argument is substitute for -segwitheight so far as dash does not have a segwit feature
1 parent 5191138 commit a933a60

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/chainparams.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -861,6 +861,7 @@ class CRegTestParams : public CChainParams {
861861
UpdateActivationParametersFromArgs(args);
862862
UpdateDIP3ParametersFromArgs(args);
863863
UpdateDIP8ParametersFromArgs(args);
864+
UpdateBIP147ParametersFromArgs(args);
864865
UpdateBudgetParametersFromArgs(args);
865866

866867
genesis = CreateGenesisBlock(1417713337, 1096447, 0x207fffff, 1, 50 * COIN);
@@ -986,6 +987,12 @@ class CRegTestParams : public CChainParams {
986987
}
987988
void UpdateDIP8ParametersFromArgs(const ArgsManager& args);
988989

990+
void UpdateBIP147Parameters(int nActivationHeight)
991+
{
992+
consensus.BIP147Height = nActivationHeight;
993+
}
994+
void UpdateBIP147ParametersFromArgs(const ArgsManager& args);
995+
989996
/**
990997
* Allows modifying the budget regtest parameters.
991998
*/
@@ -1118,6 +1125,18 @@ void CRegTestParams::UpdateDIP8ParametersFromArgs(const ArgsManager& args)
11181125
UpdateDIP8Parameters(nDIP8ActivationHeight);
11191126
}
11201127

1128+
void CRegTestParams::UpdateBIP147ParametersFromArgs(const ArgsManager& args)
1129+
{
1130+
if (!args.IsArgSet("-bip147height")) return;
1131+
int nBIP147Height;
1132+
const std::string strParams = args.GetArg("-bip147height", "");
1133+
if (!ParseInt32(strParams, &nBIP147Height)) {
1134+
throw std::runtime_error(strprintf("Invalid activation height (%s)", strParams));
1135+
}
1136+
LogPrintf("Setting BIP147 parameters to activation=%lld\n", nBIP147Height);
1137+
UpdateBIP147Parameters(nBIP147Height);
1138+
}
1139+
11211140
void CRegTestParams::UpdateBudgetParametersFromArgs(const ArgsManager& args)
11221141
{
11231142
if (!args.IsArgSet("-budgetparams")) return;

src/chainparamsbase.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ void SetupChainParamsBaseOptions(ArgsManager& argsman)
2121
argsman.AddArg("-devnet=<name>", "Use devnet chain with provided name", ArgsManager::ALLOW_ANY, OptionsCategory::CHAINPARAMS);
2222
argsman.AddArg("-dip3params=<activation>:<enforcement>", "Override DIP3 activation and enforcement heights (regtest-only)", ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::CHAINPARAMS);
2323
argsman.AddArg("-dip8params=<activation>", "Override DIP8 activation height (regtest-only)", ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::CHAINPARAMS);
24+
argsman.AddArg("-bip147height=<activation>", "Override BIP147 activation height (regtest-only)", ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::CHAINPARAMS);
2425
argsman.AddArg("-highsubsidyblocks=<n>", "The number of blocks with a higher than normal subsidy to mine at the start of a chain. Block after that height will have fixed subsidy base. (default: 0, devnet-only)", ArgsManager::ALLOW_ANY, OptionsCategory::CHAINPARAMS);
2526
argsman.AddArg("-highsubsidyfactor=<n>", "The factor to multiply the normal block subsidy by while in the highsubsidyblocks window of a chain (default: 1, devnet-only)", ArgsManager::ALLOW_ANY, OptionsCategory::CHAINPARAMS);
2627
argsman.AddArg("-llmqchainlocks=<quorum name>", "Override the default LLMQ type used for ChainLocks. Allows using ChainLocks with smaller LLMQs. (default: llmq_devnet, devnet-only)", ArgsManager::ALLOW_ANY, OptionsCategory::CHAINPARAMS);

0 commit comments

Comments
 (0)