Commit Graph

3942 Commits

Author SHA1 Message Date
Zahary Karadjov fd23b8ac0f Add Nix files for obtaining all C/C++ dependencies 2018-02-23 18:55:04 +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 aa1970013d Fix error functions 2018-02-16 11:32:25 +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
Alexander Ivanov 3a0596bac7 WIP tests based on fixtures 2018-02-13 19:18:08 +02:00
Alexander Ivanov 63d76e0f37 Improve headers build 2018-02-13 12:42:22 +02:00
Alexander Ivanov 0d31382e3d Work on text fitures and decompiling bytecode 2018-02-12 18:59:50 +02:00
Alexander Ivanov 925eb627a5 Travis badge 2018-02-07 18:50:28 +02:00
Alexander Ivanov 6c013b86aa Travis retest updated docker image 2018-02-07 18:47:14 +02:00
Alexander Ivanov df41fe270e Add the ttmath wrapper 2018-02-07 18:16:04 +02:00
Alexander Ivanov 35e43fa32e Pass correctly commands to docker command for travis 2018-02-07 13:46:07 +02:00
Alexander Ivanov e07fc0562d Separate test build from run 2018-02-07 13:15:54 +02:00
Alexander Ivanov 8a7a8f3e06 Travis: try to run sh 2018-02-07 13:07:38 +02:00
Alexander Ivanov 04546ef629 Compile actual test files 2018-02-07 11:58:17 +02:00
Alexander Ivanov 640e668dfe Default yes for nimble travis 2018-02-07 11:55:23 +02:00
Alexander Ivanov f918692496 Fix memory and gas tests 2018-02-07 11:50:15 +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 04b1228fbe Add gas meter tests and some helpers unittest 2018-01-31 15:28:25 +02:00
Alexander Ivanov a233cef719 CodeStream impl and tests, fix byte and string fields 2018-01-31 14:57:05 +02:00
Alexander Ivanov 62f1417439 WIP system instructions 2018-01-30 20:43:41 +02:00
Alexander Ivanov b9eb74fa26 WIP call (different call variants depending on fork) 2018-01-30 20:12:05 +02:00
Alexander Ivanov 69dccb1520 Invalid op 2018-01-30 16:44:52 +02:00
Alexander Ivanov dba3c4b971 Add logging ops 2018-01-30 16:35:12 +02:00
Alexander Ivanov 5a4b934f82 Add flow ops 2018-01-30 15:20:52 +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 0ec03afced Block and stack ops, elegant stack/dup/swap multiple opcode short def 2018-01-30 14:51:43 +02:00
Alexander Ivanov e6e3f09ebd Start using the new rlpFields macro 2018-01-30 12:51:13 +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 38a02250b5 Implement some utils and a basic runner
Implement some utils, still WIP
Several dsl-s for registering opcode handlers and gas costs and for running
simple opcode sequences
2018-01-24 15:31:24 +02:00
Alexander Ivanov 7b5f7e762b WIP opcode dsl, code stream changes 2018-01-23 20:36:23 +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 8a2aa81a44 Fix opcode type 2018-01-16 20:58:07 +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
Jarrad 44f6fa5945
Update README.md 2018-01-04 06:19:23 +00:00
Jarrad 4aa2a479dd
Initial commit 2018-01-04 06:08:24 +00:00