mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 04:22:55 +01:00
Merge #14244: amount: Move CAmount CENT to unit test header
fa84723e73 amount: Move CAmount CENT to unit test header (MarcoFalke) Pull request description: `CAmount` is currently not type-safe. Exporting a constant (`CENT`) that is commonly not referred to by that name might be confusing. `CENT` is only used in two places prior to this commit (`ParseMoney` and `MIN_CHANGE`). So replace these with constants relative to `COIN` and move `CENT` to the unit test header. Tree-SHA512: 5273e96d8664ced6ae211abde2e20bc763e6e99f89404eec02c621f29e1d235e5f9b1ade933743843fae16fc24b643f883deda9221e3d9fd31229d2ab63a914f
This commit is contained in:
parent
00971209b7
commit
e24fff7967
@ -12,7 +12,6 @@
|
|||||||
typedef int64_t CAmount;
|
typedef int64_t CAmount;
|
||||||
|
|
||||||
static const CAmount COIN = 100000000;
|
static const CAmount COIN = 100000000;
|
||||||
static const CAmount CENT = 1000000;
|
|
||||||
|
|
||||||
/** No amount larger than this (in satoshi) is valid.
|
/** No amount larger than this (in satoshi) is valid.
|
||||||
*
|
*
|
||||||
|
@ -12,8 +12,8 @@
|
|||||||
// FIXME: Dedup with SetupDummyInputs in test/transaction_tests.cpp.
|
// FIXME: Dedup with SetupDummyInputs in test/transaction_tests.cpp.
|
||||||
//
|
//
|
||||||
// Helper: create two dummy transactions, each with
|
// Helper: create two dummy transactions, each with
|
||||||
// two outputs. The first has 11 and 50 CENT outputs
|
// two outputs. The first has 11 and 50 COIN outputs
|
||||||
// paid to a TX_PUBKEY, the second 21 and 22 CENT outputs
|
// paid to a TX_PUBKEY, the second 21 and 22 COIN outputs
|
||||||
// paid to a TX_PUBKEYHASH.
|
// paid to a TX_PUBKEYHASH.
|
||||||
//
|
//
|
||||||
static std::vector<CMutableTransaction>
|
static std::vector<CMutableTransaction>
|
||||||
@ -31,16 +31,16 @@ SetupDummyInputs(CBasicKeyStore& keystoreRet, CCoinsViewCache& coinsRet)
|
|||||||
|
|
||||||
// Create some dummy input transactions
|
// Create some dummy input transactions
|
||||||
dummyTransactions[0].vout.resize(2);
|
dummyTransactions[0].vout.resize(2);
|
||||||
dummyTransactions[0].vout[0].nValue = 11 * CENT;
|
dummyTransactions[0].vout[0].nValue = 11 * COIN;
|
||||||
dummyTransactions[0].vout[0].scriptPubKey << ToByteVector(key[0].GetPubKey()) << OP_CHECKSIG;
|
dummyTransactions[0].vout[0].scriptPubKey << ToByteVector(key[0].GetPubKey()) << OP_CHECKSIG;
|
||||||
dummyTransactions[0].vout[1].nValue = 50 * CENT;
|
dummyTransactions[0].vout[1].nValue = 50 * COIN;
|
||||||
dummyTransactions[0].vout[1].scriptPubKey << ToByteVector(key[1].GetPubKey()) << OP_CHECKSIG;
|
dummyTransactions[0].vout[1].scriptPubKey << ToByteVector(key[1].GetPubKey()) << OP_CHECKSIG;
|
||||||
AddCoins(coinsRet, dummyTransactions[0], 0);
|
AddCoins(coinsRet, dummyTransactions[0], 0);
|
||||||
|
|
||||||
dummyTransactions[1].vout.resize(2);
|
dummyTransactions[1].vout.resize(2);
|
||||||
dummyTransactions[1].vout[0].nValue = 21 * CENT;
|
dummyTransactions[1].vout[0].nValue = 21 * COIN;
|
||||||
dummyTransactions[1].vout[0].scriptPubKey = GetScriptForDestination(key[2].GetPubKey().GetID());
|
dummyTransactions[1].vout[0].scriptPubKey = GetScriptForDestination(key[2].GetPubKey().GetID());
|
||||||
dummyTransactions[1].vout[1].nValue = 22 * CENT;
|
dummyTransactions[1].vout[1].nValue = 22 * COIN;
|
||||||
dummyTransactions[1].vout[1].scriptPubKey = GetScriptForDestination(key[3].GetPubKey().GetID());
|
dummyTransactions[1].vout[1].scriptPubKey = GetScriptForDestination(key[3].GetPubKey().GetID());
|
||||||
AddCoins(coinsRet, dummyTransactions[1], 0);
|
AddCoins(coinsRet, dummyTransactions[1], 0);
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ static void CCoinsCaching(benchmark::State& state)
|
|||||||
t1.vin[2].prevout.n = 1;
|
t1.vin[2].prevout.n = 1;
|
||||||
t1.vin[2].scriptSig << std::vector<unsigned char>(65, 0) << std::vector<unsigned char>(33, 4);
|
t1.vin[2].scriptSig << std::vector<unsigned char>(65, 0) << std::vector<unsigned char>(33, 4);
|
||||||
t1.vout.resize(2);
|
t1.vout.resize(2);
|
||||||
t1.vout[0].nValue = 90 * CENT;
|
t1.vout[0].nValue = 90 * COIN;
|
||||||
t1.vout[0].scriptPubKey << OP_1;
|
t1.vout[0].scriptPubKey << OP_1;
|
||||||
|
|
||||||
// Benchmark.
|
// Benchmark.
|
||||||
@ -80,7 +80,7 @@ static void CCoinsCaching(benchmark::State& state)
|
|||||||
bool success = AreInputsStandard(t1, coins);
|
bool success = AreInputsStandard(t1, coins);
|
||||||
assert(success);
|
assert(success);
|
||||||
CAmount value = coins.GetValueIn(t1);
|
CAmount value = coins.GetValueIn(t1);
|
||||||
assert(value == (50 + 21 + 22) * CENT);
|
assert(value == (50 + 21 + 22) * COIN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,6 +43,8 @@ static inline uint64_t InsecureRandBits(int bits) { return insecure_rand_ctx.ran
|
|||||||
static inline uint64_t InsecureRandRange(uint64_t range) { return insecure_rand_ctx.randrange(range); }
|
static inline uint64_t InsecureRandRange(uint64_t range) { return insecure_rand_ctx.randrange(range); }
|
||||||
static inline bool InsecureRandBool() { return insecure_rand_ctx.randbool(); }
|
static inline bool InsecureRandBool() { return insecure_rand_ctx.randbool(); }
|
||||||
|
|
||||||
|
static constexpr CAmount CENT{1000000};
|
||||||
|
|
||||||
/** Basic testing setup.
|
/** Basic testing setup.
|
||||||
* This just configures logging and chain parameters.
|
* This just configures logging and chain parameters.
|
||||||
*/
|
*/
|
||||||
|
@ -48,7 +48,7 @@ bool ParseMoney(const char* pszIn, CAmount& nRet)
|
|||||||
if (*p == '.')
|
if (*p == '.')
|
||||||
{
|
{
|
||||||
p++;
|
p++;
|
||||||
int64_t nMult = CENT*10;
|
int64_t nMult = COIN / 10;
|
||||||
while (isdigit(*p) && (nMult > 0))
|
while (isdigit(*p) && (nMult > 0))
|
||||||
{
|
{
|
||||||
nUnits += nMult * (*p++ - '0');
|
nUnits += nMult * (*p++ - '0');
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include <random.h>
|
#include <random.h>
|
||||||
|
|
||||||
//! target minimum change amount
|
//! target minimum change amount
|
||||||
static const CAmount MIN_CHANGE = CENT;
|
static constexpr CAmount MIN_CHANGE{COIN / 100};
|
||||||
//! final minimum change amount after paying for fees
|
//! final minimum change amount after paying for fees
|
||||||
static const CAmount MIN_FINAL_CHANGE = MIN_CHANGE/2;
|
static const CAmount MIN_FINAL_CHANGE = MIN_CHANGE/2;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user