Skip to content

Commit 5854f81

Browse files
lispcroynalnarutonoel2004kunxian-xia
authored
Feat: stable phase1/phase2 (#84)
* phase1 tested * seems ok * lint * cleanup * fix(TOB-SCREUC-1): at least 1 pi | pis and pi_hashes are equal in length * chore: rename chunk infos * fix(TOB-SCREUC-2): insufficient validation of chunk info between witness and blob * fix(TOB-SCREUC-5): lax parsing of batch payload * fix: code quality recommendations * chore: update commitments * fix: update v3 payload parsing * chore: update commitments * [Fix] for phase1 rc9 (#87) * fix pi hash in bundle * add santiy check for bundle task * fix typo and expression * add local task test, output local task in e2e * + add bundle local task sample, update batch local task sample + sanity check for final e2e bundle pi * rc9 * rc9 * phase2 * done * feat: extend prover config * fix(integration): compile OK * chore: bump rc10 and update commitments * upgrade openvm (#97) * upgrade openvm * chore: update snark-verifier-sdk * chore: update tiny-keccak * chore: upgrade openvm (alloy-core, revm, reth, sbv) * chore: update sbv * chore(build-guest): build both since openvm upgraded * chore: update commitments --------- Co-authored-by: Rohit Narurkar <[email protected]> * Update the comment for kzg g2 setup (#88) * chore: update commitments * Phase-2 audit fixes (#98) * fix(TOB-SCREUC2-3): use github output instead of github env * fix(TOB-SCREUC2-4): pin 3rd party actions * fix(TOB-SCREUC2-5): do not persist git credentials * feat: runtime multi version (#81) * circuit::types can support multi versions * phase feature free for batch circuit * fix issue after merging * make chunk circuit feature free * prune unnecessary commitment file, and revert verify_commitments update * fix: soundnes in bundle circuit and typo * bundle circuit feature free * refactoring: Rename codec_version => fork_name unitfy the occurance of fork_name field among task and witness (not info) * resume multiple version of bundle circuit * update build-guest * update make file * fix build-guest * update lock * fix issue in build guest input * enable co-exist of mutiple bundle app * fix typo * fix "most legacy" issue * update release scripts * [FEAT] better test structure (#82) * better structure for testdata (WIP) * fix chunk test and prune batch test (WIP) * update make file and test samples * test new batch test scheme * add batch invariant test * update makefile for required chunk proof * prune unnecessary container cleanning * fixings after rebase * fix according to review: use more straight fashion for chunk task generations * FIX: the correct order in batchheader enum * better version setting for test task * add readme files * rename v3 to v6 * rename "legacy" to "euclidv1" according to review * renaming in scripts * task must use explicitily specified `fork_name` * update the sanity check of bundle hash in e2e of phase v1 since the "version" field in batchheader changed (7->6) --------- Co-authored-by: noelwei <[email protected]> Co-authored-by: Ho <[email protected]> * chore: update commitments * upgrade openvm and revm; fix pairing edge cases * add commitments * fmt * pruge unused bls12_381 openvm extension in bundle circuit * fix(TOB-SCREUC2-3) follow-up: extract variable and use * feat: rv32 chunk fallback (#100) * feat: batch support rv32 chunk * add ChunkRv32Prover and e2e tests, testing * add commitment verify for rv32 fallback in verifier * testing e2e * add commitments * toolchain & lint * docker * tag 0.2.0 * update commits --------- Co-authored-by: noelwei <[email protected]> * clean * chore: cleanup * chore: update commitments * feat(build-guest): write digests * fix(build-guest): add digests * fix: batch task v7 contains unpadded blob bytes, envelope v7 expects padded * [Feat] sanity check for pi while generating proof (#102) * sanity check for pi in proof gen * update according to review * fix another issue * add missed assert * resume the comment * chore: update commitments * fix: update release script to push digests from correct source path * fix(tests): prev msg queue hash population for euclidv1 * fix: sanity check on wrapped proof * fix: tests * chore: update commitments --------- Co-authored-by: Rohit Narurkar <[email protected]> Co-authored-by: Ho <[email protected]> Co-authored-by: xkx <[email protected]> Co-authored-by: Ho <[email protected]>
1 parent 7621bbd commit 5854f81

File tree

155 files changed

+2274
-1931
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

155 files changed

+2274
-1931
lines changed

.github/workflows/build-guest.yml

+8-6
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ jobs:
3636
steps:
3737
- name: Checkout code
3838
uses: actions/checkout@v4
39+
with:
40+
persist-credentials: false
3941

4042
- name: chunk commitments (prover)
4143
id: commitments-chunk-prover
@@ -110,31 +112,31 @@ jobs:
110112
} >> $GITHUB_OUTPUT
111113
112114
- name: Sanity check for chunk-commitments (prover vs verifier)
113-
uses: nick-fields/assert-action@v1
115+
uses: nick-fields/assert-action@aa0067e01f0f6545c31755d6ca128c5a3a14f6bf # v2.0.0
114116
with:
115117
expected: ${{ steps.commitments-chunk-prover.outputs.commitments }}
116118
actual: ${{ steps.commitments-chunk-verifier.outputs.commitments }}
117119

118120
- name: Sanity check for chunk-commitments (prover vs circuits)
119-
uses: nick-fields/assert-action@v1
121+
uses: nick-fields/assert-action@aa0067e01f0f6545c31755d6ca128c5a3a14f6bf # v2.0.0
120122
with:
121123
expected: ${{ steps.commitments-chunk-prover.outputs.commitments }}
122124
actual: ${{ steps.commitments-chunk-circuits.outputs.commitments }}
123125

124126
- name: Sanity check for batch-commitments (prover vs verifier)
125-
uses: nick-fields/assert-action@v1
127+
uses: nick-fields/assert-action@aa0067e01f0f6545c31755d6ca128c5a3a14f6bf # v2.0.0
126128
with:
127129
expected: ${{ steps.commitments-batch-prover.outputs.commitments }}
128130
actual: ${{ steps.commitments-batch-verifier.outputs.commitments }}
129131

130132
- name: Sanity check for batch-commitments (prover vs circuits)
131-
uses: nick-fields/assert-action@v1
133+
uses: nick-fields/assert-action@aa0067e01f0f6545c31755d6ca128c5a3a14f6bf #v2.0.0
132134
with:
133135
expected: ${{ steps.commitments-batch-prover.outputs.commitments }}
134136
actual: ${{ steps.commitments-batch-circuits.outputs.commitments }}
135137

136138
- name: Sanity check for bundle-commitments (prover vs verifier)
137-
uses: nick-fields/assert-action@v1
139+
uses: nick-fields/assert-action@aa0067e01f0f6545c31755d6ca128c5a3a14f6bf #v2.0.0
138140
with:
139141
expected: ${{ steps.commitments-bundle-prover.outputs.commitments }}
140142
actual: ${{ steps.commitments-bundle-verifier.outputs.commitments }}
@@ -146,7 +148,7 @@ jobs:
146148
git diff --quiet && echo "no diff" || (echo "diff"; exit 1)
147149
148150
- name: Upload artifact (chunk app.vmexe)
149-
uses: actions/upload-artifact@v4
151+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 #v4.6.2
150152
with:
151153
name: chunk-app-vmexe
152154
path: ./crates/circuits/chunk-circuit/openvm/app.vmexe

.github/workflows/lint.yml

+13-5
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
should_skip: ${{ steps.skip_check.outputs.should_skip }}
2020
steps:
2121
- id: skip_check
22-
uses: fkirc/skip-duplicate-actions@v5
22+
uses: fkirc/skip-duplicate-actions@f75f66ce1886f00957d99748a42c724f4330bdcf #v5.3.1
2323
with:
2424
cancel_others: 'true'
2525
concurrent_skipping: same_content_newer
@@ -35,10 +35,14 @@ jobs:
3535
runs-on: ubuntu-latest
3636
steps:
3737
- uses: actions/checkout@v4
38-
- uses: dtolnay/rust-toolchain@master
3938
with:
40-
toolchain: "nightly-2024-12-06"
39+
persist-credentials: false
40+
41+
- uses: dtolnay/rust-toolchain@56f84321dbccf38fb67ce29ab63e4754056677e0
42+
with:
43+
toolchain: "nightly-2025-02-14"
4144
components: rustfmt
45+
4246
- name: Cargo fmt
4347
run: cargo fmt --all -- --check
4448

@@ -52,9 +56,13 @@ jobs:
5256
runs-on: ubuntu-latest
5357
steps:
5458
- uses: actions/checkout@v4
55-
- uses: dtolnay/rust-toolchain@master
5659
with:
57-
toolchain: "nightly-2024-12-06"
60+
persist-credentials: false
61+
62+
- uses: dtolnay/rust-toolchain@56f84321dbccf38fb67ce29ab63e4754056677e0
63+
with:
64+
toolchain: "nightly-2025-02-14"
5865
components: clippy
66+
5967
- name: Clippy
6068
run: make clippy

.github/workflows/profile-guest.yml

+8-4
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ jobs:
1313
steps:
1414
- name: Checkout code
1515
uses: actions/checkout@v4
16+
with:
17+
persist-credentials: false
1618

1719
- name: Download artifact (chunk app.vmexe)
1820
uses: actions/download-artifact@v4
@@ -21,23 +23,25 @@ jobs:
2123
path: ./crates/circuits/chunk-circuit/openvm/
2224

2325
- name: Setup rust
24-
uses: dtolnay/rust-toolchain@master
26+
uses: dtolnay/rust-toolchain@56f84321dbccf38fb67ce29ab63e4754056677e0
2527
with:
26-
toolchain: nightly-2024-12-06
28+
toolchain: nightly-2025-02-14
2729

2830
- name: Guest profiling to capture total_cycles
2931
id: guest-profiling
3032
run: |
3133
# Run the tests and capture the output
3234
output=$(make profile-chunk | grep "scroll-zkvm-integration(chunk-circuit): total cycles = ")
33-
echo "total_cycles=$output" >> $GITHUB_ENV
35+
echo "total_cycles=$output" >> $GITHUB_OUTPUT
3436
3537
- name: Update PR Description
3638
uses: actions/github-script@v6
39+
env:
40+
TOTAL_CYCLES: ${{ steps.guest-profiling.outputs.total_cycles }}
3741
with:
3842
script: |
3943
const prNumber = context.payload.pull_request.number;
40-
const totalCycles = process.env.total_cycles;
44+
const totalCycles = '${TOTAL_CYCLES}';
4145
const currentBody = context.payload.pull_request.body;
4246
4347
// Update the PR description with the total cycles

.gitignore

+3-7
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@
88

99
root_verifier.asm
1010

11-
crates/verifier/testdata/euclidv1/root-verifier-vm-config
12-
crates/verifier/testdata/euclidv1/root-verifier-committed-exe
13-
crates/verifier/testdata/euclidv1/verifier.bin
14-
15-
crates/verifier/testdata/euclidv2/root-verifier-vm-config
16-
crates/verifier/testdata/euclidv2/root-verifier-committed-exe
17-
crates/verifier/testdata/euclidv2/verifier.bin
11+
root-verifier-vm-config
12+
root-verifier-committed-exe
13+
verifier.bin

0 commit comments

Comments
 (0)