Skip to content

docs: add Kusama grant milestone-3 evidence - #315

Draft
benceharomi wants to merge 19 commits into
stagingfrom
kusama-grant
Draft

docs: add Kusama grant milestone-3 evidence#315
benceharomi wants to merge 19 commits into
stagingfrom
kusama-grant

Conversation

@benceharomi

@benceharomi benceharomi commented Aug 4, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds docs/kusama-grant/ tracking delivery evidence for this repository's Milestone 3 deliverable (deliverable 5, verbatim from the submitted proposal)
  • 05_frontend_integration_and_documentation.md: implementation notes for chain selection, the on-chain verification UI, and dynamic block explorer links, citing the real Playwright test suite at tests/kusama/, which runs in CI on every push to staging/main
  • 06_public_howto.md: step-by-step public walkthrough with screenshots - create a blueprint, set Paseo as the target chain, upload an email, generate a proof, and verify it both locally and on-chain through the UI
  • 07_bytecode_verification.md: reproduces a blueprint's deployed verifier contract bytecode from its downloadable circuit.zip and confirms it matches on-chain, since PolkaVM deployments have no source-verification service yet

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@benceharomi
benceharomi marked this pull request as draft August 4, 2026 14:14
…entation)

Documents deliverable 5 from the submitted grant proposal: chain
selection in blueprint creation, on-chain proof verification UI, chain-aware
block explorer links, and a fix so manually selected ZK frameworks are
respected instead of being overridden.
Points the doc at tests/kusama/ (moved from the flat tests/ dir, now
against the current-pipeline kusama_grant_paseo_e2e blueprint instead of
the pre-existing test_0001_2) and weaves each test's coverage into the
relevant Implementation Notes subsection: chain selector, on-chain
verification, and explorer links. Replaces the TBD CI placeholder with a
real passing run.
"Not X, which predates it" is reasoning about our own process, not a
fact a curator needs about this blueprint. State what it is, not what
it isn't.
Not part of the submitted deliverable text ("target chain selection and
on-chain proof verification"). It's a real fix, but it's about which
proving system gets used, unrelated to chain selection or on-chain
verification. Same call already made for sdk-js's Noir v2 item.
Step-by-step walkthrough with screenshots covering blueprint creation,
setting Paseo as the target chain, proof generation, and both local
and on-chain verification through the registry frontend.
Reproduces a blueprint's deployed verifier contract bytecode from its
downloadable circuit.zip and compares the hash against the on-chain
code, since PolkaVM deployments have no source-verification service
yet. Verified independently on two clean rebuilds.
These links were off by one level from the start (predates the docs/
directory reorg in the other repos), pointing at docs/src/... instead
of the repo's actual src/... Found while auditing all kusama-grant docs
across repos for dead links, prompted by a curator flagging milestone 2.
Extends the bytecode-verification methodology already used for the
wrapper to the Groth16Verifier it calls: reads GROTH16_VERIFIER() off
the deployed wrapper rather than just stating the address, and compares
its runtime bytecode against a clean rebuild from the same circuit.zip
bundle. Both match. Answers Reza's follow-up ask for this same evidence
pattern to cover the verifier, not just the wrapper.
Closes out Reza's remaining bytecode-verification ask: the sdk-images
generator commit, circuit.zip and zkey hashes, alongside the wrapper
and Groth16Verifier runtime hashes already documented above. Compiler
settings point back at the bundle's own hardhat.config.ts rather than
restating them, since that's already reproducible by anyone who
downloads the bundle.
Demonstrates the same real proof succeeding while its DKIM key is
valid in the M1 registry, then failing after that exact key is
revoked, using 4 real on-chain transactions (revoke, failed verify,
restore, succeeding verify) against the real deployed contracts. No
new proof generated - the deployed wrapper's domain check is a
compile-time constant, so a separate test domain would need an
entirely new deployment; revoking and immediately re-registering the
existing key demonstrates the actual state transition with a window
of a few seconds and no lasting effect.

Answers Reza's follow-up on this point, and distinguishes it from the
existing bit-flip negative control in milestone 2's 06_e2e_demo.md,
which hits the same InvalidPublicKey() error but for a fabricated
hash rather than a real registry state transition.
…c 05

Adds the new verifyTamperedProofOnChain.ts test to the coverage table
and updates the example passing CI run to today's, which includes it.
…nance table

Was a placeholder in the reproduce command; now a real, independently
checkable value (the blueprint's own updated_at via its public API),
with its own table row and reproduce command.
…tations

Centralizes the wrapper/Groth16Verifier addresses, deployment and
proof-verify txs, the revocation demo's 4 txs, and CI run links -
facts previously repeated across multiple docs (wrapper address alone
was cited 16 times across all three repos' docs). Docs link to it by
line range instead of restating values inline. Not touching doc 07's
own Deployment Manifest table (canonical source) or literal values
inside reproduce command blocks.
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.

2 participants