aboutsummaryrefslogtreecommitdiffstats
path: root/eth/tracers
Commit message (Collapse)AuthorAgeFilesLines
* core/vm, crypto/blake2b: add BLAKE2b compression func at 0x09Piotr Dyraga2019-08-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The precompile at 0x09 wraps the BLAKE2b F compression function: https://tools.ietf.org/html/rfc7693#section-3.2 The precompile requires 6 inputs tightly encoded, taking exactly 213 bytes, as explained below. - `rounds` - the number of rounds - 32-bit unsigned big-endian word - `h` - the state vector - 8 unsigned 64-bit little-endian words - `m` - the message block vector - 16 unsigned 64-bit little-endian words - `t_0, t_1` - offset counters - 2 unsigned 64-bit little-endian words - `f` - the final block indicator flag - 8-bit word [4 bytes for rounds][64 bytes for h][128 bytes for m][8 bytes for t_0] [8 bytes for t_1][1 byte for f] The boolean `f` parameter is considered as `true` if set to `1`. The boolean `f` parameter is considered as `false` if set to `0`. All other values yield an invalid encoding of `f` error. The precompile should compute the F function as specified in the RFC (https://tools.ietf.org/html/rfc7693#section-3.2) and return the updated state vector `h` with unchanged encoding (little-endian). See EIP-152 for details.
* cmd, crypto, eth, internals: fix Typos (#19868)Kitten King2019-07-221-1/+1
|
* core/vm: 64 bit memory and gas calculations (#19210)Martin Holst Swende2019-03-122-2/+2
| | | | | | | | | | | | | | | | | | | | | | * core/vm: remove function call for stack validation from evm runloop * core/vm: separate gas calc into static + dynamic * core/vm: optimize push1 * core/vm: reuse pooled bigints for ADDRESS, ORIGIN and CALLER * core/vm: use generic error message for jump/jumpi, to avoid string interpolation * testdata: fix tests for new error message * core/vm: use 64-bit memory calculations * core/vm: fix error in memory calculation * core/vm: address review concerns * core/vm: avoid unnecessary use of big.Int:BitLen()
* all: clean up and proerly abstract database accessPéter Szilágyi2019-03-061-3/+5
|
* eth/tracers: enforce camel case variable names (#19057)Matthew Halpern2019-02-141-2/+2
|
* eth/tracer: extend create2 (#18318)gary rong2019-01-066-10/+122
| | | | | | | | | | * eth/tracer: extend create2 * eth/tracers: fix create2-flaw in prestate_tracer * eth/tracers: fix test * eth/tracers: update assets
* eth/tracers: fixed incorrect storage from prestate_tracer (#18253)Max Sistemich2018-12-102-17/+14
| | | | | | * eth: fixed incorrect storage from prestate_tracer * eth/tracers: updated assets.go
* core/vm, eth/tracers: use pointer receiver for GetRefund (#18018)Corey Lin2018-11-081-1/+1
|
* core/vm: adds refund as part of the json standard trace (#17910)Martin Holst Swende2018-10-232-7/+20
| | | | | | | This adds the global accumulated refund counter to the standard json output as a numeric json value. Previously this was not very interesting since it was not used much, but with the new sstore gas changes the value is a lot more interesting from a consensus investigation perspective.
* all: simplify s[:] to s where s is a slice (#17673)Emil2018-09-151-4/+4
|
* core/vm: Hide read only flag from Interpreter interface (#17461)Paweł Bylica2018-09-081-1/+1
| | | | | Makes Interface interface a bit more stateless and abstract. Obviously this change is dictated by EVMC design. The EVMC tries to keep the responsibility for EVM features totally inside the VMs, if feasible. This makes VM "stateless" because VM does not need to pass any information between executions, all information is included in parameters of the execute function.
* all: simplify switches (#17267)Oleg Kovalov2018-07-301-6/+1
| | | | | | * all: simplify switches * silly mistake
* eth/tracers: fix noop tracer (#17220)emile2018-07-232-3/+3
|
* tracers: fix err in 4byte, add some opcode analysis toolsMartin Holst Swende2018-06-205-3/+214
|
* eth/tracers: fix minor off-by-one error (#16879)Martin Holst Swende2018-06-052-15/+56
| | | | | | * tracing: fix minor off-by-one error * tracers: go generate
* all: get rid of error when creating memory database (#16716)gary rong2018-05-091-2/+1
| | | | | | | | * all: get rid of error when create mdb * core: clean up variables definition * all: inline mdb definition
* all: update license information (#16089)Felix Lange2018-02-142-2/+2
|
* all: update generated code (#15808)Felix Lange2018-01-081-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * core/types, core/vm, eth, tests: regenerate gencodec files * Makefile: update devtools target Install protoc-gen-go and print reminders about npm, solc and protoc. Also switch to github.com/kevinburke/go-bindata because it's more maintained. * contracts/ens: update contracts and regenerate with solidity v0.4.19 The newer upstream version of the FIFSRegistrar contract doesn't set the resolver anymore. The resolver is now deployed separately. * contracts/release: regenerate with solidity v0.4.19 * contracts/chequebook: fix fallback and regenerate with solidity v0.4.19 The contract didn't have a fallback function, payments would be rejected when compiled with newer solidity. References to 'mortal' and 'owned' use the local file system so we can compile without network access. * p2p/discv5: regenerate with recent stringer * cmd/faucet: regenerate * dashboard: regenerate * eth/tracers: regenerate * internal/jsre/deps: regenerate * dashboard: avoid sed -i because it's not portable * accounts/usbwallet/internal/trezor: fix go generate warnings
* all: switch gas limits from big.Int to uint64Péter Szilágyi2018-01-031-2/+2
|
* cmd, core, eth/tracers: support fancier js tracing (#15516)Péter Szilágyi2017-12-2121-0/+2951
* 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