325 Commits

Author SHA1 Message Date
Dmitry Vagner
1f39053d9a detailed accounting 2022-10-18 11:23:43 -04:00
Dmitry Vagner
6a6fbec9f5 remove fp6 test 2022-10-18 01:19:24 -04:00
Dmitry Vagner
b9a1b4413d move fp6mul and add more comments 2022-10-18 00:21:12 -04:00
Dmitry Vagner
cc9559d954 Merge branch 'main' of github.com:mir-protocol/plonky2 into Fp12 2022-10-18 00:08:03 -04:00
Dmitry Vagner
d475ab9368 fp6 passes randomized tests 2022-10-17 23:19:14 -04:00
Dmitry Vagner
b534b221a0 fix fp6 subtraction---fp12 tests running! 2022-10-17 15:58:56 -04:00
Dmitry Vagner
a0f7e6619d fix fp6, better test function 2022-10-17 14:57:32 -04:00
Dmitry Vagner
3cff0928c4 better test API 2022-10-17 11:02:24 -04:00
Daniel Lubarov
f125786d9b More directories for MPT logic 2022-10-16 22:55:09 -07:00
Daniel Lubarov
7f366cdace Treat storage tries as sub-tries of the state trie
I.e. have leaves in the state trie point to the root of a storage trie
2022-10-16 20:26:37 -07:00
Daniel Lubarov
a8e30b0ca0 Switch a few uses of current-context memory to kernel memory
E.g. make sure the RLP segment is only used with the kernel context. Using current-context memory would also work, we just need to be consistent.

For transaction parsing etc, the context should be 0 anyway, but explicitly referring to kernel memory feels more idiomatic to me.
2022-10-15 08:45:01 -07:00
Daniel Lubarov
ecce5be9e3 MPT format tweaks
Don't need value lengths in memory. Branches with null values recognized as value_ptr = null.
2022-10-14 18:09:43 -07:00
Dmitry Vagner
adc8c33b0d Fp12 2022-10-13 20:06:19 -04:00
Dmitry Vagner
fc2ea6281d Fp6 mul test passes 2022-10-13 18:09:27 -04:00
Dmitry Vagner
d3e2b982ee new op codes 2022-10-13 17:28:17 -04:00
Dmitry Vagner
e01c91bdf0 Merge branch 'main' of github.com:mir-protocol/plonky2 into Fp12 2022-10-13 17:08:44 -04:00
Dmitry Vagner
d1bad81985 stuff 2022-10-12 10:06:34 -04:00
Daniel Lubarov
299aabf860 Fix branch hashing bug 2022-10-11 15:56:23 -07:00
Daniel Lubarov
caf928b11e MPT logic for inserts into extension nodes 2022-10-10 18:33:45 -07:00
Daniel Lubarov
50002df8e4 MPT insert into leaf, overlapping keys case 2022-10-10 10:42:02 -07:00
Daniel Lubarov
cad0473e1d More MPT insert logic 2022-10-10 09:40:28 -07:00
Daniel Lubarov
33dba3a23d Insertion optimization for leaf case 2022-10-09 20:18:16 -07:00
Daniel Lubarov
4a055b3a76 MPT insert logic, part 2 2022-10-09 11:32:01 -07:00
Daniel Lubarov
6bb1ad94e8 MPT insert logic, part 1 2022-10-08 22:27:57 -07:00
Daniel Lubarov
8ee7265863 Tweak MPT value storage 2022-10-08 13:51:52 -07:00
Daniel Lubarov
817156cd47 Begin MPT insert 2022-10-08 13:23:00 -07:00
Dmitry Vagner
f83504b16e separate module + stack comments 2022-10-07 18:19:46 -07:00
Dmitry Vagner
7b1db48846 Fp6 mult purely on stack 2022-10-07 18:13:32 -07:00
Dmitry Vagner
00534286a6 Fp12 mult + Fp6 macros 2022-10-07 15:41:46 -07:00
Daniel Lubarov
e6b5e3656f Some more uses of %increment, %decrement 2022-10-07 12:03:37 -07:00
Dmitry Vagner
d02c9bdda5 Fp6 mult 2022-10-07 09:29:38 -07:00
Daniel Lubarov
f8c104033c Hash MPT extension nodes 2022-10-06 20:50:32 -07:00
Daniel Lubarov
ed2aac3af3 MPT fixes 2022-10-06 16:28:52 -07:00
Daniel Lubarov
0424fe680d mload_packing 2022-10-06 14:27:36 -07:00
Daniel Lubarov
f2cb42bbe8 MPT logic to hash branch nodes 2022-10-05 20:46:49 -07:00
Daniel Lubarov
0c9847abf3 Rework MPT hashing to support inlining <32 byte children 2022-10-05 15:23:06 -07:00
Dmitry Vagner
9ebbc033bc fix padlength issue 2022-10-05 09:45:38 -07:00
Daniel Lubarov
d8bf30150f
Merge pull request #756 from mir-protocol/rlp_fixes
RLP related fixes
2022-10-04 15:34:38 -07:00
Daniel Lubarov
0ccb340e40 RLP related fixes 2022-10-04 15:18:31 -07:00
Dima V
dd6c5a0d1a
Merge pull request #640 from mir-protocol/ripeMD
RipeMD
2022-10-03 15:49:04 -07:00
Dmitry Vagner
53014b732f almost done 2022-10-03 15:30:17 -07:00
Nicholas Ward
d48f63142f
Merge pull request #754 from mir-protocol/sha2_inline_consts
Inline some SHA2 constants
2022-10-03 15:20:34 -07:00
Dmitry Vagner
1475cddb3d rearrange 2022-10-03 15:01:59 -07:00
Daniel Lubarov
c03773bab1 Inline some SHA2 constants
I think `%mload_kernel_code_u32` is good when we need to do random access, but since the indices are constant here, let's just hardcode them like this.

This reduces the assembled size of `compression.asm` from 1827 to 1454 bytes. I think there's still a lot more we could do to shrink it, though it's not that important.
2022-10-03 14:59:33 -07:00
Dmitry Vagner
54885fefa0 fix merge problem 2022-10-03 14:57:04 -07:00
Daniel Lubarov
66c28e953d Unroll num_bytes
Since it's in some code paths where speed is critical.
2022-10-03 14:42:11 -07:00
Dmitry Vagner
6e5fe43c7e delete duplicates 2022-10-03 14:31:56 -07:00
Dmitry Vagner
d42250d677 merge 2022-10-03 14:25:33 -07:00
Nicholas Ward
99fb730aea rearranging and cleanup 2022-10-03 14:07:21 -07:00
Dmitry Vagner
681b6e31e7 minor 2022-10-03 14:01:47 -07:00