Releases: OpenZeppelin/openzeppelin-confidential-contracts
Releases · OpenZeppelin/openzeppelin-confidential-contracts
v0.4.1
v0.5.0-rc.0
Token
ERC7984: Remove revert on transfer where the sender has an uninitialized balance. (#357)ERC7984IdentityCheck: Add anERC7984extension that checks the identity of the recipient on_update. (#364)ERC7984Rwa: Always call_updateon transfers (even force). Bypass restriction via restriction override. (#339)ERC7984Rwa: Add token recovery functionality. (#341)IERC7984Rwa: Add token recovery function and event. (#341)ERC7984Hooked: Add anERC7984extension that calls external hooks before and after transfer of confidential tokens. (#332)ERC7984HookModule: Add a base hook module for building modules compatible withERC7984Hooked. (#351)ERC7984BalanceCapHookModule: An example hook module that enforces a confidential balance cap for the token. (#351)ERC7984HolderCapHookModule: An example hook module that enforces a maximum number of holders for the token. (#351)
Utils
v0.4.0
- Migrate
@fhevm/soliditydependency to0.11.1(#311) - Upgrade openzeppelin/contracts and openzeppelin/contracts-upgradeable to v5.6.1 (#314)
Token
ERC7984ERC20Wrapper: use a bytes32 unwrap request identifier instead of identifying batches by the euint64 unwrap amount. (#326)ERC7984ERC20Wrapper: Support ERC-165 interface detection onERC7984ERC20Wrapper. (#267)ERC7984ERC20Wrapper: return the amount of wrapped token sent on wrap calls. (#307)ERC7984ERC20Wrapper: return unwrapped amount onunwrapcalls (#288)ERC7984ERC20Wrapper: revert on wrap if there is a chance of total supply overflow. (#268)ERC7984Restricted,ERC7984Rwa: RenameisUserAllowedtocanTransact(#291)
Finance
BatcherConfidential: A batching primitive that enables routing between twoERC7984ERC20Wrappercontracts via a non-confidential route. (#293)
Utils
HandleAccessManager: change_validateHandleAllowanceto return a boolean and validate it. (#303)
v0.4.0-rc.0
- Migrate
@fhevm/soliditydependency to0.11.1(#311) - Upgrade openzeppelin/contracts and openzeppelin/contracts-upgradeable to v5.6.1 (#314)
Token
ERC7984ERC20Wrapper: use a bytes32 unwrap request identifier instead of identifying batches by the euint64 unwrap amount. (#326)ERC7984ERC20Wrapper: Support ERC-165 interface detection onERC7984ERC20Wrapper. (#267)ERC7984ERC20Wrapper: return the amount of wrapped token sent on wrap calls. (#307)ERC7984ERC20Wrapper: return unwrapped amount onunwrapcalls (#288)ERC7984Restricted,ERC7984Rwa: RenameisUserAllowedtocanTransact(#291)ERC7984ERC20Wrapper: revert on wrap if there is a chance of total supply overflow. (#268)
Finance
BatcherConfidential: A batching primitive that enables routing between twoERC7984ERC20Wrappercontracts via a non-confidential route. (#293)
Utils
HandleAccessManager: change_validateHandleAllowanceto return a boolean and validate it. (#303)
v0.3.1
v0.3.0
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
v0.3.0-rc.0
Token
ERC7984: Rename allConfidentialFungibleTokenfiles and contracts to useERC7984instead. (#158)ERC7984: ChangetokenURI()tocontractURI()following change in the ERC. (#209)IERC7984: ChangetokenURI()tocontractURI()following change in the ERC. (#209)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
v0.2.0
- 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.2.0-rc.2
VestingWalletCliffExecutorConfidentialFactory: Renamed toVestingWalletConfidentialFactoryand default implementation removed in favor of a user-defined vesting wallet implementation. (#109)
v0.2.0-rc.1
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)VestingWalletCliffExecutorConfidentialFactory: Fund multipleVestingWalletCliffExecutorConfidentialin batch. (#102)ERC7821WithExecutor: Add an abstract contract that inherits fromERC7821and adds anexecutorrole. (#102)IConfidentialFungibleToken: PrefixtotalSupplyandbalanceOffunctions with confidential and changeEncryptedAmountDisclosedevent toAmountDisclosed. (#93)ConfidentialFungibleToken: UpdatetotalSupply,balanceOf, andEncryptedAmountDisclosedas required by interface changes. (#93)ConfidentialFungibleTokenERC20Wrapper: Add an internal function to allow overriding the maximum decimals value. (#89)