From 2e71ab0fcc0eb014d0af47c476be37d583507d0f Mon Sep 17 00:00:00 2001 From: zkzoomer Date: Fri, 17 Nov 2023 16:15:18 +0300 Subject: [PATCH 1/2] bug fixes --- src/lib/gates.ts | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/lib/gates.ts b/src/lib/gates.ts index f6f803730b..f3636e0631 100644 --- a/src/lib/gates.ts +++ b/src/lib/gates.ts @@ -1,9 +1,9 @@ import { Snarky } from '../snarky.js'; -import { FieldConst, type Field } from './field.js'; +import { FieldConst, Field, FieldVar } from './field.js'; import { MlArray, MlTuple } from './ml/base.js'; import { TupleN } from './util/types.js'; -export { rangeCheck0, rangeCheck1, xor, zero, rotate, generic }; +export { rangeCheck0, rangeCheck1, xor, zero, lookup, addFixedLookupTable, addDynamicLookupTable, rotate, generic }; function rangeCheck0( x: Field, @@ -131,14 +131,19 @@ function zero(a: Field, b: Field, c: Field) { Snarky.gates.zero(a.value, b.value, c.value); } -function lookup(id: Field, index: Field, value: Field) { - Snarky.gates.lookup([id.value, index.value, value.value, index.value, value.value, index.value, value.value]); +function lookup(id: Field, index: Field, value: Field) { + Snarky.gates.lookup([0, id.value, index.value, value.value, index.value, value.value, index.value, value.value]); } -function addFixedLookupTable(id: number, data: [[Field], [Field]]) { - Snarky.gates.addFixedLookupTable(id, [data[0].map((x) => x.value), data[1].map((x) => x.value)]); +function addFixedLookupTable(id: number, indices: Field[], data: Field[]) { + Snarky.gates.addFixedLookupTable( + id, + MlArray.to([ + MlArray.to(indices.map((x) => FieldConst.fromBigint(x.toBigInt()))), + MlArray.to(data.map((x) => FieldConst.fromBigint(x.toBigInt()))) + ])) } -function addDynamicLookupTable(id: number, data: [Field]) { - Snarky.gates.addRuntimeTableConfig(id, data.map((x) => x.value)); +function addDynamicLookupTable(id: number, data: Field[]) { + Snarky.gates.addRuntimeTableConfig(id, MlArray.to(data.map((x) => FieldConst.fromBigint(x.toBigInt())))); } From 4c11f3143373d148db9c73d05026b436dc08e1b4 Mon Sep 17 00:00:00 2001 From: zkzoomer Date: Fri, 17 Nov 2023 16:15:32 +0300 Subject: [PATCH 2/2] export lookups --- src/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/index.ts b/src/index.ts index 59d6f5eb5a..347676bc7e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -24,6 +24,7 @@ export { UInt32, UInt64, Int64, Sign } from './lib/int.js'; export { Gadgets } from './lib/gadgets/gadgets.js'; export { Types } from './bindings/mina-transaction/types.js'; +export * as Gates from './lib/gates.js'; export * as Mina from './lib/mina.js'; export type { DeployArgs } from './lib/zkapp.js'; export {