38 lines
1.7 KiB
C
38 lines
1.7 KiB
C
// 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
|