Ramana Kumar
ab7dfe0c40
Make some tweaks, mainly memcpy structs
...
instead of hoping that struct assignment is sufficient
still haven't found the bug
2022-10-02 18:36:53 +01:00
Ramana Kumar
b3f24f4aa9
Add proof verification, but test currently fails
2022-10-02 14:01:33 +01:00
Ramana Kumar
0ed8ef7b79
Compute kzg proof in swigless python
2022-10-02 13:21:13 +01:00
Ramana Kumar
c6c4f7d5f6
Wrap g1_lincomb
2022-10-02 12:59:54 +01:00
Ramana Kumar
69a42a085a
Compute aggregated_poly in swigless python
2022-10-02 12:40:36 +01:00
Ramana Kumar
aab3df643b
Use pointers for scalars too
2022-10-02 12:09:01 +01:00
Ramana Kumar
2281cce711
Use array of pointers for vector_lincomb
...
This seems more likely to avoid copying field elements when interfacing
from high-level languages (we still have to store the pointers though).
If this is the right move, the same could be done for
blob_to_kzg_commitment, and maybe others that read sequences.
2022-10-02 11:29:23 +01:00
Ramana Kumar
b284636afd
Remove 4844 version from src (use min-src)
2022-10-02 11:12:38 +01:00
Ramana Kumar
fe4dfcc0eb
Implement swigless compute_powers
2022-10-02 09:47:43 +01:00
Ramana Kumar
7daaf55bd7
Implement more swigless interface
2022-10-02 09:28:45 +01:00
Ramana Kumar
aa60016dd2
Start on Python interface without SWIG
2022-10-02 00:52:12 +01:00
Ramana Kumar
4789a830e9
Forgot to update Python module name
2022-10-01 21:41:05 +01:00
Ramana Kumar
38acde184a
Suffix swig stuff and update gitignore
2022-10-01 21:39:15 +01:00
Dankrad Feist
e3499ff145
Add ckzg.cs to deps
2022-10-01 19:34:35 +01:00
Dankrad Feist
7c06987348
Rename library to conform to mono expectations
2022-10-01 18:58:36 +01:00
Ramana Kumar
d52981ef6d
Trying and failing to interface to vector_lincomb
2022-10-01 18:19:39 +01:00
Dankrad Feist
bc89288ca7
C# interface
2022-10-01 18:04:15 +01:00
Ramana Kumar
c56461e3a5
Non-contiguous array in min-src
2022-10-01 17:07:41 +01:00
Dankrad Feist
4fdabd2b4e
Objectifying some stuff
2022-10-01 16:42:40 +01:00
Ramana Kumar
7dcd70b95e
Use non-contiguous array for vector_lincomb
2022-10-01 16:23:41 +01:00
Dankrad Feist
e33064cf28
Add python helper code to swig interface
2022-10-01 16:18:09 +01:00
Ramana Kumar
459209375c
Work in progress on a Python test of the min interface
2022-10-01 15:36:21 +01:00
Ramana Kumar
8f6bc22b2f
Avoid exposing blst scalar
2022-10-01 12:42:44 +01:00
Ramana Kumar
9897fb2fa9
Probably need to bytes48 from g1 in the interface
2022-10-01 11:50:21 +01:00
Ramana Kumar
be3f0c22cf
Play around with some testing of the min interface
2022-09-30 07:21:48 +01:00
Ramana Kumar
cfa9675512
Fix implementation of compute_powers
2022-09-29 22:23:14 +01:00
Ramana Kumar
90eadda3cb
Add Python binding for loading trusted setup from filename
2022-09-29 20:08:23 +01:00
Ramana Kumar
2628661be5
Start on SWIG for minimal interface
2022-09-29 19:36:17 +01:00
Ramana Kumar
24212039b2
Add conversions to/from uint64s to the interface
2022-09-29 19:32:23 +01:00
Ramana Kumar
8a072d68ba
Add alloc_polynomial and free_polynomial
2022-09-27 22:05:52 +01:00
Ramana Kumar
9b46788ac7
Finish adding implementation, simplify Makefile
2022-09-27 21:50:48 +01:00
Ramana Kumar
265e60c2db
Implement a few more functions
2022-09-27 18:36:45 +01:00
Ramana Kumar
a9ef9a893a
Add a few more implementations
2022-09-27 18:25:43 +01:00
Ramana Kumar
4488ad3269
Start on a consolidated 4844-only copy of the code
2022-09-27 18:11:37 +01:00
Ramana Kumar
96e3fc9bd8
Add blob_to_kzg_commitment to the 4844 interface
2022-09-27 13:51:08 +01:00
Ramana Kumar
48903d567f
Use bit-reversal permutation
2022-09-27 13:37:46 +01:00
Ramana Kumar
efef81bdf1
Fix segfault
2022-09-21 08:08:02 +01:00
Ramana Kumar
7e1dc4ddef
Add test of load_trusted_setup_test
...
not working yet: segfaults after the test runs
2022-09-20 23:43:38 +01:00
Dankrad Feist
2958210f67
Trusted setup for testing
2022-09-20 23:04:18 +01:00
Ramana Kumar
e18c68c64c
Add possible implementation of load_trusted_setup (untested)
2022-09-20 21:58:36 +01:00
Ramana Kumar
a7eea8b533
Start on a 4844 minimal interface
...
The object files to implement this are not correct in the Makefile.
The files probably need to be split more carefully to separate 4844
things from the rest.
2022-09-19 23:18:42 +01:00
Ramana Kumar
63fc842d6d
Make y const in check_proof_single
2022-09-19 23:17:28 +01:00
Dankrad Feist
1e41ed4d36
Test equivalence with py_ecc
2022-09-19 19:56:43 +01:00
Ramana Kumar
cc049a05ca
Fix some whitespace issues
2022-09-19 19:49:11 +01:00
Ramana Kumar
c0aa4eb2cc
Add fr_vector_lincomb function
2022-09-19 19:47:16 +01:00
Ramana Kumar
bd65d49ffd
Check the proof fails on wrong data
2022-09-19 15:40:18 +01:00
Ramana Kumar
80b1c973cf
Make the tests the default make target
2022-09-19 15:40:18 +01:00
Ramana Kumar
701da680ce
Add tests of prove and verify
2022-09-19 15:40:18 +01:00
Ramana Kumar
968b099dab
Treat bool specially, avoid allocation
...
Because bool as a PyObject won't have a normal destroy operation
2022-09-19 15:40:18 +01:00
Ramana Kumar
306dcf5bac
Assume word size is 64
...
Avoids incompatible pointer type warnings on my system.
Ideally this would be sensitive to the host.
2022-09-19 15:40:18 +01:00