-
Notifications
You must be signed in to change notification settings - Fork 20.5k
New issue
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
eth/tracers: add golang 4byte tracer #23882
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
Co-authored-by: Martin Holst Swende <[email protected]>
Co-authored-by: Martin Holst Swende <[email protected]>
Some timing stats native:
js:
js-legacy:
I'm going to go through the results and see if there are any discrepancies |
I've found zero discrepancies between js and go, however, there are differences between (js/go) vs legacy. They are of this type:
Which looks like code, to me. I suspect the legacy one correctly does not catch initcode, but the newer traces doesn't. So the new tracers needs to fixed. I'll push a fix |
After a fix-up, the discrepancies are gone. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very cool, thanks!
) | ||
|
||
func init() { | ||
register("4byte", newFourByteTracer) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So this would introduce a new tracer. If we want to make it the default it has to be called 4byteTracer
Second attempt, js : Yes, I think we should make the go-tracer be the default, so register it as |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
TODO for follow-up PR: make the golang tracer default |
* native 4byte tracer * Update eth/tracers/native/4byte.go Co-authored-by: Martin Holst Swende <[email protected]> * Update eth/tracers/native/4byte.go Co-authored-by: Martin Holst Swende <[email protected]> * goimports * eth/tracers: make 4byte tracer not care about create Co-authored-by: Martin Holst Swende <[email protected]>
* native 4byte tracer * Update eth/tracers/native/4byte.go Co-authored-by: Martin Holst Swende <[email protected]> * Update eth/tracers/native/4byte.go Co-authored-by: Martin Holst Swende <[email protected]> * goimports * eth/tracers: make 4byte tracer not care about create Co-authored-by: Martin Holst Swende <[email protected]>
No description provided.