Martin Holst Swende
f5f906dd0d
eth/tracers: improve tracing performance ( #23016 )
...
Improves the performance of debug.traceTransaction
2021-07-01 09:15:04 +02:00
Péter Szilágyi
29905d86ae
eth/tracers: expose contextual infos (block hash, tx hash, tx index)
2021-06-24 12:46:26 +03:00
Martin Holst Swende
94451c2788
all: implement EIP-1559 ( #22837 )
...
This is the initial implementation of EIP-1559 in packages core/types and core.
Mining, RPC, etc. will be added in subsequent commits.
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de >
Co-authored-by: lightclient@protonmail.com <lightclient@protonmail.com >
Co-authored-by: Felix Lange <fjl@twurst.com >
2021-05-17 15:13:22 +02:00
Sina Mahmoodi
9c6b5b904a
eth, eth/tracers: include intrinsic gas in calltracer, expose for all tracers ( #22038 )
...
* eth/tracers: share tx gas price with js tracer
* eth/tracers: use `go generate`
* eth/tracers: try with another version of go-bindata
* eth/tracers: export txGas
* eth, eth/tracers: pass intrinsic gas to js tracers
eth/tracers: include tx gas in tracers usedGas
eth/tracers: fix prestate tracer's sender balance
eth/tracers: rm unnecessary import
eth/tracers: pass intrinsicGas separately to tracer
eth/tracers: fix tests broken by lack of txdata
eth, eth/tracers: minor fix
* eth/tracers: regenerate assets + unexport test-struct + add testcase
* eth/tracers: simplify tests + make table-driven
Co-authored-by: Guillaume Ballet <gballet@gmail.com >
Co-authored-by: Martin Holst Swende <martin@swende.se >
2020-12-27 21:57:19 +01:00
Marius van der Wijden
2045a2bba3
core, all: split vm.Context into BlockContext and TxContext ( #21672 )
...
* all: core: split vm.Config into BlockConfig and TxConfig
* core: core/vm: reset EVM between tx in block instead of creating new
* core/vm: added docs
2020-11-13 13:42:19 +01:00
libotony
05280a7ae3
eth/tracers: revert reason in call_tracer + error for failed internal calls ( #21387 )
...
* tests: add testdata of call tracer
* eth/tracers: return revert reason in call_tracer
* eth/tracers: regenerate assets
* eth/tracers: add error message even if no exec occurrs, fixes #21438
Co-authored-by: Martin Holst Swende <martin@swende.se >
2020-08-27 11:33:45 +02:00
Péter Szilágyi
65cd28aa0e
tests: cleanup snapshot generator goroutine leak
2020-05-04 12:10:02 +03:00
gary rong
b9df7ecdc3
all: seperate consensus error and evm internal error ( #20830 )
...
* all: seperate consensus error and evm internal error
There are actually two types of error will be returned when
a tranaction/message call is executed: (a) consensus error
(b) evm internal error. The former should be converted to
a consensus issue, e.g. The sender doesn't enough asset to
purchase the gas it specifies. The latter is allowed since
evm itself is a blackbox and internal error is allowed to happen.
This PR emphasizes the difference by introducing a executionResult
structure. The evm error is embedded inside. So if any error
returned, it indicates consensus issue happens.
And also this PR improve the `EstimateGas` API to return the concrete
revert reason if the transaction always fails
* all: polish
* accounts/abi/bind/backends: add tests
* accounts/abi/bind/backends, internal: cleanup error message
* all: address comments
* core: fix lint
* accounts, core, eth, internal: address comments
* accounts, internal: resolve revert reason if possible
* accounts, internal: address comments
2020-04-22 11:25:36 +03:00
Péter Szilágyi
6e05ccd845
core/state/snapshot, tests: sync snap gen + snaps in consensus tests
2020-03-03 09:17:13 +02:00
Péter Szilágyi
054412e335
all: clean up and proerly abstract database access
2019-03-06 13:35:03 +02:00
Matthew Halpern
7d24a73192
eth/tracers: enforce camel case variable names ( #19057 )
2019-02-14 16:38:55 +02:00
gary rong
e8ff318205
eth/tracer: extend create2 ( #18318 )
...
* eth/tracer: extend create2
* eth/tracers: fix create2-flaw in prestate_tracer
* eth/tracers: fix test
* eth/tracers: update assets
2019-01-05 21:26:50 +01:00
gary rong
7beccb29be
all: get rid of error when creating memory database ( #16716 )
...
* all: get rid of error when create mdb
* core: clean up variables definition
* all: inline mdb definition
2018-05-09 15:24:25 +03:00
Péter Szilágyi
6f69cdd109
all: switch gas limits from big.Int to uint64
2018-01-03 14:45:35 +02:00
Péter Szilágyi
5258785c81
cmd, core, eth/tracers: support fancier js tracing ( #15516 )
...
* cmd, core, eth/tracers: support fancier js tracing
* eth, internal/web3ext: rework trace API, concurrency, chain tracing
* eth/tracers: add three more JavaScript tracers
* eth/tracers, vendor: swap ottovm to duktape for tracing
* core, eth, internal: finalize call tracer and needed extras
* eth, tests: prestate tracer, call test suite, rewinding
* vendor: fix windows builds for tracer js engine
* vendor: temporary duktape fix
* eth/tracers: fix up 4byte and evmdis tracer
* vendor: pull in latest duktape with my upstream fixes
* eth: fix some review comments
* eth: rename rewind to reexec to make it more obvious
* core/vm: terminate tracing using defers
2017-12-21 13:56:11 +02:00