Skip to content

feat(rpcv10): response_flags for the rpcv10; proof_facts, proof for invoke v3 txs#3380

Open
MaksymMalicki wants to merge 13 commits intomainfrom
maksym/rpcv10-response-flags
Open

feat(rpcv10): response_flags for the rpcv10; proof_facts, proof for invoke v3 txs#3380
MaksymMalicki wants to merge 13 commits intomainfrom
maksym/rpcv10-response-flags

Conversation

@MaksymMalicki
Copy link
Contributor

@MaksymMalicki MaksymMalicki commented Jan 19, 2026

This PR introduces support for new optional fields for transactions:

  • proof_facts for invoke v3 transactions
  • proof and proof_facts for broadcasted invoke v3 transactions, which are passed to the gateway write API

The invoke v3 transactions will contain proof_facts optional field, when the INCLUDE_PROOF_FACTS flag is included in the response_flags new parameter in starknet_getBlockWithTxs, starknet_getBlockWithReceipts, starknet_getTransactionByHash, starknet_getTransactionByBlockIdAndIndex. If the flag is not present, the transactions are processed in the same way as in previous versions of the RPC.

@codecov
Copy link

codecov bot commented Jan 19, 2026

Codecov Report

❌ Patch coverage is 49.15730% with 181 lines in your changes missing coverage. Please review.
✅ Project coverage is 75.69%. Comparing base (6dbb365) to head (b3553cf).
⚠️ Report is 36 commits behind head on main.

Files with missing lines Patch % Lines
rpc/v10/transaction.go 42.65% 144 Missing and 16 partials ⚠️
rpc/v10/estimate_fee.go 0.00% 13 Missing ⚠️
core/transaction.go 40.00% 2 Missing and 1 partial ⚠️
rpc/v9/transaction.go 0.00% 3 Missing ⚠️
rpc/v10/response_flags.go 83.33% 1 Missing and 1 partial ⚠️

❌ Your patch check has failed because the patch coverage (49.15%) is below the target coverage (60.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3380      +/-   ##
==========================================
- Coverage   76.20%   75.69%   -0.51%     
==========================================
  Files         351      378      +27     
  Lines       33366    34932    +1566     
==========================================
+ Hits        25425    26443    +1018     
- Misses       6126     6626     +500     
- Partials     1815     1863      +48     

☔ 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.

Copy link
Contributor

@EgeCaner EgeCaner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First round of review

ContractClass: v9Tx.ContractClass,
}

if v9Tx.Transaction.Type == rpcv9.TxnInvoke && isVersion3(v9Tx.Transaction.Version) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we move this to adaptRpcTxToFeederTx

return starknet.DataAvailabilityMode(*mode)
}

func adaptRPCTxToFeederTx(rpcTx *rpcv9.Transaction) starknet.Transaction {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not receive rpcv10.Transaction and also handle proof here

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.

3 participants