Péter Szilágyi
a91e682234
core/vm: check opcode stack before readonly enforcement
7 years ago
cdetrio
673007d7ae
core/vm: standard vm traces ( #15035 )
7 years ago
Martin Holst Swende
9be07de539
params: Updated finalized gascosts for ECMUL/MODEXP ( #15135 )
...
* params: Updated finalized gascosts for ECMUL/MODEXP
* core,tests: Updates pending new tests
* tests: Updated with new tests
* core: revert state transition bugfix
* tests: Add expected failures due to #15119
7 years ago
Péter Szilágyi
5bbd7fb390
consensus, core, params: rebrand Metro to Byzantium
7 years ago
Felix Lange
42a5b54bf5
core/vm: improve bitvec comments
7 years ago
Martin Holst Swende
d6681ed360
core/vm: Rename + updated doc on jumpdest analysis
7 years ago
Martin Holst Swende
e7408b5552
core/vm: Make MaxCodesize non-retroactive ( #15072 )
...
* core/vm: Make max_codesize only applicable post Spurious Dragon/158/155/161/170
* tests: Remove expected failure
7 years ago
Martin Holst Swende
23b51a68cb
core/vm: avoid state lookup during gas calc for call ( #15061 )
7 years ago
Martin Holst Swende
07635e43e2
core/vm: renamed struct member + go fmt
7 years ago
Martin Holst Swende
64a3a3d23c
core/vm: Fix testcase input for ecmul
7 years ago
Martin Holst Swende
bc2a5578c0
core/vm: more benchmarks
7 years ago
Péter Szilágyi
08f27428b4
core, tests: implement Metropolis EIP 684
7 years ago
Péter Szilágyi
b872961ec8
consensus, core, tests: implement Metropolis EIP 649
7 years ago
Felix Lange
54b1de67e2
core/vm: make jumpdest code nicer
7 years ago
Martin Holst Swende
286ec5df40
cmd/evm, core/vm, internal/ethapi: Show error when exiting ( #14985 )
...
* cmd/evm, core/vm, internal/ethapi: Add 'err' to tracer interface CaptureEnd
* cmd/evm: fix nullpointer when there is no error
7 years ago
rjl493456442
28aea46ac0
core: implement Metropolis EIP 658, receipt status byte
7 years ago
Ti Zhou
2fd5ba6bd4
core/vm: fix typo in method documentation ( #15019 )
...
Signed-off-by: Ti Zhou <tizhou1986@gmail.com>
7 years ago
Péter Szilágyi
f9fb70d2ee
core/vm: rework reversion to work on a higher level
7 years ago
Péter Szilágyi
1335a6cc8c
core/vm, crypto/bn256: fix bn256 use and pairing corner case
7 years ago
Jeffrey Wilcke
b70a73cd3e
core/vm: implement REVERT metropolis opcode
7 years ago
Péter Szilágyi
4e0fea4d30
core/vm: polish RETURNDATA, add missing returns to CALL*
7 years ago
Jeffrey Wilcke
9bd6068fef
core/vm: implement RETURNDATA metropolis opcodes
7 years ago
Péter Szilágyi
3df7142b3e
core/vm: minor polishes, fix STATICCALL for precompiles
...
* Fix STATICCALL so it is able to call precompiles too
* Fix write detection to use the correct value argument of CALL
* Fix write protection to ignore the value in CALLCODE
7 years ago
Jeffrey Wilcke
3d123bcde6
core/vm: implement metropolis static call opcode
7 years ago
Péter Szilágyi
f8d8b56b28
core/vm: optimize copy-less data retrievals
7 years ago
Martin Holst Swende
d8aaa3a215
core/vm: benchmarking of metro precompiles
7 years ago
Péter Szilágyi
6131dd55c5
core/vm: polish precompile contract code, add tests and benches
...
* Update modexp gas calculation to new version
* Fix modexp modulo 0 special case to return zero
7 years ago
Martin Holst Swende
967e097faa
core/vm: Address review concerns
7 years ago
Jeffrey Wilcke
7bbdf3e268
core: add Metropolis pre-compiles (EIP 197, 198 and 213)
7 years ago
Joel Burget
833eeb9f23
core/vm/runtime: remove unused state parameter to NewEnv ( #14953 )
...
* core: Remove unused `state` parameter to `NewEnv`.
`cfg.State` is used instead.
* core/vm/runtime: remove unused import
7 years ago
evgk
0cc9b8791e
core/vm: fix typo in comment ( #14894 )
7 years ago
cdetrio
ffebf00114
core/vm/runtime: fix evm command to use --gasprice flag value
7 years ago
Felix Lange
3e0dbe0eaa
core/vm: remove logging and add section labels to struct logs ( #14782 )
7 years ago
Martin Holst Swende
6dc32e897a
core/vm: add benchmarks for some ops and precompiles ( #14641 )
8 years ago
Martin Holst Swende
e4301564c2
core/vm : fix testcase for gas calculation
8 years ago
Martin Holst Swende
bae7565231
core/vm: fix overflow in gas calculation formula
8 years ago
Felix Lange
9e5f03b6c4
core/state: access trie through Database interface, track errors ( #14589 )
...
With this commit, core/state's access to the underlying key/value database is
mediated through an interface. Database errors are tracked in StateDB and
returned by CommitTo or the new Error method.
Motivation for this change: We can remove the light client's duplicated copy of
core/state. The light client now supports node iteration, so tracing and storage
enumeration can work with the light client (not implemented in this commit).
8 years ago
Martin Holst Swende
9a44e1035e
cmd/evm, core/vm: add --nomemory, --nostack to evm ( #14617 )
8 years ago
Martin Holst Swende
ac9865791a
core/vm, common/math: Add doc about Byte, fix format
8 years ago
Martin Holst Swende
80f7c6c299
cmd/evm: add --prestate, --sender, --json flags for fuzzing ( #14476 )
8 years ago
Martin Holst Swende
1496b3aff6
common/math, core/vm: Un-expose bigEndianByteAt, use correct terms for endianness
8 years ago
Martin Holst Swende
f4b5f67ee0
core/vm: improved jumpdest analysis
8 years ago
Martin Holst Swende
3285a0fda3
core/vm, common/math: Add fast getByte for bigints, improve opByte
8 years ago
Nick Johnson
d5a79934dc
core/vm: Use a bitmap instead of a map for jumpdest analysis
...
t push --force
8 years ago
Péter Szilágyi
c98bce709c
core: fix minor accidental typos and comment errors
8 years ago
Jeffrey Wilcke
846d091bd2
core/vm: allocate stack to 1024
...
Pre allocate the stack to 1024 optimising stack pushing, reducing calls
to runtime.makeslice and runtime.mallocgc
8 years ago
Jeffrey Wilcke
10582a97ca
core/vm: expose intpool to stack dup method
...
Improve the duplication method of the stack to reuse big ints by passing
in an existing integer pool.
8 years ago
Jeffrey Wilcke
e16a7ef60f
core/vm: capped int pool
8 years ago
Jeffrey Wilcke
a816e75662
core/vm: improved push instructions
...
Improved push instructions by removing unnecessary big int allocations
and by making it int instead of big.Int
8 years ago
Valentin Wüstholz
04b668b232
core/vm: improve error message for invalid opcodes
8 years ago