Skip to content

Commit 01f9081

Browse files
committed
Merge bitcoin/bitcoin#32768: wallet: Remove CWalletTx::fTimeReceivedIsTxTime
9eb2c82 walletdb: Remove unused upgraded_txs (Ava Chow) c668033 wallet: Remove unused fTimeReceivedIsTxTime (Ava Chow) Pull request description: `CWalletTx::fTimeReceivedIsTxTime` is no longer used and can be removed. This additionally allows the removal of the `upgraded_txs` loop in `LoadWallet`. ACKs for top commit: maflcko: lgtm ACK 9eb2c82 Eunovo: ACK bitcoin/bitcoin@9eb2c82 davidgumberg: ACK bitcoin/bitcoin@9eb2c82 PeterWrighten: ACK bitcoin/bitcoin@9eb2c82 rkrux: ACK 9eb2c82 w0xlt: ACK bitcoin/bitcoin@9eb2c82 Tree-SHA512: 05cf3a50f0d8ab6ef423ad1113c5ce6f45bfdc90e2c0dcf61c2dceced2465502e574b4b5b0091fcbb4bdd2182f8d69224f1e5516c7c505de07102b84a5f40e9c
2 parents c1d8a54 + 9eb2c82 commit 01f9081

File tree

3 files changed

+9
-36
lines changed

3 files changed

+9
-36
lines changed

src/wallet/transaction.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,6 @@ class CWalletTx
203203
*/
204204
mapValue_t mapValue;
205205
std::vector<std::pair<std::string, std::string> > vOrderForm;
206-
unsigned int fTimeReceivedIsTxTime;
207206
unsigned int nTimeReceived; //!< time received by this node
208207
/**
209208
* Stable timestamp that never changes, and reflects the order a transaction
@@ -240,7 +239,6 @@ class CWalletTx
240239
{
241240
mapValue.clear();
242241
vOrderForm.clear();
243-
fTimeReceivedIsTxTime = false;
244242
nTimeReceived = 0;
245243
nTimeSmart = 0;
246244
fChangeCached = false;
@@ -274,10 +272,11 @@ class CWalletTx
274272

275273
std::vector<uint8_t> dummy_vector1; //!< Used to be vMerkleBranch
276274
std::vector<uint8_t> dummy_vector2; //!< Used to be vtxPrev
277-
bool dummy_bool = false; //!< Used to be fFromMe and fSpent
275+
bool dummy_bool = false; //!< Used to be fFromMe, and fSpent
276+
uint32_t dummy_int = 0; // Used to be fTimeReceivedIsTxTime
278277
uint256 serializedHash = TxStateSerializedBlockHash(m_state);
279278
int serializedIndex = TxStateSerializedIndex(m_state);
280-
s << TX_WITH_WITNESS(tx) << serializedHash << dummy_vector1 << serializedIndex << dummy_vector2 << mapValueCopy << vOrderForm << fTimeReceivedIsTxTime << nTimeReceived << dummy_bool << dummy_bool;
279+
s << TX_WITH_WITNESS(tx) << serializedHash << dummy_vector1 << serializedIndex << dummy_vector2 << mapValueCopy << vOrderForm << dummy_int << nTimeReceived << dummy_bool << dummy_bool;
281280
}
282281

283282
template<typename Stream>
@@ -287,10 +286,11 @@ class CWalletTx
287286

288287
std::vector<uint256> dummy_vector1; //!< Used to be vMerkleBranch
289288
std::vector<CMerkleTx> dummy_vector2; //!< Used to be vtxPrev
290-
bool dummy_bool; //! Used to be fFromMe and fSpent
289+
bool dummy_bool; //! Used to be fFromMe, and fSpent
290+
uint32_t dummy_int; // Used to be fTimeReceivedIsTxTime
291291
uint256 serialized_block_hash;
292292
int serializedIndex;
293-
s >> TX_WITH_WITNESS(tx) >> serialized_block_hash >> dummy_vector1 >> serializedIndex >> dummy_vector2 >> mapValue >> vOrderForm >> fTimeReceivedIsTxTime >> nTimeReceived >> dummy_bool >> dummy_bool;
293+
s >> TX_WITH_WITNESS(tx) >> serialized_block_hash >> dummy_vector1 >> serializedIndex >> dummy_vector2 >> mapValue >> vOrderForm >> dummy_int >> nTimeReceived >> dummy_bool >> dummy_bool;
294294

295295
m_state = TxStateInterpretSerialized({serialized_block_hash, serializedIndex});
296296

src/wallet/wallet.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -726,7 +726,6 @@ void CWallet::SyncMetaData(std::pair<TxSpends::iterator, TxSpends::iterator> ran
726726
if (!copyFrom->IsEquivalentTo(*copyTo)) continue;
727727
copyTo->mapValue = copyFrom->mapValue;
728728
copyTo->vOrderForm = copyFrom->vOrderForm;
729-
// fTimeReceivedIsTxTime not copied on purpose
730729
// nTimeReceived not copied on purpose
731730
copyTo->nTimeSmart = copyFrom->nTimeSmart;
732731
// nOrderPos not copied on purpose
@@ -2227,7 +2226,6 @@ void CWallet::CommitTransaction(CTransactionRef tx, mapValue_t mapValue, std::ve
22272226
CHECK_NONFATAL(wtx.vOrderForm.empty());
22282227
wtx.mapValue = std::move(mapValue);
22292228
wtx.vOrderForm = std::move(orderForm);
2230-
wtx.fTimeReceivedIsTxTime = true;
22312229
return true;
22322230
});
22332231

src/wallet/walletdb.cpp

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1005,15 +1005,15 @@ static DBErrors LoadAddressBookRecords(CWallet* pwallet, DatabaseBatch& batch) E
10051005
return result;
10061006
}
10071007

1008-
static DBErrors LoadTxRecords(CWallet* pwallet, DatabaseBatch& batch, std::vector<Txid>& upgraded_txs, bool& any_unordered) EXCLUSIVE_LOCKS_REQUIRED(pwallet->cs_wallet)
1008+
static DBErrors LoadTxRecords(CWallet* pwallet, DatabaseBatch& batch, bool& any_unordered) EXCLUSIVE_LOCKS_REQUIRED(pwallet->cs_wallet)
10091009
{
10101010
AssertLockHeld(pwallet->cs_wallet);
10111011
DBErrors result = DBErrors::LOAD_OK;
10121012

10131013
// Load tx record
10141014
any_unordered = false;
10151015
LoadResult tx_res = LoadRecords(pwallet, batch, DBKeys::TX,
1016-
[&any_unordered, &upgraded_txs] (CWallet* pwallet, DataStream& key, DataStream& value, std::string& err) EXCLUSIVE_LOCKS_REQUIRED(pwallet->cs_wallet) {
1016+
[&any_unordered] (CWallet* pwallet, DataStream& key, DataStream& value, std::string& err) EXCLUSIVE_LOCKS_REQUIRED(pwallet->cs_wallet) {
10171017
DBErrors result = DBErrors::LOAD_OK;
10181018
Txid hash;
10191019
key >> hash;
@@ -1030,27 +1030,6 @@ static DBErrors LoadTxRecords(CWallet* pwallet, DatabaseBatch& batch, std::vecto
10301030
if (wtx.GetHash() != hash)
10311031
return false;
10321032

1033-
// Undo serialize changes in 31600
1034-
if (31404 <= wtx.fTimeReceivedIsTxTime && wtx.fTimeReceivedIsTxTime <= 31703)
1035-
{
1036-
if (!value.empty())
1037-
{
1038-
uint8_t fTmp;
1039-
uint8_t fUnused;
1040-
std::string unused_string;
1041-
value >> fTmp >> fUnused >> unused_string;
1042-
pwallet->WalletLogPrintf("LoadWallet() upgrading tx ver=%d %d %s\n",
1043-
wtx.fTimeReceivedIsTxTime, fTmp, hash.ToString());
1044-
wtx.fTimeReceivedIsTxTime = fTmp;
1045-
}
1046-
else
1047-
{
1048-
pwallet->WalletLogPrintf("LoadWallet() repairing tx ver=%d %s\n", wtx.fTimeReceivedIsTxTime, hash.ToString());
1049-
wtx.fTimeReceivedIsTxTime = 0;
1050-
}
1051-
upgraded_txs.push_back(hash);
1052-
}
1053-
10541033
if (wtx.nOrderPos == -1)
10551034
any_unordered = true;
10561035

@@ -1149,7 +1128,6 @@ DBErrors WalletBatch::LoadWallet(CWallet* pwallet)
11491128
{
11501129
DBErrors result = DBErrors::LOAD_OK;
11511130
bool any_unordered = false;
1152-
std::vector<Txid> upgraded_txs;
11531131

11541132
LOCK(pwallet->cs_wallet);
11551133

@@ -1186,7 +1164,7 @@ DBErrors WalletBatch::LoadWallet(CWallet* pwallet)
11861164
result = std::max(LoadAddressBookRecords(pwallet, *m_batch), result);
11871165

11881166
// Load tx records
1189-
result = std::max(LoadTxRecords(pwallet, *m_batch, upgraded_txs, any_unordered), result);
1167+
result = std::max(LoadTxRecords(pwallet, *m_batch, any_unordered), result);
11901168

11911169
// Load SPKMs
11921170
result = std::max(LoadActiveSPKMs(pwallet, *m_batch), result);
@@ -1210,9 +1188,6 @@ DBErrors WalletBatch::LoadWallet(CWallet* pwallet)
12101188
if (result != DBErrors::LOAD_OK)
12111189
return result;
12121190

1213-
for (const Txid& hash : upgraded_txs)
1214-
WriteTx(pwallet->mapWallet.at(hash));
1215-
12161191
if (!has_last_client || last_client != CLIENT_VERSION) // Update
12171192
m_batch->Write(DBKeys::VERSION, CLIENT_VERSION);
12181193

0 commit comments

Comments
 (0)