Skip to content

Commit b26960a

Browse files
authored
Merge branch 'master' into undraft/ERC6909
2 parents f172e04 + 0fc8e4b commit b26960a

35 files changed

+1295
-200
lines changed

.changeset/clear-tools-refuse.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'openzeppelin-solidity': minor
3+
---
4+
5+
`RelayedCall`: Add a library to perform indirect calls through minimal and predictable relayers.

.changeset/sharp-scissors-drum.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'openzeppelin-solidity': minor
3+
---
4+
5+
`LowLevelCall`: Add a library to perform low-level calls and deal with the `returndata` more granularly.

.changeset/shiny-dolphins-lick.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'openzeppelin-solidity': minor
3+
---
4+
5+
`ERC4626`: compute `maxWithdraw` using `maxRedeem` and `previewRedeem` so that changes to the preview functions affect the max functions.

.changeset/solid-cobras-talk.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'openzeppelin-solidity': minor
3+
---
4+
5+
`Base64`: Add a new `decode` function that parses base64 encoded strings.

.changeset/three-parents-argue.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'openzeppelin-solidity': patch
3+
---
4+
5+
`ReentrancyGuard`, `ReentrancyGuardTransient`: Add an internal `_reentrancyGuardStorageSlot` function allowing slot customization via override.

.github/actions/setup/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Common environment setup
44
runs:
55
using: composite
66
steps:
7-
- uses: actions/setup-node@v4
7+
- uses: actions/setup-node@v5
88
with:
99
node-version: 22.x
1010
- uses: actions/cache@v4

.github/workflows/formal-verification.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
fi
4545
echo "result=$RESULT" >> "$GITHUB_OUTPUT"
4646
- name: Install python
47-
uses: actions/setup-python@v5
47+
uses: actions/setup-python@v6
4848
with:
4949
python-version: ${{ env.PIP_VERSION }}
5050
cache: 'pip'
@@ -75,7 +75,7 @@ jobs:
7575
- name: Set up environment
7676
uses: ./.github/actions/setup
7777
- name: Install python
78-
uses: actions/setup-python@v5
78+
uses: actions/setup-python@v6
7979
with:
8080
python-version: ${{ env.PIP_VERSION }}
8181
cache: 'pip'

.github/workflows/release-cycle.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
uses: ./.github/actions/setup
3333
- id: state
3434
name: Get state
35-
uses: actions/github-script@v7
35+
uses: actions/github-script@v8
3636
env:
3737
TRIGGERING_ACTOR: ${{ github.triggering_actor }}
3838
with:
@@ -66,7 +66,7 @@ jobs:
6666
name: Create branch with release candidate
6767
run: bash scripts/release/workflow/start.sh
6868
- name: Re-run workflow
69-
uses: actions/github-script@v7
69+
uses: actions/github-script@v8
7070
env:
7171
REF: ${{ steps.start.outputs.branch }}
7272
with:
@@ -89,7 +89,7 @@ jobs:
8989
if: needs.state.outputs.is_prerelease == 'true'
9090
run: bash scripts/release/workflow/exit-prerelease.sh
9191
- name: Re-run workflow
92-
uses: actions/github-script@v7
92+
uses: actions/github-script@v8
9393
with:
9494
script: await require('./scripts/release/workflow/rerun.js')({ github, context })
9595

@@ -108,7 +108,7 @@ jobs:
108108
- name: Set up environment
109109
uses: ./.github/actions/setup
110110
- name: Set release title
111-
uses: actions/github-script@v7
111+
uses: actions/github-script@v8
112112
with:
113113
result-encoding: string
114114
script: await require('./scripts/release/workflow/set-changesets-pr-title.js')({ core })
@@ -156,7 +156,7 @@ jobs:
156156
TAG: ${{ steps.pack.outputs.tag }}
157157
NPM_CONFIG_PROVENANCE: true
158158
- name: Create Github Release
159-
uses: actions/github-script@v7
159+
uses: actions/github-script@v8
160160
env:
161161
PRERELEASE: ${{ needs.state.outputs.is_prerelease }}
162162
with:
@@ -202,7 +202,7 @@ jobs:
202202
git checkout -B "$MERGE_BRANCH" "$GITHUB_REF_NAME"
203203
git push -f origin "$MERGE_BRANCH"
204204
- name: Create PR back to master
205-
uses: actions/github-script@v7
205+
uses: actions/github-script@v8
206206
with:
207207
script: |
208208
await github.rest.pulls.create({

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
### Breaking changes
88

99
- `ERC6909` and the its extensions (`ERC6909ContentURI`, `ERC6909Metadata` and `ERC6909TokenSupply`) are no longer marked as draft since [EIP-6909](https://eips.ethereum.org/EIPS/eip-6909) is now final. Developers must update the import paths. Contracts behavior is not modified.
10+
- `SignerERC7702` is renamed as `SignerEIP7702`. Imports and inheritance must be updated to that new name and path. Behavior is unmodified.
1011
- Update minimum pragma to 0.8.24 in `Votes`, `VotesExtended`, `ERC20Votes`, `Strings`, `ERC1155URIStorage`, `MessageHashUtils`, `ERC721URIStorage`, `ERC721Votes`, `ERC721Wrapper`, `ERC721Burnable`, `ERC721Consecutive`, `ERC721Enumerable`, `ERC721Pausable`, `ERC721Royalty`, `ERC721Wrapper`, `EIP712`, and `ERC7739`. ([#5726](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5726))
1112

1213
### Deprecation

contracts/account/Account.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ pragma solidity ^0.8.20;
66
import {PackedUserOperation, IAccount, IEntryPoint} from "../interfaces/draft-IERC4337.sol";
77
import {ERC4337Utils} from "./utils/draft-ERC4337Utils.sol";
88
import {AbstractSigner} from "../utils/cryptography/signers/AbstractSigner.sol";
9+
import {LowLevelCall} from "../utils/LowLevelCall.sol";
910

1011
/**
1112
* @dev A simple ERC4337 account implementation. This base implementation only includes the minimal logic to process
@@ -113,8 +114,7 @@ abstract contract Account is AbstractSigner, IAccount {
113114
*/
114115
function _payPrefund(uint256 missingAccountFunds) internal virtual {
115116
if (missingAccountFunds > 0) {
116-
(bool success, ) = payable(msg.sender).call{value: missingAccountFunds}("");
117-
success; // Silence warning. The entrypoint should validate the result.
117+
LowLevelCall.callNoReturn(msg.sender, missingAccountFunds, ""); // The entrypoint should validate the result.
118118
}
119119
}
120120

0 commit comments

Comments
 (0)