Repository navigation
Docs: onboarding guide, ZK ADR, metrics reference, and escrow contract fuzzing - #425
Merged
Merged
Conversation
…validation Closes Viky207#377
… to first Closes Viky207#378
…rivacy ZK Closes Viky207#379
… backend w Closes Viky207#380
|
@cephascenturion Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Docs: onboarding guide, ZK ADR, metrics reference, and escrow contract fuzzing
What was solved
#377 — feat(contract): Fuzz testing suite for escrow input validation
Add a cargo-fuzz based property/fuzz testing suite for the escrow contract's input validation, covering escrow creation inputs (amount, memo, TTL) and ZK proof verification, with committed seed corpora, CI integration running each target for 60 seconds, and local run documentation in the contract README.
Addressed:
fuzz_escrow_createthat fuzzes amount, memo, and TTL inputsfuzz_proof_verifythat fuzzes the ZK proof byte array.github/workflows/contract.ymlto run each fuzz target for 60 seconds using-max_total_time=60#378 — docs: Create developer onboarding guide — from clone to first payment in 15 minutes
Create docs/DEVELOPER-ONBOARDING.md, a chronological 15-minute guide taking a new contributor from git clone to a testnet payment, with expected-output snippets per step and a troubleshooting section, then link it from the README's Setup Instructions section.
Addressed:
#379 — docs: Write Architecture Decision Record for X-Ray privacy ZK scheme selection
Create a new Architecture Decision Record documenting the ZK proof scheme selection for X-Ray privacy, following the existing ADR template, and update the ADR index. The ADR will cover context, decision, alternatives, consequences, and security considerations, including proving system, circuit framework, trusted setup, and Soroban instruction cost estimates, with a link to the contract implementation issue.
Addressed:
#380 — docs: Document all Prometheus metrics exposed by the backend with descriptions and alert thresholds
Add a Prometheus metrics reference to the backend observability docs, enumerating every metric exported via prom-client with name, type, labels, description, example PromQL, and recommended P0/P1 alert thresholds, plus a Grafana dashboard JSON, and link it from the backend README.
Addressed:
Changes
app/contract/fuzz/Cargo.toml(create)docs/adr/0007-xray-privacy-zk-scheme.md(create)app/contract/README.md(modify)docs/DEVELOPER-ONBOARDING.md(create)app/backend/docs/METRICS-REFERENCE.md(create).github/workflows/contract.yml(modify)app/contract/fuzz/fuzz_targets/fuzz_escrow_create.rs(create)docs/adr/README.md(modify)app/backend/README.md(modify)app/backend/docs/grafana-dashboard.json(create)docs/OBSERVABILITY-OPERATIONS.md(modify)Approach
Issues
Closes #377
Closes #378
Closes #379
Closes #380