Skip to content

Commit fe77072

Browse files
committed
Merge branch 'main' into feature/zkprogram-qol
2 parents e59b340 + 795b060 commit fe77072

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

.github/workflows/build-action.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,11 @@ jobs:
311311
env:
312312
INPUT_TOKEN: ${{ secrets.NPM_TOKEN }}
313313

314+
- name: Configure Git
315+
run: |
316+
git config --local user.email "[email protected]"
317+
git config --local user.name "GitHub Action"
318+
314319
- name: Tag new version
315320
if: ${{ steps.publish.outputs.type }} # https://github.com/JS-DevTools/npm-publish?tab=readme-ov-file#action-output
316321
env:

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
2323

2424
- `ZkProgram` to support non-pure provable types as inputs and outputs https://github.com/o1-labs/o1js/pull/1828
2525
- API for recursively proving a ZkProgram method from within another https://github.com/o1-labs/o1js/pull/1931
26-
- `let recursive = Experimental.Recursive(program); recursive.<methodName>(...args): Promise<PublicOutput>`
26+
- `let recursive = Experimental.Recursive(program);`
27+
- `recursive.<methodName>(...args): Promise<PublicOutput>`
2728
- This also works within the same program, as long as the return value is type-annotated
2829
- Add `enforceTransactionLimits` parameter on Network https://github.com/o1-labs/o1js/issues/1910
2930
- Method for optional types to assert none https://github.com/o1-labs/o1js/pull/1922

src/lib/proof-system/recursive.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ function Recursive<
6262

6363
let methodKeys: MethodKey[] = Object.keys(methods);
6464

65-
let regularRecursiveProvers = mapObject(zkprogram, (prover, key) => {
65+
let regularRecursiveProvers = mapToObject(methodKeys, (key) => {
6666
return async function proveRecursively_(
6767
publicInput: PublicInput,
6868
...args: TupleToInstances<PrivateInputs[MethodKey]>
@@ -77,6 +77,9 @@ function Recursive<
7777
let constArgs = zip(args, privateInputs[key]).map(([arg, type]) =>
7878
Provable.toConstant(type, arg)
7979
);
80+
81+
let prover = zkprogram[key];
82+
8083
if (hasPublicInput) {
8184
let { proof } = await prover(constInput, ...constArgs);
8285
return proof;

0 commit comments

Comments
 (0)