/Users/eugenesiegel/btc/bitcoin/src/consensus/amount.h
| Line | Count | Source | 
| 1 |  | // Copyright (c) 2009-2010 Satoshi Nakamoto | 
| 2 |  | // Copyright (c) 2009-2021 The Bitcoin Core developers | 
| 3 |  | // Distributed under the MIT software license, see the accompanying | 
| 4 |  | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | 
| 5 |  |  | 
| 6 |  | #ifndef BITCOIN_CONSENSUS_AMOUNT_H | 
| 7 |  | #define BITCOIN_CONSENSUS_AMOUNT_H | 
| 8 |  |  | 
| 9 |  | #include <cstdint> | 
| 10 |  |  | 
| 11 |  | /** Amount in satoshis (Can be negative) */ | 
| 12 |  | typedef int64_t CAmount; | 
| 13 |  |  | 
| 14 |  | /** The amount of satoshis in one BTC. */ | 
| 15 |  | static constexpr CAmount COIN = 100000000; | 
| 16 |  |  | 
| 17 |  | /** No amount larger than this (in satoshi) is valid. | 
| 18 |  |  * | 
| 19 |  |  * Note that this constant is *not* the total money supply, which in Bitcoin | 
| 20 |  |  * currently happens to be less than 21,000,000 BTC for various reasons, but | 
| 21 |  |  * rather a sanity check. As this sanity check is used by consensus-critical | 
| 22 |  |  * validation code, the exact value of the MAX_MONEY constant is consensus | 
| 23 |  |  * critical; in unusual circumstances like a(nother) overflow bug that allowed | 
| 24 |  |  * for the creation of coins out of thin air modification could lead to a fork. | 
| 25 |  |  * */ | 
| 26 |  | static constexpr CAmount MAX_MONEY = 21000000 * COIN; | 
| 27 | 105M | inline bool MoneyRange(const CAmount& nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); } | 
| 28 |  |  | 
| 29 |  | #endif // BITCOIN_CONSENSUS_AMOUNT_H |