Justin Traglia
d3b061f84b
Add bytes32_from_hex helper function ( #103 )
2023-01-31 15:48:41 +00:00
Justin Traglia
ea73c3f1ca
Add some validate_kzg_g1 tests ( #102 )
2023-01-31 11:26:25 +00:00
George Kadianakis
9f443bc5aa
test_compute_kzg_proof() now also verifies the KZG proof ( #101 )
...
Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>
2023-01-31 08:33:02 +00:00
Justin Traglia
afd9bb78f0
Add some blob_to_kzg_commitment tests ( #100 )
...
* Add some basic blob_to_kzg_commitment tests
* Rename field_element var
* Rephrase comment
* At point_at_infinity test case
* Update comments
* Use more descriptive test names
* Update comments
* Add sections
* Add "consistent_commitment" test
* Use Bytes* types
2023-01-31 07:36:02 +00:00
Justin Traglia
3340843c91
Make get_rand_blob return a full blob ( #99 )
...
* Fix a problem in get_rand_blob
* Use bytes field instead of new var
2023-01-30 16:36:18 +00:00
Justin Traglia
05bd73bca5
Clean up the test file a little ( #97 )
2023-01-30 13:57:26 +00:00
Ramana Kumar
7f1fb88da9
Remove b modifier
2023-01-30 13:40:54 +00:00
George Kadianakis
98aa54a996
Add a basic unittest framework + a compute KZG proof test ( #96 )
...
* Add tinytest.h testing framework
from https://github.com/joewalnes/tinytest/
* Add a basic compute_kzg_proof() test
2023-01-30 13:40:12 +00:00
Justin Traglia
60ead4ee49
Add compute_kzg_proof to rust bindings ( #91 )
2023-01-27 15:14:13 +00:00
George Kadianakis
d46544dd2e
General code improvements ( #87 )
...
* Better memory management in compute_challenges()
* Forgotten retval check in compute_aggregated_poly_...()
* General niceties around the code
2023-01-26 22:43:17 +00:00
Ramana Kumar
363c7d7593
Improve alignments in docstring comments
2023-01-26 17:13:13 +00:00
Justin Traglia
03b90ef63f
Use Bytes48 for commitments/proofs ( #86 )
...
* Start to use bytes48 type
* Update java bindings
* Update variable names
* Update csharp bindings
* Update node.js bindings
* Update python bindings
* Fix mistake in python bindings
* Add new functions
* Fix nit in java bindings
* Update variable names in java bindings
* Compare to point at infinity
* Update bytes_to_bls_field doc
* Add todo
* Do key validation
* Remove bytes_to_g1
* Fix bug & add remark
* Fix memcmp mistake
* Fix nit in nodejs bindings
* Fix another nit
* Update nodejs parameter names
* Remove to_proof() and to_commitment()
* Fix bug
2023-01-26 14:53:30 +00:00
Justin Traglia
0a18868475
Upgrade blst & remove sha256 patch ( #85 )
2023-01-25 20:07:15 +00:00
Justin Traglia
8907fbcfe2
Expose `compute_kzg_proof` ( #80 )
...
* Expose computeKzgProof
* Revert changes to bytes_to/from_bls_field
* Update comments
* Revert changes to bytes_from_bls_field
* Revert change to parameter name
* Add compute_kzg_proof to readme
* Refactor in support of asn's PR
* Clean up a little
* Fix param name doc
* Introduce Bytes32 type
* Update bindings
* Replaces bytes with b to match spec
2023-01-24 18:23:42 +00:00
Justin Traglia
d849e626ae
Use downward gotos in g1_lincomb ( #83 )
...
* Use downward gotos in g1_lincomb
* Do it asn's way
2023-01-24 18:15:16 +00:00
George Kadianakis
7043128428
Add documentation for various internal/external functions ( #79 )
...
* Improve naming of outputs of compute_challenges()
Both are outputs
* Adjust arguments of verify_kzg_proof_impl() to match the spec
* Add documentation for all c-kzg functions
* fixup! Adjust arguments of verify_kzg_proof_impl() to match the spec
* fixup! Add documentation for all c-kzg functions
* Address review comments
Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>
2023-01-24 14:02:58 +00:00
Justin Traglia
ae81453aaa
Remove simple blst wrapper funcs ( #82 )
...
* Remove simple blst wrapper funcs
* Fix minor nit
2023-01-23 23:01:32 +00:00
Ramana Kumar
1cfc226f7b
Add some more documentation
...
Work on #67
2023-01-20 14:04:14 +00:00
Justin Traglia
855b366da7
Rename reverse_bit_order to bit_reversal_permutation ( #76 )
2023-01-20 07:56:22 +00:00
Justin Traglia
70ed24c1ec
Reorganize functions to match spec ( #71 )
...
* Reorganize functions to match spec
* Add two forward function definitions
* Remove extern prefix from sha256 funcs
* Delete extra blank line
2023-01-18 22:56:09 +00:00
Justin Traglia
549054a5de
Rename poly_from_blob to match spec ( #72 )
2023-01-18 21:46:28 +00:00
Justin Traglia
686dda2f5b
Remove unnecessary null checks ( #69 )
2023-01-17 17:45:41 +00:00
Justin Traglia
69f6155d75
Bytes-only interface ( #62 )
...
* Convert argument types to bytes
* Update java bindings
* Update python bindings
* Update node.js bindings
* Update c# bindings
* Fix java binding compile issues
* Fix incorrect memcpy in nodejs bindings
* Fix bug (called the wrong func)
* Fix issues with java bindings
* Fix issues with node.js bindings
* Remove unnecessary wrapped funcs for c#
* Rename struct member to bytes
* Use goto out for callocs
* Fix nit
* Make un-exported funcs static
* Fix python bindings
* Check commitment length in python bindings
* Update python error message
* Steal good ideas from #37
* Fix tests.py which didn't get copied over
* Convert remaining a[] to *a
* Add missing Py_DECREF
* Bytes only rust (#1 )
* Make interface bytes only
* Fix benches
* Avoid newtypes for kzg types
* Fix benches again
* Make fields private
* tidy
* Address review comments
* Fix one small thing in rust bindings
* Use ckzg types where possible
* Remove null terminator from domain bytes in rust
* Update rust binding docs
* Use BYTES_PER_* where applicable
* Add extra check for calloc
Co-authored-by: Pawan Dhananjay <pawandhananjay@gmail.com>
2023-01-16 20:05:23 +00:00
Justin Traglia
c72ea8e1dc
Convert Blob type to struct ( #61 )
...
* Convert Blob type to struct
* Rename blob.data to blob.bytes
2023-01-12 10:10:23 -08:00
Justin Traglia
42a4419641
Convert Polynomial type to struct ( #60 )
...
* Convert Polynomial type to wrapped-struct
* Revert undesired change
* Rename poly.elements to poly.evals
2023-01-12 17:35:59 +00:00
Justin Traglia
2d2615f053
Fix some minor nits
2023-01-09 10:54:25 -06:00
Justin Traglia
c6f2c1b745
Run astyle on C files
2023-01-05 17:31:40 -06:00
Justin Traglia
be02f81147
Replace memset with initializations
2022-12-25 14:02:26 -06:00
z3n
37992b9a23
Memset Settings structs before modifying them
2022-12-23 18:45:03 -06:00
Ramana Kumar
08a1cdcd37
Merge pull request #45 from jtraglia/better-frees
...
Refactor error handling
2022-12-21 20:48:44 +00:00
Justin Traglia
0c42b74c39
Use consistent brackets
2022-12-21 14:42:50 -06:00
Justin Traglia
f33c4b8060
Rename some goto labels & fix bug
2022-12-21 14:36:29 -06:00
Justin Traglia
6cf2d2e6bd
Check fscanf return value
2022-12-21 11:47:48 -06:00
Justin Traglia
e7e09a7605
Rename goto labels
2022-12-20 11:40:44 -06:00
Justin Traglia
47adfd6812
Move free(g1_projective) to success_out
2022-12-20 10:58:19 -06:00
Justin Traglia
a1fb2542cb
Check unchecked return values
2022-12-20 10:01:21 -06:00
Justin Traglia
43f9d79786
Replace malloc call with c_kzg_malloc
2022-12-19 16:23:50 -06:00
Justin Traglia
4bd989a02a
Remove free because it's freed later
2022-12-19 15:35:39 -06:00
Justin Traglia
c45b6beba1
Clean things up a bit
2022-12-19 13:53:42 -06:00
Justin Traglia
4eb9de62d0
Free g1_projective after its final use
2022-12-19 13:29:39 -06:00
Justin Traglia
4999bd85e1
Remove try macro & convert remaining uses
2022-12-19 13:11:45 -06:00
Justin Traglia
3a17ea68a0
Free all allocs in event of an error
2022-12-19 12:21:17 -06:00
Ramana Kumar
777972d150
Free the FFTSettings when freeing a KZGSettings
...
Closes #38
2022-12-17 19:47:18 +00:00
Stefan Bratanov
b1a7d48a89
Align trusted_setup.txt with the spec
2022-12-14 12:18:02 +02:00
Ramana Kumar
cfa36097a3
Add checks that field elements are canonical
2022-12-11 20:23:48 +00:00
Ramana Kumar
547fd39e60
Add non-file-based load_trusted_setup
...
Closes #3
2022-12-10 16:23:32 +00:00
Ramana Kumar
68f1d2dd7e
Rename load_trusted_setup to load_trusted_setup_file
2022-12-10 16:07:40 +00:00
Ramana Kumar
03f5f1d5d0
Merge pull request #19 from StefanBratanov/java_binding_preset_loading
...
Java binding - load library based on a preset
2022-12-06 22:32:30 +00:00
Ramana Kumar
2bd4c3b252
Check more allocations for failure
2022-12-06 22:13:18 +00:00
Stefan Bratanov
0072efe70a
Java binding - load library based on a preset
2022-12-06 12:58:56 +00:00