// Copyright (c) 2017 The Zcash developers // Distributed under the MIT software license, see the accompanying // file COPYING or https://www.opensource.org/licenses/mit-license.php . #ifndef ZCASH_DEPRECATION_H #define ZCASH_DEPRECATION_H // Deprecation policy: // * Shut down 16 weeks' worth of blocks after the estimated release block height. // * A warning is shown during the 2 weeks' worth of blocks prior to shut down. static const int APPROX_RELEASE_HEIGHT = 634650; static const int WEEKS_UNTIL_DEPRECATION = 16; // static const int DEPRECATION_HEIGHT = APPROX_RELEASE_HEIGHT + (WEEKS_UNTIL_DEPRECATION * 7 * 24 * 24); // TEMPORARY! // This is hardcoded to a height that is roughly 10 weeks following the // activation of Blossom on mainnet, which is itself almost 6 weeks following // this release. This is done because the calculation of the deprecation height // does not account for the change in block target spacing; after Blossom has // activated, this should be removed and the previous line fixed to use // APPROX_RELEASE_HEIGHT + (WEEKS_UNTIL_DEPRECATION * 7 * 24 * 48) static const int DEPRECATION_HEIGHT = 734240; // Number of blocks before deprecation to warn users static const int DEPRECATION_WARN_LIMIT = 14 * 24 * 48; // 2 weeks /** * Checks whether the node is deprecated based on the current block height, and * shuts down the node with an error if so (and deprecation is not disabled for * the current client version). Warning and error messages are sent to the debug * log, the metrics UI, and (if configured) -alertnofity. * * fThread means run -alertnotify in a free-running thread. */ void EnforceNodeDeprecation(int nHeight, bool forceLogging=false, bool fThread=true); #endif // ZCASH_DEPRECATION_H