EthTx / ethtx

Python package with core transaction decoding functions.
https://www.ethtx.info
Apache License 2.0
454 stars 73 forks source link

Invalid tracer argument on debug_traceTransaction #197

Open bromulous opened 1 year ago

bromulous commented 1 year ago

I am getting a 403 error when trying to make a debug_traceTransaction call.

The issue seems to be coming from this line tracer = self._get_custom_calls_tracer() in web3_provider.py

The _get_custom_calls_tracer function is returning the string: '/*\n# Copyright 2021 DAI FOUNDATION (the original version https://github.com/daifoundation/ethtx_ce)\n# Copyright 2021-2022 Token Flow Insights SA (modifications to the original software as recorded\n# in the changelog https://github.com/EthTx/ethtx/blob/master/CHANGELOG.md)\n#\n# Licensed under the Apache License, Version 2.0 (the "License");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed\n# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied... truncated for brevity.

I'm using quicknode and they do not like this as a tracer argument.

A workaround solution is to replace the use of tracer on the following line: "debug_traceTransaction", [tx_hash, {"tracer": tracer, "timeout": "60s"}] with "callTracer" "debug_traceTransaction", [tx_hash, {"tracer": "callTracer", "timeout": "60s"}]

This solves the issue for me but I don't know if there are any repercussion for the rest of the program as I haven't really looked into what _get_custom_calls_tracer is supposed to do.