diff --git a/README.md b/README.md index 11c29e614..d3885af3b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Zcash 2.1.0-1 +Zcash 2.1.1-rc1 =========== diff --git a/configure.ac b/configure.ac index c3b1a82c0..8fe7a128f 100644 --- a/configure.ac +++ b/configure.ac @@ -2,8 +2,8 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N) AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 2) define(_CLIENT_VERSION_MINOR, 1) -define(_CLIENT_VERSION_REVISION, 0) -define(_CLIENT_VERSION_BUILD, 51) +define(_CLIENT_VERSION_REVISION, 1) +define(_CLIENT_VERSION_BUILD, 25) define(_ZC_BUILD_VAL, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, m4_incr(_CLIENT_VERSION_BUILD), m4_eval(_CLIENT_VERSION_BUILD < 50), 1, m4_eval(_CLIENT_VERSION_BUILD - 24), m4_eval(_CLIENT_VERSION_BUILD == 50), 1, , m4_eval(_CLIENT_VERSION_BUILD - 50))) define(_CLIENT_VERSION_SUFFIX, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, _CLIENT_VERSION_REVISION-beta$1, m4_eval(_CLIENT_VERSION_BUILD < 50), 1, _CLIENT_VERSION_REVISION-rc$1, m4_eval(_CLIENT_VERSION_BUILD == 50), 1, _CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION-$1))) define(_CLIENT_VERSION_IS_RELEASE, true) diff --git a/contrib/debian/changelog b/contrib/debian/changelog index 58dd5dcd1..8021552e0 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -1,3 +1,9 @@ +zcash (2.1.1~rc1) stable; urgency=medium + + * 2.1.1-rc1 release. + + -- Electric Coin Company Tue, 07 Jan 2020 20:13:52 -0700 + zcash (2.1.0+1) stable; urgency=medium * 2.1.0-1 release. diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml index e1219cf68..a26f11b4f 100644 --- a/contrib/gitian-descriptors/gitian-linux.yml +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -1,5 +1,5 @@ --- -name: "zcash-2.1.0-1" +name: "zcash-2.1.1-rc1" enable_cache: true distro: "debian" suites: diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1 index c5b7abc43..c8e0817b8 100644 --- a/doc/man/zcash-cli.1 +++ b/doc/man/zcash-cli.1 @@ -1,9 +1,9 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. -.TH ZCASH-CLI "1" "November 2019" "zcash-cli v2.1.0-1" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.11. +.TH ZCASH-CLI "1" "January 2020" "zcash-cli v2.1.1-rc1" "User Commands" .SH NAME -zcash-cli \- manual page for zcash-cli v2.1.0-1 +zcash-cli \- manual page for zcash-cli v2.1.1-rc1 .SH DESCRIPTION -Zcash RPC client version v2.1.0\-1 +Zcash RPC client version v2.1.1\-rc1 .PP In order to ensure you are adequately protecting your privacy when using Zcash, please see . @@ -30,10 +30,12 @@ Specify configuration file (default: zcash.conf) \fB\-datadir=\fR .IP Specify data directory +.PP +Chain selection options: .HP \fB\-testnet\fR .IP -Use the test network +Use the test chain .HP \fB\-regtest\fR .IP @@ -75,8 +77,8 @@ Read extra arguments from standard input, one per line until EOF/Ctrl\-D In order to ensure you are adequately protecting your privacy when using Zcash, please see . -Copyright (C) 2009-2019 The Bitcoin Core Developers -Copyright (C) 2015-2019 The Zcash Developers +Copyright (C) 2009-2020 The Bitcoin Core Developers +Copyright (C) 2015-2020 The Zcash Developers This is experimental software. diff --git a/doc/man/zcash-tx.1 b/doc/man/zcash-tx.1 index 2097d67d5..7bb28a0cc 100644 --- a/doc/man/zcash-tx.1 +++ b/doc/man/zcash-tx.1 @@ -1,9 +1,9 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. -.TH ZCASH-TX "1" "November 2019" "zcash-tx v2.1.0-1" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.11. +.TH ZCASH-TX "1" "January 2020" "zcash-tx v2.1.1-rc1" "User Commands" .SH NAME -zcash-tx \- manual page for zcash-tx v2.1.0-1 +zcash-tx \- manual page for zcash-tx v2.1.1-rc1 .SH DESCRIPTION -Zcash zcash\-tx utility version v2.1.0\-1 +Zcash zcash\-tx utility version v2.1.1\-rc1 .SS "Usage:" .TP zcash\-tx [options] [commands] @@ -28,15 +28,18 @@ Select JSON output \fB\-txid\fR .IP Output only the hex\-encoded transaction id of the resultant transaction. +.PP +Chain selection options: +.HP +\fB\-testnet\fR +.IP +Use the test chain .HP \fB\-regtest\fR .IP Enter regression test mode, which uses a special chain in which blocks -can be solved instantly. -.HP -\fB\-testnet\fR -.IP -Use the test network +can be solved instantly. This is intended for regression testing tools +and app development. .PP Commands: .IP @@ -88,8 +91,8 @@ Set register NAME to given JSON\-STRING In order to ensure you are adequately protecting your privacy when using Zcash, please see . -Copyright (C) 2009-2019 The Bitcoin Core Developers -Copyright (C) 2015-2019 The Zcash Developers +Copyright (C) 2009-2020 The Bitcoin Core Developers +Copyright (C) 2015-2020 The Zcash Developers This is experimental software. diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1 index 4902ca89b..aabeca992 100644 --- a/doc/man/zcashd.1 +++ b/doc/man/zcashd.1 @@ -1,9 +1,9 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. -.TH ZCASHD "1" "November 2019" "zcashd v2.1.0-1" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.11. +.TH ZCASHD "1" "January 2020" "zcashd v2.1.1-rc1" "User Commands" .SH NAME -zcashd \- manual page for zcashd v2.1.0-1 +zcashd \- manual page for zcashd v2.1.1-rc1 .SH DESCRIPTION -Zcash Daemon version v2.1.0\-1 +Zcash Daemon version v2.1.1\-rc1 .PP In order to ensure you are adequately protecting your privacy when using Zcash, please see . @@ -67,15 +67,9 @@ Imports blocks from external blk000??.dat file on startup .IP Keep at most unconnectable transactions in memory (default: 100) .HP -\fB\-mempooltxinputlimit=\fR -.IP -[DEPRECATED FROM OVERWINTER] Set the maximum number of transparent -inputs in a transaction that the mempool will accept (default: 0 = no -limit applied) -.HP \fB\-par=\fR .IP -Set the number of script verification threads (\fB\-2\fR to 16, 0 = auto, <0 = +Set the number of script verification threads (\fB\-16\fR to 16, 0 = auto, <0 = leave that many cores free, default: 0) .HP \fB\-pid=\fR @@ -126,7 +120,8 @@ for IPv6 .HP \fB\-connect=\fR .IP -Connect only to the specified node(s) +Connect only to the specified node(s); \fB\-noconnect\fR or \fB\-connect\fR=\fI\,0\/\fR alone to +disable automatic connections .HP \fB\-discover\fR .IP @@ -140,7 +135,7 @@ Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (def \fB\-dnsseed\fR .IP Query for peer addresses via DNS lookup, if low on addresses (default: 1 -unless \fB\-connect\fR) +unless \fB\-connect\fR/\-noconnect) .HP \fB\-externalip=\fR .IP @@ -152,7 +147,8 @@ Always query for peer addresses via DNS lookup (default: 0) .HP \fB\-listen\fR .IP -Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\fR) +Accept connections from outside (default: 1 if no \fB\-proxy\fR or +\fB\-connect\fR/\-noconnect) .HP \fB\-listenonion\fR .IP @@ -195,7 +191,7 @@ Relay non\-P2SH multisig (default: 1) .HP \fB\-peerbloomfilters\fR .IP -Support filtering of blocks and transaction with Bloom filters (default: +Support filtering of blocks and transaction with bloom filters (default: 1) .HP \fB\-port=\fR @@ -258,6 +254,11 @@ Enable the Sprout to Sapling migration .IP Set the Sapling migration address .HP +\fB\-mintxfee=\fR +.IP +Fees (in ZEC/kB) smaller than this are considered zero fee for +transaction creation (default: 0.00001) +.HP \fB\-paytxfee=\fR .IP Fee (in ZEC/kB) to add to transactions you send (default: 0.00) @@ -268,7 +269,7 @@ Rescan the block chain for missing wallet transactions on startup .HP \fB\-salvagewallet\fR .IP -Attempt to recover private keys from a corrupt wallet.dat on startup +Attempt to recover private keys from a corrupt wallet on startup .HP \fB\-sendfreetransactions\fR .IP @@ -289,11 +290,6 @@ Set the number of blocks after which a transaction that has not been mined will become invalid (min: 4, default: 20 (pre\-Blossom) or 40 (post\-Blossom)) .HP -\fB\-maxtxfee=\fR -.IP -Maximum total fees (in ZEC) to use in a single wallet transaction; -setting this too low may abort large transactions (default: 0.10) -.HP \fB\-upgradewallet\fR .IP Upgrade wallet to latest format on startup @@ -364,16 +360,24 @@ Prepend debug output with timestamp (default: 1) .HP \fB\-minrelaytxfee=\fR .IP -Fees (in ZEC/kB) smaller than this are considered zero fee for relaying -(default: 0.000001) +Fees (in ZEC/kB) smaller than this are considered zero fee for relaying, +mining and transaction creation (default: 0.000001) +.HP +\fB\-maxtxfee=\fR +.IP +Maximum total fees (in ZEC) to use in a single wallet transaction or raw +transaction; setting this too low may abort large transactions (default: +0.10) .HP \fB\-printtoconsole\fR .IP Send trace/debug info to console instead of debug.log file +.PP +Chain selection options: .HP \fB\-testnet\fR .IP -Use the test network +Use the test chain .PP Node relay options: .HP @@ -384,7 +388,7 @@ Relay and mine data carrier transactions (default: 1) \fB\-datacarriersize\fR .IP Maximum size of data in data carrier transactions we relay and mine -(default: 80) +(default: 83) .PP Block creation options: .HP @@ -449,6 +453,13 @@ Username for JSON\-RPC connections .IP Password for JSON\-RPC connections .HP +\fB\-rpcauth=\fR +.IP +Username and hashed password for JSON\-RPC connections. The field + comes in the format: :$. A canonical +python script is included in share/rpcuser. This option can be specified +multiple times +.HP \fB\-rpcport=\fR .IP Listen for JSON\-RPC connections on (default: 8232 or testnet: @@ -485,8 +496,8 @@ console, 600 otherwise) In order to ensure you are adequately protecting your privacy when using Zcash, please see . -Copyright (C) 2009-2019 The Bitcoin Core Developers -Copyright (C) 2015-2019 The Zcash Developers +Copyright (C) 2009-2020 The Bitcoin Core Developers +Copyright (C) 2015-2020 The Zcash Developers This is experimental software. diff --git a/doc/release-notes/release-notes-2.1.1-rc1.md b/doc/release-notes/release-notes-2.1.1-rc1.md new file mode 100644 index 000000000..9e286935b --- /dev/null +++ b/doc/release-notes/release-notes-2.1.1-rc1.md @@ -0,0 +1,288 @@ +Notable changes +=============== + +`z_mergetoaddress` promoted out of experimental status +------------------------------------------------------ + +The `z_mergetoaddress` API merges funds from t-addresses, z-addresses, or both, +and sends them to a single t-address or z-address. It was added in v1.0.15 as an +experimental feature, to simplify the process of combining many small UTXOs and +notes into a few larger ones. + +In this release we are promoting `z_mergetoaddress` out of experimental status. +It is now a stable RPC, and any future changes to it will only be additive. See +`zcash-cli help z_mergetoaddress` for API details and usage. + +Unlike most other RPC methods, `z_mergetoaddress` operates over a particular +quantity of UTXOs and notes, instead of a particular amount of ZEC. By default, +it will merge 50 UTXOs and 10 notes at a time; these limits can be adjusted with +the parameters `transparent_limit` and `shielded_limit`. + +`z_mergetoaddress` also returns the number of UTXOs and notes remaining in the +given addresses, which can be used to automate the merging process (for example, +merging until the number of UTXOs falls below some value). + +Option parsing behavior +----------------------- + +Command line options are now parsed strictly in the order in which they are +specified. It used to be the case that `-X -noX` ends up, unintuitively, with X +set, as `-X` had precedence over `-noX`. This is no longer the case. Like for +other software, the last specified value for an option will hold. + +Low-level RPC changes +--------------------- + +- Bare multisig outputs to our keys are no longer automatically treated as + incoming payments. As this feature was only available for multisig outputs for + which you had all private keys in your wallet, there was generally no use for + them compared to single-key schemes. Furthermore, no address format for such + outputs is defined, and wallet software can't easily send to it. These outputs + will no longer show up in `listtransactions`, `listunspent`, or contribute to + your balance, unless they are explicitly watched (using `importaddress` or + `importmulti` with hex script argument). `signrawtransaction*` also still + works for them. + +Changelog +========= + +Alfredo Garcia (19): + remove duplicated prefix in errors and warnings + Consensus: Decouple pow.cpp from util.h + change some wallet functions from bool to void + limit blockchain progress to a max of 1.000000 + remove z_mergetoaddress from experimental + add version to thank you string + add next upgrade info to metrics console + change target spacing to up to upgrade height + create and use SecondsLeftToHeight to display next upgrade info + add NextUpgrade test case + fix spacing + add after blossom test + change var and function names for clarity, refactor function + reverse conditional, replace get_value_or(0) calls + remove redundant line from test + remove zmergetoaddress from experimental state in rpc-tests + get UPGRADE_TESTDUMMY back to default at the end of the test + remove dead code in init + readd create_directories + +Ben Woosley (1): + Assert CPubKey::ValidLength to the pubkey's header-relevent size + +Carl Dong (1): + depends: tar: Always extract as yourself + +Casey Rodarmor (1): + Give a better error message if system clock is bad + +Charlie O'Keefe (1): + Add check-depends step to STAGE_COMMANDS list + +Cory Fields (3): + depends: qt/cctools: fix checksum checksum tests + depends: bump OSX toolchain + depends: make osx output deterministic + +Dagur Valberg Johannsson (1): + Remove option mempooltxinputlimit + +Denis Lukianov (1): + Correct importaddress help reference to importpubkey + +Dimitris Apostolou (4): + Fix typo + Remove stale comment + Change "protect" terminology to "shield" + depends macOS: hide linker visibility warnings + +Eirik Ogilvie-Wigley (2): + Show time elapsed when running RPC tests + Update team email + +Gavin Andresen (1): + Unit test doublespends in new blocks + +Gregory Maxwell (1): + Make connect=0 disable automatic outbound connections. + +Gregory Sanders (1): + Added additional config option for multiple RPC users. + +Ian T (1): + Update RPC generate help for numblocks to include required + +Jack Grigg (32): + Upgrade librustzcash to 0.2.0 + Migrate to librustzcash 0.2.0 API + Remove invalid address comparison from gtest + Cast uint8* in InterruptibleRecv to char* for recv + Add Heartwood to upgrade list + Initialize experimental mode in a separate function + Fix benchmarks after removal of SelectParamsFromCommandLine() + Handle Equihash and optional miner code in TestChain100Setup + Add tests covering the current interaction of alerts with subver comments + Parameterize zcash.conf in init error message + cleanup: Comments + Wrap long line + Match alerts both with and without comments + pyflakes fixes + Revert "Remove insecurely-downloaded dependencies that we don't currently use." + depends: Compile bdb with --disable-atomics when cross-compiling darwin + depends: Add Rust targets for cross-compiling darwin + configure: Don't require RELRO and BIND_NOW when cross-compiling darwin + depends: Manually apply build_env to second half of googletest build + Revert "depends: Explicitly set Boost toolchain during configuration" + Add z_mergetoaddress to release notes + ThreadNotifyRecentlyAdded -> ThreadNotifyWallets + Move mempool tx notifying logic out of CTxMemPool + Merge tree and boolean fields in ChainTip API + Move block-notifying logic into ThreadNotifyWallets + Tie sync_blocks in RPC tests to notifier thread + Extend comment with reason for taking care with locks + test: Add sync_all points after block generation to RPC tests + test: Remove genesis-block Sapling activation from shorter_block_times + test: Reverse hashtx and hashblock ordering at start of ZMQ RPC test + test: Add missing sync_all point + test: Update wallet RPC test with change to "absurdly high fee" limit + +Jainan-Tandel (1): + Cosmetic update to README.md . + +Jim Posen (3): + Comments: More comments on functions/globals in standard.h. + [script] Unit tests for script/standard functions + [script] Unit tests for IsMine + +Jonas Schnelli (9): + [autoprune] allow wallet in pruned mode + [RPC] disable import functions in pruned mode + [squashme] improve/corrects prune mode detection test for required wallet rescans + Refactor parameter interaction, call it before AppInit2() + Initialize logging before we do parameter interaction + [Wallet] move wallet help string creation to CWallet + [Wallet] move "load wallet phase" to CWallet + [Wallet] optimize return value of InitLoadWallet() + [Wallet] refactor wallet/init interaction + +Jorge Timón (4): + Chainparams: Replace CBaseChainParams::Network enum with string constants (suggested by Wladimir) + Chainparams: Translations: DRY: options and error strings + Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgs + Policy: MOVEONLY: Create policy/policy.h with some constants + +Larry Ruane (5): + simplify locking, merge cs_SpendingKeyStore into cs_KeyStore + eliminate races: hold cs_KeyStore lock while reading fUseCrypto + revert CCryptoKeyStore::SetCrypted() return value + insightexplorer: LOCK(cs_main) during rpcs + fix tests for enable-debug build + +Luke Dashjr (8): + Bugfix: RPC: blockchain: Display correct defaults in help for verifychain method + Bugfix: Describe dblogsize option correctly (it refers to the wallet database, not memory pool) + Bugfix: If genproclimit is omitted to RPC setgenerate, don't change it; also show correct default in getmininginfo + Bugfix: Omit wallet-related options from -help when wallet is disabled + Constrain constant values to a single location in code + Bugfix: Omit wallet-related options from -help when wallet is not supported + Policy: MOVEONLY: 3 functions to policy.o: + Common argument defaults for NODE_BLOOM stuff and -wallet + +Marco Falke (20): + [trivial] Reuse translation and cleanup DEFAULT_* values + [qt] Move GUI related HelpMessage() part downstream + [trivial] init cleanup + [wallet] Refactor to use new MIN_CHANGE + [wallet] Add comments for doxygen + Init: Use DEFAULT_TRANSACTION_MINFEE in help message + [qt] Properly display required fee instead of minTxFee + Clarify what minrelaytxfee does + translations: Don't translate markdown or force English grammar + transaction_tests: Be more strict checking dust + [trivial] init: Use defaults MIN_RELAY_TX_FEE & TRANSACTION_MAXFEE + contrib: Del. gitian downloader config and update gitian README + rpcwallet: Clarify what settxfee does + HelpMessage: Don't hide -mintxfee behind showDebug + mempool: Replace maxFeeRate of 10000*minRelayTxFee with maxTxFee + [doxygen] Actually display comment + Fix doxygen comment for payTxFee + [doc] Fix markdown + Make sure LogPrintf strings are line-terminated + [wallet] Move hardcoded file name out of log messages + +Marshall Gaucher (3): + Update `import *` to unblock pyflakes from failing + Update z_sendmany calls passing int 0, instead of Decimal('0') + Update to stop random race error from assert + +Matt Corallo (10): + Also remove pay-2-pubkey from watch when adding a priv key + Split up importaddress into helper functions + Add p2sh option to importaddress to import redeemScripts + Add importpubkey method to import a watch-only pubkey + Update importaddress help to push its use to script-only + Add have-pubkey distinction to ISMINE flags + Add logic to track pubkeys as watch-only, not just scripts + Implement watchonly support in fundrawtransaction + SQUASH "Add have-pubkey distinction to ISMINE flags" + SQUASH "Implement watchonly support in fundrawtransaction" + +Peter Todd (3): + Make TX_SCRIPTHASH clear vSolutionsRet first + Add IsPushOnly(const_iterator pc) + Accept any sequence of PUSHDATAs in OP_RETURN outputs + +Pieter Wuille (9): + Remove template matching and pseudo opcodes + Stop treating importaddress'ed scripts as change + Make CScript -> CScriptID conversion explicit + Do not expose SigVersion argument to IsMine + Switch to a private version of SigVersion inside IsMine + Track difference between scriptPubKey and P2SH execution in IsMine + Do not treat bare multisig as IsMine + Mention removal of bare multisig IsMine in release notes + Use anonymous namespace instead of static functions + +Sean Bowe (2): + make-release.py: Versioning changes for 2.1.1-rc1. + make-release.py: Updated manpages for 2.1.1-rc1. + +Simon Liu (1): + Closes #3911. Fix help message of RPC getwalletinfo. + +Taylor Hornby (10): + Add AFL instrumentation scripts to zcutil. + Add configure option to replace main with a stub for fuzzing + Add all-in-one script for starting AFL fuzzing + Separate AFL build, run fuzz stages, and add afl argument pass-through + Have make clean delete fuzz.cpp + Pass AFL input file path to zcashd + Add fuzzing stub for AddrMan deserialization + Add fuzzing stub for ReadFeeEstimates + Add fuzzing stub for CheckBlock + Update proton from 0.26.0 to 0.30.0 + +Ulrich Kempken (1): + depends: switch to secure download of all dependencies + +Wladimir J. van der Laan (7): + make proxy_test work on servers without ipv6 + Fix argument parsing oddity with -noX + doc: mention change to option parsing behavior in release notes + test: move accounting_tests and rpc_wallet_tests to wallet/test + test: Create test fixture for wallet + wallet_ismine.h → script/ismine.h + test: Rename wallet.dat to wallet_test.dat + +sandakersmann (3): + Update of copyright year to 2020 + Update COPYRIGHT_YEAR in clientversion.h to 2020 + Update _COPYRIGHT_YEAR in configure.ac to 2020 + +Jack Grigg (2): + Apply suggestions from code review + Apply suggestions from code review + +Benjamin Winston (1): + Added basic fuzzing to the monolith, see ticket #4155 + diff --git a/src/clientversion.h b/src/clientversion.h index abe71f512..2936297bb 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -17,8 +17,8 @@ //! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 2 #define CLIENT_VERSION_MINOR 1 -#define CLIENT_VERSION_REVISION 0 -#define CLIENT_VERSION_BUILD 51 +#define CLIENT_VERSION_REVISION 1 +#define CLIENT_VERSION_BUILD 25 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true diff --git a/src/deprecation.h b/src/deprecation.h index 0e62eda6f..a6986dddb 100644 --- a/src/deprecation.h +++ b/src/deprecation.h @@ -8,7 +8,7 @@ // 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 APPROX_RELEASE_HEIGHT = 684782; static const int WEEKS_UNTIL_DEPRECATION = 16; // static const int DEPRECATION_HEIGHT = APPROX_RELEASE_HEIGHT + (WEEKS_UNTIL_DEPRECATION * 7 * 24 * 24);