Fetch findByFundingTxId/findByFundingOutPoints in parallel as an optimization (#4560)

This commit is contained in:
Chris Stewart 2022-08-02 06:40:28 -05:00 committed by GitHub
parent 191df09196
commit ba396f2fb3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -243,6 +243,7 @@ private[bitcoins] trait DLCTransactionProcessing extends TransactionProcessing {
newTags: Vector[AddressTag],
relevantReceivedOutputs: Vector[OutputWithIndex]): Future[
Vector[SpendingInfoDb]] = {
val dlcDbsF = dlcDAO.findByFundingTxId(tx.txIdBE)
super
.processReceivedUtxos(tx,
blockHashOpt,
@ -251,7 +252,7 @@ private[bitcoins] trait DLCTransactionProcessing extends TransactionProcessing {
relevantReceivedOutputs)
.flatMap { res =>
for {
dlcDbs <- dlcDAO.findByFundingTxId(tx.txIdBE)
dlcDbs <- dlcDbsF
_ <-
if (dlcDbs.nonEmpty) {
logger.info(
@ -314,13 +315,13 @@ private[bitcoins] trait DLCTransactionProcessing extends TransactionProcessing {
outputsBeingSpent: Vector[SpendingInfoDb],
blockHashOpt: Option[DoubleSha256DigestBE]): Future[
Vector[SpendingInfoDb]] = {
val outPoints = transaction.inputs.map(_.previousOutput).toVector
val dlcDbsF = dlcDAO.findByFundingOutPoints(outPoints)
super
.processSpentUtxos(transaction, outputsBeingSpent, blockHashOpt)
.flatMap { res =>
val outPoints = transaction.inputs.map(_.previousOutput).toVector
for {
dlcDbs <- dlcDAO.findByFundingOutPoints(outPoints)
dlcDbs <- dlcDbsF
_ <-
if (dlcDbs.nonEmpty) {
logger.info(