Skip to content

Pin OpenZeppelin crates to 0.7.3 and update Confidential Token status - #30

Merged
kaankacar merged 3 commits into
mainfrom
openzeppelin-0.7.3-and-confidential-v0.8.0
Oct 21, 2026
Merged

kaankacar merged 3 commits into
mainfrom
openzeppelin-0.7.3-and-confidential-v0.8.0

Conversation

@kaankacar

Copy link
Copy Markdown
Contributor

What

  • openzeppelin/contracts.md and openzeppelin/README.md: pin the OpenZeppelin crates to =0.7.3. 0.7.2 is affected by GHSA-jpg9-m7w4-c7wc in stellar-accounts, and 0.7.3 fixes it. Add a short security note. Fix the repository tree, because confidential/ is now its own package. Update the audit line to v0.8.0.
  • privacy-zk/README.md: the Confidential Token shipped in OpenZeppelin v0.8.0. Update its status and caution. Pin its links to v0.8.0, and add crates.io, the OpenZeppelin docs page, and the testnet deployment guide. The caution says that proofs are not yet zero-knowledge.
  • privacy-zk/README.md: add a warning to the UltraHonk verifier. It accepts only non-ZK proofs, so private circuit inputs are not hidden.

Why 0.7.3 and not 0.8.0

  • 0.8.0 has breaking changes: the mint path, opt-in total supply, and the smart account digest.
  • The Contract Wizard still generates ^0.7.2.
  • The code examples on these pages use the 0.7 API.

Verification

  • cargo generate-lockfile with the new block resolves all seven crates to 0.7.3.
  • All new links return HTTP 200.
  • Sources: the v0.7.3 and v0.8.0 release notes, the GHSA, the v0.8.0 audit report, the "Zero-knowledge setting" section of the stellar-confidential README, and the ultrahonk-soroban-verifier README.

stellar/stellar-docs#2915 makes the same Confidential Token change in the docs.

- Pin the OpenZeppelin crates to 0.7.3. 0.7.2 has GHSA-jpg9-m7w4-c7wc in stellar-accounts.
- Fix the repository tree and the audit line.
- Confidential Token shipped in OpenZeppelin v0.8.0. Update its status, links, and caution.
- Warn that the UltraHonk verifier accepts only non-ZK proofs.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Critical security and privacy guidance gaps remain unresolved.

2 open issues
What changed in this PR

Updates OpenZeppelin documentation for the 0.7.3 security release and Confidential Token availability in v0.8.0.

Changes:

  • Pins OpenZeppelin crates to =0.7.3 and updates security guidance.
  • Documents Confidential Token resources and non-ZK limitations.
  • Updates repository structure and audit information.
File Summary
privacy-zk/​README.md Updates Confidential Token status, links, and UltraHonk verifier warnings.
openzeppelin/​README.md Updates dependency pins and adds Confidential Token guidance.
openzeppelin/​contracts.md Updates pins, repository structure, security note, and audit reference.

Review effort: Lite

Comment thread openzeppelin/README.md Outdated
Comment thread openzeppelin/contracts.md Outdated
… entry

- Tell smart account owners on 0.7.2 or older to upgrade or redeploy.
- Say in the README entry that Confidential Token proofs are not yet zero-knowledge.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The privacy README has unresolved contradictory privacy guidance and unversioned resource links.

No open issues 🎉

2 previously missed issues

In code that hasn't changed since last review

Medium severity Align the decision guide with the Confidential Token privacy warning

privacy-zk/​README.md:68

The new warning is contradicted by the Quick Decision Guide above, which still tells readers to use Confidential Tokens when amounts and balances "must stay private." Because this implementation accepts non-ZK proofs and the warning says privacy is not guaranteed, that rule can steer privacy-sensitive users toward the unsafe option; please qualify or revise the decision-guide entry as well.

Low severity Pin resource URLs to the v0.8.0 documentation and crate release

privacy-zk/​README.md:73

These newly added resource URLs are unversioned, unlike the GitHub links around them, so they can silently move to documentation or a crate release newer than v0.8.0. The PR says the Confidential Token links should be pinned to v0.8.0; use version-specific docs and crates.io URLs here as well.

2 resolved since last review

Review effort: Lite

@kaankacar

Copy link
Copy Markdown
Contributor Author

Copilot's two "previously missed" items:

  • Decision guide: fixed in 43c6c2f. The Confidential Tokens entry now points to the warning and says that proofs are not yet zero-knowledge.
  • Versioned links: the crates.io link now points to 0.8.0 (43c6c2f). The OpenZeppelin docs site has no versioned path for this page (/0.8.0/, /v0.8.0/ and /0.8.x/ return 404), so that link stays unversioned.

@kaankacar
kaankacar merged commit a8a168c into main Oct 21, 2026
2 checks passed
@kaankacar
kaankacar deleted the openzeppelin-0.7.3-and-confidential-v0.8.0 branch October 21, 2026 13:54
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