-
Notifications
You must be signed in to change notification settings - Fork 9
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
NDEV-2252: Clean up tracer implementation #208
Conversation
3fa396c
to
5887a8a
Compare
NDEV-2252: Fix StructLog field order NDEV-2252: Fix StructLoggerResult field order NDEV-2252: Output storage only on SLOAD and SSTORE opcodes NDEV-2252: Output storage in hex format without 0x prefix NDEV-2252: Output memory in hex format without 0x prefix NDEV-2252: Add StructLoggerResult serialization tests NDEV-2252: Fix StructLog format NDEV-2252: Add github link
5887a8a
to
b85da1e
Compare
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.
It looks good to me, but I think @anton-lisanin should thoroughly review the changes since there are changes affecting EVM.
@Deniskore Yes, I wiil wait for @anton-lisanin review too. |
c248ae0
Dapps reportCost report for "Curve" dApp
Cost report for "Aave" dApp
Cost report for "Uniswap V3" dApp
Cost report for "Uniswap V2" dApp
Cost report for "Robonomics" dApp
Cost report for "Curve-Factory" dApp
Cost report for "Yearn" dApp
Cost report for "Compound-Finance" dApp
Cost report for "Saddle Finance" dApp
|
* NDEV-2252: Use preserve_order serde_json feature * NDEV-2252: Make StructLog and StructLoggerResult Geth-compatible NDEV-2252: Fix StructLog field order NDEV-2252: Fix StructLoggerResult field order NDEV-2252: Output storage only on SLOAD and SSTORE opcodes NDEV-2252: Output storage in hex format without 0x prefix NDEV-2252: Output memory in hex format without 0x prefix NDEV-2252: Add StructLoggerResult serialization tests NDEV-2252: Fix StructLog format NDEV-2252: Add github link * NDEV-2252: Make tracer_config optional * NDEV-2252: Remove unused trace Events * NDEV-2252: Add more links to Geth structs
* NDEV-2252: Use preserve_order serde_json feature * NDEV-2252: Make StructLog and StructLoggerResult Geth-compatible NDEV-2252: Fix StructLog field order NDEV-2252: Fix StructLoggerResult field order NDEV-2252: Output storage only on SLOAD and SSTORE opcodes NDEV-2252: Output storage in hex format without 0x prefix NDEV-2252: Output memory in hex format without 0x prefix NDEV-2252: Add StructLoggerResult serialization tests NDEV-2252: Fix StructLog format NDEV-2252: Add github link * NDEV-2252: Make tracer_config optional * NDEV-2252: Remove unused trace Events * NDEV-2252: Add more links to Geth structs
* NDEV-2252: Use preserve_order serde_json feature * NDEV-2252: Make StructLog and StructLoggerResult Geth-compatible NDEV-2252: Fix StructLog field order NDEV-2252: Fix StructLoggerResult field order NDEV-2252: Output storage only on SLOAD and SSTORE opcodes NDEV-2252: Output storage in hex format without 0x prefix NDEV-2252: Output memory in hex format without 0x prefix NDEV-2252: Add StructLoggerResult serialization tests NDEV-2252: Fix StructLog format NDEV-2252: Add github link * NDEV-2252: Make tracer_config optional * NDEV-2252: Remove unused trace Events * NDEV-2252: Add more links to Geth structs
All changes in this PR have been tested by sending
debug_traceCall
to both Go Ethereum and Tracer API and comparing the returned JSON.serde_json
"preserve_order"
feature soStructLog
field order is preserved in JSON response bodies for debug calls.StructLog
andStructLoggerResult
to match the order of fields returned by Go Ethereum debug methods.SLOAD
andSSTORE
opcodes, in hex format without0x
prefix.tracerConfig
optional, as it is in Go Ethereum.0x
prefix. Empty memory is serialized as an empty JSON array.gas
,gas
andgasCost
StructLog
fields being always0
on NeonEVM,debug_traceCall
output is identical to Go Ethereum one for Storage contract.Event
enum variants.