/** * @return int */ public function updatePendingDeposits() { $deposits = $this->depositRepo->findBy(['confirmed' => false, 'round' => $this->round], ['id' => 'asc']); foreach ($deposits as $deposit) { $confirmations = $this->walletManager->getConfirmations($deposit); $deposit->setConfirmations($confirmations); if ($deposit->getConfirmations() >= $this->round->getMinConfirmations()) { $deposit->setConfirmed(true); // updating payout status // we could put this in listener together with persist // but it does not matter cause this status is updated only in 3 places foreach ($deposit->getPayouts() as $payout) { $payout->setReadyForPayout(true); } } } $this->em->flush(); return count($deposits); }