From ab9fd681f32c5ac3a4a5726e79e53e53c9b9c2cd Mon Sep 17 00:00:00 2001 From: catbref Date: Mon, 3 Jun 2019 08:07:33 +0100 Subject: [PATCH] Fix synchronizer so incoming block's transactions have approval status set --- .../java/org/qora/controller/Synchronizer.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/qora/controller/Synchronizer.java b/src/main/java/org/qora/controller/Synchronizer.java index 9e848272..732f4382 100644 --- a/src/main/java/org/qora/controller/Synchronizer.java +++ b/src/main/java/org/qora/controller/Synchronizer.java @@ -13,6 +13,7 @@ import org.qora.block.BlockChain; import org.qora.block.GenesisBlock; import org.qora.data.block.BlockData; import org.qora.data.network.BlockSummaryData; +import org.qora.data.transaction.TransactionData; import org.qora.network.Peer; import org.qora.network.message.BlockMessage; import org.qora.network.message.BlockSummariesMessage; @@ -27,6 +28,7 @@ import org.qora.repository.DataException; import org.qora.repository.Repository; import org.qora.repository.RepositoryManager; import org.qora.transaction.Transaction; +import org.qora.transaction.Transaction.ApprovalStatus; import org.qora.utils.NTP; public class Synchronizer { @@ -243,8 +245,18 @@ public class Synchronizer { } // Save transactions attached to this block - for (Transaction transaction : newBlock.getTransactions()) - repository.getTransactionRepository().save(transaction.getTransactionData()); + for (Transaction transaction : newBlock.getTransactions()) { + TransactionData transactionData = transaction.getTransactionData(); + + // Fix up approval status + if (transaction.needsGroupApproval()) { + transactionData.setApprovalStatus(ApprovalStatus.PENDING); + } else { + transactionData.setApprovalStatus(ApprovalStatus.NOT_REQUIRED); + } + + repository.getTransactionRepository().save(transactionData); + } newBlock.process();