Skip to content

feat: support JSON input files for bb verify command (v2)#19966

Merged
johnathan79717 merged 1 commit into
merge-train/barretenbergfrom
jh/json-input-format-v2
Jan 28, 2026
Merged

feat: support JSON input files for bb verify command (v2)#19966
johnathan79717 merged 1 commit into
merge-train/barretenbergfrom
jh/json-input-format-v2

Conversation

@johnathan79717

@johnathan79717 johnathan79717 commented Jan 27, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Re-land of feat: support JSON input files for bb verify command #19800 with fixes for WASM build and bootstrap.sh field names
  • Add type-specific JSON structs (VkJson, ProofJson, PublicInputsJson) with named fields per review feedback
  • Auto-detect JSON vs binary format in verify command
  • Update bootstrap.sh to use new field names (.vk, .proof, .public_inputs, .hash)
  • Suppress nlohmann/json sign-conversion warnings for WASM builds using pragma

Size Impact

Build Without nlohmann/json With nlohmann/json Difference
Native bb 63.18 MB 63.20 MB +19 KB (0.03%)
WASM bb 13.49 MB 13.52 MB +30 KB (0.22%)

Test plan

  • Native build passes
  • WASM build passes (with --target bb)
  • regenerate_recursive_inputs passes
  • JSON prove and verify works end-to-end

@johnathan79717 johnathan79717 added the ci-full Run all master checks. label Jan 27, 2026
- Add type-specific JSON structs (VkJson, ProofJson, PublicInputsJson) with named fields
- Auto-detect JSON vs binary format in verify command
- Update bootstrap.sh to use new field names (.vk, .proof, .public_inputs, .hash)
- Suppress nlohmann/json sign-conversion warnings for WASM builds
@johnathan79717 johnathan79717 force-pushed the jh/json-input-format-v2 branch from a340df7 to e2cf771 Compare January 27, 2026 11:43
@johnathan79717

Copy link
Copy Markdown
Contributor Author

Size impact of adding nlohmann/json parsing support to native bb binary:

Version Size
Without nlohmann/json 63,179,912 bytes (60.25 MB)
With nlohmann/json 63,199,560 bytes (60.27 MB)
Difference +19,648 bytes (+19 KB, 0.03%)

Negligible impact.

@ludamad ludamad left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm but what is the added size to the WASM?

@johnathan79717

Copy link
Copy Markdown
Contributor Author

Updated with WASM size impact:

Build Without nlohmann/json With nlohmann/json Difference
Native bb 63.18 MB 63.20 MB +19 KB (0.03%)
WASM bb 13.49 MB 13.52 MB +30 KB (0.22%)

Both are negligible.

@johnathan79717 johnathan79717 added this pull request to the merge queue Jan 28, 2026
@johnathan79717 johnathan79717 removed this pull request from the merge queue due to a manual request Jan 28, 2026
@johnathan79717 johnathan79717 changed the base branch from next to merge-train/barretenberg January 28, 2026 16:09
@johnathan79717 johnathan79717 merged commit c46106d into merge-train/barretenberg Jan 28, 2026
23 checks passed
@johnathan79717 johnathan79717 deleted the jh/json-input-format-v2 branch January 28, 2026 16:09
github-merge-queue Bot pushed a commit that referenced this pull request Jan 28, 2026
## Summary
- Re-land of #19800 with fixes for WASM build and bootstrap.sh field
names
- Add type-specific JSON structs (VkJson, ProofJson, PublicInputsJson)
with named fields per review feedback
- Auto-detect JSON vs binary format in verify command
- Update bootstrap.sh to use new field names (.vk, .proof,
.public_inputs, .hash)
- Suppress nlohmann/json sign-conversion warnings for WASM builds using
pragma

## Size Impact

| Build | Without nlohmann/json | With nlohmann/json | Difference |
|-------|----------------------|-------------------|------------|
| Native `bb` | 63.18 MB | 63.20 MB | **+19 KB (0.03%)** |
| WASM `bb` | 13.49 MB | 13.52 MB | **+30 KB (0.22%)** |

## Test plan
- [x] Native build passes
- [x] WASM build passes (with `--target bb`)
- [x] `regenerate_recursive_inputs` passes
- [x] JSON prove and verify works end-to-end
@AztecBot

AztecBot commented Jan 28, 2026

Copy link
Copy Markdown
Collaborator

Flakey Tests

🤖 says: This CI run detected 1 tests that failed, but were tolerated due to a .test_patterns.yml entry.

\033FLAKED\033 (8;;http://ci.aztec-labs.com/97ee1f16dfc239b2�97ee1f16dfc239b28;;�): yarn-project/scripts/run_test.sh p2p/src/client/test/tx_proposal_collector/p2p_client.proposal_tx_collector_bench.test.ts (95s) (code: 1) group:e2e-p2p-epoch-flakes (\033Jonathan Hao\033: feat: support JSON input files for bb verify command (v2) (#19966))

github-merge-queue Bot pushed a commit that referenced this pull request Jan 28, 2026
BEGIN_COMMIT_OVERRIDE
chore: secp fixes (#19931)
feat: support JSON input files for bb verify command (v2) (#19966)
END_COMMIT_OVERRIDE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-full Run all master checks.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants