Mark Spanbroek
8dd99f1964
feat!: pass in task pool instead of instantiating it ourselves
2025-07-02 16:17:57 +02:00
Mark Spanbroek
b3d5adf106
chore: add CI
2025-07-02 15:21:50 +02:00
Mark Spanbroek
d087f450b5
fix: use move semantics to copy seq from other thread
...
Taskpool.spawn does not support seq return types, so we
move an isolated value accross thread boundaries instead
Co-Authored-By: Dmitriy Ryajov <dryajov@gmail.com>
2025-07-02 14:50:27 +02:00
Mark Spanbroek
bef7c36ae7
fix: fix non-working test
...
Co-Authored-By: Dmitriy Ryajov <dryajov@gmail.com>
2025-07-02 14:50:27 +02:00
Mark Spanbroek
7f66c7ce48
chore: update setInf for constantine 0.2.0
...
Co-Authored-By: Dmitriy Ryajov <dryajov@gmail.com>
2025-07-02 14:50:27 +02:00
Mark Spanbroek
0f2a84ec33
refactor: replace Fp etc shortcuts by full generic type
...
reason: compile error deep in constantine, because it will
try to determine the field, which it can't when we abbreviate it
Co-Authored-By: Dmitriy Ryajov <dryajov@gmail.com>
2025-07-02 14:50:27 +02:00
Mark Spanbroek
e6e865a62e
chore: disable non-compiling debug echo
...
reason: the ** operator no longer compiles
here with constantine 0.2.0
Co-Authored-By: Dmitriy Ryajov <dryajov@gmail.com>
2025-07-02 14:41:17 +02:00
Mark Spanbroek
afc8d6174c
chore: update types for constantine 0.2.0
...
Co-Authored-By: Dmitriy Ryajov <dryajov@gmail.com>
2025-07-02 14:41:12 +02:00
Mark Spanbroek
e2e1c6b88f
chore: update imports for constantine 0.2.0
...
Co-Authored-By: Dmitriy Ryajov <dryajov@gmail.com>
2025-07-02 14:41:04 +02:00
Mark Spanbroek
c1af75cf25
chore: update to constantine 0.2.0
...
Co-Authored-By: Dmitriy Ryajov <dryajov@gmail.com>
2025-07-02 14:40:30 +02:00
Balazs Komuves
5616a1c52f
fix the multithreading failures by switching to arc
2024-03-04 09:27:12 +01:00
Balazs Komuves
d790dc3162
do the three FFT/IFFT pairs in parallel
2024-02-29 20:35:16 +01:00
Balazs Komuves
cfd30a045e
optimized the NTT routines
2024-02-29 20:13:50 +01:00
Balazs Komuves
9d743247e9
preliminary multithreading support (WIP; only for MSM right now)
2024-02-29 18:59:35 +01:00
Balazs Komuves
1ef1b040d6
temporary workaround for the G2 MSM bug (this one seems to work correctly, but it is much slower)
2024-02-29 13:30:17 +01:00
Balazs Komuves
69594a90a8
change the fake trusted setup option from -s to -u (to be compatible with the Haskell one; -s is intended for --silent)
2024-02-29 13:29:41 +01:00
Balazs Komuves
5c554e741c
add --nomask option disabling the ZK masking (useful for debugging purposes)
2024-02-29 13:28:18 +01:00
Balazs Komuves
e44551048a
add more detailed timings (with --time --verbose)
2024-02-14 13:06:17 +01:00
Balazs Komuves
fc317298db
minor improvements
2024-01-25 13:08:45 +01:00
Balazs Komuves
0ba5af4754
use sparse matrices when doing fake trusted setup
2024-01-19 12:56:22 +01:00
Balazs Komuves
14ee5ab14f
switch to scalarMul_vartime
2024-01-18 13:04:46 +01:00
Balazs Komuves
1b20438c63
initial draft of a CLI executable
2024-01-18 13:04:26 +01:00
Balazs Komuves
c6e16c474d
workaround for the rare scalarMul bug (thanks Advaita Saha!)
2024-01-17 22:35:04 +01:00
Balazs Komuves
786d1bb15e
fix the very simple test circuit to be snarkjs-compatible (that is, the first witness variable is the special variable "1")
2024-01-16 14:19:13 +01:00
Balazs Komuves
6eedd0faa4
export some more stuff from export_sage.nim
2024-01-16 13:56:32 +01:00
Balazs Komuves
42e1728629
allow the user to set the masking coefficients and the toxic waste (useful for debugging purposes)
2024-01-16 12:37:27 +01:00
Balazs Komuves
fbe637e8d4
Merge pull request #3 from codex-storage/refactor
...
Refactor & nimblify
2023-11-23 14:57:07 +01:00
Balazs Komuves
b433cbf7ad
speed up fake setup generation
2023-11-23 13:25:26 +01:00
Balazs Komuves
148d54f614
export SageMath verification script (bn128 curve only)
2023-11-22 15:55:18 +01:00
Balazs Komuves
502e031e95
small comments / fix typos
2023-11-21 11:31:27 +01:00
Balazs Komuves
26f708f908
make it a nimble package
2023-11-17 09:49:35 +01:00
Balazs Komuves
4a814ee050
measure proof time
2023-11-14 12:40:13 +01:00
Balazs Komuves
2047e7e476
started some refactoring. However Nim import "mechanism" *does not help*...
2023-11-14 12:39:54 +01:00
Balazs Komuves
7379bc04ae
Merge pull request #2 from codex-storage/fix-msm
...
use constantine msm
2023-11-14 09:37:36 +01:00
Dmitriy Ryajov
36a46e277b
forbenius isn't explicitely used
2023-11-13 14:37:57 -06:00
Dmitriy Ryajov
1df86e23d8
use constantine msm
2023-11-13 14:34:42 -06:00
Balazs Komuves
5ce7926e92
add "fake" trusted setup for testing purposes; implement both the paper version and snarkjs version of the prover
2023-11-13 19:40:15 +01:00
Balazs Komuves
0544ef5b9e
fix r1cs parsing (wrong field element representation)
2023-11-13 19:30:16 +01:00
Balazs Komuves
106d918ecf
fix a bug (how did it work before?!)
2023-11-13 18:11:20 +01:00
Balazs Komuves
9fd8bba4f0
minor improvements
2023-11-11 17:14:23 +01:00
Balazs Komuves
b4f4f7c97f
add example proof script
2023-11-11 14:37:31 +01:00
Balazs Komuves
f094de8df3
proving and verifying _finally_ works
2023-11-11 13:35:13 +01:00
Balazs Komuves
e893d37b43
divide by vanishing polynomial
2023-11-10 11:15:38 +01:00
Balazs Komuves
30ebd2793e
polynomials and NTT
2023-11-10 10:54:21 +01:00
Balazs Komuves
ba04191b72
circom files parsing (r1cs, wtns and zkey files)
2023-11-09 16:38:06 +01:00
Balazs Komuves
e6eb074c0b
README and license
2023-11-09 15:21:21 +01:00
Balazs Komuves
622f804bcd
initial commit
2023-11-09 15:20:07 +01:00