Skip to content

Commit 46b23f8

Browse files
Transpile fb2aec6
1 parent 05dbd04 commit 46b23f8

File tree

170 files changed

+10829
-29930
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

170 files changed

+10829
-29930
lines changed

.changeset/dull-ghosts-sip.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'openzeppelin-solidity': patch
3+
---
4+
5+
`AccessManager`, `AccessManaged`, `GovernorTimelockAccess`: Ensure that calldata shorter than 4 bytes is not padded to 4 bytes.
6+
pr: #4624

.changeset/grumpy-poets-rush.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'openzeppelin-solidity': major
3+
---
4+
5+
Upgradeable Contracts: No longer transpile interfaces, libraries, and stateless contracts.

.changeset/purple-squids-attend.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'openzeppelin-solidity': patch
3+
---
4+
5+
`AccessManager`: Use named return parameters in functions that return multiple values.
6+
pr: #4624

.github/actions/setup/action.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,3 @@ runs:
1515
run: npm ci
1616
shell: bash
1717
if: steps.cache.outputs.cache-hit != 'true'
18-
env:
19-
SKIP_COMPILE: true

.github/workflows/checks.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ jobs:
5656
fetch-depth: 0 # Include history so patch conflicts are resolved automatically
5757
- name: Set up environment
5858
uses: ./.github/actions/setup
59+
- name: Copy non-upgradeable contracts as dependency
60+
run:
61+
cp -rnT contracts node_modules/@openzeppelin/contracts
5962
- name: Transpile to upgradeable
6063
run: bash scripts/upgradeable/transpile.sh
6164
- name: Run tests

.github/workflows/upgradeable.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@ jobs:
1818
token: ${{ secrets.GH_TOKEN_UPGRADEABLE }}
1919
- name: Fetch current non-upgradeable branch
2020
run: |
21-
git fetch "https://github.com/${{ github.repository }}.git" "$REF"
21+
git fetch "$REMOTE" master # Fetch default branch first for patch to apply cleanly
22+
git fetch "$REMOTE" "$REF"
2223
git checkout FETCH_HEAD
2324
env:
2425
REF: ${{ github.ref }}
26+
REMOTE: https://github.com/${{ github.repository }}.git
2527
- name: Set up environment
2628
uses: ./.github/actions/setup
2729
- run: bash scripts/git-user-config.sh

contracts/access/AccessControlUpgradeable.sol

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33

44
pragma solidity ^0.8.20;
55

6-
import {IAccessControlUpgradeable} from "./IAccessControlUpgradeable.sol";
7-
import {ContextUpgradeable} from "../utils/ContextUpgradeable.sol";
8-
import {ERC165Upgradeable} from "../utils/introspection/ERC165Upgradeable.sol";
6+
import {IAccessControl} from "@openzeppelin/contracts/access/IAccessControl.sol";
7+
import {Context} from "@openzeppelin/contracts/utils/Context.sol";
8+
import {ERC165} from "@openzeppelin/contracts/utils/introspection/ERC165.sol";
99
import {Initializable} from "../proxy/utils/Initializable.sol";
1010

1111
/**
@@ -47,7 +47,7 @@ import {Initializable} from "../proxy/utils/Initializable.sol";
4747
* accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules}
4848
* to enforce additional security measures for this role.
4949
*/
50-
abstract contract AccessControlUpgradeable is Initializable, ContextUpgradeable, IAccessControlUpgradeable, ERC165Upgradeable {
50+
abstract contract AccessControlUpgradeable is Initializable, Context, IAccessControl, ERC165 {
5151
struct RoleData {
5252
mapping(address account => bool) hasRole;
5353
bytes32 adminRole;
@@ -88,7 +88,7 @@ abstract contract AccessControlUpgradeable is Initializable, ContextUpgradeable,
8888
* @dev See {IERC165-supportsInterface}.
8989
*/
9090
function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
91-
return interfaceId == type(IAccessControlUpgradeable).interfaceId || super.supportsInterface(interfaceId);
91+
return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);
9292
}
9393

9494
/**

contracts/access/IAccessControlUpgradeable.sol

Lines changed: 0 additions & 98 deletions
This file was deleted.

contracts/access/OwnableUpgradeable.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
pragma solidity ^0.8.20;
55

6-
import {ContextUpgradeable} from "../utils/ContextUpgradeable.sol";
6+
import {Context} from "@openzeppelin/contracts/utils/Context.sol";
77
import {Initializable} from "../proxy/utils/Initializable.sol";
88

99
/**
@@ -18,7 +18,7 @@ import {Initializable} from "../proxy/utils/Initializable.sol";
1818
* `onlyOwner`, which can be applied to your functions to restrict their use to
1919
* the owner.
2020
*/
21-
abstract contract OwnableUpgradeable is Initializable, ContextUpgradeable {
21+
abstract contract OwnableUpgradeable is Initializable, Context {
2222
/// @custom:storage-location erc7201:openzeppelin.storage.Ownable
2323
struct OwnableStorage {
2424
address _owner;

contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@
33

44
pragma solidity ^0.8.20;
55

6-
import {IAccessControlDefaultAdminRulesUpgradeable} from "./IAccessControlDefaultAdminRulesUpgradeable.sol";
7-
import {AccessControlUpgradeable, IAccessControlUpgradeable} from "../AccessControlUpgradeable.sol";
8-
import {SafeCastUpgradeable} from "../../utils/math/SafeCastUpgradeable.sol";
9-
import {MathUpgradeable} from "../../utils/math/MathUpgradeable.sol";
10-
import {IERC5313Upgradeable} from "../../interfaces/IERC5313Upgradeable.sol";
6+
import {IAccessControlDefaultAdminRules} from "@openzeppelin/contracts/access/extensions/IAccessControlDefaultAdminRules.sol";
7+
import {AccessControlUpgradeable} from "../AccessControlUpgradeable.sol";
8+
import {IAccessControl} from "@openzeppelin/contracts/access/IAccessControl.sol";
9+
import {SafeCast} from "@openzeppelin/contracts/utils/math/SafeCast.sol";
10+
import {Math} from "@openzeppelin/contracts/utils/math/Math.sol";
11+
import {IERC5313} from "@openzeppelin/contracts/interfaces/IERC5313.sol";
1112
import {Initializable} from "../../proxy/utils/Initializable.sol";
1213

1314
/**
@@ -37,7 +38,7 @@ import {Initializable} from "../../proxy/utils/Initializable.sol";
3738
* }
3839
* ```
3940
*/
40-
abstract contract AccessControlDefaultAdminRulesUpgradeable is Initializable, IAccessControlDefaultAdminRulesUpgradeable, IERC5313Upgradeable, AccessControlUpgradeable {
41+
abstract contract AccessControlDefaultAdminRulesUpgradeable is Initializable, IAccessControlDefaultAdminRules, IERC5313, AccessControlUpgradeable {
4142
/// @custom:storage-location erc7201:openzeppelin.storage.AccessControlDefaultAdminRules
4243
struct AccessControlDefaultAdminRulesStorage {
4344
// pending admin pair read/written together frequently
@@ -81,7 +82,7 @@ abstract contract AccessControlDefaultAdminRulesUpgradeable is Initializable, IA
8182
* @dev See {IERC165-supportsInterface}.
8283
*/
8384
function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
84-
return interfaceId == type(IAccessControlDefaultAdminRulesUpgradeable).interfaceId || super.supportsInterface(interfaceId);
85+
return interfaceId == type(IAccessControlDefaultAdminRules).interfaceId || super.supportsInterface(interfaceId);
8586
}
8687

8788
/**
@@ -98,7 +99,7 @@ abstract contract AccessControlDefaultAdminRulesUpgradeable is Initializable, IA
9899
/**
99100
* @dev See {AccessControl-grantRole}. Reverts for `DEFAULT_ADMIN_ROLE`.
100101
*/
101-
function grantRole(bytes32 role, address account) public virtual override(AccessControlUpgradeable, IAccessControlUpgradeable) {
102+
function grantRole(bytes32 role, address account) public virtual override(AccessControlUpgradeable, IAccessControl) {
102103
if (role == DEFAULT_ADMIN_ROLE) {
103104
revert AccessControlEnforcedDefaultAdminRules();
104105
}
@@ -108,7 +109,7 @@ abstract contract AccessControlDefaultAdminRulesUpgradeable is Initializable, IA
108109
/**
109110
* @dev See {AccessControl-revokeRole}. Reverts for `DEFAULT_ADMIN_ROLE`.
110111
*/
111-
function revokeRole(bytes32 role, address account) public virtual override(AccessControlUpgradeable, IAccessControlUpgradeable) {
112+
function revokeRole(bytes32 role, address account) public virtual override(AccessControlUpgradeable, IAccessControl) {
112113
if (role == DEFAULT_ADMIN_ROLE) {
113114
revert AccessControlEnforcedDefaultAdminRules();
114115
}
@@ -128,7 +129,7 @@ abstract contract AccessControlDefaultAdminRulesUpgradeable is Initializable, IA
128129
* thereby disabling any functionality that is only available for it, and the possibility of reassigning a
129130
* non-administrated role.
130131
*/
131-
function renounceRole(bytes32 role, address account) public virtual override(AccessControlUpgradeable, IAccessControlUpgradeable) {
132+
function renounceRole(bytes32 role, address account) public virtual override(AccessControlUpgradeable, IAccessControl) {
132133
AccessControlDefaultAdminRulesStorage storage $ = _getAccessControlDefaultAdminRulesStorage();
133134
if (role == DEFAULT_ADMIN_ROLE && account == defaultAdmin()) {
134135
(address newDefaultAdmin, uint48 schedule) = pendingDefaultAdmin();
@@ -186,23 +187,23 @@ abstract contract AccessControlDefaultAdminRulesUpgradeable is Initializable, IA
186187
///
187188

188189
/**
189-
* @inheritdoc IAccessControlDefaultAdminRulesUpgradeable
190+
* @inheritdoc IAccessControlDefaultAdminRules
190191
*/
191192
function defaultAdmin() public view virtual returns (address) {
192193
AccessControlDefaultAdminRulesStorage storage $ = _getAccessControlDefaultAdminRulesStorage();
193194
return $._currentDefaultAdmin;
194195
}
195196

196197
/**
197-
* @inheritdoc IAccessControlDefaultAdminRulesUpgradeable
198+
* @inheritdoc IAccessControlDefaultAdminRules
198199
*/
199200
function pendingDefaultAdmin() public view virtual returns (address newAdmin, uint48 schedule) {
200201
AccessControlDefaultAdminRulesStorage storage $ = _getAccessControlDefaultAdminRulesStorage();
201202
return ($._pendingDefaultAdmin, $._pendingDefaultAdminSchedule);
202203
}
203204

204205
/**
205-
* @inheritdoc IAccessControlDefaultAdminRulesUpgradeable
206+
* @inheritdoc IAccessControlDefaultAdminRules
206207
*/
207208
function defaultAdminDelay() public view virtual returns (uint48) {
208209
AccessControlDefaultAdminRulesStorage storage $ = _getAccessControlDefaultAdminRulesStorage();
@@ -211,7 +212,7 @@ abstract contract AccessControlDefaultAdminRulesUpgradeable is Initializable, IA
211212
}
212213

213214
/**
214-
* @inheritdoc IAccessControlDefaultAdminRulesUpgradeable
215+
* @inheritdoc IAccessControlDefaultAdminRules
215216
*/
216217
function pendingDefaultAdminDelay() public view virtual returns (uint48 newDelay, uint48 schedule) {
217218
AccessControlDefaultAdminRulesStorage storage $ = _getAccessControlDefaultAdminRulesStorage();
@@ -220,7 +221,7 @@ abstract contract AccessControlDefaultAdminRulesUpgradeable is Initializable, IA
220221
}
221222

222223
/**
223-
* @inheritdoc IAccessControlDefaultAdminRulesUpgradeable
224+
* @inheritdoc IAccessControlDefaultAdminRules
224225
*/
225226
function defaultAdminDelayIncreaseWait() public view virtual returns (uint48) {
226227
return 5 days;
@@ -231,7 +232,7 @@ abstract contract AccessControlDefaultAdminRulesUpgradeable is Initializable, IA
231232
///
232233

233234
/**
234-
* @inheritdoc IAccessControlDefaultAdminRulesUpgradeable
235+
* @inheritdoc IAccessControlDefaultAdminRules
235236
*/
236237
function beginDefaultAdminTransfer(address newAdmin) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {
237238
_beginDefaultAdminTransfer(newAdmin);
@@ -243,13 +244,13 @@ abstract contract AccessControlDefaultAdminRulesUpgradeable is Initializable, IA
243244
* Internal function without access restriction.
244245
*/
245246
function _beginDefaultAdminTransfer(address newAdmin) internal virtual {
246-
uint48 newSchedule = SafeCastUpgradeable.toUint48(block.timestamp) + defaultAdminDelay();
247+
uint48 newSchedule = SafeCast.toUint48(block.timestamp) + defaultAdminDelay();
247248
_setPendingDefaultAdmin(newAdmin, newSchedule);
248249
emit DefaultAdminTransferScheduled(newAdmin, newSchedule);
249250
}
250251

251252
/**
252-
* @inheritdoc IAccessControlDefaultAdminRulesUpgradeable
253+
* @inheritdoc IAccessControlDefaultAdminRules
253254
*/
254255
function cancelDefaultAdminTransfer() public virtual onlyRole(DEFAULT_ADMIN_ROLE) {
255256
_cancelDefaultAdminTransfer();
@@ -265,7 +266,7 @@ abstract contract AccessControlDefaultAdminRulesUpgradeable is Initializable, IA
265266
}
266267

267268
/**
268-
* @inheritdoc IAccessControlDefaultAdminRulesUpgradeable
269+
* @inheritdoc IAccessControlDefaultAdminRules
269270
*/
270271
function acceptDefaultAdminTransfer() public virtual {
271272
(address newDefaultAdmin, ) = pendingDefaultAdmin();
@@ -298,7 +299,7 @@ abstract contract AccessControlDefaultAdminRulesUpgradeable is Initializable, IA
298299
///
299300

300301
/**
301-
* @inheritdoc IAccessControlDefaultAdminRulesUpgradeable
302+
* @inheritdoc IAccessControlDefaultAdminRules
302303
*/
303304
function changeDefaultAdminDelay(uint48 newDelay) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {
304305
_changeDefaultAdminDelay(newDelay);
@@ -310,13 +311,13 @@ abstract contract AccessControlDefaultAdminRulesUpgradeable is Initializable, IA
310311
* Internal function without access restriction.
311312
*/
312313
function _changeDefaultAdminDelay(uint48 newDelay) internal virtual {
313-
uint48 newSchedule = SafeCastUpgradeable.toUint48(block.timestamp) + _delayChangeWait(newDelay);
314+
uint48 newSchedule = SafeCast.toUint48(block.timestamp) + _delayChangeWait(newDelay);
314315
_setPendingDelay(newDelay, newSchedule);
315316
emit DefaultAdminDelayChangeScheduled(newDelay, newSchedule);
316317
}
317318

318319
/**
319-
* @inheritdoc IAccessControlDefaultAdminRulesUpgradeable
320+
* @inheritdoc IAccessControlDefaultAdminRules
320321
*/
321322
function rollbackDefaultAdminDelay() public virtual onlyRole(DEFAULT_ADMIN_ROLE) {
322323
_rollbackDefaultAdminDelay();
@@ -354,7 +355,7 @@ abstract contract AccessControlDefaultAdminRulesUpgradeable is Initializable, IA
354355
// For example, if decreasing from 10 days to 3 days, the new delay will come into effect after 7 days.
355356
return
356357
newDelay > currentDelay
357-
? uint48(MathUpgradeable.min(newDelay, defaultAdminDelayIncreaseWait())) // no need to safecast, both inputs are uint48
358+
? uint48(Math.min(newDelay, defaultAdminDelayIncreaseWait())) // no need to safecast, both inputs are uint48
358359
: currentDelay - newDelay;
359360
}
360361

0 commit comments

Comments
 (0)