@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.
- package/README.md +28 -1
- package/dist/add-pausable.d.ts.map +1 -1
- package/dist/add-pausable.js +2 -2
- package/dist/add-pausable.js.map +1 -1
- package/dist/api.d.ts +8 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +15 -5
- package/dist/api.js.map +1 -1
- package/dist/build-generic.d.ts +4 -0
- package/dist/build-generic.d.ts.map +1 -1
- package/dist/build-generic.js +3 -0
- package/dist/build-generic.js.map +1 -1
- package/dist/common-options.js +2 -2
- package/dist/common-options.js.map +1 -1
- package/dist/custom.d.ts +11 -0
- package/dist/custom.d.ts.map +1 -0
- package/dist/custom.js +47 -0
- package/dist/custom.js.map +1 -0
- package/dist/environments/hardhat/package-lock.json +14913 -0
- package/dist/environments/hardhat/package.json +34 -0
- package/dist/environments/hardhat/upgradeable/package-lock.json +15333 -0
- package/dist/environments/hardhat/upgradeable/package.json +35 -0
- package/dist/erc1155.d.ts +2 -0
- package/dist/erc1155.d.ts.map +1 -1
- package/dist/erc1155.js +16 -7
- package/dist/erc1155.js.map +1 -1
- package/dist/erc20.d.ts +1 -0
- package/dist/erc20.d.ts.map +1 -1
- package/dist/erc20.js +8 -3
- package/dist/erc20.js.map +1 -1
- package/dist/erc721.d.ts +1 -0
- package/dist/erc721.d.ts.map +1 -1
- package/dist/erc721.js +9 -2
- package/dist/erc721.js.map +1 -1
- package/dist/generate/custom.d.ts +3 -0
- package/dist/generate/custom.d.ts.map +1 -0
- package/dist/generate/custom.js +20 -0
- package/dist/generate/custom.js.map +1 -0
- package/dist/generate/erc1155.d.ts.map +1 -1
- package/dist/generate/erc1155.js +1 -0
- package/dist/generate/erc1155.js.map +1 -1
- package/dist/generate/sources.d.ts.map +1 -1
- package/dist/generate/sources.js +5 -1
- package/dist/generate/sources.js.map +1 -1
- package/dist/governor.d.ts +1 -0
- package/dist/governor.d.ts.map +1 -1
- package/dist/governor.js +8 -2
- package/dist/governor.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/kind.js +1 -0
- package/dist/kind.js.map +1 -1
- package/dist/print.d.ts.map +1 -1
- package/dist/print.js +21 -14
- package/dist/print.js.map +1 -1
- package/dist/set-access-control.d.ts +9 -2
- package/dist/set-access-control.d.ts.map +1 -1
- package/dist/set-access-control.js +27 -6
- package/dist/set-access-control.js.map +1 -1
- package/dist/set-upgradeable.d.ts.map +1 -1
- package/dist/set-upgradeable.js +1 -1
- package/dist/set-upgradeable.js.map +1 -1
- package/dist/solidity-version.json +1 -0
- package/dist/test.js +30 -1
- package/dist/test.js.map +1 -1
- package/dist/utils/format-lines.d.ts +1 -0
- package/dist/utils/format-lines.d.ts.map +1 -1
- package/dist/utils/format-lines.js +9 -5
- package/dist/utils/format-lines.js.map +1 -1
- package/dist/zip-hardhat.d.ts +5 -0
- package/dist/zip-hardhat.d.ts.map +1 -0
- package/dist/zip-hardhat.js +187 -0
- package/dist/zip-hardhat.js.map +1 -0
- package/dist/zip.js +1 -1
- package/dist/zip.js.map +1 -1
- package/package.json +8 -6
- package/src/add-pausable.ts +3 -3
- package/src/api.ts +25 -8
- package/src/build-generic.ts +5 -0
- package/src/common-options.ts +2 -2
- package/src/custom.ts +55 -0
- package/src/environments/hardhat/package-lock.json +14913 -0
- package/src/environments/hardhat/package.json +34 -0
- package/src/environments/hardhat/upgradeable/package-lock.json +15333 -0
- package/src/environments/hardhat/upgradeable/package.json +35 -0
- package/src/erc1155.ts +17 -7
- package/src/erc20.ts +8 -4
- package/src/erc721.ts +9 -3
- package/src/generate/custom.ts +19 -0
- package/src/generate/erc1155.ts +1 -0
- package/src/generate/sources.ts +6 -1
- package/src/governor.ts +7 -2
- package/src/index.ts +1 -1
- package/src/kind.ts +1 -0
- package/src/print.ts +18 -14
- package/src/set-access-control.ts +27 -4
- package/src/set-upgradeable.ts +2 -2
- package/src/solidity-version.json +1 -0
- package/src/test.ts +34 -2
- package/src/utils/format-lines.ts +8 -3
- package/src/zip-hardhat.ts +186 -0
- package/src/zip.ts +1 -1
- package/dist/contract.test.d.ts +0 -2
- package/dist/contract.test.d.ts.map +0 -1
- package/dist/contract.test.js +0 -147
- package/dist/contract.test.js.map +0 -1
- package/dist/erc1155.test.d.ts +0 -2
- package/dist/erc1155.test.d.ts.map +0 -1
- package/dist/erc1155.test.js +0 -80
- package/dist/erc1155.test.js.map +0 -1
- package/dist/erc20.test.d.ts +0 -2
- package/dist/erc20.test.d.ts.map +0 -1
- package/dist/erc20.test.js +0 -126
- package/dist/erc20.test.js.map +0 -1
- package/dist/erc721.test.d.ts +0 -2
- package/dist/erc721.test.d.ts.map +0 -1
- package/dist/erc721.test.js +0 -106
- package/dist/erc721.test.js.map +0 -1
- package/dist/general.d.ts +0 -8
- package/dist/general.d.ts.map +0 -1
- package/dist/general.js +0 -22
- package/dist/general.js.map +0 -1
- package/dist/general.test.d.ts +0 -2
- package/dist/general.test.d.ts.map +0 -1
- package/dist/general.test.js +0 -42
- package/dist/general.test.js.map +0 -1
- package/dist/governor.test.d.ts +0 -2
- package/dist/governor.test.d.ts.map +0 -1
- package/dist/governor.test.js +0 -104
- package/dist/governor.test.js.map +0 -1
- package/dist/utils/to-identifier.test.d.ts +0 -2
- package/dist/utils/to-identifier.test.d.ts.map +0 -1
- package/dist/utils/to-identifier.test.js +0 -21
- package/dist/utils/to-identifier.test.js.map +0 -1
- package/dist/zip.test.d.ts +0 -2
- package/dist/zip.test.d.ts.map +0 -1
- package/dist/zip.test.js +0 -37
- package/dist/zip.test.js.map +0 -1
- package/src/contract.test.ts +0 -164
- package/src/contract.test.ts.md +0 -272
- package/src/contract.test.ts.snap +0 -0
- package/src/erc1155.test.ts +0 -90
- package/src/erc1155.test.ts.md +0 -416
- package/src/erc1155.test.ts.snap +0 -0
- package/src/erc20.test.ts +0 -144
- package/src/erc20.test.ts.md +0 -571
- package/src/erc20.test.ts.snap +0 -0
- package/src/erc721.test.ts +0 -122
- package/src/erc721.test.ts.md +0 -517
- package/src/erc721.test.ts.snap +0 -0
- package/src/governor.test.ts +0 -120
- package/src/governor.test.ts.md +0 -1419
- package/src/governor.test.ts.snap +0 -0
- package/src/utils/to-identifier.test.ts +0 -20
- package/src/zip.test.ts +0 -35
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# OpenZeppelin Contracts Wizard for Solidity
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@openzeppelin/wizard)
|
|
4
|
+
|
|
3
5
|
Interactively build a contract out of components from OpenZeppelin Contracts. Provide parameters and desired features for the kind of contract that you want, and the Wizard will generate all of the code necessary. The resulting code is ready to be compiled and deployed, or it can serve as a starting point and customized further with application specific logic.
|
|
4
6
|
|
|
5
7
|
This package provides a programmatic API. For a web interface, see https://wizard.openzeppelin.com
|
|
@@ -15,8 +17,9 @@ The following contract types are supported:
|
|
|
15
17
|
- `erc721`
|
|
16
18
|
- `erc1155`
|
|
17
19
|
- `governor`
|
|
20
|
+
- `custom`
|
|
18
21
|
|
|
19
|
-
Each contract type has
|
|
22
|
+
Each contract type has functions/constants as defined below.
|
|
20
23
|
|
|
21
24
|
### Functions
|
|
22
25
|
|
|
@@ -33,6 +36,9 @@ function print(opts?: ERC1155Options): string
|
|
|
33
36
|
```js
|
|
34
37
|
function print(opts?: GovernorOptions): string
|
|
35
38
|
```
|
|
39
|
+
```js
|
|
40
|
+
function print(opts?: CustomOptions): string
|
|
41
|
+
```
|
|
36
42
|
Returns a string representation of a contract generated using the provided options. If `opts` is not provided, uses [`defaults`](#defaults).
|
|
37
43
|
|
|
38
44
|
#### `defaults`
|
|
@@ -48,8 +54,29 @@ const defaults: Required<ERC1155Options>
|
|
|
48
54
|
```js
|
|
49
55
|
const defaults: Required<GovernorOptions>
|
|
50
56
|
```
|
|
57
|
+
```js
|
|
58
|
+
const defaults: Required<CustomOptions>
|
|
59
|
+
```
|
|
51
60
|
The default options that are used for [`print`](#print).
|
|
52
61
|
|
|
62
|
+
#### `isAccessControlRequired`
|
|
63
|
+
```js
|
|
64
|
+
function isAccessControlRequired(opts: Partial<ERC20Options>): boolean
|
|
65
|
+
```
|
|
66
|
+
```js
|
|
67
|
+
function isAccessControlRequired(opts: Partial<ERC721Options>): boolean
|
|
68
|
+
```
|
|
69
|
+
```js
|
|
70
|
+
function isAccessControlRequired(opts: Partial<ERC1155Options>): boolean
|
|
71
|
+
```
|
|
72
|
+
```js
|
|
73
|
+
function isAccessControlRequired(opts: Partial<GovernorOptions>): boolean
|
|
74
|
+
```
|
|
75
|
+
```js
|
|
76
|
+
function isAccessControlRequired(opts: Partial<CustomOptions>): boolean
|
|
77
|
+
```
|
|
78
|
+
Whether any of the provided options require access control to be enabled. If this returns `true`, then calling `print` with the same options would cause the `access` option to default to `'ownable'` if it was `undefined` or `false`.
|
|
79
|
+
|
|
53
80
|
### Examples
|
|
54
81
|
|
|
55
82
|
Import the contract type(s) that you want to use from the `@openzeppelin/wizard` package:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-pausable.d.ts","sourceRoot":"","sources":["../src/add-pausable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"add-pausable.d.ts","sourceRoot":"","sources":["../src/add-pausable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,MAAM,EAAwB,MAAM,sBAAsB,CAAC;AAGpE,wBAAgB,WAAW,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,QAe1F"}
|
package/dist/add-pausable.js
CHANGED
|
@@ -11,9 +11,9 @@ function addPausable(c, access, pausableFns) {
|
|
|
11
11
|
for (const fn of pausableFns) {
|
|
12
12
|
c.addModifier('whenNotPaused', fn);
|
|
13
13
|
}
|
|
14
|
-
(0, set_access_control_1.
|
|
14
|
+
(0, set_access_control_1.requireAccessControl)(c, functions.pause, access, 'PAUSER');
|
|
15
15
|
c.addFunctionCode('_pause();', functions.pause);
|
|
16
|
-
(0, set_access_control_1.
|
|
16
|
+
(0, set_access_control_1.requireAccessControl)(c, functions.unpause, access, 'PAUSER');
|
|
17
17
|
c.addFunctionCode('_unpause();', functions.unpause);
|
|
18
18
|
}
|
|
19
19
|
exports.addPausable = addPausable;
|
package/dist/add-pausable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-pausable.js","sourceRoot":"","sources":["../src/add-pausable.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"add-pausable.js","sourceRoot":"","sources":["../src/add-pausable.ts"],"names":[],"mappings":";;;AACA,6DAAoE;AACpE,+DAA2D;AAE3D,SAAgB,WAAW,CAAC,CAAkB,EAAE,MAAc,EAAE,WAA2B;IACzF,CAAC,CAAC,SAAS,CAAC;QACV,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,+CAA+C;KACtD,CAAC,CAAC;IAEH,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE;QAC5B,CAAC,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;KACpC;IAED,IAAA,yCAAoB,EAAC,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAEhD,IAAA,yCAAoB,EAAC,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC,CAAC,eAAe,CAAC,aAAa,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;AACtD,CAAC;AAfD,kCAeC;AAED,MAAM,SAAS,GAAG,IAAA,kCAAe,EAAC;IAChC,KAAK,EAAE;QACL,IAAI,EAAE,QAAiB;QACvB,IAAI,EAAE,EAAE;KACT;IAED,OAAO,EAAE;QACP,IAAI,EAAE,QAAiB;QACvB,IAAI,EAAE,EAAE;KACT;CACF,CAAC,CAAC"}
|
package/dist/api.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { ERC20Options } from './erc20';
|
|
|
3
3
|
import { ERC721Options } from './erc721';
|
|
4
4
|
import { ERC1155Options } from './erc1155';
|
|
5
5
|
import { GovernorOptions } from './governor';
|
|
6
|
+
import { CustomOptions } from './custom';
|
|
6
7
|
export interface WizardContractAPI<Options extends CommonOptions> {
|
|
7
8
|
/**
|
|
8
9
|
* Returns a string representation of a contract generated using the provided options. If opts is not provided, uses `defaults`.
|
|
@@ -12,13 +13,20 @@ export interface WizardContractAPI<Options extends CommonOptions> {
|
|
|
12
13
|
* The default options that are used for `print`.
|
|
13
14
|
*/
|
|
14
15
|
defaults: Required<Options>;
|
|
16
|
+
/**
|
|
17
|
+
* Whether any of the provided options require access control to be enabled. If this returns `true`, then calling `print` with the
|
|
18
|
+
* same options would cause the `access` option to default to `'ownable'` if it was `undefined` or `false`.
|
|
19
|
+
*/
|
|
20
|
+
isAccessControlRequired: (opts: Partial<Options>) => boolean;
|
|
15
21
|
}
|
|
16
22
|
export declare type ERC20 = WizardContractAPI<ERC20Options>;
|
|
17
23
|
export declare type ERC721 = WizardContractAPI<ERC721Options>;
|
|
18
24
|
export declare type ERC1155 = WizardContractAPI<ERC1155Options>;
|
|
19
25
|
export declare type Governor = WizardContractAPI<GovernorOptions>;
|
|
26
|
+
export declare type Custom = WizardContractAPI<CustomOptions>;
|
|
20
27
|
export declare const erc20: ERC20;
|
|
21
28
|
export declare const erc721: ERC721;
|
|
22
29
|
export declare const erc1155: ERC1155;
|
|
23
30
|
export declare const governor: Governor;
|
|
31
|
+
export declare const custom: Custom;
|
|
24
32
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAkG,YAAY,EAAE,MAAM,SAAS,CAAC;AACvI,OAAO,EAAqG,aAAa,EAAE,MAAM,UAAU,CAAC;AAC5I,OAAO,EAAwG,cAAc,EAAE,MAAM,WAAW,CAAC;AACjJ,OAAO,EAA2G,eAAe,EAAE,MAAM,YAAY,CAAC;AACtJ,OAAO,EAAqG,aAAa,EAAE,MAAM,UAAU,CAAC;AAE5I,MAAM,WAAW,iBAAiB,CAAC,OAAO,SAAS,aAAa;IAC9D;;OAEG;IACH,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;IAElC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE5B;;;OAGG;IACH,uBAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;CAC9D;AAED,oBAAY,KAAK,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;AACpD,oBAAY,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AACtD,oBAAY,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;AACxD,oBAAY,QAAQ,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAC1D,oBAAY,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAEtD,eAAO,MAAM,KAAK,EAAE,KAInB,CAAA;AACD,eAAO,MAAM,MAAM,EAAE,MAIpB,CAAA;AACD,eAAO,MAAM,OAAO,EAAE,OAIrB,CAAA;AACD,eAAO,MAAM,QAAQ,EAAE,QAItB,CAAA;AACD,eAAO,MAAM,MAAM,EAAE,MAIpB,CAAA"}
|
package/dist/api.js
CHANGED
|
@@ -1,24 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.governor = exports.erc1155 = exports.erc721 = exports.erc20 = void 0;
|
|
3
|
+
exports.custom = exports.governor = exports.erc1155 = exports.erc721 = exports.erc20 = void 0;
|
|
4
4
|
const erc20_1 = require("./erc20");
|
|
5
5
|
const erc721_1 = require("./erc721");
|
|
6
6
|
const erc1155_1 = require("./erc1155");
|
|
7
7
|
const governor_1 = require("./governor");
|
|
8
|
+
const custom_1 = require("./custom");
|
|
8
9
|
exports.erc20 = {
|
|
9
10
|
print: erc20_1.printERC20,
|
|
10
|
-
defaults: erc20_1.defaults
|
|
11
|
+
defaults: erc20_1.defaults,
|
|
12
|
+
isAccessControlRequired: erc20_1.isAccessControlRequired
|
|
11
13
|
};
|
|
12
14
|
exports.erc721 = {
|
|
13
15
|
print: erc721_1.printERC721,
|
|
14
|
-
defaults: erc721_1.defaults
|
|
16
|
+
defaults: erc721_1.defaults,
|
|
17
|
+
isAccessControlRequired: erc721_1.isAccessControlRequired
|
|
15
18
|
};
|
|
16
19
|
exports.erc1155 = {
|
|
17
20
|
print: erc1155_1.printERC1155,
|
|
18
|
-
defaults: erc1155_1.defaults
|
|
21
|
+
defaults: erc1155_1.defaults,
|
|
22
|
+
isAccessControlRequired: erc1155_1.isAccessControlRequired
|
|
19
23
|
};
|
|
20
24
|
exports.governor = {
|
|
21
25
|
print: governor_1.printGovernor,
|
|
22
|
-
defaults: governor_1.defaults
|
|
26
|
+
defaults: governor_1.defaults,
|
|
27
|
+
isAccessControlRequired: governor_1.isAccessControlRequired
|
|
28
|
+
};
|
|
29
|
+
exports.custom = {
|
|
30
|
+
print: custom_1.printCustom,
|
|
31
|
+
defaults: custom_1.defaults,
|
|
32
|
+
isAccessControlRequired: custom_1.isAccessControlRequired
|
|
23
33
|
};
|
|
24
34
|
//# sourceMappingURL=api.js.map
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";;;AACA,mCAAuI;AACvI,qCAA4I;AAC5I,uCAAiJ;AACjJ,yCAAsJ;AACtJ,qCAA4I;AA0B/H,QAAA,KAAK,GAAU;IAC1B,KAAK,EAAE,kBAAU;IACjB,QAAQ,EAAE,gBAAa;IACvB,uBAAuB,EAAE,+BAA4B;CACtD,CAAA;AACY,QAAA,MAAM,GAAW;IAC5B,KAAK,EAAE,oBAAW;IAClB,QAAQ,EAAE,iBAAc;IACxB,uBAAuB,EAAE,gCAA6B;CACvD,CAAA;AACY,QAAA,OAAO,GAAY;IAC9B,KAAK,EAAE,sBAAY;IACnB,QAAQ,EAAE,kBAAe;IACzB,uBAAuB,EAAE,iCAA8B;CACxD,CAAA;AACY,QAAA,QAAQ,GAAa;IAChC,KAAK,EAAE,wBAAa;IACpB,QAAQ,EAAE,mBAAgB;IAC1B,uBAAuB,EAAE,kCAA+B;CACzD,CAAA;AACY,QAAA,MAAM,GAAW;IAC5B,KAAK,EAAE,oBAAW;IAClB,QAAQ,EAAE,iBAAc;IACxB,uBAAuB,EAAE,gCAA6B;CACvD,CAAA"}
|
package/dist/build-generic.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CustomOptions } from './custom';
|
|
1
2
|
import { ERC20Options } from './erc20';
|
|
2
3
|
import { ERC721Options } from './erc721';
|
|
3
4
|
import { ERC1155Options } from './erc1155';
|
|
@@ -15,6 +16,9 @@ export interface KindedOptions {
|
|
|
15
16
|
Governor: {
|
|
16
17
|
kind: 'Governor';
|
|
17
18
|
} & GovernorOptions;
|
|
19
|
+
Custom: {
|
|
20
|
+
kind: 'Custom';
|
|
21
|
+
} & CustomOptions;
|
|
18
22
|
}
|
|
19
23
|
export declare type GenericOptions = KindedOptions[keyof KindedOptions];
|
|
20
24
|
export declare function buildGeneric(opts: GenericOptions): import("./contract").Contract;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-generic.d.ts","sourceRoot":"","sources":["../src/build-generic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAe,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,cAAc,EAAgB,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,eAAe,EAAiB,MAAM,YAAY,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAK;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GAAM,YAAY,CAAC;IAC9C,MAAM,EAAI;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAK,aAAa,CAAC;IAC/C,OAAO,EAAG;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,GAAI,cAAc,CAAC;IAChD,QAAQ,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"build-generic.d.ts","sourceRoot":"","sources":["../src/build-generic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAe,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,YAAY,EAAc,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAe,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,cAAc,EAAgB,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,eAAe,EAAiB,MAAM,YAAY,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAK;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GAAM,YAAY,CAAC;IAC9C,MAAM,EAAI;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAK,aAAa,CAAC;IAC/C,OAAO,EAAG;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,GAAI,cAAc,CAAC;IAChD,QAAQ,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,GAAG,eAAe,CAAC;IACjD,MAAM,EAAG;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAI,aAAa,CAAC;CAC9C;AAED,oBAAY,cAAc,GAAG,aAAa,CAAC,MAAM,aAAa,CAAC,CAAC;AAEhE,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,iCAqBhD"}
|
package/dist/build-generic.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildGeneric = void 0;
|
|
4
|
+
const custom_1 = require("./custom");
|
|
4
5
|
const erc20_1 = require("./erc20");
|
|
5
6
|
const erc721_1 = require("./erc721");
|
|
6
7
|
const erc1155_1 = require("./erc1155");
|
|
@@ -15,6 +16,8 @@ function buildGeneric(opts) {
|
|
|
15
16
|
return (0, erc1155_1.buildERC1155)(opts);
|
|
16
17
|
case 'Governor':
|
|
17
18
|
return (0, governor_1.buildGovernor)(opts);
|
|
19
|
+
case 'Custom':
|
|
20
|
+
return (0, custom_1.buildCustom)(opts);
|
|
18
21
|
default:
|
|
19
22
|
const _ = opts;
|
|
20
23
|
throw new Error('Unknown ERC');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-generic.js","sourceRoot":"","sources":["../src/build-generic.ts"],"names":[],"mappings":";;;AAAA,mCAAmD;AACnD,qCAAsD;AACtD,uCAAyD;AACzD,yCAA4D;
|
|
1
|
+
{"version":3,"file":"build-generic.js","sourceRoot":"","sources":["../src/build-generic.ts"],"names":[],"mappings":";;;AAAA,qCAAsD;AACtD,mCAAmD;AACnD,qCAAsD;AACtD,uCAAyD;AACzD,yCAA4D;AAY5D,SAAgB,YAAY,CAAC,IAAoB;IAC/C,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,OAAO;YACV,OAAO,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC;QAE1B,KAAK,QAAQ;YACX,OAAO,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAE3B,KAAK,SAAS;YACZ,OAAO,IAAA,sBAAY,EAAC,IAAI,CAAC,CAAC;QAE5B,KAAK,UAAU;YACb,OAAO,IAAA,wBAAa,EAAC,IAAI,CAAC,CAAC;QAE7B,KAAK,QAAQ;YACX,OAAO,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAE3B;YACE,MAAM,CAAC,GAAU,IAAI,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;KAClC;AACH,CAAC;AArBD,oCAqBC"}
|
package/dist/common-options.js
CHANGED
|
@@ -3,14 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.withCommonDefaults = exports.defaults = void 0;
|
|
4
4
|
const set_info_1 = require("./set-info");
|
|
5
5
|
exports.defaults = {
|
|
6
|
-
access:
|
|
6
|
+
access: false,
|
|
7
7
|
upgradeable: false,
|
|
8
8
|
info: set_info_1.defaults,
|
|
9
9
|
};
|
|
10
10
|
function withCommonDefaults(opts) {
|
|
11
11
|
var _a, _b, _c;
|
|
12
12
|
return {
|
|
13
|
-
access: (_a = opts.access) !== null && _a !== void 0 ? _a :
|
|
13
|
+
access: (_a = opts.access) !== null && _a !== void 0 ? _a : false,
|
|
14
14
|
upgradeable: (_b = opts.upgradeable) !== null && _b !== void 0 ? _b : false,
|
|
15
15
|
info: (_c = opts.info) !== null && _c !== void 0 ? _c : {},
|
|
16
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common-options.js","sourceRoot":"","sources":["../src/common-options.ts"],"names":[],"mappings":";;;AAEA,yCAAsD;AAGzC,QAAA,QAAQ,GAA4B;IAC/C,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"common-options.js","sourceRoot":"","sources":["../src/common-options.ts"],"names":[],"mappings":";;;AAEA,yCAAsD;AAGzC,QAAA,QAAQ,GAA4B;IAC/C,MAAM,EAAE,KAAK;IACb,WAAW,EAAE,KAAK;IAClB,IAAI,EAAE,mBAAY;CACV,CAAC;AAQX,SAAgB,kBAAkB,CAAC,IAAmB;;IACpD,OAAO;QACL,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,KAAK;QAC5B,WAAW,EAAE,MAAA,IAAI,CAAC,WAAW,mCAAI,KAAK;QACtC,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE;KACtB,CAAC;AACJ,CAAC;AAND,gDAMC"}
|
package/dist/custom.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Contract } from './contract';
|
|
2
|
+
import { CommonOptions } from './common-options';
|
|
3
|
+
export interface CustomOptions extends CommonOptions {
|
|
4
|
+
name: string;
|
|
5
|
+
pausable?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const defaults: Required<CustomOptions>;
|
|
8
|
+
export declare function printCustom(opts?: CustomOptions): string;
|
|
9
|
+
export declare function isAccessControlRequired(opts: Partial<CustomOptions>): boolean;
|
|
10
|
+
export declare function buildCustom(opts: CustomOptions): Contract;
|
|
11
|
+
//# sourceMappingURL=custom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../src/custom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,aAAa,EAAkD,MAAM,kBAAkB,CAAC;AAOjG,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAMnC,CAAC;AAUX,wBAAgB,WAAW,CAAC,IAAI,GAAE,aAAwB,GAAG,MAAM,CAElE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAE7E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ,CAgBzD"}
|
package/dist/custom.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildCustom = exports.isAccessControlRequired = exports.printCustom = exports.defaults = void 0;
|
|
4
|
+
const contract_1 = require("./contract");
|
|
5
|
+
const common_options_1 = require("./common-options");
|
|
6
|
+
const set_upgradeable_1 = require("./set-upgradeable");
|
|
7
|
+
const set_info_1 = require("./set-info");
|
|
8
|
+
const set_access_control_1 = require("./set-access-control");
|
|
9
|
+
const add_pausable_1 = require("./add-pausable");
|
|
10
|
+
const print_1 = require("./print");
|
|
11
|
+
exports.defaults = {
|
|
12
|
+
name: 'MyContract',
|
|
13
|
+
pausable: false,
|
|
14
|
+
access: common_options_1.defaults.access,
|
|
15
|
+
upgradeable: common_options_1.defaults.upgradeable,
|
|
16
|
+
info: common_options_1.defaults.info,
|
|
17
|
+
};
|
|
18
|
+
function withDefaults(opts) {
|
|
19
|
+
var _a;
|
|
20
|
+
return {
|
|
21
|
+
...opts,
|
|
22
|
+
...(0, common_options_1.withCommonDefaults)(opts),
|
|
23
|
+
pausable: (_a = opts.pausable) !== null && _a !== void 0 ? _a : exports.defaults.pausable,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function printCustom(opts = exports.defaults) {
|
|
27
|
+
return (0, print_1.printContract)(buildCustom(opts));
|
|
28
|
+
}
|
|
29
|
+
exports.printCustom = printCustom;
|
|
30
|
+
function isAccessControlRequired(opts) {
|
|
31
|
+
return opts.pausable || opts.upgradeable === 'uups';
|
|
32
|
+
}
|
|
33
|
+
exports.isAccessControlRequired = isAccessControlRequired;
|
|
34
|
+
function buildCustom(opts) {
|
|
35
|
+
const allOpts = withDefaults(opts);
|
|
36
|
+
const c = new contract_1.ContractBuilder(allOpts.name);
|
|
37
|
+
const { access, upgradeable, info } = allOpts;
|
|
38
|
+
if (allOpts.pausable) {
|
|
39
|
+
(0, add_pausable_1.addPausable)(c, access, []);
|
|
40
|
+
}
|
|
41
|
+
(0, set_access_control_1.setAccessControl)(c, access);
|
|
42
|
+
(0, set_upgradeable_1.setUpgradeable)(c, upgradeable, access);
|
|
43
|
+
(0, set_info_1.setInfo)(c, info);
|
|
44
|
+
return c;
|
|
45
|
+
}
|
|
46
|
+
exports.buildCustom = buildCustom;
|
|
47
|
+
//# sourceMappingURL=custom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom.js","sourceRoot":"","sources":["../src/custom.ts"],"names":[],"mappings":";;;AAAA,yCAAuD;AACvD,qDAAiG;AACjG,uDAAmD;AACnD,yCAAqC;AACrC,6DAAwD;AACxD,iDAA6C;AAC7C,mCAAwC;AAO3B,QAAA,QAAQ,GAA4B;IAC/C,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,KAAK;IACf,MAAM,EAAE,yBAAc,CAAC,MAAM;IAC7B,WAAW,EAAE,yBAAc,CAAC,WAAW;IACvC,IAAI,EAAE,yBAAc,CAAC,IAAI;CACjB,CAAC;AAEX,SAAS,YAAY,CAAC,IAAmB;;IACvC,OAAO;QACL,GAAG,IAAI;QACP,GAAG,IAAA,mCAAkB,EAAC,IAAI,CAAC;QAC3B,QAAQ,EAAE,MAAA,IAAI,CAAC,QAAQ,mCAAI,gBAAQ,CAAC,QAAQ;KAC7C,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CAAC,OAAsB,gBAAQ;IACxD,OAAO,IAAA,qBAAa,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC;AAFD,kCAEC;AAED,SAAgB,uBAAuB,CAAC,IAA4B;IAClE,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC;AACtD,CAAC;AAFD,0DAEC;AAED,SAAgB,WAAW,CAAC,IAAmB;IAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEnC,MAAM,CAAC,GAAG,IAAI,0BAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAE9C,IAAI,OAAO,CAAC,QAAQ,EAAE;QACpB,IAAA,0BAAW,EAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;KAC5B;IAED,IAAA,qCAAgB,EAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5B,IAAA,gCAAc,EAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACvC,IAAA,kBAAO,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAEjB,OAAO,CAAC,CAAC;AACX,CAAC;AAhBD,kCAgBC"}
|