Skip to content

Commit 2f1f537

Browse files
authored
Merge branch 'master' into perf/reentrancy-guard-precompute-booleanslot
2 parents 7627ddb + 8f8d61c commit 2f1f537

39 files changed

+1474
-280
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/old-memes-dress.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+
`Bytes`: Add `concat` that merges a `bytes[]` array of buffers into a single `bytes` buffer.

.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/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: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Changelog
22

3+
### Bug fixes
4+
5+
- `ERC165Checker`: Ensure the `supportsERC165` function returns false if the target reverts during the `supportsInterface(0xffffffff)` call. ([#5810](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5880))
36

47
### Breaking changes
58

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)