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
BGluth
881dceb154
Merge pull request #679 from mir-protocol/build_artifact_caching
...
Added caching for GitHub Workflows
2022-08-23 14:55:33 -06:00
Daniel Lubarov
9da698f08d
Merge pull request #686 from mir-protocol/revert-682-ctl_prev
...
Revert "Support accessing local row in CTLs"
2022-08-23 12:23:18 -07:00
Daniel Lubarov
782d7d0e18
Revert "Support accessing local row in CTLs"
2022-08-23 12:22:54 -07:00
Daniel Lubarov
c3c213350f
Merge pull request #685 from mir-protocol/deterministic_iteration_order
...
Enumerate `constants_to_targets` in a deterministic order
2022-08-23 11:59:27 -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
1b9c4778d8
Enumerate constants_to_targets in a deterministic order
...
Fixes #684 .
2022-08-23 11:25:00 -07:00
Daniel Lubarov
00081890f3
feedback
2022-08-23 10:23:28 -07:00
Daniel Lubarov
03657643c8
Merge pull request #680 from qope/ECDSAPublicKeyTarget_ECDSASecretKeyTarget_public_fields
...
Change visibility of `ECDSASecretKeyTarget` and `ECDSAPublicKeyTarget`'s fields
2022-08-22 23:54:23 -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
BGluth
47753e08d5
Testing forcing caching of local packages
2022-08-22 15:15:48 -06:00
Daniel Lubarov
776b93e1ac
Merge pull request #681 from mir-protocol/poly_values_check
...
Check each `PolynomialValues` len
2022-08-22 11:32:53 -07:00
Daniel Lubarov
e87392bdba
comment
2022-08-22 11:32:36 -07:00
Daniel Lubarov
464b23297c
Check each PolynomialValues len
...
I.e. that it is the length of some power-of-two subgroup.
2022-08-22 11:16:24 -07:00
qope
2191296639
Change visibility of ECDSASecretKeyTarget and ECDSAPublicKeyTarget's fields
2022-08-22 19:46:44 +09:00
Daniel Lubarov
8a8b3f36aa
Merge pull request #678 from proxima-one/fix-starky-avx
...
Fix starky avx
2022-08-21 12:06:39 -07:00
BGluth
3c3997b726
Added caching for GitHub Workflows
2022-08-20 14:26:03 -06:00
Daniel Lubarov
3a6bbd825c
Merge pull request #677 from mir-protocol/u160_comments
...
Tweak comments
2022-08-19 18:28:49 -07:00
Daniel Lubarov
a0de1869c2
Merge pull request #676 from mir-protocol/from_biguint_change
...
Change `from_biguint`'s behavior with extension fields
2022-08-19 18:28:37 -07:00
Sladuca
ca35502660
fmt
2022-08-19 17:54:48 -04:00
Sladuca
3eadc27be5
add fix to evm
2022-08-19 17:53:12 -04:00
Sladuca
ff961a34a3
fix lost evals when P::WIDTH > 0
2022-08-19 17:39:55 -04:00
Daniel Lubarov
831a671872
Tweak comments
2022-08-19 10:35:02 -07:00
Daniel Lubarov
2fd5fbbe01
Change from_biguint's behavior with extension fields
...
These appear to be unused for extension fields, so we're free to change the mapping without breaking anything.
As the TODO says, the mapping that's currently implemented doesn't seem natural or useful. It seems more natural to treat the `BigUint` as a base field element, potentially in a non-canonical form.
2022-08-19 09:21:10 -07:00
Daniel Lubarov
cbfc13c33f
Minor paper update
2022-08-18 08:50:49 -07:00
Jacqueline Nabaglo
5922c58730
Change logic limb size to 32 bits ( #674 )
...
* Change logic limb size to 32 bits
* Remove unnecessary columns (thx Daniel!)
2022-08-17 21:19:27 -07:00
Daniel Lubarov
e3d131b99d
Update paper
2022-08-17 16:29:30 -07:00
Daniel Lubarov
24cc29ff71
Merge pull request #673 from mir-protocol/start_at_route_txn
...
Start with PC=route_txn instead of 0
2022-08-17 12:57:38 -07:00
Daniel Lubarov
bfe86d70f5
Start with PC=route_txn instead of 0
2022-08-17 12:21:29 -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
6a7e8d0fb0
Trie related segments and metadata
...
Summary of the design:
- Tries are stored as immutable, copy-on-write trees
- All trie data is stored in the `TrieData` segment. Since it's immutable, data is never modified/deleted, new versions are just appended at the end.
- In order to support reverts, each context stores a pointer to the initial state trie version, plus the initial version of each storage trie.
One variation which may be worth considering is storing the whole state trie as one big trie (with sub-tries for storage). Reverts would then be simpler - we'd replace a single pointer. I thought that approach might make hashing the trie a bit more complex, as the node associated with an account would be a special type of node, rather than just another leaf. Either approach seems reasonable though.
2022-08-13 13:24:58 -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