We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
When using a custom evm tracer, the gas cost for opcoded reported by the tracer is incorrect.
Consider the following debug_traceTransaction RPC reqeust:
debug_traceTransaction
import asyncio import json import os from aiohttp import ClientSession, TCPConnector async def custom_tracer(): async with ClientSession(connector=TCPConnector(limit=0)) as session: method = "debug_traceTransaction" tracer = """ { data: [], memoryInstructions: {"MSTORE":"W", "MSTORE8":"B", "MLOAD":"R"}, fault: function (log) {}, step: function (log) { let op = log.op.toString(); let instructions = this.memoryInstructions if (Object.keys(instructions).includes(op)) { this.data.push({ op: instructions[op] , depth: log.getDepth(), offset: log.stack.peek(0), gasCost: log.getCost(), memorySize: log.memory.length(), }); } }, result: function (ctx, _) { return { error: !!ctx.error, data: this.data }; } } """ params = [ "0x82f6413a2658ebb83f27e44fe1e815ec0979a7dcc0bc9dbdbbbe058d547195a6", {"tracer": tracer}, ] payload = { "jsonrpc": "2.0", "method": method, "params": params, "id": 1, } async with session.post( "https://lb.nodies.app/v2/8bfbba93396a46b1a3d99311daf0dae6", json=payload, headers={"x-api-key": "b27881a7-4ea2-439f-a1c6-77ad0c875c16"}, ) as response: result = await response.json() if "error" in result: raise Exception(f"RPC Error ({method}>req:{params}): {result['error']}") with open(os.path.join("trace.json"), "w") as output_file: json.dump(result, output_file) asyncio.run(custom_tracer())
Expected gas costs:
[ 6, 6, 3, 3, 12, 3, 3, 9, 6, 3, 3, 3, 3, 3, 3, 3, 3, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 6, 3, 3, 3, 3, 6, 6, 3, 3, 3, 3, 3, 3, 6, 6, 3, 6, 3, 3, 3, 3, 12, 3, 3, 9, 6, 3, 12, 6, 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 6, 3, 6, 3, 3, 12, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ... 5998 more items ]
Reported gas cost:
[ 138, 150, 229, 317, 6, 2148, 2163, 2175, 2196, 2642, 2657, 2925, 2940, 3191, 3206, 4376, 4391, 4403, 4421, 4746, 4761, 4996, 5011, 5284, 5299, 5875, 5890, 6643, 6658, 7284, 7299, 7493, 7508, 7520, 7538, 7867, 7882, 10896, 10911, 10923, 10941, 11270, 11285, 11741, 11756, 14788, 14803, 14815, 14833, 15142, 15256, 15297, 17115, 17235, 17273, 6, 4184, 4199, 4208, 4232, 4241, 4265, 4295, 4304, 4328, 4346, 4361, 4379, 4385, 4391, 4465, 4471, 4547, 4553, 4714, 4726, 4747, 4783, 6, 415, 430, 697, 712, 3820, 3835, 6943, 6955, 6977, 8804, 8828, 8847, 13805, 13839, 13847, 13921, 13960, 13991, 14054, 14063, 14077, ... 5998 more items ]
No response
Linux (x86)
reth Version: 1.0.0-dev Commit SHA: 4fd06bd3b Build Timestamp: 2024-07-06T20:32:43.565379262Z Build Features: jemalloc Build Profile: maxperf
Current database version: 2 Local database is uninitialized
mainnet
Archive (default)
The text was updated successfully, but these errors were encountered:
thanks for flagging, the gascost value is indeed set incorrectly
Sorry, something went wrong.
No branches or pull requests
Describe the bug
When using a custom evm tracer, the gas cost for opcoded reported by the tracer is incorrect.
Steps to reproduce
Consider the following
debug_traceTransaction
RPC reqeust:Expected gas costs:
Reported gas cost:
Node logs
No response
Platform(s)
Linux (x86)
What version/commit are you on?
reth Version: 1.0.0-dev
Commit SHA: 4fd06bd3b
Build Timestamp: 2024-07-06T20:32:43.565379262Z
Build Features: jemalloc
Build Profile: maxperf
What database version are you on?
Current database version: 2
Local database is uninitialized
Which chain / network are you on?
mainnet
What type of node are you running?
Archive (default)
What prune config do you use, if any?
No response
If you've built Reth from source, provide the full command you used
No response
Code of Conduct
The text was updated successfully, but these errors were encountered: