You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
as revealed by runTxPoolCliqueTest in test_txpool2.nim, when a transaction call a contract that modify storage using prevrandao or difficulty value from block header, the result can be different if the header is prepared later by consensus engine.
basically, the txpool should aware of consensus rule when preparing block header.
the rule should be applied inside the txpool not outside after the header produce by txpool.
so far we are just lucky passing hive test case because they only use transaction calling contract without modifying account storage using value produced by different consensus rule.
currently the txpool only use pow rule to prepare header. and the sealing engine piggyback txpool with clique and POS, that is a wrong approach. the consensus rule should be moved into the consensus folder, and called by txpool.
as revealed by
runTxPoolCliqueTest
intest_txpool2.nim
, when a transaction call a contract that modify storage using prevrandao or difficulty value from block header, the result can be different if the header is prepared later by consensus engine.basically, the txpool should aware of consensus rule when preparing block header.
the rule should be applied inside the txpool not outside after the header produce by txpool.
so far we are just lucky passing hive test case because they only use transaction calling contract without modifying account storage using value produced by different consensus rule.
currently the txpool only use pow rule to prepare header. and the sealing engine piggyback txpool with clique and POS, that is a wrong approach. the consensus rule should be moved into the consensus folder, and called by txpool.
this is conjoint with issue #1329
The text was updated successfully, but these errors were encountered: