Skip to content

Commit f58e53f

Browse files
committed
Merge branch 'main' into shigoto/performance-regression-framework
2 parents fe7e9eb + ad83c45 commit f58e53f

File tree

5 files changed

+37
-21
lines changed

5 files changed

+37
-21
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
"e2e:run-server": "node dist/web/server.js",
8484
"e2e:install": "npx playwright install --with-deps",
8585
"e2e:show-report": "npx playwright show-report tests/report",
86-
"update-changelog": "./update-changelog.sh",
86+
"update-changelog": "./scripts/changelog/update-changelog.sh",
8787
"prepare": "husky"
8888
},
8989
"author": "O(1) Labs",
Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
# Ensure that you have the necessary permissions to commit and push changes to the repository.
2020

2121
# Step 1: Capture the latest version
22-
latest_version=$(grep -oP '\[\K[0-9]+\.[0-9]+\.[0-9]+(?=\])' CHANGELOG.md | head -1)
22+
latest_version=$(grep -o '\[\K[0-9]+\.[0-9]+\.[0-9]+(?=\])' CHANGELOG.md | head -1)
2323
echo "Latest version: $latest_version"
2424

2525
# Step 2: Bump the patch version
@@ -37,11 +37,17 @@ current_date=$(date +%Y-%m-%d)
3737
echo "Current date: $current_date"
3838

3939
# Step 5: Extract the second SHA from the compare URL of the latest version
40-
previous_commit=$(grep -m 1 -oP '\[.*?\]\(https://github.com/o1-labs/o1js/compare/[a-f0-9]+\.\.\.\K[a-f0-9]+(?=\))' CHANGELOG.md)
40+
previous_commit=$(grep -m 1 -o '\[.*?\]\(https://github.com/o1-labs/o1js/compare/[a-f0-9]+\.\.\.\K[a-f0-9]+(?=\))' CHANGELOG.md)
4141
echo "Previous commit: $previous_commit"
4242

4343
# Step 6: Update the CHANGELOG
4444
sed -i "s/\[Unreleased\](.*\.\.\.HEAD)/\[Unreleased\](https:\/\/github.com\/o1-labs\/o1js\/compare\/$current_commit...HEAD)\n\n## \[$new_version\](https:\/\/github.com\/o1-labs\/o1js\/compare\/$previous_commit...$current_commit) - $current_date/" CHANGELOG.md
4545

46-
# Step 7: Auto-fix compare URLs for all past versions
47-
node fix-changelog-links.cjs
46+
# Step 7: Auto-fix compare URLs for all past versions, if -r is set
47+
while getopts "r" opt; do
48+
case $opt in
49+
r)
50+
node scripts/changelog/fix-changelog-links.cjs
51+
;;
52+
esac
53+
done

src/examples/zkprogram/side-loading/dynamic-keys-merkletree.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import {
22
DynamicProof,
33
FeatureFlags,
44
Field,
5-
MerkleTree,
65
MerkleWitness,
76
Proof,
87
SelfProof,
@@ -11,7 +10,13 @@ import {
1110
ZkProgram,
1211
} from 'o1js';
1312

14-
export { mainProgram, sideloadedProgram, SideloadedProgramProof,MerkleTreeWitness, MainProgramState };
13+
export {
14+
mainProgram,
15+
sideloadedProgram,
16+
SideloadedProgramProof,
17+
MerkleTreeWitness,
18+
MainProgramState,
19+
};
1520

1621
/**
1722
* This example showcases how DynamicProofs can be used along with a merkletree that stores
@@ -127,4 +132,3 @@ const mainProgram = ZkProgram({
127132
},
128133
},
129134
});
130-
Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,42 @@
1-
import { Field, MerkleTree, verify } from "o1js";
2-
import { sideloadedProgram, mainProgram, SideloadedProgramProof, MerkleTreeWitness, MainProgramState } from "./dynamic-keys-merkletree.js";
1+
import { Field, MerkleTree, verify } from 'o1js';
2+
import {
3+
sideloadedProgram,
4+
mainProgram,
5+
SideloadedProgramProof,
6+
MerkleTreeWitness,
7+
MainProgramState,
8+
} from './dynamic-keys-merkletree.js';
39

410
console.log('Compiling circuits...');
5-
const programVk = (await sideloadedProgram.compile()).verificationKey;
11+
const sideVk = (await sideloadedProgram.compile()).verificationKey;
612
const mainVk = (await mainProgram.compile()).verificationKey;
713

814
const tree = new MerkleTree(64);
915

1016
console.log('Proving deployment of side-loaded key');
1117
const rootBefore = tree.getRoot();
12-
tree.setLeaf(1n, programVk.hash);
18+
tree.setLeaf(1n, sideVk.hash);
1319
const witness = new MerkleTreeWitness(tree.getWitness(1n));
1420

1521
const { proof: proof1 } = await mainProgram.addSideloadedProgram(
1622
new MainProgramState({
1723
treeRoot: rootBefore,
1824
state: Field(0),
1925
}),
20-
programVk,
26+
sideVk,
2127
witness
2228
);
2329

2430
console.log('Proving child program execution');
25-
const { proof: childProof } = await sideloadedProgram.compute(Field(0), Field(10));
31+
const { proof: childProof1 } = await sideloadedProgram.compute(Field(0), Field(10));
2632

2733
console.log('Proving verification inside main program');
2834
const { proof: proof2 } = await mainProgram.validateUsingTree(
2935
proof1.publicOutput,
3036
proof1,
31-
programVk,
37+
sideVk,
3238
witness,
33-
SideloadedProgramProof.fromProof(childProof)
39+
SideloadedProgramProof.fromProof(childProof1)
3440
);
3541

3642
const validProof2 = await verify(proof2, mainVk);
@@ -40,13 +46,13 @@ console.log('Proving different method of child program');
4046
const { proof: childProof2 } = await sideloadedProgram.assertAndAdd(Field(0), Field(10));
4147

4248
console.log('Proving verification inside main program');
43-
const proof3 = await mainProgram.validateUsingTree(
49+
const { proof: proof3 } = await mainProgram.validateUsingTree(
4450
proof1.publicOutput,
4551
proof1,
46-
programVk,
52+
sideVk,
4753
witness,
48-
SideloadedProgramProof.fromProof(childProof)
54+
SideloadedProgramProof.fromProof(childProof2)
4955
);
5056

51-
const validProof3 = await verify(proof2, mainVk);
52-
console.log('ok?', validProof2);
57+
const validProof3 = await verify(proof3, mainVk);
58+
console.log('ok?', validProof3);

0 commit comments

Comments
 (0)