Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
5c7f125
Start release candidate
github-actions[bot] Jul 4, 2025
f72fed5
Release v0.2.0 (rc) (#88)
github-actions[bot] Jul 4, 2025
04384ee
Check values are encrypted with FHE.isInitialized(..) (#81)
james-toussaint Jul 8, 2025
6ee48d2
Fix solhint and order imports (#73)
arr00 Jul 8, 2025
7d17dbd
Add confidential to `balanceOf` and `totalSupply` functions (#93)
arr00 Jul 9, 2025
2027e3f
Add internal function to wrapper that allows setting the max decimals…
arr00 Jul 9, 2025
ef1d5f3
Update NPM package name (#98)
arr00 Jul 9, 2025
615c6f3
Add Vesting Wallet (#91)
arr00 Jul 10, 2025
16b86e2
Increase internal accounting to euint128 to avoid overflow in vesting…
arr00 Jul 10, 2025
4be6583
Update pragmas on token files (#106)
arr00 Jul 11, 2025
5c0af65
Fund multiple `VestingWalletConfidential` in batch (#102)
arr00 Jul 11, 2025
6249d77
Set npm access to public when publishing (#107)
arr00 Jul 12, 2025
ed3ca9a
Release v0.2.0 (rc) (#108)
github-actions[bot] Jul 12, 2025
b495530
Remove default clone impl for vesting wallet factory (#109)
arr00 Jul 14, 2025
432762c
Release v0.2.0 (rc) (#110)
github-actions[bot] Jul 14, 2025
4ffb93a
Fix `VestingWalletConfidentialCreated` event emission (#121)
arr00 Jul 30, 2025
54e322d
Increase integer size for `_tokenReleased` (#120)
arr00 Jul 31, 2025
2100c93
Fix return value when refund fails confidential token (#118)
arr00 Jul 31, 2025
ba873f0
Move excess transfer to the end when wrapper receives callback (#125)
james-toussaint Jul 31, 2025
6531d44
Standardize initializers with chained and unchained versions (#119)
arr00 Aug 1, 2025
480b2af
Add memory safe annotation to relevant assembly blocks (#132)
arr00 Aug 1, 2025
14f3e43
Remove unused error `CheckpointUnorderedInsertion` (#131)
arr00 Aug 4, 2025
e6c2cfd
Set minimum required pragma (#127)
james-toussaint Aug 4, 2025
124894b
Add default underlying token decimals customization in wrapper (#133)
james-toussaint Aug 4, 2025
2606fc2
Return 0 if overflow in `releasable` (#122)
arr00 Aug 4, 2025
d17caee
Add compatibility warning to confidential token wrapper (#134)
james-toussaint Aug 4, 2025
3988842
Bytes params for vesting factory (#135)
arr00 Aug 5, 2025
5ef0b81
Add inline documentation (#137)
james-toussaint Aug 5, 2025
a713b1f
Add `HandleAccessManager` (#143)
arr00 Aug 5, 2025
0d953c9
Standardize data types `VestingWalletConfidential` (#146)
arr00 Aug 5, 2025
dce017a
Remove unused imports and fix docs (#150)
arr00 Aug 8, 2025
edda7dd
Remove unnecessary type casting (#149)
arr00 Aug 8, 2025
14a06a3
Exit prerelease (#169)
arr00 Aug 14, 2025
aed3fa1
Release v0.2.0 (#145)
github-actions[bot] Aug 15, 2025
d458ea0
Merge branch 'master' into merge/release-v0.2
arr00 Aug 15, 2025
91982ed
Update contracts/token/utils/ConfidentialFungibleTokenUtils.sol
arr00 Aug 15, 2025
822bb9f
fix gitmodules
arr00 Aug 15, 2025
08a186e
Update contracts/utils/structs/temporary-Checkpoints.sol
arr00 Aug 18, 2025
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.

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.

28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# openzeppelin-confidential-contracts


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

### 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))
1 change: 1 addition & 0 deletions contracts/finance/ERC7821WithExecutor.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) (finance/ERC7821WithExecutor.sol)
pragma solidity ^0.8.20;

import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
Expand Down
1 change: 1 addition & 0 deletions contracts/finance/VestingWalletCliffConfidential.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) (finance/VestingWalletCliffConfidential.sol)
pragma solidity ^0.8.27;

import {euint128} from "@fhevm/solidity/lib/FHE.sol";
Expand Down
1 change: 1 addition & 0 deletions contracts/finance/VestingWalletConfidential.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) (finance/VestingWalletConfidential.sol)
pragma solidity ^0.8.24;

import {FHE, ebool, euint64, euint128} from "@fhevm/solidity/lib/FHE.sol";
Expand Down
1 change: 1 addition & 0 deletions contracts/finance/VestingWalletConfidentialFactory.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) (finance/VestingWalletConfidentialFactory.sol)
pragma solidity ^0.8.27;

import {FHE, euint64, externalEuint64} from "@fhevm/solidity/lib/FHE.sol";
Expand Down
1 change: 1 addition & 0 deletions contracts/governance/utils/VotesConfidential.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) (governance/utils/VotesConfidential.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/interfaces/IConfidentialFungibleToken.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) (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,4 +1,5 @@
// SPDX-License-Identifier: MIT
// 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.1.0",
"version": "0.2.0",
"files": [
"**/*.sol",
"/build/contracts/*.json",
Expand Down
1 change: 1 addition & 0 deletions contracts/token/ConfidentialFungibleToken.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) (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,4 +1,5 @@
// SPDX-License-Identifier: MIT
// 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,4 +1,5 @@
// SPDX-License-Identifier: MIT
// 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
1 change: 1 addition & 0 deletions contracts/token/utils/ConfidentialFungibleTokenUtils.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) (token/utils/ConfidentialFungibleTokenUtils.sol)
pragma solidity ^0.8.27;

import {FHE, ebool, euint64} from "@fhevm/solidity/lib/FHE.sol";
Expand Down
1 change: 1 addition & 0 deletions contracts/utils/FHESafeMath.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/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
1 change: 1 addition & 0 deletions contracts/utils/structs/CheckpointsConfidential.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/structs/CheckpointsConfidential.sol)
// This file was procedurally generated from scripts/generate/templates/CheckpointsConfidential.js.

pragma solidity ^0.8.24;
Expand Down
1 change: 1 addition & 0 deletions contracts/utils/structs/temporary-Checkpoints.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/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.
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.1.0
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.1.0",
"version": "0.2.0",
"author": "OpenZeppelin Community <maintainers@openzeppelin.org>",
"license": "MIT",
"files": [
Expand Down
Loading