2473 Commits

Author SHA1 Message Date
Nicholas Ward
b93f92e67e comment fix 2022-09-02 15:40:51 -07:00
Nicholas Ward
0ac0975d95 RandomAccessGate documentation 2022-09-02 15:40:51 -07:00
Nicholas Ward
df15031145 clippy: remove unused 'peekable' 2022-09-02 15:40:24 -07:00
Nicholas Ward
f59431da31 clippy fix: 'needless borrow' 2022-09-02 11:59:55 -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
97ead0793f
Merge pull request #703 from mir-protocol/keccak_util
Fill in `keccakf_u32s`
2022-08-30 12:56:56 -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
Nicholas Ward
08758a3b9d newline 2022-08-26 15:47:26 -07:00
Nicholas Ward
6087df5b4f
Merge pull request #698 from proxima-one/cleaner-witness-extension
cleaner interface for witness extension methods in `u32` and `ecdsa`
2022-08-26 15:47:00 -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
Sladuca
356c7cd925 fmt 2022-08-26 16:10:44 -04:00
Sladuca
8aa3ed0997 cleaner witness extension 2022-08-26 16:10:34 -04:00
wborgeaud
70971aee2d
Merge pull request #697 from mir-protocol/const_num_tables
`NUM_TABLES` constant
2022-08-26 19:02:26 +02: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
Nicholas Ward
cf5e828cdf
Merge pull request #695 from mir-protocol/move_assertle_gate
Move AssertLessThanGate to waksman crate
2022-08-25 14:54:54 -07:00
Daniel Lubarov
30cc318cde Feedback 2022-08-25 14:45:56 -07:00
Nicholas Ward
a41794b5b5 fixes 2022-08-25 14:17:03 -07:00
Nicholas Ward
56591711a8 added gate oops 2022-08-25 14:14:34 -07:00
Nicholas Ward
06e3545b79 Move AssertLessThanGate to waksman crate 2022-08-25 14:12:47 -07:00
Daniel Lubarov
a96ddeee82
Merge pull request #694 from mir-protocol/remove_compressed
Remove compressed proofs in EVM crate
2022-08-25 12:24:30 -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
f0a23a7f07
Merge pull request #693 from mir-protocol/partial_trie
Have witness generation take a partial trie instead of Merkle proofs
2022-08-25 08:48:47 -07: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
aebcdd52cf
Merge pull request #691 from mir-protocol/remove_keccak_rust
Remove keccak_rust in favor of tiny-keccak
2022-08-24 20:09:32 -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
7144b1e08c
Merge pull request #690 from mir-protocol/include_degree_in_circuit_digest
Include degree in circuit digest
2022-08-24 10:39:43 -07:00
Daniel Lubarov
748496442b Include degree in circuit digest 2022-08-24 10:28:50 -07:00
Daniel Lubarov
522cac5e15 Keccak memory stark 2022-08-24 09:29:17 -07:00
Daniel Lubarov
54862cb71c
Merge pull request #687 from mir-protocol/simpler_memory
Simpler CPU <-> memory CTL
2022-08-24 07:05:10 -07:00
Daniel Lubarov
3a73b7333e
Merge pull request #689 from mir-protocol/ctl_challenge_fix
Fix for CTL challenges
2022-08-24 06:46:47 -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