@openzeppelin/wizard 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +1 -1
  2. package/dist/account.d.ts.map +1 -1
  3. package/dist/account.js +48 -28
  4. package/dist/account.js.map +1 -1
  5. package/dist/environments/hardhat/package-lock.json +463 -521
  6. package/dist/environments/hardhat/upgradeable/package-lock.json +1282 -1055
  7. package/dist/generate/account.d.ts.map +1 -1
  8. package/dist/generate/account.js +2 -1
  9. package/dist/generate/account.js.map +1 -1
  10. package/dist/options.d.ts +3 -0
  11. package/dist/options.d.ts.map +1 -1
  12. package/dist/options.js +8 -7
  13. package/dist/options.js.map +1 -1
  14. package/dist/print.d.ts.map +1 -1
  15. package/dist/print.js +27 -12
  16. package/dist/print.js.map +1 -1
  17. package/dist/set-upgradeable.d.ts +1 -0
  18. package/dist/set-upgradeable.d.ts.map +1 -1
  19. package/dist/set-upgradeable.js +6 -0
  20. package/dist/set-upgradeable.js.map +1 -1
  21. package/dist/signer.d.ts +7 -2
  22. package/dist/signer.d.ts.map +1 -1
  23. package/dist/signer.js +45 -65
  24. package/dist/signer.js.map +1 -1
  25. package/dist/utils/community-contracts-git-commit.d.ts +16 -0
  26. package/dist/utils/community-contracts-git-commit.d.ts.map +1 -0
  27. package/dist/utils/community-contracts-git-commit.js +37 -0
  28. package/dist/utils/community-contracts-git-commit.js.map +1 -0
  29. package/dist/utils/imports-libraries.d.ts +3 -0
  30. package/dist/utils/imports-libraries.d.ts.map +1 -0
  31. package/dist/utils/imports-libraries.js +7 -0
  32. package/dist/utils/imports-libraries.js.map +1 -0
  33. package/dist/zip-foundry.d.ts.map +1 -1
  34. package/dist/zip-foundry.js +60 -65
  35. package/dist/zip-foundry.js.map +1 -1
  36. package/dist/zip-hardhat.d.ts.map +1 -1
  37. package/dist/zip-hardhat.js +8 -3
  38. package/dist/zip-hardhat.js.map +1 -1
  39. package/package.json +2 -2
  40. package/src/account.ts +55 -29
  41. package/src/environments/hardhat/package-lock.json +463 -521
  42. package/src/environments/hardhat/upgradeable/package-lock.json +1282 -1055
  43. package/src/generate/account.ts +2 -1
  44. package/src/options.ts +8 -8
  45. package/src/print.ts +47 -14
  46. package/src/set-upgradeable.ts +6 -0
  47. package/src/signer.ts +49 -70
  48. package/src/utils/community-contracts-git-commit.ts +38 -0
  49. package/src/utils/imports-libraries.ts +5 -0
  50. package/src/zip-foundry.ts +84 -64
  51. package/src/zip-hardhat.ts +9 -3
package/README.md CHANGED
@@ -22,7 +22,7 @@ The following contract types are supported:
22
22
  - `governor`
23
23
  - `custom`
24
24
 
25
- Note that `stablecoin`, `realWorldAsset`, and `account` are experimental and may be subject to change.
25
+ Note that `stablecoin` and `realWorldAsset` are experimental and may be subject to change.
26
26
 
27
27
  Each contract type has functions/constants as defined below.
28
28
 
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../src/account.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAkD,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtG,OAAO,EAAuC,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAEnF,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,cAAc,CASpC,CAAC;AAEX,eAAO,MAAM,0BAA0B,wCAAyC,CAAC;AACjF,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAErF,eAAO,MAAM,qBAAqB,4DAA6D,CAAC;AAChG,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;IACjD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAeD,wBAAgB,YAAY,CAAC,IAAI,GAAE,cAAyB,GAAG,MAAM,CAEpE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,QAAQ,CAoB3D"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../src/account.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAkD,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtG,OAAO,EAAuC,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAGnF,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,cAAc,CASpC,CAAC;AAEX,eAAO,MAAM,0BAA0B,wCAAyC,CAAC;AACjF,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAErF,eAAO,MAAM,qBAAqB,4DAA6D,CAAC;AAChG,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;IACjD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAeD,wBAAgB,YAAY,CAAC,IAAI,GAAE,cAAyB,GAAG,MAAM,CAEpE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,QAAQ,CAqB3D"}
package/dist/account.js CHANGED
@@ -7,8 +7,10 @@ const contract_1 = require("./contract");
7
7
  const define_functions_1 = require("./utils/define-functions");
8
8
  const print_1 = require("./print");
9
9
  const common_options_1 = require("./common-options");
10
+ const options_1 = require("./options");
10
11
  const set_info_1 = require("./set-info");
11
12
  const signer_1 = require("./signer");
13
+ const set_upgradeable_1 = require("./set-upgradeable");
12
14
  exports.defaults = {
13
15
  ...common_options_1.defaults,
14
16
  name: 'MyAccount',
@@ -39,34 +41,36 @@ function printAccount(opts = exports.defaults) {
39
41
  }
40
42
  function buildAccount(opts) {
41
43
  const allOpts = withDefaults(opts);
42
- allOpts.upgradeable = false; // Upgradeability is not yet available for the community contracts
43
44
  allOpts.access = false; // Access control options are not used for Account
44
45
  const c = new contract_1.ContractBuilder(allOpts.name);
45
46
  addParents(c, allOpts);
46
47
  overrideRawSignatureValidation(c, allOpts);
48
+ (0, set_upgradeable_1.setUpgradeableAccount)(c, allOpts.upgradeable);
47
49
  (0, set_info_1.setInfo)(c, allOpts.info);
48
50
  if (opts.ERC7579Modules) {
49
51
  c.addImportOnly({
50
52
  name: 'PackedUserOperation',
51
53
  path: '@openzeppelin/contracts/interfaces/draft-IERC4337.sol',
54
+ transpiled: false, // PackedUserOperation doesn't start with "I" so its not recognized as an "interface object"
52
55
  });
53
56
  }
54
57
  return c;
55
58
  }
56
59
  function addParents(c, opts) {
57
- var _a;
60
+ var _a, _b;
58
61
  // Base
59
62
  c.addParent({
60
63
  name: 'Account',
61
- path: `@openzeppelin/community-contracts/account/Account.sol`,
64
+ path: `@openzeppelin/contracts/account/Account.sol`,
65
+ transpiled: false,
62
66
  });
63
- c.addOverride({ name: 'Account' }, functions._validateUserOp);
67
+ c.addOverride({ name: 'Account', transpiled: false }, functions._validateUserOp);
64
68
  if (opts.signatureValidation === 'ERC7739')
65
69
  addEIP712(c, opts);
66
70
  // Extensions
67
71
  addSignatureValidation(c, opts);
68
72
  addERC7579Modules(c, opts);
69
- (0, signer_1.addSigner)(c, (_a = opts.signer) !== null && _a !== void 0 ? _a : false);
73
+ (0, signer_1.addSigner)(c, (_a = opts.signer) !== null && _a !== void 0 ? _a : false, (_b = opts.upgradeable) !== null && _b !== void 0 ? _b : false);
70
74
  addMultisigFunctions(c, opts);
71
75
  addBatchedExecution(c, opts);
72
76
  addERC721Holder(c, opts);
@@ -77,7 +81,8 @@ function addSignatureValidation(c, opts) {
77
81
  case 'ERC7739':
78
82
  c.addParent({
79
83
  name: 'ERC7739',
80
- path: '@openzeppelin/community-contracts/utils/cryptography/ERC7739.sol',
84
+ path: '@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol',
85
+ transpiled: false,
81
86
  });
82
87
  break;
83
88
  case 'ERC1271':
@@ -100,6 +105,7 @@ function addERC721Holder(c, opts) {
100
105
  c.addParent({
101
106
  name: 'ERC721Holder',
102
107
  path: '@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol',
108
+ transpiled: false,
103
109
  });
104
110
  }
105
111
  function addERC1155Holder(c, opts) {
@@ -108,6 +114,7 @@ function addERC1155Holder(c, opts) {
108
114
  c.addParent({
109
115
  name: 'ERC1155Holder',
110
116
  path: '@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol',
117
+ transpiled: false,
111
118
  });
112
119
  }
113
120
  function addBatchedExecution(c, opts) {
@@ -116,9 +123,10 @@ function addBatchedExecution(c, opts) {
116
123
  return;
117
124
  c.addParent({
118
125
  name: 'ERC7821',
119
- path: '@openzeppelin/community-contracts/account/extensions/ERC7821.sol',
126
+ path: '@openzeppelin/contracts/account/extensions/draft-ERC7821.sol',
127
+ transpiled: false,
120
128
  });
121
- c.addOverride({ name: 'ERC7821' }, functions._erc7821AuthorizedExecutor);
129
+ c.addOverride({ name: 'ERC7821', transpiled: false }, functions._erc7821AuthorizedExecutor);
122
130
  c.setFunctionBody(['return caller == address(entryPoint()) || super._erc7821AuthorizedExecutor(caller, mode, executionData);'], functions._erc7821AuthorizedExecutor);
123
131
  }
124
132
  function addERC7579Modules(c, opts) {
@@ -126,25 +134,33 @@ function addERC7579Modules(c, opts) {
126
134
  return;
127
135
  c.addParent({
128
136
  name: opts.ERC7579Modules,
129
- path: `@openzeppelin/community-contracts/account/extensions/${opts.ERC7579Modules}.sol`,
137
+ path: `@openzeppelin/contracts/account/extensions/draft-${opts.ERC7579Modules}.sol`,
130
138
  });
131
139
  if (opts.ERC7579Modules !== 'AccountERC7579') {
132
140
  c.addImportOnly({
133
141
  name: 'AccountERC7579',
134
- path: `@openzeppelin/community-contracts/account/extensions/AccountERC7579.sol`,
142
+ path: '@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol',
135
143
  });
136
144
  }
137
- c.addOverride({ name: 'AccountERC7579' }, functions.isValidSignature);
145
+ // Accounts that use ERC7579 without a signer must be constructed with at least one module (executor of validation)
146
+ if (!opts.signer) {
147
+ c.addConstructorArgument({ type: 'uint256', name: 'moduleTypeId' });
148
+ c.addConstructorArgument({ type: 'address', name: 'module' });
149
+ c.addConstructorArgument({ type: 'bytes calldata', name: 'initData' });
150
+ c.addConstructorCode('require(moduleTypeId == MODULE_TYPE_VALIDATOR || moduleTypeId == MODULE_TYPE_EXECUTOR);');
151
+ c.addConstructorCode('_installModule(moduleTypeId, module, initData);');
152
+ }
138
153
  c.addOverride({ name: 'AccountERC7579' }, functions._validateUserOp);
139
- if (opts.signatureValidation !== 'ERC7739')
140
- return;
141
- c.addOverride({ name: 'ERC7739' }, functions.isValidSignature);
142
- c.setFunctionBody([
143
- '// ERC-7739 can return the ERC-1271 magic value, 0xffffffff (invalid) or 0x77390001 (detection).',
144
- '// If the returned value is 0xffffffff, fallback to ERC-7579 validation.',
145
- 'bytes4 erc7739magic = ERC7739.isValidSignature(hash, signature);',
146
- 'return erc7739magic == bytes4(0xffffffff) ? AccountERC7579.isValidSignature(hash, signature) : erc7739magic;',
147
- ], functions.isValidSignature);
154
+ c.addOverride({ name: 'AccountERC7579' }, functions.isValidSignature);
155
+ if (opts.signatureValidation === 'ERC7739') {
156
+ c.addOverride({ name: 'ERC7739', transpiled: false }, functions.isValidSignature);
157
+ c.setFunctionBody([
158
+ '// ERC-7739 can return the ERC-1271 magic value, 0xffffffff (invalid) or 0x77390001 (detection).',
159
+ '// If the returned value is 0xffffffff, fallback to ERC-7579 validation.',
160
+ 'bytes4 erc7739magic = ERC7739.isValidSignature(hash, signature);',
161
+ `return erc7739magic == bytes4(0xffffffff) ? ${opts.upgradeable ? (0, options_1.upgradeableName)('AccountERC7579') : 'AccountERC7579'}.isValidSignature(hash, signature) : erc7739magic;`,
162
+ ], functions.isValidSignature);
163
+ }
148
164
  }
149
165
  function addMultisigFunctions(c, opts) {
150
166
  switch (opts.signer) {
@@ -169,6 +185,7 @@ function addEIP712(c, opts) {
169
185
  c.addParent({
170
186
  name: 'EIP712',
171
187
  path: '@openzeppelin/contracts/utils/cryptography/EIP712.sol',
188
+ transpiled: false, // do not use the upgradeable variant for in Accounts
172
189
  }, [opts.name, '1']);
173
190
  }
174
191
  function overrideRawSignatureValidation(c, opts) {
@@ -180,22 +197,25 @@ function overrideRawSignatureValidation(c, opts) {
180
197
  // to provide a custom validation logic
181
198
  if (!opts.signer && !opts.ERC7579Modules) {
182
199
  // Custom validation logic
183
- c.addOverride({ name: 'Account' }, signer_1.signerFunctions._rawSignatureValidation);
200
+ c.addOverride({ name: 'Account', transpiled: false }, signer_1.signerFunctions._rawSignatureValidation);
184
201
  c.setFunctionBody(['// Custom validation logic', 'return false;'], signer_1.signerFunctions._rawSignatureValidation);
185
202
  }
186
203
  // Disambiguate between Signer and AccountERC7579
187
204
  if (opts.signer && opts.ERC7579Modules) {
205
+ const accountName = opts.upgradeable ? (0, options_1.upgradeableName)('AccountERC7579') : 'AccountERC7579';
206
+ const signerName = opts.upgradeable ? (0, options_1.upgradeableName)(`Signer${opts.signer}`) : `Signer${opts.signer}`;
188
207
  c.addImportOnly({
189
208
  name: 'AbstractSigner',
190
- path: '@openzeppelin/community-contracts/utils/cryptography/AbstractSigner.sol',
209
+ path: '@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol',
210
+ transpiled: false,
191
211
  });
192
- c.addOverride({ name: 'AbstractSigner' }, signer_1.signerFunctions._rawSignatureValidation);
212
+ c.addOverride({ name: 'AbstractSigner', transpiled: false }, signer_1.signerFunctions._rawSignatureValidation);
193
213
  c.addOverride({ name: 'AccountERC7579' }, signer_1.signerFunctions._rawSignatureValidation);
194
214
  c.setFunctionComments([
195
- `// IMPORTANT: Make sure Signer${opts.signer} is most derived than AccountERC7579`,
196
- `// in the inheritance chain (i.e. contract ... is AccountERC7579, ..., Signer${opts.signer})`,
215
+ `// IMPORTANT: Make sure ${signerName} is most derived than ${accountName}`,
216
+ `// in the inheritance chain (i.e. contract ... is ${accountName}, ..., ${signerName})`,
197
217
  '// to ensure the correct order of function resolution.',
198
- '// AccountERC7579 returns false for `_rawSignatureValidation`',
218
+ `// ${accountName} returns false for _rawSignatureValidation`,
199
219
  ], signer_1.signerFunctions._rawSignatureValidation);
200
220
  // Base override for `_rawSignatureValidation` given MultiSignerERC7913Weighted is MultiSignerERC7913
201
221
  if (opts.signer === 'MultisigWeighted') {
@@ -242,13 +262,13 @@ const functions = {
242
262
  },
243
263
  setThreshold: {
244
264
  kind: 'public',
245
- args: [{ name: 'threshold', type: 'uint256' }],
265
+ args: [{ name: 'threshold', type: 'uint64' }],
246
266
  },
247
267
  setSignerWeights: {
248
268
  kind: 'public',
249
269
  args: [
250
270
  { name: 'signers', type: 'bytes[] memory' },
251
- { name: 'weights', type: 'uint256[] memory' },
271
+ { name: 'weights', type: 'uint64[] memory' },
252
272
  ],
253
273
  },
254
274
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../src/account.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../src/account.ts"],"names":[],"mappings":"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"}