@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
@@ -0,0 +1,186 @@
1
+ import JSZip from "jszip";
2
+ import type { GenericOptions } from "./build-generic";
3
+ import type { Contract } from "./contract";
4
+ import { printContract } from "./print";
5
+ import SOLIDITY_VERSION from './solidity-version.json';
6
+ import { formatLinesWithSpaces, Lines, spaceBetween } from "./utils/format-lines";
7
+
8
+ const hardhatConfig = (upgradeable: boolean) => `\
9
+ import { HardhatUserConfig } from "hardhat/config";
10
+ import "@nomicfoundation/hardhat-toolbox";
11
+ ${upgradeable ? `import "@openzeppelin/hardhat-upgrades";` : ''}
12
+
13
+ const config: HardhatUserConfig = {
14
+ solidity: {
15
+ version: "${SOLIDITY_VERSION}",
16
+ settings: {
17
+ optimizer: {
18
+ enabled: true,
19
+ },
20
+ },
21
+ },
22
+ };
23
+
24
+ export default config;
25
+ `;
26
+
27
+ const tsConfig = `\
28
+ {
29
+ "compilerOptions": {
30
+ "target": "es2020",
31
+ "module": "commonjs",
32
+ "esModuleInterop": true,
33
+ "forceConsistentCasingInFileNames": true,
34
+ "strict": true,
35
+ "skipLibCheck": true
36
+ }
37
+ }
38
+ `;
39
+
40
+ const gitIgnore = `\
41
+ node_modules
42
+ .env
43
+ coverage
44
+ coverage.json
45
+ typechain
46
+ typechain-types
47
+
48
+ #Hardhat files
49
+ cache
50
+ artifacts
51
+ `;
52
+
53
+ const test = (c: Contract, opts?: GenericOptions) => {
54
+ return formatLinesWithSpaces(
55
+ 2,
56
+ ...spaceBetween(
57
+ getImports(c),
58
+ getTestCase(c),
59
+ ),
60
+ );
61
+
62
+ function getTestCase(c: Contract) {
63
+ return [
64
+ `describe("${c.name}", function () {`,
65
+ [
66
+ 'it("Test contract", async function () {',
67
+ spaceBetween(
68
+ [
69
+ `const ContractFactory = await ethers.getContractFactory("${c.name}");`,
70
+ ],
71
+ [
72
+ `const instance = await ${c.upgradeable ? 'upgrades.deployProxy(ContractFactory)' : 'ContractFactory.deploy()'};`,
73
+ 'await instance.deployed();'
74
+ ],
75
+ getContractSpecificExpects(),
76
+ ),
77
+ '});'
78
+ ],
79
+ '});',
80
+ ];
81
+ }
82
+
83
+ function getImports(c: Contract) {
84
+ return [
85
+ 'import { expect } from "chai";',
86
+ `import { ${getHardhatPlugins(c).join(', ')} } from "hardhat";`,
87
+ ];
88
+ }
89
+
90
+ function getContractSpecificExpects(): Lines[] {
91
+ if (opts !== undefined) {
92
+ switch (opts.kind) {
93
+ case 'ERC20':
94
+ case 'ERC721':
95
+ return [`expect(await instance.name()).to.equal("${opts.name}");`];
96
+
97
+ case 'ERC1155':
98
+ return [`expect(await instance.uri(0)).to.equal("${opts.uri}");`];
99
+
100
+ case 'Governor':
101
+ case 'Custom':
102
+ break;
103
+
104
+ default:
105
+ throw new Error('Unknown ERC');
106
+ }
107
+ }
108
+ return [];
109
+ }
110
+ };
111
+
112
+ const script = (c: Contract) => `\
113
+ import { ${getHardhatPlugins(c).join(', ')} } from "hardhat";
114
+
115
+ async function main() {
116
+ const ContractFactory = await ethers.getContractFactory("${c.name}");
117
+
118
+ const instance = await ${c.upgradeable ? 'upgrades.deployProxy(ContractFactory)' : 'ContractFactory.deploy()'};
119
+ await instance.deployed();
120
+
121
+ console.log(\`${c.upgradeable ? 'Proxy' : 'Contract'} deployed to \${instance.address}\`);
122
+ }
123
+
124
+ // We recommend this pattern to be able to use async/await everywhere
125
+ // and properly handle errors.
126
+ main().catch((error) => {
127
+ console.error(error);
128
+ process.exitCode = 1;
129
+ });
130
+ `;
131
+
132
+ const readme = `\
133
+ # Sample Hardhat Project
134
+
135
+ 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.
136
+
137
+ ## Installing dependencies
138
+
139
+ \`\`\`
140
+ npm install
141
+ \`\`\`
142
+
143
+ ## Testing the contract
144
+
145
+ \`\`\`
146
+ npm test
147
+ \`\`\`
148
+
149
+ ## Deploying the contract
150
+
151
+ You can target any network from your Hardhat config using:
152
+
153
+ \`\`\`
154
+ npx hardhat run --network <network-name> scripts/deploy.ts
155
+ \`\`\`
156
+ `;
157
+
158
+ function getHardhatPlugins(c: Contract) {
159
+ let plugins = ['ethers'];
160
+ if (c.upgradeable) {
161
+ plugins.push('upgrades');
162
+ }
163
+ return plugins;
164
+ }
165
+
166
+ export async function zipHardhat(c: Contract, opts?: GenericOptions) {
167
+ const zip = new JSZip();
168
+
169
+ const { default: packageJson } = c.upgradeable ? await import("./environments/hardhat/upgradeable/package.json") : await import("./environments/hardhat/package.json");
170
+ packageJson.license = c.license;
171
+
172
+ const { default: packageLock } = c.upgradeable ? await import("./environments/hardhat/upgradeable/package-lock.json") : await import("./environments/hardhat/package-lock.json");
173
+ packageLock.packages[''].license = c.license;
174
+
175
+ zip.file(`contracts/${c.name}.sol`, printContract(c));
176
+ zip.file('test/test.ts', test(c, opts));
177
+ zip.file('scripts/deploy.ts', script(c));
178
+ zip.file('.gitignore', gitIgnore);
179
+ zip.file('hardhat.config.ts', hardhatConfig(c.upgradeable));
180
+ zip.file('package.json', JSON.stringify(packageJson, null, 2));
181
+ zip.file(`package-lock.json`, JSON.stringify(packageLock, null, 2));
182
+ zip.file('README.md', readme);
183
+ zip.file('tsconfig.json', tsConfig);
184
+
185
+ return zip;
186
+ }
package/src/zip.ts CHANGED
@@ -29,7 +29,7 @@ export function zipContract(c: Contract): JSZip {
29
29
  const fileName = c.name + '.sol';
30
30
 
31
31
  const dependencies = {
32
- [fileName]: c.parents.map(p => transformImport(p.contract.path)),
32
+ [fileName]: c.imports.map(i => transformImport(i)),
33
33
  ...contracts.dependencies,
34
34
  };
35
35
 
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=contract.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract.test.d.ts","sourceRoot":"","sources":["../src/contract.test.ts"],"names":[],"mappings":""}
@@ -1,147 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const ava_1 = __importDefault(require("ava"));
7
- const contract_1 = require("./contract");
8
- const print_1 = require("./print");
9
- const set_info_1 = require("./set-info");
10
- (0, ava_1.default)('contract basics', t => {
11
- const Foo = new contract_1.ContractBuilder('Foo');
12
- t.snapshot((0, print_1.printContract)(Foo));
13
- });
14
- (0, ava_1.default)('contract with a parent', t => {
15
- const Foo = new contract_1.ContractBuilder('Foo');
16
- const Bar = { name: 'Bar', path: './Bar.sol' };
17
- Foo.addParent(Bar);
18
- t.snapshot((0, print_1.printContract)(Foo));
19
- });
20
- (0, ava_1.default)('contract with two parents', t => {
21
- const Foo = new contract_1.ContractBuilder('Foo');
22
- const Bar = { name: 'Bar', path: './Bar.sol' };
23
- const Quux = { name: 'Quux', path: './Quux.sol' };
24
- Foo.addParent(Bar);
25
- Foo.addParent(Quux);
26
- t.snapshot((0, print_1.printContract)(Foo));
27
- });
28
- (0, ava_1.default)('contract with a parent with parameters', t => {
29
- const Foo = new contract_1.ContractBuilder('Foo');
30
- const Bar = { name: 'Bar', path: './Bar.sol' };
31
- Foo.addParent(Bar, ["param1", "param2"]);
32
- t.snapshot((0, print_1.printContract)(Foo));
33
- });
34
- (0, ava_1.default)('contract with two parents only one with parameters', t => {
35
- const Foo = new contract_1.ContractBuilder('Foo');
36
- const Bar = { name: 'Bar', path: './Bar.sol' };
37
- const Quux = { name: 'Quux', path: './Quux.sol' };
38
- Foo.addParent(Bar, ["param1", "param2"]);
39
- Foo.addParent(Quux);
40
- t.snapshot((0, print_1.printContract)(Foo));
41
- });
42
- (0, ava_1.default)('contract with one override', t => {
43
- const Foo = new contract_1.ContractBuilder('Foo');
44
- const _beforeTokenTransfer = {
45
- name: '_beforeTokenTransfer',
46
- kind: 'internal',
47
- args: [
48
- { name: 'from', type: 'address' },
49
- { name: 'to', type: 'address' },
50
- { name: 'amount', type: 'uint256' },
51
- ],
52
- };
53
- Foo.addOverride('ERC20', _beforeTokenTransfer);
54
- t.snapshot((0, print_1.printContract)(Foo));
55
- });
56
- (0, ava_1.default)('contract with two overrides', t => {
57
- const Foo = new contract_1.ContractBuilder('Foo');
58
- Foo.addOverride('ERC20', _beforeTokenTransfer);
59
- Foo.addOverride('ERC20Snapshot', _beforeTokenTransfer);
60
- t.snapshot((0, print_1.printContract)(Foo));
61
- });
62
- (0, ava_1.default)('contract with two different overrides', t => {
63
- const Foo = new contract_1.ContractBuilder('Foo');
64
- Foo.addOverride('ERC20', _beforeTokenTransfer);
65
- Foo.addOverride('OtherParent', _beforeTokenTransfer);
66
- Foo.addOverride('ERC20', _otherFunction);
67
- Foo.addOverride('OtherParent', _otherFunction);
68
- t.snapshot((0, print_1.printContract)(Foo));
69
- });
70
- (0, ava_1.default)('contract with a modifier', t => {
71
- const Foo = new contract_1.ContractBuilder('Foo');
72
- Foo.addModifier('whenNotPaused', _otherFunction);
73
- t.snapshot((0, print_1.printContract)(Foo));
74
- });
75
- (0, ava_1.default)('contract with a modifier and override', t => {
76
- const Foo = new contract_1.ContractBuilder('Foo');
77
- Foo.addModifier('whenNotPaused', _otherFunction);
78
- Foo.addOverride('ERC20', _otherFunction);
79
- Foo.addOverride('OtherParent', _otherFunction);
80
- t.snapshot((0, print_1.printContract)(Foo));
81
- });
82
- (0, ava_1.default)('contract with constructor code', t => {
83
- const Foo = new contract_1.ContractBuilder('Foo');
84
- Foo.addConstructorCode('_mint(msg.sender, 10 ether);');
85
- t.snapshot((0, print_1.printContract)(Foo));
86
- });
87
- (0, ava_1.default)('contract with constructor code and a parent', t => {
88
- const Foo = new contract_1.ContractBuilder('Foo');
89
- const Bar = { name: 'Bar', path: './Bar.sol' };
90
- Foo.addParent(Bar, ["param1", "param2"]);
91
- Foo.addConstructorCode('_mint(msg.sender, 10 ether);');
92
- t.snapshot((0, print_1.printContract)(Foo));
93
- });
94
- (0, ava_1.default)('contract with function code', t => {
95
- const Foo = new contract_1.ContractBuilder('Foo');
96
- Foo.addFunctionCode('_mint(msg.sender, 10 ether);', _otherFunction);
97
- t.snapshot((0, print_1.printContract)(Foo));
98
- });
99
- (0, ava_1.default)('contract with overriden function with code', t => {
100
- const Foo = new contract_1.ContractBuilder('Foo');
101
- Foo.addOverride('Bar', _otherFunction);
102
- Foo.addFunctionCode('_mint(msg.sender, 10 ether);', _otherFunction);
103
- t.snapshot((0, print_1.printContract)(Foo));
104
- });
105
- (0, ava_1.default)('contract with one variable', t => {
106
- const Foo = new contract_1.ContractBuilder('Foo');
107
- Foo.addVariable('uint value = 42;');
108
- t.snapshot((0, print_1.printContract)(Foo));
109
- });
110
- (0, ava_1.default)('contract with two variables', t => {
111
- const Foo = new contract_1.ContractBuilder('Foo');
112
- Foo.addVariable('uint value = 42;');
113
- Foo.addVariable('string name = "john";');
114
- t.snapshot((0, print_1.printContract)(Foo));
115
- });
116
- (0, ava_1.default)('name with special characters', t => {
117
- const Foo = new contract_1.ContractBuilder('foo bar baz');
118
- t.snapshot((0, print_1.printContract)(Foo));
119
- });
120
- (0, ava_1.default)('using for statement', t => {
121
- const Foo = new contract_1.ContractBuilder('Foo');
122
- Foo.addUsing({
123
- name: 'Counters',
124
- path: './Counters.sol',
125
- }, 'Counters.Counter');
126
- t.snapshot((0, print_1.printContract)(Foo));
127
- });
128
- (0, ava_1.default)('contract with info', t => {
129
- const Foo = new contract_1.ContractBuilder('Foo');
130
- Foo.addNatspecTag(set_info_1.TAG_SECURITY_CONTACT, 'security@example.com');
131
- t.snapshot((0, print_1.printContract)(Foo));
132
- });
133
- const _beforeTokenTransfer = {
134
- name: '_beforeTokenTransfer',
135
- kind: 'internal',
136
- args: [
137
- { name: 'from', type: 'address' },
138
- { name: 'to', type: 'address' },
139
- { name: 'amount', type: 'uint256' },
140
- ],
141
- };
142
- const _otherFunction = {
143
- name: '_otherFunction',
144
- kind: 'internal',
145
- args: [],
146
- };
147
- //# sourceMappingURL=contract.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract.test.js","sourceRoot":"","sources":["../src/contract.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAAuB;AAEvB,yCAA6C;AAC7C,mCAAwC;AACxC,yCAAkD;AAElD,IAAA,aAAI,EAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE;IAC1B,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE;IACjC,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE;IACpC,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAClD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,wCAAwC,EAAE,CAAC,CAAC,EAAE;IACjD,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,oDAAoD,EAAE,CAAC,CAAC,EAAE;IAC7D,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAClD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,4BAA4B,EAAE,CAAC,CAAC,EAAE;IACrC,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,oBAAoB,GAAG;QAC3B,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,UAAmB;QACzB,IAAI,EAAE;YACJ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SACpC;KACF,CAAC;IACF,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAC/C,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,6BAA6B,EAAE,CAAC,CAAC,EAAE;IACtC,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAC/C,GAAG,CAAC,WAAW,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;IACvD,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,uCAAuC,EAAE,CAAC,CAAC,EAAE;IAChD,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAC/C,GAAG,CAAC,WAAW,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;IACrD,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACzC,GAAG,CAAC,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAC/C,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE;IACnC,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,GAAG,CAAC,WAAW,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IACjD,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,uCAAuC,EAAE,CAAC,CAAC,EAAE;IAChD,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,GAAG,CAAC,WAAW,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IACjD,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACzC,GAAG,CAAC,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAC/C,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,gCAAgC,EAAE,CAAC,CAAC,EAAE;IACzC,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,GAAG,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,CAAC;IACvD,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,6CAA6C,EAAE,CAAC,CAAC,EAAE;IACtD,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzC,GAAG,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,CAAC;IACvD,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,6BAA6B,EAAE,CAAC,CAAC,EAAE;IACtC,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,GAAG,CAAC,eAAe,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;IACpE,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,4CAA4C,EAAE,CAAC,CAAC,EAAE;IACrD,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACvC,GAAG,CAAC,eAAe,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;IACpE,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,4BAA4B,EAAE,CAAC,CAAC,EAAE;IACrC,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACpC,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,6BAA6B,EAAE,CAAC,CAAC,EAAE;IACtC,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACpC,GAAG,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IACzC,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,8BAA8B,EAAE,CAAC,CAAC,EAAE;IACvC,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE;IAC9B,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,GAAG,CAAC,QAAQ,CAAC;QACX,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gBAAgB;KACvB,EAAE,kBAAkB,CAAC,CAAC;IACvB,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE;IAC7B,MAAM,GAAG,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;IACvC,GAAG,CAAC,aAAa,CAAC,+BAAoB,EAAE,sBAAsB,CAAC,CAAC;IAChE,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAGH,MAAM,oBAAoB,GAAG;IAC3B,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,UAAmB;IACzB,IAAI,EAAE;QACJ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;QACjC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;QAC/B,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;KACpC;CACF,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,UAAmB;IACzB,IAAI,EAAE,EAAE;CACT,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=erc1155.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"erc1155.test.d.ts","sourceRoot":"","sources":["../src/erc1155.test.ts"],"names":[],"mappings":""}
@@ -1,80 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const ava_1 = __importDefault(require("ava"));
7
- const _1 = require(".");
8
- const erc1155_1 = require("./erc1155");
9
- const print_1 = require("./print");
10
- function testERC1155(title, opts) {
11
- (0, ava_1.default)(title, t => {
12
- const c = (0, erc1155_1.buildERC1155)({
13
- name: 'MyToken',
14
- uri: 'https://gateway.pinata.cloud/ipfs/QmcP9hxrnC1T5ATPmq2saFeAM1ypFX9BnAswCdHB9JCjLA/',
15
- ...opts,
16
- });
17
- t.snapshot((0, print_1.printContract)(c));
18
- });
19
- }
20
- /**
21
- * Tests external API for equivalence with internal API
22
- */
23
- function testAPIEquivalence(title, opts) {
24
- (0, ava_1.default)(title, t => {
25
- t.is(_1.erc1155.print(opts), (0, print_1.printContract)((0, erc1155_1.buildERC1155)({
26
- name: 'MyToken',
27
- uri: '',
28
- ...opts,
29
- })));
30
- });
31
- }
32
- testERC1155('basic', {});
33
- testERC1155('basic + roles', {
34
- access: 'roles',
35
- });
36
- testERC1155('burnable', {
37
- burnable: true,
38
- });
39
- testERC1155('pausable', {
40
- pausable: true,
41
- });
42
- testERC1155('mintable', {
43
- mintable: true,
44
- });
45
- testERC1155('mintable + roles', {
46
- mintable: true,
47
- access: 'roles',
48
- });
49
- testERC1155('supply tracking', {
50
- supply: true,
51
- });
52
- testERC1155('full upgradeable transparent', {
53
- mintable: true,
54
- access: 'roles',
55
- burnable: true,
56
- pausable: true,
57
- upgradeable: 'transparent',
58
- });
59
- testERC1155('full upgradeable uups', {
60
- mintable: true,
61
- access: 'roles',
62
- burnable: true,
63
- pausable: true,
64
- upgradeable: 'uups',
65
- });
66
- testAPIEquivalence('API default');
67
- testAPIEquivalence('API basic', { name: 'CustomToken', uri: 'https://gateway.pinata.cloud/ipfs/QmcP9hxrnC1T5ATPmq2saFeAM1ypFX9BnAswCdHB9JCjLA/' });
68
- testAPIEquivalence('API full upgradeable', {
69
- name: 'CustomToken',
70
- uri: 'https://gateway.pinata.cloud/ipfs/QmcP9hxrnC1T5ATPmq2saFeAM1ypFX9BnAswCdHB9JCjLA/',
71
- mintable: true,
72
- access: 'roles',
73
- burnable: true,
74
- pausable: true,
75
- upgradeable: 'uups',
76
- });
77
- (0, ava_1.default)('API assert defaults', async (t) => {
78
- t.is(_1.erc1155.print(_1.erc1155.defaults), _1.erc1155.print());
79
- });
80
- //# sourceMappingURL=erc1155.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"erc1155.test.js","sourceRoot":"","sources":["../src/erc1155.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAAuB;AACvB,wBAA4B;AAE5B,uCAAyD;AACzD,mCAAwC;AAExC,SAAS,WAAW,CAAC,KAAa,EAAE,IAA6B;IAC/D,IAAA,aAAI,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE;QACd,MAAM,CAAC,GAAG,IAAA,sBAAY,EAAC;YACrB,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,mFAAmF;YACxF,GAAG,IAAI;SACR,CAAC,CAAC;QACH,CAAC,CAAC,QAAQ,CAAC,IAAA,qBAAa,EAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACF,SAAS,kBAAkB,CAAC,KAAa,EAAE,IAAqB;IAC/D,IAAA,aAAI,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE;QACd,CAAC,CAAC,EAAE,CAAC,UAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAA,qBAAa,EAAC,IAAA,sBAAY,EAAC;YACnD,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,EAAE;YACP,GAAG,IAAI;SACR,CAAC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC;AAED,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAEzB,WAAW,CAAC,eAAe,EAAE;IAC3B,MAAM,EAAE,OAAO;CAChB,CAAC,CAAC;AAEH,WAAW,CAAC,UAAU,EAAE;IACtB,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AAEH,WAAW,CAAC,UAAU,EAAE;IACtB,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AAEH,WAAW,CAAC,UAAU,EAAE;IACtB,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AAEH,WAAW,CAAC,kBAAkB,EAAE;IAC9B,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,OAAO;CAChB,CAAC,CAAC;AAEH,WAAW,CAAC,iBAAiB,EAAE;IAC7B,MAAM,EAAE,IAAI;CACb,CAAC,CAAC;AAEH,WAAW,CAAC,8BAA8B,EAAE;IAC1C,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,aAAa;CAC3B,CAAC,CAAC;AAEH,WAAW,CAAC,uBAAuB,EAAE;IACnC,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,MAAM;CACpB,CAAC,CAAC;AAEH,kBAAkB,CAAC,aAAa,CAAC,CAAC;AAElC,kBAAkB,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,mFAAmF,EAAE,CAAC,CAAC;AAEnJ,kBAAkB,CAAC,sBAAsB,EAAE;IACzC,IAAI,EAAE,aAAa;IACnB,GAAG,EAAE,mFAAmF;IACxF,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,MAAM;CACpB,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,qBAAqB,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACpC,CAAC,CAAC,EAAE,CAAC,UAAO,CAAC,KAAK,CAAC,UAAO,CAAC,QAAQ,CAAC,EAAE,UAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=erc20.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"erc20.test.d.ts","sourceRoot":"","sources":["../src/erc20.test.ts"],"names":[],"mappings":""}
@@ -1,126 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const ava_1 = __importDefault(require("ava"));
7
- const _1 = require(".");
8
- const erc20_1 = require("./erc20");
9
- const print_1 = require("./print");
10
- function testERC20(title, opts) {
11
- (0, ava_1.default)(title, t => {
12
- const c = (0, erc20_1.buildERC20)({
13
- name: 'MyToken',
14
- symbol: 'MTK',
15
- ...opts,
16
- });
17
- t.snapshot((0, print_1.printContract)(c));
18
- });
19
- }
20
- /**
21
- * Tests external API for equivalence with internal API
22
- */
23
- function testAPIEquivalence(title, opts) {
24
- (0, ava_1.default)(title, t => {
25
- t.is(_1.erc20.print(opts), (0, print_1.printContract)((0, erc20_1.buildERC20)({
26
- name: 'MyToken',
27
- symbol: 'MTK',
28
- ...opts,
29
- })));
30
- });
31
- }
32
- testERC20('basic erc20', {});
33
- testERC20('erc20 with snapshots', {
34
- snapshots: true,
35
- });
36
- testERC20('erc20 burnable', {
37
- burnable: true,
38
- });
39
- testERC20('erc20 burnable with snapshots', {
40
- burnable: true,
41
- snapshots: true,
42
- });
43
- testERC20('erc20 pausable', {
44
- pausable: true,
45
- access: 'ownable',
46
- });
47
- testERC20('erc20 pausable with roles', {
48
- pausable: true,
49
- access: 'roles',
50
- });
51
- testERC20('erc20 burnable pausable', {
52
- burnable: true,
53
- pausable: true,
54
- });
55
- testERC20('erc20 burnable pausable with snapshots', {
56
- burnable: true,
57
- pausable: true,
58
- snapshots: true,
59
- });
60
- testERC20('erc20 preminted', {
61
- premint: '1000',
62
- });
63
- testERC20('erc20 premint of 0', {
64
- premint: '0',
65
- });
66
- testERC20('erc20 mintable', {
67
- mintable: true,
68
- access: 'ownable',
69
- });
70
- testERC20('erc20 mintable with roles', {
71
- mintable: true,
72
- access: 'roles',
73
- });
74
- testERC20('erc20 permit', {
75
- permit: true,
76
- });
77
- testERC20('erc20 votes', {
78
- votes: true,
79
- });
80
- testERC20('erc20 flashmint', {
81
- flashmint: true,
82
- });
83
- testERC20('erc20 full upgradeable transparent', {
84
- premint: '2000',
85
- access: 'roles',
86
- burnable: true,
87
- mintable: true,
88
- pausable: true,
89
- snapshots: true,
90
- permit: true,
91
- votes: true,
92
- flashmint: true,
93
- upgradeable: 'transparent',
94
- });
95
- testERC20('erc20 full upgradeable uups', {
96
- premint: '2000',
97
- access: 'roles',
98
- burnable: true,
99
- mintable: true,
100
- pausable: true,
101
- snapshots: true,
102
- permit: true,
103
- votes: true,
104
- flashmint: true,
105
- upgradeable: 'uups',
106
- });
107
- testAPIEquivalence('erc20 API default');
108
- testAPIEquivalence('erc20 API basic', { name: 'CustomToken', symbol: 'CTK' });
109
- testAPIEquivalence('erc20 API full upgradeable', {
110
- name: 'CustomToken',
111
- symbol: 'CTK',
112
- premint: '2000',
113
- access: 'roles',
114
- burnable: true,
115
- mintable: true,
116
- pausable: true,
117
- snapshots: true,
118
- permit: true,
119
- votes: true,
120
- flashmint: true,
121
- upgradeable: 'uups',
122
- });
123
- (0, ava_1.default)('erc20 API assert defaults', async (t) => {
124
- t.is(_1.erc20.print(_1.erc20.defaults), _1.erc20.print());
125
- });
126
- //# sourceMappingURL=erc20.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"erc20.test.js","sourceRoot":"","sources":["../src/erc20.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=erc721.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"erc721.test.d.ts","sourceRoot":"","sources":["../src/erc721.test.ts"],"names":[],"mappings":""}