mirror of https://github.com/ethereum/go-ethereum
eth/tracers: add withLog to callTracer (#25991)
In some cases, it is desirable to capture what is triggered by each trace, when using the `callTracer`. For example: call `USDT.transfer` will trigger a `Transfer(from, to, value)` event. This PR adds the option to capture logs to the call tracer, by specifying `{"withLog": true}` in the tracerconfig. Any logs belonging to failed/reverted call-scopes are removed from the output, to prevent interpretation mistakes. Signed-off-by: Delweng <delweng@gmail.com> Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>pull/26083/head
parent
b0d44338bb
commit
8e69622c68
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,84 @@ |
||||
{ |
||||
"genesis": { |
||||
"difficulty": "8430028481555", |
||||
"extraData": "0xd783010302844765746887676f312e352e31856c696e7578", |
||||
"gasLimit": "3141592", |
||||
"hash": "0xde66937783697293f2e529d2034887c531535d78afa8c9051511ae12ba48fbea", |
||||
"miner": "0x2a65aca4d5fc5b5c859090a6c34d164135398226", |
||||
"mixHash": "0xba28a43bfbca4a2effbb76bb70d03482a8a0c92e2883ff36cbac3d7c6dbb7df5", |
||||
"nonce": "0xa3827ec0a82fe823", |
||||
"number": "765824", |
||||
"stateRoot": "0x8d96cb027a29f8ca0ccd6d31f9ea0656136ec8030ecda70bb9231849ed6f41a2", |
||||
"timestamp": "1451389443", |
||||
"totalDifficulty": "4838314986494741271", |
||||
"alloc": { |
||||
"0xd1220a0cf47c7b9be7a2e6ba89f429762e7b9adb": { |
||||
"balance": "0x14203bee2ea6fbe8c", |
||||
"nonce": "34" |
||||
}, |
||||
"0xe2fe6b13287f28e193333fdfe7fedf2f6df6124a": { |
||||
"balance": "0x2717a9c870a286f4350" |
||||
}, |
||||
"0xf4eced2f682ce333f96f2d8966c613ded8fc95dd": { |
||||
"balance": "0x0", |
||||
"code": "0x606060405260e060020a600035046306fdde038114610047578063313ce567146100a457806370a08231146100b057806395d89b41146100c8578063a9059cbb14610123575b005b61015260008054602060026001831615610100026000190190921691909104601f810182900490910260809081016040526060828152929190828280156101f55780601f106101ca576101008083540402835291602001916101f5565b6101c060025460ff1681565b6101c060043560036020526000908152604090205481565b610152600180546020601f6002600019610100858716150201909316929092049182018190040260809081016040526060828152929190828280156101f55780601f106101ca576101008083540402835291602001916101f5565b610045600435602435600160a060020a033316600090815260036020526040902054819010156101fd57610002565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156101b25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6060908152602090f35b820191906000526020600020905b8154815290600101906020018083116101d857829003601f168201915b505050505081565b600160a060020a03821660009081526040902054808201101561021f57610002565b806003600050600033600160a060020a03168152602001908152602001600020600082828250540392505081905550806003600050600084600160a060020a0316815260200190815260200160002060008282825054019250508190555081600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056", |
||||
"storage": { |
||||
"0x1dae8253445d3a5edbe8200da9fc39bc4f11db9362181dc1b640d08c3c2fb4d6": "0x0000000000000000000000000000000000000000000000000000000000000000", |
||||
"0x8ba52aac7f255d80a49abcf003d6af4752aba5a9531cae94fde7ac8d72191d67": "0x000000000000000000000000000000000000000000000000000000000178e460" |
||||
} |
||||
} |
||||
}, |
||||
"config": { |
||||
"chainId": 1, |
||||
"homesteadBlock": 1150000, |
||||
"daoForkBlock": 1920000, |
||||
"daoForkSupport": true, |
||||
"eip150Block": 2463000, |
||||
"eip150Hash": "0x2086799aeebeae135c246c65021c82b4e15a2c451340993aacfd2751886514f0", |
||||
"eip155Block": 2675000, |
||||
"eip158Block": 2675000, |
||||
"byzantiumBlock": 4370000, |
||||
"constantinopleBlock": 7280000, |
||||
"petersburgBlock": 7280000, |
||||
"istanbulBlock": 9069000, |
||||
"muirGlacierBlock": 9200000, |
||||
"berlinBlock": 12244000, |
||||
"londonBlock": 12965000, |
||||
"arrowGlacierBlock": 13773000, |
||||
"grayGlacierBlock": 15050000, |
||||
"terminalTotalDifficultyPassed": true, |
||||
"ethash": {} |
||||
} |
||||
}, |
||||
"context": { |
||||
"number": "765825", |
||||
"difficulty": "8425912256743", |
||||
"timestamp": "1451389488", |
||||
"gasLimit": "3141592", |
||||
"miner": "0xe2fe6b13287f28e193333fdfe7fedf2f6df6124a" |
||||
}, |
||||
"input": "0xf8aa22850ba43b740083024d4594f4eced2f682ce333f96f2d8966c613ded8fc95dd80b844a9059cbb000000000000000000000000dbf03b407c01e7cd3cbea99509d93f8dddc8c6fb00000000000000000000000000000000000000000000000000000000009896801ca067da548a2e0f381a957b9b51f086073375d6bfc7312cbc9540b3647ccab7db11a042c6e5b34bc7ba821e9c25b166fa13d82ad4b0d044d16174d5587d4f04ecfcd1", |
||||
"tracerConfig": { |
||||
"withLog": true |
||||
}, |
||||
"result": { |
||||
"from": "0xd1220a0cf47c7b9be7a2e6ba89f429762e7b9adb", |
||||
"gas": "0x1f36d", |
||||
"gasUsed": "0xc6a5", |
||||
"to": "0xf4eced2f682ce333f96f2d8966c613ded8fc95dd", |
||||
"input": "0xa9059cbb000000000000000000000000dbf03b407c01e7cd3cbea99509d93f8dddc8c6fb0000000000000000000000000000000000000000000000000000000000989680", |
||||
"logs": [ |
||||
{ |
||||
"address": "0xf4eced2f682ce333f96f2d8966c613ded8fc95dd", |
||||
"topics": [ |
||||
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", |
||||
"0x000000000000000000000000d1220a0cf47c7b9be7a2e6ba89f429762e7b9adb", |
||||
"0x000000000000000000000000dbf03b407c01e7cd3cbea99509d93f8dddc8c6fb" |
||||
], |
||||
"data": "0x0000000000000000000000000000000000000000000000000000000000989680" |
||||
} |
||||
], |
||||
"value": "0x0", |
||||
"type": "CALL" |
||||
} |
||||
} |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue