// Copyright (c) 2022 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include #include #include #include #include #include #include #include #include #include #include namespace node { std::optional ApplyArgsManOptions(const ArgsManager& args, ChainstateManager::Options& opts) { if (auto value{args.GetBoolArg("-checkblockindex")}) opts.check_block_index = *value; if (auto value{args.GetBoolArg("-checkpoints")}) opts.checkpoints_enabled = *value; if (auto value{args.GetArg("-minimumchainwork")}) { if (!IsHexNumber(*value)) { return strprintf(Untranslated("Invalid non-hex (%s) minimum chain work value specified"), *value); } opts.minimum_chain_work = UintToArith256(uint256S(*value)); } if (auto value{args.GetArg("-assumevalid")}) opts.assumed_valid_block = uint256S(*value); if (auto value{args.GetIntArg("-maxtipage")}) opts.max_tip_age = std::chrono::seconds{*value}; return std::nullopt; } } // namespace node