Skip to content

feat(rpcv10): initial reads for starknet_traceBlockTransactions and starknet_simulateTransactions#3384

Open
MaksymMalicki wants to merge 9 commits intomainfrom
maksym/rpcv10-initial-reads-2
Open

feat(rpcv10): initial reads for starknet_traceBlockTransactions and starknet_simulateTransactions#3384
MaksymMalicki wants to merge 9 commits intomainfrom
maksym/rpcv10-initial-reads-2

Conversation

@MaksymMalicki
Copy link
Contributor

@MaksymMalicki MaksymMalicki commented Jan 23, 2026

This PR introduces support for the new initial_reads optional field for the starknet_traceBlockTransactions and starknet_simulateTransactions.
Changes:

  • adds a new RETURN_INITIAL_READS flag to the simulation flags. If the RETURN_INITIAL_READS is included in the simulation_flags of starknet_simulateTransactions, the initial_reads field will be added to the response.
  • adds a new trace_flags to starknet_traceBlockTransactions. If the RETURN_INITIAL_READS flag is included, the initial_reads field will be added to the response.
  • For both starknet_traceBlockTransactions and starknet_simulateTransactions, if the RETURN_INITIAL_READS was not included in the flags set, the response looks the same as in previous versions of the RPC (list of transaction simulations / transaction traces)
  • If the RETURN_INITIAL_READS was passed to starknet_traceBlockTransactions, the response format is different. It contains two fields: traces (list of transaction traces for this block) and initial_reads (aggregated initial reads for all the traced transactions)
  • If the RETURN_INITIAL_READS was passed to starknet_simulateTransactions, the response format is different. It contains two fields: simulated_transactions (list of transaction simulations) and initial_reads (aggregated initial reads for all the simulated transactions)

NOTE:
If the initial_reads are requested, but they don't exist (i. e. older blocks, where the traces are fetched from the gateway), they are not included in the response.

This PR required bumping the blockifier to newer version.

@MaksymMalicki MaksymMalicki marked this pull request as draft January 23, 2026 10:31
@github-actions
Copy link
Contributor

Minimum supported Rust version is 1.88.0, previous 1.87.0. Please update the README file, the Makefile, and this workflow.

@github-actions

This comment was marked as spam.

@github-actions

This comment was marked as spam.

@NethermindEth NethermindEth deleted a comment from github-actions bot Jan 23, 2026
@NethermindEth NethermindEth deleted a comment from github-actions bot Jan 23, 2026
@codecov
Copy link

codecov bot commented Jan 23, 2026

Codecov Report

❌ Patch coverage is 60.44776% with 53 lines in your changes missing coverage. Please review.
✅ Project coverage is 75.71%. Comparing base (9633e0c) to head (ae0c16c).
⚠️ Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
rpc/v10/simulation.go 51.28% 19 Missing ⚠️
rpc/v10/adapters.go 45.45% 14 Missing and 4 partials ⚠️
rpc/v10/trace.go 70.73% 11 Missing and 1 partial ⚠️
rpc/v6/simulation.go 33.33% 2 Missing ⚠️
node/throttled_vm.go 0.00% 1 Missing ⚠️
rpc/v10/estimate_fee.go 66.66% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3384      +/-   ##
==========================================
+ Coverage   75.68%   75.71%   +0.02%     
==========================================
  Files         361      369       +8     
  Lines       34024    34437     +413     
==========================================
+ Hits        25752    26073     +321     
- Misses       6443     6519      +76     
- Partials     1829     1845      +16     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant