Skip to content

Conversation

@arr00
Copy link
Contributor

@arr00 arr00 commented Nov 11, 2025

Summary by CodeRabbit

  • New Features

    • Extended confidential transfer capabilities with a new method that simplifies transfers by accepting only recipient and encrypted amount, eliminating additional parameter requirements and automatically returning transfer confirmation.
  • Documentation

    • Updated documentation for transfer operations and access control.

@arr00 arr00 requested a review from a team as a code owner November 11, 2025 19:18
@netlify
Copy link

netlify bot commented Nov 11, 2025

Deploy Preview for confidential-tokens ready!

Name Link
🔨 Latest commit b9a6bd5
🔍 Latest deploy log https://app.netlify.com/projects/confidential-tokens/deploys/6914c8bfd0153e000706a1a0
😎 Deploy Preview https://deploy-preview-249--confidential-tokens.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 11, 2025

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

A new overload of forceConfidentialTransferFrom is added to the ERC7984Rwa contract, enabling AGENT_ROLE to perform confidential transfers using only encrypted amounts without input proofs. The existing overload remains intact. Related method documentation is updated for clarity.

Changes

Cohort / File(s) Summary
API Expansion & Documentation Updates
contracts/token/ERC7984/extensions/ERC7984Rwa.sol
New overload of forceConfidentialTransferFrom(address from, address to, euint64 encryptedAmount) restricted to AGENT_ROLE for amount-only transfers. Existing overload with externalEuint64 and inputProof parameters preserved. Inline documentation updated for setConfidentialFrozen and both forceConfidentialTransferFrom overloads.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Verify AGENT_ROLE access control enforcement on new overload
  • Confirm backward compatibility with existing overload signature
  • Review updated documentation for accuracy and clarity
  • Validate that both overloads serve distinct use cases without unintended overlap

Suggested reviewers

  • james-toussaint

Poem

🐰 A transfer finds a lighter way,
No proofs required, just encrypted sway,
Two paths now dance in harmony divine,
The agent's touch makes confidence align! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title references fixing docs but the changeset adds a new method overload and updates inline documentation, making it only partially aligned with the primary change of adding new functionality. Clarify whether the primary change is adding the new method overload or fixing documentation; consider a title like 'Add forceConfidentialTransferFrom overload for amount-only transfers' if the new method is the main contribution.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

@arr00 arr00 changed the title M-11: fix ERC7984Rwa docs M-[9,11]: fix ERC7984Rwa docs Nov 11, 2025
@james-toussaint james-toussaint changed the title M-[9,11]: fix ERC7984Rwa docs N-[9,11]: fix ERC7984Rwa docs Nov 12, 2025
Comment on lines 33 to 34
* - Mint/Burn to/from a given address (does not require any permission)
* - Force transfer from a given address (does not require permission)
Copy link
Contributor

Choose a reason for hiding this comment

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

What do you mean with does not require any permission here compared to other abilities listed below?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

can pull tokens from a users wallet without their permission.

@arr00 arr00 merged commit ce46973 into OpenZeppelin:master Nov 12, 2025
13 checks passed
@arr00 arr00 deleted the fix/misleading-docs branch November 12, 2025 18:05
arr00 added a commit that referenced this pull request Nov 12, 2025
* M-11: fix `ERC7984Rwa` docs

* add docs

* Update contracts/token/ERC7984/extensions/ERC7984Rwa.sol
@coderabbitai coderabbitai bot mentioned this pull request Nov 14, 2025
arr00 added a commit that referenced this pull request Dec 1, 2025
* Start release candidate

* Release v0.3.0 (rc) (#221)

* Release v0.3.0 (rc)

* Update changelog

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: James Toussaint <33313130+james-toussaint@users.noreply.github.com>

* Update `checkOnTransferReceived` doc (#235)

* Versioned Docs (#236)

* generate versioned docs

* publish docs even on pre-release

* N-04: remove unused import in `ERC7984Rwa` (#243)

* N-01: reset user instead of allowing user in `unblockUser` (#244)

* N-05: Named mapping var in `ERC7984ObserverAccess` (#251)

* N-05: Named mapping var in `ERC7984ObserverAccess`

* Update contracts/token/ERC7984/extensions/ERC7984ObserverAccess.sol

Co-authored-by: James Toussaint <33313130+james-toussaint@users.noreply.github.com>

---------

Co-authored-by: James Toussaint <33313130+james-toussaint@users.noreply.github.com>

* N-08: constant names are screaming camel case (#247)

* N-08: constant names are screaming camel case

* fix lint

* N-02: reorder allowances omnibus (#250)

* Support ERC-165 interface detection on ERC-7984 (#246)

* Support ERC-165 interface detection on ERC-7984

* update link format

* Add ERC7984 impl changeset

* Update changeset

---------

Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>

* M-03: grant allowances to agent in `ERC7984Rwa` (#242)

* M-03: grant allowances to agent in `ERC7984Rwa`

* up

* N-12: update docs in `ERC7984Restricted` (#245)

* Upgrade to use fhevm contracts v0.9.0 (#248)

* chore: fhevm-v9

* chore: port all tests for fhevm v9

* Merge pull request #1 from OpenZeppelin/chore/update-disclose-flow

update disclose flow

* Update wrapper contract (#2)

* Update wrapper contract

* fix tests

* fix mock

* update docs

* add changeset

* request id unnecessary

* Update contracts/token/ERC7984/extensions/ERC7984ERC20Wrapper.sol

Co-authored-by: James Toussaint <33313130+james-toussaint@users.noreply.github.com>

* remove unused params

* Update test/token/ERC7984/ERC7984.test.ts

Co-authored-by: James Toussaint <33313130+james-toussaint@users.noreply.github.com>

* `cts` -> `handles`

* `cleartext` -> `cleartextAmount`

* Update test/token/ERC7984/extensions/ERC7984Wrapper.test.ts

Co-authored-by: James Toussaint <33313130+james-toussaint@users.noreply.github.com>

* nit

---------

Co-authored-by: 0xalexbel <alexandre.belhoste@zama.ai>
Co-authored-by: James Toussaint <33313130+james-toussaint@users.noreply.github.com>

* N-[9,11]: fix `ERC7984Rwa` docs (#249)

* M-11: fix `ERC7984Rwa` docs

* add docs

* Update contracts/token/ERC7984/extensions/ERC7984Rwa.sol

* L-05: Grant allowances in `confidentialAvailable` (#252)

* L-05: Grant allowances in `confidentialAvailable`

* fix doc

* L-01: `tryDecrease` return initialized value if delta is initialized (#241)

* L-01: `tryDecrease` return initialized value if delta is initialized

* add comment

* Add changeset

* Upgrade to use fhevm contracts v0.9.1 (#254)

* Upgrade to use fhevm contracts v0.9.1

* bump sub package as well

* Update `ERC7984Rwa` docs (#255)

* Exit pre-release (#258)

* Release v0.3.0 (#253)

* Release v0.3.0

* Update changelog (#259)

* Update changelog

* Update CHANGELOG.md

Co-authored-by: James Toussaint <33313130+james-toussaint@users.noreply.github.com>

---------

Co-authored-by: James Toussaint <33313130+james-toussaint@users.noreply.github.com>

* remove duplicate entry

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
Co-authored-by: James Toussaint <33313130+james-toussaint@users.noreply.github.com>

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: James Toussaint <33313130+james-toussaint@users.noreply.github.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
Co-authored-by: 0xalexbel <alexandre.belhoste@zama.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants