Changelog
v0.3.0 - 2025-11-28
Token
- Rename all
ConfidentialFungibleTokenfiles and contracts to useERC7984instead. (#158) ERC7984: ChangetokenURI()tocontractURI()following change in the ERC. (#209)ERC7984: Support ERC-165 interface detection on ERC-7984. (#246)IERC7984: ChangetokenURI()tocontractURI()following change in the ERC. (#209)IERC7984: Support ERC-165 interface detection on ERC-7984. (#246)ERC7984Omnibus: Add an extension ofERC7984that exposes new functions for transferring between confidential subaccounts on omnibus wallets. (#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)ERC7984Restricted: An extension ofERC7984that implements user account transfer restrictions. (#182)ERC7984Freezable: Add an extension toERC7984, which allows accounts granted the "freezer" role to freeze and unfreeze tokens. (#151)ERC7984Rwa: An extension ofERC7984, that supports confidential Real World Assets (RWAs). (#160)
Utils
FHESafeMath: AddtryAddandtrySubfunctions that return 0 upon failure. (#206)FHESafeMath: Support non-initialized inputs intryIncrease(..)/tryDecrease(..). (#183)
v0.2.0 - 2025-08-15
- Upgrade all contracts to use
@fhevm/solidity0.7.0. (#27)
Token
IConfidentialFungibleToken: PrefixtotalSupplyandbalanceOffunctions with confidential. (#93)IConfidentialFungibleToken: RenameEncryptedAmountDisclosedevent toAmountDisclosed. (#93)ConfidentialFungibleToken: Change the default decimals from 9 to 6. (#74)ConfidentialFungibleTokenERC20Wrapper: Add an internal function to allow overriding the max decimals used for wrapped tokens. (#89)ConfidentialFungibleTokenERC20Wrapper: Add an internal function to allow overriding the underlying decimals fallback value. (#133)
Governance
VotesConfidential: Add votes governance utility for keeping track of FHE vote delegations. (#40)ConfidentialFungibleTokenVotes: Add an extension ofConfidentialFungibleTokenthat implementsVotesConfidential. (#40)
Finance
VestingWalletConfidential: A vesting wallet that releases confidential tokens owned by it according to a defined vesting schedule. (#91)VestingWalletCliffConfidential: A variant ofVestingWalletConfidentialwhich adds a cliff period to the vesting schedule. (#91)VestingWalletConfidentialFactory: A generalized factory that allows for batch funding of confidential vesting wallets. (#102)
Misc
HandleAccessManager: Minimal contract that adds a function to give allowance to callers for a given ciphertext handle. (#143)ERC7821WithExecutor: Add an abstract contract that inherits fromERC7821and adds anexecutorrole. (#102)CheckpointsConfidential: Add a library for handling checkpoints with confidential value types. (#60)TFHESafeMath: Renamed toFHESafeMath. (#137)
v0.1.0 - 2025-06-05
Initial release of the OpenZeppelin Confidential Contracts.
Note: Confidential contracts are currently in a phase of rapid development--future releases of the major version 0 may not be backwards compatible.