-
Notifications
You must be signed in to change notification settings - Fork 153
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
Support trace API similar to OpenEthereum/Parity's one #211
Merged
Merged
Changes from 73 commits
Commits
Show all changes
75 commits
Select commit
Hold shift + click to select a range
6be3792
tracer: Add call_tracer_open_ethereum with formatted output similar t…
ziogaschr 0bcd35b
tracer: Expose trace_traceTransaction API (draft, might change)
ziogaschr 5752398
tracer: Add `trace_traceBlock*` methods
ziogaschr c2b0717
Rename TraceBlockByNumber to TraceBlock for compatibility with OpenEt…
ziogaschr 7a4afdb
Rename trace methods for compatibility with OpenEthereum names
ziogaschr 9228a99
tracer: add dump trace_filter func
ziogaschr 8efa8a4
tracer: include `blockHash`, `transactionHash` and `transactionPositi…
ziogaschr 7770fc1
tracer: small change to accumulateRewards to make it available to the…
ziogaschr 590fdf2
tracer: restructure PrivateTraceAPI to its own file
ziogaschr 66362d8
tracer: add block/uncle rewards in trace_block
ziogaschr 7b56e95
tracer: reorder tracer json fields
ziogaschr 350afc9
Cleanup
ziogaschr 548de0d
tracer: handle gas 2300 stipend
ziogaschr da1a1ec
tracer: Add mapping of core-geth errors to OpenEthereum ones
ziogaschr b5b4990
tracer: handle op=selfdestruct similar to OpenEthereum
ziogaschr f6996ac
tracer: cleanup reward structs
ziogaschr 2ec697c
tracer: JS better handling of typeof undefined
ziogaschr 9ac36bd
tracer: JS rename oeErrorMapping
ziogaschr f583aaa
tracer: JS cleanup 🧽
ziogaschr 3c07e02
tracer: JS refactor/cleanup finalize()
ziogaschr 8a2dd93
tracer: JS add additional error maps
ziogaschr 5ddf481
js/tracers: make OpenEthereum calltracer report value in selfdestructs
ziogaschr 860f014
tracer: JS better handling of gas and gasUsed (remove the stipend hack)
ziogaschr 82c221d
tracer: JS OE compatibility fixes
ziogaschr 8c5a412
tracer: JS handle out of gas errors
ziogaschr 05bfa16
tracer: JS temp hack for compatibility (to be changed)
ziogaschr 791c601
tracer: fix handling of op=delegatecall value
ziogaschr 4e4f55b
tracer: better naming for isDynamicGas variable (still not sure if ac…
ziogaschr e3fcba6
tracer: add more error mappings
ziogaschr fa1a6b6
tracer: op=CREATE2 to return type=CREATE for OE compatibility
ziogaschr 6099dbc
eth: clean ineffectual assigns re: OE tracer config setting
meowsbits d1b01a9
eth: (lint) remove unnecessary type conversion
meowsbits 14a05d2
eth: (lint:gosimple) replace iterating assign with variadic append
meowsbits 582c97a
main: add 'trace:1.0' to console test
meowsbits 69d7e09
eth: add benchmarking test for slice append patterns
meowsbits c0a40fd
tracer: remove unused OpenEthereumTrace fields
ziogaschr 0801f65
tracer: JS cleanup
ziogaschr da163f9
tracer: Set value=0x0 for op=STATICCALL
ziogaschr 0119efd
tracer: JS handle output based on op=RETURN
ziogaschr 64d05c9
tracer: JS remove the uneeded isDynamic check on gas
ziogaschr 75a90fa
tracer: JS on “out of gas” Failure set gas=0x0
ziogaschr d604f32
tracer: JS fix
ziogaschr fc900c0
tracer: revert remove unused OpenEthereumTrace fields
ziogaschr 0d757e0
tracer: JS OE handle “return data out of bounds”
ziogaschr 06a14f6
tracer: JS OE on fault, try to get gas from inner calls
ziogaschr 44208e2
Revert "eth: clean ineffectual assigns re: OE tracer config setting"
ziogaschr c32bcd6
core/vm: track 63/64 call gas off stack
ziogaschr d9de8f3
tracer: pass the true available gas for an opcode call in CaptureState
ziogaschr b78b08f
tracer/js: extend JS log tracer with getAvailableGas per call
ziogaschr 87a885e
tracer/js: extend JS log tracer with getReturnData
ziogaschr d9eebfc
tracer/js: add "Out of stack” error mapping for OE tracer
ziogaschr becfd6d
tracer/js: handle edje cases where first time in callstack remains em…
ziogaschr a94bede
tracer/js: extend OE JS tracer to return compatible gas with OE using…
ziogaschr 269474b
tracer/js: extend OE JS tracer to use getReturnData to decide if the …
ziogaschr dfa7777
tracer/js: bring back wrongly removed line
ziogaschr 6fff135
cleanup
ziogaschr a50e971
tracer/js: handle precompiled contract failures on CALL opcodes
ziogaschr ecad577
tracer/js: expose system opcode errors in JS tracers
ziogaschr c956731
cleanup
ziogaschr 72251c2
tracer/js: read system opcode error in OE JS tracer
ziogaschr 955fa16
tracer/js: extend OE JS tracer to use only getReturnData for CALL rel…
ziogaschr 0de90ff
tracers: generate assets.go
ziogaschr e4a3a5c
tracers/js: cleanup
ziogaschr 88bbfb2
tracer: Rename call_tracer_open_ethereum to call_tracer_parity and re…
ziogaschr c89f77c
tracer: fix lint issues
ziogaschr 39fcedf
tracer/js: add TODO comment
ziogaschr dbe01d4
core/vm: track 63/64 create gas off stack (fix)
ziogaschr 05f0d9c
tracers: generate assets.go
ziogaschr c5b5386
core/vm: add createGasEip150 for CREATE/CREATE2 gas calc of 63/64 rul…
ziogaschr b66cd1c
core/vm: cleanup use of evm.callGasTemp in interpreter
ziogaschr 0f710a4
Merge branch 'master' into feat/openethereum-trace-apis
ziogaschr ad4fdbe
consensus/ethash: better name for AccumulateRewards -> GetRewards
ziogaschr e1a3c01
ethash: remove unnecessarily defensive conditional
meowsbits 45d5f66
core/vm, eth/tracers: make `evm.callGasTemp` public `evm.CallGasTemp`
ziogaschr e447981
eth/tracers: fix broken test `call_tracer_inner_create_oog_outer_thro…
ziogaschr File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.
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.
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.
@ziogaschr I think you mentioned yesterday that this parameter may be removable since this value is equivalent to
env.callGasTemp
. If so, is it worth doing?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.
At this point removed the extra
availableGasCopy
and use thein.evm.callGasTemp
. This one can be removed if I make it public asin.evm.CallGasTemp
. What do you think about it?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.
I think it's OK to make it public because that follows the pattern that we've already "allowed" with the introduction of
EVM.CallErrorTemp
, and IMO publicizing a field there is less "expensive" than adding a parameter to a shared interface.