508 Commits

Author SHA1 Message Date
Daniel Lubarov
9f9143d6f6 Finish some misc storage logic 2022-10-02 11:14:19 -07:00
Daniel Lubarov
9d22e376d0 Add TODO 2022-10-02 09:27:29 -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
6b8a18b3ef
Merge pull request #746 from mir-protocol/mpt_hashing
MPT hashing logic, part 1
2022-09-30 17:05:14 -07:00
Daniel Lubarov
12247047ae MPT hashing logic, part 1 2022-09-30 17:02:25 -07:00
Daniel Lubarov
c5f63f883e
Merge pull request #744 from mir-protocol/bootstrap_fix
Fix bootstrap channel indices
2022-09-30 13:04:25 -07:00
Daniel Lubarov
8b58725fa8 Fix bootstrap channel indices 2022-09-30 12:55:03 -07:00
Daniel Lubarov
1dbd96ba20 Empty txn list test (disabled for now) 2022-09-30 12:48:42 -07:00
Nicholas Ward
faaaa0e0e2
Merge pull request #742 from mir-protocol/msize
MSIZE
2022-09-30 09:11:43 -07:00
Nicholas Ward
f6ff07840f fixes 2022-09-30 09:05:18 -07:00
BGluth
09ba1b6fce
Merge pull request #740 from mir-protocol/h256_trie_roots
Trie roots now use `H256` instead of `U256`
2022-09-30 09:32:09 -06:00
Nicholas Ward
ea135341e8 MSIZE 2022-09-29 23:35:02 -07:00
Daniel Lubarov
c721155e23 Main function, txn processing loop 2022-09-29 23:15:33 -07:00
BGluth
7e6844963a Few small changes related to switching to H256 2022-09-29 17:24:23 -06:00
BGluth
8e08b218d2 Trie roots now use H256 instead of U256
- `H256` preserves any leading `0`s, which could be critical in some
  situations. Also just a slightly more appropriate type for hashes.
2022-09-29 15:56:09 -06:00
Jacqueline Nabaglo
e978425b26
Connect stack to memory (#735)
* Connect stack to memory

* Daniel PR comment
2022-09-28 15:18:56 -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
Nicholas Ward
125ad565db
Merge pull request #734 from mir-protocol/stack-manipulation-empty-lhs
stack manipulation: allow empty LHS
2022-09-23 12:05:10 -07:00
Nicholas Ward
26fcd9eed4 fmt 2022-09-23 11:49:30 -07:00
Nicholas Ward
2b298e39eb stack manipulation: allow empty LHS 2022-09-23 11:49:13 -07:00
Daniel Lubarov
b6d71a7008 Keccak benchmark
And reworking things a bit to include the timing data we want.
2022-09-23 10:54:17 -07:00
Daniel Lubarov
a816f4b666
Merge pull request #732 from mir-protocol/macro_overloading
Support macro overloading
2022-09-22 22:21:42 -07:00
Daniel Lubarov
dbb0503d3e Support macro overloading 2022-09-22 20:22:57 -07:00
Jacqueline Nabaglo
084700a7f4
Memory channel for program counter (#717) 2022-09-22 18:09:23 -07:00
Daniel Lubarov
c27e40e7bb
Merge pull request #731 from mir-protocol/mpt
Basic MPT logic
2022-09-22 12:06:16 -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
BGluth
8fb1e4e760 Added a mapping between code hashes and contract byte code
Added a mapping between an account's `codehash` field and the actual contract byte code in `GenerationInputs`.
2022-09-21 16:46:18 -06:00
Daniel Lubarov
218f689422 Fix prohibited macro names 2022-09-21 13:10:16 -07:00
Daniel Lubarov
f876a8ab02 Fix macro vars in %stack directive 2022-09-21 08:42:56 -07:00
Daniel Lubarov
d7d50e9d5a Minor 2022-09-19 23:04:53 -07:00
Daniel Lubarov
5d4d81c29f Shape check in starky 2022-09-19 21:41:24 -07:00
Daniel Lubarov
f8e0b6f6a3 fix 2022-09-19 21:30:14 -07:00
Daniel Lubarov
616a6b3919 Validate EVM proof shape 2022-09-19 20:54:45 -07:00
Daniel Lubarov
dbce356818 Validate the shape of each proof 2022-09-19 17:37:18 -07:00
Daniel Lubarov
4d873cdaf5 zkEVM spec 2022-09-19 13:38:02 -07:00
BGluth
d7d8803d0a Replaced PartialTrie definitions with eth-trie-utils crate
- There were enough dependencies that it made sense to move
  `PartialTrie` logic to its own crate.
2022-09-19 11:05:48 -06:00
Daniel Lubarov
3fc7996d79
Merge pull request #683 from mir-protocol/call_common
Fill in call_common routine
2022-09-17 12:00:49 -07:00
Jacqueline Nabaglo
9d1d179eb1
Verify that comparison output is zero or one (#715) 2022-09-17 10:47:55 -07:00
Nicholas Ward
a5f34d9a2e fix 2022-09-13 22:03:25 -07:00
Nicholas Ward
b25986ce57 parentheses change 2022-09-13 22:03:25 -07:00
wborgeaud
8647f144b7
Merge pull request #716 from mir-protocol/s/l1/l0
Change Lagrange polynomial notation
2022-09-13 12:57:20 +02:00
wborgeaud
a930c1a823 s/l1/l0 2022-09-12 08:09:17 +02:00
Nicholas Ward
e4ab93fe9a
Merge pull request #714 from mir-protocol/stack-manipulation-blocks
blocks in stack manipulation
2022-09-11 23:00:39 -07:00
Jacqueline Nabaglo
cae5f4870c
Stack pointer + underflow/overflow checks (#710)
* Stack pointer + underflow/overflow checks

* Daniel comments

* Extra docs
2022-09-10 13:20:30 -07:00
Nicholas Ward
0b9881c5e3 blocks in stack manipulation 2022-09-09 12:05:58 -07:00
Daniel Lubarov
09f062481a
Merge pull request #705 from mir-protocol/packed_len_div
Use `ceil_div_usize` for `PACKED_LEN`
2022-09-08 09:59:31 -07:00
Daniel Lubarov
fdb6cafe18 Fill in call_common routine 2022-09-07 16:42:21 -07:00