Commit Graph

651 Commits

Author SHA1 Message Date
Gottfried Herold fa851f1b2c
fr_batch_inv() now fails if output and input pointers alias (#185)
instead of giving wrong result with no error

Co-authored-by: George Kadianakis <desnacked@riseup.net>
2023-03-09 18:24:49 +02:00
Matthew Keil 2642595e39
Reorganize/Clean-Up Node Bindings (#189)
* refactor(node-bindings): create src/lib/test folders

* feat(node-bindings): update bundle/publish commands

* refactor(node-bindings): remove unused files and dependencies

* refactor(node-bindings): move fixtures to __fixtures__

* fix(node-bindings): revert format of fixture json file

* fix(node-bindings): prettierignore and gitignore

* feat(node-bindings): add bindings package

* fix(node-bindings): fix test setup path

* fix(node-bindings): remove post-build copy action in bindings.gyp

* fix(node-bindings): package.json keys

* Update contributors

---------

Co-authored-by: George Kadianakis <desnacked@riseup.net>
2023-03-09 18:21:28 +02:00
Gottfried Herold 2548d489a6
Documentation fix: (#193)
The previous statement was slightly wrong. Being a primite root does not mean r^( (q-1)/2) != 1.
If q=1 == 2^s * t, the latter is satisfied by e.g. t'th roots of unity, but those are not primitive roots by the usual definition.
Fortunately, the actual computation of 2^i'th roots of unity does not require a primitve root to start with, only a non-square.
2023-03-09 18:11:48 +02:00
Matthew Keil 5ebf750a1e
Update Compute*KZGProof in node bindings (#188)
* feat(node-bindings): update Compute*KZGProof

* ComputationProof -> ProofResult

---------

Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>
Co-authored-by: George Kadianakis <desnacked@riseup.net>
2023-03-09 16:40:57 +02:00
Matthew Keil 87a3e4148d
Move setup handle to C in node bindings (#177)
* feat(node-bindings): move KzgSettings to c

* fix(node-bindings): typo in comment

* fix(node-bindings): remove unnecessary SetInstanceData

* feat(node-bindings): use C for setting instance data

* docs(node-bindings): fix comment on struct

* refactor(node-bindings): revert export order to minimize diff
2023-03-09 16:00:15 +02:00
George Kadianakis 599ae2fe21
Update Compute*KZGProof in rust bindings (#183)
* Update Compute*KZGProof in rust bindings

* Remove the boxing from the blobs

and implement get_blobs() a bit less promiscuously

* Improve pattern matching style

* Run `cargo fmt`

* Remove a println

* No need to clone commitments
2023-03-09 13:00:17 +02:00
Justin Traglia c295688099
Add invalid length tests (#186) 2023-03-09 12:44:31 +02:00
andri lim ad6e258694
Improve nim bindings conciseness (#191) 2023-03-08 22:05:25 -06:00
andri lim fc11addf50
Allow invalid length inputs in nim tests (#190) 2023-03-08 22:04:23 -06:00
Justin Traglia ff4e99579d
Update Compute*KZGProof in c# bindings (#187) 2023-03-08 16:13:48 -06:00
Justin Traglia 6f3751d97b
Update Compute*KZGProof in java bindings (#182) 2023-03-08 15:31:20 -06:00
George Kadianakis 02b7855eb7
Make verify_*() functions pessimistic by default (#184) 2023-03-08 11:00:12 -06:00
Justin Traglia db2fa8dcdb
Run each reference test individually in Go (#180)
* Run each reference test individually in Go

* Fix other merge conflict issues
2023-03-08 16:14:39 +02:00
Justin Traglia 9e72862198
Allow invalid length inputs in go tests (#175)
* Allow invalid length inputs in go tests

* Revert output type to original
2023-03-08 15:30:09 +02:00
andri lim e8ed621dc8
Add Nim bindings (#176) 2023-03-08 07:04:30 -06:00
Justin Traglia b71746df74
Update Compute*KZGProof in go bindings (#181) 2023-03-08 13:45:54 +02:00
Suphanat Chunhapanya ccf1a4fdf0
Change on compute_[blob_]kzg_proof function signatures (#174) 2023-03-07 13:51:43 -06:00
George Kadianakis 088b062d36
Simplify g1_mul() and make it look like g2_mul() (#179) 2023-03-07 07:54:38 -07:00
Matthew Keil ecc668bbe7
Node binding argument and return type updates (#170) 2023-03-06 19:28:30 -06:00
Alexey 7c0bd867d5
Add C# wrapper & YAML tests (#46) 2023-03-06 15:46:00 -06:00
Justin Traglia 410eed4db6
Update java bindings to support YAML ref tests (#166)
* Update java bindings to support YAML ref tests

* Clean things up a little

* Fix some more nits

* Swap comparision to be expected/actual

* Add missing input length checks

* Move test formats to new directory
2023-03-06 15:58:49 +02:00
Justin Traglia 54ab82c93b
Update nodejs bindings to support YAML ref tests (#167)
* Update nodejs bindings to support YAML ref tests

* Remove c-kzg from deps

* Fix test checks

* Add return statements in error checks

* Fix uint8array comparisons

* Revert test_dir to original value
2023-03-06 12:08:59 +02:00
Justin Traglia aaaacf7432
Update go bindings to support YAML ref tests (#163)
* Update go bindings to support YAML reference tests

* Remove refs to inputValue/claimedValue

* Do not panic if given different length lists
2023-03-06 12:04:29 +02:00
Justin Traglia 572507ce77
Allow invalid length inputs in rust tests (#171)
* Allow bad input values in rust tests

* Clean up a little

* Re-enable feature checks & consolidate

* Use more pattern matching

* Consolidate imports

* Split some long lines into shorter ones

* Clean up test loops

* Simplify get_output() for some funcs
2023-03-06 11:52:36 +02:00
Justin Traglia 8ade71a137
Update python bindings to support YAML ref tests (#161) 2023-03-04 11:24:03 -07:00
Justin Traglia 3e5f562f05
Update rust bindings to support YAML ref tests (#164) 2023-03-03 16:01:56 -07:00
Justin Traglia 895d0f8627
Replace old tests with new yaml tests (#169) 2023-03-03 11:28:48 +02:00
George Kadianakis 53b38face0
Fix little-endian serialization in compute_challenge() (#168) 2023-03-02 11:35:37 -07:00
Justin Traglia ae0aeaf33d
Remove duplicate p1_on_curve check (#107)
Co-authored-by: George Kadianakis <desnacked@riseup.net>
2023-03-01 12:52:44 +02:00
g11tech 021674111a
Update the node bindings version to the latest published (#162) 2023-03-01 12:39:37 +02:00
George Kadianakis 94198b5c18
Refactor use of MSM around the base code (#159)
* Separate naive MSM and fast MSM into separate functions

* Use naive MSM in batch verify, and fast MSM when points are trusted
2023-02-24 17:38:30 +02:00
Justin Traglia 6b2ee20102
Add bindings to readme (#154)
* Add bindings section to readme

* Reorganize a little bit

* Remove extra blank lines
2023-02-23 17:53:08 +02:00
Justin Traglia 1d3558cec2
Update rust bindings (#143)
* Update rust bindings

* Remove old test vectors

* Add #[must_use] in C_KZG_RET to avoid future missing retval checks

* Replace expect with unwrap

* Fix generate_random_commitment()

* Turn some camels to snakes

* Capitalize some consts

* Improve a bench loop

* Kill a useless extern

---------

Co-authored-by: George Kadianakis <desnacked@riseup.net>
2023-02-22 18:33:15 +02:00
George Kadianakis d41a3b0060
Merge pull request #147 from jtraglia/update-nodejs-bindings
Update nodejs bindings
2023-02-22 18:12:47 +02:00
Justin Traglia b34cc3ce1e Add missing exception pending checks 2023-02-22 09:39:16 -06:00
Justin Traglia 0e78319a44 Free allocations in success case 2023-02-22 09:36:32 -06:00
Justin Traglia 4a77aeff26 Add explicit type check 2023-02-22 09:10:09 -06:00
Stefan Bratanov 2e55967455
[Java binding] Validation of loadTrustedSetup parameters (#152) 2023-02-22 08:56:49 -06:00
dankrad e171cb92ff
Add more unit tests (#137) 2023-02-22 08:42:57 -06:00
Justin Traglia d5bd326877 Update test names 2023-02-21 14:22:44 -06:00
Justin Traglia b04c35437f
Fix the position dependent test (#151) 2023-02-21 18:19:50 +00:00
Justin Traglia 0e6e23de65
Update csharp bindings (#146) 2023-02-21 09:57:25 -06:00
Justin Traglia 03b439ef2f
Update java bindings (#144) 2023-02-20 14:57:27 -06:00
Justin Traglia 9be420c0f1
Merge branch 'ethereum:main' into update-nodejs-bindings 2023-02-20 10:22:50 -06:00
Justin Traglia 5c33098d6f
Add test files (#141) 2023-02-20 16:04:10 +00:00
Justin Traglia a231d5354b
Update go bindings (#142)
* Update go bindings

* Fix some nits
2023-02-20 16:01:31 +00:00
Justin Traglia daa5f79fe3
Update python bindings (#145) 2023-02-20 16:00:13 +00:00
George Kadianakis 46d529cf00
Interface changes to free the blobs (#123)
* Update C files to new interface

* Switch CHALLENGE_INPUT_SIZE from a macro to a `const int`.

* Update README with the new public methods

---------

Co-authored-by: Justin Traglia <jtraglia@pm.me>
2023-02-20 15:52:12 +00:00
Dmitrii Shmatko f87eee57d3
Fix getting SEGFAULT in Java with incorrect parameters (#148)
* Java bindings: Fix SEGFAULT on incorrect parameters/wrong file

* Prettify allocate KZGSettings
2023-02-20 12:02:34 +00:00
Justin Traglia 21b3139dc8 Update nodejs bindings 2023-02-18 15:49:52 -06:00