Commit Graph

28 Commits

Author SHA1 Message Date
Mamy Ratsimbazafy 43797485e5
Fix exp gas cost pass 40 new tests (#29) 2018-05-16 10:41:34 +02:00
Mamy Ratsimbazafy 2d34f1453c
Migrate from ttmath to stint (#24)
* Constants and accounts compile as standalone

* Mass replace ttmath by Stint

* Adapt utils_numeric proc

* Adapt memory.nim

* Deactivate "ValidationError" test that requires pow(2, 256) function

* Fix state_db toByteArrayBE

* Fix more getUint toInt conversion

* Remove absolute value ambiguous call

* Stub-ify proc and opcode that requires pow - https://github.com/status-im/nim-stint/issues/37
2018-05-07 14:41:54 +02:00
mratsim b7d949eec2 Use new memrange and nim rlp 2018-04-12 09:59:37 +03:00
Coffepots ea94447d48 Moved EthTime to constants, update more timestamps to EthTime 2018-04-06 17:01:41 +01:00
Coffepots fdcfe5ae2f Revert "Moved EthTime to constants, update more timestamps to EthTime"
This reverts commit a731f59bd3.
2018-04-06 16:24:39 +01:00
Coffepots a731f59bd3 Moved EthTime to constants, update more timestamps to EthTime 2018-04-06 16:22:32 +01:00
Coffepots b40b3e078c Adding fork info 2018-04-05 18:32:18 +01:00
Alexander Ivanov 8be1a51c64 Fix 80 arithmetic gas cost tests, improve exp gas cost 2018-02-28 17:06:05 +02:00
Alexander Ivanov f179695341 Fix arithmetic and save test progress in VMTests.md 2018-02-27 20:10:45 +02:00
Alexander Ivanov dc365b2e23 Fix tests 2018-02-26 14:00:15 +02:00
Alexander Ivanov 99921f38cb Pass more tests, use UInt256 more often
82 / 189 arithmetic
55 / 62 logic
77 / 78 stack

Most errors are the same sstore gascost bug, also next work on flow and memory
2018-02-20 19:27:43 +02:00
Alexander Ivanov 0d31382e3d Work on text fitures and decompiling bytecode 2018-02-12 18:59:50 +02:00
Alexander Ivanov df41fe270e Add the ttmath wrapper 2018-02-07 18:16:04 +02:00
Alexander Ivanov 211d46e39e Finish the first memory impl and tests, stack tests, fixes validation 2018-02-06 21:20:06 +02:00
Alexander Ivanov a233cef719 CodeStream impl and tests, fix byte and string fields 2018-01-31 14:57:05 +02:00
Alexander Ivanov b9eb74fa26 WIP call (different call variants depending on fork) 2018-01-30 20:12:05 +02:00
Alexander Ivanov dba3c4b971 Add logging ops 2018-01-30 16:35:12 +02:00
Alexander Ivanov 59bef848aa Memory and storage opcodes: TODO stateDB handler for the storage to work 2018-01-30 15:07:37 +02:00
Alexander Ivanov 0fa5c5fd94 Prepare the remaining opcodes, implement context opcodes 2018-01-29 21:38:24 +02:00
Alexander Ivanov 5ad14f59b2 Implement address/sha3 opcodes, start using nim-keccak-tiny 2018-01-29 19:40:22 +02:00
Alexander Ivanov fba1052b4c More flexible gas cost definitions, start registering more opcodes in the runner 2018-01-29 15:56:51 +02:00
Alexander Ivanov 72c8ad4877 Implement duplication and block, add more opcodes, improve math support 2018-01-23 00:23:07 +02:00
Alexander Ivanov 637b56fa4c Prototype an example fork subclass 2018-01-17 16:16:00 +02:00
Alexander Ivanov 84ccfc5966 Port parts of several other modules
Focus on getting most types defined with minimal implementation
and fields sufficient for simple tests
2018-01-17 14:57:50 +02:00
Alexander Ivanov e1c04e587f First version of tests 2018-01-17 13:24:09 +02:00
Alexander Ivanov 69475a98f5 Implement more math: non-rigogous translation for now, more precise operation correctness later 2018-01-16 20:42:38 +02:00
Alexander Ivanov 706f3982a7 Translate several more modules, start shaping computation module 2018-01-16 19:05:20 +02:00
Alexander Ivanov 8ce5fa1773 First part of port
Translate with py2nim
Work on improving the input, use more nim-ish stuff
2018-01-15 20:42:40 +02:00