From 7d27e2c1e591699182e52490c4e199585ec9daa1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 26 Nov 2025 16:49:31 +0000 Subject: [PATCH 1/3] Release v0.3.0 --- .changeset/beige-fans-call.md | 5 ----- .changeset/fast-ravens-lose.md | 5 ----- .changeset/floppy-otters-dance.md | 5 ----- .changeset/floppy-wasps-clap.md | 5 ----- .changeset/fruity-bananas-smile.md | 5 ----- .changeset/gentle-horses-repeat.md | 5 ----- .changeset/new-crews-boil.md | 5 ----- .changeset/pre.json | 20 ------------------- .changeset/public-dolls-lose.md | 5 ----- .changeset/puny-nails-bathe.md | 5 ----- .changeset/seven-books-dig.md | 5 ----- .changeset/six-maps-follow.md | 5 ----- .changeset/sour-ties-warn.md | 5 ----- .changeset/stale-symbols-rule.md | 5 ----- .changeset/stupid-fans-bow.md | 5 ----- .changeset/wet-breads-study.md | 5 ----- CHANGELOG.md | 19 +++++++++++++++++- contracts/finance/ERC7821WithExecutor.sol | 2 +- .../VestingWalletCliffConfidential.sol | 2 +- .../finance/VestingWalletConfidential.sol | 2 +- .../VestingWalletConfidentialFactory.sol | 2 +- contracts/interfaces/IERC7984.sol | 2 +- contracts/interfaces/IERC7984Receiver.sol | 2 +- contracts/interfaces/IERC7984Rwa.sol | 2 +- contracts/package.json | 2 +- contracts/token/ERC7984/ERC7984.sol | 2 +- .../extensions/ERC7984ERC20Wrapper.sol | 2 +- .../ERC7984/extensions/ERC7984Freezable.sol | 2 +- .../extensions/ERC7984ObserverAccess.sol | 2 +- .../ERC7984/extensions/ERC7984Omnibus.sol | 2 +- .../ERC7984/extensions/ERC7984Restricted.sol | 2 +- .../token/ERC7984/extensions/ERC7984Rwa.sol | 2 +- .../token/ERC7984/extensions/ERC7984Votes.sol | 2 +- .../token/ERC7984/utils/ERC7984Utils.sol | 2 +- contracts/utils/FHESafeMath.sol | 2 +- .../utils/structs/temporary-Checkpoints.sol | 2 +- docs/antora.yml | 4 ++-- package.json | 2 +- 38 files changed, 40 insertions(+), 118 deletions(-) delete mode 100644 .changeset/beige-fans-call.md delete mode 100644 .changeset/fast-ravens-lose.md delete mode 100644 .changeset/floppy-otters-dance.md delete mode 100644 .changeset/floppy-wasps-clap.md delete mode 100644 .changeset/fruity-bananas-smile.md delete mode 100644 .changeset/gentle-horses-repeat.md delete mode 100644 .changeset/new-crews-boil.md delete mode 100644 .changeset/pre.json delete mode 100644 .changeset/public-dolls-lose.md delete mode 100644 .changeset/puny-nails-bathe.md delete mode 100644 .changeset/seven-books-dig.md delete mode 100644 .changeset/six-maps-follow.md delete mode 100644 .changeset/sour-ties-warn.md delete mode 100644 .changeset/stale-symbols-rule.md delete mode 100644 .changeset/stupid-fans-bow.md delete mode 100644 .changeset/wet-breads-study.md diff --git a/.changeset/beige-fans-call.md b/.changeset/beige-fans-call.md deleted file mode 100644 index a1ca054c..00000000 --- a/.changeset/beige-fans-call.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -Migrate `@fhevm/solidity` from v0.7.0 to 0.8.0 diff --git a/.changeset/fast-ravens-lose.md b/.changeset/fast-ravens-lose.md deleted file mode 100644 index db503395..00000000 --- a/.changeset/fast-ravens-lose.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`IERC7984`: Change `tokenURI()` to `contractURI()` following change in the ERC. diff --git a/.changeset/floppy-otters-dance.md b/.changeset/floppy-otters-dance.md deleted file mode 100644 index 7bbdd3e1..00000000 --- a/.changeset/floppy-otters-dance.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`ERC7984`: Change `tokenURI()` to `contractURI()` following change in the ERC. diff --git a/.changeset/floppy-wasps-clap.md b/.changeset/floppy-wasps-clap.md deleted file mode 100644 index b85acf5c..00000000 --- a/.changeset/floppy-wasps-clap.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`ERC7984ObserverAccess`: Add an extension for ERC7984, which allows each account to add an observer who is given access to their transfer and balance amounts. diff --git a/.changeset/fruity-bananas-smile.md b/.changeset/fruity-bananas-smile.md deleted file mode 100644 index 82791923..00000000 --- a/.changeset/fruity-bananas-smile.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`ERC7984Restricted`: An extension of `ERC7984` that implements user account transfer restrictions. diff --git a/.changeset/gentle-horses-repeat.md b/.changeset/gentle-horses-repeat.md deleted file mode 100644 index 8f8ab87d..00000000 --- a/.changeset/gentle-horses-repeat.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`ERC7984`: Support ERC-165 interface detection on ERC-7984. diff --git a/.changeset/new-crews-boil.md b/.changeset/new-crews-boil.md deleted file mode 100644 index f4702693..00000000 --- a/.changeset/new-crews-boil.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`ERC7984Rwa`: An extension of `ERC7984`, that supports confidential Real World Assets (RWAs). diff --git a/.changeset/pre.json b/.changeset/pre.json deleted file mode 100644 index ea864d60..00000000 --- a/.changeset/pre.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "mode": "exit", - "tag": "rc", - "initialVersions": { - "openzeppelin-confidential-contracts": "0.2.0" - }, - "changesets": [ - "beige-fans-call", - "fast-ravens-lose", - "floppy-otters-dance", - "floppy-wasps-clap", - "fruity-bananas-smile", - "new-crews-boil", - "public-dolls-lose", - "seven-books-dig", - "six-maps-follow", - "sour-ties-warn", - "stupid-fans-bow" - ] -} diff --git a/.changeset/public-dolls-lose.md b/.changeset/public-dolls-lose.md deleted file mode 100644 index 0377bda9..00000000 --- a/.changeset/public-dolls-lose.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`FHESafeMath`: Add `tryAdd` and `trySub` functions that return 0 upon failure. diff --git a/.changeset/puny-nails-bathe.md b/.changeset/puny-nails-bathe.md deleted file mode 100644 index c8e2c610..00000000 --- a/.changeset/puny-nails-bathe.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -Migrate FHEVM contracts from v0.8 to v0.9 diff --git a/.changeset/seven-books-dig.md b/.changeset/seven-books-dig.md deleted file mode 100644 index dc92ceb0..00000000 --- a/.changeset/seven-books-dig.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`ERC7984Freezable`: Add an extension to `ERC7984`, which allows accounts granted the "freezer" role to freeze and unfreeze tokens. diff --git a/.changeset/six-maps-follow.md b/.changeset/six-maps-follow.md deleted file mode 100644 index dd349814..00000000 --- a/.changeset/six-maps-follow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': patch ---- - -Support non-initialized inputs with `tryIncrease(..)`/`tryDecrease(..)` in `FHESafeMath`. diff --git a/.changeset/sour-ties-warn.md b/.changeset/sour-ties-warn.md deleted file mode 100644 index 7b86c305..00000000 --- a/.changeset/sour-ties-warn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -Rename all `ConfidentialFungibleToken` files and contracts to use `ERC7984` instead. diff --git a/.changeset/stale-symbols-rule.md b/.changeset/stale-symbols-rule.md deleted file mode 100644 index c50362d4..00000000 --- a/.changeset/stale-symbols-rule.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`IERC7984`: Support ERC-165 interface detection on ERC-7984. diff --git a/.changeset/stupid-fans-bow.md b/.changeset/stupid-fans-bow.md deleted file mode 100644 index e8406193..00000000 --- a/.changeset/stupid-fans-bow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`ERC7984Omnibus`: Add an extension of `ERC7984` that exposes new functions for transferring between confidential subaccounts on omnibus wallets. diff --git a/.changeset/wet-breads-study.md b/.changeset/wet-breads-study.md deleted file mode 100644 index ef5df1f5..00000000 --- a/.changeset/wet-breads-study.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`FHESafeMath`: Return initialized 0 value instead of unititialized `euint64` on `tryDecrease` with initialized `delta` and unitiialized `oldValue`. diff --git a/CHANGELOG.md b/CHANGELOG.md index f15ac3e5..826dd96a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,23 @@ # openzeppelin-confidential-contracts -## 0.3.0-rc.0 (2025-10-09) +## 0.3.0 (2025-11-26) + +- Migrate `@fhevm/solidity` from v0.7.0 to 0.8.0 ([#202](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/202)) +- `IERC7984`: Change `tokenURI()` to `contractURI()` following change in the ERC. ([#209](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/209)) +- `ERC7984`: Change `tokenURI()` to `contractURI()` following change in the ERC. ([#209](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/209)) +- `ERC7984ObserverAccess`: Add an extension for ERC7984, which allows each account to add an observer who is given access to their transfer and balance amounts. ([#148](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/148)) +- `ERC7984Restricted`: An extension of `ERC7984` that implements user account transfer restrictions. ([#182](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/182)) +- `ERC7984`: Support ERC-165 interface detection on ERC-7984. ([#253](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/253)) +- `ERC7984Rwa`: An extension of `ERC7984`, that supports confidential Real World Assets (RWAs). ([#160](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/160)) +- `FHESafeMath`: Add `tryAdd` and `trySub` functions that return 0 upon failure. ([#206](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/206)) +- Migrate FHEVM contracts from v0.8 to v0.9 ([#253](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/253)) +- `ERC7984Freezable`: Add an extension to `ERC7984`, which allows accounts granted the "freezer" role to freeze and unfreeze tokens. ([#151](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/151)) +- Rename all `ConfidentialFungibleToken` files and contracts to use `ERC7984` instead. ([#158](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/158)) +- `IERC7984`: Support ERC-165 interface detection on ERC-7984. ([#253](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/253)) +- `ERC7984Omnibus`: Add an extension of `ERC7984` that exposes new functions for transferring between confidential subaccounts on omnibus wallets. ([#186](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/186)) +- `FHESafeMath`: Return initialized 0 value instead of unititialized `euint64` on `tryDecrease` with initialized `delta` and unitiialized `oldValue`. ([#253](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/253)) +- Support non-initialized inputs with `tryIncrease(..)`/`tryDecrease(..)` in `FHESafeMath`. ([#183](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/183)) ### Token @@ -15,6 +31,7 @@ - `ERC7984Rwa`: An extension of `ERC7984`, that supports confidential Real World Assets (RWAs). ([#160](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/160)) ### Utils + - Migrate `@fhevm/solidity` from v0.7.0 to 0.8.0. ([#202](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/202)) - `FHESafeMath`: Add `tryAdd` and `trySub` functions that return 0 upon failure. ([#206](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/206)) - `FHESafeMath`: Support non-initialized inputs in `tryIncrease(..)`/`tryDecrease(..)`. ([#183](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/183)) diff --git a/contracts/finance/ERC7821WithExecutor.sol b/contracts/finance/ERC7821WithExecutor.sol index f6433f65..aea6357d 100644 --- a/contracts/finance/ERC7821WithExecutor.sol +++ b/contracts/finance/ERC7821WithExecutor.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.2.0) (finance/ERC7821WithExecutor.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (finance/ERC7821WithExecutor.sol) pragma solidity ^0.8.20; import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; diff --git a/contracts/finance/VestingWalletCliffConfidential.sol b/contracts/finance/VestingWalletCliffConfidential.sol index 1a850aa4..00d73ff9 100644 --- a/contracts/finance/VestingWalletCliffConfidential.sol +++ b/contracts/finance/VestingWalletCliffConfidential.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.2.0) (finance/VestingWalletCliffConfidential.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (finance/VestingWalletCliffConfidential.sol) pragma solidity ^0.8.27; import {euint128} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/finance/VestingWalletConfidential.sol b/contracts/finance/VestingWalletConfidential.sol index 6ef3f097..2dcf21d1 100644 --- a/contracts/finance/VestingWalletConfidential.sol +++ b/contracts/finance/VestingWalletConfidential.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.3.0-rc.0) (finance/VestingWalletConfidential.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (finance/VestingWalletConfidential.sol) pragma solidity ^0.8.24; import {FHE, ebool, euint64, euint128} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/finance/VestingWalletConfidentialFactory.sol b/contracts/finance/VestingWalletConfidentialFactory.sol index e8a74162..f37b7b86 100644 --- a/contracts/finance/VestingWalletConfidentialFactory.sol +++ b/contracts/finance/VestingWalletConfidentialFactory.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.3.0-rc.0) (finance/VestingWalletConfidentialFactory.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (finance/VestingWalletConfidentialFactory.sol) pragma solidity ^0.8.27; import {FHE, euint64, externalEuint64} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/interfaces/IERC7984.sol b/contracts/interfaces/IERC7984.sol index 50c3e1d8..1aee1d22 100644 --- a/contracts/interfaces/IERC7984.sol +++ b/contracts/interfaces/IERC7984.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.3.0-rc.0) (interfaces/IERC7984.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (interfaces/IERC7984.sol) pragma solidity ^0.8.24; import {euint64, externalEuint64} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/interfaces/IERC7984Receiver.sol b/contracts/interfaces/IERC7984Receiver.sol index 57a116dd..9866729c 100644 --- a/contracts/interfaces/IERC7984Receiver.sol +++ b/contracts/interfaces/IERC7984Receiver.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.3.0-rc.0) (interfaces/IERC7984Receiver.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (interfaces/IERC7984Receiver.sol) pragma solidity ^0.8.24; import {ebool, euint64} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/interfaces/IERC7984Rwa.sol b/contracts/interfaces/IERC7984Rwa.sol index 63ee3b07..7bef15e0 100644 --- a/contracts/interfaces/IERC7984Rwa.sol +++ b/contracts/interfaces/IERC7984Rwa.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.3.0-rc.0) (interfaces/IERC7984Rwa.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (interfaces/IERC7984Rwa.sol) pragma solidity ^0.8.24; import {externalEuint64, euint64} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/package.json b/contracts/package.json index 327625bb..cdeb517c 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -1,7 +1,7 @@ { "name": "@openzeppelin/confidential-contracts", "description": "Smart Contract library for use with confidential coprocessors", - "version": "0.3.0-rc.0", + "version": "0.3.0", "files": [ "**/*.sol", "/build/contracts/*.json", diff --git a/contracts/token/ERC7984/ERC7984.sol b/contracts/token/ERC7984/ERC7984.sol index d73ae7fb..0f8eafaa 100644 --- a/contracts/token/ERC7984/ERC7984.sol +++ b/contracts/token/ERC7984/ERC7984.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.3.0-rc.0) (token/ERC7984/ERC7984.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (token/ERC7984/ERC7984.sol) pragma solidity ^0.8.27; import {FHE, externalEuint64, ebool, euint64} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/token/ERC7984/extensions/ERC7984ERC20Wrapper.sol b/contracts/token/ERC7984/extensions/ERC7984ERC20Wrapper.sol index b65785f4..3add9d7e 100644 --- a/contracts/token/ERC7984/extensions/ERC7984ERC20Wrapper.sol +++ b/contracts/token/ERC7984/extensions/ERC7984ERC20Wrapper.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.3.0-rc.0) (token/ERC7984/extensions/ERC7984ERC20Wrapper.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (token/ERC7984/extensions/ERC7984ERC20Wrapper.sol) pragma solidity ^0.8.27; diff --git a/contracts/token/ERC7984/extensions/ERC7984Freezable.sol b/contracts/token/ERC7984/extensions/ERC7984Freezable.sol index 919e1f0f..1bde66b9 100644 --- a/contracts/token/ERC7984/extensions/ERC7984Freezable.sol +++ b/contracts/token/ERC7984/extensions/ERC7984Freezable.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.3.0-rc.0) (token/ERC7984/extensions/ERC7984Freezable.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (token/ERC7984/extensions/ERC7984Freezable.sol) pragma solidity ^0.8.27; diff --git a/contracts/token/ERC7984/extensions/ERC7984ObserverAccess.sol b/contracts/token/ERC7984/extensions/ERC7984ObserverAccess.sol index fa289341..38e7ce5d 100644 --- a/contracts/token/ERC7984/extensions/ERC7984ObserverAccess.sol +++ b/contracts/token/ERC7984/extensions/ERC7984ObserverAccess.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.3.0-rc.0) (token/ERC7984/extensions/ERC7984ObserverAccess.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (token/ERC7984/extensions/ERC7984ObserverAccess.sol) pragma solidity ^0.8.27; diff --git a/contracts/token/ERC7984/extensions/ERC7984Omnibus.sol b/contracts/token/ERC7984/extensions/ERC7984Omnibus.sol index ac4235d0..66fc1cac 100644 --- a/contracts/token/ERC7984/extensions/ERC7984Omnibus.sol +++ b/contracts/token/ERC7984/extensions/ERC7984Omnibus.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.3.0-rc.0) (token/ERC7984/extensions/ERC7984Omnibus.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (token/ERC7984/extensions/ERC7984Omnibus.sol) pragma solidity ^0.8.27; diff --git a/contracts/token/ERC7984/extensions/ERC7984Restricted.sol b/contracts/token/ERC7984/extensions/ERC7984Restricted.sol index 675a727b..62dc6fdc 100644 --- a/contracts/token/ERC7984/extensions/ERC7984Restricted.sol +++ b/contracts/token/ERC7984/extensions/ERC7984Restricted.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.3.0-rc.0) (token/ERC7984/extensions/ERC7984Restricted.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (token/ERC7984/extensions/ERC7984Restricted.sol) pragma solidity ^0.8.27; diff --git a/contracts/token/ERC7984/extensions/ERC7984Rwa.sol b/contracts/token/ERC7984/extensions/ERC7984Rwa.sol index 976d53db..fa9b5a65 100644 --- a/contracts/token/ERC7984/extensions/ERC7984Rwa.sol +++ b/contracts/token/ERC7984/extensions/ERC7984Rwa.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.3.0-rc.0) (token/ERC7984/extensions/ERC7984Rwa.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (token/ERC7984/extensions/ERC7984Rwa.sol) pragma solidity ^0.8.27; diff --git a/contracts/token/ERC7984/extensions/ERC7984Votes.sol b/contracts/token/ERC7984/extensions/ERC7984Votes.sol index 1c669575..c67834ef 100644 --- a/contracts/token/ERC7984/extensions/ERC7984Votes.sol +++ b/contracts/token/ERC7984/extensions/ERC7984Votes.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.3.0-rc.0) (token/ERC7984/extensions/ERC7984Votes.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (token/ERC7984/extensions/ERC7984Votes.sol) pragma solidity ^0.8.27; import {euint64} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/token/ERC7984/utils/ERC7984Utils.sol b/contracts/token/ERC7984/utils/ERC7984Utils.sol index cd3c0657..0f42228a 100644 --- a/contracts/token/ERC7984/utils/ERC7984Utils.sol +++ b/contracts/token/ERC7984/utils/ERC7984Utils.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.3.0-rc.0) (token/ERC7984/utils/ERC7984Utils.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (token/ERC7984/utils/ERC7984Utils.sol) pragma solidity ^0.8.27; import {FHE, ebool, euint64} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/utils/FHESafeMath.sol b/contracts/utils/FHESafeMath.sol index c54cd809..ed712714 100644 --- a/contracts/utils/FHESafeMath.sol +++ b/contracts/utils/FHESafeMath.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.3.0-rc.0) (utils/FHESafeMath.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (utils/FHESafeMath.sol) pragma solidity ^0.8.24; import {FHE, ebool, euint64} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/utils/structs/temporary-Checkpoints.sol b/contracts/utils/structs/temporary-Checkpoints.sol index fb221a75..bbe8b9f9 100644 --- a/contracts/utils/structs/temporary-Checkpoints.sol +++ b/contracts/utils/structs/temporary-Checkpoints.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.3.0-rc.0) (utils/structs/temporary-Checkpoints.sol) +// OpenZeppelin Confidential Contracts (last updated v0.3.0) (utils/structs/temporary-Checkpoints.sol) // OpenZeppelin Contracts (last updated v5.4.0) (utils/structs/Checkpoints.sol) // This file was procedurally generated from scripts/generate/templates/Checkpoints.js. // WARNING: This file is temporary and will be deleted once the latest version of the file is released in v5.5.0 of @openzeppelin/contracts. diff --git a/docs/antora.yml b/docs/antora.yml index daa3490b..0fffc2aa 100644 --- a/docs/antora.yml +++ b/docs/antora.yml @@ -1,7 +1,7 @@ name: confidential-contracts title: Confidential Contracts -version: 0.3-rc -prerelease: true +version: '0.3' +prerelease: false nav: - modules/ROOT/nav.adoc - modules/api/nav.adoc diff --git a/package.json b/package.json index 25cca987..cb4e29b4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "openzeppelin-confidential-contracts", "description": "", - "version": "0.3.0-rc.0", + "version": "0.3.0", "author": "OpenZeppelin Community ", "license": "MIT", "files": [ From d4e5ea2572a44cc97110763869660daba889b9ae Mon Sep 17 00:00:00 2001 From: Arr00 <13561405+arr00@users.noreply.github.com> Date: Fri, 28 Nov 2025 14:20:46 +0100 Subject: [PATCH 2/3] 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> --- CHANGELOG.md | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 826dd96a..3896532e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,29 +1,17 @@ # openzeppelin-confidential-contracts -## 0.3.0 (2025-11-26) +## 0.3.0 (2025-11-28) -- Migrate `@fhevm/solidity` from v0.7.0 to 0.8.0 ([#202](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/202)) -- `IERC7984`: Change `tokenURI()` to `contractURI()` following change in the ERC. ([#209](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/209)) -- `ERC7984`: Change `tokenURI()` to `contractURI()` following change in the ERC. ([#209](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/209)) -- `ERC7984ObserverAccess`: Add an extension for ERC7984, which allows each account to add an observer who is given access to their transfer and balance amounts. ([#148](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/148)) -- `ERC7984Restricted`: An extension of `ERC7984` that implements user account transfer restrictions. ([#182](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/182)) -- `ERC7984`: Support ERC-165 interface detection on ERC-7984. ([#253](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/253)) -- `ERC7984Rwa`: An extension of `ERC7984`, that supports confidential Real World Assets (RWAs). ([#160](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/160)) -- `FHESafeMath`: Add `tryAdd` and `trySub` functions that return 0 upon failure. ([#206](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/206)) -- Migrate FHEVM contracts from v0.8 to v0.9 ([#253](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/253)) -- `ERC7984Freezable`: Add an extension to `ERC7984`, which allows accounts granted the "freezer" role to freeze and unfreeze tokens. ([#151](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/151)) -- Rename all `ConfidentialFungibleToken` files and contracts to use `ERC7984` instead. ([#158](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/158)) -- `IERC7984`: Support ERC-165 interface detection on ERC-7984. ([#253](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/253)) -- `ERC7984Omnibus`: Add an extension of `ERC7984` that exposes new functions for transferring between confidential subaccounts on omnibus wallets. ([#186](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/186)) -- `FHESafeMath`: Return initialized 0 value instead of unititialized `euint64` on `tryDecrease` with initialized `delta` and unitiialized `oldValue`. ([#253](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/253)) -- Support non-initialized inputs with `tryIncrease(..)`/`tryDecrease(..)` in `FHESafeMath`. ([#183](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/183)) +- Migrate `@fhevm/solidity` from v0.7.0 to 0.9.1 ([#202](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/202), [#248](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/248), [#254](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/254)) ### Token -- `ERC7984`: Rename all `ConfidentialFungibleToken` files and contracts to use `ERC7984` instead. ([#158](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/158)) +- Rename all `ConfidentialFungibleToken` files and contracts to use `ERC7984` instead. ([#158](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/158)) - `ERC7984`: Change `tokenURI()` to `contractURI()` following change in the ERC. ([#209](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/209)) +- `ERC7984`: Support ERC-165 interface detection on ERC-7984. ([#246](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/246)) - `IERC7984`: Change `tokenURI()` to `contractURI()` following change in the ERC. ([#209](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/209)) +- `IERC7984`: Support ERC-165 interface detection on ERC-7984. ([#246](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/246)) - `ERC7984Omnibus`: Add an extension of `ERC7984` that exposes new functions for transferring between confidential subaccounts on omnibus wallets. ([#186](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/186)) - `ERC7984ObserverAccess`: Add an extension for ERC7984, which allows each account to add an observer who is given access to their transfer and balance amounts. ([#148](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/148)) - `ERC7984Restricted`: An extension of `ERC7984` that implements user account transfer restrictions. ([#182](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/182)) From 3ceeed9a07e0a39965cb951eb2c88bcbeca08cb9 Mon Sep 17 00:00:00 2001 From: Arr00 <13561405+arr00@users.noreply.github.com> Date: Fri, 28 Nov 2025 15:22:34 +0200 Subject: [PATCH 3/3] remove duplicate entry --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3896532e..25c05482 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,6 @@ ### Utils -- Migrate `@fhevm/solidity` from v0.7.0 to 0.8.0. ([#202](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/202)) - `FHESafeMath`: Add `tryAdd` and `trySub` functions that return 0 upon failure. ([#206](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/206)) - `FHESafeMath`: Support non-initialized inputs in `tryIncrease(..)`/`tryDecrease(..)`. ([#183](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/183))