jangko
3db535aa39
EIP2929 implementation
2021-01-11 14:56:42 +07:00
jangko
5a78b8a5a7
stubbing berlin opcodes
2020-11-25 16:43:34 +07:00
jangko
207065746c
reduce more warnings
2020-07-21 13:25:27 +07:00
andri lim
87bae2bb78
switch to new toFork
2020-04-12 18:02:59 +07:00
andri lim
266e0ddb1e
room for EIP-1283
2020-03-24 17:21:13 +07:00
andri lim
0686bb4b6e
remove legacy unused code
2020-02-12 17:53:26 +02:00
andri lim
0b99b76cd1
change 'BaseComputation' to 'Computation'
2020-01-20 18:36:58 +02:00
andri lim
79df931234
simplifies computation.getFork
2020-01-20 18:36:58 +02:00
kdeme
9964a55772
Replace getCurrentException
2019-12-05 13:02:21 +01:00
andri lim
c0c62b94b8
implement EIP-2200 stub
2019-11-12 15:51:48 +00:00
andri lim
b5e8a8d61b
implement 'chainId' opcode
2019-11-12 15:51:48 +00:00
andri lim
078375061b
implement EIP 1884 stub
2019-11-12 15:51:48 +00:00
andri lim
0bb6c73bdb
implement EIP 1344 stub
2019-11-12 15:51:48 +00:00
andri lim
b7a1431c33
fix modexp gasFee
2019-05-13 10:26:28 +03:00
andri lim
213fb3b971
constantinople's skeletal implementation
2019-05-13 10:26:28 +03:00
Ștefan Talpalaru
631f3ca29f
fix for Nim HEAD
2019-05-01 19:56:23 +02:00
andri lim
7b47cb6b24
various fixes, GST +6
2019-04-26 07:31:14 +07:00
andri lim
7940d443e9
implement EIP214: staticCall opcode
2019-04-26 07:31:10 +07:00
andri lim
52caf0c248
implement EIP211: returnDataCopy and returnDataSize opcode
2019-04-26 07:31:10 +07:00
andri lim
13cd54a382
implement byzantium opcode dispatch
2019-04-26 07:31:03 +07:00
Ștefan Talpalaru
29a226da1e
more gcsafe pragmas for Nim HEAD
2019-04-26 00:18:51 +02:00
andri lim
79630611c0
fixes #244
2019-04-15 11:34:41 +07:00
andri lim
7eafd75d17
separate tangerine whistle and spurious dragon opcode dispatcher
2019-04-08 08:06:40 +07:00
andri lim
d37d7fa6a5
remove computedGoto pragma
2019-04-04 17:23:28 +07:00
andri lim
fb97d8d0ce
move exception handler to executeOpcodes
2019-04-04 15:26:12 +07:00
andri lim
039256de6a
more on continuation passsing
2019-04-04 15:21:24 +07:00
andri lim
4c0ba876ef
move exception handler deeper in the EVM
2019-04-04 10:50:25 +07:00
andri lim
07ac4620d9
remove 'var' modifier from 'computation: var BaseComputation'
2019-04-04 10:20:00 +07:00
andri lim
26b40f41e3
fix precompiles selection, GST +5
2019-04-02 13:11:00 +07:00
andri lim
d9a9459d95
reduce stack usage
2019-03-28 19:06:38 +07:00
andri lim
be79bc8740
remove opCodeExec, use executeOpcodes
2019-03-21 09:32:48 +07:00
andri lim
b73a1238e0
interpreter dispatch simplification
2019-03-21 09:27:14 +07:00
andri lim
4f6f564626
fix regression
2019-03-18 13:13:16 +07:00
andri lim
4383831772
separate Frontier and Homestead opcode dispatcher
2019-03-18 11:27:32 +07:00
andri lim
f1fac6be0f
remove redundant updateOpcodeExec
2019-03-13 21:15:13 +07:00
andri lim
9522c1145f
fix #245 again
2019-02-25 22:59:05 +07:00
andri lim
0d64e0a6c3
fix #245
2019-02-25 20:02:16 +07:00
andri lim
28245e92a2
fixes #235
2019-02-22 13:10:22 +02:00
andri lim
47a8089ff8
fixes #236
2019-02-21 13:09:36 +02:00
andri lim
71e7ee2dae
fixes ECRecover precompiles
2019-02-20 15:16:07 +02:00
andri lim
b159b5c945
remove lastOpCodeHasRetVal, make it simpler
2019-01-06 11:43:38 +02:00
Ștefan Talpalaru
f91e69f7c7
more VM tracing
...
The existing vmState tracing is plugged into chronicles, at the TRACE
level, to facilitate state test debugging.
Some useful chronicles defines are added to "tests/nim.cfg" to simplify
the compile-and-run command for individual tests.
2018-12-12 11:47:10 +01:00
Ștefan Talpalaru
115843487c
general-state testsuite changes and better fork selection
...
- skipped the tests in allowedFailInCurrentBuild()
- replaced doAssert() with check() in testFixtureIndexes() so we can see
both hash values on failure
- checking filename extension for JSON tests to avoid editor swap files
- replaced the duplicated block values in the main net's ChainConfig
with values from forkBlocks
- allowed overriding the current fork in computations, because the old
strategy of only looking at the block number doesn't work with JSON tests
where the block number is usually 1
- explicitly pass the fork to gasCosts() and use it for conditional cost
calculation
- fixed a logic error in the CREATE opcode
- fixed VM selection based on current fork in updateOpcodeExec()
- single point of control for supported forks in tests (just one fork, at the
moment)
- 44 new test failures (that were probably passing for the wrong reasons)
2018-12-07 18:18:29 +01:00
andri lim
572de41507
tracing opcode return value
2018-12-05 22:01:29 +07:00
andri lim
5509c66cce
implement transaction tracer
2018-12-05 22:01:28 +07:00
coffeepots
f99138dca6
Merge branch 'call-fixes-precompiles'
2018-11-12 15:57:54 +00:00
Yuriy Glukhov
bac452f589
Initial TransactionTracer impl
2018-10-28 14:38:05 +01:00
coffeepots
6e4616e443
Precompiles now executed if called from vm_state_transactions
2018-10-12 16:16:14 +01:00
coffeepots
b49637cdbf
Helper procs for updating opcode executor based on fork
2018-09-18 13:10:30 +01:00
coffeepots
af76d209a6
Add opcode executor proc to computation
2018-09-14 16:47:40 +01:00