@openzeppelin/wizard 0.10.4 → 0.10.5

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.
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "hardhat-sample",
3
+ "version": "0.0.1",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "hardhat test"
8
+ },
9
+ "author": "",
10
+ "license": "ISC",
11
+ "devDependencies": {
12
+ "@openzeppelin/contracts": "^5.5.0",
13
+ "@parity/hardhat-polkadot": "^0.2.7",
14
+ "@nomicfoundation/hardhat-toolbox": "^6.1.0",
15
+ "hardhat": "^2.22.0"
16
+ }
17
+ }
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getVersionedRemappings = getVersionedRemappings;
7
- const openzeppelin_contracts_version_1 = __importDefault(require("../openzeppelin-contracts-version"));
7
+ const openzeppelin_contracts_version_json_1 = __importDefault(require("../openzeppelin-contracts-version.json"));
8
8
  function getVersionedRemappings(opts) {
9
- const remappings = [`@openzeppelin/contracts/=@openzeppelin/contracts@${openzeppelin_contracts_version_1.default.version}/`];
9
+ const remappings = [`@openzeppelin/contracts/=@openzeppelin/contracts@${openzeppelin_contracts_version_json_1.default.version}/`];
10
10
  if (opts?.upgradeable) {
11
- remappings.push(`@openzeppelin/contracts-upgradeable/=@openzeppelin/contracts-upgradeable@${openzeppelin_contracts_version_1.default.version}/`);
11
+ remappings.push(`@openzeppelin/contracts-upgradeable/=@openzeppelin/contracts-upgradeable@${openzeppelin_contracts_version_json_1.default.version}/`);
12
12
  }
13
13
  return remappings;
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-versioned-remappings.js","sourceRoot":"","sources":["../src/get-versioned-remappings.ts"],"names":[],"mappings":";;;;;AAGA,wDAQC;AAVD,uGAAiE;AAEjE,SAAgB,sBAAsB,CAAC,IAAoB;IACzD,MAAM,UAAU,GAAG,CAAC,oDAAoD,wCAAgB,CAAC,OAAO,GAAG,CAAC,CAAC;IACrG,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;QACtB,UAAU,CAAC,IAAI,CACb,4EAA4E,wCAAgB,CAAC,OAAO,GAAG,CACxG,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"get-versioned-remappings.js","sourceRoot":"","sources":["../src/get-versioned-remappings.ts"],"names":[],"mappings":";;;;;AAGA,wDAQC;AAVD,iHAAsE;AAEtE,SAAgB,sBAAsB,CAAC,IAAoB;IACzD,MAAM,UAAU,GAAG,CAAC,oDAAoD,6CAAgB,CAAC,OAAO,GAAG,CAAC,CAAC;IACrG,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;QACtB,UAAU,CAAC,IAAI,CACb,4EAA4E,6CAAgB,CAAC,OAAO,GAAG,CACxG,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type JSZip from 'jszip';
2
+ import type { Contract } from './contract';
3
+ import type { GenericOptions } from './build-generic';
4
+ export declare function zipHardhatPolkadot(c: Contract, opts?: GenericOptions): Promise<JSZip>;
5
+ //# sourceMappingURL=zip-hardhat-polkadot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip-hardhat-polkadot.d.ts","sourceRoot":"","sources":["../src/zip-hardhat-polkadot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAgFtD,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAE3F"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.zipHardhatPolkadot = zipHardhatPolkadot;
40
+ const zip_hardhat_1 = require("./zip-hardhat");
41
+ const solidity_version_json_1 = __importDefault(require("./solidity-version.json"));
42
+ class HardhatPolkadotZipGenerator extends zip_hardhat_1.HardhatZipGenerator {
43
+ getAdditionalHardhatImports() {
44
+ return ['@parity/hardhat-polkadot'];
45
+ }
46
+ getHardhatConfigJsonString() {
47
+ return `\
48
+ {
49
+ solidity: {
50
+ version: "${solidity_version_json_1.default}",
51
+ settings: {
52
+ evmVersion: 'cancun',
53
+ optimizer: {
54
+ enabled: true,
55
+ },
56
+ },
57
+ },
58
+ resolc: {
59
+ compilerSource: 'npm',
60
+ },
61
+ networks: {
62
+ hardhat: {
63
+ polkavm: true,
64
+ nodeConfig: {
65
+ nodeBinaryPath: 'INSERT_PATH_TO_REVIVE_DEV_NODE',
66
+ rpcPort: 8000,
67
+ dev: true,
68
+ },
69
+ adapterConfig: {
70
+ adapterBinaryPath: 'INSERT_PATH_TO_ETH_RPC_ADAPTER',
71
+ dev: true,
72
+ },
73
+ },
74
+ },
75
+ }`;
76
+ }
77
+ async getPackageJson(c) {
78
+ const { default: packageJson } = await Promise.resolve().then(() => __importStar(require('./environments/hardhat/polkadot/package.json')));
79
+ packageJson.license = c.license;
80
+ return packageJson;
81
+ }
82
+ async getPackageLock(c) {
83
+ const { default: packageLock } = await Promise.resolve().then(() => __importStar(require('./environments/hardhat/polkadot/package-lock.json')));
84
+ packageLock.packages[''].license = c.license;
85
+ return packageLock;
86
+ }
87
+ getReadmePrerequisitesSection() {
88
+ return `\
89
+ ## Prerequisites
90
+
91
+ Ensure you have the following installed:
92
+ - [Node.js 22.5+](https://nodejs.org/en/download/)
93
+ - npm 10.9.0+
94
+
95
+ `;
96
+ }
97
+ getReadmeTestingEnvironmentSetupSection() {
98
+ return `\
99
+ ## Setting up a testing environment
100
+
101
+ Follow the steps in [Polkadot's documentation](https://docs.polkadot.com/smart-contracts/dev-environments/local-dev-node/) to set up a local development node and replace the placeholder values \`INSERT_PATH_TO_REVIVE_DEV_NODE\` and \`INSERT_PATH_TO_ETH_RPC_ADAPTER\` in \`hardhat.config.ts\`.
102
+
103
+ `;
104
+ }
105
+ getGitIgnoreHardhatIgnition() {
106
+ return `
107
+ # Hardhat Ignition default folder for deployments against a local Polkadot Revive Dev node
108
+ ignition/deployments/chain-420420420
109
+ `;
110
+ }
111
+ }
112
+ async function zipHardhatPolkadot(c, opts) {
113
+ return new HardhatPolkadotZipGenerator().zipHardhat(c, opts);
114
+ }
115
+ //# sourceMappingURL=zip-hardhat-polkadot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip-hardhat-polkadot.js","sourceRoot":"","sources":["../src/zip-hardhat-polkadot.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmFA,gDAEC;AAnFD,+CAAoD;AAEpD,oFAAuD;AAEvD,MAAM,2BAA4B,SAAQ,iCAAmB;IACjD,2BAA2B;QACnC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACtC,CAAC;IAES,0BAA0B;QAClC,OAAO;;;gBAGK,+BAAgB;;;;;;;;;;;;;;;;;;;;;;;;;EAyB9B,CAAC;IACD,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,CAAW;QACxC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,wDAAa,8CAA8C,GAAC,CAAC;QAC9F,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QAChC,OAAO,WAAW,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,CAAW;QACxC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,wDAAa,mDAAmD,GAAC,CAAC;QACnG,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QAC7C,OAAO,WAAW,CAAC;IACrB,CAAC;IAES,6BAA6B;QACrC,OAAO;;;;;;;CAOV,CAAC;IACA,CAAC;IAES,uCAAuC;QAC/C,OAAO;;;;;CAKV,CAAC;IACA,CAAC;IAES,2BAA2B;QACnC,OAAO;;;KAGN,CAAC;IACJ,CAAC;CACF;AAEM,KAAK,UAAU,kBAAkB,CAAC,CAAW,EAAE,IAAqB;IACzE,OAAO,IAAI,2BAA2B,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC"}
@@ -1,5 +1,26 @@
1
1
  import JSZip from 'jszip';
2
2
  import type { GenericOptions } from './build-generic';
3
3
  import type { Contract } from './contract';
4
+ export declare class HardhatZipGenerator {
5
+ protected getAdditionalHardhatImports(): string[];
6
+ protected getHardhatConfigJsonString(): string;
7
+ protected getHardhatConfig(upgradeable: boolean): string;
8
+ protected getTsConfig(): string;
9
+ protected getGitIgnoreHardhatIgnition(): string;
10
+ protected getGitIgnore(): string;
11
+ protected getTest(c: Contract, opts?: GenericOptions): string;
12
+ getDeploymentCall(c: Contract, args: string[]): string;
13
+ protected getScript(c: Contract): string;
14
+ private lowerFirstCharacter;
15
+ protected getIgnitionModule(c: Contract): string;
16
+ protected getReadmeTestingEnvironmentSetupSection(): string;
17
+ protected getReadmePrerequisitesSection(): string;
18
+ protected getReadme(c: Contract): string;
19
+ getHardhatPlugins(c: Contract): string[];
20
+ protected getPackageJson(c: Contract): Promise<unknown>;
21
+ protected getPackageLock(c: Contract): Promise<unknown>;
22
+ protected getPrintContract(c: Contract): string;
23
+ zipHardhat(c: Contract, opts?: GenericOptions): Promise<JSZip>;
24
+ }
4
25
  export declare function zipHardhat(c: Contract, opts?: GenericOptions): Promise<JSZip>;
5
26
  //# sourceMappingURL=zip-hardhat.d.ts.map
@@ -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;AA8M3C,wBAAsB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,cAAc,kBA8BlE"}
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,EAAoB,MAAM,YAAY,CAAC;AAqF7D,qBAAa,mBAAmB;IAC9B,SAAS,CAAC,2BAA2B,IAAI,MAAM,EAAE;IAIjD,SAAS,CAAC,0BAA0B,IAAI,MAAM;IAe9C,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM;IAgBxD,SAAS,CAAC,WAAW,IAAI,MAAM;IAgB/B,SAAS,CAAC,2BAA2B,IAAI,MAAM;IAO/C,SAAS,CAAC,YAAY,IAAI,MAAM;IAehC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,MAAM;IAItD,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM;IAW7D,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM;IA0BxC,OAAO,CAAC,mBAAmB;IAI3B,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM;IAchD,SAAS,CAAC,uCAAuC,IAAI,MAAM;IAI3D,SAAS,CAAC,6BAA6B,IAAI,MAAM;IAIjD,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM;IA4BjC,iBAAiB,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,EAAE;cAQ/B,cAAc,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;cAQ7C,cAAc,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ7D,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM;IAIzC,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;CAwBrE;AAED,wBAAsB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAEnF"}
@@ -36,17 +36,87 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.HardhatZipGenerator = void 0;
39
40
  exports.zipHardhat = zipHardhat;
40
41
  const jszip_1 = __importDefault(require("jszip"));
41
42
  const print_1 = require("./print");
42
43
  const solidity_version_json_1 = __importDefault(require("./solidity-version.json"));
43
44
  const format_lines_1 = require("./utils/format-lines");
44
- const hardhatConfig = (upgradeable) => `\
45
- import { HardhatUserConfig } from "hardhat/config";
46
- import "@nomicfoundation/hardhat-toolbox";
47
- ${upgradeable ? `import "@openzeppelin/hardhat-upgrades";` : ''}
48
-
49
- const config: HardhatUserConfig = {
45
+ class TestGenerator {
46
+ constructor(parent) {
47
+ this.parent = parent;
48
+ }
49
+ getContent(c, opts) {
50
+ return (0, format_lines_1.formatLinesWithSpaces)(2, ...(0, format_lines_1.spaceBetween)(this.getImports(c), this.getTestCase(c, opts)));
51
+ }
52
+ getTestCase(c, opts) {
53
+ return [
54
+ `describe("${c.name}", function () {`,
55
+ [
56
+ 'it("Test contract", async function () {',
57
+ (0, format_lines_1.spaceBetween)([`const ContractFactory = await ethers.getContractFactory("${c.name}");`], this.declareVariables(c.constructorArgs), this.getDeployLines(c, c.constructorArgs.map(a => a.name)), this.getExpects(opts)),
58
+ '});',
59
+ ],
60
+ '});',
61
+ ];
62
+ }
63
+ getImports(c) {
64
+ return [
65
+ 'import { expect } from "chai";',
66
+ `import { ${this.parent.getHardhatPlugins(c).join(', ')} } from "hardhat";`,
67
+ ];
68
+ }
69
+ getExpects(opts) {
70
+ if (opts !== undefined) {
71
+ switch (opts.kind) {
72
+ case 'ERC20':
73
+ case 'ERC721':
74
+ return [`expect(await instance.name()).to.equal("${opts.name}");`];
75
+ case 'ERC1155':
76
+ return [`expect(await instance.uri(0)).to.equal("${opts.uri}");`];
77
+ case 'Account':
78
+ case 'Governor':
79
+ case 'Custom':
80
+ break;
81
+ default:
82
+ throw new Error('Unknown ERC');
83
+ }
84
+ }
85
+ return [];
86
+ }
87
+ declareVariables(args) {
88
+ return args.flatMap((arg, i) => {
89
+ if (arg.type === 'address') {
90
+ return [`const ${arg.name} = (await ethers.getSigners())[${i}].address;`];
91
+ }
92
+ else {
93
+ return [`// TODO: Set the following constructor argument`, `// const ${arg.name} = ...;`];
94
+ }
95
+ });
96
+ }
97
+ getDeployLines(c, argNames) {
98
+ if (c.constructorArgs.some(a => a.type !== 'address')) {
99
+ return [
100
+ `// TODO: Uncomment the below when the missing constructor arguments are set above`,
101
+ `// const instance = await ${this.parent.getDeploymentCall(c, argNames)};`,
102
+ `// await instance.waitForDeployment();`,
103
+ ];
104
+ }
105
+ else {
106
+ return [
107
+ `const instance = await ${this.parent.getDeploymentCall(c, argNames)};`,
108
+ 'await instance.waitForDeployment();',
109
+ ];
110
+ }
111
+ }
112
+ }
113
+ class HardhatZipGenerator {
114
+ getAdditionalHardhatImports() {
115
+ return [];
116
+ }
117
+ getHardhatConfigJsonString() {
118
+ return `\
119
+ {
50
120
  solidity: {
51
121
  version: "${solidity_version_json_1.default}",
52
122
  settings: {
@@ -56,11 +126,23 @@ const config: HardhatUserConfig = {
56
126
  },
57
127
  },
58
128
  },
59
- };
129
+ }`;
130
+ }
131
+ getHardhatConfig(upgradeable) {
132
+ const additionalImports = this.getAdditionalHardhatImports();
133
+ const importsSection = additionalImports.length > 0 ? additionalImports.map(imp => `import "${imp}";`).join('\n') + '\n' : '';
134
+ return `\
135
+ import { HardhatUserConfig } from "hardhat/config";
136
+ import "@nomicfoundation/hardhat-toolbox";
137
+ ${importsSection}${upgradeable ? `import "@openzeppelin/hardhat-upgrades";` : ''}
138
+
139
+ const config: HardhatUserConfig = ${this.getHardhatConfigJsonString()};
60
140
 
61
141
  export default config;
62
142
  `;
63
- const tsConfig = `\
143
+ }
144
+ getTsConfig() {
145
+ return `\
64
146
  {
65
147
  "compilerOptions": {
66
148
  "target": "es2020",
@@ -73,7 +155,15 @@ const tsConfig = `\
73
155
  }
74
156
  }
75
157
  `;
76
- const gitIgnore = `\
158
+ }
159
+ getGitIgnoreHardhatIgnition() {
160
+ return `
161
+ # Hardhat Ignition default folder for deployments against a local node
162
+ ignition/deployments/chain-31337
163
+ `;
164
+ }
165
+ getGitIgnore() {
166
+ return `\
77
167
  node_modules
78
168
  .env
79
169
  coverage
@@ -84,78 +174,29 @@ typechain-types
84
174
  # Hardhat files
85
175
  cache
86
176
  artifacts
87
- `;
88
- const test = (c, opts) => {
89
- return (0, format_lines_1.formatLinesWithSpaces)(2, ...(0, format_lines_1.spaceBetween)(getImports(c), getTestCase(c)));
90
- function getTestCase(c) {
91
- const args = getAddressArgs(c);
92
- return [
93
- `describe("${c.name}", function () {`,
94
- [
95
- 'it("Test contract", async function () {',
96
- (0, format_lines_1.spaceBetween)([`const ContractFactory = await ethers.getContractFactory("${c.name}");`], getAddressVariables(args), [`const instance = await ${getDeploymentCall(c, args)};`, 'await instance.waitForDeployment();'], getExpects()),
97
- '});',
98
- ],
99
- '});',
100
- ];
101
- }
102
- function getImports(c) {
103
- return ['import { expect } from "chai";', `import { ${getHardhatPlugins(c).join(', ')} } from "hardhat";`];
104
- }
105
- function getExpects() {
106
- if (opts !== undefined) {
107
- switch (opts.kind) {
108
- case 'ERC20':
109
- case 'ERC721':
110
- return [`expect(await instance.name()).to.equal("${opts.name}");`];
111
- case 'ERC1155':
112
- return [`expect(await instance.uri(0)).to.equal("${opts.uri}");`];
113
- case 'Account':
114
- case 'Governor':
115
- case 'Custom':
116
- break;
117
- default:
118
- throw new Error('Unknown ERC');
119
- }
120
- }
121
- return [];
177
+ ${this.getGitIgnoreHardhatIgnition()}`;
122
178
  }
123
- function getAddressVariables(args) {
124
- const vars = [];
125
- for (let i = 0; i < args.length; i++) {
126
- vars.push(`const ${args[i]} = (await ethers.getSigners())[${i}].address;`);
127
- }
128
- return vars;
179
+ getTest(c, opts) {
180
+ return new TestGenerator(this).getContent(c, opts);
129
181
  }
130
- };
131
- function getAddressArgs(c) {
132
- const args = [];
133
- for (const constructorArg of c.constructorArgs) {
134
- if (constructorArg.type === 'address') {
135
- args.push(constructorArg.name);
136
- }
182
+ getDeploymentCall(c, args) {
183
+ // TODO: remove that selector when the upgrades plugin supports @custom:oz-upgrades-unsafe-allow-reachable
184
+ const unsafeAllowConstructor = c.parents.find(p => ['EIP712'].includes(p.contract.name)) !== undefined;
185
+ return !c.upgradeable
186
+ ? `ContractFactory.deploy(${args.join(', ')})`
187
+ : unsafeAllowConstructor
188
+ ? `upgrades.deployProxy(ContractFactory, [${args.join(', ')}], { unsafeAllow: ['constructor'] })`
189
+ : `upgrades.deployProxy(ContractFactory, [${args.join(', ')}])`;
137
190
  }
138
- return args;
139
- }
140
- function getDeploymentCall(c, args) {
141
- // TODO: remove that selector when the upgrades plugin supports @custom:oz-upgrades-unsafe-allow-reachable
142
- const unsafeAllowConstructor = c.parents.find(p => ['EIP712'].includes(p.contract.name)) !== undefined;
143
- return !c.upgradeable
144
- ? `ContractFactory.deploy(${args.join(', ')})`
145
- : unsafeAllowConstructor
146
- ? `upgrades.deployProxy(ContractFactory, [${args.join(', ')}], { unsafeAllow: 'constructor' })`
147
- : `upgrades.deployProxy(ContractFactory, [${args.join(', ')}])`;
148
- }
149
- const script = (c) => {
150
- const args = getAddressArgs(c);
151
- return `\
152
- import { ${getHardhatPlugins(c).join(', ')} } from "hardhat";
191
+ getScript(c) {
192
+ return `\
193
+ import { ${this.getHardhatPlugins(c).join(', ')} } from "hardhat";
153
194
 
154
195
  async function main() {
155
196
  const ContractFactory = await ethers.getContractFactory("${c.name}");
156
197
 
157
- ${args.length > 0 ? '// TODO: Set addresses for the contract arguments below' : ''}
158
- const instance = await ${getDeploymentCall(c, args)};
198
+ ${c.constructorArgs.length > 0 ? '// TODO: Set values for the constructor arguments below' : ''}
199
+ const instance = await ${this.getDeploymentCall(c, c.constructorArgs.map(a => a.name))};
159
200
  await instance.waitForDeployment();
160
201
 
161
202
  console.log(\`${c.upgradeable ? 'Proxy' : 'Contract'} deployed to \${await instance.getAddress()}\`);
@@ -168,34 +209,42 @@ main().catch((error) => {
168
209
  process.exitCode = 1;
169
210
  });
170
211
  `;
171
- };
172
- const lowerFirstCharacter = (str) => str.charAt(0).toLowerCase() + str.slice(1);
173
- const ignitionModule = (c) => {
174
- const deployArguments = getAddressArgs(c);
175
- const contractVariableName = lowerFirstCharacter(c.name);
176
- return `import { buildModule } from "@nomicfoundation/hardhat-ignition/modules";
212
+ }
213
+ lowerFirstCharacter(str) {
214
+ return str.charAt(0).toLowerCase() + str.slice(1);
215
+ }
216
+ getIgnitionModule(c) {
217
+ const contractVariableName = this.lowerFirstCharacter(c.name);
218
+ return `import { buildModule } from "@nomicfoundation/hardhat-ignition/modules";
177
219
 
178
220
  export default buildModule("${c.name}Module", (m) => {
179
221
 
180
- ${deployArguments.length > 0 ? '// TODO: Set addresses for the contract arguments below' : ''}
181
- const ${contractVariableName} = m.contract("${c.name}", [${deployArguments.join(', ')}]);
222
+ ${c.constructorArgs.length > 0 ? '// TODO: Set values for the constructor arguments below' : ''}
223
+ const ${contractVariableName} = m.contract("${c.name}", [${c.constructorArgs.map(a => a.name).join(', ')}]);
182
224
 
183
225
  return { ${contractVariableName} };
184
226
  });
185
227
  `;
186
- };
187
- const readme = (c) => `\
228
+ }
229
+ getReadmeTestingEnvironmentSetupSection() {
230
+ return '';
231
+ }
232
+ getReadmePrerequisitesSection() {
233
+ return '';
234
+ }
235
+ getReadme(c) {
236
+ return `\
188
237
  # Sample Hardhat Project
189
238
 
190
239
  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'}.
191
240
 
192
- ## Installing dependencies
241
+ ${this.getReadmePrerequisitesSection()}## Installing dependencies
193
242
 
194
243
  \`\`\`
195
244
  npm install
196
245
  \`\`\`
197
246
 
198
- ## Testing the contract
247
+ ${this.getReadmeTestingEnvironmentSetupSection()}## Testing the contract
199
248
 
200
249
  \`\`\`
201
250
  npm test
@@ -209,37 +258,54 @@ You can target any network from your Hardhat config using:
209
258
  ${c.upgradeable ? 'npx hardhat run --network <network-name> scripts/deploy.ts' : `npx hardhat ignition deploy ignition/modules/${c.name}.ts --network <network-name>`}
210
259
  \`\`\`
211
260
  `;
212
- function getHardhatPlugins(c) {
213
- const plugins = ['ethers'];
214
- if (c.upgradeable) {
215
- plugins.push('upgrades');
216
261
  }
217
- return plugins;
262
+ getHardhatPlugins(c) {
263
+ const plugins = ['ethers'];
264
+ if (c.upgradeable) {
265
+ plugins.push('upgrades');
266
+ }
267
+ return plugins;
268
+ }
269
+ async getPackageJson(c) {
270
+ const { default: packageJson } = c.upgradeable
271
+ ? await Promise.resolve().then(() => __importStar(require('./environments/hardhat/upgradeable/package.json')))
272
+ : await Promise.resolve().then(() => __importStar(require('./environments/hardhat/package.json')));
273
+ packageJson.license = c.license;
274
+ return packageJson;
275
+ }
276
+ async getPackageLock(c) {
277
+ const { default: packageLock } = c.upgradeable
278
+ ? await Promise.resolve().then(() => __importStar(require('./environments/hardhat/upgradeable/package-lock.json')))
279
+ : await Promise.resolve().then(() => __importStar(require('./environments/hardhat/package-lock.json')));
280
+ packageLock.packages[''].license = c.license;
281
+ return packageLock;
282
+ }
283
+ getPrintContract(c) {
284
+ return (0, print_1.printContract)(c);
285
+ }
286
+ async zipHardhat(c, opts) {
287
+ const zip = new jszip_1.default();
288
+ const packageJson = await this.getPackageJson(c);
289
+ const packageLock = await this.getPackageLock(c);
290
+ zip.file(`contracts/${c.name}.sol`, this.getPrintContract(c));
291
+ zip.file('test/test.ts', this.getTest(c, opts));
292
+ if (c.upgradeable) {
293
+ zip.file('scripts/deploy.ts', this.getScript(c));
294
+ }
295
+ else {
296
+ zip.file(`ignition/modules/${c.name}.ts`, this.getIgnitionModule(c));
297
+ }
298
+ zip.file('.gitignore', this.getGitIgnore());
299
+ zip.file('hardhat.config.ts', this.getHardhatConfig(c.upgradeable));
300
+ zip.file('package.json', JSON.stringify(packageJson, null, 2));
301
+ zip.file(`package-lock.json`, JSON.stringify(packageLock, null, 2));
302
+ zip.file('README.md', this.getReadme(c));
303
+ zip.file('tsconfig.json', this.getTsConfig());
304
+ return zip;
305
+ }
218
306
  }
307
+ exports.HardhatZipGenerator = HardhatZipGenerator;
219
308
  async function zipHardhat(c, opts) {
220
- const zip = new jszip_1.default();
221
- const { default: packageJson } = c.upgradeable
222
- ? await Promise.resolve().then(() => __importStar(require('./environments/hardhat/upgradeable/package.json')))
223
- : await Promise.resolve().then(() => __importStar(require('./environments/hardhat/package.json')));
224
- packageJson.license = c.license;
225
- const { default: packageLock } = c.upgradeable
226
- ? await Promise.resolve().then(() => __importStar(require('./environments/hardhat/upgradeable/package-lock.json')))
227
- : await Promise.resolve().then(() => __importStar(require('./environments/hardhat/package-lock.json')));
228
- packageLock.packages[''].license = c.license;
229
- zip.file(`contracts/${c.name}.sol`, (0, print_1.printContract)(c));
230
- zip.file('test/test.ts', test(c, opts));
231
- if (c.upgradeable) {
232
- zip.file('scripts/deploy.ts', script(c));
233
- }
234
- else {
235
- zip.file(`ignition/modules/${c.name}.ts`, ignitionModule(c));
236
- }
237
- zip.file('.gitignore', gitIgnore);
238
- zip.file('hardhat.config.ts', hardhatConfig(c.upgradeable));
239
- zip.file('package.json', JSON.stringify(packageJson, null, 2));
240
- zip.file(`package-lock.json`, JSON.stringify(packageLock, null, 2));
241
- zip.file('README.md', readme(c));
242
- zip.file('tsconfig.json', tsConfig);
243
- return zip;
309
+ return new HardhatZipGenerator().zipHardhat(c, opts);
244
310
  }
245
311
  //# sourceMappingURL=zip-hardhat.js.map
@@ -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.10.4",
3
+ "version": "0.10.5",
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",
@@ -12,7 +12,7 @@
12
12
  "/dist",
13
13
  "/src",
14
14
  "openzeppelin-contracts-version.json",
15
- "openzeppelin-contracts-version.d.ts",
15
+ "openzeppelin-contracts-version.json.d.ts",
16
16
  "!**/*.test.*"
17
17
  ],
18
18
  "scripts": {
@@ -41,4 +41,4 @@
41
41
  "ts-node": "^10.4.0",
42
42
  "typescript": "^5.0.0"
43
43
  }
44
- }
44
+ }