Re-enable repeated firing of confirmation events #1393
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
At the moment when a transaction receipt is immediately available after a method call, the confirmation event only fires once. It seems like the subscription logic for this case might have been accidentally disabled while making
web3-core-method
compatible with Parity's instant-seal. This issue primarily affects testing clients like ganache but possibly also Parity and Geth in dev mode.Because
startWatching
is set on a delay here and only if the promise hasn't resolved, the subscription never initiates and repeated firings of the confirmation handler never happen.This PR tries to re-enable multiple confirmations by
checkConfirmation
so it can be emittedcheckConfirmation
required by instant-seal is doubled by a call made by thestartWatching
method.