public async Task DoubleSpendCheckCleanUp()
        {
            //arrange
            cleanUpTxService.Pause();
            var cleanUpTxTriggeredSubscription = EventBus.Subscribe <CleanUpTxTriggeredEvent>();

            List <Tx> txList = await CreateAndInsertTxAsync(false, true);

            (_, _, var firstBlockHash) = await InsertDoubleSpend();

            await CheckTxListPresentInDbAsync(txList, true);
            await CheckBlockPresentInDbAsync(firstBlockHash);

            var doubleSpends = (await TxRepositoryPostgres.GetTxsToSendBlockDSNotificationsAsync()).ToList();

            Assert.AreEqual(1, doubleSpends.Count);
            Assert.IsTrue(doubleSpends.Any(x => new uint256(x.TxExternalId) == new uint256(Tx2Hash)));

            foreach (var txDoubleSpend in doubleSpends)
            {
                await TxRepositoryPostgres.SetBlockDoubleSpendSendDateAsync(txDoubleSpend.TxInternalId, txDoubleSpend.BlockInternalId, txDoubleSpend.DoubleSpendTxId, MockedClock.UtcNow);
            }

            doubleSpends = (await TxRepositoryPostgres.GetTxsToSendBlockDSNotificationsAsync()).ToList();
            Assert.AreEqual(0, doubleSpends.Count);

            using (MockedClock.NowIs(DateTime.UtcNow.AddDays(cleanUpTxAfterDays)))
            {
                await ResumeAndWaitForCleanup(cleanUpTxTriggeredSubscription);

                // check if everything in db was cleared
                await CheckBlockNotPresentInDb(firstBlockHash);
                await CheckTxListNotPresentInDbAsync(txList);
            }
        }
        public async Task DoubleSpendCheck()
        {
            _ = await CreateAndInsertTxAsync(false, true);

            (var doubleSpendTx, var tx2, _) = await InsertDoubleSpend();


            var dbRecords = (await TxRepositoryPostgres.GetTxsToSendBlockDSNotificationsAsync()).ToList();

            Assert.AreEqual(1, dbRecords.Count);
            Assert.AreEqual(doubleSpendTx.GetHash(), new uint256(dbRecords[0].DoubleSpendTxId));
            Assert.AreEqual(doubleSpendTx.Inputs.First().PrevOut.Hash, tx2.Inputs.First().PrevOut.Hash);
            Assert.AreEqual(doubleSpendTx.Inputs.First().PrevOut.N, tx2.Inputs.First().PrevOut.N);
            Assert.AreNotEqual(doubleSpendTx.GetHash(), tx2.GetHash());
        }