-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do not execute txs on ZQ1 blocks #2284
base: main
Are you sure you want to change the base?
Do not execute txs on ZQ1 blocks #2284
Conversation
|
Branch | 2054-historical-zq1-blocks-should-have-their-state-root-hash-set-to-zero |
Testbed | self-hosted |
Click to view all benchmark results
Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
---|---|---|---|
full-blocks-erc20-transfers/full-blocks-erc20-transfers | 📈 view plot 🚷 view threshold | 1,031.30 (-16.15%) | 1,634.95 (63.08%) |
full-blocks-evm-transfers/full-blocks-evm-transfers | 📈 view plot 🚷 view threshold | 434.77 (-10.56%) | 697.44 (62.34%) |
full-blocks-zil-transfers/full-blocks-zil-transfers | 📈 view plot 🚷 view threshold | 4,119.30 (+4.95%) | 5,127.80 (80.33%) |
process-empty/process-empty | 📈 view plot 🚷 view threshold | 10.32 (+12.89%) | 11.51 (89.70%) |
So I think we've still got some functions in the API, e.g. |
e540d50
to
18ce270
Compare
the code has changed as discussed in a meeting since this comment was made but its still worth answering to confirm - yes these changes will change all ZQ1 blocks to have state root hashes of zeros. |
@86667 Note that the final ZQ1 block shouldn't have a state root hash of zero since that's the only block where we do actually know the state. |
9235578
to
2105b91
Compare
Ive pushed so that the final ZQ1 state is written to the empty block we write immediately after ZQ1 blocks, the kind-of genesis used as the |
4940f54
to
c9b204f
Compare
Set ZQ1 block state root hash to zero when converting persistence. For proto networks with incorrect state root hashes currently we set the state root hash to zero upon fetching it.
With there now being blocks without any State in the db we return an error when an attempt to execute transactions on these blocks is made via an API call.