UNPKG

o1js

Version:

TypeScript framework for zk-SNARKs and zkApps

25 lines (22 loc) 767 B
import { ConstantField, Field } from '../provable/field.js'; import { FieldVar, FieldConst } from '../provable/core/fieldvar.js'; import { MlArray } from './base.js'; export { MlFieldArray, MlFieldConstArray }; type MlFieldArray = MlArray<FieldVar>; const MlFieldArray = { to(arr: Field[]): MlArray<FieldVar> { return MlArray.to(arr.map((x) => x.value)); }, from([, ...arr]: MlArray<FieldVar>) { return arr.map((x) => new Field(x)); }, }; type MlFieldConstArray = MlArray<FieldConst>; const MlFieldConstArray = { to(arr: Field[]): MlArray<FieldConst> { return MlArray.to(arr.map((x) => x.toConstant().value[1])); }, from([, ...arr]: MlArray<FieldConst>): ConstantField[] { return arr.map((x) => new Field(x) as ConstantField); }, };