Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
a457d00
bindings: create native target
querolita Sep 30, 2025
16db348
backend: overwrite poseidon ffi wasm definitions for native variants
querolita Sep 30, 2025
7bcf6b4
backend: update override to account for snake/caml format in wasm vs …
querolita Sep 30, 2025
e986a9e
submodule: update proof-systems
querolita Sep 30, 2025
35a9605
submodule: update proof-systems
querolita Sep 30, 2025
8e111e8
proxy for native conversion core (wip)
Trivo25 Oct 8, 2025
bc35972
backend: overwrite polycomm group and vector structs
querolita Oct 1, 2025
003af6b
submodule: update proof-systems
querolita Sep 30, 2025
06de741
submodule: update proof-systems
querolita Sep 30, 2025
20b5029
submodule: update proof-systems
querolita Sep 30, 2025
211fe4a
proxy for native conversion core (wip)
Trivo25 Oct 8, 2025
b26d273
move prover_to_json
Trivo25 Oct 15, 2025
d33c6b9
add new file to jsoo dune
Trivo25 Oct 15, 2025
f91306f
override names tbd
Trivo25 Oct 15, 2025
3841d23
proof systems commit
Trivo25 Oct 15, 2025
5812a80
start impl of prover index
Trivo25 Oct 15, 2025
5157cb6
bump proof systems
Trivo25 Oct 15, 2025
5178750
fix function name
Trivo25 Oct 15, 2025
4771205
add prover index to jsoo
Trivo25 Oct 15, 2025
0b59ce2
use temp copy for all
Trivo25 Oct 15, 2025
23ad909
bump proof systems
Trivo25 Oct 15, 2025
d3069c6
move caml_pasta_fp_plonk_index_create
Trivo25 Oct 15, 2025
5ed37b6
Update proof-systems
Trivo25 Oct 15, 2025
cdbaa27
jsoo: comment out wasm gate vector bindings and override for native
querolita Oct 16, 2025
d4ff2e9
submodule: update proof-systems
querolita Oct 16, 2025
4bda89e
add caml_pasta_fp_plonk_circuit_serialize incl conversions (wip)
Trivo25 Oct 22, 2025
61f5d8b
bump proof-systems for final prover index code
Trivo25 Oct 22, 2025
ea2f711
Update proof-systems
Trivo25 Oct 22, 2025
ec24d83
move prover_to_json
Trivo25 Oct 15, 2025
14aa899
add new file to jsoo dune
Trivo25 Oct 15, 2025
14c3bba
override names tbd
Trivo25 Oct 15, 2025
5132af2
proof systems commit
Trivo25 Oct 15, 2025
f8fe4c8
submodule: update proof-systems
querolita Oct 22, 2025
bfe406f
Merge branch 'native/napi-gatevector' into florian/napi-prover-index
querolita Oct 22, 2025
720484a
Merge pull request #17948 from MinaProtocol/florian/napi-prover-json
querolita Oct 23, 2025
785e057
submodule: update proof-systems
querolita Oct 23, 2025
677dcd2
submodule: update proof-systems
querolita Oct 23, 2025
6d67e95
jsoo: move prover index read/write to native overrides
querolita Oct 28, 2025
1769fde
build system
bleepbloopsify Oct 28, 2025
e9fd6d9
jsoo: srs bindings
querolita Oct 29, 2025
81e75cf
submodule: update proof-systems
querolita Oct 29, 2025
d9a4d90
override shifts
Trivo25 Oct 30, 2025
ab35872
rm logging
Trivo25 Oct 30, 2025
c9b79bf
proof systems
Trivo25 Oct 30, 2025
4c083b0
fixed build and overrides
bleepbloopsify Oct 30, 2025
7fbfb65
jsoo: use vectorToRust instead of fieldsToRustFlat because it is not …
querolita Oct 31, 2025
38ed463
submodule: update proof-systems
querolita Oct 31, 2025
4d28733
rework native bindings
bleepbloopsify Oct 31, 2025
6a807db
Merge pull request #18054 from MinaProtocol/leon/native/napi/proof-ge…
querolita Nov 3, 2025
f7c9778
Merge branch 'native/napi' into florian/verifier-index-napi
querolita Nov 4, 2025
86ebdf0
Merge pull request #18038 from MinaProtocol/florian/verifier-index-napi
querolita Nov 4, 2025
cc3f830
Merge branch 'native/napi' into native/napi-gatevector
querolita Nov 4, 2025
0ea8175
Merge branch 'native/napi-gatevector' into native/napi-srs
querolita Nov 5, 2025
383e94a
Merge branch 'native/napi-gatevector' into florian/napi-prover-index
querolita Nov 5, 2025
9eab577
Merge branch 'florian/napi-prover-index' into native/napi-srs
querolita Nov 5, 2025
862a8a0
submodule: update proof-systems
querolita Nov 5, 2025
c67721a
Merge branch 'native/napi-gatevector' into florian/napi-prover-index
querolita Nov 5, 2025
85a0fe2
Merge pull request #17993 from MinaProtocol/florian/napi-prover-index
querolita Nov 5, 2025
5af9dc8
Merge branch 'native/napi-gatevector' into native/napi-srs
querolita Nov 5, 2025
9eb965c
Merge pull request #18058 from MinaProtocol/native/napi-srs
querolita Nov 5, 2025
62e8b52
submodule: update proof-systems to include gatevector + prover index …
querolita Nov 5, 2025
6ea5599
Merge pull request #17951 from MinaProtocol/native/napi-gatevector
querolita Nov 6, 2025
e7e7bd2
native header cleanup
bleepbloopsify Nov 6, 2025
1806949
merge native/-napi
Trivo25 Nov 5, 2025
fb3788c
Update proof-systems
Trivo25 Nov 9, 2025
637e59b
Update proof-systems
Trivo25 Nov 9, 2025
791b7f4
Update proof-systems
Trivo25 Nov 9, 2025
924cecf
fix headet ypes
Trivo25 Nov 10, 2025
c53b209
Merge pull request #18074 from MinaProtocol/leon/native/napi/cleanup
querolita Nov 10, 2025
459c862
submodule: update proof-systems
querolita Nov 11, 2025
698b18b
fix tbd
Trivo25 Nov 14, 2025
a7e7ab7
wip dont use napi types just yet
Trivo25 Nov 14, 2025
4c4df14
Update proof-systems
Trivo25 Nov 14, 2025
21c38f0
Merge branch 'native/napi' into florian/native-proof
querolita Nov 17, 2025
857e2a8
backend: don't include fq yet
querolita Nov 17, 2025
53a6174
Merge pull request #18079 from MinaProtocol/florian/native-proof
querolita Nov 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 0 additions & 122 deletions src/lib/crypto/kimchi_bindings/js/bindings/gate-vector.js
Original file line number Diff line number Diff line change
@@ -1,122 +0,0 @@
/* eslint-disable no-unused-vars */
/* global plonk_wasm, caml_string_of_jsstring,
free_on_finalize, tsRustConversion, caml_bytes_of_uint8array
*/

// Provides: caml_pasta_fp_plonk_gate_vector_create
// Requires: plonk_wasm, free_on_finalize
var caml_pasta_fp_plonk_gate_vector_create = function () {
return free_on_finalize(plonk_wasm.caml_pasta_fp_plonk_gate_vector_create());
};

// Provides: caml_pasta_fp_plonk_gate_vector_add
// Requires: plonk_wasm, tsRustConversion
var caml_pasta_fp_plonk_gate_vector_add = function (v, x) {
return plonk_wasm.caml_pasta_fp_plonk_gate_vector_add(
v,
tsRustConversion.fp.gateToRust(x)
);
};

// Provides: caml_pasta_fp_plonk_gate_vector_get
// Requires: plonk_wasm, tsRustConversion
var caml_pasta_fp_plonk_gate_vector_get = function (v, i) {
return tsRustConversion.fp.gateFromRust(
plonk_wasm.caml_pasta_fp_plonk_gate_vector_get(v, i)
);
};

// Provides: caml_pasta_fp_plonk_gate_vector_len
// Requires: plonk_wasm
var caml_pasta_fp_plonk_gate_vector_len = function (v) {
return plonk_wasm.caml_pasta_fp_plonk_gate_vector_len(v);
};

// Provides: caml_pasta_fp_plonk_gate_vector_wrap
// Requires: plonk_wasm, tsRustConversion
var caml_pasta_fp_plonk_gate_vector_wrap = function (v, x, y) {
return plonk_wasm.caml_pasta_fp_plonk_gate_vector_wrap(
v,
tsRustConversion.wireToRust(x),
tsRustConversion.wireToRust(y)
);
};

// Provides: caml_pasta_fp_plonk_gate_vector_digest
// Requires: plonk_wasm, caml_bytes_of_uint8array
var caml_pasta_fp_plonk_gate_vector_digest = function (
public_input_size,
gate_vector
) {
var uint8array = plonk_wasm.caml_pasta_fp_plonk_gate_vector_digest(
public_input_size,
gate_vector
);
return caml_bytes_of_uint8array(uint8array);
};

// Provides: caml_pasta_fp_plonk_circuit_serialize
// Requires: plonk_wasm, caml_string_of_jsstring
var caml_pasta_fp_plonk_circuit_serialize = function (
public_input_size,
gate_vector
) {
return caml_string_of_jsstring(
plonk_wasm.caml_pasta_fp_plonk_circuit_serialize(
public_input_size,
gate_vector
)
);
};

// Provides: caml_pasta_fq_plonk_gate_vector_create
// Requires: plonk_wasm, free_on_finalize
var caml_pasta_fq_plonk_gate_vector_create = function () {
return free_on_finalize(plonk_wasm.caml_pasta_fq_plonk_gate_vector_create());
};

// Provides: caml_pasta_fq_plonk_gate_vector_add
// Requires: plonk_wasm, tsRustConversion
var caml_pasta_fq_plonk_gate_vector_add = function (v, x) {
return plonk_wasm.caml_pasta_fq_plonk_gate_vector_add(
v,
tsRustConversion.fq.gateToRust(x)
);
};

// Provides: caml_pasta_fq_plonk_gate_vector_get
// Requires: plonk_wasm, tsRustConversion
var caml_pasta_fq_plonk_gate_vector_get = function (v, i) {
return tsRustConversion.fq.gateFromRust(
plonk_wasm.caml_pasta_fq_plonk_gate_vector_get(v, i)
);
};

// Provides: caml_pasta_fq_plonk_gate_vector_len
// Requires: plonk_wasm
var caml_pasta_fq_plonk_gate_vector_len = function (v) {
return plonk_wasm.caml_pasta_fq_plonk_gate_vector_len(v);
};

// Provides: caml_pasta_fq_plonk_gate_vector_wrap
// Requires: plonk_wasm, tsRustConversion
var caml_pasta_fq_plonk_gate_vector_wrap = function (v, x, y) {
return plonk_wasm.caml_pasta_fq_plonk_gate_vector_wrap(
v,
tsRustConversion.wireToRust(x),
tsRustConversion.wireToRust(y)
);
};

// Provides: caml_pasta_fq_plonk_gate_vector_digest
// Requires: plonk_wasm, caml_bytes_of_uint8array
var caml_pasta_fq_plonk_gate_vector_digest = function (
public_input_size,
gate_vector
) {
var uint8array = plonk_wasm.caml_pasta_fq_plonk_gate_vector_digest(
public_input_size,
gate_vector
);
return caml_bytes_of_uint8array(uint8array);
};
32 changes: 1 addition & 31 deletions src/lib/crypto/kimchi_bindings/js/bindings/oracles.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
/* global plonk_wasm, tsRustConversion,

*/
/* global plonk_wasm, tsRustConversion,*/

// Provides: fp_oracles_create
// Requires: plonk_wasm, tsRustConversion
Expand Down Expand Up @@ -75,31 +73,3 @@ function caml_pasta_fp_poseidon_params_create() {
function caml_pasta_fq_poseidon_params_create() {
return [0];
}

// Provides: caml_pasta_fp_poseidon_block_cipher
// Requires: plonk_wasm, tsRustConversion, tsRustConversion
function caml_pasta_fp_poseidon_block_cipher(_fake_params, fp_vector) {
// 1. get permuted field vector from rust
var wasm_flat_vector = plonk_wasm.caml_pasta_fp_poseidon_block_cipher(
tsRustConversion.fp.vectorToRust(fp_vector)
);
var new_fp_vector = tsRustConversion.fp.vectorFromRust(wasm_flat_vector);
// 2. write back modified field vector to original one
new_fp_vector.forEach(function (a, i) {
fp_vector[i] = a;
});
}

// Provides: caml_pasta_fq_poseidon_block_cipher
// Requires: plonk_wasm, tsRustConversion, tsRustConversion
function caml_pasta_fq_poseidon_block_cipher(_fake_params, fq_vector) {
// 1. get permuted field vector from rust
var wasm_flat_vector = plonk_wasm.caml_pasta_fq_poseidon_block_cipher(
tsRustConversion.fq.vectorToRust(fq_vector)
);
var new_fq_vector = tsRustConversion.fq.vectorFromRust(wasm_flat_vector);
// 2. write back modified field vector to original one
new_fq_vector.forEach(function (a, i) {
fq_vector[i] = a;
});
}
3 changes: 0 additions & 3 deletions src/lib/crypto/kimchi_bindings/js/bindings/proof.js
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,3 @@ var caml_pasta_fq_plonk_proof_deep_copy = function (proof) {
);
};

// Provides: prover_to_json
// Requires: plonk_wasm
var prover_to_json = plonk_wasm.prover_to_json;
Loading