From 4a40716fa174ef80c23f509b415cf9004f5f19bf Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 14 Aug 2025 14:32:08 +0000 Subject: [PATCH 1/4] Release v0.2.0 --- .changeset/better-cases-ask.md | 5 ---- .changeset/cold-nails-go.md | 7 ----- .changeset/fancy-bears-travel.md | 5 ---- .changeset/fifty-parrots-invite.md | 5 ---- .changeset/gold-brooms-crash.md | 5 ---- .changeset/nasty-camels-attack.md | 5 ---- .changeset/old-chefs-lie.md | 5 ---- .changeset/poor-colts-glow.md | 5 ---- .changeset/pre.json | 20 -------------- .changeset/quick-lights-type.md | 5 ---- .changeset/real-beers-attack.md | 5 ---- .changeset/six-walls-hug.md | 5 ---- .changeset/tricky-boxes-train.md | 5 ---- CHANGELOG.md | 26 +++++++++++-------- contracts/finance/ERC7821WithExecutor.sol | 2 +- .../VestingWalletCliffConfidential.sol | 2 +- .../finance/VestingWalletConfidential.sol | 2 +- .../VestingWalletConfidentialFactory.sol | 2 +- .../governance/utils/VotesConfidential.sol | 2 +- .../interfaces/IConfidentialFungibleToken.sol | 2 +- .../IConfidentialFungibleTokenReceiver.sol | 2 +- contracts/package.json | 2 +- contracts/token/ConfidentialFungibleToken.sol | 2 +- .../ConfidentialFungibleTokenERC20Wrapper.sol | 2 +- .../ConfidentialFungibleTokenVotes.sol | 2 +- .../utils/ConfidentialFungibleTokenUtils.sol | 2 +- contracts/utils/FHESafeMath.sol | 2 +- contracts/utils/HandleAccessManager.sol | 1 + .../utils/structs/CheckpointsConfidential.sol | 2 +- .../utils/structs/temporary-Checkpoints.sol | 2 +- docs/antora.yml | 4 +-- package.json | 2 +- 32 files changed, 34 insertions(+), 111 deletions(-) delete mode 100644 .changeset/better-cases-ask.md delete mode 100644 .changeset/cold-nails-go.md delete mode 100644 .changeset/fancy-bears-travel.md delete mode 100644 .changeset/fifty-parrots-invite.md delete mode 100644 .changeset/gold-brooms-crash.md delete mode 100644 .changeset/nasty-camels-attack.md delete mode 100644 .changeset/old-chefs-lie.md delete mode 100644 .changeset/poor-colts-glow.md delete mode 100644 .changeset/pre.json delete mode 100644 .changeset/quick-lights-type.md delete mode 100644 .changeset/real-beers-attack.md delete mode 100644 .changeset/six-walls-hug.md delete mode 100644 .changeset/tricky-boxes-train.md diff --git a/.changeset/better-cases-ask.md b/.changeset/better-cases-ask.md deleted file mode 100644 index c08a8ff1..00000000 --- a/.changeset/better-cases-ask.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`ConfidentialFungibleToken`: Change the default decimals from 9 to 6. diff --git a/.changeset/cold-nails-go.md b/.changeset/cold-nails-go.md deleted file mode 100644 index a860f691..00000000 --- a/.changeset/cold-nails-go.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`VestingWalletConfidential`: A vesting wallet that releases confidential tokens owned by it according to a defined vesting schedule. -`VestingWalletCliffConfidential`: A variant of `VestingWalletConfidential` which adds a cliff period to the vesting schedule. -`VestingWalletExecutorConfidential`: A variant of `VestingWalletConfidential` which allows a trusted executor to execute arbitrary calls from the vesting wallet. diff --git a/.changeset/fancy-bears-travel.md b/.changeset/fancy-bears-travel.md deleted file mode 100644 index c623be6e..00000000 --- a/.changeset/fancy-bears-travel.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`ConfidentialFungibleTokenVotes`: Add an extension of `ConfidentialFungibleToken` that implements `VotesConfidential`. diff --git a/.changeset/fifty-parrots-invite.md b/.changeset/fifty-parrots-invite.md deleted file mode 100644 index dfa27947..00000000 --- a/.changeset/fifty-parrots-invite.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`HandleAccessManager`: Minimal contract that adds a function to give allowance to callers for a given ciphertext handle. diff --git a/.changeset/gold-brooms-crash.md b/.changeset/gold-brooms-crash.md deleted file mode 100644 index bd6067ce..00000000 --- a/.changeset/gold-brooms-crash.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`CheckpointsConfidential`: Add a library for handling checkpoints with confidential value types. diff --git a/.changeset/nasty-camels-attack.md b/.changeset/nasty-camels-attack.md deleted file mode 100644 index 5b6186ef..00000000 --- a/.changeset/nasty-camels-attack.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`IConfidentialFungibleToken`: Prefix `totalSupply` and `balanceOf` functions with confidential. diff --git a/.changeset/old-chefs-lie.md b/.changeset/old-chefs-lie.md deleted file mode 100644 index 708b1f57..00000000 --- a/.changeset/old-chefs-lie.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`VestingWalletCliffExecutorConfidentialFactory`: Renamed to `VestingWalletConfidentialFactory` and default implementation removed in favor of a user-defined vesting wallet implementation. diff --git a/.changeset/poor-colts-glow.md b/.changeset/poor-colts-glow.md deleted file mode 100644 index 46cb05cb..00000000 --- a/.changeset/poor-colts-glow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`ERC7821WithExecutor`: Add an abstract contract that inherits from `ERC7821` and adds an `executor` role. diff --git a/.changeset/pre.json b/.changeset/pre.json deleted file mode 100644 index 25ffdfa2..00000000 --- a/.changeset/pre.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "mode": "exit", - "tag": "rc", - "initialVersions": { - "openzeppelin-confidential-contracts": "0.1.0" - }, - "changesets": [ - "better-cases-ask", - "cold-nails-go", - "fancy-bears-travel", - "gold-brooms-crash", - "nasty-camels-attack", - "old-chefs-lie", - "poor-colts-glow", - "quick-lights-type", - "real-beers-attack", - "six-walls-hug", - "tricky-boxes-train" - ] -} diff --git a/.changeset/quick-lights-type.md b/.changeset/quick-lights-type.md deleted file mode 100644 index 75f0d077..00000000 --- a/.changeset/quick-lights-type.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -Upgrade all contracts to use `@fhevm/solidity` 0.7.0. diff --git a/.changeset/real-beers-attack.md b/.changeset/real-beers-attack.md deleted file mode 100644 index 64506a3b..00000000 --- a/.changeset/real-beers-attack.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`VotesConfidential`: Add votes governance utility for keeping track of FHE vote delegations. diff --git a/.changeset/six-walls-hug.md b/.changeset/six-walls-hug.md deleted file mode 100644 index acb057c4..00000000 --- a/.changeset/six-walls-hug.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`ConfidentialFungibleTokenERC20Wrapper`: Add an internal function to allow overriding the maximum decimals value. diff --git a/.changeset/tricky-boxes-train.md b/.changeset/tricky-boxes-train.md deleted file mode 100644 index 0f332a2b..00000000 --- a/.changeset/tricky-boxes-train.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-confidential-contracts': minor ---- - -`VestingWalletCliffExecutorConfidentialFactory`: Fund multiple `VestingWalletCliffExecutorConfidential` in batch. diff --git a/CHANGELOG.md b/CHANGELOG.md index 37c894bc..0a60b64f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,19 +1,23 @@ # openzeppelin-confidential-contracts -## 0.2.0-rc.2 (2025-07-14) +## 0.2.0 (2025-08-14) -- `VestingWalletCliffExecutorConfidentialFactory`: Renamed to `VestingWalletConfidentialFactory` and default implementation removed in favor of a user-defined vesting wallet implementation. ([#109](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/109)) - -## 0.2.0-rc.1 (2025-07-12) +- `ConfidentialFungibleToken`: Change the default decimals from 9 to 6. ([#74](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/74)) +- `VestingWalletConfidential`: A vesting wallet that releases confidential tokens owned by it according to a defined vesting schedule. ([#145](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/145)) + `VestingWalletCliffConfidential`: A variant of `VestingWalletConfidential` which adds a cliff period to the vesting schedule. + `VestingWalletExecutorConfidential`: A variant of `VestingWalletConfidential` which allows a trusted executor to execute arbitrary calls from the vesting wallet. -- `VestingWalletConfidential`: A vesting wallet that releases confidential tokens owned by it according to a defined vesting schedule. ([#91](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/91)) -- `VestingWalletCliffConfidential`: A variant of `VestingWalletConfidential` which adds a cliff period to the vesting schedule. ([#91](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/91)) -- `VestingWalletCliffExecutorConfidentialFactory`: Fund multiple `VestingWalletCliffExecutorConfidential` in batch. ([#102](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/102)) -- `ERC7821WithExecutor`: Add an abstract contract that inherits from `ERC7821` and adds an `executor` role. ([#102](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/102)) -- `IConfidentialFungibleToken`: Prefix `totalSupply` and `balanceOf` functions with confidential and change `EncryptedAmountDisclosed` event to `AmountDisclosed`. ([#93](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/93)) -- `ConfidentialFungibleToken`: Update `totalSupply`, `balanceOf`, and `EncryptedAmountDisclosed` as required by interface changes. ([#93](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/93)) -- `ConfidentialFungibleTokenERC20Wrapper`: Add an internal function to allow overriding the maximum decimals value. ([#89](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/89)) +- `ConfidentialFungibleTokenVotes`: Add an extension of `ConfidentialFungibleToken` that implements `VotesConfidential`. +- `HandleAccessManager`: Minimal contract that adds a function to give allowance to callers for a given ciphertext handle. ([#145](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/145)) +- `CheckpointsConfidential`: Add a library for handling checkpoints with confidential value types. ([#77](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/77)) +- `IConfidentialFungibleToken`: Prefix `totalSupply` and `balanceOf` functions with confidential. ([#145](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/145)) +- `VestingWalletCliffExecutorConfidentialFactory`: Renamed to `VestingWalletConfidentialFactory` and default implementation removed in favor of a user-defined vesting wallet implementation. ([#145](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/145)) +- `ERC7821WithExecutor`: Add an abstract contract that inherits from `ERC7821` and adds an `executor` role. ([#145](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/145)) +- Upgrade all contracts to use `@fhevm/solidity` 0.7.0. ([#77](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/77)) +- `VotesConfidential`: Add votes governance utility for keeping track of FHE vote delegations. +- `ConfidentialFungibleTokenERC20Wrapper`: Add an internal function to allow overriding the maximum decimals value. ([#145](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/145)) +- `VestingWalletCliffExecutorConfidentialFactory`: Fund multiple `VestingWalletCliffExecutorConfidential` in batch. ([#145](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/145)) ## 0.2.0-rc.0 (2025-07-04) diff --git a/contracts/finance/ERC7821WithExecutor.sol b/contracts/finance/ERC7821WithExecutor.sol index 533f1968..1c27b1ef 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-rc.2) (finance/ERC7821WithExecutor.sol) +// OpenZeppelin Confidential Contracts (last updated v0.2.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 12f86b20..79eaae4b 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-rc.2) (finance/VestingWalletCliffConfidential.sol) +// OpenZeppelin Confidential Contracts (last updated v0.2.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 bca8b4e0..d7ac58b7 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.2.0-rc.2) (finance/VestingWalletConfidential.sol) +// OpenZeppelin Confidential Contracts (last updated v0.2.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 bcdc95f4..097cadf4 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.2.0-rc.2) (finance/VestingWalletConfidentialFactory.sol) +// OpenZeppelin Confidential Contracts (last updated v0.2.0) (finance/VestingWalletConfidentialFactory.sol) pragma solidity ^0.8.27; import {FHE, euint64, externalEuint64} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/governance/utils/VotesConfidential.sol b/contracts/governance/utils/VotesConfidential.sol index ca42478b..e66d390e 100644 --- a/contracts/governance/utils/VotesConfidential.sol +++ b/contracts/governance/utils/VotesConfidential.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.2.0-rc.2) (governance/utils/VotesConfidential.sol) +// OpenZeppelin Confidential Contracts (last updated v0.2.0) (governance/utils/VotesConfidential.sol) pragma solidity ^0.8.24; import {FHE, ebool, euint64} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/interfaces/IConfidentialFungibleToken.sol b/contracts/interfaces/IConfidentialFungibleToken.sol index dfdbd552..72732fcc 100644 --- a/contracts/interfaces/IConfidentialFungibleToken.sol +++ b/contracts/interfaces/IConfidentialFungibleToken.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.2.0-rc.2) (interfaces/IConfidentialFungibleToken.sol) +// OpenZeppelin Confidential Contracts (last updated v0.2.0) (interfaces/IConfidentialFungibleToken.sol) pragma solidity ^0.8.24; import {euint64, externalEuint64} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/interfaces/IConfidentialFungibleTokenReceiver.sol b/contracts/interfaces/IConfidentialFungibleTokenReceiver.sol index c211fd22..53a7b4b9 100644 --- a/contracts/interfaces/IConfidentialFungibleTokenReceiver.sol +++ b/contracts/interfaces/IConfidentialFungibleTokenReceiver.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.2.0-rc.2) (interfaces/IConfidentialFungibleTokenReceiver.sol) +// OpenZeppelin Confidential Contracts (last updated v0.2.0) (interfaces/IConfidentialFungibleTokenReceiver.sol) pragma solidity ^0.8.24; import {ebool, euint64} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/package.json b/contracts/package.json index 6942077c..a274d66e 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.2.0-rc.2", + "version": "0.2.0", "files": [ "**/*.sol", "/build/contracts/*.json", diff --git a/contracts/token/ConfidentialFungibleToken.sol b/contracts/token/ConfidentialFungibleToken.sol index f152fdfa..e1a95286 100644 --- a/contracts/token/ConfidentialFungibleToken.sol +++ b/contracts/token/ConfidentialFungibleToken.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.2.0-rc.2) (token/ConfidentialFungibleToken.sol) +// OpenZeppelin Confidential Contracts (last updated v0.2.0) (token/ConfidentialFungibleToken.sol) pragma solidity ^0.8.27; import {FHE, externalEuint64, ebool, euint64} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/token/extensions/ConfidentialFungibleTokenERC20Wrapper.sol b/contracts/token/extensions/ConfidentialFungibleTokenERC20Wrapper.sol index 957c2d94..e00f18fe 100644 --- a/contracts/token/extensions/ConfidentialFungibleTokenERC20Wrapper.sol +++ b/contracts/token/extensions/ConfidentialFungibleTokenERC20Wrapper.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.2.0-rc.2) (token/extensions/ConfidentialFungibleTokenERC20Wrapper.sol) +// OpenZeppelin Confidential Contracts (last updated v0.2.0) (token/extensions/ConfidentialFungibleTokenERC20Wrapper.sol) pragma solidity ^0.8.27; diff --git a/contracts/token/extensions/ConfidentialFungibleTokenVotes.sol b/contracts/token/extensions/ConfidentialFungibleTokenVotes.sol index 2ce9a401..f4c9acbb 100644 --- a/contracts/token/extensions/ConfidentialFungibleTokenVotes.sol +++ b/contracts/token/extensions/ConfidentialFungibleTokenVotes.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.2.0-rc.2) (token/extensions/ConfidentialFungibleTokenVotes.sol) +// OpenZeppelin Confidential Contracts (last updated v0.2.0) (token/extensions/ConfidentialFungibleTokenVotes.sol) pragma solidity ^0.8.27; import {euint64} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/token/utils/ConfidentialFungibleTokenUtils.sol b/contracts/token/utils/ConfidentialFungibleTokenUtils.sol index d3c1ef5f..678cccae 100644 --- a/contracts/token/utils/ConfidentialFungibleTokenUtils.sol +++ b/contracts/token/utils/ConfidentialFungibleTokenUtils.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.2.0-rc.2) (token/utils/ConfidentialFungibleTokenUtils.sol) +// OpenZeppelin Confidential Contracts (last updated v0.2.0) (token/utils/ConfidentialFungibleTokenUtils.sol) pragma solidity ^0.8.24; import {FHE, ebool, euint64} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/utils/FHESafeMath.sol b/contracts/utils/FHESafeMath.sol index 2239ecce..e184413c 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.2.0-rc.2) (utils/TFHESafeMath.sol) +// OpenZeppelin Confidential Contracts (last updated v0.2.0) (utils/FHESafeMath.sol) pragma solidity ^0.8.24; import {FHE, ebool, euint64} from "@fhevm/solidity/lib/FHE.sol"; diff --git a/contracts/utils/HandleAccessManager.sol b/contracts/utils/HandleAccessManager.sol index 2d5fd3ed..f8981ca5 100644 --- a/contracts/utils/HandleAccessManager.sol +++ b/contracts/utils/HandleAccessManager.sol @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MIT +// OpenZeppelin Confidential Contracts (last updated v0.2.0) (utils/HandleAccessManager.sol) pragma solidity ^0.8.24; import {Impl} from "@fhevm/solidity/lib/Impl.sol"; diff --git a/contracts/utils/structs/CheckpointsConfidential.sol b/contracts/utils/structs/CheckpointsConfidential.sol index c7500bf0..6d88a89e 100644 --- a/contracts/utils/structs/CheckpointsConfidential.sol +++ b/contracts/utils/structs/CheckpointsConfidential.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Confidential Contracts (last updated v0.2.0-rc.2) (utils/structs/CheckpointsConfidential.sol) +// OpenZeppelin Confidential Contracts (last updated v0.2.0) (utils/structs/CheckpointsConfidential.sol) // This file was procedurally generated from scripts/generate/templates/CheckpointsConfidential.js. pragma solidity ^0.8.24; diff --git a/contracts/utils/structs/temporary-Checkpoints.sol b/contracts/utils/structs/temporary-Checkpoints.sol index 03b07a35..143a0c96 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.2.0-rc.2) (utils/structs/temporary-Checkpoints.sol) +// OpenZeppelin Confidential Contracts (last updated v0.2.0) (utils/structs/temporary-Checkpoints.sol) // OpenZeppelin Contracts (last updated v5.3.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 d52a2694..c034c697 100644 --- a/docs/antora.yml +++ b/docs/antora.yml @@ -1,7 +1,7 @@ name: confidential-contracts title: Confidential Contracts -version: 0.2-rc -prerelease: true +version: '0.2' +prerelease: false nav: - modules/ROOT/nav.adoc - modules/api/nav.adoc diff --git a/package.json b/package.json index 890b79ad..e91a89a2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "openzeppelin-confidential-contracts", "description": "", - "version": "0.2.0-rc.2", + "version": "0.2.0", "author": "OpenZeppelin Community ", "license": "MIT", "files": [ From acc81b3a74438d821cae71fd59dd3c62250434e6 Mon Sep 17 00:00:00 2001 From: Arr00 <13561405+arr00@users.noreply.github.com> Date: Thu, 14 Aug 2025 14:28:06 -0400 Subject: [PATCH 2/4] Update changelog release v0.2.0 (#170) * Update changelog release v0.2.0 * 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 | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a60b64f..62376edb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,26 +3,25 @@ ## 0.2.0 (2025-08-14) +- Upgrade all contracts to use `@fhevm/solidity` 0.7.0. ([#27](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/27)) + +### Token +- `IConfidentialFungibleToken`: Prefix `totalSupply` and `balanceOf` functions with confidential. ([#93](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/93)) +- `IConfidentialFungibleToken`: Rename `EncryptedAmountDisclosed` event to `AmountDisclosed`. - `ConfidentialFungibleToken`: Change the default decimals from 9 to 6. ([#74](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/74)) -- `VestingWalletConfidential`: A vesting wallet that releases confidential tokens owned by it according to a defined vesting schedule. ([#145](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/145)) - `VestingWalletCliffConfidential`: A variant of `VestingWalletConfidential` which adds a cliff period to the vesting schedule. - `VestingWalletExecutorConfidential`: A variant of `VestingWalletConfidential` which allows a trusted executor to execute arbitrary calls from the vesting wallet. +- `ConfidentialFungibleTokenERC20Wrapper`: Add an internal function to allow overriding the underlying decimals fallback value. ([#133](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/133)) -- `ConfidentialFungibleTokenVotes`: Add an extension of `ConfidentialFungibleToken` that implements `VotesConfidential`. -- `HandleAccessManager`: Minimal contract that adds a function to give allowance to callers for a given ciphertext handle. ([#145](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/145)) -- `CheckpointsConfidential`: Add a library for handling checkpoints with confidential value types. ([#77](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/77)) -- `IConfidentialFungibleToken`: Prefix `totalSupply` and `balanceOf` functions with confidential. ([#145](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/145)) -- `VestingWalletCliffExecutorConfidentialFactory`: Renamed to `VestingWalletConfidentialFactory` and default implementation removed in favor of a user-defined vesting wallet implementation. ([#145](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/145)) -- `ERC7821WithExecutor`: Add an abstract contract that inherits from `ERC7821` and adds an `executor` role. ([#145](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/145)) -- Upgrade all contracts to use `@fhevm/solidity` 0.7.0. ([#77](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/77)) -- `VotesConfidential`: Add votes governance utility for keeping track of FHE vote delegations. -- `ConfidentialFungibleTokenERC20Wrapper`: Add an internal function to allow overriding the maximum decimals value. ([#145](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/145)) -- `VestingWalletCliffExecutorConfidentialFactory`: Fund multiple `VestingWalletCliffExecutorConfidential` in batch. ([#145](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/145)) +### Governance +- `VotesConfidential`: Add votes governance utility for keeping track of FHE vote delegations. ([#40](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/40)) +- `ConfidentialFungibleTokenVotes`: Add an extension of `ConfidentialFungibleToken` that implements `VotesConfidential`. ([#40](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/40)) -## 0.2.0-rc.0 (2025-07-04) +### Finance +- `VestingWalletConfidential`: A vesting wallet that releases confidential tokens owned by it according to a defined vesting schedule. ([#91](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/91)) +- `VestingWalletCliffConfidential`: A variant of `VestingWalletConfidential` which adds a cliff period to the vesting schedule. ([#91](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/91)) +- `VestingWalletConfidentialFactory`: A generalized factory that allows for batch funding of confidential vesting wallets. ([#102](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/102)) -- Upgrade all contracts to use `@fhevm/solidity` 0.7.0. ([#27](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/27)) -- `ConfidentialFungibleToken`: Change the default decimals from 9 to 6. ([#74](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/74)) -- `ConfidentialFungibleTokenVotes`: Add an extension of `ConfidentialFungibleToken` that implements `VotesConfidential`. ([#40](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/40)) -- `VotesConfidential`: Add votes governance utility for keeping track of FHE vote delegations. ([#40](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/40)) +### Misc +- `HandleAccessManager`: Minimal contract that adds a function to give allowance to callers for a given ciphertext handle. ([#143](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/143)) +- `ERC7821WithExecutor`: Add an abstract contract that inherits from `ERC7821` and adds an `executor` role. ([#102](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/102)) - `CheckpointsConfidential`: Add a library for handling checkpoints with confidential value types. ([#60](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/60)) +- `TFHESafeMath`: Renamed to `FHESafeMath`. ([#137](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/137)) From 519d1b9ba656e85d8a5f031fdcb6967b3981d0bf Mon Sep 17 00:00:00 2001 From: Arr00 <13561405+arr00@users.noreply.github.com> Date: Thu, 14 Aug 2025 17:17:48 -0400 Subject: [PATCH 3/4] Update CHANGELOG.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ernesto GarcĂ­a --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 62376edb..aecdc38b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ ### Token - `IConfidentialFungibleToken`: Prefix `totalSupply` and `balanceOf` functions with confidential. ([#93](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/93)) -- `IConfidentialFungibleToken`: Rename `EncryptedAmountDisclosed` event to `AmountDisclosed`. +- `IConfidentialFungibleToken`: Rename `EncryptedAmountDisclosed` event to `AmountDisclosed`. ([#93](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/93)) - `ConfidentialFungibleToken`: Change the default decimals from 9 to 6. ([#74](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/74)) - `ConfidentialFungibleTokenERC20Wrapper`: Add an internal function to allow overriding the underlying decimals fallback value. ([#133](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/133)) From e4e149fe78967d5b4e99559e2bae373dc74b3131 Mon Sep 17 00:00:00 2001 From: Arr00 <13561405+arr00@users.noreply.github.com> Date: Thu, 14 Aug 2025 17:32:21 -0400 Subject: [PATCH 4/4] add missing changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index aecdc38b..d018e3a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - `IConfidentialFungibleToken`: Prefix `totalSupply` and `balanceOf` functions with confidential. ([#93](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/93)) - `IConfidentialFungibleToken`: Rename `EncryptedAmountDisclosed` event to `AmountDisclosed`. ([#93](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/93)) - `ConfidentialFungibleToken`: Change the default decimals from 9 to 6. ([#74](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/74)) +- `ConfidentialFungibleTokenERC20Wrapper`: Add an internal function to allow overriding the max decimals used for wrapped tokens. ([#89](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/89)) - `ConfidentialFungibleTokenERC20Wrapper`: Add an internal function to allow overriding the underlying decimals fallback value. ([#133](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/133)) ### Governance