Skip to content

Commit fea5606

Browse files
committed
Merge branch 'master' into merge/release-v0.2
2 parents aed3fa1 + 236b78b commit fea5606

22 files changed

+258
-9
lines changed

.changeset/cold-nails-go.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'openzeppelin-confidential-contracts': minor
3+
---
4+
5+
`VestingWalletConfidential`: A vesting wallet that releases confidential tokens owned by it according to a defined vesting schedule.
6+
`VestingWalletCliffConfidential`: A variant of `VestingWalletConfidential` which adds a cliff period to the vesting schedule.
7+
`VestingWalletExecutorConfidential`: A variant of `VestingWalletConfidential` which allows a trusted executor to execute arbitrary calls from the vesting wallet.

.changeset/fifty-parrots-invite.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'openzeppelin-confidential-contracts': minor
3+
---
4+
5+
`HandleAccessManager`: Minimal contract that adds a function to give allowance to callers for a given ciphertext handle.

.changeset/nasty-camels-attack.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'openzeppelin-confidential-contracts': minor
3+
---
4+
5+
`IConfidentialFungibleToken`: Prefix `totalSupply` and `balanceOf` functions with confidential.

.changeset/old-chefs-lie.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'openzeppelin-confidential-contracts': minor
3+
---
4+
5+
`VestingWalletCliffExecutorConfidentialFactory`: Renamed to `VestingWalletConfidentialFactory` and default implementation removed in favor of a user-defined vesting wallet implementation.

.changeset/poor-colts-glow.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'openzeppelin-confidential-contracts': minor
3+
---
4+
5+
`ERC7821WithExecutor`: Add an abstract contract that inherits from `ERC7821` and adds an `executor` role.

.changeset/six-walls-hug.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'openzeppelin-confidential-contracts': minor
3+
---
4+
5+
`ConfidentialFungibleTokenERC20Wrapper`: Add an internal function to allow overriding the maximum decimals value.

.changeset/tricky-boxes-train.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'openzeppelin-confidential-contracts': minor
3+
---
4+
5+
`VestingWalletCliffExecutorConfidentialFactory`: Fund multiple `VestingWalletCliffExecutorConfidential` in batch.

.github/workflows/checks.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ jobs:
3535
- run: npm run test
3636
- name: Check procedurally generated contracts are up-to-date
3737
run: npm run test:generation
38+
- name: Check pragma validity
39+
run: npm run test:pragma -- --concurrency 1
3840

3941
coverage:
4042
runs-on: ubuntu-latest

.gitmodules

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
[submodule "lib/openzeppelin-contracts"]
22
path = lib/openzeppelin-contracts
3+
tag = v5.4.0
34
url = https://github.com/OpenZeppelin/openzeppelin-contracts
45
[submodule "lib/openzeppelin-contracts-upgradeable"]
56
path = lib/openzeppelin-contracts-upgradeable
7+
tag = v5.4.0
68
url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// SPDX-License-Identifier: MIT
2+
3+
pragma solidity ^0.8.24;
4+
5+
import {euint64} from "@fhevm/solidity/lib/FHE.sol";
6+
import {ConfidentialFungibleTokenMock} from "./ConfidentialFungibleTokenMock.sol";
7+
8+
// solhint-disable func-name-mixedcase
9+
contract ConfidentialFungibleTokenReentrantMock is ConfidentialFungibleTokenMock {
10+
constructor(
11+
string memory name_,
12+
string memory symbol_,
13+
string memory tokenURI_
14+
) ConfidentialFungibleTokenMock(name_, symbol_, tokenURI_) {}
15+
16+
function confidentialTransfer(address, euint64) public override returns (euint64 transferred) {
17+
IVestingWalletConfidential(msg.sender).release(address(this));
18+
transferred;
19+
}
20+
}
21+
22+
interface IVestingWalletConfidential {
23+
function release(address token) external;
24+
}

0 commit comments

Comments
 (0)