lambdaworks-groth16-ts
Version:
TypeScript bindings for LambdaWorks Groth16 SNARK prover
49 lines • 1.21 kB
JavaScript
export class FieldOperations {
constructor(wasmInstance) {
this.wasmInstance = wasmInstance;
}
/**
* Create a field element from a hex string
*/
fromHex(hexString) {
const cleanHex = hexString.replace('0x', '');
return this.wasmInstance.field_element_from_hex(cleanHex);
}
/**
* Convert field element to hex string
*/
toHex(element) {
return this.wasmInstance.field_element_to_hex(element);
}
/**
* Add two field elements
*/
add(a, b) {
return this.wasmInstance.field_element_add(a, b);
}
/**
* Multiply two field elements
*/
multiply(a, b) {
return this.wasmInstance.field_element_multiply(a, b);
}
/**
* Get the multiplicative inverse of a field element
*/
inverse(a) {
return this.wasmInstance.field_element_inverse(a);
}
/**
* Check if two field elements are equal
*/
equals(a, b) {
return this.wasmInstance.field_element_equals(a, b);
}
/**
* Generate a random field element
*/
random() {
return this.wasmInstance.field_element_random();
}
}
//# sourceMappingURL=field.js.map