MCPcopy Index your code
hub / github.com/arkworks-rs/spongefish

github.com/arkworks-rs/spongefish @v0.7.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.7.4 ↗ · + Follow
368 symbols 896 edges 39 files 64 documented · 17%

Browse by type

Functions 314 Types & classes 54
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

spongefish: a duplex sponge Fiat–Shamir library 🧽🐟

Sponge FiSh (duplex sponge Fiat–Shamir) is a permutation-agnostic Fiat–Shamir library that believes in random oracles. It facilitates the writing of multi-round public coin protocols. It provides a generic API for generating the verifier's random coins and the prover randomness. The project is split into several crates:

  • spongefish: the core library and trait implementations for arkworks/zkcrypto types together with the duplex sponge API.
  • spongefish-circuit: constraint builders for permutation-based relations.
  • spongefish-derive: derive macros for codecs and related traits.
  • spongefish-pow: proof‑of‑work helpers for deriving Fiat–Shamir challenges via grinding.

Hash function can also be derived via bridges to Rust's generic Digest API, and XofReader.

More information

Check out the documentation and some examples/.

Funding

This project is funded through NGI0 Entrust, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet project page.

NLnet foundation logo NGI Zero Logo

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 171
Function 143
Class 44
Interface 9
Enum 1

Languages

Rust100%
Python1%

Modules by API surface

spongefish/src/drivers/ark_ff_impl.rs26 symbols
spongefish/src/narg_prover.rs25 symbols
spongefish/src/drivers/tests.rs23 symbols
circuit/src/permutation.rs22 symbols
spongefish/src/domain_separator.rs21 symbols
pow/src/blake3.rs20 symbols
circuit/src/allocator.rs18 symbols
spongefish/src/tests.rs17 symbols
spongefish/src/narg_verifier.rs16 symbols
spongefish/src/instantiations/hash.rs14 symbols
spongefish/src/duplex_sponge.rs14 symbols
spongefish/src/instantiations/xof.rs13 symbols

For agents

$ claude mcp add spongefish \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page