489 Commits

Author SHA1 Message Date
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
Daniel Lubarov
19162db596 Tweak features 2022-09-07 15:10:40 -07:00
Sladuca
e72152eed8 fix default features in starky & evm 2022-09-06 14:56:48 -04:00
BGluth
c874fc5488
Merge pull request #704 from mir-protocol/partial_trie_derive
Added a few derives to `Trie` types
2022-09-06 07:14:30 -07:00
Daniel Lubarov
9b259cb917 Feedback 2022-09-05 10:12:23 -07:00
Daniel Lubarov
aaf7ace396 Remove JUMPDESTs 2022-09-04 22:31:56 -07:00
Daniel Lubarov
99999f1697 Use ceil_div_usize for PACKED_LEN 2022-09-04 22:28:45 -07:00
Daniel Lubarov
f2f291606b
Merge pull request #702 from mir-protocol/keccak_sponge_table_v2
Keccak sponge STARK
2022-09-04 22:21:21 -07:00
Daniel Lubarov
496581cfa1 fix 2022-09-04 17:07:06 -07:00
Daniel Lubarov
46cf46ccd8 Minor 2022-09-04 16:56:17 -07:00
Daniel Lubarov
c9cfcecc9f Logic CTL for xor 2022-09-04 16:53:04 -07:00
Daniel Lubarov
d392ec04e7 Feedback 2022-09-03 23:02:06 -07:00
BGluth
0a3455ce48 Added a few derives to Trie types
- A downstream project needed `Hash` on `Nibbles`, but I also thought it
  made sense to derive a few other core types as well.
2022-09-02 16:18:54 -07:00
Nicholas Ward
df15031145 clippy: remove unused 'peekable' 2022-09-02 15:40:24 -07:00
Daniel Lubarov
2c77247d43 Keccak sponge STARK
It contains a row for each absorb step of the sponge.
2022-09-01 09:41:19 -07:00
BGluth
ccc2a56b81 Added let_chains feature gates
- Nightly decided to move this behind a feature gate and caused builds
  to fail.
2022-09-01 09:40:39 -07:00
Jacqueline Nabaglo
4c52d37546
Save columns by verifying invalid opcodes in software (#701)
* Save columns by verifying invalid opcodes in software

* Autogenerate invalid opcode bitfield (Daniel comment)

* Remove unnecessary panic label
2022-08-30 13:06:03 -07:00
Daniel Lubarov
8505d64e37 Fill in keccakf_u32s 2022-08-30 12:28:08 -07:00
Jacqueline Nabaglo
013bf6471d
Transpose memory columns (make it an array of channel structs) (#700) 2022-08-26 22:05:16 -07:00
Jacqueline Nabaglo
f48de368a9
Make jumps, logic, and syscalls read from/write to memory columns (#699)
* Make jumps, logic, and syscalls read from/write to memory columns

* Change CTL convention (outputs precede inputs)

* Change convention so outputs follow inputs in memory channel order
2022-08-26 14:39:39 -07:00