@openzeppelin/wizard 0.3.0 → 0.4.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 (92) hide show
  1. package/dist/add-pausable.d.ts +1 -0
  2. package/dist/add-pausable.d.ts.map +1 -1
  3. package/dist/add-pausable.js +9 -5
  4. package/dist/add-pausable.js.map +1 -1
  5. package/dist/contract.d.ts +13 -9
  6. package/dist/contract.d.ts.map +1 -1
  7. package/dist/contract.js +5 -5
  8. package/dist/contract.js.map +1 -1
  9. package/dist/environments/hardhat/package-lock.json +1488 -7247
  10. package/dist/environments/hardhat/package.json +4 -22
  11. package/dist/environments/hardhat/upgradeable/package-lock.json +1668 -7725
  12. package/dist/environments/hardhat/upgradeable/package.json +5 -22
  13. package/dist/erc1155.js +24 -15
  14. package/dist/erc1155.js.map +1 -1
  15. package/dist/erc20.d.ts +0 -1
  16. package/dist/erc20.d.ts.map +1 -1
  17. package/dist/erc20.js +45 -62
  18. package/dist/erc20.js.map +1 -1
  19. package/dist/erc721.js +54 -53
  20. package/dist/erc721.js.map +1 -1
  21. package/dist/generate/erc20.d.ts.map +1 -1
  22. package/dist/generate/erc20.js +0 -1
  23. package/dist/generate/erc20.js.map +1 -1
  24. package/dist/generate/governor.js +1 -1
  25. package/dist/generate/governor.js.map +1 -1
  26. package/dist/governor.d.ts +2 -2
  27. package/dist/governor.d.ts.map +1 -1
  28. package/dist/governor.js +104 -98
  29. package/dist/governor.js.map +1 -1
  30. package/dist/infer-transpiled.d.ts +3 -0
  31. package/dist/infer-transpiled.d.ts.map +1 -0
  32. package/dist/infer-transpiled.js +9 -0
  33. package/dist/infer-transpiled.js.map +1 -0
  34. package/dist/options.d.ts +3 -4
  35. package/dist/options.d.ts.map +1 -1
  36. package/dist/options.js +14 -11
  37. package/dist/options.js.map +1 -1
  38. package/dist/print-versioned.d.ts.map +1 -1
  39. package/dist/print-versioned.js +6 -1
  40. package/dist/print-versioned.js.map +1 -1
  41. package/dist/print.d.ts.map +1 -1
  42. package/dist/print.js +17 -9
  43. package/dist/print.js.map +1 -1
  44. package/dist/scripts/prepare.js +0 -1
  45. package/dist/scripts/prepare.js.map +1 -1
  46. package/dist/set-access-control.d.ts +1 -1
  47. package/dist/set-access-control.d.ts.map +1 -1
  48. package/dist/set-access-control.js +18 -7
  49. package/dist/set-access-control.js.map +1 -1
  50. package/dist/set-upgradeable.d.ts.map +1 -1
  51. package/dist/set-upgradeable.js +5 -4
  52. package/dist/set-upgradeable.js.map +1 -1
  53. package/dist/solidity-version.json +1 -1
  54. package/dist/zip-foundry.d.ts +5 -0
  55. package/dist/zip-foundry.d.ts.map +1 -0
  56. package/dist/zip-foundry.js +224 -0
  57. package/dist/zip-foundry.js.map +1 -0
  58. package/dist/zip-hardhat.d.ts.map +1 -1
  59. package/dist/zip-hardhat.js +36 -11
  60. package/dist/zip-hardhat.js.map +1 -1
  61. package/package.json +3 -4
  62. package/src/add-pausable.ts +7 -3
  63. package/src/contract.ts +17 -15
  64. package/src/environments/hardhat/package-lock.json +1488 -7247
  65. package/src/environments/hardhat/package.json +4 -22
  66. package/src/environments/hardhat/upgradeable/package-lock.json +1668 -7725
  67. package/src/environments/hardhat/upgradeable/package.json +5 -22
  68. package/src/erc1155.ts +30 -23
  69. package/src/erc20.ts +46 -67
  70. package/src/erc721.ts +64 -66
  71. package/src/generate/erc20.ts +0 -1
  72. package/src/generate/governor.ts +1 -1
  73. package/src/governor.ts +110 -109
  74. package/src/infer-transpiled.ts +5 -0
  75. package/src/options.ts +18 -16
  76. package/src/print-versioned.ts +6 -2
  77. package/src/print.ts +17 -13
  78. package/src/scripts/prepare.ts +0 -2
  79. package/src/set-access-control.ts +18 -7
  80. package/src/set-upgradeable.ts +5 -4
  81. package/src/solidity-version.json +1 -1
  82. package/src/zip-foundry.ts +259 -0
  83. package/src/zip-hardhat.ts +39 -11
  84. package/CHANGELOG.md +0 -30
  85. package/dist/zip.d.ts +0 -4
  86. package/dist/zip.d.ts.map +0 -1
  87. package/dist/zip.js +0 -48
  88. package/dist/zip.js.map +0 -1
  89. package/src/.DS_Store +0 -0
  90. package/src/environments/.DS_Store +0 -0
  91. package/src/environments/hardhat/.DS_Store +0 -0
  92. package/src/zip.ts +0 -53
package/src/contract.ts CHANGED
@@ -4,9 +4,8 @@ export interface Contract {
4
4
  name: string;
5
5
  license: string;
6
6
  parents: Parent[];
7
- using: Using[];
8
7
  natspecTags: NatspecTag[];
9
- imports: string[];
8
+ imports: ParentContract[];
10
9
  functions: ContractFunction[];
11
10
  constructorCode: string[];
12
11
  constructorArgs: FunctionArgument[];
@@ -21,11 +20,15 @@ export interface Parent {
21
20
  params: Value[];
22
21
  }
23
22
 
24
- export interface ParentContract {
25
- name: string;
23
+ export interface ParentContract extends ReferencedContract {
26
24
  path: string;
27
25
  }
28
26
 
27
+ export interface ReferencedContract {
28
+ name: string;
29
+ transpiled?: boolean;
30
+ }
31
+
29
32
  export interface Using {
30
33
  library: ParentContract;
31
34
  usingFor: string;
@@ -40,7 +43,7 @@ export interface BaseFunction {
40
43
  }
41
44
 
42
45
  export interface ContractFunction extends BaseFunction {
43
- override: Set<string>;
46
+ override: Set<ReferencedContract>;
44
47
  modifiers: string[];
45
48
  code: string[];
46
49
  mutability: FunctionMutability;
@@ -60,7 +63,7 @@ function maxMutability(a: FunctionMutability, b: FunctionMutability): FunctionMu
60
63
  }
61
64
 
62
65
  export interface FunctionArgument {
63
- type: string;
66
+ type: string | ReferencedContract;
64
67
  name: string;
65
68
  }
66
69
 
@@ -100,10 +103,10 @@ export class ContractBuilder implements Contract {
100
103
  });
101
104
  }
102
105
 
103
- get imports(): string[] {
106
+ get imports(): ParentContract[] {
104
107
  return [
105
- ...[...this.parentMap.values()].map(p => p.contract.path),
106
- ...this.using.map(u => u.library.path),
108
+ ...[...this.parentMap.values()].map(p => p.contract),
109
+ ...this.using.map(u => u.library),
107
110
  ];
108
111
  }
109
112
 
@@ -121,11 +124,7 @@ export class ContractBuilder implements Contract {
121
124
  return !present;
122
125
  }
123
126
 
124
- addUsing(library: ParentContract, usingFor: string) {
125
- this.using.push({ library, usingFor });
126
- }
127
-
128
- addOverride(parent: string, baseFn: BaseFunction, mutability?: FunctionMutability) {
127
+ addOverride(parent: ReferencedContract, baseFn: BaseFunction, mutability?: FunctionMutability) {
129
128
  const fn = this.addFunction(baseFn);
130
129
  fn.override.add(parent);
131
130
  if (mutability) {
@@ -150,7 +149,7 @@ export class ContractBuilder implements Contract {
150
149
  return got;
151
150
  } else {
152
151
  const fn: ContractFunction = {
153
- override: new Set<string>(),
152
+ override: new Set<ReferencedContract>(),
154
153
  modifiers: [],
155
154
  code: [],
156
155
  mutability: 'nonpayable',
@@ -193,6 +192,9 @@ export class ContractBuilder implements Contract {
193
192
  }
194
193
  }
195
194
 
195
+ /**
196
+ * Note: The type in the variable is not currently transpiled, even if it refers to a contract
197
+ */
196
198
  addVariable(code: string): boolean {
197
199
  const present = this.variableSet.has(code);
198
200
  this.variableSet.add(code);