Commit graph

14417 commits

Author SHA1 Message Date
Matthieu Vachon
a2e2df461f Reverted changes to geth init 2023-08-28 15:39:43 -04:00
Matthieu Vachon
1f947081a2 BLockchain logger now record OnGenesisBlock on boot, geth init will also fill the missing value now 2023-08-04 12:31:15 -04:00
Matthieu Vachon
4838043913 Revert "Added writing of genesis.Alloc on bootstrap, geth init will also fill the missing value"
This reverts commit 09d66773bd.
2023-08-04 12:30:58 -04:00
Matthieu Vachon
db63814064 Now passing finality information if available 2023-08-03 16:39:42 -04:00
Matthieu Vachon
e52f673690 Merge branch 'extended-tracer' into feature/firehose-extended-tracer 2023-08-03 13:56:22 -04:00
Matthieu Vachon
00a19d3c57
Fixed tests compilation (#13) 2023-08-02 21:35:21 +02:00
Matthieu Vachon
84af9dee0c Removed a FIXME and improved known Firehose issue description 2023-08-02 14:14:57 -04:00
Matthieu Vachon
1792f99bb0 Few small changes around the patch 2023-08-02 14:07:24 -04:00
Matthieu Vachon
1df06e296d Make patch simpler, added clear indications where to fix Firehose know instrumentation issues 2023-08-02 13:55:28 -04:00
Matthieu Vachon
61b11e83e9 Bring in latest changes that make our new Ethereum patch 1:1 2023-08-02 13:22:12 -04:00
Matthieu Vachon
ec154ca444 More fixes towards a working ordinal implementation 2023-08-02 11:48:01 -04:00
Matthieu Vachon
17dcacc575 Removed now unused code 2023-08-02 11:35:06 -04:00
Matthieu Vachon
d1ad0e35d5 Re-implemented OnGenesisBlock using the tracer itself 2023-08-02 11:31:25 -04:00
Matthieu Vachon
09df0e0c95 Merge branch 'extended-tracer' into feature/firehose-extended-tracer
# Conflicts:
#	core/vm/evm.go
2023-08-02 09:49:36 -04:00
Matthieu Vachon
7589c3c8d5 Fixed back missing latest differences, bring back GasChange and proper handling of them, fully aligned 2023-08-02 09:43:32 -04:00
Matthieu Vachon
32c14945da Full OnGasConsumed loop and added GasChangeReason
With this change, the full gas loop of a transaction can be tracked going from initial balance (`gasLimit`) back down to 0.

I validated on my regression test suite that those conditions applied to all transactions I have:
- First `OnGasConsumed` is always going from 0 -> `trx.gasLimit`
- Last `OnGasConsumed` "new value" is always 0
- trx.gasLimit - last balance of last `OnGasConsumed` is equal to `trx.gasUsed`

The addition of `reason` make it possible for a logger to filter out unwanted signal, for example one could want to drop all OpCode related gas change and only cares about "transaction" level. The reason is also a good thing for visibility and for creating powerful debug tools for Ethereum transaction execution.
2023-08-02 09:16:45 -04:00
Matthieu Vachon
ed4349ca90 Fixed BalanceChange for suicide withdraw not being recorded 2023-07-31 21:46:51 -04:00
Matthieu Vachon
2b4614152b More work towards a working 1:1 Firehose tracer patch 2023-07-31 16:53:16 -04:00
Matthieu Vachon
c5eb5faa5f Further work towards having a compatible Firehose code (at battlefied block #15) 2023-07-28 17:05:21 -04:00
Matthieu Vachon
d723124530 Added IsPrecompileAddr on EVM to let tracer easily determine if an address is a precompiled address 2023-07-28 17:03:59 -04:00
Sina Mahmoodi
b7ff573886
minor refactor
Co-authored-by: Delweng <delweng@gmail.com>
2023-07-28 14:01:56 +02:00
Matthieu Vachon
b9bcdef066 More fixes towards a working Firehose patch 2023-07-27 16:32:17 -04:00
Matthieu Vachon
5952799988 Fixed wrong EVM call tracing code 2023-07-27 16:32:03 -04:00
Sina Mahmoodi
f9f377d64f capture call validation errors 2023-07-27 21:57:40 +02:00
Matthieu Vachon
b797e5d261 More fixes towards a 1-1 Firehose tracer against old model 2023-07-27 15:37:36 -04:00
Matthieu Vachon
9af0334dff Use leftOverGas instead of gas as it's sure to respect Go rules for defer to have latest returned value 2023-07-27 15:37:09 -04:00
Matthieu Vachon
4e834c10d0 Merge remote-tracking branch 's1na/extended-tracer' into feature/firehose-extended-tracer
# Conflicts:
#	core/state/state_object.go
#	core/state/statedb_test.go
#	core/state_transition.go
#	core/txpool/legacypool/legacypool_test.go
#	core/vm/evm.go
#	core/vm/instructions.go
#	eth/api_debug_test.go
#	eth/tracers/js/tracer_test.go
#	go.sum
2023-07-27 11:47:40 -04:00
Sina Mahmoodi
09ee197723 fix merge conflict 2023-07-27 14:48:26 +02:00
Sina Mahmoodi
b2b32e6ff6 fix merge conflict 2023-07-27 14:41:47 +02:00
Péter Szilágyi
0f4b21feac
core/txpool/blobpool: fix a merge conflict from a package rename (#27790) 2023-07-27 14:53:05 +03:00
Felix Lange
393d4db18c
core/types: add 4844 data gas fields in Receipt (#27743)
* core/types: add data gas fields in Receipt

* core/types: use BlobGas method of tx

* core: fix test

* core/types: fix receipt tests, add data gas used field test

---------

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2023-07-27 14:11:09 +03:00
Péter Szilágyi
1662228ac6
core/txpool/blobpool: 4844 blob transaction pool (#26940)
* core/blobpool: implement txpool for blob txs

* core/txpool: track address reservations to notice any weird bugs

* core/txpool/blobpool: add support for in-memory operation for tests

* core/txpool/blobpool: fix heap updating after SetGasTip if account is evicted

* core/txpool/blobpool: fix eviction order if cheap leading txs are included

* core/txpool/blobpool: add note as to why the eviction fields are not inited in reinject

* go.mod: pull in inmem billy form upstream

* core/txpool/blobpool: fix review commens

* core/txpool/blobpool: make heap and heap test deterministic

* core/txpool/blobpool: luv u linter

* core/txpool: limit blob transactions to 16 per account

* core/txpool/blobpool: fix rebase errors

* core/txpool/blobpool: luv you linter

* go.mod: revert some strange crypto package dep updates
2023-07-27 13:45:35 +03:00
Darioush Jalali
37b952a4a2
core/types: deepcopy ExcessDataGas, DataGasUsed (#27767) 2023-07-27 11:32:15 +03:00
Matthieu Vachon
8d75122911 Fixed a bunch of small issues here and there (genesis block is equal to oracle now!) 2023-07-26 20:22:40 -04:00
Matthieu Vachon
ad1293e8f9 Completed patch porting, now fixing bugs 2023-07-26 14:38:01 -04:00
Matthieu Vachon
09d66773bd Added writing of genesis.Alloc on bootstrap, geth init will also fill the missing value 2023-07-26 14:37:32 -04:00
Sina Mahmoodi
2faf3dbfd6 emit err on tx validation failure 2023-07-26 20:07:13 +02:00
Matthieu Vachon
5466fa3133
Capture balance reason (#12) 2023-07-26 10:49:04 +02:00
Matthieu Vachon
dd86f19df4 Move up CaptureStart/CaptureEnd as well as CaptureEnter/CaptureExit higher directly when function starts 2023-07-25 14:35:59 -04:00
Matthieu Vachon
751b984c9b Merge remote-tracking branch 's1na/extended-tracer' into feature/firehose-extended-tracer
# Conflicts:
#	core/blockchain.go
2023-07-25 10:41:22 -04:00
Matthieu Vachon
75e8c96f4e WIP 2023-07-25 10:40:30 -04:00
Sina Mahmoodi
4370527cf9 fix prefetcher double emit 2023-07-24 18:46:58 +02:00
Justin Traglia
2274a03e33
crypto/kzg4844: do lazy init in all ckzg funcs (#27679)
* crypto/kzg4844: remove unnecessary init call & fix typo

* Fix kzg4844 tests/benchmarks

* Make init lazy & revert changes to tests
2023-07-24 19:13:34 +03:00
ucwong
a196f3e8a2
cmd/devp2p: atomic types used (#27755) 2023-07-24 13:23:38 +03:00
ucwong
7a1fba1a02
cmd/geth: atomic types used (#27756) 2023-07-24 13:22:54 +03:00
rjl493456442
88f3d61468
all: expose block number information to statedb (#27753)
* core/state: clean up

* all: add block number infomration to statedb

* core, trie: rename blockNumber to block
2023-07-24 13:22:09 +03:00
Marius van der Wijden
a46f4173cd
ethclient/gethclient: gofmt -s (#27762) 2023-07-24 13:21:26 +03:00
Matthieu Vachon
939c4ec7d8 Merge remote-tracking branch 's1na/extended-tracer' into feature/firehose-extended-tracer
# Conflicts:
#	core/blockchain.go
#	eth/tracers/printer.go
2023-07-20 14:35:52 -04:00
Matthieu Vachon
e93892267f Continued our work on new Firehose tracer 2023-07-19 09:34:40 -04:00
Pierre Grimaud
7f756dc118
cmd/evm/testdata: fix typos in docs (#27742) 2023-07-18 14:07:25 +02:00