Commit graph

273 commits

Author SHA1 Message Date
Matthieu Vachon
8849451b97 Updated to supported new Cancun fork 2024-01-24 14:05:13 -05:00
Matthieu Vachon
213e30cebe Updated when FIRE INIT is actually printed
The tracer will now keep the state of wheter the init has been sent or not and will emit it prior sending the very first block out.
2024-01-24 14:04:39 -05:00
Arun Dhyani
80545c7ca0 newAccount log bugfix 2024-01-17 13:46:41 +08:00
Arun Dhyani
01761849ba Merge remote-tracking branch 'sf/firehose-fh3.0' into fix/firehose 2024-01-17 09:31:17 +08:00
Matthieu Vachon
b5691516fb Removed dependency on github.com/streaminfast/firehose-ethereum generating the Protobuf struct in go-ethereum directly 2024-01-16 13:34:27 -05:00
Arun Dhyani
0ed6e530ac executedCode fixes 2024-01-16 16:10:04 +08:00
Matthieu Vachon
8545daf9f9 Fixed some small stuff while merging extended-tracer in 2024-01-15 14:03:07 -05:00
Matthieu Vachon
35c5b287f0 Merge branch 'extended-tracer' into firehose-fh3.0
# Conflicts:
#	go.sum
2024-01-15 13:25:36 -05:00
Matthieu Vachon
306a1fca64 Merge branch 'extended-tracer' into firehose-fh3.0
# Conflicts:
#	go.mod
#	go.sum
2024-01-15 12:40:19 -05:00
Sina Mahmoodi
c3319301cc add test case for frontier create out of storage 2024-01-15 13:37:39 +03:30
Sina Mahmoodi
580f02527e has call reverted to snapshot 2024-01-12 17:53:12 +03:30
Matthieu Vachon
2bb31d4ac1 Ported some missing legacy fixes to keep 1:1 with Firehose legacy tracer 2024-01-11 21:26:55 -05:00
Matthieu Vachon
6573cb21a5 Fixed KecakkPreimages to fit with legacy Firehose behavior that had a bug 2024-01-11 21:20:43 -05:00
Matthieu Vachon
4862eeba1d Updated to really use Firehose protocol 3.0 2024-01-10 21:28:08 -05:00
Matthieu Vachon
8677894b94 Removed special delegate value logic as it's not needed, the tracer does the correct thing 2024-01-10 20:52:27 -05:00
Matthieu Vachon
4c221a04d4 Fix for code storage out of gas error before homestead 2024-01-09 14:52:39 -05:00
Matthieu Vachon
3e44bf5895 Added more tracing to log computation 2024-01-08 11:58:46 -05:00
Matthieu Vachon
3181acac69 Added mistmatched transaction hash when log are not aligned 2023-12-12 21:26:52 -05:00
Sina Mahmoodi
a52c80dec5 Fix test case 2023-12-12 11:34:41 +03:30
Sina Mahmoodi
0d254e4983 fix test 2023-12-11 16:17:49 +03:30
Sina Mahmoodi
0484068df5 fix lint issues 2023-12-11 14:17:29 +03:30
Matthieu Vachon
a7f50134bd Account creations can happen before a transaction starts 2023-12-05 10:32:00 -05:00
Sina Mahmoodi
c5e407ba66 resolve merge conflicts 2023-12-05 18:13:41 +03:30
Sina Mahmoodi
f862531c25 rm chainConfig from OnGenesisBlock 2023-12-05 16:49:03 +03:30
Sina Mahmoodi
9e5c96fdff add chainConfig to block events 2023-12-05 16:31:16 +03:30
Martin Holst Swende
3dc071e036
eth/tracers/logger: make structlog/json-log stack hex again (#28628)
* common/hexutil: define hex wrappers for uint256.Int

* eth/tracers/logger: make structlog/json-log stack hex again

* common/hexutil: goimports
2023-12-05 09:37:48 +01:00
Delweng
5fb8ebc9ec
eth/tracers: tx-level state in debug_traceCall (#28460) 2023-12-01 16:38:52 +03:30
Matthieu Vachon
c36b44073f Ported back some fixes from Erigon extended native tracer 2023-11-30 10:53:31 -05:00
Matthieu Vachon
e51cbb0c95 Merge branch 'extended-tracer' into firehose-fh3.0
# Conflicts:
#	go.mod
#	go.sum
2023-11-29 13:50:08 -05:00
Sina Mahmoodi
bbc5db8405
eth/tracers/js: fix type inconsistencies (#28488)
This change fixes two type-inconsistencies in the JS tracer:

- In most places we return byte arrays as a `Uint8Array` to the tracer. However it seems we missed doing the conversion for `ctx` fields which are passed to the tracer during `result`. They are passed as simple arrays. I think Uint8Arrays are more suitable and we should change this inconsistency. Note: this will be a breaking-change. But I believe the effect is small. If we look at our tracers we see that these fields (`ctx.from`, `ctx.to`, etc.) are used in 2 ways. Passed to `toHex` which takes both array or buffer. Or the length was measured which is the same for both types.
- The `slice` taking in `int, int` params versus `memory.slice` taking `int64, int64` params. I suggest changing `slice` types to `int64`. This should have no effect almost in any case.
2023-11-28 15:00:35 +01:00
Sina Mahmoodi
8610f8f68c add hooks for beacon block root processing 2023-11-24 19:08:42 +03:30
Sina Mahmoodi
5bc3f62647 move makeTest to own file 2023-11-24 18:29:27 +03:30
Sina Mahmoodi
8a1f67c7c8 forgot prestate testcase 2023-11-24 18:21:12 +03:30
Sina Mahmoodi
9c00b1290b fix merge conflict 2023-11-24 16:09:47 +03:30
Sina Mahmoodi
cc6b68eb3b Fix prestate create issue, add test 2023-11-11 16:29:50 +03:00
Sina Mahmoodi
0d268b796c fix TxStart for traceCall 2023-11-08 19:28:42 +03:00
Sina Mahmoodi
dc1175e3e1
rm unnecessary line
Co-authored-by: Delweng <delweng@gmail.com>
2023-11-07 16:35:13 +03:00
Sina Mahmoodi
e4399a672a Use applyTransaction in tracer instead of applyMessage 2023-11-03 16:59:24 +01:00
Alvaro Sevilla
b1cec853be
eth/tracers: add position field for callTracer logs (#28389)
Currently, one can use the "withLogs" parameter to include logs in the
callTracer results, which allows the user to see at which trace level
was each log emitted.
This commit adds a position field to the logs which determine
the exact ordering of a call's logs and its subcalls. This would
be useful e.g. for explorers wishing to display the flow of execution.

Co-authored-by: jsvisa <delweng@gmail.com>
2023-11-03 10:28:27 +01:00
Sina Mahmoodi
6ee4fb8eac resolve merge conflicts 2023-09-13 16:17:36 +02:00
Matthieu Vachon
8af369e181 Merge branch 'extended-tracer' into feature/firehose-extended-tracer
# Conflicts:
#	core/state_transition.go
#	core/vm/contract.go
#	core/vm/evm.go
#	core/vm/instructions.go
#	core/vm/interpreter.go
#	core/vm/logger.go
2023-09-12 14:07:11 -04:00
Matthieu Vachon
ff3c15ff90
Full OnGasConsumed loop and added GasChangeReason (#16) 2023-09-12 17:19:15 +02:00
Matthieu Vachon
ca6c36384b Updated to latest firehose-ethereum/types 2023-09-11 12:31:32 -04:00
Matthieu Vachon
98dc951764 Fixed wrong gas change since new PR update around that 2023-09-11 10:54:30 -04:00
Matthieu Vachon
31f1a01ec5 Merge branch 'feature/gas-full-cycle-and-reason' into feature/firehose-extended-tracer
# Conflicts:
#	core/blockchain.go
#	core/state_transition.go
#	core/vm/contracts.go
#	core/vm/evm.go
#	core/vm/instructions.go
#	core/vm/interpreter.go
#	core/vm/logger.go
#	core/vm/operations_acl.go
#	eth/backend.go
#	eth/tracers/logger/access_list_tracer.go
#	eth/tracers/logger/logger.go
#	eth/tracers/logger/logger_json.go
2023-09-11 10:27:01 -04:00
Matthieu Vachon
daf3f63421 Merge remote-tracking branch 's1na/extended-tracer' into feature/gas-full-cycle-and-reason
# Conflicts:
#	eth/tracers/logger/access_list_tracer.go
#	eth/tracers/logger/logger.go
#	eth/tracers/logger/logger_json.go
2023-09-01 09:34:29 -04:00
Sina Mahmoodi
9c999c36ff Use noopTracer as base for loggers 2023-08-31 16:31:30 +02:00
Sina Mahmoodi
659043a1d9 pass tracer name via cli 2023-08-30 18:14:06 +02:00
Matthieu Vachon
5763314b0d Removed tracer support when doing genesis.Flush(...)
The genesis flush do set the logger, but we receive the genesis block allocs via `OnGenesisBlock` meaning it's not necessary to have the logger in the flush.
2023-08-29 16:12:59 -04:00
Matthieu Vachon
d0dbbaf6a5 Change OnGasConsumed(gas, cost uint64, reason) to OnGasChange(old, new uint64, reason)
This way, we avoid having a `cost` that is negative which does not make sense for a `uint64`. Having the `old, new` also yields correct value and the delta can then be negative and be holded in a `int64`.

# Conflicts:
#	core/vm/evm.go
2023-08-28 19:20:01 -04:00