MOVEONLY: Move CFeeRate and Amount constants to amount.o
This commit is contained in:
parent
b6c99efe9c
commit
eda3733091
13 changed files with 82 additions and 65 deletions
|
@ -208,6 +208,7 @@ univalue_libbitcoin_univalue_a_SOURCES = \
|
||||||
libbitcoin_common_a_CPPFLAGS = $(BITCOIN_INCLUDES)
|
libbitcoin_common_a_CPPFLAGS = $(BITCOIN_INCLUDES)
|
||||||
libbitcoin_common_a_SOURCES = \
|
libbitcoin_common_a_SOURCES = \
|
||||||
allocators.cpp \
|
allocators.cpp \
|
||||||
|
amount.cpp \
|
||||||
base58.cpp \
|
base58.cpp \
|
||||||
chainparams.cpp \
|
chainparams.cpp \
|
||||||
coins.cpp \
|
coins.cpp \
|
||||||
|
|
31
src/amount.cpp
Normal file
31
src/amount.cpp
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
// Copyright (c) 2009-2010 Satoshi Nakamoto
|
||||||
|
// Copyright (c) 2009-2014 The Bitcoin developers
|
||||||
|
// Distributed under the MIT software license, see the accompanying
|
||||||
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
|
#include "amount.h"
|
||||||
|
|
||||||
|
#include "tinyformat.h"
|
||||||
|
|
||||||
|
CFeeRate::CFeeRate(const CAmount& nFeePaid, size_t nSize)
|
||||||
|
{
|
||||||
|
if (nSize > 0)
|
||||||
|
nSatoshisPerK = nFeePaid*1000/nSize;
|
||||||
|
else
|
||||||
|
nSatoshisPerK = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
CAmount CFeeRate::GetFee(size_t nSize) const
|
||||||
|
{
|
||||||
|
CAmount nFee = nSatoshisPerK*nSize / 1000;
|
||||||
|
|
||||||
|
if (nFee == 0 && nSatoshisPerK > 0)
|
||||||
|
nFee = nSatoshisPerK;
|
||||||
|
|
||||||
|
return nFee;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string CFeeRate::ToString() const
|
||||||
|
{
|
||||||
|
return strprintf("%d.%08d BTC/kB", nSatoshisPerK / COIN, nSatoshisPerK % COIN);
|
||||||
|
}
|
43
src/amount.h
43
src/amount.h
|
@ -6,8 +6,49 @@
|
||||||
#ifndef BITCOIN_AMOUNT_H
|
#ifndef BITCOIN_AMOUNT_H
|
||||||
#define BITCOIN_AMOUNT_H
|
#define BITCOIN_AMOUNT_H
|
||||||
|
|
||||||
#include <stdint.h>
|
#include "serialize.h"
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
typedef int64_t CAmount;
|
typedef int64_t CAmount;
|
||||||
|
|
||||||
|
static const CAmount COIN = 100000000;
|
||||||
|
static const CAmount CENT = 1000000;
|
||||||
|
|
||||||
|
/** No amount larger than this (in satoshi) is valid */
|
||||||
|
static const CAmount MAX_MONEY = 21000000 * COIN;
|
||||||
|
inline bool MoneyRange(const CAmount& nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }
|
||||||
|
|
||||||
|
/** Type-safe wrapper class to for fee rates
|
||||||
|
* (how much to pay based on transaction size)
|
||||||
|
*/
|
||||||
|
class CFeeRate
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
CAmount nSatoshisPerK; // unit is satoshis-per-1,000-bytes
|
||||||
|
public:
|
||||||
|
CFeeRate() : nSatoshisPerK(0) { }
|
||||||
|
explicit CFeeRate(const CAmount& _nSatoshisPerK): nSatoshisPerK(_nSatoshisPerK) { }
|
||||||
|
CFeeRate(const CAmount& nFeePaid, size_t nSize);
|
||||||
|
CFeeRate(const CFeeRate& other) { nSatoshisPerK = other.nSatoshisPerK; }
|
||||||
|
|
||||||
|
CAmount GetFee(size_t size) const; // unit returned is satoshis
|
||||||
|
CAmount GetFeePerK() const { return GetFee(1000); } // satoshis-per-1000-bytes
|
||||||
|
|
||||||
|
friend bool operator<(const CFeeRate& a, const CFeeRate& b) { return a.nSatoshisPerK < b.nSatoshisPerK; }
|
||||||
|
friend bool operator>(const CFeeRate& a, const CFeeRate& b) { return a.nSatoshisPerK > b.nSatoshisPerK; }
|
||||||
|
friend bool operator==(const CFeeRate& a, const CFeeRate& b) { return a.nSatoshisPerK == b.nSatoshisPerK; }
|
||||||
|
friend bool operator<=(const CFeeRate& a, const CFeeRate& b) { return a.nSatoshisPerK <= b.nSatoshisPerK; }
|
||||||
|
friend bool operator>=(const CFeeRate& a, const CFeeRate& b) { return a.nSatoshisPerK >= b.nSatoshisPerK; }
|
||||||
|
std::string ToString() const;
|
||||||
|
|
||||||
|
ADD_SERIALIZE_METHODS;
|
||||||
|
|
||||||
|
template <typename Stream, typename Operation>
|
||||||
|
inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) {
|
||||||
|
READWRITE(nSatoshisPerK);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
#endif // BITCOIN_AMOUNT_H
|
#endif // BITCOIN_AMOUNT_H
|
||||||
|
|
23
src/core.cpp
23
src/core.cpp
|
@ -59,29 +59,6 @@ std::string CTxOut::ToString() const
|
||||||
return strprintf("CTxOut(nValue=%d.%08d, scriptPubKey=%s)", nValue / COIN, nValue % COIN, scriptPubKey.ToString().substr(0,30));
|
return strprintf("CTxOut(nValue=%d.%08d, scriptPubKey=%s)", nValue / COIN, nValue % COIN, scriptPubKey.ToString().substr(0,30));
|
||||||
}
|
}
|
||||||
|
|
||||||
CFeeRate::CFeeRate(const CAmount& nFeePaid, size_t nSize)
|
|
||||||
{
|
|
||||||
if (nSize > 0)
|
|
||||||
nSatoshisPerK = nFeePaid*1000/nSize;
|
|
||||||
else
|
|
||||||
nSatoshisPerK = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
CAmount CFeeRate::GetFee(size_t nSize) const
|
|
||||||
{
|
|
||||||
CAmount nFee = nSatoshisPerK*nSize / 1000;
|
|
||||||
|
|
||||||
if (nFee == 0 && nSatoshisPerK > 0)
|
|
||||||
nFee = nSatoshisPerK;
|
|
||||||
|
|
||||||
return nFee;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string CFeeRate::ToString() const
|
|
||||||
{
|
|
||||||
return strprintf("%d.%08d BTC/kB", nSatoshisPerK / COIN, nSatoshisPerK % COIN);
|
|
||||||
}
|
|
||||||
|
|
||||||
CMutableTransaction::CMutableTransaction() : nVersion(CTransaction::CURRENT_VERSION), nLockTime(0) {}
|
CMutableTransaction::CMutableTransaction() : nVersion(CTransaction::CURRENT_VERSION), nLockTime(0) {}
|
||||||
CMutableTransaction::CMutableTransaction(const CTransaction& tx) : nVersion(tx.nVersion), vin(tx.vin), vout(tx.vout), nLockTime(tx.nLockTime) {}
|
CMutableTransaction::CMutableTransaction(const CTransaction& tx) : nVersion(tx.nVersion), vin(tx.vin), vout(tx.vout), nLockTime(tx.nLockTime) {}
|
||||||
|
|
||||||
|
|
41
src/core.h
41
src/core.h
|
@ -16,13 +16,6 @@
|
||||||
|
|
||||||
class CTransaction;
|
class CTransaction;
|
||||||
|
|
||||||
static const int64_t COIN = 100000000;
|
|
||||||
static const int64_t CENT = 1000000;
|
|
||||||
|
|
||||||
/** No amount larger than this (in satoshi) is valid */
|
|
||||||
static const CAmount MAX_MONEY = 21000000 * COIN;
|
|
||||||
inline bool MoneyRange(const CAmount& nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }
|
|
||||||
|
|
||||||
/** An outpoint - a combination of a transaction hash and an index n into its vout */
|
/** An outpoint - a combination of a transaction hash and an index n into its vout */
|
||||||
class COutPoint
|
class COutPoint
|
||||||
{
|
{
|
||||||
|
@ -109,40 +102,6 @@ public:
|
||||||
std::string ToString() const;
|
std::string ToString() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** Type-safe wrapper class to for fee rates
|
|
||||||
* (how much to pay based on transaction size)
|
|
||||||
*/
|
|
||||||
class CFeeRate
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
CAmount nSatoshisPerK; // unit is satoshis-per-1,000-bytes
|
|
||||||
public:
|
|
||||||
CFeeRate() : nSatoshisPerK(0) { }
|
|
||||||
explicit CFeeRate(const CAmount& _nSatoshisPerK): nSatoshisPerK(_nSatoshisPerK) { }
|
|
||||||
CFeeRate(const CAmount& nFeePaid, size_t nSize);
|
|
||||||
CFeeRate(const CFeeRate& other) { nSatoshisPerK = other.nSatoshisPerK; }
|
|
||||||
|
|
||||||
CAmount GetFee(size_t size) const; // unit returned is satoshis
|
|
||||||
CAmount GetFeePerK() const { return GetFee(1000); } // satoshis-per-1000-bytes
|
|
||||||
|
|
||||||
friend bool operator<(const CFeeRate& a, const CFeeRate& b) { return a.nSatoshisPerK < b.nSatoshisPerK; }
|
|
||||||
friend bool operator>(const CFeeRate& a, const CFeeRate& b) { return a.nSatoshisPerK > b.nSatoshisPerK; }
|
|
||||||
friend bool operator==(const CFeeRate& a, const CFeeRate& b) { return a.nSatoshisPerK == b.nSatoshisPerK; }
|
|
||||||
friend bool operator<=(const CFeeRate& a, const CFeeRate& b) { return a.nSatoshisPerK <= b.nSatoshisPerK; }
|
|
||||||
friend bool operator>=(const CFeeRate& a, const CFeeRate& b) { return a.nSatoshisPerK >= b.nSatoshisPerK; }
|
|
||||||
std::string ToString() const;
|
|
||||||
|
|
||||||
ADD_SERIALIZE_METHODS;
|
|
||||||
|
|
||||||
template <typename Stream, typename Operation>
|
|
||||||
inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) {
|
|
||||||
READWRITE(nSatoshisPerK);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/** An output of a transaction. It contains the public key that the next input
|
/** An output of a transaction. It contains the public key that the next input
|
||||||
* must be able to sign with to claim it.
|
* must be able to sign with to claim it.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
#include "init.h"
|
#include "init.h"
|
||||||
|
|
||||||
#include "addrman.h"
|
#include "addrman.h"
|
||||||
|
#include "amount.h"
|
||||||
#include "checkpoints.h"
|
#include "checkpoints.h"
|
||||||
#include "compat/sanity.h"
|
#include "compat/sanity.h"
|
||||||
#include "key.h"
|
#include "key.h"
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
#include "config/bitcoin-config.h"
|
#include "config/bitcoin-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "amount.h"
|
||||||
#include "chain.h"
|
#include "chain.h"
|
||||||
#include "chainparams.h"
|
#include "chainparams.h"
|
||||||
#include "coins.h"
|
#include "coins.h"
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
#include "miner.h"
|
#include "miner.h"
|
||||||
|
|
||||||
|
#include "amount.h"
|
||||||
#include "core.h"
|
#include "core.h"
|
||||||
#include "hash.h"
|
#include "hash.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include "bitcoinunits.h"
|
#include "bitcoinunits.h"
|
||||||
#include "guiutil.h"
|
#include "guiutil.h"
|
||||||
|
|
||||||
|
#include "amount.h"
|
||||||
#include "init.h"
|
#include "init.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "net.h"
|
#include "net.h"
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
// Distributed under the MIT/X11 software license, see the accompanying
|
// Distributed under the MIT/X11 software license, see the accompanying
|
||||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
|
#include "amount.h"
|
||||||
#include "chainparams.h"
|
#include "chainparams.h"
|
||||||
#include "core_io.h"
|
#include "core_io.h"
|
||||||
#include "init.h"
|
#include "init.h"
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
// Distributed under the MIT/X11 software license, see the accompanying
|
// Distributed under the MIT/X11 software license, see the accompanying
|
||||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
|
#include "amount.h"
|
||||||
#include "base58.h"
|
#include "base58.h"
|
||||||
#include "core_io.h"
|
#include "core_io.h"
|
||||||
#include "rpcserver.h"
|
#include "rpcserver.h"
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
|
|
||||||
#include <list>
|
#include <list>
|
||||||
|
|
||||||
|
#include "amount.h"
|
||||||
#include "coins.h"
|
#include "coins.h"
|
||||||
#include "core.h"
|
#include "core.h"
|
||||||
#include "sync.h"
|
#include "sync.h"
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
#ifndef BITCOIN_WALLET_H
|
#ifndef BITCOIN_WALLET_H
|
||||||
#define BITCOIN_WALLET_H
|
#define BITCOIN_WALLET_H
|
||||||
|
|
||||||
|
#include "amount.h"
|
||||||
#include "core.h"
|
#include "core.h"
|
||||||
#include "crypter.h"
|
#include "crypter.h"
|
||||||
#include "key.h"
|
#include "key.h"
|
||||||
|
|
Loading…
Reference in a new issue