diff --git a/src/chainparams.cpp b/src/chainparams.cpp index b8604e155cb..d25e256fdca 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -106,6 +106,7 @@ class CMainParams : public CChainParams { consensus.genesis_subsidy = 50*COIN; consensus.connect_genesis_outputs = false; + anyonecanspend_aremine = false; /** * The message start string is designed to be unlikely to occur in normal data. @@ -223,6 +224,7 @@ class CTestNetParams : public CChainParams { consensus.genesis_subsidy = 50*COIN; consensus.connect_genesis_outputs = false; + anyonecanspend_aremine = false; pchMessageStart[0] = 0x0b; pchMessageStart[1] = 0x11; @@ -315,6 +317,7 @@ class CRegTestParams : public CChainParams { consensus.genesis_subsidy = 50*COIN; consensus.connect_genesis_outputs = false; + anyonecanspend_aremine = false; pchMessageStart[0] = 0xfa; pchMessageStart[1] = 0xbf; @@ -439,6 +442,8 @@ class CCustomParams : public CRegTestParams { // Custom chains connect coinbase outputs to db by default consensus.connect_genesis_outputs = gArgs.GetArg("-con_connect_coinbase", true); + anyonecanspend_aremine = gArgs.GetBoolArg("-anyonecanspendaremine", true); + nPruneAfterHeight = (uint64_t)args.GetArg("-npruneafterheight", nPruneAfterHeight); fDefaultConsistencyChecks = args.GetBoolArg("-fdefaultconsistencychecks", fDefaultConsistencyChecks); fMineBlocksOnDemand = args.GetBoolArg("-fmineblocksondemand", fMineBlocksOnDemand); diff --git a/src/chainparams.h b/src/chainparams.h index 19818b40aff..6692e07050e 100644 --- a/src/chainparams.h +++ b/src/chainparams.h @@ -80,6 +80,7 @@ class CChainParams const std::vector& FixedSeeds() const { return vFixedSeeds; } const CCheckpointData& Checkpoints() const { return checkpointData; } const ChainTxData& TxData() const { return chainTxData; } + bool anyonecanspend_aremine; protected: CChainParams() {} diff --git a/src/init.cpp b/src/init.cpp index 6a260108820..40c373eb599 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -495,6 +495,7 @@ void SetupServerArgs() CURRENCY_UNIT, FormatMoney(DEFAULT_MIN_RELAY_TX_FEE)), false, OptionsCategory::NODE_RELAY); gArgs.AddArg("-whitelistforcerelay", strprintf("Force relay of transactions from whitelisted peers even if they violate local relay policy (default: %d)", DEFAULT_WHITELISTFORCERELAY), false, OptionsCategory::NODE_RELAY); gArgs.AddArg("-whitelistrelay", strprintf("Accept relayed transactions received from whitelisted peers even when not relaying transactions (default: %d)", DEFAULT_WHITELISTRELAY), false, OptionsCategory::NODE_RELAY); + gArgs.AddArg("-anyonecanspendaremine", strprintf("Treat OP_TRUE outputs as funds for the wallet. Default true for custom chains."), true, OptionsCategory::DEBUG_TEST); gArgs.AddArg("-blockmaxweight=", strprintf("Set maximum BIP141 block weight (default: %d)", DEFAULT_BLOCK_MAX_WEIGHT), false, OptionsCategory::BLOCK_CREATION); diff --git a/src/script/ismine.cpp b/src/script/ismine.cpp index e3a6278c756..d7bd72132ae 100644 --- a/src/script/ismine.cpp +++ b/src/script/ismine.cpp @@ -9,6 +9,7 @@ #include #include