Conversation
…time_dev --bump patch'
Currently submitting a transactio to the dev-node or kitchensink will trigger an error when you try to submit a transaction trhough cast (or anything using alloy) as the block gas limit on these runtime is greater than u64::max. This bump the GAS_PRICE to fix this issue, this will eventually be superseeded by the new gas model --------- Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: xermicus <[email protected]>
796115a to
ab31e6f
Compare
0xRVE
reviewed
Jan 15, 2026
xermicus
reviewed
Jan 15, 2026
Member
xermicus
left a comment
There was a problem hiding this comment.
The EVM trace also reports the stack which should be enough the reconstruct a full execution trace. But PVM missing the syscall arguments and return values makes this of limited use?
Contributor
Author
true, I can add that in, wasn't planning on supporting pvm at first, but now that I do we better add the args you are right |
Contributor
Author
|
/bot fmt |
xermicus
approved these changes
Jan 21, 2026
Contributor
Author
|
/bot fmt |
|
All GitHub workflows were cancelled due to failure one of the required jobs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces a Geth-compatible execution tracer (StructLogger) for pallet-revive
The tracer can be used to capture both EVM opcode and PVM syscall.
It can be used with the same RPC endpoint as Geth StructLogger.
Since it can be quite resource intensive, It can only be queried from the node when the DebugSettings are enabled (This is turned on now by default in the dev-node)
Tested in paritytech/evm-test-suite#138
example:
The response includes additional fields compared to the original Geth debug RPC endpoints:
For the trace:
weight_consumed: same as gas but expressed in Weightbase_call_weight: the base cost of the transactionFor each step:
weight_cost: same as gas_cost but expressed in WeightFor an EVM execution, the output will look like this
{ "gas": 4208049, "weight_consumed": { "ref_time": 126241470000, "proof_size": 4208 }, "base_call_weight": { "ref_time": 9000000000, "proof_size": 3000 }, "failed": false, "returnValue": "0x", "structLogs": [ { "gas": 4109533, "gasCost": 3, "weight_cost": { "ref_time": 90000, "proof_size": 0 }, "depth": 1, "pc": 0, "op": "PUSH1", "stack": [] }, { "gas": 4109530, "gasCost": 3, "weight_cost": { "ref_time": 90000, "proof_size": 0 }, "depth": 1, "pc": 2, "op": "PUSH1", "stack": [ "0x80" ] }, { "gas": 4109527, "gasCost": 3, "weight_cost": { "ref_time": 90000, "proof_size": 0 }, "depth": 1, "pc": 4, "op": "MSTORE", "stack": [ "0x80", "0x40" ] }] }For PVM execution, each step includes additional fields not present in Geth:
args: Array of syscall arguments (register values a0-a5) as hex stringsreturned: The syscall return value as hex stringThese fields are enabled by default. To disable them, use
disableSyscallDetails: true.Example output with syscall details:
{ "gas": 97108, "gasCost": 131, "weight_cost": { "ref_time": 3930000, "proof_size": 0 }, "depth": 1, "op": "call_data_load", "args": ["0x0", "0x4"], "returned": "0x2a" }