@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
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/generate/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAiBjD,wBAAiB,sBAAsB,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAE7E"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/generate/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAkBjD,wBAAiB,sBAAsB,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAE7E"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateAccountOptions = generateAccountOptions;
4
4
  const set_info_1 = require("../set-info");
5
+ const set_upgradeable_1 = require("../set-upgradeable");
5
6
  const alternatives_1 = require("./alternatives");
6
7
  const account = {
7
8
  name: ['MyAccount'],
@@ -12,7 +13,7 @@ const account = {
12
13
  batchedExecution: [false, true],
13
14
  ERC7579Modules: [false, 'AccountERC7579', 'AccountERC7579Hooked'],
14
15
  access: [false],
15
- upgradeable: [false],
16
+ upgradeable: set_upgradeable_1.upgradeableOptions,
16
17
  info: set_info_1.infoOptions,
17
18
  };
18
19
  function* generateAccountOptions() {
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/generate/account.ts"],"names":[],"mappings":";;AAiBA,wDAEC;AAlBD,0CAA0C;AAC1C,iDAAsD;AAEtD,MAAM,OAAO,GAAG;IACd,IAAI,EAAE,CAAC,WAAW,CAAC;IACnB,mBAAmB,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAU;IAC3D,YAAY,EAAE,CAAC,KAAK,EAAE,IAAI,CAAU;IACpC,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,CAAU;IACrC,MAAM,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,CAAU;IACpF,gBAAgB,EAAE,CAAC,KAAK,EAAE,IAAI,CAAU;IACxC,cAAc,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,CAAU;IAC1E,MAAM,EAAE,CAAC,KAAK,CAAU;IACxB,WAAW,EAAE,CAAC,KAAK,CAAU;IAC7B,IAAI,EAAE,sBAAW;CAClB,CAAC;AAEF,QAAe,CAAC,CAAC,sBAAsB;IACrC,KAAK,CAAC,CAAC,IAAA,mCAAoB,EAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/generate/account.ts"],"names":[],"mappings":";;AAkBA,wDAEC;AAnBD,0CAA0C;AAC1C,wDAAwD;AACxD,iDAAsD;AAEtD,MAAM,OAAO,GAAG;IACd,IAAI,EAAE,CAAC,WAAW,CAAC;IACnB,mBAAmB,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAU;IAC3D,YAAY,EAAE,CAAC,KAAK,EAAE,IAAI,CAAU;IACpC,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,CAAU;IACrC,MAAM,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,CAAU;IACpF,gBAAgB,EAAE,CAAC,KAAK,EAAE,IAAI,CAAU;IACxC,cAAc,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,CAAU;IAC1E,MAAM,EAAE,CAAC,KAAK,CAAU;IACxB,WAAW,EAAE,oCAAkB;IAC/B,IAAI,EAAE,sBAAW;CAClB,CAAC;AAEF,QAAe,CAAC,CAAC,sBAAsB;IACrC,KAAK,CAAC,CAAC,IAAA,mCAAoB,EAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
package/dist/options.d.ts CHANGED
@@ -1,10 +1,13 @@
1
1
  import type { Contract, ReferencedContract, ImportContract } from './contract';
2
+ export declare function upgradeableName(n: string): string;
3
+ export declare function upgradeableImport(p: ImportContract): ImportContract;
2
4
  export interface Options {
3
5
  transformImport?: (parent: ImportContract) => ImportContract;
4
6
  }
5
7
  export interface Helpers extends Required<Options> {
6
8
  upgradeable: boolean;
7
9
  transformName: (name: ReferencedContract) => string;
10
+ transformImport: (name: ImportContract) => ImportContract;
8
11
  }
9
12
  export declare function withHelpers(contract: Contract, opts?: Options): Helpers;
10
13
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAyB/E,MAAM,WAAW,OAAO;IACtB,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,cAAc,CAAC;CAC9D;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ,CAAC,OAAO,CAAC;IAChD,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,MAAM,CAAC;CACrD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,GAAE,OAAY,GAAG,OAAO,CAY3E"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG/E,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,UAMxC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,cAAc,GAAG,cAAc,CAYnE;AAED,MAAM,WAAW,OAAO;IACtB,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,cAAc,CAAC;CAC9D;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ,CAAC,OAAO,CAAC;IAChD,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,MAAM,CAAC;IACpD,eAAe,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,cAAc,CAAC;CAC3D;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,GAAE,OAAY,GAAG,OAAO,CAW3E"}
package/dist/options.js CHANGED
@@ -3,18 +3,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.upgradeableName = upgradeableName;
7
+ exports.upgradeableImport = upgradeableImport;
6
8
  exports.withHelpers = withHelpers;
7
9
  const path_1 = __importDefault(require("path"));
8
10
  const infer_transpiled_1 = require("./infer-transpiled");
9
- const upgradeableName = (n) => {
11
+ function upgradeableName(n) {
10
12
  if (n === 'Initializable') {
11
13
  return n;
12
14
  }
13
15
  else {
14
16
  return n.replace(/(Upgradeable)?(?=\.|$)/, 'Upgradeable');
15
17
  }
16
- };
17
- const upgradeableImport = (p) => {
18
+ }
19
+ function upgradeableImport(p) {
18
20
  const { dir, ext, name } = path_1.default.parse(p.path);
19
21
  // Use path.posix to get forward slashes
20
22
  return {
@@ -26,14 +28,13 @@ const upgradeableImport = (p) => {
26
28
  name: upgradeableName(name), // Solidity file name
27
29
  }),
28
30
  };
29
- };
31
+ }
30
32
  function withHelpers(contract, opts = {}) {
31
33
  const contractUpgradeable = contract.upgradeable;
32
- const transformName = (n) => contractUpgradeable && (0, infer_transpiled_1.inferTranspiled)(n) ? upgradeableName(n.name) : n.name;
33
34
  return {
34
35
  upgradeable: contractUpgradeable,
35
- transformName,
36
- transformImport: p1 => {
36
+ transformName: (n) => contractUpgradeable && (0, infer_transpiled_1.inferTranspiled)(n) ? upgradeableName(n.name) : n.name,
37
+ transformImport: (p1) => {
37
38
  var _a, _b;
38
39
  const p2 = contractUpgradeable && (0, infer_transpiled_1.inferTranspiled)(p1) ? upgradeableImport(p1) : p1;
39
40
  return (_b = (_a = opts.transformImport) === null || _a === void 0 ? void 0 : _a.call(opts, p2)) !== null && _b !== void 0 ? _b : p2;
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;;;AAoCA,kCAYC;AAhDD,gDAAwB;AAGxB,yDAAqD;AAErD,MAAM,eAAe,GAAG,CAAC,CAAS,EAAE,EAAE;IACpC,IAAI,CAAC,KAAK,eAAe,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC;IACX,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,CAAiB,EAAkB,EAAE;IAC9D,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9C,wCAAwC;IACxC,OAAO;QACL,GAAG,CAAC;QACJ,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB;QAC/C,IAAI,EAAE,cAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACtB,GAAG;YACH,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,2BAA2B,EAAE,qCAAqC,CAAC;YACpF,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,qBAAqB;SACnD,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AAWF,SAAgB,WAAW,CAAC,QAAkB,EAAE,OAAgB,EAAE;IAChE,MAAM,mBAAmB,GAAG,QAAQ,CAAC,WAAW,CAAC;IACjD,MAAM,aAAa,GAAG,CAAC,CAAqB,EAAE,EAAE,CAC9C,mBAAmB,IAAI,IAAA,kCAAe,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,OAAO;QACL,WAAW,EAAE,mBAAmB;QAChC,aAAa;QACb,eAAe,EAAE,EAAE,CAAC,EAAE;;YACpB,MAAM,EAAE,GAAG,mBAAmB,IAAI,IAAA,kCAAe,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,OAAO,MAAA,MAAA,IAAI,CAAC,eAAe,qDAAG,EAAE,CAAC,mCAAI,EAAE,CAAC;QAC1C,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;;;AAKA,0CAMC;AAED,8CAYC;AAYD,kCAWC;AAhDD,gDAAwB;AAGxB,yDAAqD;AAErD,SAAgB,eAAe,CAAC,CAAS;IACvC,IAAI,CAAC,KAAK,eAAe,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC;IACX,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,SAAgB,iBAAiB,CAAC,CAAiB;IACjD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9C,wCAAwC;IACxC,OAAO;QACL,GAAG,CAAC;QACJ,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB;QAC/C,IAAI,EAAE,cAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACtB,GAAG;YACH,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,2BAA2B,EAAE,qCAAqC,CAAC;YACpF,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,qBAAqB;SACnD,CAAC;KACH,CAAC;AACJ,CAAC;AAYD,SAAgB,WAAW,CAAC,QAAkB,EAAE,OAAgB,EAAE;IAChE,MAAM,mBAAmB,GAAG,QAAQ,CAAC,WAAW,CAAC;IACjD,OAAO;QACL,WAAW,EAAE,mBAAmB;QAChC,aAAa,EAAE,CAAC,CAAqB,EAAE,EAAE,CACvC,mBAAmB,IAAI,IAAA,kCAAe,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAC9E,eAAe,EAAE,CAAC,EAAkB,EAAE,EAAE;;YACtC,MAAM,EAAE,GAAG,mBAAmB,IAAI,IAAA,kCAAe,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,OAAO,MAAA,MAAA,IAAI,CAAC,eAAe,qDAAG,EAAE,CAAC,mCAAI,EAAE,CAAC;QAC1C,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"print.d.ts","sourceRoot":"","sources":["../src/print.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAIR,KAAK,EAGN,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,OAAO,EAAW,MAAM,WAAW,CAAC;AAWlD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAkCxE;AAiFD,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAkB/C"}
1
+ {"version":3,"file":"print.d.ts","sourceRoot":"","sources":["../src/print.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAIR,KAAK,EAGN,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,OAAO,EAAW,MAAM,WAAW,CAAC;AAalD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAkCxE;AAgHD,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAkB/C"}
package/dist/print.js CHANGED
@@ -12,13 +12,15 @@ const solidity_version_json_1 = __importDefault(require("./solidity-version.json
12
12
  const infer_transpiled_1 = require("./infer-transpiled");
13
13
  const version_1 = require("./utils/version");
14
14
  const sanitize_1 = require("./utils/sanitize");
15
+ const imports_libraries_1 = require("./utils/imports-libraries");
16
+ const community_contracts_git_commit_1 = require("./utils/community-contracts-git-commit");
15
17
  function printContract(contract, opts) {
16
18
  const helpers = (0, options_1.withHelpers)(contract, opts);
17
19
  const fns = (0, map_values_1.mapValues)(sortedFunctions(contract), fns => fns.map(fn => printFunction(fn, helpers)));
18
20
  const hasOverrides = fns.override.some(l => l.length > 0);
19
21
  return (0, format_lines_1.formatLines)(...(0, format_lines_1.spaceBetween)([
20
22
  `// SPDX-License-Identifier: ${contract.license}`,
21
- `// Compatible with OpenZeppelin Contracts ${version_1.compatibleContractsSemver}`,
23
+ printCompatibleLibraryVersions(contract),
22
24
  `pragma solidity ^${solidity_version_json_1.default};`,
23
25
  ], printImports(contract.imports, helpers), [
24
26
  ...printNatspecTags(contract.natspecTags),
@@ -27,6 +29,19 @@ function printContract(contract, opts) {
27
29
  `}`,
28
30
  ]));
29
31
  }
32
+ function printCompatibleLibraryVersions(contract) {
33
+ let result = `// Compatible with OpenZeppelin Contracts ${version_1.compatibleContractsSemver}`;
34
+ if ((0, imports_libraries_1.importsCommunityContracts)(contract)) {
35
+ try {
36
+ const commit = (0, community_contracts_git_commit_1.getCommunityContractsGitCommit)();
37
+ result += ` and Community Contracts commit ${commit}`;
38
+ }
39
+ catch (e) {
40
+ console.error(e);
41
+ }
42
+ }
43
+ return result;
44
+ }
30
45
  function printInheritance(contract, { transformName }) {
31
46
  if (contract.parents.length > 0) {
32
47
  return ['is ' + contract.parents.map(p => transformName(p.contract)).join(', ')];
@@ -40,19 +55,19 @@ function printConstructor(contract, helpers) {
40
55
  const hasConstructorCode = contract.constructorCode.length > 0;
41
56
  const parentsWithInitializers = contract.parents.filter(hasInitializer);
42
57
  if (hasParentParams || hasConstructorCode || (helpers.upgradeable && parentsWithInitializers.length > 0)) {
43
- const parents = parentsWithInitializers.flatMap(p => printParentConstructor(p, helpers));
44
- const modifiers = helpers.upgradeable ? ['public initializer'] : parents;
45
- const args = contract.constructorArgs.map(a => printArgument(a, helpers));
46
- const body = helpers.upgradeable
47
- ? (0, format_lines_1.spaceBetween)(parents.map(p => p + ';'), contract.constructorCode)
48
- : contract.constructorCode;
49
- const head = helpers.upgradeable ? 'function initialize' : 'constructor';
50
- const constructor = printFunction2([], head, args, modifiers, body);
51
- if (!helpers.upgradeable) {
52
- return constructor;
58
+ if (helpers.upgradeable) {
59
+ const upgradeableParents = parentsWithInitializers.filter(p => (0, infer_transpiled_1.inferTranspiled)(p.contract));
60
+ const nonUpgradeableParents = contract.parents.filter(p => !(0, infer_transpiled_1.inferTranspiled)(p.contract));
61
+ const constructor = printFunction2([
62
+ nonUpgradeableParents.length > 0
63
+ ? '/// @custom:oz-upgrades-unsafe-allow-reachable constructor'
64
+ : '/// @custom:oz-upgrades-unsafe-allow constructor',
65
+ ], 'constructor', [], nonUpgradeableParents.flatMap(p => printParentConstructor(p, helpers)), ['_disableInitializers();']);
66
+ const initializer = printFunction2([], 'function initialize', contract.constructorArgs.map(a => printArgument(a, helpers)), ['public', 'initializer'], (0, format_lines_1.spaceBetween)(upgradeableParents.flatMap(p => printParentConstructor(p, helpers)).map(p => p + ';'), contract.constructorCode));
67
+ return (0, format_lines_1.spaceBetween)(constructor, upgradeableParents.length > 0 ? initializer : []);
53
68
  }
54
69
  else {
55
- return (0, format_lines_1.spaceBetween)(DISABLE_INITIALIZERS, constructor);
70
+ return printFunction2([], 'constructor', contract.constructorArgs.map(a => printArgument(a, helpers)), contract.parents.flatMap(p => printParentConstructor(p, helpers)), contract.constructorCode);
56
71
  }
57
72
  }
58
73
  else if (!helpers.upgradeable) {
package/dist/print.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"print.js","sourceRoot":"","sources":["../src/print.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"print.js","sourceRoot":"","sources":["../src/print.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,5 @@ 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
6
  export declare function setUpgradeableGovernor(c: ContractBuilder, upgradeable: Upgradeable): void;
7
+ export declare function setUpgradeableAccount(c: ContractBuilder, upgradeable: Upgradeable): void;
7
8
  //# 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;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"}
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;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,QAIjF"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.upgradeableOptions = void 0;
4
4
  exports.setUpgradeable = setUpgradeable;
5
5
  exports.setUpgradeableGovernor = setUpgradeableGovernor;
6
+ exports.setUpgradeableAccount = setUpgradeableAccount;
6
7
  const set_access_control_1 = require("./set-access-control");
7
8
  const define_functions_1 = require("./utils/define-functions");
8
9
  exports.upgradeableOptions = [false, 'transparent', 'uups'];
@@ -45,6 +46,11 @@ function setUpgradeableGovernor(c, upgradeable) {
45
46
  c.addModifier('onlyGovernance', functions._authorizeUpgrade);
46
47
  });
47
48
  }
49
+ function setUpgradeableAccount(c, upgradeable) {
50
+ setUpgradeableBase(c, upgradeable, () => {
51
+ c.addModifier('onlyEntryPointOrSelf', functions._authorizeUpgrade);
52
+ });
53
+ }
48
54
  const functions = (0, define_functions_1.defineFunctions)({
49
55
  _authorizeUpgrade: {
50
56
  args: [{ name: 'newImplementation', type: 'address' }],
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"set-upgradeable.js","sourceRoot":"","sources":["../src/set-upgradeable.ts"],"names":[],"mappings":";;;AAgDA,wCAIC;AAED,wDAIC;AAED,sDAIC;AA9DD,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,SAAgB,qBAAqB,CAAC,CAAkB,EAAE,WAAwB;IAChF,kBAAkB,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;QACtC,CAAC,CAAC,WAAW,CAAC,sBAAsB,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACrE,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
@@ -1,7 +1,8 @@
1
1
  import type { ContractBuilder } from './contract';
2
+ import type { Upgradeable } from './set-upgradeable';
2
3
  export declare const SignerOptions: readonly [false, "ERC7702", "ECDSA", "P256", "RSA", "Multisig", "MultisigWeighted"];
3
4
  export type SignerOptions = (typeof SignerOptions)[number];
4
- export declare function addSigner(c: ContractBuilder, signer: SignerOptions): void;
5
+ export declare function addSigner(c: ContractBuilder, signer: SignerOptions, upgradeable: Upgradeable): void;
5
6
  export declare const signers: {
6
7
  ERC7702: {
7
8
  name: string;
@@ -28,5 +29,9 @@ export declare const signers: {
28
29
  path: string;
29
30
  };
30
31
  };
31
- export declare const signerFunctions: Record<"initializeECDSA" | "initializeP256" | "initializeRSA" | "initializeMultisig" | "initializeMultisigWeighted" | "_rawSignatureValidation", import("./contract").BaseFunction>;
32
+ export declare const signerArgs: Record<Exclude<SignerOptions, false | 'ERC7702'>, {
33
+ name: string;
34
+ type: string;
35
+ }[]>;
36
+ export declare const signerFunctions: Record<"_rawSignatureValidation", import("./contract").BaseFunction>;
32
37
  //# 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,CAwCzE;AAED,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;CAyBnB,CAAC;AAEF,eAAO,MAAM,eAAe,qLA2C1B,CAAC"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,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,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CA6BnG;AAED,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;CAyBnB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,GAAG,SAAS,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAmB1G,CAAC;AAEF,eAAO,MAAM,eAAe,sEAU1B,CAAC"}
package/dist/signer.js CHANGED
@@ -1,103 +1,83 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.signerFunctions = exports.signers = exports.SignerOptions = void 0;
3
+ exports.signerFunctions = exports.signerArgs = exports.signers = exports.SignerOptions = void 0;
4
4
  exports.addSigner = addSigner;
5
+ const error_1 = require("./error");
5
6
  const define_functions_1 = require("./utils/define-functions");
6
7
  exports.SignerOptions = [false, 'ERC7702', 'ECDSA', 'P256', 'RSA', 'Multisig', 'MultisigWeighted'];
7
- function addSigner(c, signer) {
8
+ function addSigner(c, signer, upgradeable) {
8
9
  if (!signer)
9
10
  return;
10
- c.addParent(exports.signers[signer]);
11
- c.addOverride({ name: signer === 'MultisigWeighted' ? exports.signers.Multisig.name : exports.signers[signer].name }, exports.signerFunctions._rawSignatureValidation);
12
- // ERC-7702 doesn't require initialization
13
- if (signer === 'ERC7702')
14
- return;
15
- c.addParent({
16
- name: 'Initializable',
17
- path: '@openzeppelin/contracts/proxy/utils/Initializable.sol',
18
- });
19
- // Add locking constructor
20
- c.addNatspecTag('@custom:oz-upgrades-unsafe-allow', 'constructor');
21
- c.addConstructorCode(`_disableInitializers();`);
22
- // Add initializer
23
- const fn = exports.signerFunctions[`initialize${signer}`];
24
- c.addModifier('initializer', fn);
11
+ const signerName = signer === 'MultisigWeighted' ? exports.signers.Multisig.name : exports.signers[signer].name;
12
+ c.addOverride({ name: signerName }, exports.signerFunctions._rawSignatureValidation);
25
13
  switch (signer) {
26
- case 'Multisig':
27
- c.addFunctionCode(`_addSigners(${fn.args[0].name});`, fn);
28
- c.addFunctionCode(`_setThreshold(${fn.args[1].name});`, fn);
29
- break;
30
- case 'MultisigWeighted':
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);
14
+ case 'ERC7702':
15
+ c.addParent(exports.signers[signer]);
16
+ if (upgradeable) {
17
+ throw new error_1.OptionsError({
18
+ erc7702: 'EOAs can upgrade by redelegating to a new account',
19
+ upgradeable: 'EOAs can upgrade by redelegating to a new account',
20
+ });
21
+ }
34
22
  break;
35
23
  case 'ECDSA':
36
24
  case 'P256':
37
25
  case 'RSA':
38
- c.addFunctionCode(`_setSigner(${fn.args.map(({ name }) => name).join(', ')});`, fn);
26
+ case 'Multisig':
27
+ case 'MultisigWeighted': {
28
+ exports.signerArgs[signer].forEach(arg => c.addConstructorArgument(arg));
29
+ c.addParent(exports.signers[signer], exports.signerArgs[signer].map(arg => ({ lit: arg.name })));
30
+ break;
31
+ }
39
32
  }
40
33
  }
41
34
  exports.signers = {
42
35
  ERC7702: {
43
36
  name: 'SignerERC7702',
44
- path: '@openzeppelin/community-contracts/utils/cryptography/SignerERC7702.sol',
37
+ path: '@openzeppelin/contracts/utils/cryptography/signers/SignerERC7702.sol',
45
38
  },
46
39
  ECDSA: {
47
40
  name: 'SignerECDSA',
48
- path: '@openzeppelin/community-contracts/utils/cryptography/SignerECDSA.sol',
41
+ path: '@openzeppelin/contracts/utils/cryptography/signers/SignerECDSA.sol',
49
42
  },
50
43
  P256: {
51
44
  name: 'SignerP256',
52
- path: '@openzeppelin/community-contracts/utils/cryptography/SignerP256.sol',
45
+ path: '@openzeppelin/contracts/utils/cryptography/signers/SignerP256.sol',
53
46
  },
54
47
  RSA: {
55
48
  name: 'SignerRSA',
56
- path: '@openzeppelin/community-contracts/utils/cryptography/SignerRSA.sol',
49
+ path: '@openzeppelin/contracts/utils/cryptography/signers/SignerRSA.sol',
57
50
  },
58
51
  Multisig: {
59
52
  name: 'MultiSignerERC7913',
60
- path: '@openzeppelin/community-contracts/utils/cryptography/MultiSignerERC7913.sol',
53
+ path: '@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913.sol',
61
54
  },
62
55
  MultisigWeighted: {
63
56
  name: 'MultiSignerERC7913Weighted',
64
- path: '@openzeppelin/community-contracts/utils/cryptography/MultiSignerERC7913Weighted.sol',
57
+ path: '@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol',
65
58
  },
66
59
  };
60
+ exports.signerArgs = {
61
+ ECDSA: [{ name: 'signer', type: 'address' }],
62
+ P256: [
63
+ { name: 'qx', type: 'bytes32' },
64
+ { name: 'qy', type: 'bytes32' },
65
+ ],
66
+ RSA: [
67
+ { name: 'e', type: 'bytes memory' },
68
+ { name: 'n', type: 'bytes memory' },
69
+ ],
70
+ Multisig: [
71
+ { name: 'signers', type: 'bytes[] memory' },
72
+ { name: 'threshold', type: 'uint64' },
73
+ ],
74
+ MultisigWeighted: [
75
+ { name: 'signers', type: 'bytes[] memory' },
76
+ { name: 'weights', type: 'uint64[] memory' },
77
+ { name: 'threshold', type: 'uint64' },
78
+ ],
79
+ };
67
80
  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
81
  _rawSignatureValidation: {
102
82
  kind: 'internal',
103
83
  args: [
@@ -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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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @returns The git commit hash of the @openzeppelin/community-contracts package dependency.
3
+ * @throws Error if the @openzeppelin/community-contracts package dependency is not found in devDependencies.
4
+ */
5
+ export declare function getCommunityContractsGitCommit(): string;
6
+ /**
7
+ * Extracts the git commit hash from a package dependency version string.
8
+ * The expected format is `git+<url>#<commit-hash>`.
9
+ *
10
+ * @param dependencyName The name of the package dependency.
11
+ * @param dependencyVersion The version string of the package dependency.
12
+ * @returns The git commit hash, normalized to lowercase.
13
+ * @throws Error if the version string or commit hash is not in the expected format.
14
+ */
15
+ export declare function extractGitCommitHash(dependencyName: string, dependencyVersion: string): string;
16
+ //# sourceMappingURL=community-contracts-git-commit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"community-contracts-git-commit.d.ts","sourceRoot":"","sources":["../../src/utils/community-contracts-git-commit.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,MAAM,CAMvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAc9F"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCommunityContractsGitCommit = getCommunityContractsGitCommit;
4
+ exports.extractGitCommitHash = extractGitCommitHash;
5
+ const package_json_1 = require("../../package.json");
6
+ /**
7
+ * @returns The git commit hash of the @openzeppelin/community-contracts package dependency.
8
+ * @throws Error if the @openzeppelin/community-contracts package dependency is not found in devDependencies.
9
+ */
10
+ function getCommunityContractsGitCommit() {
11
+ const communityContractsVersion = package_json_1.devDependencies['@openzeppelin/community-contracts'];
12
+ if (!communityContractsVersion) {
13
+ throw new Error('@openzeppelin/community-contracts not found in devDependencies');
14
+ }
15
+ return extractGitCommitHash('@openzeppelin/community-contracts', communityContractsVersion);
16
+ }
17
+ /**
18
+ * Extracts the git commit hash from a package dependency version string.
19
+ * The expected format is `git+<url>#<commit-hash>`.
20
+ *
21
+ * @param dependencyName The name of the package dependency.
22
+ * @param dependencyVersion The version string of the package dependency.
23
+ * @returns The git commit hash, normalized to lowercase.
24
+ * @throws Error if the version string or commit hash is not in the expected format.
25
+ */
26
+ function extractGitCommitHash(dependencyName, dependencyVersion) {
27
+ const split = dependencyVersion.split('#');
28
+ if (!dependencyVersion.startsWith('git+') || split.length !== 2) {
29
+ throw new Error(`Expected package dependency for ${dependencyName} in format git+<url>#<commit-hash>, but got ${dependencyVersion}`);
30
+ }
31
+ const hash = split[1];
32
+ if (!/^[a-fA-F0-9]{7,40}$/.test(hash)) {
33
+ throw new Error(`Expected git commit hash for package dependency ${dependencyName} to have between 7 and 40 hex chars, but got ${hash}`);
34
+ }
35
+ return hash.toLowerCase();
36
+ }
37
+ //# sourceMappingURL=community-contracts-git-commit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"community-contracts-git-commit.js","sourceRoot":"","sources":["../../src/utils/community-contracts-git-commit.ts"],"names":[],"mappings":";;AAMA,wEAMC;AAWD,oDAcC;AArCD,qDAAqD;AAErD;;;GAGG;AACH,SAAgB,8BAA8B;IAC5C,MAAM,yBAAyB,GAAG,8BAAe,CAAC,mCAAmC,CAAC,CAAC;IACvF,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,oBAAoB,CAAC,mCAAmC,EAAE,yBAAyB,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,oBAAoB,CAAC,cAAsB,EAAE,iBAAyB;IACpF,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CACb,mCAAmC,cAAc,+CAA+C,iBAAiB,EAAE,CACpH,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;IACvB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,mDAAmD,cAAc,gDAAgD,IAAI,EAAE,CACxH,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Contract } from '../contract';
2
+ export declare function importsCommunityContracts(contract: Contract): boolean;
3
+ //# sourceMappingURL=imports-libraries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imports-libraries.d.ts","sourceRoot":"","sources":["../../src/utils/imports-libraries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,WAE3D"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.importsCommunityContracts = importsCommunityContracts;
4
+ function importsCommunityContracts(contract) {
5
+ return contract.imports.some(i => i.path.startsWith('@openzeppelin/community-contracts/'));
6
+ }
7
+ //# sourceMappingURL=imports-libraries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imports-libraries.js","sourceRoot":"","sources":["../../src/utils/imports-libraries.ts"],"names":[],"mappings":";;AAEA,8DAEC;AAFD,SAAgB,yBAAyB,CAAC,QAAkB;IAC1D,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC,CAAC;AAC7F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"zip-foundry.d.ts","sourceRoot":"","sources":["../src/zip-foundry.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;AAmS3C,wBAAsB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,cAAc,kBAUlE"}
1
+ {"version":3,"file":"zip-foundry.d.ts","sourceRoot":"","sources":["../src/zip-foundry.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;AAuT3C,wBAAsB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,cAAc,kBAUlE"}