Commit Graph

254 Commits

Author SHA1 Message Date
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
Ramana Kumar 78bf846f69
Merge pull request #16 from ethereum/configure_blob_size
Make FIELD_ELEMENTS_PER_BLOB compile-time configurable
2022-12-06 12:48:40 +00:00
Ramana Kumar 7b3477c6e9
Merge pull request #15 from asn-d6/compute_challenges_spec
Bring compute_challenges() and compute_powers() closer to the spec
2022-12-02 10:48:41 +00:00
George Kadianakis bdfa79ca47 compute_challenges(): Use a single hash_input array 2022-12-02 12:36:11 +02:00
George Kadianakis bcf14e7662 compute_powers(): Be consistent about argument types 2022-12-02 12:35:24 +02:00
Ramana Kumar f747834382
Add example setup for FIELD_ELEMENTS_PER_BLOB=4 2022-12-01 20:32:27 +00:00
Ramana Kumar 5b0aab2d58
Remove assumption about FIELD_ELEMENTS_PER_BLOB 2022-12-01 20:31:21 +00:00
Ramana Kumar c9274d8f43
Make FIELD_ELEMENTS_PER_BLOB compile-time configurable 2022-11-29 20:48:12 +00:00
George Kadianakis 80fe1cb3e0 Bring compute_powers() closer to the spec 2022-11-29 19:03:19 +02:00
George Kadianakis 94aa388055 Bring compute_challenges() closer to the spec 2022-11-29 18:46:21 +02:00
Stefan Bratanov b9777a6f67 Parameterize clang executable and the blst build script 2022-11-28 18:38:24 +00:00
Ramana Kumar b69104859f
Make bytes big enough in case n == 0 2022-11-26 22:14:21 +00:00
Ramana Kumar 73d5d2fb0b
Statically allocate hash_output 2022-11-25 22:07:34 +00:00
Ramana Kumar ad31161515
Update Fiat-Shamir protocol to match specs 2022-11-24 22:58:27 +00:00
Stefan Bratanov 74de86964c change in makefiles 2022-11-24 20:36:18 +00:00