Skip to content

docs(protocol-ref): add shielded pool concept and wire format#150

Merged
thephez merged 3 commits into
dashpay:developfrom
thephez:v3.1/shielded-pool
May 27, 2026
Merged

docs(protocol-ref): add shielded pool concept and wire format#150
thephez merged 3 commits into
dashpay:developfrom
thephez:v3.1/shielded-pool

Conversation

@thephez
Copy link
Copy Markdown
Collaborator

@thephez thephez commented May 27, 2026

Summary

  • New explanation page docs/explanations/shielded-pool.md introducing the Orchard-based shielded pool, the core primitives (notes, nullifiers, anchors, encrypted notes), the five shielded transition flows, and the 16-action-per-transition limit.
  • New protocol-ref page docs/protocol-ref/shielded-pool.md documenting the wire format for all five shielded transitions (Shield, Shielded Transfer, Unshield, Shield from Asset Lock, Shielded Withdrawal), the shared Orchard bundle and per-action SerializedAction shape, and the layered signing model (per-action spendAuthSig, transition-level bindingSignature, platform sighash, plus the transparent signatures on Shield and Shield from Asset Lock).
  • Wires the discriminator rows 15–19 in state-transition.md to the new page, adds a Signing Shielded Transitions subsection, and lists the shielded family in the signing-methods table.
  • Fixes the stale max_shielded_transition_actions entry in protocol-constants.md (was 100, correct value is 16 with a corrected source-link anchor) and adds max_asset_lock_transaction_inputs = 100.
  • Adds an Adding a new doc page block to CLAUDE.md documenting the Sphinx toctree requirement and the sync_sidebar.py step, plus the synced sidebar so the two new pages appear in the rendered nav.

Preview build: https://dash-docs-platform--150.org.readthedocs.build/en/150/

Summary by CodeRabbit

  • Documentation
    • Added comprehensive Shielded Pool and Proofs documentation explaining features and use cases.
    • Enhanced getDocuments endpoint with aggregate query support (count/sum/average operations).
    • Updated protocol reference documentation with current specifications for state transitions, constants, and address encoding.
    • Expanded sidebar navigation with new tutorial links and explanation pages.

Review Change Stack

thephez and others added 3 commits May 26, 2026 17:34
Introduces the Orchard-based shielded pool, its core concepts (notes,
nullifiers, anchors, encrypted notes), the 5 shielded transition flows,
and the 16-action-per-transition limit. Wired into the Explanations
toctree.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
New protocol-ref/shielded-pool.md documents the five shielded state
transition types (Shield, Shielded Transfer, Unshield, Shield from Asset
Lock, Shielded Withdrawal) along with the shared Orchard bundle
primitives, the per-action serialized form, and the Orchard / address
witness / asset-lock signature layers that authorize them.

Wires the discriminator rows 15-19 in state-transition.md to the new
page, adds a Signing Shielded Transitions subsection, and links from
the signing-methods table. Fixes the stale max_shielded_transition_actions
constant (was 100; correct value is 16) and adds the
max_asset_lock_transaction_inputs limit to protocol-constants.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds an "Adding a new doc page" section to CLAUDE.md explaining that new
pages must be wired into a Sphinx toctree in docs/index.md and that
scripts/sync_sidebar.py needs to run afterwards. Syncs the sidebar so
the new explanations/shielded-pool.md and protocol-ref/shielded-pool.md
pages appear in the rendered nav.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 27, 2026

Warning

Review limit reached

@thephez, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 46 minutes and 51 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 545e8521-667c-4572-9b64-403e14b97174

📥 Commits

Reviewing files that changed from the base of the PR and between 35c27c7 and 7c7cd72.

📒 Files selected for processing (7)
  • CLAUDE.md
  • _templates/sidebar-main.html
  • docs/explanations/shielded-pool.md
  • docs/index.md
  • docs/protocol-ref/protocol-constants.md
  • docs/protocol-ref/shielded-pool.md
  • docs/protocol-ref/state-transition.md
📝 Walkthrough

Walkthrough

This PR adds comprehensive documentation for Dash Platform v3.1.0, covering a new shielded pool privacy layer, cryptographic proofs verification, aggregate query capabilities for document retrieval, and associated protocol specification updates across explanation pages, protocol references, DAPI documentation, and site navigation.

Changes

Dash Platform v3.1.0 Documentation Updates

Layer / File(s) Summary
Shielded Pool Explanation and Core Concepts
docs/explanations/shielded-pool.md
New page explains shielded pool as optional privacy layer, covering how funds shield/unshield, core concepts (notes, nullifiers, encrypted notes), the 16-action limit per transition, five transition types, and explicit limitations on anonymity sets and L1 privacy.
Shielded Pool Protocol Reference and State Transitions
docs/protocol-ref/shielded-pool.md
Detailed protocol specification for Orchard-based shielded transitions (Shield, Shielded Transfer, Unshield, Shield from Asset Lock, Shielded Withdrawal), shared bundle structure, platform sighash binding to prevent replay/substitution, signing authorization via Orchard primitives, and DAPI endpoints for anchors, encrypted notes, nullifiers, and tree state.
Proofs Explanation Page
docs/explanations/proofs.md
New page documents two-layer proof architecture (GroveDB Merkle proofs plus Tenderdash consensus signatures), client verification flow, data categories that can be proven (identities, contracts, documents, tokens, system state), aggregate proof support (count/sum/average), cryptographic assurances, and asset lock proof variants.
State Transition Signing Documentation with Shielded Support
docs/protocol-ref/state-transition.md
Updated type field mapping to explicitly name shield-related transitions (15–19), expands signing method table with shielded variants and Orchard authorization footnotes, introduces new "Signing Shielded Transitions" section explaining omission of transition-level signatures in favor of Orchard bundle signatures, and clarifies that shielded transitions are excluded from non-signable fields table.
Aggregate Query Support Documentation
docs/reference/dapi-endpoints-platform-endpoints.md, docs/reference/query-syntax.md, docs/protocol-ref/data-contract-document.md, docs/protocol-ref/data-contract.md, docs/reference/dapi-endpoints.md
Introduces v1 typed query surface and aggregate select modes alongside legacy v0 CBOR, documents count/sum/average aggregate operations with required selects schemas, pagination constraints, response shapes, and precision handling; adds aggregate-query-flags schema documentation; refreshes endpoint overview entries for v3.1.0.
Protocol Constants and Reference Clarifications
docs/protocol-ref/address-system.md, docs/protocol-ref/protocol-constants.md, docs/explanations/platform-protocol-data-trigger.md
Clarifies Platform Address encoding (bech32m user-facing 0xb0/0x80 vs internal bincode 0x00/0x01); updates constants for shielded transition action limits, asset-lock input constraints (v3), address HRP distinctions, and P2PKH/P2SH type bytes; replaces Feature Flags trigger entry with DashPay and Withdrawals.
Navigation, Build Config, and Contribution Guides
_templates/sidebar-main.html, docs/index.md, conf.py, CLAUDE.md, RELEASE.md, docs/tutorials/node-setup/connect-to-a-network-dash-masternode.md
Sidebar additions for Dashnote/DashMint/DashProof example apps and new Shielded Pool/Proofs pages; toctree index entries for new explanations and protocol reference; Sphinx exclusion of RELEASE.md from build; CLAUDE.md workflow guidance for doc pages and DAPI endpoint updates; RELEASE.md checklist for endpoint diffs, annotation changes, and link updates; tutorial output simplification.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • dashpay/docs-platform#149: Overlaps on DAPI endpoint reference workflow (CLAUDE.md + RELEASE.md) and Dash Platform v3.1.0 aggregate query documentation updates across multiple reference pages.
  • dashpay/docs-platform#148: Shares updates to proofs explanation, platform-protocol-data-trigger table, address-system encoding clarification, protocol-constants, sidebar navigation, and index toctrees.

Poem

🐰 A pool of shields hides secrets deep,

While proofs stand guard to verify and keep,

Aggregate counts dance through the query flow,

Dash Platform v3.1, documentation's glow!

New pages bloom in sidebar's care,

Privacy layers float through the air. ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately captures the main additions: documentation for the shielded pool's concept (explanations page) and wire format (protocol reference page).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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 and usage tips.

@thephez thephez changed the base branch from 3.1.0 to develop May 27, 2026 14:18
@thephez
Copy link
Copy Markdown
Collaborator Author

thephez commented May 27, 2026

@coderabbitai full review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 27, 2026

✅ Actions performed

Full review triggered.

@thephez thephez merged commit 1a8793b into dashpay:develop May 27, 2026
2 of 3 checks passed
@thephez thephez deleted the v3.1/shielded-pool branch May 27, 2026 14:36
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