Commit Graph

504 Commits

Author SHA1 Message Date
Gav Wood
1b1038fe06 Fix storage stuff and introduce per-item dirty-tracking. 2016-01-14 13:54:29 +01:00
Tomusdrw
81720d6617 Parametrizing evm::Factory 2016-01-14 13:36:45 +01:00
Marek Kotewicz
8511d08a19 Merge pull request #109 from gavofyork/gav
Check logs in state tests.
2016-01-14 12:57:29 +01:00
Gav Wood
5a9ac6a329 State diff output tweaks. 2016-01-14 12:39:14 +01:00
Tomusdrw
eebcd0f35b Fixing memory cost calculation 2016-01-14 12:34:32 +01:00
Gav Wood
507678aaa9 Check logs in state tests. 2016-01-14 12:27:35 +01:00
debris
3118baee9b executive gas calculation fixes 2016-01-14 12:10:26 +01:00
Tomusdrw
f1ef2792e8 Fromatting of Evm::exec 2016-01-14 11:00:29 +01:00
Tomusdrw
ebd7081d59 Return BadInstruction instead of panic 2016-01-14 02:45:16 +01:00
Tomusdrw
4d41c3352e Adding instruction name to BadInstruction 2016-01-14 02:36:48 +01:00
Gav Wood
76f617abac Merge pull request #107 from gavofyork/tx_gas
proper gas calculation in executive
2016-01-14 02:31:04 +01:00
Gav Wood
4b6d853593 Merge pull request #105 from gavofyork/executive_max_depth
Fixing MaxDepth param for executive
2016-01-14 02:30:30 +01:00
Tomusdrw
e9cc821969 More formatting 2016-01-14 02:26:20 +01:00
debris
bacc9a2494 proper gas calculation in executive 2016-01-14 02:20:46 +01:00
Tomusdrw
de802b7b6e Call should push 1 to stack after completed 2016-01-14 02:18:36 +01:00
Gav Wood
59e2df3e40 Fix Determination of state roots. 2016-01-14 02:09:43 +01:00
Tomusdrw
0dc1055af2 Merge branch 'executive_max_depth' into evm 2016-01-14 01:59:11 +01:00
Tomusdrw
1de64ec751 Fixing formatting 2016-01-14 01:56:37 +01:00
Tomusdrw
9900158c8e MaxDepth param 2016-01-14 01:40:55 +01:00
Tomusdrw
7e5de5f5c7 More descriptive interpreter errors 2016-01-14 01:31:45 +01:00
Gav Wood
035b29c481 Merge branch 'master' into gav 2016-01-14 01:30:28 +01:00
Gav Wood
37a3c8d259 Prettier diffing. 2016-01-14 01:29:05 +01:00
debris
53868efb4d transact substracts tx_gas 2016-01-14 01:18:44 +01:00
Tomusdrw
dedf340381 Optimize couple of access methods 2016-01-14 01:05:01 +01:00
Tomusdrw
f38c99b285 Removing unecessary casts 2016-01-14 00:46:24 +01:00
Tomusdrw
c357631bbb Fixing dup_position test 2016-01-14 00:43:54 +01:00
Tomusdrw
d06857737e Implementing CALLs 2016-01-14 00:39:59 +01:00
Gav Wood
40341e8852 Pretty-print and fix for state. 2016-01-14 00:27:36 +01:00
Tomusdrw
b3bf8b4034 Merge branch 'master' into evm
Conflicts:
	src/evm/schedule.rs
2016-01-13 23:59:20 +01:00
Tomusdrw
68723201a7 Formatting 2016-01-13 23:58:25 +01:00
Tomusdrw
2f8f0ac4cf Merge branch 'master' into evm
Conflicts:
	src/evm/schedule.rs
2016-01-13 23:53:04 +01:00
Gav Wood
f835990091 Tier step price. 2016-01-13 23:53:00 +01:00
Tomusdrw
23cae6607a Fixing all tests. Changing memory to U256. Fixing tier_step_gas 2016-01-13 23:51:10 +01:00
Gav Wood
12187b8af7 Merge remote-tracking branch 'origin/master' into gav 2016-01-13 23:14:36 +01:00
Gav Wood
08824e3ece Move macros to util. 2016-01-13 23:07:01 +01:00
Gav Wood
78b10fd5f2 More nice syntax. 2016-01-13 22:45:46 +01:00
debris
5a072d1b4b vm ext call function uses u256 instead of u64, ext works entirely on u256 2016-01-13 22:36:59 +01:00
Gav Wood
a3f066a35c Refactor Diff datastructures. 2016-01-13 22:35:21 +01:00
Tomusdrw
263936145d Memory implemented 2016-01-13 22:30:41 +01:00
debris
6f17b7b44b vm ext create function uses u256 instead of u64 2016-01-13 22:29:49 +01:00
debris
48e74e5874 vm ext ret function used u256 instead of u64 2016-01-13 22:16:44 +01:00
debris
360e667a64 updated executive tests 2016-01-13 22:06:05 +01:00
debris
922dae31d5 Merge branch 'master' of https://github.com/gavofyork/ethcore into executive_tests 2016-01-13 21:53:38 +01:00
Gav Wood
602d9d99b1 State conensus tests now print mismatching diff. 2016-01-13 18:40:18 +01:00
Gav Wood
311aa5c442 State diffing. 2016-01-13 18:37:09 +01:00
debris
cb16bdb350 cleanup 2016-01-13 17:45:06 +01:00
debris
1f4d5fb860 check callcreates 2016-01-13 17:26:04 +01:00
Tomusdrw
da5f65c0d3 Gas calculation 2016-01-13 17:11:00 +01:00
debris
e94a575f6c fixed code, added nonce and storage executive tests 2016-01-13 16:30:19 +01:00
debris
d7adf95189 fixed suicide refund address 2016-01-13 16:16:21 +01:00
Gav Wood
5ba76d767e Account diffing. 2016-01-13 15:54:17 +01:00
debris
87eb66183c executive output uses BytesRef 2016-01-13 15:26:52 +01:00
Tomusdrw
0a5666f2c0 Simple Gas calculation based on instruction gas price tier 2016-01-13 15:21:13 +01:00
debris
5f7a81a468 Merge branch 'master' of https://github.com/gavofyork/ethcore into executive_tests 2016-01-13 13:25:06 +01:00
debris
920d8c51db gas_left is correct in all tests 2016-01-13 13:16:53 +01:00
Tomusdrw
d7176faddc Merge branch 'master' into evm 2016-01-13 12:20:07 +01:00
Tomusdrw
6577d742a8 Rewriting tests to support JIT and Interpreter 2016-01-13 12:18:54 +01:00
Gav Wood
28341fef9f Introduce ordered mapping for PodAccount and related structures. 2016-01-13 12:14:11 +01:00
Tomusdrw
4a26b6a40f Yay, Add test passing 2016-01-13 12:02:49 +01:00
Tomusdrw
5c79b1b84b Adding some more methods 2016-01-13 01:53:33 +01:00
debris
68a2c843ef executive tests 2016-01-13 01:23:01 +01:00
Gav Wood
9d2ac7fc37 State testing framework. First test is failing. 2016-01-13 01:19:05 +01:00
Tomusdrw
0733214059 Some initial implementation of more complicated methods 2016-01-13 00:13:09 +01:00
debris
09662ace50 executive transact tests 2016-01-12 19:43:26 +01:00
debris
7d4365c875 Merge branch 'master' of https://github.com/gavofyork/ethcore into executive_tests 2016-01-12 19:11:05 +01:00
debris
e3fa730dc7 executive tests in progress 2016-01-12 18:31:47 +01:00
Gav Wood
349223f6f9 Transaction API complete. 2016-01-12 18:10:10 +01:00
Gav Wood
08074ef397 Use U512s for ether cost calculation. 2016-01-12 17:40:34 +01:00
Marek Kotewicz
2b184585e2 Merge pull request #93 from gavofyork/gav
Utils for consensus test decoding and better layout.
2016-01-12 16:35:10 +01:00
Gav Wood
f6d03cf92c Merge pull request #89 from gavofyork/evm_tests
executive fixes + tests
2016-01-12 16:34:36 +01:00
debris
a5e1db11ca match return => return match 2016-01-12 16:32:51 +01:00
Gav Wood
49a431d744 Utils for consensus test decoding and better layout. 2016-01-12 16:20:29 +01:00
Marek Kotewicz
3b8df91578 Merge pull request #92 from gavofyork/gav
All transaction tests pass. Nicer testing framework.
2016-01-12 16:08:18 +01:00
debris
36e250bcc9 executive returns addresses of contracts created during execution 2016-01-12 16:05:54 +01:00
Gav Wood
56ee6770b5 All transaction tests pass. Nicer testing framework. 2016-01-12 15:45:40 +01:00
debris
51610480b0 executive uses stack_limit from schedule 2016-01-12 15:12:03 +01:00
debris
1aa62691c6 executive checks schedule exceptional code deposit before returning OutOfGas 2016-01-12 14:56:19 +01:00
Gav Wood
283f62f048 Merge pull request #88 from gavofyork/verification
Block verification tests; BlockProvider blockchain trait for testing
2016-01-12 14:39:32 +01:00
debris
f7af71e272 fixed checking address existance in externalities call callback 2016-01-12 13:54:54 +01:00
debris
a2ae5d39fa Merge branch 'master' of https://github.com/gavofyork/ethcore into evm_tests 2016-01-12 13:46:31 +01:00
arkpar
7edfafd457 Some additional tests 2016-01-12 13:43:43 +01:00
debris
011a42fd6d added max_depth to executive, fixed bugs in externalities call, added "bomb" tests 2016-01-12 13:39:12 +01:00
arkpar
fdcf9e62ec Merge branch 'master' of github.com:gavofyork/ethcore into verification 2016-01-12 13:31:49 +01:00
arkpar
a9a5d71f2f Verification tests 2016-01-12 13:14:01 +01:00
Gav Wood
8e8825320c Merge branch 'master' into gav 2016-01-12 12:34:51 +01:00
Gav Wood
c6ec6e4aef State::exists, docs and tests. 2016-01-12 12:34:14 +01:00
Arkadiy Paronyan
915a6050cd Merge pull request #86 from gavofyork/gav
Add tests module, add two more transaction tests.
2016-01-12 12:26:36 +01:00
Gav Wood
25c069c62c Merge pull request #82 from gavofyork/evm_tests
bring back removed tests, removed build warnings
2016-01-12 12:24:50 +01:00
Gav Wood
7634d60a97 Add tests module, add two more transaction tests. 2016-01-12 12:22:18 +01:00
Gav Wood
df3db60ec0 Nicer transaction validation API. Nicer OutOfBounds API in general. 2016-01-12 11:44:16 +01:00
Gav Wood
8970ef572e Slightly cleaner test code. 2016-01-12 01:41:47 +01:00
Gav Wood
7bc21bbdd7 Merge remote-tracking branch 'origin/master' into gav 2016-01-12 01:32:12 +01:00
Gav Wood
5765fb1069 Transaction tests passing. 2016-01-12 01:30:30 +01:00
debris
5b68c294af bring back removed tests, removed build warnings 2016-01-11 23:40:52 +01:00
Arkadiy Paronyan
7f2949bd52 Merge pull request #81 from gavofyork/evm_tests
fixed getting block info in evmjit + tests
2016-01-11 23:06:12 +01:00
debris
2519cbae34 fixed getting block info in evmjit + tests 2016-01-11 23:01:21 +01:00
Arkadiy Paronyan
5036735e2c Merge pull request #80 from gavofyork/evm_tests
evm tests cleanup
2016-01-11 22:41:57 +01:00
debris
8762bc12e3 test cleanup 2016-01-11 22:32:01 +01:00
Gav Wood
735202fac0 Minor API reduction. 2016-01-11 22:00:25 +01:00
Gav Wood
b9e2d7dabc Transaction test and a fix. 2016-01-11 21:57:22 +01:00
Gav Wood
7239acc451 Transaction address decoding. 2016-01-11 20:47:19 +01:00
Gav Wood
845ac87f88 Transaction includes signature. 2016-01-11 20:36:29 +01:00
Gav Wood
728883f45e Remove unneeded panic. 2016-01-11 19:40:02 +01:00
debris
d809ee53d6 hidden private fields of evm/executive 2016-01-11 19:25:37 +01:00
debris
e6d381bedd renamed VmFactory -> Factory 2016-01-11 19:01:42 +01:00
Gav Wood
1d81b4f930 EVMJIT build fixes. 2016-01-11 17:49:49 +01:00
Gav Wood
0004ed8960 Integrate Executive into State. 2016-01-11 17:37:22 +01:00
Gav Wood
7650dead6d Bring in Executive. 2016-01-11 17:03:29 +01:00
Gav Wood
0cc57483f8 Move Executive down, remove unneeded Evm prefixes. 2016-01-11 17:01:42 +01:00
Gav Wood
b0cceddb7c Move evm::EvmParams -> ActionParams. 2016-01-11 16:33:08 +01:00
Gav Wood
85ac9af832 Move EvmSchedule -> evm::Schedule 2016-01-11 16:28:30 +01:00
debris
f19a6e54bf removed warnings 2016-01-11 16:05:21 +01:00
debris
3f725ce89d reverting the execution state when out of gas 2016-01-11 15:55:54 +01:00
debris
65bce7862a Merge branch 'master' into evm 2016-01-11 15:23:27 +01:00
arkpar
c6509d7752 Moved some checks from ethash to verification module 2016-01-11 15:22:11 +01:00
debris
12f01d9905 state clone 2016-01-11 14:48:27 +01:00
debris
f611b6c7b6 state clone 2016-01-11 14:47:50 +01:00
Arkadiy Paronyan
4353518be1 Merge pull request #72 from gavofyork/verification
Block Verification (no tests yet)
2016-01-11 14:43:25 +01:00
debris
22859a04b6 changes in executive return 2016-01-11 14:14:35 +01:00
debris
bbb25fb6ce propagate evmjit errors upstream 2016-01-11 14:08:03 +01:00
Gav Wood
eb03993c6d Transaction struct improvements. 2016-01-11 13:52:40 +01:00
arkpar
3185301c97 Updated docs 2016-01-11 13:51:58 +01:00
arkpar
0221d47544 Verification integrated into client/queue 2016-01-11 13:42:32 +01:00
Gav Wood
30f74fc692 log_entry type. 2016-01-11 13:29:15 +01:00
arkpar
4dca2ff1d9 Merge branch 'master' of github.com:gavofyork/ethcore into verification 2016-01-11 12:57:36 +01:00
Arkadiy Paronyan
42144247f5 Merge pull request #64 from gavofyork/ethash
Use getter in header in preparation for a Header trait; additional testing in enact_block().
2016-01-11 12:55:08 +01:00
arkpar
2b522e2c48 Merge branch 'network' into verification 2016-01-11 12:45:35 +01:00
arkpar
3a2663ce93 Client now takes Spec instead of Engine 2016-01-11 12:28:59 +01:00
arkpar
33d3a4d633 Engine and Spec are now thread safe 2016-01-11 11:51:31 +01:00
debris
dea9ec203b removed unused stuff 2016-01-11 03:29:13 +01:00
debris
d1aadf456f shorter constructor for externalities 2016-01-11 03:26:17 +01:00
debris
88409e7dbb refactor in progress... evmjit compiling 2016-01-11 03:13:41 +01:00
debris
6d3097ac9e updated output policy docs 2016-01-11 02:47:45 +01:00
debris
7f8f0c5823 minor fixes 2016-01-11 02:42:02 +01:00
debris
b273792ef0 big refactor of executive in progress 2016-01-11 02:17:29 +01:00
arkpar
5d0e186632 Merge branch 'master' of github.com:gavofyork/ethcore into network 2016-01-11 01:07:58 +01:00
Gav Wood
e7f840ce79 Use getter in header in preparation for a Header trait; additional testing in enact_block(). 2016-01-10 23:42:59 +01:00
arkpar
452294ab8d ImportResult becomes a result 2016-01-10 23:37:09 +01:00
Gav Wood
4512322d3e Block enactment with test. 2016-01-10 23:10:06 +01:00
Gav Wood
abb4975400 Set timestamp in enactment. 2016-01-10 22:57:31 +01:00
Gav Wood
74f88f9b9b Initial implementation of enacted.
number is now usize, timestamp u64.
2016-01-10 22:55:07 +01:00
Gav Wood
4f68662e53 Proper rewarding; needs consensus test doing though. 2016-01-10 21:55:03 +01:00
arkpar
e6572e34fa Documentation 2016-01-10 21:30:22 +01:00
arkpar
5f4cd7f197 Merge branch 'network' into verification 2016-01-10 19:47:32 +01:00
Gav Wood
fea418703b Better API allowing one fewer clone. 2016-01-10 17:11:46 +01:00
Gav Wood
2cc3ee66d7 Allow fields to be returned so they can be used simultaneously. 2016-01-10 17:09:02 +01:00
debris
b72da41ea7 proper calculatng of executive gas in progress 2016-01-10 16:21:01 +01:00
arkpar
daab45f599 Merge branch 'master' of github.com:gavofyork/ethcore into verification 2016-01-10 15:21:11 +01:00
arkpar
5f5f26de48 Do not insert new blocks out of order 2016-01-10 15:08:57 +01:00
arkpar
11dd92f1f5 Merge branch 'master' of github.com:gavofyork/ethcore into network 2016-01-10 14:13:42 +01:00
arkpar
51584f5202 Networking fixes 2016-01-10 14:11:23 +01:00
Gav Wood
76bb480afb Block sealing, tests updated. 2016-01-10 14:05:39 +01:00
debris
9f06c2f2e6 errors, fees, and refunds 2016-01-10 12:29:35 +01:00
Gav Wood
53fada4f4a OpenBlock::close() should be complete. No tests yet though. 2016-01-09 23:47:15 +01:00
arkpar
5ce27152b4 Merge branch 'master' of github.com:gavofyork/ethcore into network 2016-01-09 23:24:38 +01:00
debris
efa6c424c1 fixed jit tests 2016-01-09 23:24:01 +01:00
arkpar
85ddbba893 Enabled logger for client app 2016-01-09 23:21:57 +01:00
debris
55a023554a Merge branch 'master' of https://github.com/gavofyork/ethcore into evm 2016-01-09 23:02:01 +01:00
debris
3e90859d9d executive call 2016-01-09 22:54:16 +01:00
Gav Wood
9a79a9032d on_close_block fixed and tested. 2016-01-09 22:45:27 +01:00
Gav Wood
cf8ef01c6d State::kill_account added with tests & docs. 2016-01-09 22:28:31 +01:00
Gav Wood
249c615752 Minor refactoring, OpenBlock::close closer to working. 2016-01-09 22:13:13 +01:00
debris
f7e9816d33 substate in progress 2016-01-09 21:39:38 +01:00
arkpar
32bfa69106 More docs 2016-01-09 19:13:58 +01:00
arkpar
0eb69c7f1c Removed verification from this branch 2016-01-09 19:10:58 +01:00
arkpar
af21038bb9 More block verifications 2016-01-09 19:10:05 +01:00
Gav Wood
8b5b493f7d Sketch of how OpenBlock::close() might look. 2016-01-09 18:58:04 +01:00
arkpar
28a658015d Merge branch 'master' of github.com:gavofyork/ethcore into network 2016-01-09 18:50:45 +01:00
debris
9cc88e2cb1 Merge branch 'master' of https://github.com/gavofyork/ethcore into evm 2016-01-09 18:41:12 +01:00
arkpar
10fe6b937f Docs 2016-01-09 18:40:13 +01:00
Gav Wood
71670e6277 Fix test warnings. 2016-01-09 18:26:35 +01:00
debris
300a9506ed evmjit output data 2016-01-09 18:25:18 +01:00
Gav Wood
4622882fda Separate out Ethereum-network-specific resources.
Fix State to use secure trie variants.
2016-01-09 18:20:31 +01:00
debris
130b2fc46a separated executive and externalities 2016-01-09 17:55:47 +01:00
Gav Wood
a978cbad52 Remove genesis module, add more chain specs and separate out ethereum-specific stuff. 2016-01-09 17:15:55 +01:00
arkpar
8cd3aa4b43 Merge branch 'master' of github.com:gavofyork/ethcore into network 2016-01-09 14:41:04 +01:00
Gav Wood
2b022e11e1 State::new_contract. 2016-01-09 14:19:35 +01:00
debris
50af19a7c8 contract creating contract 2016-01-09 13:51:59 +01:00
Gav Wood
4fc6b0dc60 Introduce use common::*; for common stuff (modules that themselves require no other modules in this crate).
Fix build.
2016-01-09 12:30:41 +01:00
arkpar
86dfa1b425 Merge branch 'master' of github.com:gavofyork/ethcore into network 2016-01-09 10:26:31 +01:00
arkpar
f1cdc0a17d Started block verification 2016-01-09 10:16:35 +01:00
debris
5ae0f71922 executive create fixes 2016-01-09 02:12:17 +01:00
debris
bcd026aaf1 Merge branch 'master' of https://github.com/gavofyork/ethcore into evm 2016-01-09 01:41:10 +01:00
debris
68beb0099d executive tests in progress 2016-01-09 01:33:50 +01:00
debris
43c612fa89 moved runtime data to jit 2016-01-09 00:55:17 +01:00
debris
4932720d58 evm params 2016-01-09 00:51:09 +01:00
Gav Wood
76ba2df141 Compiling, fleshed-out Block. 2016-01-08 22:04:21 +01:00
Gav Wood
7bad30a1bf Compiling Bloc. 2016-01-08 21:33:41 +01:00
Gav Wood
4bbc0943a3 Initial sketch of Block struct. 2016-01-08 19:12:19 +01:00
arkpar
b272595183 Rlp error handling 2016-01-08 17:52:25 +01:00
Gav Wood
5b81a2d70a Frontier Spec added. 2016-01-08 16:47:17 +01:00
arkpar
9ea7f14542 Style 2016-01-08 16:26:00 +01:00
Gav Wood
98c5905257 Add frontier chain spec. 2016-01-08 16:24:14 +01:00
arkpar
290d738e3f Style 2016-01-08 16:00:32 +01:00
debris
bed4bfce1c executive in progress... 2016-01-08 12:50:06 +01:00
Gav Wood
1c71640777 Build fixes for Ethash. 2016-01-08 12:27:00 +01:00
Gav Wood
3cbaf64c51 Beginnings of Ethash engine. 2016-01-08 12:15:59 +01:00
Gav Wood
648207d8e8 Rename fax->copy. 2016-01-08 12:05:58 +01:00
Gav Wood
6837899eba Fixups for new bytes.rs API. 2016-01-08 11:53:07 +01:00
Gav Wood
e6439dde99 Minor API update. 2016-01-08 11:03:58 +01:00