@@ -32,6 +32,7 @@ static void WalletMigration(benchmark::Bench& bench)
3232 std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(test_setup->m_node .chain .get (), " " , CreateMockableWalletDatabase ());
3333 wallet->chainStateFlushed (ChainstateRole::NORMAL, CBlockLocator{});
3434 LegacyDataSPKM* legacy_spkm = wallet->GetOrCreateLegacyDataSPKM ();
35+ WalletBatch batch{wallet->GetDatabase ()};
3536
3637 // Add watch-only addresses
3738 std::vector<CScript> scripts_watch_only;
@@ -42,6 +43,7 @@ static void WalletMigration(benchmark::Bench& bench)
4243 const CScript& script = scripts_watch_only.emplace_back (GetScriptForDestination (dest));
4344 assert (legacy_spkm->LoadWatchOnly (script));
4445 assert (wallet->SetAddressBook (dest, strprintf (" watch_%d" , w), /* purpose=*/ std::nullopt ));
46+ batch.WriteWatchOnly (script, CKeyMetadata ());
4547 }
4648
4749 // Generate transactions and local addresses
@@ -58,6 +60,7 @@ static void WalletMigration(benchmark::Bench& bench)
5860 mtx.vout .emplace_back (COIN, scripts_watch_only.at (j % NUM_WATCH_ONLY_ADDR));
5961 mtx.vin .resize (2 );
6062 wallet->AddToWallet (MakeTransactionRef (mtx), TxStateInactive{}, /* update_wtx=*/ nullptr , /* fFlushOnClose=*/ false , /* rescanning_old_block=*/ true );
63+ batch.WriteKey (pubkey, key.GetPrivKey (), CKeyMetadata ());
6164 }
6265
6366 bench.epochs (/* numEpochs=*/ 1 ).run ([&context, &wallet] {
0 commit comments