Daniel Lubarov
67593f162a
Labels for failed MPT read/insert
2023-04-17 17:27:55 -07:00
wborgeaud
c7e60073f0
Check if context is static for state-changing opcodes ( #973 )
...
* Check if context is static for state-changing opcodes
* PR feedback
2023-04-12 08:24:33 +02:00
Daniel Lubarov
e70e4fca06
Doubly RLP-encode storage values
2023-04-03 21:51:17 -07:00
Daniel Lubarov
911dfedd07
Rework CREATE, CREATE2 syscalls
...
The old code was outdated in various ways, e.g. it was trying to share code with contract-creation txns, so I would ignore the diff and just look at the new code.
Still a bunch of TODOs left here, like actually saving code that's returned.
2023-03-24 10:43:46 -07:00
wborgeaud
ce22d94518
Access lists ( #937 )
...
* Working linear search
* Working linear search for storage keys
* Macros
* Gas for wextaccount
* Add origin and to to the access list
* Handle precompiles
* Fixes
* Other opcodes
* Access list SLOAD
* Minor
* Add TODO for SSTORE
* Comments
* Clippy
* Minor
* PR feedback: cold_access
* PR feedback: simplify insert_accessed_addresses_no_return macro
* Fix sys_selfdestruct
* Store length in global metadata and store arrays in kernel memory
* Truncate address in all *CALL syscalls
2023-03-23 20:22:25 +01:00
Daniel Lubarov
afded1682b
Contract creation fixes
2023-03-20 23:43:13 -07:00
Daniel Lubarov
3c4bc1d824
Fix GAS and implement storage value parsing
2023-03-20 18:02:20 -07:00
Daniel Lubarov
bdf35374d5
Misc
2023-03-19 23:22:33 -07:00
Daniel Lubarov
7ed53142a0
Fix reads from not-found ext nodes
2023-03-19 14:13:42 -07:00
Daniel Lubarov
a05ed9fc3a
Fix clobbering of RLP data memory
2023-03-19 11:49:15 -07:00
Daniel Lubarov
8c692b72b0
Fix account cloning
2023-03-17 13:10:58 -07:00
Daniel Lubarov
84fbbbf410
Couple minor fixes
2023-03-10 17:02:15 -08:00
Daniel Lubarov
c558eedd65
Misc EVM fixes
2023-03-05 09:39:49 -08:00
Daniel Lubarov
29f0692efc
Fix a few issues found by EVM tests
2023-02-24 23:37:08 -08:00
Daniel Lubarov
f4ab65f973
Fixes to get test_simple_transfer working
2022-12-08 23:27:20 -08:00
wborgeaud
f3d4e57aa6
Use address macro instead of opcode
2022-10-31 10:48:57 +01:00
Daniel Lubarov
a2edff4670
Small storage fixes
2022-10-17 23:35:34 -07:00
Daniel Lubarov
9639ff22dc
MPT storage logic
2022-10-17 22:46:48 -07:00
Daniel Lubarov
f125786d9b
More directories for MPT logic
2022-10-16 22:55:09 -07:00
Daniel Lubarov
7f366cdace
Treat storage tries as sub-tries of the state trie
...
I.e. have leaves in the state trie point to the root of a storage trie
2022-10-16 20:26:37 -07:00
Daniel Lubarov
ecce5be9e3
MPT format tweaks
...
Don't need value lengths in memory. Branches with null values recognized as value_ptr = null.
2022-10-14 18:09:43 -07:00
Daniel Lubarov
299aabf860
Fix branch hashing bug
2022-10-11 15:56:23 -07:00
Daniel Lubarov
caf928b11e
MPT logic for inserts into extension nodes
2022-10-10 18:33:45 -07:00
Daniel Lubarov
50002df8e4
MPT insert into leaf, overlapping keys case
2022-10-10 10:42:02 -07:00
Daniel Lubarov
cad0473e1d
More MPT insert logic
2022-10-10 09:40:28 -07:00
Daniel Lubarov
33dba3a23d
Insertion optimization for leaf case
2022-10-09 20:18:16 -07:00
Daniel Lubarov
4a055b3a76
MPT insert logic, part 2
2022-10-09 11:32:01 -07:00
Daniel Lubarov
6bb1ad94e8
MPT insert logic, part 1
2022-10-08 22:27:57 -07:00
Daniel Lubarov
8ee7265863
Tweak MPT value storage
2022-10-08 13:51:52 -07:00
Daniel Lubarov
817156cd47
Begin MPT insert
2022-10-08 13:23:00 -07:00
Daniel Lubarov
e6b5e3656f
Some more uses of %increment, %decrement
2022-10-07 12:03:37 -07:00
Daniel Lubarov
f8c104033c
Hash MPT extension nodes
2022-10-06 20:50:32 -07:00
Daniel Lubarov
ed2aac3af3
MPT fixes
2022-10-06 16:28:52 -07:00
Daniel Lubarov
f2cb42bbe8
MPT logic to hash branch nodes
2022-10-05 20:46:49 -07:00
Daniel Lubarov
0c9847abf3
Rework MPT hashing to support inlining <32 byte children
2022-10-05 15:23:06 -07:00
Daniel Lubarov
0ccb340e40
RLP related fixes
2022-10-04 15:18:31 -07:00
Daniel Lubarov
9f9143d6f6
Finish some misc storage logic
2022-10-02 11:14:19 -07:00
Daniel Lubarov
9e483528d3
MPT hashing logic, part 3
2022-10-02 09:11:39 -07:00
Daniel Lubarov
f2f05952ab
MPT hashing logic, part 2
2022-10-01 20:02:42 -07:00
Daniel Lubarov
12247047ae
MPT hashing logic, part 1
2022-09-30 17:02:25 -07:00
Daniel Lubarov
5555085c4c
MPT read for extension nodes
2022-09-27 21:41:22 -07:00
Daniel Lubarov
0e48d58147
Finish MPT read logic
2022-09-26 19:13:17 -07:00
Daniel Lubarov
c7b03cfe9a
More MPT logic
2022-09-24 20:49:19 -07:00
Daniel Lubarov
37d92b55ac
Basic MPT logic
...
For now this contains most of the basic framework/structure. Logic for things like insertions will come later.
2022-09-22 11:25:37 -07:00