Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .changeset/better-cases-ask.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/cold-nails-go.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/fancy-bears-travel.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/fifty-parrots-invite.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/gold-brooms-crash.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/nasty-camels-attack.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/old-chefs-lie.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/poor-colts-glow.md

This file was deleted.

20 changes: 0 additions & 20 deletions .changeset/pre.json

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/quick-lights-type.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/real-beers-attack.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/six-walls-hug.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/tricky-boxes-train.md

This file was deleted.

32 changes: 18 additions & 14 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,28 @@
# 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))
- 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`. ([#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))

## 0.2.0-rc.1 (2025-07-12)
### 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))

### 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))
- `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))
- `VestingWalletConfidentialFactory`: A generalized factory that allows for batch funding of confidential vesting wallets. ([#102](https://github.com/OpenZeppelin/openzeppelin-confidential-contracts/pull/102))

## 0.2.0-rc.0 (2025-07-04)

- 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))
2 changes: 1 addition & 1 deletion contracts/finance/ERC7821WithExecutor.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/finance/VestingWalletCliffConfidential.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/finance/VestingWalletConfidential.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/finance/VestingWalletConfidentialFactory.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/governance/utils/VotesConfidential.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/interfaces/IConfidentialFungibleToken.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
2 changes: 1 addition & 1 deletion contracts/token/ConfidentialFungibleToken.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
Original file line number Diff line number Diff line change
@@ -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;

Expand Down
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/token/utils/ConfidentialFungibleTokenUtils.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/utils/FHESafeMath.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
1 change: 1 addition & 0 deletions contracts/utils/HandleAccessManager.sol
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
2 changes: 1 addition & 1 deletion contracts/utils/structs/CheckpointsConfidential.sol
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
2 changes: 1 addition & 1 deletion contracts/utils/structs/temporary-Checkpoints.sol
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
4 changes: 2 additions & 2 deletions docs/antora.yml
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "openzeppelin-confidential-contracts",
"description": "",
"version": "0.2.0-rc.2",
"version": "0.2.0",
"author": "OpenZeppelin Community <maintainers@openzeppelin.org>",
"license": "MIT",
"files": [
Expand Down