2412 Commits

Author SHA1 Message Date
Dmitry Vagner
64e9f6f0fb final error and formatting 2022-09-09 17:38:36 -07:00
Dmitry Vagner
9561dceb39 fix 2022-09-08 20:16:51 -07:00
Dmitry Vagner
3bfb994cbd fix errors 2022-09-08 19:35:37 -07:00
Dmitry Vagner
7ed78c22a3 minor errors 2022-09-08 15:47:18 -07:00
Dmitry Vagner
e6e6099cec finished hash loop 2022-08-25 16:18:45 -07:00
Dmitry Vagner
3e671155cb all but blocks 2022-08-25 15:38:18 -07:00
Dmitry Vagner
ca23001029 add constants 2022-08-23 16:40:31 -07:00
Dmitry Vagner
03b4d0a9da all but memory 2022-08-23 12:03:06 -07:00
Dmitry Vagner
dc2d4b893b Merge branch 'main' of github.com:mir-protocol/plonky2 into ripeMD 2022-08-16 15:22:40 -07:00
Jacqueline Nabaglo
b98dd47820
Permission levels, jumps, traps (#653)
* Permission levels, jumps, traps

* Tests passing

* PR comments + documentation

* Docs + minor bugfixes

* Tests

* Use already-defined `stop` and `exception` (but renamed to `sys_stop`, `fault_exception`)

* Daniel comments
2022-08-16 09:46:10 -07:00
Daniel Lubarov
a7618ef7df Merge branch 'licenses' 2022-08-16 09:01:16 -07:00
Daniel Lubarov
2bb2be37e0
Merge pull request #668 from mir-protocol/inverse_2exp_comment
Expand inverse_2exp comment
2022-08-15 17:17:48 -07:00
Daniel Lubarov
bf4e7ff3b7 Feedback 2022-08-15 17:17:05 -07:00
Daniel Lubarov
c56b7c8118 Expand inverse_2exp comment 2022-08-15 16:17:32 -07:00
Daniel Lubarov
232303b9ec
Merge pull request #666 from mir-protocol/rlp_encode
RLP encoding functions
2022-08-15 12:19:04 -07:00
Daniel Lubarov
97b271bf69
Merge pull request #663 from mir-protocol/use_mstore_txn_field
Make use of `mstore_txn_field` in type 0 parsing
2022-08-15 11:41:18 -07:00
Daniel Lubarov
e9f38ee535
Merge pull request #667 from mir-protocol/keccak_improvement
Improved Keccak implementation
2022-08-15 11:39:56 -07:00
Daniel Lubarov
faa75178a2 MIT + Apache2 licenses 2022-08-15 07:43:00 -07:00
Daniel Lubarov
61819af07d Improved Keccak implementation
Based on the approach @SyxtonPrime described.

In terms of columns, the changes are:
- Store inputs (`A`) as `u32` limbs, rather than individual bits.
- Remove `C_partial`. It was used to store an intermediate product in a 5-way xor, but we've since realized that we can do a 5-way xor directly.
- Add `C_prime`, an intermediate result used to help verify the relation between `A` and `A'`.
2022-08-14 21:33:35 -07:00
Daniel Lubarov
539152d767 RLP encoding functions 2022-08-14 11:41:53 -07:00
Daniel Lubarov
f52e005307 Add static 2022-08-13 12:17:19 -07:00
Daniel Lubarov
137076c964 Revert "Add static"
This reverts commit 90c4e1b9d1cad9309c0cbcaeff52c172167b2c1c.
2022-08-13 12:16:19 -07:00
Daniel Lubarov
90c4e1b9d1 Add static 2022-08-13 12:15:42 -07:00
Daniel Lubarov
6ea801d960 TODOs 2022-08-13 10:23:29 -07:00
Daniel Lubarov
4c0c93ff56
Merge pull request #652 from mir-protocol/transaction_processing
Core transaction processing logic
2022-08-12 17:37:08 -07:00
Daniel Lubarov
74b1fd25e6 TODOs 2022-08-12 17:37:00 -07:00
Daniel Lubarov
cc61c7211c Core transaction processing logic
With lots of TODOs to fill in afterward; this is just a start.
2022-08-12 17:20:18 -07:00
Daniel Lubarov
1763b6bc37
Merge pull request #662 from mir-protocol/stack_pruning_opt_perms
For permutations, find the optimal sequence of swaps
2022-08-12 17:19:47 -07:00
Daniel Lubarov
cf0de26ddf
Merge pull request #664 from mir-protocol/fix_shift_propagation
Fix shift order in constant propagation
2022-08-11 12:57:22 -04:00
Daniel Lubarov
288ff63945 Fix shift ordering 2022-08-10 21:47:37 -07:00
Daniel Lubarov
707e564934 Make use of mstore_txn_field in type 0 parsing
Some of the `%stack` operations are now trivial, but I kind of like keeping `%stack` since it serves as documentation as well, making comments about the stack unnecessary.
2022-08-09 18:44:41 -04:00
Dmitry Vagner
f9efc3aede draft implementation 2022-08-09 15:11:18 -07:00
Dmitry Vagner
26574f8b1e swap shift orders 2022-08-09 14:28:32 -07:00
Daniel Lubarov
763d63de08 For permutations, find the optimal sequence of swaps
Using a method Angus described. This is mainly his idea and code, I just ported it to Rust.
2022-08-09 16:33:02 -04:00
Daniel Lubarov
68de3ee0c6
Merge pull request #660 from mir-protocol/packing
Packing memory operations
2022-08-08 14:23:49 -04:00
Dmitry Vagner
48f17e484b space 2022-08-08 11:04:05 -04:00
Dmitry Vagner
4633845452 fix merge conflict 2022-08-08 10:57:39 -04:00
Dmitry Vagner
ac4d7820e3 merge 2022-08-08 10:56:23 -04:00
Dmitry Vagner
93d25859b2 merge 2022-08-08 10:51:01 -04:00
Daniel Lubarov
65a20bcd8a Merge remote-tracking branch 'proxima/log-portability' 2022-08-06 23:00:32 -04:00
Sebastien La Duca
86c1493d3d
Merge pull request #1 from mir-protocol/log-portability-stubs
Log portability stubs
2022-08-06 22:34:53 -04:00
Daniel Lubarov
385a990c50 Unsuppress warnings 2022-08-06 22:27:17 -04:00
Daniel Lubarov
1e5383c63d Stub push/pop 2022-08-06 22:18:53 -04:00
Daniel Lubarov
0263116e6c
Merge pull request #661 from proxima-one/no-rand-2
feature-gate rand
2022-08-06 22:07:14 -04:00
Sladuca
e7216f2683 feature-gate rand 2022-08-06 11:35:41 -04:00
Sladuca
3d5a9174fd remove explicit feature include 2022-08-06 11:17:36 -04:00
Daniel Lubarov
94def938aa
Merge pull request #654 from proxima-one/make-gates-public
Make the rest of gates public
2022-08-05 22:30:31 -05:00
Nicholas Ward
ed3ac7b29d
Merge pull request #658 from mir-protocol/memory_stark_fix
Memory Stark fix
2022-08-05 15:33:00 -07:00
Daniel Lubarov
5f14bef57e
Merge pull request #655 from mir-protocol/more_metadata
More metadata fields
2022-08-05 14:08:51 -05:00
Daniel Lubarov
ccc4202de3 Packing memory operations 2022-08-05 13:44:08 -04:00