Conversation
| consensus?.Tell(message.Payload); | ||
| { | ||
| Transaction tx = (Transaction)message.Payload; | ||
| if (tx.SystemFee > settings.MaxBlockSystemFee) |
There was a problem hiding this comment.
Does it change anything at all? Consensus process only cares about a specific list of transactions when it expects them in a particular stage of the process. CheckPrepareResponse does the overall check anyway for the consensus process. Then non-consensus nodes won't notice this change at all and could still have such a transaction in their mempools.
There was a problem hiding this comment.
I see this setting (MaxBlockSystemFee) is only in the dBFT plugin now in C# implementation, so ordinary nodes can't do anything wrt this limit.
|
The best way solve this is to move |
vncoelho
left a comment
There was a problem hiding this comment.
I see. Perhaps it should be here as you included, but also in the TCP P2P layer.
Yes, consensus throwed these over-MaxBlockSystemFee txs out of mempool. Ordinary nodes still keep them in their mempool. Anyway, it's better than nothing, at least ensured the safety of consensus. We can merge this and release v3.5.0 ASAP. Improvement can be done next time. |
No description provided.