Skip to content

Add server-side SMT inclusion proof generation#20

Merged
MatteoMer merged 2 commits intomainfrom
server-side-smt-proof
Mar 13, 2026
Merged

Add server-side SMT inclusion proof generation#20
MatteoMer merged 2 commits intomainfrom
server-side-smt-proof

Conversation

@MatteoMer
Copy link
Copy Markdown
Collaborator

@MatteoMer MatteoMer commented Mar 12, 2026

Summary

  • Make smt_blob_data and smt_proof optional in the transfer API (CreateBlobRequest and FinalizeTransferRequest)
  • When omitted, the server computes nullifiers from input_notes + notes_root and generates the SMT inclusion proof via Barretenberg prover
  • Existing client-provided proof path remains fully supported (backwards compatible)
  • Fix generate_fixtures.sh: remove duplicate compile step, use proper bash array expansion for oracle_hash_args
  • Update HYLI_UTXO_PUBLIC_INPUTS_COUNT (732 → 713) and regenerate fixture keys/programs

🤖 Generated with Claude Code

MatteoMer and others added 2 commits March 12, 2026 17:56
Allow clients to omit `smt_blob_data` and `smt_proof` from transfer
requests. When absent, the server computes nullifiers from `input_notes`
+ `notes_root` and generates the SMT inclusion proof using the
Barretenberg prover. This simplifies the client integration by moving
proof generation server-side while keeping the existing client-provided
proof path fully supported.

Also fixes generate_fixtures.sh (duplicate compile, proper bash array
expansion) and updates regenerated fixtures/keys.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@MatteoMer MatteoMer merged commit 0197a41 into main Mar 13, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant