Commit Graph

71 Commits

Author SHA1 Message Date
Jamie Lokier 242dfdd5ac
Bugfix: Off by 1 in EIP-170 code size checks in `stateless`
Fixes an off by 1 error where `EIP170_CODE_SIZE_LIMIT` was being treated as the
lowest invalid value by EVM code, but the highest valid value by witness code.

To remove confusion, this is renamed to `EIP170_MAX_CODE_SIZE` with value
0x6000, which matches the name (`MAX_CODE_SIZE`) and value used for this limit
in [EIP-170](https://eips.ethereum.org/EIPS/eip-170).

Signed-off-by: Jamie Lokier <jamie@shareable.org>
2021-10-19 10:30:53 +01:00
jangko 3d468a7a4c
fixes path pointing to eth_tests 2021-01-06 21:45:48 +07:00
jangko 69787ed96a
fixes test_block_witness 2021-01-06 18:47:44 +07:00
jangko 165f9fea2e
reduce warnings 2020-07-21 13:15:06 +07:00
jangko c8871bd00c
fix test_block_witness 2020-07-09 08:25:18 +07:00
jangko a2de3067a9
add test for short rlp in block witness 2020-07-08 23:17:48 +07:00
jangko 883f03b732
update block witness docs 2020-07-08 21:14:19 +07:00
jangko 0d0bc35137
block witness spec changes: explicit short rlp encoding 2020-07-08 21:05:20 +07:00
jangko 50816f2ebb
implement block witness data collection in accounts_cache 2020-06-03 20:50:13 +07:00
jangko 7d062e171b block witness: add test for unwanted multiple identical keys when constructing witness from trie 2020-06-02 12:27:13 +03:00
jangko 57e9bea4ec
add more test for invalid input 2020-05-24 11:41:20 +07:00
jangko e130cab959
remove unused artefact 2020-05-24 11:40:01 +07:00
jangko 7c0d24a648
add instruction comment for test_fuzz 2020-05-20 12:41:05 +07:00
jangko ed3434f38f
fix test_witness_json wrong code arrangement 2020-05-20 11:36:09 +07:00
jangko 0f9b31a958
add fuzz test tool 2020-05-19 11:34:40 +07:00
jangko 6c583c8e32
block witness: add more tests contain invalid data 2020-05-19 09:27:53 +07:00
jangko 612192cf86
block witness: switch uint encoding to uvarint LEB128 encoding 2020-05-16 13:18:05 +07:00
jangko 61c60abdf2
block witness new spec impl 2020-05-14 11:09:01 +07:00
jangko af28985f6e
fix error message in tests 2020-05-14 06:58:34 +07:00
andri lim 758ebabd87
working test_witness_json prototype 2020-05-08 12:16:24 +07:00
andri lim 3cfabeeb3d
optimize multi keys of branch node algorithm 2020-05-08 10:18:41 +07:00
andri lim 798de46ca7
fix json_from_tree 2020-05-07 22:12:34 +07:00
andri lim 36c93aacb1
update developers guide 2020-05-07 22:03:20 +07:00
andri lim bac4913a5a
tidying up branch node code 2020-05-07 22:03:00 +07:00
andri lim ba4360ba34
fix multikeys algorithm with multiple nibbles common prefix 2020-05-07 21:36:51 +07:00
andri lim 57355c98fd
add multi keys developers guide 2020-05-07 17:51:17 +07:00
andri lim 12b6d805cf
fix some invalid doAssert 2020-05-07 11:28:11 +07:00
andri lim 238b440040
json test generator prototype 2020-05-06 12:34:54 +07:00
andri lim ea92951fc6
add missing export marker 2020-05-06 11:47:33 +07:00
andri lim 78f06426db
add more comments for both witness builder and tree builder 2020-05-06 11:45:21 +07:00
andri lim e5c4c7d16f
fix typo 2020-05-06 10:36:00 +07:00
andri lim 9c999ffa9c
enable block witness test 2020-05-05 20:46:17 +07:00
andri lim 64af577d8d
tidying up witness builder 2020-05-05 20:30:28 +07:00
andri lim aa572696c5
fix account node with 'CodeUntouched' type 2020-05-05 20:07:38 +07:00
andri lim 37db9a55ee
deals with touched/not touched account code 2020-05-05 15:21:39 +07:00
andri lim 743759a979
wrong address ignored 2020-05-05 15:05:17 +07:00
andri lim e9191fefa1
witness builder major transformation, support multiproof 2020-05-05 13:50:31 +07:00
andri lim c3548d63a5
add account storage keys support to multikeys 2020-05-05 09:01:15 +07:00
andri lim 7080ca40da
multi keys prototype 2020-05-04 18:52:45 +07:00
andri lim 6a9555b2b9
add raises to public API 2020-05-03 08:47:14 +07:00
andri lim 1ef3f60b40
validate the branch of the constructed trie beside validate rootHash 2020-05-03 08:11:04 +07:00
andri lim 6ccb2d65cd
tidier readbytes exception 2020-04-29 16:59:38 +07:00
andri lim 41753a55e9
fix typo 2020-04-29 16:26:09 +07:00
andri lim 7c2ed75b09
treebuilder will raise exception on parsing error 2020-04-29 16:22:39 +07:00
andri lim fdb750f67e
implement witness header encoding decoding and implement buildForest 2020-04-29 15:29:25 +07:00
andri lim 90c2ede43b
deals with EIP170 error 2020-04-29 13:06:27 +07:00
andri lim c325ce1863
fix contract code retrieval from db 2020-04-29 13:06:27 +07:00
andri lim 4974ca49db
fix buildWitness API 2020-04-29 13:06:27 +07:00
andri lim 4e12ba825c
separate underdeveloped stack based witness builder source code from recursive code 2020-04-29 13:06:26 +07:00
andri lim d95ded217b
implement account storage encoding and decoding 2020-04-29 13:06:26 +07:00