Commit Graph

3839 Commits

Author SHA1 Message Date
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