Commit Graph

835 Commits

Author SHA1 Message Date
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 8e3dd60424
Use g2 points from spec in minimal preset (#301) 2023-05-10 12:06:44 +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
Justin Traglia 5703f6f353
Check the result of blst_p2_uncompress (#297) 2023-05-05 14:31:34 +03:00
Justin Traglia ecb5499077
Add new validate_kzg_g1 tests (#296)
* Add new validate_kzg_g1 tests

* Add "bits" to the test names
2023-05-04 11:20:42 +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
Justin Traglia 47ddabde63
Update C tests to support minimal config (#263) 2023-04-04 10:29:40 -05:00
Stefan Bratanov b022f30c24
[Java binding] Improve prerequisites instructions (#278) 2023-04-04 10:10:55 -05:00
Justin Traglia b9e476857c
Add some comments & fix some nits (#275) 2023-04-04 10:09:12 -05:00
Justin Traglia 8c8f39a099
Add more information to the readme (#264) 2023-04-04 09:37:42 -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 6bac4e1b6c
Run C tests on all platforms (#270)
* Run C tests on all platforms

* Don't install llvm on mac & add windows define

* Update blst settings for windows

* Install msvc on windows

* Don't specify blst as a library

* Try including -lmingw32

* Clean up makefile & test setting target

* Try using gcc for windows

* Don't treat warnings as errors on windows

* Test upping stack size

* Ignore some tasks on windows

* Clean up some things

* Fix indentations

* Delete extra blank line

* More organization

* Remove windows check around sanitize

* Move XCRUN initialization back to top

* Move extra sanitize cflags out like the others
2023-03-31 13:39:57 +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 9059ba5ae2
Add new NUM_G1_POINTS var for consistency (#257) 2023-03-29 16:01:24 +09: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
Justin Traglia 3c6b9346b3
`make` inits submodule & builds blst (#250)
* Make inits submodule & builds blst

* Update the README

* Clean up C workflow
2023-03-28 22:26:51 +09:00
Gottfried Herold 8de0aa54ce
Only support FIELD_ELEMENTS_PER_BLOB values that are a power of 2. (#249)
* Intentionally fail to compile with a FIELD_ELEMENTS_PER_BLOB value that is not a power of 2.
We do not want to support or maintain this case, so let us be explicit about it.

* Update src/c_kzg_4844.h

Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>

* Update src/c_kzg_4844.h

Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>

---------

Co-authored-by: George Kadianakis <desnacked@riseup.net>
Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>
2023-03-28 00:02:01 +09: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 7695db3330
Use do {} while(0) for c_kzg_free macro (#245) 2023-03-25 00:42:08 +09:00
Justin Traglia 9fbe75f392
Move Polynomial type from header to impl (#244) 2023-03-24 22:51:42 +09: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
George Kadianakis 015e043475
Short circuit batch verification if n==1 (#234) 2023-03-23 07:50:36 -05:00