@openzeppelin/wizard 0.5.5 → 0.6.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.
package/dist/account.js CHANGED
@@ -150,11 +150,15 @@ function addMultisigFunctions(c, opts) {
150
150
  switch (opts.signer) {
151
151
  case 'MultisigWeighted':
152
152
  c.addFunctionCode(`_setSignerWeights(${functions.setSignerWeights.args.map(({ name }) => name).join(', ')});`, functions.setSignerWeights);
153
+ c.addModifier('onlyEntryPointOrSelf', functions.setSignerWeights);
153
154
  // eslint-disable-next-line no-fallthrough
154
155
  case 'Multisig':
155
156
  c.addFunctionCode(`_addSigners(${functions.addSigners.args[0].name});`, functions.addSigners);
157
+ c.addModifier('onlyEntryPointOrSelf', functions.addSigners);
156
158
  c.addFunctionCode(`_removeSigners(${functions.removeSigners.args[0].name});`, functions.removeSigners);
159
+ c.addModifier('onlyEntryPointOrSelf', functions.removeSigners);
157
160
  c.addFunctionCode(`_setThreshold(${functions.setThreshold.args[0].name});`, functions.setThreshold);
161
+ c.addModifier('onlyEntryPointOrSelf', functions.setThreshold);
158
162
  break;
159
163
  default:
160
164
  }
@@ -179,7 +183,7 @@ function overrideRawSignatureValidation(c, opts) {
179
183
  c.addOverride({ name: 'Account' }, signer_1.signerFunctions._rawSignatureValidation);
180
184
  c.setFunctionBody(['// Custom validation logic', 'return false;'], signer_1.signerFunctions._rawSignatureValidation);
181
185
  }
182
- // Dissambiguate between Signer and AccountERC7579
186
+ // Disambiguate between Signer and AccountERC7579
183
187
  if (opts.signer && opts.ERC7579Modules) {
184
188
  c.addImportOnly({
185
189
  name: 'AbstractSigner',
@@ -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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"}
@@ -23,7 +23,7 @@ export interface GovernorOptions extends CommonOptions {
23
23
  storage?: boolean;
24
24
  settings?: boolean;
25
25
  }
26
- export declare function isAccessControlRequired(opts: Partial<GovernorOptions>): boolean;
26
+ export declare function isAccessControlRequired(_: Partial<GovernorOptions>): boolean;
27
27
  export declare function buildGovernor(opts: GovernorOptions): Contract;
28
28
  export declare const numberPattern: RegExp;
29
29
  //# sourceMappingURL=governor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"governor.d.ts","sourceRoot":"","sources":["../src/governor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,YAAY,CAAC;AAS3D,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEpE,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAoBrC,CAAC;AAEX,eAAO,MAAM,YAAY,wCAAyC,CAAC;AACnE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,eAAe,8CAA+C,CAAC;AAC5E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,wBAAgB,aAAa,CAAC,IAAI,GAAE,eAA0B,GAAG,MAAM,CAEtE;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAE/E;AAoBD,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,QAAQ,CAoB7D;AAwKD,eAAO,MAAM,aAAa,QAAwC,CAAC"}
1
+ {"version":3,"file":"governor.d.ts","sourceRoot":"","sources":["../src/governor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,YAAY,CAAC;AAQ3D,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEpE,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAiBrC,CAAC;AAEX,eAAO,MAAM,YAAY,wCAAyC,CAAC;AACnE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,eAAe,8CAA+C,CAAC;AAC5E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,wBAAgB,aAAa,CAAC,IAAI,GAAE,eAA0B,GAAG,MAAM,CAEtE;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAE5E;AAoBD,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,QAAQ,CAmB7D;AAwKD,eAAO,MAAM,aAAa,QAAwC,CAAC"}
package/dist/governor.js CHANGED
@@ -8,7 +8,6 @@ const common_functions_1 = require("./common-functions");
8
8
  const common_options_1 = require("./common-options");
9
9
  const contract_1 = require("./contract");
10
10
  const error_1 = require("./error");
11
- const set_access_control_1 = require("./set-access-control");
12
11
  const print_1 = require("./print");
13
12
  const set_info_1 = require("./set-info");
14
13
  const set_upgradeable_1 = require("./set-upgradeable");
@@ -16,6 +15,7 @@ const define_functions_1 = require("./utils/define-functions");
16
15
  const duration_1 = require("./utils/duration");
17
16
  const set_clock_mode_1 = require("./set-clock-mode");
18
17
  exports.defaults = {
18
+ ...common_options_1.defaults,
19
19
  name: 'MyGovernor',
20
20
  delay: '1 day',
21
21
  period: '1 week',
@@ -30,17 +30,14 @@ exports.defaults = {
30
30
  quorumAbsolute: '',
31
31
  storage: false,
32
32
  settings: true,
33
- access: common_options_1.defaults.access,
34
- upgradeable: common_options_1.defaults.upgradeable,
35
- info: common_options_1.defaults.info,
36
33
  };
37
34
  exports.votesOptions = ['erc20votes', 'erc721votes'];
38
35
  exports.timelockOptions = [false, 'openzeppelin', 'compound'];
39
36
  function printGovernor(opts = exports.defaults) {
40
37
  return (0, print_1.printContract)(buildGovernor(opts));
41
38
  }
42
- function isAccessControlRequired(opts) {
43
- return opts.upgradeable === 'uups';
39
+ function isAccessControlRequired(_) {
40
+ return false;
44
41
  }
45
42
  function withDefaults(opts) {
46
43
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
@@ -71,8 +68,7 @@ function buildGovernor(opts) {
71
68
  addVotes(c);
72
69
  addQuorum(c, allOpts);
73
70
  addTimelock(c, allOpts);
74
- (0, set_access_control_1.setAccessControl)(c, allOpts.access);
75
- (0, set_upgradeable_1.setUpgradeable)(c, allOpts.upgradeable, allOpts.access);
71
+ (0, set_upgradeable_1.setUpgradeableGovernor)(c, allOpts.upgradeable);
76
72
  (0, set_info_1.setInfo)(c, allOpts.info);
77
73
  return c;
78
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"governor.js","sourceRoot":"","sources":["../src/governor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"governor.js","sourceRoot":"","sources":["../src/governor.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -14,4 +14,11 @@ export type { Kind } from './kind';
14
14
  export { sanitizeKind } from './kind';
15
15
  export { erc20, erc721, erc1155, stablecoin, realWorldAsset, account, governor, custom } from './api';
16
16
  export { compatibleContractsSemver } from './utils/version';
17
+ export type { ERC20Options } from './erc20';
18
+ export type { ERC721Options } from './erc721';
19
+ export type { ERC1155Options } from './erc1155';
20
+ export type { StablecoinOptions } from './stablecoin';
21
+ export type { AccountOptions } from './account';
22
+ export type { GovernorOptions } from './governor';
23
+ export type { CustomOptions } from './custom';
17
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,YAAY,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AAEtD,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEtG,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,YAAY,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AAEtD,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEtG,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
@@ -3,4 +3,5 @@ import type { Access } from './set-access-control';
3
3
  export declare const upgradeableOptions: readonly [false, "transparent", "uups"];
4
4
  export type Upgradeable = (typeof upgradeableOptions)[number];
5
5
  export declare function setUpgradeable(c: ContractBuilder, upgradeable: Upgradeable, access: Access): void;
6
+ export declare function setUpgradeableGovernor(c: ContractBuilder, upgradeable: Upgradeable): void;
6
7
  //# sourceMappingURL=set-upgradeable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-upgradeable.d.ts","sourceRoot":"","sources":["../src/set-upgradeable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,eAAO,MAAM,kBAAkB,yCAA0C,CAAC;AAE1E,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,wBAAgB,cAAc,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,QAiC1F"}
1
+ {"version":3,"file":"set-upgradeable.d.ts","sourceRoot":"","sources":["../src/set-upgradeable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,eAAO,MAAM,kBAAkB,yCAA0C,CAAC;AAE1E,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAyC9D,wBAAgB,cAAc,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,QAI1F;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,QAIlF"}
@@ -2,10 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.upgradeableOptions = void 0;
4
4
  exports.setUpgradeable = setUpgradeable;
5
+ exports.setUpgradeableGovernor = setUpgradeableGovernor;
5
6
  const set_access_control_1 = require("./set-access-control");
6
7
  const define_functions_1 = require("./utils/define-functions");
7
8
  exports.upgradeableOptions = [false, 'transparent', 'uups'];
8
- function setUpgradeable(c, upgradeable, access) {
9
+ function setUpgradeableBase(c, upgradeable, restrictAuthorizeUpgradeWhenUUPS) {
9
10
  if (upgradeable === false) {
10
11
  return;
11
12
  }
@@ -18,7 +19,7 @@ function setUpgradeable(c, upgradeable, access) {
18
19
  case 'transparent':
19
20
  break;
20
21
  case 'uups': {
21
- (0, set_access_control_1.requireAccessControl)(c, functions._authorizeUpgrade, access, 'UPGRADER', 'upgrader');
22
+ restrictAuthorizeUpgradeWhenUUPS();
22
23
  const UUPSUpgradeable = {
23
24
  name: 'UUPSUpgradeable',
24
25
  path: '@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol',
@@ -34,6 +35,16 @@ function setUpgradeable(c, upgradeable, access) {
34
35
  }
35
36
  }
36
37
  }
38
+ function setUpgradeable(c, upgradeable, access) {
39
+ setUpgradeableBase(c, upgradeable, () => {
40
+ (0, set_access_control_1.requireAccessControl)(c, functions._authorizeUpgrade, access, 'UPGRADER', 'upgrader');
41
+ });
42
+ }
43
+ function setUpgradeableGovernor(c, upgradeable) {
44
+ setUpgradeableBase(c, upgradeable, () => {
45
+ c.addModifier('onlyGovernance', functions._authorizeUpgrade);
46
+ });
47
+ }
37
48
  const functions = (0, define_functions_1.defineFunctions)({
38
49
  _authorizeUpgrade: {
39
50
  args: [{ name: 'newImplementation', type: 'address' }],
@@ -1 +1 @@
1
- {"version":3,"file":"set-upgradeable.js","sourceRoot":"","sources":["../src/set-upgradeable.ts"],"names":[],"mappings":";;;AASA,wCAiCC;AAxCD,6DAA4D;AAC5D,+DAA2D;AAE9C,QAAA,kBAAkB,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAU,CAAC;AAI1E,SAAgB,cAAc,CAAC,CAAkB,EAAE,WAAwB,EAAE,MAAc;IACzF,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;IAErB,CAAC,CAAC,SAAS,CAAC;QACV,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,uDAAuD;KAC9D,CAAC,CAAC;IAEH,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,aAAa;YAChB,MAAM;QAER,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAA,yCAAoB,EAAC,CAAC,EAAE,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACrF,MAAM,eAAe,GAAG;gBACtB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,yDAAyD;aAChE,CAAC;YACF,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YAC7B,CAAC,CAAC,WAAW,CAAC,eAAe,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAC5D,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;YACnD,MAAM;QACR,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,CAAC,GAAU,WAAW,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,SAAS,GAAG,IAAA,kCAAe,EAAC;IAChC,iBAAiB,EAAE;QACjB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACtD,IAAI,EAAE,UAAU;KACjB;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"set-upgradeable.js","sourceRoot":"","sources":["../src/set-upgradeable.ts"],"names":[],"mappings":";;;AAgDA,wCAIC;AAED,wDAIC;AAxDD,6DAA4D;AAC5D,+DAA2D;AAE9C,QAAA,kBAAkB,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAU,CAAC;AAI1E,SAAS,kBAAkB,CACzB,CAAkB,EAClB,WAAwB,EACxB,gCAA4C;IAE5C,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;IAErB,CAAC,CAAC,SAAS,CAAC;QACV,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,uDAAuD;KAC9D,CAAC,CAAC;IAEH,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,aAAa;YAChB,MAAM;QAER,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,gCAAgC,EAAE,CAAC;YACnC,MAAM,eAAe,GAAG;gBACtB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,yDAAyD;aAChE,CAAC;YACF,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YAC7B,CAAC,CAAC,WAAW,CAAC,eAAe,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAC5D,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;YACnD,MAAM;QACR,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,CAAC,GAAU,WAAW,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,CAAkB,EAAE,WAAwB,EAAE,MAAc;IACzF,kBAAkB,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;QACtC,IAAA,yCAAoB,EAAC,CAAC,EAAE,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,sBAAsB,CAAC,CAAkB,EAAE,WAAwB;IACjF,kBAAkB,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;QACtC,CAAC,CAAC,WAAW,CAAC,gBAAgB,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,SAAS,GAAG,IAAA,kCAAe,EAAC;IAChC,iBAAiB,EAAE;QACjB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACtD,IAAI,EAAE,UAAU;KACjB;CACF,CAAC,CAAC"}
package/dist/signer.d.ts CHANGED
@@ -28,12 +28,5 @@ export declare const signers: {
28
28
  path: string;
29
29
  };
30
30
  };
31
- export declare const signerFunctions: {
32
- initializeECDSA: import("./contract").BaseFunction;
33
- initializeP256: import("./contract").BaseFunction;
34
- initializeRSA: import("./contract").BaseFunction;
35
- initializeMultisig: import("./contract").BaseFunction;
36
- initializeMultisigWeighted: import("./contract").BaseFunction;
37
- _rawSignatureValidation: import("./contract").BaseFunction;
38
- };
31
+ export declare const signerFunctions: Record<"initializeECDSA" | "initializeP256" | "initializeRSA" | "initializeMultisig" | "initializeMultisigWeighted" | "_rawSignatureValidation", import("./contract").BaseFunction>;
39
32
  //# sourceMappingURL=signer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,eAAO,MAAM,aAAa,qFAAsF,CAAC;AACjH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,wBAAgB,SAAS,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CA2CzE;AAED,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;CAyBnB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;CA6C3B,CAAC"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,eAAO,MAAM,aAAa,qFAAsF,CAAC;AACjH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,wBAAgB,SAAS,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAwCzE;AAED,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;CAyBnB,CAAC;AAEF,eAAO,MAAM,eAAe,qLA2C1B,CAAC"}
package/dist/signer.js CHANGED
@@ -7,10 +7,8 @@ exports.SignerOptions = [false, 'ERC7702', 'ECDSA', 'P256', 'RSA', 'Multisig', '
7
7
  function addSigner(c, signer) {
8
8
  if (!signer)
9
9
  return;
10
- const parent = exports.signers[signer];
11
- const name = parent.name;
12
- c.addParent(parent);
13
- c.addOverride({ name: name === exports.signers.MultisigWeighted.name ? exports.signers.Multisig.name : name }, exports.signerFunctions._rawSignatureValidation);
10
+ c.addParent(exports.signers[signer]);
11
+ c.addOverride({ name: signer === 'MultisigWeighted' ? exports.signers.Multisig.name : exports.signers[signer].name }, exports.signerFunctions._rawSignatureValidation);
14
12
  // ERC-7702 doesn't require initialization
15
13
  if (signer === 'ERC7702')
16
14
  return;
@@ -18,26 +16,26 @@ function addSigner(c, signer) {
18
16
  name: 'Initializable',
19
17
  path: '@openzeppelin/contracts/proxy/utils/Initializable.sol',
20
18
  });
19
+ // Add locking constructor
20
+ c.addNatspecTag('@custom:oz-upgrades-unsafe-allow', 'constructor');
21
+ c.addConstructorCode(`_disableInitializers();`);
22
+ // Add initializer
21
23
  const fn = exports.signerFunctions[`initialize${signer}`];
22
24
  c.addModifier('initializer', fn);
23
- const args = fn.args;
24
25
  switch (signer) {
25
26
  case 'Multisig':
26
- c.addFunctionCode(`_addSigners(${args[0].name});`, fn);
27
- c.addFunctionCode(`_setThreshold(${args[1].name});`, fn);
27
+ c.addFunctionCode(`_addSigners(${fn.args[0].name});`, fn);
28
+ c.addFunctionCode(`_setThreshold(${fn.args[1].name});`, fn);
28
29
  break;
29
30
  case 'MultisigWeighted':
30
- c.addFunctionCode(`_addSigners(${args[0].name});`, fn);
31
- c.addFunctionCode(`_setSignerWeights(${args[0].name}, ${args[1].name});`, fn);
32
- c.addFunctionCode(`_setThreshold(${args[2].name});`, fn);
31
+ c.addFunctionCode(`_addSigners(${fn.args[0].name});`, fn);
32
+ c.addFunctionCode(`_setSignerWeights(${fn.args[0].name}, ${fn.args[1].name});`, fn);
33
+ c.addFunctionCode(`_setThreshold(${fn.args[2].name});`, fn);
33
34
  break;
34
35
  case 'ECDSA':
35
36
  case 'P256':
36
37
  case 'RSA':
37
- c.addFunctionCode(`_setSigner(${fn.args
38
- .map(({ name }) => name)
39
- .join(', ')
40
- .trimEnd()});`, fn);
38
+ c.addFunctionCode(`_setSigner(${fn.args.map(({ name }) => name).join(', ')});`, fn);
41
39
  }
42
40
  }
43
41
  exports.signers = {
@@ -66,50 +64,48 @@ exports.signers = {
66
64
  path: '@openzeppelin/community-contracts/utils/cryptography/MultiSignerERC7913Weighted.sol',
67
65
  },
68
66
  };
69
- exports.signerFunctions = {
70
- ...(0, define_functions_1.defineFunctions)({
71
- initializeECDSA: {
72
- kind: 'public',
73
- args: [{ name: 'signer', type: 'address' }],
74
- },
75
- initializeP256: {
76
- kind: 'public',
77
- args: [
78
- { name: 'qx', type: 'bytes32' },
79
- { name: 'qy', type: 'bytes32' },
80
- ],
81
- },
82
- initializeRSA: {
83
- kind: 'public',
84
- args: [
85
- { name: 'e', type: 'bytes memory' },
86
- { name: 'n', type: 'bytes memory' },
87
- ],
88
- },
89
- initializeMultisig: {
90
- kind: 'public',
91
- args: [
92
- { name: 'signers', type: 'bytes[] memory' },
93
- { name: 'threshold', type: 'uint256' },
94
- ],
95
- },
96
- initializeMultisigWeighted: {
97
- kind: 'public',
98
- args: [
99
- { name: 'signers', type: 'bytes[] memory' },
100
- { name: 'weights', type: 'uint256[] memory' },
101
- { name: 'threshold', type: 'uint256' },
102
- ],
103
- },
104
- _rawSignatureValidation: {
105
- kind: 'internal',
106
- args: [
107
- { name: 'hash', type: 'bytes32' },
108
- { name: 'signature', type: 'bytes calldata' },
109
- ],
110
- returns: ['bool'],
111
- mutability: 'view',
112
- },
113
- }),
114
- };
67
+ exports.signerFunctions = (0, define_functions_1.defineFunctions)({
68
+ initializeECDSA: {
69
+ kind: 'public',
70
+ args: [{ name: 'signer', type: 'address' }],
71
+ },
72
+ initializeP256: {
73
+ kind: 'public',
74
+ args: [
75
+ { name: 'qx', type: 'bytes32' },
76
+ { name: 'qy', type: 'bytes32' },
77
+ ],
78
+ },
79
+ initializeRSA: {
80
+ kind: 'public',
81
+ args: [
82
+ { name: 'e', type: 'bytes memory' },
83
+ { name: 'n', type: 'bytes memory' },
84
+ ],
85
+ },
86
+ initializeMultisig: {
87
+ kind: 'public',
88
+ args: [
89
+ { name: 'signers', type: 'bytes[] memory' },
90
+ { name: 'threshold', type: 'uint256' },
91
+ ],
92
+ },
93
+ initializeMultisigWeighted: {
94
+ kind: 'public',
95
+ args: [
96
+ { name: 'signers', type: 'bytes[] memory' },
97
+ { name: 'weights', type: 'uint256[] memory' },
98
+ { name: 'threshold', type: 'uint256' },
99
+ ],
100
+ },
101
+ _rawSignatureValidation: {
102
+ kind: 'internal',
103
+ args: [
104
+ { name: 'hash', type: 'bytes32' },
105
+ { name: 'signature', type: 'bytes calldata' },
106
+ ],
107
+ returns: ['bool'],
108
+ mutability: 'view',
109
+ },
110
+ });
115
111
  //# sourceMappingURL=signer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signer.js","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"zip-hardhat.d.ts","sourceRoot":"","sources":["../src/zip-hardhat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAqL3C,wBAAsB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,cAAc,kBAwBlE"}
1
+ {"version":3,"file":"zip-hardhat.d.ts","sourceRoot":"","sources":["../src/zip-hardhat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAuM3C,wBAAsB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,cAAc,kBA8BlE"}
@@ -163,10 +163,25 @@ main().catch((error) => {
163
163
  });
164
164
  `;
165
165
  };
166
- const readme = `\
166
+ const lowerFirstCharacter = (str) => str.charAt(0).toLowerCase() + str.slice(1);
167
+ const ignitionModule = (c) => {
168
+ const deployArguments = getAddressArgs(c);
169
+ const contractVariableName = lowerFirstCharacter(c.name);
170
+ return `import { buildModule } from "@nomicfoundation/hardhat-ignition/modules";
171
+
172
+ export default buildModule("${c.name}Module", (m) => {
173
+
174
+ ${deployArguments.length > 0 ? '// TODO: Set addresses for the contract arguments below' : ''}
175
+ const ${contractVariableName} = m.contract("${c.name}", [${deployArguments.join(', ')}]);
176
+
177
+ return { ${contractVariableName} };
178
+ });
179
+ `;
180
+ };
181
+ const readme = (c) => `\
167
182
  # Sample Hardhat Project
168
183
 
169
- This project demonstrates a basic Hardhat use case. It comes with a contract generated by [OpenZeppelin Wizard](https://wizard.openzeppelin.com/), a test for that contract, and a script that deploys that contract.
184
+ This project demonstrates a basic Hardhat use case. It comes with a contract generated by [OpenZeppelin Wizard](https://wizard.openzeppelin.com/), a test for that contract, ${c.upgradeable ? 'and a script that deploys that contract' : 'and a Hardhat Ignition module that deploys that contract'}.
170
185
 
171
186
  ## Installing dependencies
172
187
 
@@ -185,7 +200,7 @@ npm test
185
200
  You can target any network from your Hardhat config using:
186
201
 
187
202
  \`\`\`
188
- npx hardhat run --network <network-name> scripts/deploy.ts
203
+ ${c.upgradeable ? 'npx hardhat run --network <network-name> scripts/deploy.ts' : `npx hardhat ignition deploy ignition/modules/${c.name}.ts --network <network-name>`}
189
204
  \`\`\`
190
205
  `;
191
206
  function getHardhatPlugins(c) {
@@ -207,12 +222,17 @@ async function zipHardhat(c, opts) {
207
222
  packageLock.packages[''].license = c.license;
208
223
  zip.file(`contracts/${c.name}.sol`, (0, print_1.printContract)(c));
209
224
  zip.file('test/test.ts', test(c, opts));
210
- zip.file('scripts/deploy.ts', script(c));
225
+ if (c.upgradeable) {
226
+ zip.file('scripts/deploy.ts', script(c));
227
+ }
228
+ else {
229
+ zip.file(`ignition/modules/${c.name}.ts`, ignitionModule(c));
230
+ }
211
231
  zip.file('.gitignore', gitIgnore);
212
232
  zip.file('hardhat.config.ts', hardhatConfig(c.upgradeable));
213
233
  zip.file('package.json', JSON.stringify(packageJson, null, 2));
214
234
  zip.file(`package-lock.json`, JSON.stringify(packageLock, null, 2));
215
- zip.file('README.md', readme);
235
+ zip.file('README.md', readme(c));
216
236
  zip.file('tsconfig.json', tsConfig);
217
237
  return zip;
218
238
  }
@@ -1 +1 @@
1
- {"version":3,"file":"zip-hardhat.js","sourceRoot":"","sources":["../src/zip-hardhat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zip-hardhat.js","sourceRoot":"","sources":["../src/zip-hardhat.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openzeppelin/wizard",
3
- "version": "0.5.5",
3
+ "version": "0.6.0",
4
4
  "description": "A boilerplate generator to get started with OpenZeppelin Contracts",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": "https://github.com/OpenZeppelin/contracts-wizard",
package/src/account.ts CHANGED
@@ -183,11 +183,15 @@ function addMultisigFunctions(c: ContractBuilder, opts: AccountOptions): void {
183
183
  `_setSignerWeights(${functions.setSignerWeights.args.map(({ name }) => name).join(', ')});`,
184
184
  functions.setSignerWeights,
185
185
  );
186
+ c.addModifier('onlyEntryPointOrSelf', functions.setSignerWeights);
186
187
  // eslint-disable-next-line no-fallthrough
187
188
  case 'Multisig':
188
189
  c.addFunctionCode(`_addSigners(${functions.addSigners.args[0]!.name});`, functions.addSigners);
190
+ c.addModifier('onlyEntryPointOrSelf', functions.addSigners);
189
191
  c.addFunctionCode(`_removeSigners(${functions.removeSigners.args[0]!.name});`, functions.removeSigners);
192
+ c.addModifier('onlyEntryPointOrSelf', functions.removeSigners);
190
193
  c.addFunctionCode(`_setThreshold(${functions.setThreshold.args[0]!.name});`, functions.setThreshold);
194
+ c.addModifier('onlyEntryPointOrSelf', functions.setThreshold);
191
195
  break;
192
196
  default:
193
197
  }
@@ -216,7 +220,7 @@ function overrideRawSignatureValidation(c: ContractBuilder, opts: AccountOptions
216
220
  c.setFunctionBody(['// Custom validation logic', 'return false;'], signerFunctions._rawSignatureValidation);
217
221
  }
218
222
 
219
- // Dissambiguate between Signer and AccountERC7579
223
+ // Disambiguate between Signer and AccountERC7579
220
224
  if (opts.signer && opts.ERC7579Modules) {
221
225
  c.addImportOnly({
222
226
  name: 'AbstractSigner',
package/src/governor.ts CHANGED
@@ -4,15 +4,15 @@ import { withCommonDefaults, defaults as commonDefaults } from './common-options
4
4
  import type { Contract, ImportContract } from './contract';
5
5
  import { ContractBuilder } from './contract';
6
6
  import { OptionsError } from './error';
7
- import { setAccessControl } from './set-access-control';
8
7
  import { printContract } from './print';
9
8
  import { setInfo } from './set-info';
10
- import { setUpgradeable } from './set-upgradeable';
9
+ import { setUpgradeableGovernor } from './set-upgradeable';
11
10
  import { defineFunctions } from './utils/define-functions';
12
11
  import { durationToBlocks, durationToTimestamp } from './utils/duration';
13
12
  import { clockModeDefault, type ClockMode } from './set-clock-mode';
14
13
 
15
14
  export const defaults: Required<GovernorOptions> = {
15
+ ...commonDefaults,
16
16
  name: 'MyGovernor',
17
17
  delay: '1 day',
18
18
  period: '1 week',
@@ -28,10 +28,6 @@ export const defaults: Required<GovernorOptions> = {
28
28
  quorumAbsolute: '',
29
29
  storage: false,
30
30
  settings: true,
31
-
32
- access: commonDefaults.access,
33
- upgradeable: commonDefaults.upgradeable,
34
- info: commonDefaults.info,
35
31
  } as const;
36
32
 
37
33
  export const votesOptions = ['erc20votes', 'erc721votes'] as const;
@@ -61,8 +57,8 @@ export interface GovernorOptions extends CommonOptions {
61
57
  settings?: boolean;
62
58
  }
63
59
 
64
- export function isAccessControlRequired(opts: Partial<GovernorOptions>): boolean {
65
- return opts.upgradeable === 'uups';
60
+ export function isAccessControlRequired(_: Partial<GovernorOptions>): boolean {
61
+ return false;
66
62
  }
67
63
 
68
64
  function withDefaults(opts: GovernorOptions): Required<GovernorOptions> {
@@ -98,8 +94,7 @@ export function buildGovernor(opts: GovernorOptions): Contract {
98
94
  addQuorum(c, allOpts);
99
95
  addTimelock(c, allOpts);
100
96
 
101
- setAccessControl(c, allOpts.access);
102
- setUpgradeable(c, allOpts.upgradeable, allOpts.access);
97
+ setUpgradeableGovernor(c, allOpts.upgradeable);
103
98
  setInfo(c, allOpts.info);
104
99
 
105
100
  return c;
package/src/index.ts CHANGED
@@ -22,3 +22,11 @@ export { sanitizeKind } from './kind';
22
22
  export { erc20, erc721, erc1155, stablecoin, realWorldAsset, account, governor, custom } from './api';
23
23
 
24
24
  export { compatibleContractsSemver } from './utils/version';
25
+
26
+ export type { ERC20Options } from './erc20';
27
+ export type { ERC721Options } from './erc721';
28
+ export type { ERC1155Options } from './erc1155';
29
+ export type { StablecoinOptions } from './stablecoin';
30
+ export type { AccountOptions } from './account';
31
+ export type { GovernorOptions } from './governor';
32
+ export type { CustomOptions } from './custom';
@@ -7,7 +7,11 @@ export const upgradeableOptions = [false, 'transparent', 'uups'] as const;
7
7
 
8
8
  export type Upgradeable = (typeof upgradeableOptions)[number];
9
9
 
10
- export function setUpgradeable(c: ContractBuilder, upgradeable: Upgradeable, access: Access) {
10
+ function setUpgradeableBase(
11
+ c: ContractBuilder,
12
+ upgradeable: Upgradeable,
13
+ restrictAuthorizeUpgradeWhenUUPS: () => void,
14
+ ) {
11
15
  if (upgradeable === false) {
12
16
  return;
13
17
  }
@@ -24,7 +28,7 @@ export function setUpgradeable(c: ContractBuilder, upgradeable: Upgradeable, acc
24
28
  break;
25
29
 
26
30
  case 'uups': {
27
- requireAccessControl(c, functions._authorizeUpgrade, access, 'UPGRADER', 'upgrader');
31
+ restrictAuthorizeUpgradeWhenUUPS();
28
32
  const UUPSUpgradeable = {
29
33
  name: 'UUPSUpgradeable',
30
34
  path: '@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol',
@@ -42,6 +46,18 @@ export function setUpgradeable(c: ContractBuilder, upgradeable: Upgradeable, acc
42
46
  }
43
47
  }
44
48
 
49
+ export function setUpgradeable(c: ContractBuilder, upgradeable: Upgradeable, access: Access) {
50
+ setUpgradeableBase(c, upgradeable, () => {
51
+ requireAccessControl(c, functions._authorizeUpgrade, access, 'UPGRADER', 'upgrader');
52
+ });
53
+ }
54
+
55
+ export function setUpgradeableGovernor(c: ContractBuilder, upgradeable: Upgradeable) {
56
+ setUpgradeableBase(c, upgradeable, () => {
57
+ c.addModifier('onlyGovernance', functions._authorizeUpgrade);
58
+ });
59
+ }
60
+
45
61
  const functions = defineFunctions({
46
62
  _authorizeUpgrade: {
47
63
  args: [{ name: 'newImplementation', type: 'address' }],
package/src/signer.ts CHANGED
@@ -6,11 +6,10 @@ export type SignerOptions = (typeof SignerOptions)[number];
6
6
 
7
7
  export function addSigner(c: ContractBuilder, signer: SignerOptions): void {
8
8
  if (!signer) return;
9
- const parent = signers[signer];
10
- const name = parent.name;
11
- c.addParent(parent);
9
+
10
+ c.addParent(signers[signer]);
12
11
  c.addOverride(
13
- { name: name === signers.MultisigWeighted.name ? signers.Multisig.name : name },
12
+ { name: signer === 'MultisigWeighted' ? signers.Multisig.name : signers[signer].name },
14
13
  signerFunctions._rawSignatureValidation,
15
14
  );
16
15
 
@@ -21,31 +20,29 @@ export function addSigner(c: ContractBuilder, signer: SignerOptions): void {
21
20
  name: 'Initializable',
22
21
  path: '@openzeppelin/contracts/proxy/utils/Initializable.sol',
23
22
  });
23
+
24
+ // Add locking constructor
25
+ c.addNatspecTag('@custom:oz-upgrades-unsafe-allow', 'constructor');
26
+ c.addConstructorCode(`_disableInitializers();`);
27
+
28
+ // Add initializer
24
29
  const fn = signerFunctions[`initialize${signer}`];
25
30
  c.addModifier('initializer', fn);
26
31
 
27
- const args = fn.args;
28
-
29
32
  switch (signer) {
30
33
  case 'Multisig':
31
- c.addFunctionCode(`_addSigners(${args[0]!.name});`, fn);
32
- c.addFunctionCode(`_setThreshold(${args[1]!.name});`, fn);
34
+ c.addFunctionCode(`_addSigners(${fn.args[0]!.name});`, fn);
35
+ c.addFunctionCode(`_setThreshold(${fn.args[1]!.name});`, fn);
33
36
  break;
34
37
  case 'MultisigWeighted':
35
- c.addFunctionCode(`_addSigners(${args[0]!.name});`, fn);
36
- c.addFunctionCode(`_setSignerWeights(${args[0]!.name}, ${args[1]!.name});`, fn);
37
- c.addFunctionCode(`_setThreshold(${args[2]!.name});`, fn);
38
+ c.addFunctionCode(`_addSigners(${fn.args[0]!.name});`, fn);
39
+ c.addFunctionCode(`_setSignerWeights(${fn.args[0]!.name}, ${fn.args[1]!.name});`, fn);
40
+ c.addFunctionCode(`_setThreshold(${fn.args[2]!.name});`, fn);
38
41
  break;
39
42
  case 'ECDSA':
40
43
  case 'P256':
41
44
  case 'RSA':
42
- c.addFunctionCode(
43
- `_setSigner(${fn.args
44
- .map(({ name }) => name)
45
- .join(', ')
46
- .trimEnd()});`,
47
- fn,
48
- );
45
+ c.addFunctionCode(`_setSigner(${fn.args.map(({ name }) => name).join(', ')});`, fn);
49
46
  }
50
47
  }
51
48
 
@@ -76,49 +73,47 @@ export const signers = {
76
73
  },
77
74
  };
78
75
 
79
- export const signerFunctions = {
80
- ...defineFunctions({
81
- initializeECDSA: {
82
- kind: 'public' as const,
83
- args: [{ name: 'signer', type: 'address' }],
84
- },
85
- initializeP256: {
86
- kind: 'public' as const,
87
- args: [
88
- { name: 'qx', type: 'bytes32' },
89
- { name: 'qy', type: 'bytes32' },
90
- ],
91
- },
92
- initializeRSA: {
93
- kind: 'public' as const,
94
- args: [
95
- { name: 'e', type: 'bytes memory' },
96
- { name: 'n', type: 'bytes memory' },
97
- ],
98
- },
99
- initializeMultisig: {
100
- kind: 'public' as const,
101
- args: [
102
- { name: 'signers', type: 'bytes[] memory' },
103
- { name: 'threshold', type: 'uint256' },
104
- ],
105
- },
106
- initializeMultisigWeighted: {
107
- kind: 'public' as const,
108
- args: [
109
- { name: 'signers', type: 'bytes[] memory' },
110
- { name: 'weights', type: 'uint256[] memory' },
111
- { name: 'threshold', type: 'uint256' },
112
- ],
113
- },
114
- _rawSignatureValidation: {
115
- kind: 'internal' as const,
116
- args: [
117
- { name: 'hash', type: 'bytes32' },
118
- { name: 'signature', type: 'bytes calldata' },
119
- ],
120
- returns: ['bool'],
121
- mutability: 'view' as const,
122
- },
123
- }),
124
- };
76
+ export const signerFunctions = defineFunctions({
77
+ initializeECDSA: {
78
+ kind: 'public' as const,
79
+ args: [{ name: 'signer', type: 'address' }],
80
+ },
81
+ initializeP256: {
82
+ kind: 'public' as const,
83
+ args: [
84
+ { name: 'qx', type: 'bytes32' },
85
+ { name: 'qy', type: 'bytes32' },
86
+ ],
87
+ },
88
+ initializeRSA: {
89
+ kind: 'public' as const,
90
+ args: [
91
+ { name: 'e', type: 'bytes memory' },
92
+ { name: 'n', type: 'bytes memory' },
93
+ ],
94
+ },
95
+ initializeMultisig: {
96
+ kind: 'public' as const,
97
+ args: [
98
+ { name: 'signers', type: 'bytes[] memory' },
99
+ { name: 'threshold', type: 'uint256' },
100
+ ],
101
+ },
102
+ initializeMultisigWeighted: {
103
+ kind: 'public' as const,
104
+ args: [
105
+ { name: 'signers', type: 'bytes[] memory' },
106
+ { name: 'weights', type: 'uint256[] memory' },
107
+ { name: 'threshold', type: 'uint256' },
108
+ ],
109
+ },
110
+ _rawSignatureValidation: {
111
+ kind: 'internal' as const,
112
+ args: [
113
+ { name: 'hash', type: 'bytes32' },
114
+ { name: 'signature', type: 'bytes calldata' },
115
+ ],
116
+ returns: ['bool'],
117
+ mutability: 'view' as const,
118
+ },
119
+ });
@@ -147,10 +147,28 @@ main().catch((error) => {
147
147
  `;
148
148
  };
149
149
 
150
- const readme = `\
150
+ const lowerFirstCharacter = (str: string) => str.charAt(0).toLowerCase() + str.slice(1);
151
+
152
+ const ignitionModule = (c: Contract) => {
153
+ const deployArguments = getAddressArgs(c);
154
+ const contractVariableName = lowerFirstCharacter(c.name);
155
+
156
+ return `import { buildModule } from "@nomicfoundation/hardhat-ignition/modules";
157
+
158
+ export default buildModule("${c.name}Module", (m) => {
159
+
160
+ ${deployArguments.length > 0 ? '// TODO: Set addresses for the contract arguments below' : ''}
161
+ const ${contractVariableName} = m.contract("${c.name}", [${deployArguments.join(', ')}]);
162
+
163
+ return { ${contractVariableName} };
164
+ });
165
+ `;
166
+ };
167
+
168
+ const readme = (c: Contract) => `\
151
169
  # Sample Hardhat Project
152
170
 
153
- This project demonstrates a basic Hardhat use case. It comes with a contract generated by [OpenZeppelin Wizard](https://wizard.openzeppelin.com/), a test for that contract, and a script that deploys that contract.
171
+ This project demonstrates a basic Hardhat use case. It comes with a contract generated by [OpenZeppelin Wizard](https://wizard.openzeppelin.com/), a test for that contract, ${c.upgradeable ? 'and a script that deploys that contract' : 'and a Hardhat Ignition module that deploys that contract'}.
154
172
 
155
173
  ## Installing dependencies
156
174
 
@@ -169,7 +187,7 @@ npm test
169
187
  You can target any network from your Hardhat config using:
170
188
 
171
189
  \`\`\`
172
- npx hardhat run --network <network-name> scripts/deploy.ts
190
+ ${c.upgradeable ? 'npx hardhat run --network <network-name> scripts/deploy.ts' : `npx hardhat ignition deploy ignition/modules/${c.name}.ts --network <network-name>`}
173
191
  \`\`\`
174
192
  `;
175
193
 
@@ -196,12 +214,18 @@ export async function zipHardhat(c: Contract, opts?: GenericOptions) {
196
214
 
197
215
  zip.file(`contracts/${c.name}.sol`, printContract(c));
198
216
  zip.file('test/test.ts', test(c, opts));
199
- zip.file('scripts/deploy.ts', script(c));
217
+
218
+ if (c.upgradeable) {
219
+ zip.file('scripts/deploy.ts', script(c));
220
+ } else {
221
+ zip.file(`ignition/modules/${c.name}.ts`, ignitionModule(c));
222
+ }
223
+
200
224
  zip.file('.gitignore', gitIgnore);
201
225
  zip.file('hardhat.config.ts', hardhatConfig(c.upgradeable));
202
226
  zip.file('package.json', JSON.stringify(packageJson, null, 2));
203
227
  zip.file(`package-lock.json`, JSON.stringify(packageLock, null, 2));
204
- zip.file('README.md', readme);
228
+ zip.file('README.md', readme(c));
205
229
  zip.file('tsconfig.json', tsConfig);
206
230
 
207
231
  return zip;