Commit Graph

111 Commits

Author SHA1 Message Date
Mamy Ratsimbazafy 0b6fbbad67
1st gas refactoring - handle different gas costs in Ethereum forks (#37)
* Start by renaming the fork by chronological order

* initial commit - groundwork: support different gasCosts depending on VMs

* Running VMTests with new gas config - only push32AndSuicide changed

* Introduce newNimbusVM that (temporarily) abstract over Frontier and Tangerine VM creation

* Fix Gas - push32AndSuicide repassing and expXY_success passing - fixes #34

* case sensitive imports (thank you auto-completion) fix Travis on Linux

* Add pre and post EIP-150 tests

* Nimify gas identifiers that supports multiple forks
2018-05-24 12:01:59 +02:00
mratsim 9fc80cb6c9 Update VMTests with Stint, raise Exception for non-implemented Exp and byteOp instead of quitting 2018-05-11 18:16:35 +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
Mamy Ratsimbazafy 6654576c6a
Few steps forward vm_tests (#15)
* Enable vm_tests, remove usage of from keyword as a variable name

* Fix Genesis types and use the new EthTime

* Add a new VMKind enum (py-evm vmclass runtime type)

* renaming block_obj to block_types

* chain.BlockHeader and utils.header.Header are the same thing (BlockHeader in py-evm)

* For now blockNumbers are UInt256

* EoD merge: vm_test compiles and does not throw computation error

* running full transactions is too early
2018-04-14 12:40:41 +02:00
mratsim 5a3202f4d3 Update README badges and add dual-license header 2018-04-06 16:52:10 +02:00
Mamy Ratsimbazafy 284a026e51
Add opcode tests (#4) 2018-04-06 16:25:01 +02: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 9c056b85de Pass first fixtures tests
Todo

Pass most VM opcode tests that we can (of those that don't depend
too much on porting the whole py-evm)

Simplify a bit the current py-evm-inspired internal loop arch
2018-02-14 18:38:01 +02:00