This repository was archived by the owner on Oct 20, 2023. It is now read-only.

Description
Description
Uncle blocks on Ethereum family coins are getting orphaned.
Steps to Reproduce
- Set EthereumConstants.MinConfimations = 100
- Start Pool
- Mine ETH or ETC and find uncle block,
- Wait for the confirmation progress.
Expected behavior
That uncle block should be clasified as uncle.
Actual behavior
That block clasified as ORPHAN. Because of the line : https://github.com/coinfoundry/miningcore/blob/df0f06f44eddc8a8b7b5f6aff5f15c667130f079/src/Miningcore/Blockchain/Ethereum/EthereumPayoutHandler.cs#L240
Reproduces how often
Always.
Possible Fix
Replacing this line to if(block.Status == BlockStatus.Pending && **block.ConfirmationProgress > 1**) should solve the problem.
I think the main problem is, the classifier rouitine cannot reach to the EthereumConstants.MinConfimations due to ConfirmationProgress > 0.75 statement. When the ConfirmationProgress hits 0.75, classifies the block as an orphan. I think it should be orphan if ConfirmationProgress > 1