105 Commits

Author SHA1 Message Date
Nicholas Ward
fa605d7b22 basic bignum 2023-03-07 17:47:09 -08:00
Dmitry Vagner
4e4cfb06b3 function API / remove redundancy 2023-02-16 15:01:22 -08:00
Dmitry Vagner
53ab0ada11 remove blake storage 2023-02-15 19:11:22 -08:00
Dmitry Vagner
bce867188c simplify ripe md test 2023-02-15 18:18:26 -08:00
wborgeaud
ca002aeafa
Optimize ecrecover ASM (#840)
* windowed mul

* Working

* Window of 4 bits

* Fix

* Comments

* Unroll loop

* Unroll loop

* remove global

* Minor

* Minor

* Implement `CALLVALUE, CALLDATALOAD, CALLDATASIZE, CALLDATACOPY` in interpreter

* Minor

* Doesn't work

* Minor

* Minor

* wnaf msm

* Working hardcoded values: 28657 opcodes

* Working wnaf

* Small wnaf optim

* Precompute works

* Working together

* Bump to 129 bits

* Working glv decomposition

* Working MSM with GLV

* Almost working

* Working

* ECC test folder

* Working with real sig data

* Fix tests + Clippy

* Minor

* Cleaning

* Comments

* Cleaning

* Smaller glv test file

* Print opcode count at the end of interpreter run

* More constants

* Add z3 proof that the GLV scalars are 129-bit or less

* Minor change to z3 proof

* Minor

* Hamish's suggestion

* Working

* Cleaning

* Clippy

* PR feedback

* Minor PR feedback
2023-01-31 19:23:54 +01:00
wborgeaud
83a290331e Fixes 2022-12-14 16:34:32 +01:00
wborgeaud
f91dfe7e1a Use the order of the BN base field in the interpreter 2022-12-14 16:22:57 +01:00
Nicholas Ward
f6af5240bd another clippy fix 2022-12-13 10:08:36 -08:00
Nicholas Ward
2166a407ed minor memory access refactor 2022-12-13 10:08:36 -08:00
Nicholas Ward
7663848bbf cleaned up hash tests 2022-12-13 10:08:36 -08:00
Nicholas Ward
7a5a899b45 clippy 2022-12-13 10:08:36 -08:00
Nicholas Ward
c0dbeb42d9 cleanup 2022-12-13 10:08:36 -08:00
Nicholas Ward
0d05a4bbbf FIX 2022-12-13 10:08:36 -08:00
Daniel Lubarov
7557f320d4 Fix to add_eth
It was creating a new account with the hash of an empty storage trie, when really it should be a pointer to an empty storage trie. We can use 0 as this pointer since `@SEGMENT_TRIE_DATA[0] = 0 = @MPT_NODE_EMPTY`.

Also a couple tweaks that helped me debug, like moving the memory value range checks from the interpreter into `MemoryState`, so they're done in actual witness generation as well as interpreter tests.
2022-12-09 18:58:48 -08:00
Daniel Lubarov
1303a83f7f Misc witness generation fixes 2022-12-03 21:09:57 -08:00
Daniel Lubarov
21719222de fmt 2022-12-02 19:19:04 -08:00
Daniel Lubarov
b96c22a4f4 Interpreter fixes 2022-12-02 19:18:37 -08:00
Daniel Lubarov
9bf47ef8ac Fixes 2022-12-01 12:46:14 -08:00
Daniel Lubarov
d3aa33975a generate_keccak_general, generate_byte 2022-12-01 12:06:29 -08:00
Daniel Lubarov
526dc9bb77 Flush out operation list 2022-11-30 21:00:48 -08:00
Daniel Lubarov
d23cecfcd8 Kernel code to do jumpdest analysis 2022-11-21 13:06:03 -08:00
wborgeaud
c31b0147f4
Implement CALLVALUE, CALLDATALOAD, CALLDATASIZE, CALLDATACOPY in interpreter (#819)
* Implement `CALLVALUE, CALLDATALOAD, CALLDATASIZE, CALLDATACOPY` in interpreter

* PR feedback
2022-11-19 18:58:55 +01:00
wborgeaud
ce21d134a5
Merge pull request #804 from mir-protocol/static_kernel_in_tests
Use static `KERNEL` in tests
2022-11-07 09:18:49 +01:00
wborgeaud
4bc2e05702 Print opcode count 2022-11-04 14:38:23 +01:00
wborgeaud
47e6093e37 Use static KERNEL in tests 2022-11-04 13:55:13 +01:00
wborgeaud
70b5dda399 Merge branch 'main' into account_code_opcodes 2022-11-02 10:43:35 +01:00
Dmitry Vagner
aebeb7ac99 fmt 2022-10-28 02:12:57 -07:00
Dmitry Vagner
ad067d1e52 comment about 107 2022-10-28 02:08:56 -07:00
Dmitry Vagner
fa05a33040 Merge branch 'main' of github.com:mir-protocol/plonky2 into Fp12 2022-10-28 02:03:47 -07:00
wborgeaud
dc8a62fbee Codecopy test 2022-10-27 11:06:24 +02:00
wborgeaud
b97ec3bda1 New clippy lint 2022-10-25 10:50:40 +02:00
wborgeaud
77d5c625cd Minor 2022-10-20 19:36:28 +02:00
wborgeaud
fab3fe77c0 Minor 2022-10-20 19:28:24 +02:00
wborgeaud
9982d79999 Add msize 2022-10-20 19:23:01 +02:00
wborgeaud
71ed3c43ac Fix fix interpreter 2022-10-20 14:32:28 +02:00
wborgeaud
61b6b16106 Fix interpreter 2022-10-20 14:06:48 +02:00
Dmitry Vagner
625544565d change to 107 2022-10-18 11:07:43 -04:00
Dmitry Vagner
9222dafe6e clippy 2022-10-18 10:37:40 -04:00
Daniel Lubarov
a2edff4670 Small storage fixes 2022-10-17 23:35:34 -07:00
Dmitry Vagner
c9bbd2dfa0 naming 2022-10-18 01:31:28 -04:00
Dmitry Vagner
3cff0928c4 better test API 2022-10-17 11:02:24 -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
Jacqueline Nabaglo
ec3391f9c4
Add Fp254 ops to the CPU table (#779)
* Add Fp254 ops to the CPU table

* Add forgotten file
2022-10-13 14:02:19 -07:00
Daniel Lubarov
581fcce0b0
Merge pull request #777 from mir-protocol/mpt_insert_7
Fix branch hashing bug
2022-10-11 16:10:44 -07:00
Daniel Lubarov
299aabf860 Fix branch hashing bug 2022-10-11 15:56:23 -07:00
Daniel Lubarov
f4c0337af7 Interpreter feature to configure debug offsets 2022-10-11 08:47:06 -07:00
Daniel Lubarov
6bb1ad94e8 MPT insert logic, part 1 2022-10-08 22:27:57 -07:00
Dmitry Vagner
7b1db48846 Fp6 mult purely on stack 2022-10-07 18:13:32 -07:00