Skip to content

Commit dad727e

Browse files
Transpile 85cc62b0f
1 parent a057fb9 commit dad727e

18 files changed

+102
-108
lines changed

.changeset/all-geese-stand.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+
Add constructors to the different signers.

contracts/mocks/WithInit.sol

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -124,22 +124,22 @@ contract AccountMockUpgradeableWithInit is AccountMockUpgradeable {
124124
import "./account/AccountMockUpgradeable.sol";
125125

126126
contract AccountECDSAMockUpgradeableWithInit is AccountECDSAMockUpgradeable {
127-
constructor(address signerAddr) payable initializer {
128-
__AccountECDSAMock_init(signerAddr);
127+
constructor() payable initializer {
128+
__AccountECDSAMock_init();
129129
}
130130
}
131131
import "./account/AccountMockUpgradeable.sol";
132132

133133
contract AccountP256MockUpgradeableWithInit is AccountP256MockUpgradeable {
134-
constructor(bytes32 qx, bytes32 qy) payable initializer {
135-
__AccountP256Mock_init(qx, qy);
134+
constructor() payable initializer {
135+
__AccountP256Mock_init();
136136
}
137137
}
138138
import "./account/AccountMockUpgradeable.sol";
139139

140140
contract AccountRSAMockUpgradeableWithInit is AccountRSAMockUpgradeable {
141-
constructor(bytes memory e, bytes memory n) payable initializer {
142-
__AccountRSAMock_init(e, n);
141+
constructor() payable initializer {
142+
__AccountRSAMock_init();
143143
}
144144
}
145145
import "./account/AccountMockUpgradeable.sol";
@@ -173,22 +173,22 @@ contract AccountERC7579HookedMockUpgradeableWithInit is AccountERC7579HookedMock
173173
import "./account/AccountMockUpgradeable.sol";
174174

175175
contract AccountERC7913MockUpgradeableWithInit is AccountERC7913MockUpgradeable {
176-
constructor(bytes memory _signer) payable initializer {
177-
__AccountERC7913Mock_init(_signer);
176+
constructor() payable initializer {
177+
__AccountERC7913Mock_init();
178178
}
179179
}
180180
import "./account/AccountMockUpgradeable.sol";
181181

182182
contract AccountMultiSignerMockUpgradeableWithInit is AccountMultiSignerMockUpgradeable {
183-
constructor(bytes[] memory signers, uint64 threshold) payable initializer {
184-
__AccountMultiSignerMock_init(signers, threshold);
183+
constructor() payable initializer {
184+
__AccountMultiSignerMock_init();
185185
}
186186
}
187187
import "./account/AccountMockUpgradeable.sol";
188188

189189
contract AccountMultiSignerWeightedMockUpgradeableWithInit is AccountMultiSignerWeightedMockUpgradeable {
190-
constructor(bytes[] memory signers, uint64[] memory weights, uint64 threshold) payable initializer {
191-
__AccountMultiSignerWeightedMock_init(signers, weights, threshold);
190+
constructor() payable initializer {
191+
__AccountMultiSignerWeightedMock_init();
192192
}
193193
}
194194
import "./account/modules/ERC7579MockUpgradeable.sol";
@@ -1091,22 +1091,22 @@ contract UpgradeableBeaconReentrantMockUpgradeableWithInit is UpgradeableBeaconR
10911091
import "./utils/cryptography/ERC7739MockUpgradeable.sol";
10921092

10931093
contract ERC7739ECDSAMockUpgradeableWithInit is ERC7739ECDSAMockUpgradeable {
1094-
constructor(address signerAddr) payable initializer {
1095-
__ERC7739ECDSAMock_init(signerAddr);
1094+
constructor() payable initializer {
1095+
__ERC7739ECDSAMock_init();
10961096
}
10971097
}
10981098
import "./utils/cryptography/ERC7739MockUpgradeable.sol";
10991099

11001100
contract ERC7739P256MockUpgradeableWithInit is ERC7739P256MockUpgradeable {
1101-
constructor(bytes32 qx, bytes32 qy) payable initializer {
1102-
__ERC7739P256Mock_init(qx, qy);
1101+
constructor() payable initializer {
1102+
__ERC7739P256Mock_init();
11031103
}
11041104
}
11051105
import "./utils/cryptography/ERC7739MockUpgradeable.sol";
11061106

11071107
contract ERC7739RSAMockUpgradeableWithInit is ERC7739RSAMockUpgradeable {
1108-
constructor(bytes memory e, bytes memory n) payable initializer {
1109-
__ERC7739RSAMock_init(e, n);
1108+
constructor() payable initializer {
1109+
__ERC7739RSAMock_init();
11101110
}
11111111
}
11121112
import "./VotesExtendedMockUpgradeable.sol";
@@ -1378,43 +1378,43 @@ contract EIP712UpgradeableWithInit is EIP712Upgradeable {
13781378
import "../utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";
13791379

13801380
contract MultiSignerERC7913UpgradeableWithInit is MultiSignerERC7913Upgradeable {
1381-
constructor() payable initializer {
1382-
__MultiSignerERC7913_init();
1381+
constructor(bytes[] memory signers_, uint64 threshold_) payable initializer {
1382+
__MultiSignerERC7913_init(signers_, threshold_);
13831383
}
13841384
}
13851385
import "../utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";
13861386

13871387
contract MultiSignerERC7913WeightedUpgradeableWithInit is MultiSignerERC7913WeightedUpgradeable {
1388-
constructor() payable initializer {
1389-
__MultiSignerERC7913Weighted_init();
1388+
constructor(bytes[] memory signers_, uint64[] memory weights_, uint64 threshold_) payable initializer {
1389+
__MultiSignerERC7913Weighted_init(signers_, weights_, threshold_);
13901390
}
13911391
}
13921392
import "../utils/cryptography/signers/SignerECDSAUpgradeable.sol";
13931393

13941394
contract SignerECDSAUpgradeableWithInit is SignerECDSAUpgradeable {
1395-
constructor() payable initializer {
1396-
__SignerECDSA_init();
1395+
constructor(address signerAddr) payable initializer {
1396+
__SignerECDSA_init(signerAddr);
13971397
}
13981398
}
13991399
import "../utils/cryptography/signers/SignerERC7913Upgradeable.sol";
14001400

14011401
contract SignerERC7913UpgradeableWithInit is SignerERC7913Upgradeable {
1402-
constructor() payable initializer {
1403-
__SignerERC7913_init();
1402+
constructor(bytes memory signer_) payable initializer {
1403+
__SignerERC7913_init(signer_);
14041404
}
14051405
}
14061406
import "../utils/cryptography/signers/SignerP256Upgradeable.sol";
14071407

14081408
contract SignerP256UpgradeableWithInit is SignerP256Upgradeable {
1409-
constructor() payable initializer {
1410-
__SignerP256_init();
1409+
constructor(bytes32 qx, bytes32 qy) payable initializer {
1410+
__SignerP256_init(qx, qy);
14111411
}
14121412
}
14131413
import "../utils/cryptography/signers/SignerRSAUpgradeable.sol";
14141414

14151415
contract SignerRSAUpgradeableWithInit is SignerRSAUpgradeable {
1416-
constructor() payable initializer {
1417-
__SignerRSA_init();
1416+
constructor(bytes memory e, bytes memory n) payable initializer {
1417+
__SignerRSA_init(e, n);
14181418
}
14191419
}
14201420
import "../utils/introspection/ERC165Upgradeable.sol";

contracts/mocks/account/AccountMockUpgradeable.sol

Lines changed: 12 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,11 @@ abstract contract AccountMockUpgradeable is Initializable, Account, ERC7739Upgra
4444
}
4545

4646
abstract contract AccountECDSAMockUpgradeable is Initializable, Account, SignerECDSAUpgradeable, ERC7739Upgradeable, ERC7821, ERC721HolderUpgradeable, ERC1155HolderUpgradeable {
47-
function __AccountECDSAMock_init(address signerAddr) internal onlyInitializing {
48-
__AccountECDSAMock_init_unchained(signerAddr);
47+
function __AccountECDSAMock_init() internal onlyInitializing {
4948
}
5049

51-
function __AccountECDSAMock_init_unchained(address signerAddr) internal onlyInitializing {
52-
_setSigner(signerAddr);
50+
function __AccountECDSAMock_init_unchained() internal onlyInitializing {
5351
}
54-
5552
/// @inheritdoc ERC7821
5653
function _erc7821AuthorizedExecutor(
5754
address caller,
@@ -63,14 +60,11 @@ abstract contract AccountECDSAMockUpgradeable is Initializable, Account, SignerE
6360
}
6461

6562
abstract contract AccountP256MockUpgradeable is Initializable, Account, SignerP256Upgradeable, ERC7739Upgradeable, ERC7821, ERC721HolderUpgradeable, ERC1155HolderUpgradeable {
66-
function __AccountP256Mock_init(bytes32 qx, bytes32 qy) internal onlyInitializing {
67-
__AccountP256Mock_init_unchained(qx, qy);
63+
function __AccountP256Mock_init() internal onlyInitializing {
6864
}
6965

70-
function __AccountP256Mock_init_unchained(bytes32 qx, bytes32 qy) internal onlyInitializing {
71-
_setSigner(qx, qy);
66+
function __AccountP256Mock_init_unchained() internal onlyInitializing {
7267
}
73-
7468
/// @inheritdoc ERC7821
7569
function _erc7821AuthorizedExecutor(
7670
address caller,
@@ -82,14 +76,11 @@ abstract contract AccountP256MockUpgradeable is Initializable, Account, SignerP2
8276
}
8377

8478
abstract contract AccountRSAMockUpgradeable is Initializable, Account, SignerRSAUpgradeable, ERC7739Upgradeable, ERC7821, ERC721HolderUpgradeable, ERC1155HolderUpgradeable {
85-
function __AccountRSAMock_init(bytes memory e, bytes memory n) internal onlyInitializing {
86-
__AccountRSAMock_init_unchained(e, n);
79+
function __AccountRSAMock_init() internal onlyInitializing {
8780
}
8881

89-
function __AccountRSAMock_init_unchained(bytes memory e, bytes memory n) internal onlyInitializing {
90-
_setSigner(e, n);
82+
function __AccountRSAMock_init_unchained() internal onlyInitializing {
9183
}
92-
9384
/// @inheritdoc ERC7821
9485
function _erc7821AuthorizedExecutor(
9586
address caller,
@@ -177,14 +168,11 @@ abstract contract AccountERC7579HookedMockUpgradeable is Initializable, AccountE
177168
}
178169

179170
abstract contract AccountERC7913MockUpgradeable is Initializable, Account, SignerERC7913Upgradeable, ERC7739Upgradeable, ERC7821, ERC721HolderUpgradeable, ERC1155HolderUpgradeable {
180-
function __AccountERC7913Mock_init(bytes memory _signer) internal onlyInitializing {
181-
__AccountERC7913Mock_init_unchained(_signer);
171+
function __AccountERC7913Mock_init() internal onlyInitializing {
182172
}
183173

184-
function __AccountERC7913Mock_init_unchained(bytes memory _signer) internal onlyInitializing {
185-
_setSigner(_signer);
174+
function __AccountERC7913Mock_init_unchained() internal onlyInitializing {
186175
}
187-
188176
/// @inheritdoc ERC7821
189177
function _erc7821AuthorizedExecutor(
190178
address caller,
@@ -196,15 +184,11 @@ abstract contract AccountERC7913MockUpgradeable is Initializable, Account, Signe
196184
}
197185

198186
abstract contract AccountMultiSignerMockUpgradeable is Initializable, Account, MultiSignerERC7913Upgradeable, ERC7739Upgradeable, ERC7821, ERC721HolderUpgradeable, ERC1155HolderUpgradeable {
199-
function __AccountMultiSignerMock_init(bytes[] memory signers, uint64 threshold) internal onlyInitializing {
200-
__AccountMultiSignerMock_init_unchained(signers, threshold);
187+
function __AccountMultiSignerMock_init() internal onlyInitializing {
201188
}
202189

203-
function __AccountMultiSignerMock_init_unchained(bytes[] memory signers, uint64 threshold) internal onlyInitializing {
204-
_addSigners(signers);
205-
_setThreshold(threshold);
190+
function __AccountMultiSignerMock_init_unchained() internal onlyInitializing {
206191
}
207-
208192
/// @inheritdoc ERC7821
209193
function _erc7821AuthorizedExecutor(
210194
address caller,
@@ -223,16 +207,11 @@ abstract contract AccountMultiSignerWeightedMockUpgradeable is
223207
ERC721HolderUpgradeable,
224208
ERC1155HolderUpgradeable
225209
{
226-
function __AccountMultiSignerWeightedMock_init(bytes[] memory signers, uint64[] memory weights, uint64 threshold) internal onlyInitializing {
227-
__AccountMultiSignerWeightedMock_init_unchained(signers, weights, threshold);
210+
function __AccountMultiSignerWeightedMock_init() internal onlyInitializing {
228211
}
229212

230-
function __AccountMultiSignerWeightedMock_init_unchained(bytes[] memory signers, uint64[] memory weights, uint64 threshold) internal onlyInitializing {
231-
_addSigners(signers);
232-
_setSignerWeights(signers, weights);
233-
_setThreshold(threshold);
213+
function __AccountMultiSignerWeightedMock_init_unchained() internal onlyInitializing {
234214
}
235-
236215
/// @inheritdoc ERC7821
237216
function _erc7821AuthorizedExecutor(
238217
address caller,

contracts/mocks/utils/cryptography/ERC7739MockUpgradeable.sol

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,42 +3,27 @@
33
pragma solidity ^0.8.20;
44

55
import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
6-
import {EIP712Upgradeable} from "../../../utils/cryptography/EIP712Upgradeable.sol";
76
import {ERC7739Upgradeable} from "../../../utils/cryptography/signers/draft-ERC7739Upgradeable.sol";
87
import {SignerECDSAUpgradeable} from "../../../utils/cryptography/signers/SignerECDSAUpgradeable.sol";
98
import {SignerP256Upgradeable} from "../../../utils/cryptography/signers/SignerP256Upgradeable.sol";
109
import {SignerRSAUpgradeable} from "../../../utils/cryptography/signers/SignerRSAUpgradeable.sol";
1110
import {Initializable} from "../../../proxy/utils/Initializable.sol";
1211

13-
contract ERC7739ECDSAMockUpgradeable is Initializable, ERC7739Upgradeable, SignerECDSAUpgradeable {
14-
function __ERC7739ECDSAMock_init(address signerAddr) internal onlyInitializing {
15-
__EIP712_init_unchained("ERC7739ECDSA", "1");
16-
__ERC7739ECDSAMock_init_unchained(signerAddr);
12+
abstract contract ERC7739ECDSAMockUpgradeable is Initializable, ERC7739Upgradeable, SignerECDSAUpgradeable { function __ERC7739ECDSAMock_init() internal onlyInitializing {
1713
}
1814

19-
function __ERC7739ECDSAMock_init_unchained(address signerAddr) internal onlyInitializing {
20-
_setSigner(signerAddr);
15+
function __ERC7739ECDSAMock_init_unchained() internal onlyInitializing {
2116
}
2217
}
23-
24-
contract ERC7739P256MockUpgradeable is Initializable, ERC7739Upgradeable, SignerP256Upgradeable {
25-
function __ERC7739P256Mock_init(bytes32 qx, bytes32 qy) internal onlyInitializing {
26-
__EIP712_init_unchained("ERC7739P256", "1");
27-
__ERC7739P256Mock_init_unchained(qx, qy);
18+
abstract contract ERC7739P256MockUpgradeable is Initializable, ERC7739Upgradeable, SignerP256Upgradeable { function __ERC7739P256Mock_init() internal onlyInitializing {
2819
}
2920

30-
function __ERC7739P256Mock_init_unchained(bytes32 qx, bytes32 qy) internal onlyInitializing {
31-
_setSigner(qx, qy);
21+
function __ERC7739P256Mock_init_unchained() internal onlyInitializing {
3222
}
3323
}
34-
35-
contract ERC7739RSAMockUpgradeable is Initializable, ERC7739Upgradeable, SignerRSAUpgradeable {
36-
function __ERC7739RSAMock_init(bytes memory e, bytes memory n) internal onlyInitializing {
37-
__EIP712_init_unchained("ERC7739RSA", "1");
38-
__ERC7739RSAMock_init_unchained(e, n);
24+
abstract contract ERC7739RSAMockUpgradeable is Initializable, ERC7739Upgradeable, SignerRSAUpgradeable { function __ERC7739RSAMock_init() internal onlyInitializing {
3925
}
4026

41-
function __ERC7739RSAMock_init_unchained(bytes memory e, bytes memory n) internal onlyInitializing {
42-
_setSigner(e, n);
27+
function __ERC7739RSAMock_init_unchained() internal onlyInitializing {
4328
}
4429
}

contracts/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,15 @@ abstract contract MultiSignerERC7913Upgradeable is Initializable, AbstractSigner
8383
/// @dev The `threshold` is unreachable given the number of `signers`.
8484
error MultiSignerERC7913UnreachableThreshold(uint64 signers, uint64 threshold);
8585

86-
function __MultiSignerERC7913_init() internal onlyInitializing {
86+
function __MultiSignerERC7913_init(bytes[] memory signers_, uint64 threshold_) internal onlyInitializing {
87+
__MultiSignerERC7913_init_unchained(signers_, threshold_);
8788
}
8889

89-
function __MultiSignerERC7913_init_unchained() internal onlyInitializing {
90+
function __MultiSignerERC7913_init_unchained(bytes[] memory signers_, uint64 threshold_) internal onlyInitializing {
91+
_addSigners(signers_);
92+
_setThreshold(threshold_);
9093
}
94+
9195
/**
9296
* @dev Returns a slice of the set of authorized signers.
9397
*

contracts/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,16 @@ abstract contract MultiSignerERC7913WeightedUpgradeable is Initializable, MultiS
8181
/// @dev Thrown when the arrays lengths don't match. See {_setSignerWeights}.
8282
error MultiSignerERC7913WeightedMismatchedLength();
8383

84-
function __MultiSignerERC7913Weighted_init() internal onlyInitializing {
84+
function __MultiSignerERC7913Weighted_init(bytes[] memory signers_, uint64[] memory weights_, uint64 threshold_) internal onlyInitializing {
85+
__MultiSignerERC7913_init_unchained(signers_, 1);
86+
__MultiSignerERC7913Weighted_init_unchained(signers_, weights_, threshold_);
8587
}
8688

87-
function __MultiSignerERC7913Weighted_init_unchained() internal onlyInitializing {
89+
function __MultiSignerERC7913Weighted_init_unchained(bytes[] memory signers_, uint64[] memory weights_, uint64 threshold_) internal onlyInitializing {
90+
_setSignerWeights(signers_, weights_);
91+
_setThreshold(threshold_);
8892
}
93+
8994
/// @dev Gets the weight of a signer. Returns 0 if the signer is not authorized.
9095
function signerWeight(bytes memory signer) public view virtual returns (uint64) {
9196
MultiSignerERC7913WeightedStorage storage $ = _getMultiSignerERC7913WeightedStorage();

contracts/utils/cryptography/signers/SignerECDSAUpgradeable.sol

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,14 @@ abstract contract SignerECDSAUpgradeable is Initializable, AbstractSigner {
4141
}
4242
}
4343

44-
function __SignerECDSA_init() internal onlyInitializing {
44+
function __SignerECDSA_init(address signerAddr) internal onlyInitializing {
45+
__SignerECDSA_init_unchained(signerAddr);
4546
}
4647

47-
function __SignerECDSA_init_unchained() internal onlyInitializing {
48+
function __SignerECDSA_init_unchained(address signerAddr) internal onlyInitializing {
49+
_setSigner(signerAddr);
4850
}
51+
4952
/**
5053
* @dev Sets the signer with the address of the native signer. This function should be called during construction
5154
* or through an initializer.

contracts/utils/cryptography/signers/SignerERC7913Upgradeable.sol

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,14 @@ abstract contract SignerERC7913Upgradeable is Initializable, AbstractSigner {
4545
}
4646
}
4747

48-
function __SignerERC7913_init() internal onlyInitializing {
48+
function __SignerERC7913_init(bytes memory signer_) internal onlyInitializing {
49+
__SignerERC7913_init_unchained(signer_);
4950
}
5051

51-
function __SignerERC7913_init_unchained() internal onlyInitializing {
52+
function __SignerERC7913_init_unchained(bytes memory signer_) internal onlyInitializing {
53+
_setSigner(signer_);
5254
}
55+
5356
/// @dev Return the ERC-7913 signer (i.e. `verifier || key`).
5457
function signer() public view virtual returns (bytes memory) {
5558
SignerERC7913Storage storage $ = _getSignerERC7913Storage();

contracts/utils/cryptography/signers/SignerP256Upgradeable.sol

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,14 @@ abstract contract SignerP256Upgradeable is Initializable, AbstractSigner {
4444

4545
error SignerP256InvalidPublicKey(bytes32 qx, bytes32 qy);
4646

47-
function __SignerP256_init() internal onlyInitializing {
47+
function __SignerP256_init(bytes32 qx, bytes32 qy) internal onlyInitializing {
48+
__SignerP256_init_unchained(qx, qy);
4849
}
4950

50-
function __SignerP256_init_unchained() internal onlyInitializing {
51+
function __SignerP256_init_unchained(bytes32 qx, bytes32 qy) internal onlyInitializing {
52+
_setSigner(qx, qy);
5153
}
54+
5255
/**
5356
* @dev Sets the signer with a P256 public key. This function should be called during construction
5457
* or through an initializer.

0 commit comments

Comments
 (0)