py-evm icon indicating copy to clipboard operation
py-evm copied to clipboard

Add a state comparison for blockchain tests if they fail in certain contexts

Open fselmo opened this issue 1 year ago • 0 comments

If the only block header field mismatch is the state root, use the state.meta_witness and the postState of the test fixture to try to reconcile where there may be discrepancies. If running verify_state yields a success, it means we likely have an extra account in our state that isn't present in the postState of the test. Inspecting the meta_witness.accounts_queried can help elucidate if there are any extra accounts in the state that may need to be marked for deletion, thus giving us a different state root even though everything in the postState is accurate.

fselmo avatar Mar 14 '24 22:03 fselmo