@openzeppelin/wizard 0.4.0 → 0.4.1

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.
@@ -1726,16 +1726,39 @@
1726
1726
  "node-fetch": "^2.6.0"
1727
1727
  }
1728
1728
  },
1729
+ "node_modules/@openzeppelin/defender-sdk-base-client": {
1730
+ "version": "1.2.0",
1731
+ "resolved": "https://registry.npmjs.org/@openzeppelin/defender-sdk-base-client/-/defender-sdk-base-client-1.2.0.tgz",
1732
+ "integrity": "sha512-v/nzOABW4RH4wqVPG8gUICV48eZeO0kf6ZvNsd1aUP4i7NyCPv80gErjtW08SFzR/sTqsDN6PS3D+les8mGXvg==",
1733
+ "dev": true,
1734
+ "dependencies": {
1735
+ "amazon-cognito-identity-js": "^6.0.1",
1736
+ "async-retry": "^1.3.3"
1737
+ }
1738
+ },
1739
+ "node_modules/@openzeppelin/defender-sdk-deploy-client": {
1740
+ "version": "1.2.0",
1741
+ "resolved": "https://registry.npmjs.org/@openzeppelin/defender-sdk-deploy-client/-/defender-sdk-deploy-client-1.2.0.tgz",
1742
+ "integrity": "sha512-kUBRKMSQiTZ8urP236L68k5X8Eg1ys2FDYMeuJ22GhXFAC2M1l6OaXNFolFBSzmS5t/x8BkJU6+RCyoCqO2qxg==",
1743
+ "dev": true,
1744
+ "dependencies": {
1745
+ "@ethersproject/abi": "^5.6.3",
1746
+ "@openzeppelin/defender-sdk-base-client": "^1.2.0",
1747
+ "axios": "^1.4.0",
1748
+ "lodash": "^4.17.21"
1749
+ }
1750
+ },
1729
1751
  "node_modules/@openzeppelin/hardhat-upgrades": {
1730
- "version": "2.3.1",
1731
- "resolved": "https://registry.npmjs.org/@openzeppelin/hardhat-upgrades/-/hardhat-upgrades-2.3.1.tgz",
1732
- "integrity": "sha512-4QkhWIzvW/JaDp3ZupWnoJsUhkh0aXNSndsbqPPgsgEWDu7TME1XrXSb/3cNDCoyt/7KpcEl1XOwhyOYgp0bxg==",
1752
+ "version": "2.3.3",
1753
+ "resolved": "https://registry.npmjs.org/@openzeppelin/hardhat-upgrades/-/hardhat-upgrades-2.3.3.tgz",
1754
+ "integrity": "sha512-rF87xYSz6Q2WFq5zcUF1T1tx3Kiq83hmke0xOBn5Qgrl++osseiDwS5oXfDK3NSWvj06oYGLERRGHcXnpQ31FQ==",
1733
1755
  "dev": true,
1734
1756
  "dependencies": {
1735
1757
  "@openzeppelin/defender-admin-client": "^1.48.0",
1736
1758
  "@openzeppelin/defender-base-client": "^1.48.0",
1737
- "@openzeppelin/platform-deploy-client": "^0.10.0",
1738
- "@openzeppelin/upgrades-core": "^1.30.0",
1759
+ "@openzeppelin/defender-sdk-base-client": "^1.2.0",
1760
+ "@openzeppelin/defender-sdk-deploy-client": "^1.2.0",
1761
+ "@openzeppelin/upgrades-core": "^1.30.1",
1739
1762
  "chalk": "^4.1.0",
1740
1763
  "debug": "^4.1.1",
1741
1764
  "ethereumjs-util": "^7.1.5",
@@ -1827,24 +1850,10 @@
1827
1850
  "node": ">=8"
1828
1851
  }
1829
1852
  },
1830
- "node_modules/@openzeppelin/platform-deploy-client": {
1831
- "version": "0.10.0",
1832
- "resolved": "https://registry.npmjs.org/@openzeppelin/platform-deploy-client/-/platform-deploy-client-0.10.0.tgz",
1833
- "integrity": "sha512-jayQPeXqw4LnWIrNhNqgikJSre+n2NRrnEu76niSdVXc/faQkG3PmaHtRPJMFgsYxjjAiAfcMYyV95YBDuLexA==",
1834
- "deprecated": "@openzeppelin/platform-deploy-client is deprecated. Please use @openzeppelin/defender-sdk-deploy-client",
1835
- "dev": true,
1836
- "dependencies": {
1837
- "@ethersproject/abi": "^5.6.3",
1838
- "@openzeppelin/defender-base-client": "^1.48.0-rc.1",
1839
- "axios": "^1.4.0",
1840
- "lodash": "^4.17.19",
1841
- "node-fetch": "^2.6.0"
1842
- }
1843
- },
1844
1853
  "node_modules/@openzeppelin/upgrades-core": {
1845
- "version": "1.30.0",
1846
- "resolved": "https://registry.npmjs.org/@openzeppelin/upgrades-core/-/upgrades-core-1.30.0.tgz",
1847
- "integrity": "sha512-guW3EaTp/cet/O1uAmEcupHhtEGMzzYGsru2LMllFL5INWmRfeCHSVQu4TjkCLpoYHJoOIGSvosjoCyJL4oEaQ==",
1854
+ "version": "1.30.1",
1855
+ "resolved": "https://registry.npmjs.org/@openzeppelin/upgrades-core/-/upgrades-core-1.30.1.tgz",
1856
+ "integrity": "sha512-mFUsZibpiWJv1DR2K89cjbFIseTc2CUV4D2kvPPK5xYke6m7+M87qcr/Xk24mMrdCmG7RWNxQohhVnzESI6Eeg==",
1848
1857
  "dev": true,
1849
1858
  "dependencies": {
1850
1859
  "cbor": "^9.0.0",
@@ -1,5 +1,5 @@
1
1
  import type { ContractBuilder, BaseFunction } from './contract';
2
- export declare const accessOptions: readonly [false, "ownable", "roles"];
2
+ export declare const accessOptions: readonly [false, "ownable", "roles", "managed"];
3
3
  export type Access = typeof accessOptions[number];
4
4
  /**
5
5
  * Sets access control for the contract by adding inheritance.
@@ -1 +1 @@
1
- {"version":3,"file":"set-access-control.d.ts","sourceRoot":"","sources":["../src/set-access-control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGhE,eAAO,MAAM,aAAa,sCAAuC,CAAC;AAElE,MAAM,MAAM,MAAM,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAElD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,QAuBlE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,QAuB7I"}
1
+ {"version":3,"file":"set-access-control.d.ts","sourceRoot":"","sources":["../src/set-access-control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGhE,eAAO,MAAM,aAAa,iDAAkD,CAAC;AAE7E,MAAM,MAAM,MAAM,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAElD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,QAgClE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,QA2B7I"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.requireAccessControl = exports.setAccessControl = exports.accessOptions = void 0;
4
4
  const common_functions_1 = require("./common-functions");
5
- exports.accessOptions = [false, 'ownable', 'roles'];
5
+ exports.accessOptions = [false, 'ownable', 'roles', 'managed'];
6
6
  /**
7
7
  * Sets access control for the contract by adding inheritance.
8
8
  */
@@ -28,6 +28,15 @@ function setAccessControl(c, access) {
28
28
  c.addOverride(parents.AccessControl, common_functions_1.supportsInterface);
29
29
  break;
30
30
  }
31
+ case 'managed': {
32
+ if (c.addParent(parents.AccessManaged, [{ lit: 'initialAuthority' }])) {
33
+ c.addConstructorArgument({
34
+ type: 'address',
35
+ name: 'initialAuthority'
36
+ });
37
+ }
38
+ break;
39
+ }
31
40
  }
32
41
  }
33
42
  exports.setAccessControl = setAccessControl;
@@ -54,6 +63,10 @@ function requireAccessControl(c, fn, access, roleIdPrefix, roleOwner) {
54
63
  c.addModifier(`onlyRole(${roleId})`, fn);
55
64
  break;
56
65
  }
66
+ case 'managed': {
67
+ c.addModifier('restricted', fn);
68
+ break;
69
+ }
57
70
  }
58
71
  }
59
72
  exports.requireAccessControl = requireAccessControl;
@@ -66,5 +79,9 @@ const parents = {
66
79
  name: 'AccessControl',
67
80
  path: '@openzeppelin/contracts/access/AccessControl.sol',
68
81
  },
82
+ AccessManaged: {
83
+ name: 'AccessManaged',
84
+ path: '@openzeppelin/contracts/access/manager/AccessManaged.sol',
85
+ },
69
86
  };
70
87
  //# sourceMappingURL=set-access-control.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-access-control.js","sourceRoot":"","sources":["../src/set-access-control.ts"],"names":[],"mappings":";;;AACA,yDAAuD;AAE1C,QAAA,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC;AAIlE;;GAEG;AACH,SAAgB,gBAAgB,CAAC,CAAkB,EAAE,MAAc;IACjE,QAAQ,MAAM,EAAE;QACd,KAAK,SAAS,CAAC,CAAC;YACd,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAE,EAAC,GAAG,EAAE,cAAc,EAAC,CAAE,CAAC,EAAE;gBAC3D,CAAC,CAAC,sBAAsB,CAAC;oBACvB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,cAAc;iBACrB,CAAC,CAAC;aACJ;YACD,MAAM;SACP;QACD,KAAK,OAAO,CAAC,CAAC;YACZ,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;gBACtC,CAAC,CAAC,sBAAsB,CAAC;oBACvB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,cAAc;iBACrB,CAAC,CAAC;gBACH,CAAC,CAAC,kBAAkB,CAAC,+CAA+C,CAAC,CAAC;aACvE;YACD,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,oCAAiB,CAAC,CAAC;YACxD,MAAM;SACP;KACF;AACH,CAAC;AAvBD,4CAuBC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,CAAkB,EAAE,EAAgB,EAAE,MAAc,EAAE,YAAoB,EAAE,SAA6B;IAC5I,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,MAAM,GAAG,SAAS,CAAC;KACpB;IAED,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAE5B,QAAQ,MAAM,EAAE;QACd,KAAK,SAAS,CAAC,CAAC;YACd,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC/B,MAAM;SACP;QACD,KAAK,OAAO,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC;YACtC,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,2BAA2B,MAAM,iBAAiB,MAAM,KAAK,CAAC,CAAC;YACnG,IAAI,SAAS,IAAI,aAAa,EAAE;gBAC9B,CAAC,CAAC,sBAAsB,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;gBAC7D,CAAC,CAAC,kBAAkB,CAAC,cAAc,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC;aAC9D;YACD,CAAC,CAAC,WAAW,CAAC,YAAY,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;YACzC,MAAM;SACP;KACF;AACH,CAAC;AAvBD,oDAuBC;AAED,MAAM,OAAO,GAAG;IACd,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,4CAA4C;KACnD;IACD,aAAa,EAAE;QACb,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,kDAAkD;KACzD;CACF,CAAC"}
1
+ {"version":3,"file":"set-access-control.js","sourceRoot":"","sources":["../src/set-access-control.ts"],"names":[],"mappings":";;;AACA,yDAAuD;AAE1C,QAAA,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAU,CAAC;AAI7E;;GAEG;AACH,SAAgB,gBAAgB,CAAC,CAAkB,EAAE,MAAc;IACjE,QAAQ,MAAM,EAAE;QACd,KAAK,SAAS,CAAC,CAAC;YACd,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAE,EAAC,GAAG,EAAE,cAAc,EAAC,CAAE,CAAC,EAAE;gBAC3D,CAAC,CAAC,sBAAsB,CAAC;oBACvB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,cAAc;iBACrB,CAAC,CAAC;aACJ;YACD,MAAM;SACP;QACD,KAAK,OAAO,CAAC,CAAC;YACZ,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;gBACtC,CAAC,CAAC,sBAAsB,CAAC;oBACvB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,cAAc;iBACrB,CAAC,CAAC;gBACH,CAAC,CAAC,kBAAkB,CAAC,+CAA+C,CAAC,CAAC;aACvE;YACD,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,oCAAiB,CAAC,CAAC;YACxD,MAAM;SACP;QACD,KAAK,SAAS,CAAC,CAAC;YACd,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,CAAE,EAAC,GAAG,EAAE,kBAAkB,EAAC,CAAE,CAAC,EAAE;gBACrE,CAAC,CAAC,sBAAsB,CAAC;oBACvB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,kBAAkB;iBACzB,CAAC,CAAC;aACJ;YACD,MAAM;SACP;KACF;AACH,CAAC;AAhCD,4CAgCC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,CAAkB,EAAE,EAAgB,EAAE,MAAc,EAAE,YAAoB,EAAE,SAA6B;IAC5I,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,MAAM,GAAG,SAAS,CAAC;KACpB;IAED,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAE5B,QAAQ,MAAM,EAAE;QACd,KAAK,SAAS,CAAC,CAAC;YACd,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC/B,MAAM;SACP;QACD,KAAK,OAAO,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC;YACtC,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,2BAA2B,MAAM,iBAAiB,MAAM,KAAK,CAAC,CAAC;YACnG,IAAI,SAAS,IAAI,aAAa,EAAE;gBAC9B,CAAC,CAAC,sBAAsB,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;gBAC7D,CAAC,CAAC,kBAAkB,CAAC,cAAc,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC;aAC9D;YACD,CAAC,CAAC,WAAW,CAAC,YAAY,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;YACzC,MAAM;SACP;QACD,KAAK,SAAS,CAAC,CAAC;YACd,CAAC,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAChC,MAAM;SACP;KACF;AACH,CAAC;AA3BD,oDA2BC;AAED,MAAM,OAAO,GAAG;IACd,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,4CAA4C;KACnD;IACD,aAAa,EAAE;QACb,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,kDAAkD;KACzD;IACD,aAAa,EAAE;QACb,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,0DAA0D;KACjE;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openzeppelin/wizard",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "A boilerplate generator to get started with OpenZeppelin Contracts",
5
5
  "license": "MIT",
6
6
  "repository": "github:OpenZeppelin/contracts-wizard",
@@ -1726,16 +1726,39 @@
1726
1726
  "node-fetch": "^2.6.0"
1727
1727
  }
1728
1728
  },
1729
+ "node_modules/@openzeppelin/defender-sdk-base-client": {
1730
+ "version": "1.2.0",
1731
+ "resolved": "https://registry.npmjs.org/@openzeppelin/defender-sdk-base-client/-/defender-sdk-base-client-1.2.0.tgz",
1732
+ "integrity": "sha512-v/nzOABW4RH4wqVPG8gUICV48eZeO0kf6ZvNsd1aUP4i7NyCPv80gErjtW08SFzR/sTqsDN6PS3D+les8mGXvg==",
1733
+ "dev": true,
1734
+ "dependencies": {
1735
+ "amazon-cognito-identity-js": "^6.0.1",
1736
+ "async-retry": "^1.3.3"
1737
+ }
1738
+ },
1739
+ "node_modules/@openzeppelin/defender-sdk-deploy-client": {
1740
+ "version": "1.2.0",
1741
+ "resolved": "https://registry.npmjs.org/@openzeppelin/defender-sdk-deploy-client/-/defender-sdk-deploy-client-1.2.0.tgz",
1742
+ "integrity": "sha512-kUBRKMSQiTZ8urP236L68k5X8Eg1ys2FDYMeuJ22GhXFAC2M1l6OaXNFolFBSzmS5t/x8BkJU6+RCyoCqO2qxg==",
1743
+ "dev": true,
1744
+ "dependencies": {
1745
+ "@ethersproject/abi": "^5.6.3",
1746
+ "@openzeppelin/defender-sdk-base-client": "^1.2.0",
1747
+ "axios": "^1.4.0",
1748
+ "lodash": "^4.17.21"
1749
+ }
1750
+ },
1729
1751
  "node_modules/@openzeppelin/hardhat-upgrades": {
1730
- "version": "2.3.1",
1731
- "resolved": "https://registry.npmjs.org/@openzeppelin/hardhat-upgrades/-/hardhat-upgrades-2.3.1.tgz",
1732
- "integrity": "sha512-4QkhWIzvW/JaDp3ZupWnoJsUhkh0aXNSndsbqPPgsgEWDu7TME1XrXSb/3cNDCoyt/7KpcEl1XOwhyOYgp0bxg==",
1752
+ "version": "2.3.3",
1753
+ "resolved": "https://registry.npmjs.org/@openzeppelin/hardhat-upgrades/-/hardhat-upgrades-2.3.3.tgz",
1754
+ "integrity": "sha512-rF87xYSz6Q2WFq5zcUF1T1tx3Kiq83hmke0xOBn5Qgrl++osseiDwS5oXfDK3NSWvj06oYGLERRGHcXnpQ31FQ==",
1733
1755
  "dev": true,
1734
1756
  "dependencies": {
1735
1757
  "@openzeppelin/defender-admin-client": "^1.48.0",
1736
1758
  "@openzeppelin/defender-base-client": "^1.48.0",
1737
- "@openzeppelin/platform-deploy-client": "^0.10.0",
1738
- "@openzeppelin/upgrades-core": "^1.30.0",
1759
+ "@openzeppelin/defender-sdk-base-client": "^1.2.0",
1760
+ "@openzeppelin/defender-sdk-deploy-client": "^1.2.0",
1761
+ "@openzeppelin/upgrades-core": "^1.30.1",
1739
1762
  "chalk": "^4.1.0",
1740
1763
  "debug": "^4.1.1",
1741
1764
  "ethereumjs-util": "^7.1.5",
@@ -1827,24 +1850,10 @@
1827
1850
  "node": ">=8"
1828
1851
  }
1829
1852
  },
1830
- "node_modules/@openzeppelin/platform-deploy-client": {
1831
- "version": "0.10.0",
1832
- "resolved": "https://registry.npmjs.org/@openzeppelin/platform-deploy-client/-/platform-deploy-client-0.10.0.tgz",
1833
- "integrity": "sha512-jayQPeXqw4LnWIrNhNqgikJSre+n2NRrnEu76niSdVXc/faQkG3PmaHtRPJMFgsYxjjAiAfcMYyV95YBDuLexA==",
1834
- "deprecated": "@openzeppelin/platform-deploy-client is deprecated. Please use @openzeppelin/defender-sdk-deploy-client",
1835
- "dev": true,
1836
- "dependencies": {
1837
- "@ethersproject/abi": "^5.6.3",
1838
- "@openzeppelin/defender-base-client": "^1.48.0-rc.1",
1839
- "axios": "^1.4.0",
1840
- "lodash": "^4.17.19",
1841
- "node-fetch": "^2.6.0"
1842
- }
1843
- },
1844
1853
  "node_modules/@openzeppelin/upgrades-core": {
1845
- "version": "1.30.0",
1846
- "resolved": "https://registry.npmjs.org/@openzeppelin/upgrades-core/-/upgrades-core-1.30.0.tgz",
1847
- "integrity": "sha512-guW3EaTp/cet/O1uAmEcupHhtEGMzzYGsru2LMllFL5INWmRfeCHSVQu4TjkCLpoYHJoOIGSvosjoCyJL4oEaQ==",
1854
+ "version": "1.30.1",
1855
+ "resolved": "https://registry.npmjs.org/@openzeppelin/upgrades-core/-/upgrades-core-1.30.1.tgz",
1856
+ "integrity": "sha512-mFUsZibpiWJv1DR2K89cjbFIseTc2CUV4D2kvPPK5xYke6m7+M87qcr/Xk24mMrdCmG7RWNxQohhVnzESI6Eeg==",
1848
1857
  "dev": true,
1849
1858
  "dependencies": {
1850
1859
  "cbor": "^9.0.0",
@@ -1,7 +1,7 @@
1
1
  import type { ContractBuilder, BaseFunction } from './contract';
2
2
  import { supportsInterface } from './common-functions';
3
3
 
4
- export const accessOptions = [false, 'ownable', 'roles'] as const;
4
+ export const accessOptions = [false, 'ownable', 'roles', 'managed'] as const;
5
5
 
6
6
  export type Access = typeof accessOptions[number];
7
7
 
@@ -30,6 +30,15 @@ export function setAccessControl(c: ContractBuilder, access: Access) {
30
30
  c.addOverride(parents.AccessControl, supportsInterface);
31
31
  break;
32
32
  }
33
+ case 'managed': {
34
+ if (c.addParent(parents.AccessManaged, [ {lit: 'initialAuthority'} ])) {
35
+ c.addConstructorArgument({
36
+ type: 'address',
37
+ name: 'initialAuthority'
38
+ });
39
+ }
40
+ break;
41
+ }
33
42
  }
34
43
  }
35
44
 
@@ -58,6 +67,10 @@ export function requireAccessControl(c: ContractBuilder, fn: BaseFunction, acces
58
67
  c.addModifier(`onlyRole(${roleId})`, fn);
59
68
  break;
60
69
  }
70
+ case 'managed': {
71
+ c.addModifier('restricted', fn);
72
+ break;
73
+ }
61
74
  }
62
75
  }
63
76
 
@@ -70,4 +83,8 @@ const parents = {
70
83
  name: 'AccessControl',
71
84
  path: '@openzeppelin/contracts/access/AccessControl.sol',
72
85
  },
86
+ AccessManaged: {
87
+ name: 'AccessManaged',
88
+ path: '@openzeppelin/contracts/access/manager/AccessManaged.sol',
89
+ },
73
90
  };