|
|
|
@ -107,7 +107,9 @@ enum OutputType : int
@@ -107,7 +107,9 @@ enum OutputType : int
|
|
|
|
|
OUTPUT_TYPE_P2SH_SEGWIT, |
|
|
|
|
OUTPUT_TYPE_BECH32, |
|
|
|
|
|
|
|
|
|
OUTPUT_TYPE_DEFAULT = OUTPUT_TYPE_P2SH_SEGWIT |
|
|
|
|
//OUTPUT_TYPE_DEFAULT = OUTPUT_TYPE_P2SH_SEGWIT
|
|
|
|
|
// JWU TODO FIXME: Update once we have segwit on Kevacoin.
|
|
|
|
|
OUTPUT_TYPE_DEFAULT = OUTPUT_TYPE_LEGACY |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
extern OutputType g_address_type; |
|
|
|
@ -270,7 +272,7 @@ public:
@@ -270,7 +272,7 @@ public:
|
|
|
|
|
bool IsCoinBase() const { return tx->IsCoinBase(); } |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
/**
|
|
|
|
|
* A transaction with a bunch of additional info that only the owner cares about. |
|
|
|
|
* It includes any unrecorded transactions needed to link it back to the block chain. |
|
|
|
|
*/ |
|
|
|
@ -341,10 +343,12 @@ public:
@@ -341,10 +343,12 @@ public:
|
|
|
|
|
mutable bool fChangeCached; |
|
|
|
|
mutable bool fInMempool; |
|
|
|
|
mutable CAmount nDebitCached; |
|
|
|
|
mutable CAmount nDebitWithKevaCached; |
|
|
|
|
mutable CAmount nCreditCached; |
|
|
|
|
mutable CAmount nImmatureCreditCached; |
|
|
|
|
mutable CAmount nAvailableCreditCached; |
|
|
|
|
mutable CAmount nWatchDebitCached; |
|
|
|
|
mutable CAmount nWatchDebitWithKevaCached; |
|
|
|
|
mutable CAmount nWatchCreditCached; |
|
|
|
|
mutable CAmount nImmatureWatchCreditCached; |
|
|
|
|
mutable CAmount nAvailableWatchCreditCached; |
|
|
|
@ -381,10 +385,12 @@ public:
@@ -381,10 +385,12 @@ public:
|
|
|
|
|
fChangeCached = false; |
|
|
|
|
fInMempool = false; |
|
|
|
|
nDebitCached = 0; |
|
|
|
|
nDebitWithKevaCached = 0; |
|
|
|
|
nCreditCached = 0; |
|
|
|
|
nImmatureCreditCached = 0; |
|
|
|
|
nAvailableCreditCached = 0; |
|
|
|
|
nWatchDebitCached = 0; |
|
|
|
|
nWatchDebitWithKevaCached = 0; |
|
|
|
|
nWatchCreditCached = 0; |
|
|
|
|
nAvailableWatchCreditCached = 0; |
|
|
|
|
nImmatureWatchCreditCached = 0; |
|
|
|
@ -456,7 +462,7 @@ public:
@@ -456,7 +462,7 @@ public:
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//! filter decides which addresses will count towards the debit
|
|
|
|
|
CAmount GetDebit(const isminefilter& filter) const; |
|
|
|
|
CAmount GetDebit(const isminefilter& filter, bool fExcludeKeva = true) const; |
|
|
|
|
CAmount GetCredit(const isminefilter& filter) const; |
|
|
|
|
CAmount GetImmatureCredit(bool fUseCache=true) const; |
|
|
|
|
CAmount GetAvailableCredit(bool fUseCache=true) const; |
|
|
|
@ -661,7 +667,7 @@ private:
@@ -661,7 +667,7 @@ private:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class WalletRescanReserver; //forward declarations for ScanForWalletTransactions/RescanFromTime
|
|
|
|
|
/**
|
|
|
|
|
/**
|
|
|
|
|
* A CWallet is an extension of a keystore, which also maintains a set of transactions and balances, |
|
|
|
|
* and provides the ability to create new transactions. |
|
|
|
|
*/ |
|
|
|
@ -933,7 +939,7 @@ public:
@@ -933,7 +939,7 @@ public:
|
|
|
|
|
void GetKeyBirthTimes(std::map<CTxDestination, int64_t> &mapKeyBirth) const; |
|
|
|
|
unsigned int ComputeTimeSmart(const CWalletTx& wtx) const; |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
/**
|
|
|
|
|
* Increment the next transaction order id |
|
|
|
|
* @return next transaction order id |
|
|
|
|
*/ |
|
|
|
@ -1027,7 +1033,7 @@ public:
@@ -1027,7 +1033,7 @@ public:
|
|
|
|
|
* Returns amount of debit if the input matches the |
|
|
|
|
* filter, otherwise returns 0 |
|
|
|
|
*/ |
|
|
|
|
CAmount GetDebit(const CTxIn& txin, const isminefilter& filter) const; |
|
|
|
|
CAmount GetDebit(const CTxIn& txin, const isminefilter& filter, bool fExcludeKeva = true) const; |
|
|
|
|
isminetype IsMine(const CTxOut& txout) const; |
|
|
|
|
CAmount GetCredit(const CTxOut& txout, const isminefilter& filter) const; |
|
|
|
|
bool IsChange(const CTxOut& txout) const; |
|
|
|
@ -1035,7 +1041,7 @@ public:
@@ -1035,7 +1041,7 @@ public:
|
|
|
|
|
bool IsMine(const CTransaction& tx) const; |
|
|
|
|
/** should probably be renamed to IsRelevantToMe */ |
|
|
|
|
bool IsFromMe(const CTransaction& tx) const; |
|
|
|
|
CAmount GetDebit(const CTransaction& tx, const isminefilter& filter) const; |
|
|
|
|
CAmount GetDebit(const CTransaction& tx, const isminefilter& filter, bool fExcludeKeva = true) const; |
|
|
|
|
/** Returns whether all of the inputs match the filter */ |
|
|
|
|
bool IsAllFromMe(const CTransaction& tx, const isminefilter& filter) const; |
|
|
|
|
CAmount GetCredit(const CTransaction& tx, const isminefilter& filter) const; |
|
|
|
@ -1053,7 +1059,7 @@ public:
@@ -1053,7 +1059,7 @@ public:
|
|
|
|
|
const std::string& GetAccountName(const CScript& scriptPubKey) const; |
|
|
|
|
|
|
|
|
|
void GetScriptForMining(std::shared_ptr<CReserveScript> &script); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int GetKeyPoolSize() |
|
|
|
|
{ |
|
|
|
|
AssertLockHeld(cs_wallet); // set{Ex,In}ternalKeyPool
|
|
|
|
@ -1078,7 +1084,7 @@ public:
@@ -1078,7 +1084,7 @@ public:
|
|
|
|
|
//! Flush wallet (bitdb flush)
|
|
|
|
|
void Flush(bool shutdown=false); |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
/**
|
|
|
|
|
* Address book entry changed. |
|
|
|
|
* @note called with lock cs_wallet held. |
|
|
|
|
*/ |
|
|
|
@ -1087,7 +1093,7 @@ public:
@@ -1087,7 +1093,7 @@ public:
|
|
|
|
|
const std::string &purpose, |
|
|
|
|
ChangeType status)> NotifyAddressBookChanged; |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
/**
|
|
|
|
|
* Wallet transaction added, removed or updated. |
|
|
|
|
* @note called with lock cs_wallet held. |
|
|
|
|
*/ |
|
|
|
@ -1134,7 +1140,7 @@ public:
@@ -1134,7 +1140,7 @@ public:
|
|
|
|
|
|
|
|
|
|
/* Generates a new HD master key (will not be activated) */ |
|
|
|
|
CPubKey GenerateNewHDMasterKey(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Set the current HD master key (will reset the chain child index counters)
|
|
|
|
|
Sets the master key's version based on the current wallet version (so the |
|
|
|
|
caller must ensure the current wallet version is correct before calling |
|
|
|
@ -1202,7 +1208,7 @@ public:
@@ -1202,7 +1208,7 @@ public:
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
/**
|
|
|
|
|
* Account information. |
|
|
|
|
* Stored in wallet with key "acc"+string account name. |
|
|
|
|
*/ |
|
|
|
|