@openzeppelin/wizard 0.1.0 → 0.2.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 (157) hide show
  1. package/README.md +28 -1
  2. package/dist/add-pausable.d.ts.map +1 -1
  3. package/dist/add-pausable.js +2 -2
  4. package/dist/add-pausable.js.map +1 -1
  5. package/dist/api.d.ts +8 -0
  6. package/dist/api.d.ts.map +1 -1
  7. package/dist/api.js +15 -5
  8. package/dist/api.js.map +1 -1
  9. package/dist/build-generic.d.ts +4 -0
  10. package/dist/build-generic.d.ts.map +1 -1
  11. package/dist/build-generic.js +3 -0
  12. package/dist/build-generic.js.map +1 -1
  13. package/dist/common-options.js +2 -2
  14. package/dist/common-options.js.map +1 -1
  15. package/dist/custom.d.ts +11 -0
  16. package/dist/custom.d.ts.map +1 -0
  17. package/dist/custom.js +47 -0
  18. package/dist/custom.js.map +1 -0
  19. package/dist/environments/hardhat/package-lock.json +14913 -0
  20. package/dist/environments/hardhat/package.json +34 -0
  21. package/dist/environments/hardhat/upgradeable/package-lock.json +15333 -0
  22. package/dist/environments/hardhat/upgradeable/package.json +35 -0
  23. package/dist/erc1155.d.ts +2 -0
  24. package/dist/erc1155.d.ts.map +1 -1
  25. package/dist/erc1155.js +16 -7
  26. package/dist/erc1155.js.map +1 -1
  27. package/dist/erc20.d.ts +1 -0
  28. package/dist/erc20.d.ts.map +1 -1
  29. package/dist/erc20.js +8 -3
  30. package/dist/erc20.js.map +1 -1
  31. package/dist/erc721.d.ts +1 -0
  32. package/dist/erc721.d.ts.map +1 -1
  33. package/dist/erc721.js +9 -2
  34. package/dist/erc721.js.map +1 -1
  35. package/dist/generate/custom.d.ts +3 -0
  36. package/dist/generate/custom.d.ts.map +1 -0
  37. package/dist/generate/custom.js +20 -0
  38. package/dist/generate/custom.js.map +1 -0
  39. package/dist/generate/erc1155.d.ts.map +1 -1
  40. package/dist/generate/erc1155.js +1 -0
  41. package/dist/generate/erc1155.js.map +1 -1
  42. package/dist/generate/sources.d.ts.map +1 -1
  43. package/dist/generate/sources.js +5 -1
  44. package/dist/generate/sources.js.map +1 -1
  45. package/dist/governor.d.ts +1 -0
  46. package/dist/governor.d.ts.map +1 -1
  47. package/dist/governor.js +8 -2
  48. package/dist/governor.js.map +1 -1
  49. package/dist/index.d.ts +1 -1
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +2 -1
  52. package/dist/index.js.map +1 -1
  53. package/dist/kind.js +1 -0
  54. package/dist/kind.js.map +1 -1
  55. package/dist/print.d.ts.map +1 -1
  56. package/dist/print.js +21 -14
  57. package/dist/print.js.map +1 -1
  58. package/dist/set-access-control.d.ts +9 -2
  59. package/dist/set-access-control.d.ts.map +1 -1
  60. package/dist/set-access-control.js +27 -6
  61. package/dist/set-access-control.js.map +1 -1
  62. package/dist/set-upgradeable.d.ts.map +1 -1
  63. package/dist/set-upgradeable.js +1 -1
  64. package/dist/set-upgradeable.js.map +1 -1
  65. package/dist/solidity-version.json +1 -0
  66. package/dist/test.js +30 -1
  67. package/dist/test.js.map +1 -1
  68. package/dist/utils/format-lines.d.ts +1 -0
  69. package/dist/utils/format-lines.d.ts.map +1 -1
  70. package/dist/utils/format-lines.js +9 -5
  71. package/dist/utils/format-lines.js.map +1 -1
  72. package/dist/zip-hardhat.d.ts +5 -0
  73. package/dist/zip-hardhat.d.ts.map +1 -0
  74. package/dist/zip-hardhat.js +187 -0
  75. package/dist/zip-hardhat.js.map +1 -0
  76. package/dist/zip.js +1 -1
  77. package/dist/zip.js.map +1 -1
  78. package/package.json +8 -6
  79. package/src/add-pausable.ts +3 -3
  80. package/src/api.ts +25 -8
  81. package/src/build-generic.ts +5 -0
  82. package/src/common-options.ts +2 -2
  83. package/src/custom.ts +55 -0
  84. package/src/environments/hardhat/package-lock.json +14913 -0
  85. package/src/environments/hardhat/package.json +34 -0
  86. package/src/environments/hardhat/upgradeable/package-lock.json +15333 -0
  87. package/src/environments/hardhat/upgradeable/package.json +35 -0
  88. package/src/erc1155.ts +17 -7
  89. package/src/erc20.ts +8 -4
  90. package/src/erc721.ts +9 -3
  91. package/src/generate/custom.ts +19 -0
  92. package/src/generate/erc1155.ts +1 -0
  93. package/src/generate/sources.ts +6 -1
  94. package/src/governor.ts +7 -2
  95. package/src/index.ts +1 -1
  96. package/src/kind.ts +1 -0
  97. package/src/print.ts +18 -14
  98. package/src/set-access-control.ts +27 -4
  99. package/src/set-upgradeable.ts +2 -2
  100. package/src/solidity-version.json +1 -0
  101. package/src/test.ts +34 -2
  102. package/src/utils/format-lines.ts +8 -3
  103. package/src/zip-hardhat.ts +186 -0
  104. package/src/zip.ts +1 -1
  105. package/dist/contract.test.d.ts +0 -2
  106. package/dist/contract.test.d.ts.map +0 -1
  107. package/dist/contract.test.js +0 -147
  108. package/dist/contract.test.js.map +0 -1
  109. package/dist/erc1155.test.d.ts +0 -2
  110. package/dist/erc1155.test.d.ts.map +0 -1
  111. package/dist/erc1155.test.js +0 -80
  112. package/dist/erc1155.test.js.map +0 -1
  113. package/dist/erc20.test.d.ts +0 -2
  114. package/dist/erc20.test.d.ts.map +0 -1
  115. package/dist/erc20.test.js +0 -126
  116. package/dist/erc20.test.js.map +0 -1
  117. package/dist/erc721.test.d.ts +0 -2
  118. package/dist/erc721.test.d.ts.map +0 -1
  119. package/dist/erc721.test.js +0 -106
  120. package/dist/erc721.test.js.map +0 -1
  121. package/dist/general.d.ts +0 -8
  122. package/dist/general.d.ts.map +0 -1
  123. package/dist/general.js +0 -22
  124. package/dist/general.js.map +0 -1
  125. package/dist/general.test.d.ts +0 -2
  126. package/dist/general.test.d.ts.map +0 -1
  127. package/dist/general.test.js +0 -42
  128. package/dist/general.test.js.map +0 -1
  129. package/dist/governor.test.d.ts +0 -2
  130. package/dist/governor.test.d.ts.map +0 -1
  131. package/dist/governor.test.js +0 -104
  132. package/dist/governor.test.js.map +0 -1
  133. package/dist/utils/to-identifier.test.d.ts +0 -2
  134. package/dist/utils/to-identifier.test.d.ts.map +0 -1
  135. package/dist/utils/to-identifier.test.js +0 -21
  136. package/dist/utils/to-identifier.test.js.map +0 -1
  137. package/dist/zip.test.d.ts +0 -2
  138. package/dist/zip.test.d.ts.map +0 -1
  139. package/dist/zip.test.js +0 -37
  140. package/dist/zip.test.js.map +0 -1
  141. package/src/contract.test.ts +0 -164
  142. package/src/contract.test.ts.md +0 -272
  143. package/src/contract.test.ts.snap +0 -0
  144. package/src/erc1155.test.ts +0 -90
  145. package/src/erc1155.test.ts.md +0 -416
  146. package/src/erc1155.test.ts.snap +0 -0
  147. package/src/erc20.test.ts +0 -144
  148. package/src/erc20.test.ts.md +0 -571
  149. package/src/erc20.test.ts.snap +0 -0
  150. package/src/erc721.test.ts +0 -122
  151. package/src/erc721.test.ts.md +0 -517
  152. package/src/erc721.test.ts.snap +0 -0
  153. package/src/governor.test.ts +0 -120
  154. package/src/governor.test.ts.md +0 -1419
  155. package/src/governor.test.ts.snap +0 -0
  156. package/src/utils/to-identifier.test.ts +0 -20
  157. package/src/zip.test.ts +0 -35
@@ -1,272 +0,0 @@
1
- # Snapshot report for `src/contract.test.ts`
2
-
3
- The actual snapshot is saved in `contract.test.ts.snap`.
4
-
5
- Generated by [AVA](https://avajs.dev).
6
-
7
- ## contract basics
8
-
9
- > Snapshot 1
10
-
11
- `// SPDX-License-Identifier: MIT␊
12
- pragma solidity ^0.8.4;␊
13
-
14
- contract Foo {␊
15
- }␊
16
- `
17
-
18
- ## contract with a parent
19
-
20
- > Snapshot 1
21
-
22
- `// SPDX-License-Identifier: MIT␊
23
- pragma solidity ^0.8.4;␊
24
-
25
- import "./Bar.sol";␊
26
-
27
- contract Foo is Bar {␊
28
- }␊
29
- `
30
-
31
- ## contract with two parents
32
-
33
- > Snapshot 1
34
-
35
- `// SPDX-License-Identifier: MIT␊
36
- pragma solidity ^0.8.4;␊
37
-
38
- import "./Bar.sol";␊
39
- import "./Quux.sol";␊
40
-
41
- contract Foo is Bar, Quux {␊
42
- }␊
43
- `
44
-
45
- ## contract with a parent with parameters
46
-
47
- > Snapshot 1
48
-
49
- `// SPDX-License-Identifier: MIT␊
50
- pragma solidity ^0.8.4;␊
51
-
52
- import "./Bar.sol";␊
53
-
54
- contract Foo is Bar {␊
55
- constructor() Bar("param1", "param2") {}␊
56
- }␊
57
- `
58
-
59
- ## contract with two parents only one with parameters
60
-
61
- > Snapshot 1
62
-
63
- `// SPDX-License-Identifier: MIT␊
64
- pragma solidity ^0.8.4;␊
65
-
66
- import "./Bar.sol";␊
67
- import "./Quux.sol";␊
68
-
69
- contract Foo is Bar, Quux {␊
70
- constructor() Bar("param1", "param2") {}␊
71
- }␊
72
- `
73
-
74
- ## contract with one override
75
-
76
- > Snapshot 1
77
-
78
- `// SPDX-License-Identifier: MIT␊
79
- pragma solidity ^0.8.4;␊
80
-
81
- contract Foo {␊
82
- }␊
83
- `
84
-
85
- ## contract with two overrides
86
-
87
- > Snapshot 1
88
-
89
- `// SPDX-License-Identifier: MIT␊
90
- pragma solidity ^0.8.4;␊
91
-
92
- contract Foo {␊
93
- // The following functions are overrides required by Solidity.␊
94
-
95
- function _beforeTokenTransfer(address from, address to, uint256 amount)␊
96
- internal␊
97
- override(ERC20, ERC20Snapshot)␊
98
- {␊
99
- super._beforeTokenTransfer(from, to, amount);␊
100
- }␊
101
- }␊
102
- `
103
-
104
- ## contract with two different overrides
105
-
106
- > Snapshot 1
107
-
108
- `// SPDX-License-Identifier: MIT␊
109
- pragma solidity ^0.8.4;␊
110
-
111
- contract Foo {␊
112
- // The following functions are overrides required by Solidity.␊
113
-
114
- function _beforeTokenTransfer(address from, address to, uint256 amount)␊
115
- internal␊
116
- override(ERC20, OtherParent)␊
117
- {␊
118
- super._beforeTokenTransfer(from, to, amount);␊
119
- }␊
120
-
121
- function _otherFunction() internal override(ERC20, OtherParent) {␊
122
- super._otherFunction();␊
123
- }␊
124
- }␊
125
- `
126
-
127
- ## contract with a modifier
128
-
129
- > Snapshot 1
130
-
131
- `// SPDX-License-Identifier: MIT␊
132
- pragma solidity ^0.8.4;␊
133
-
134
- contract Foo {␊
135
- function _otherFunction() internal whenNotPaused {}␊
136
- }␊
137
- `
138
-
139
- ## contract with a modifier and override
140
-
141
- > Snapshot 1
142
-
143
- `// SPDX-License-Identifier: MIT␊
144
- pragma solidity ^0.8.4;␊
145
-
146
- contract Foo {␊
147
- function _otherFunction() internal whenNotPaused override(ERC20, OtherParent) {␊
148
- super._otherFunction();␊
149
- }␊
150
- }␊
151
- `
152
-
153
- ## contract with constructor code
154
-
155
- > Snapshot 1
156
-
157
- `// SPDX-License-Identifier: MIT␊
158
- pragma solidity ^0.8.4;␊
159
-
160
- contract Foo {␊
161
- constructor() {␊
162
- _mint(msg.sender, 10 ether);␊
163
- }␊
164
- }␊
165
- `
166
-
167
- ## contract with constructor code and a parent
168
-
169
- > Snapshot 1
170
-
171
- `// SPDX-License-Identifier: MIT␊
172
- pragma solidity ^0.8.4;␊
173
-
174
- import "./Bar.sol";␊
175
-
176
- contract Foo is Bar {␊
177
- constructor() Bar("param1", "param2") {␊
178
- _mint(msg.sender, 10 ether);␊
179
- }␊
180
- }␊
181
- `
182
-
183
- ## contract with function code
184
-
185
- > Snapshot 1
186
-
187
- `// SPDX-License-Identifier: MIT␊
188
- pragma solidity ^0.8.4;␊
189
-
190
- contract Foo {␊
191
- function _otherFunction() internal {␊
192
- _mint(msg.sender, 10 ether);␊
193
- }␊
194
- }␊
195
- `
196
-
197
- ## contract with overriden function with code
198
-
199
- > Snapshot 1
200
-
201
- `// SPDX-License-Identifier: MIT␊
202
- pragma solidity ^0.8.4;␊
203
-
204
- contract Foo {␊
205
- function _otherFunction() internal override {␊
206
- _mint(msg.sender, 10 ether);␊
207
- super._otherFunction();␊
208
- }␊
209
- }␊
210
- `
211
-
212
- ## contract with one variable
213
-
214
- > Snapshot 1
215
-
216
- `// SPDX-License-Identifier: MIT␊
217
- pragma solidity ^0.8.4;␊
218
-
219
- contract Foo {␊
220
- uint value = 42;␊
221
- }␊
222
- `
223
-
224
- ## contract with two variables
225
-
226
- > Snapshot 1
227
-
228
- `// SPDX-License-Identifier: MIT␊
229
- pragma solidity ^0.8.4;␊
230
-
231
- contract Foo {␊
232
- uint value = 42;␊
233
- string name = "john";␊
234
- }␊
235
- `
236
-
237
- ## name with special characters
238
-
239
- > Snapshot 1
240
-
241
- `// SPDX-License-Identifier: MIT␊
242
- pragma solidity ^0.8.4;␊
243
-
244
- contract FooBarBaz {␊
245
- }␊
246
- `
247
-
248
- ## using for statement
249
-
250
- > Snapshot 1
251
-
252
- `// SPDX-License-Identifier: MIT␊
253
- pragma solidity ^0.8.4;␊
254
-
255
- import "./Counters.sol";␊
256
-
257
- contract Foo {␊
258
- using Counters for Counters.Counter;␊
259
- }␊
260
- `
261
-
262
- ## contract with info
263
-
264
- > Snapshot 1
265
-
266
- `// SPDX-License-Identifier: MIT␊
267
- pragma solidity ^0.8.4;␊
268
-
269
- /// @custom:security-contact security@example.com␊
270
- contract Foo {␊
271
- }␊
272
- `
Binary file
@@ -1,90 +0,0 @@
1
- import test from 'ava';
2
- import { erc1155 } from '.';
3
-
4
- import { buildERC1155, ERC1155Options } from './erc1155';
5
- import { printContract } from './print';
6
-
7
- function testERC1155(title: string, opts: Partial<ERC1155Options>) {
8
- test(title, t => {
9
- const c = buildERC1155({
10
- name: 'MyToken',
11
- uri: 'https://gateway.pinata.cloud/ipfs/QmcP9hxrnC1T5ATPmq2saFeAM1ypFX9BnAswCdHB9JCjLA/',
12
- ...opts,
13
- });
14
- t.snapshot(printContract(c));
15
- });
16
- }
17
-
18
- /**
19
- * Tests external API for equivalence with internal API
20
- */
21
- function testAPIEquivalence(title: string, opts?: ERC1155Options) {
22
- test(title, t => {
23
- t.is(erc1155.print(opts), printContract(buildERC1155({
24
- name: 'MyToken',
25
- uri: '',
26
- ...opts,
27
- })));
28
- });
29
- }
30
-
31
- testERC1155('basic', {});
32
-
33
- testERC1155('basic + roles', {
34
- access: 'roles',
35
- });
36
-
37
- testERC1155('burnable', {
38
- burnable: true,
39
- });
40
-
41
- testERC1155('pausable', {
42
- pausable: true,
43
- });
44
-
45
- testERC1155('mintable', {
46
- mintable: true,
47
- });
48
-
49
- testERC1155('mintable + roles', {
50
- mintable: true,
51
- access: 'roles',
52
- });
53
-
54
- testERC1155('supply tracking', {
55
- supply: true,
56
- });
57
-
58
- testERC1155('full upgradeable transparent', {
59
- mintable: true,
60
- access: 'roles',
61
- burnable: true,
62
- pausable: true,
63
- upgradeable: 'transparent',
64
- });
65
-
66
- testERC1155('full upgradeable uups', {
67
- mintable: true,
68
- access: 'roles',
69
- burnable: true,
70
- pausable: true,
71
- upgradeable: 'uups',
72
- });
73
-
74
- testAPIEquivalence('API default');
75
-
76
- testAPIEquivalence('API basic', { name: 'CustomToken', uri: 'https://gateway.pinata.cloud/ipfs/QmcP9hxrnC1T5ATPmq2saFeAM1ypFX9BnAswCdHB9JCjLA/' });
77
-
78
- testAPIEquivalence('API full upgradeable', {
79
- name: 'CustomToken',
80
- uri: 'https://gateway.pinata.cloud/ipfs/QmcP9hxrnC1T5ATPmq2saFeAM1ypFX9BnAswCdHB9JCjLA/',
81
- mintable: true,
82
- access: 'roles',
83
- burnable: true,
84
- pausable: true,
85
- upgradeable: 'uups',
86
- });
87
-
88
- test('API assert defaults', async t => {
89
- t.is(erc1155.print(erc1155.defaults), erc1155.print());
90
- });