This repository was archived by the owner on Apr 26, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
This repository was archived by the owner on Apr 26, 2024. It is now read-only.
API.storeAndBroadcast calls runValidation multiple times for same set of tx #225
Copy link
Copy link
Open
Description
Expected behavior
Is this expected behavior?
Milestone publishing calls the TransactionValidator.runValidation method at least three times on the same set of transactions...
This seems to be accidental.
Trace details
The API.storeAndBroadcast method
| private void storeAndBroadcast(Hash tip1, Hash tip2, int mwm, List<String> txs) throws Exception{ |
| public synchronized List<String> attachToTangleStatement(final Hash trunkTransaction, final Hash branchTransaction, int minWeightMagnitude, final List<String> txs) { |
| runValidation(transactionViewModel, minWeightMagnitude); |
| final TransactionViewModel transactionViewModel = transactionValidator.validateBytes(txBytes, transactionValidator.getMinWeightMagnitude()); |
After finishing with the above, the API.storeAndBroadcast method calls the API. storeTransactionsStatement method,
| storeTransactionsStatement(powResult); |
| final List<TransactionViewModel> elements = addValidTxvmToList(txString); |
pendulum/src/main/java/net/helix/pendulum/service/API.java
Lines 616 to 618 in 77fbd58
| final TransactionViewModel transactionViewModel = transactionValidator.validateBytes( | |
| txBytes, transactionValidator.getMinWeightMagnitude() | |
| ); |
Finally, the broadcastTransactionsStatement at the end of the API.storeAndBroadcast method
| broadcastTransactionsStatement(powResult); |
| final List<TransactionViewModel> elements = addValidTxvmToList(txString); |
Metadata
Metadata
Assignees
Labels
No labels