Commit Graph

350 Commits

Author SHA1 Message Date
g11tech cfdd9e5f8f
chore: Publish to npm version 2.1.0 for big endian release (#310) 2023-06-01 16:09:59 +03:00
Justin Traglia 6c50a43a19
Make from_hex() safer in rust bindings (#307)
* Make from_hex() safer in rust bindings

* Add hex_to_bytes function
2023-05-28 18:47:59 +03:00
Justin Traglia 5019e3a08d
[Go] Make UnmarshalText funcs safer (#306)
* [Go] Make UnmarshalText funcs safer

* Run apt update in C# tests
2023-05-25 14:40:21 +03:00
Justin Traglia 3adec442de
Switch to big-endian (#305) 2023-05-24 08:44:05 -05:00
Justin Traglia b9ae77d6d2
Update c-kzg-4844 version in Go bindings example (#303) 2023-05-12 17:24:15 +03:00
Justin Traglia 6d21a0ea98
Speed up loading trusted setup (#299)
* Replace g1 points with g1 lagrange points

* Swap out validate_kzg_g1 with blst funcs

* Update minimal preset too

* Fix java & nodejs bindings

* Put variables in smaller scope

* Update some comments

* Remove FFTSettings (#2)

* Fix issue when expanding roots of unity

* Fix formatting

* Revert back to using intermediate array

* Add missing c_kzg_free

* Fix some nits

* Replace free_kzg_settings with free_trusted_setup

* Add parens to NUM_ELEMENTS

Co-authored-by: George Kadianakis <desnacked@riseup.net>

* Move memcpy to the end

* Revert "Move memcpy to the end"

This reverts commit 5331c7feadc92e4b5dd5d4e7512e4be563d7f386.

* Add comment about free_trusted_setup

* Move check before alloc

* Add remark

* Delete unnecessary blank line

* Fix asn's nits

* Update comment for roots_of_unity in header

Co-authored-by: Gottfried Herold <GottfriedHerold@users.noreply.github.com>

* Fix formatting

* Update comment about max_scale

Co-authored-by: Gottfried Herold <GottfriedHerold@users.noreply.github.com>

---------

Co-authored-by: Suphanat Chunhapanya <haxx.pop@gmail.com>
Co-authored-by: George Kadianakis <desnacked@riseup.net>
Co-authored-by: Gottfried Herold <GottfriedHerold@users.noreply.github.com>
2023-05-12 16:44:37 +03:00
Justin Traglia d0201ca2c4
Remove pyecc tests (#300)
* Remove pyecc tests

* Remove pyecc tests in CI too
2023-05-10 12:05:55 +03:00
Justin Traglia aa8d85dbbb
Fix some minor nits (#298) 2023-05-09 16:40:36 +03:00
zah 37048e87de
Support for Windows cross-compilation from Linux (#295)
Since `DirSep` matches the default separator of the target OS, it's
not suitable for performing path operations during compile-time on
the host OS.

The particular fix here solves the issue for cross-compiling a Windows
build from a Linux host, but Nim seems to need a more general solution
for detecting the host OS during compilation, so a host OS specific
separator can be used in paths derived from `currentSourcePath`.
2023-04-28 13:31:44 +03:00
henridf f014ea44a5
Fix FIELD_ELEMENTS_PER_BLOB pragma (#294) 2023-04-27 11:37:23 +03:00
Alexey 5b727e5c3e
Export methods; test on multiple platforms (#289)
Properly export functions on Windows; test on multiple OS
2023-04-26 20:55:52 +03:00
Divma fd24cf8e1e
[Rust] Remove blst to avoid double link issues, expose blst features (#287) 2023-04-10 15:45:34 -05:00
Justin Traglia 8f43b2e3ca
[Java] Change sprintf to snprintf (#285) 2023-04-10 11:20:33 -05:00
Justin Traglia 64af10e37b
[Go] Clean things up a bit (#282) 2023-04-10 08:03:36 -05:00
g11tech 89c1c3a811
chore: Publish 2.0.4 nodejs (#286) 2023-04-10 08:03:05 -05:00
g11tech fd0a51aa35
[Nodejs] Change Buffer types to Uint8Array (#280) 2023-04-07 08:06:13 -05:00
Justin Traglia fe857cb3b9
Update blst and remove hacks (#281) 2023-04-07 07:58:17 -05:00
Justin Traglia 928fd9d9b7
[Go] Allow minimal preset (#283) 2023-04-07 07:57:48 -05:00
Justin Traglia ae2db332a5
[Go] Use BYTES_PER_G* instead of 48/96 (#284) 2023-04-07 07:57:27 -05:00
Justin Traglia 5d4f6efbe7
Remove rust snapshots (#279) 2023-04-05 13:46:21 -05:00
Divma b30983fc9a
Windows bindings for rust (#259) 2023-04-05 13:33:37 -05:00
Stefan Bratanov b022f30c24
[Java binding] Improve prerequisites instructions (#278) 2023-04-04 10:10:55 -05:00
Divma 34f4fa1609
Delegate blst build to crate in preparation for windows bindings (#274) 2023-03-31 10:56:56 -05:00
Matthew Keil feb4037de5
Add eslint to node bindings (#269)
* add eslint and run for TS files

* add eslint and run for JS/TS

* remove eslint file comments

* add endOfLine: "auto" for windows

* fix yarn command to remove excess output

* update eslint versions
2023-03-31 17:46:54 +09:00
Justin Traglia 6b9b636c1b
Update Go bindings example (#273) 2023-03-31 13:38:35 +09:00
Matthew Keil 966e40d70e
Add repo link to npm page (#272) 2023-03-30 17:03:01 -05:00
Justin Traglia 60d8402e19
Fix some nodejs nits (#271) 2023-03-30 16:34:55 -05:00
Matthew Keil e9c9c912f6
Format node bindings with clang-format (#268) 2023-03-30 11:20:25 -05:00
Matthew Keil dd5ec7ba7e
Add bundle to publish command (#262) 2023-03-30 11:05:22 -05:00
Matthew Keil ac4b945429
Clean-up node error messages (#266) 2023-03-30 09:17:57 -05:00
Matthew Keil ed4e795c18
return undefined if JS error is thrown (#267) 2023-03-30 08:54:34 -05:00
Matthew Keil e83ec0374c
.gitignore node deps (#265) 2023-03-30 08:25:24 -05:00
Justin Traglia f942864765
Replace CKZGRet with error in go bindings (#252) 2023-03-29 19:33:15 -05:00
Matthew Keil a7f4890a7e
Remove tsc build step and export raw .js file and .d.ts from node bindings (#260) 2023-03-29 19:32:06 -05:00
George Kadianakis 656d0c74a7
nodejs: Remove the fclose() error handling (#261) 2023-03-29 08:51:50 -05:00
Justin Traglia 2913b5ab31
Fix rust benchmarks (#258)
* Fix rust benchmarks

* Use iter_batched_ref for true benchmarks

* Remove unused import

* Update BatchSize & add throughput measurements

* Remove "cargo clean" from CI checks

* Run release tests after minimal tests
2023-03-29 15:59:52 +09:00
Matthew Keil db8f42507a
close file descriptor (#248) 2023-03-28 15:23:17 -05:00
Justin Traglia c5920c4ef4
Multi-platform nodejs bindings (#242) 2023-03-28 11:01:07 -05:00
Divma f384175810
Reproducible rust bindings (#243)
* modify directory structure to isolate the generated bindings

* add a lib.rs file

* move deref impls to the extension file

* remove unused types from generated bindings

* cleanup new lines to reduce diff noise

* reorder definitions to reduce diff noise

* move sync and send impls to the extension file

* generate bindings

* blacklist used bindings; create snapshots dir to ensure freshness in the future

* fix typo. Ty @pawanjay176

* run cargo build after merge

* custom impl for KZGCommitment and KZGProof

* final touches
2023-03-27 23:47:24 +09:00
Stefan Bratanov 88924c8aa7
[Java] Avoid unnecessary array copying in tests (#247) 2023-03-24 10:53:46 -05:00
Justin Traglia c448e9bfcc
Fix minor memleak in Go bindings (#241)
* Fix minor memleak in Go bindings

* Move fclose back to after nil check

* Move it to correct spot, ugh
2023-03-24 22:50:15 +09:00
andri lim 9a93c75e23
Add support for nimble package (#232) 2023-03-24 08:02:38 -05:00
Justin Traglia 861371629e
Rename CKzgRet to CKZGRet for consistency (#240) 2023-03-22 19:38:14 +02:00
Justin Traglia ee218752c0
Add example for go bindings (#238)
* Add example for go bindings

* Remove clean cmd & do go mod tidy
2023-03-22 12:28:42 +02:00
Matthew Keil da5a644781
Update node README (#228) 2023-03-21 09:53:27 -05:00
Stefan Bratanov fd3500fe7b
Rename ByteArrayTuple to ProofAndY (#233) 2023-03-21 08:16:53 -05:00
George Kadianakis cc10ef024d
Some misc minor codebase improvements (#229) 2023-03-20 21:31:53 -05:00
andri lim bf99ed5b91
Nim: better handling of trusted setup (#231) 2023-03-20 21:30:50 -05:00
Ruben Buniatyan 0b6791bbce
Revise NuGet packaging (#221) 2023-03-17 10:59:32 -05:00
Justin Traglia 7e755d7280
Fix a mistake in python bindings makefile (#218) 2023-03-17 11:56:37 +02:00
Justin Traglia 5e34bc0232
Fix some nits with nodejs (#219) 2023-03-17 11:55:24 +02:00
Justin Traglia b3291f9bf1
Speed up rust build just a little (#220) 2023-03-17 11:52:07 +02:00
Justin Traglia a6be00db3d
Link readme in C# project file (#217) 2023-03-16 14:33:46 -05:00
Stefan Bratanov 0fb17c2063
[Java bindings] Improve javadoc + update dependencies (#213) 2023-03-15 11:20:04 -05:00
Justin Traglia 5580f355ae
Add ref test count checks for all bindings (#211) 2023-03-15 16:39:19 +02:00
Pawan Dhananjay 549739fcb3
Add an into_inner method for Bytes48 (#206) 2023-03-13 13:38:02 +02:00
Stefan Bratanov 9b91f3b832
Small cleanups (#202) 2023-03-10 11:32:13 -06:00
Justin Traglia da83e45e9c
Cleanup some rust tests (#195) 2023-03-10 11:42:17 +02:00
Justin Traglia 1883b79233
Update the java bindings header (#201) 2023-03-10 11:40:23 +02:00
andri lim edb1274b70
Reduce boilerplate in nim tests (#197) 2023-03-09 14:15:05 -06:00
George Kadianakis ef82131be6
Fix rust benches to work with the new compute API (#194) 2023-03-09 10:30:46 -06: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
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
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
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
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
g11tech 021674111a
Update the node bindings version to the latest published (#162) 2023-03-01 12:39:37 +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
Justin Traglia d5bd326877 Update test names 2023-02-21 14:22:44 -06: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 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
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
Stefan Bratanov 9a764de619
Add spotless to the java bindings (#136)
* Add spotless to the java bindings

* Use check task which includes test + all verification
2023-02-16 11:26:26 +00:00
Fabio Di Fabio 8c3dc2df41
Add method to load trusted setup from a resource (#135)
* Add method to load trusted setup from a resource
* Do not try to reuse the same temp dir
* Fix test, loading the correct trusted setup for the preset
2023-02-15 12:18:43 -06:00