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
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
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
wborgeaud
e7edfdd6a3
Minor
2022-08-26 18:30:26 +02:00
wborgeaud
a1941308eb
Minor
2022-08-26 11:07:16 +02:00
wborgeaud
05c3c4d907
First pass
2022-08-26 10:12:45 +02:00
Daniel Lubarov
aae9e49e90
Merge pull request #696 from mir-protocol/public_memory
...
Public memory, part 1
2022-08-25 23:48:01 -07:00
Daniel Lubarov
a4300758b4
Fix test
2022-08-25 23:38:39 -07:00
Daniel Lubarov
d0be79e822
Feedback
2022-08-25 23:35:38 -07:00
Daniel Lubarov
66a3999679
Keccak generation tweak
2022-08-25 23:13:29 -07:00
Daniel Lubarov
b829b44dcf
Fix test
2022-08-25 22:11:25 -07:00
Daniel Lubarov
aa87f2c3ba
Public memory
2022-08-25 20:19:18 -07:00
Hamish Ivey-Law
50c9638b55
EVM arithmetic unit: unsigned comparisons ( #688 )
...
* Refactor u256 calculation; return cy/br from calculations.
* Implement less than and greater than operations.
* Add file documentation.
2022-08-26 09:13:47 +10:00
Daniel Lubarov
9671c1e535
Merge pull request #669 from mir-protocol/keccak_memory
...
Keccak memory stark
2022-08-25 15:55:48 -07:00
Daniel Lubarov
30cc318cde
Feedback
2022-08-25 14:45:56 -07:00
Daniel Lubarov
d9c210b26c
Remove compressed proofs in EVM crate
...
Not needed since EVM proofs are wrapped in recursive proofs.
2022-08-25 12:17:31 -07:00
Jacqueline Nabaglo
f1a5b7b2d1
Delete opcode column ( #672 )
2022-08-25 11:56:25 -05:00
Daniel Lubarov
6b3853592b
Feedback
2022-08-25 08:05:39 -07:00
Daniel Lubarov
ff228c9386
Have witness generation take a partial trie instead of Merkle proofs
2022-08-24 20:43:49 -07:00
Daniel Lubarov
095140fda5
Use KECCAK_WIDTH_BYTES
2022-08-24 20:10:58 -07:00
Daniel Lubarov
4112065692
Fix
2022-08-24 16:06:50 -07:00
Daniel Lubarov
fb34b09888
Remove keccak_rust in favor of tiny-keccak
...
`keccak_rust` doesn't seem to have much usage, and it treats `x` as the major axis of its 5x5 input. This is not exactly wrong, since Keccak itself doesn't have a notion of axis order. However, there is a convention for mapping bits of the cube to a flat list of bits, which is
> The mapping between the bits of `s` and those of `a` is `s[w(5y + x) + z] = a[x][y][z]`.
Obeying this convention would be awkward with `keccak_rust` - the words in memory would need to be transposed.
2022-08-24 15:48:02 -07:00
Daniel Lubarov
c140555f2b
Fix
2022-08-24 11:53:27 -07:00
Daniel Lubarov
74cb9074d6
Minor fixes
2022-08-24 11:51:30 -07:00
Daniel Lubarov
522cac5e15
Keccak memory stark
2022-08-24 09:29:17 -07:00
Daniel Lubarov
c38a98f9e4
Simpler CPU <-> memory CTL
2022-08-23 23:38:28 -07:00
Daniel Lubarov
8e220ac623
Fix for CTL challenges
...
See this line -
```rust
challenges: ctl_data.challenges.challenges[i % config.num_challenges],
```
This doesn't work if we have multiple lookers from the same table; then `zs_columns` will contain multiple contiguous entries for the same challenge.
We could fix the index calculation, but it seems a bit error-prone. Seems easier to store the specific challenge as part of `zs_columns`.
2022-08-23 23:30:52 -07:00
Daniel Lubarov
782d7d0e18
Revert "Support accessing local row in CTLs"
2022-08-23 12:22:54 -07:00
Daniel Lubarov
cc02371e92
Merge pull request #682 from mir-protocol/ctl_prev
...
Support accessing local row in CTLs
2022-08-23 11:26:59 -07:00
Daniel Lubarov
00081890f3
feedback
2022-08-23 10:23:28 -07:00
Daniel Lubarov
ce456fb8ea
Merge pull request #665 from mir-protocol/trie_metadata
...
Trie related segments and metadata
2022-08-22 17:30:28 -07:00
Daniel Lubarov
a37dec9881
Support accessing previous row in CTLs
2022-08-22 15:20:10 -07:00