faucet: bump and resend faucet transaction if it has been pending for a while #2665
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.
Description
The faucet service is not stable, sometimes it got stuck for quite a long time and can only be recovered by restarting the process.
After some investigation, found it could be caused by transaction lost, there are various cases that a transaction can be dropped, such as network issue or discarded when TxPool is full. One lost transaction could cause the stuck of faucet service, due to the nonce gap issue.
This PR will check for each new imported block, if the faucet transaction got stuck for a certain time, trigger a resend operation, so it will not block the faucet service.
Rationale
NA
Example
NA
Changes
NA