@openzeppelin/wizard 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/add-pausable.d.ts +1 -0
  2. package/dist/add-pausable.d.ts.map +1 -1
  3. package/dist/add-pausable.js +9 -5
  4. package/dist/add-pausable.js.map +1 -1
  5. package/dist/contract.d.ts +13 -9
  6. package/dist/contract.d.ts.map +1 -1
  7. package/dist/contract.js +5 -5
  8. package/dist/contract.js.map +1 -1
  9. package/dist/environments/hardhat/package-lock.json +1488 -7247
  10. package/dist/environments/hardhat/package.json +4 -22
  11. package/dist/environments/hardhat/upgradeable/package-lock.json +1668 -7725
  12. package/dist/environments/hardhat/upgradeable/package.json +5 -22
  13. package/dist/erc1155.js +24 -15
  14. package/dist/erc1155.js.map +1 -1
  15. package/dist/erc20.d.ts +0 -1
  16. package/dist/erc20.d.ts.map +1 -1
  17. package/dist/erc20.js +45 -62
  18. package/dist/erc20.js.map +1 -1
  19. package/dist/erc721.js +54 -53
  20. package/dist/erc721.js.map +1 -1
  21. package/dist/generate/erc20.d.ts.map +1 -1
  22. package/dist/generate/erc20.js +0 -1
  23. package/dist/generate/erc20.js.map +1 -1
  24. package/dist/generate/governor.js +1 -1
  25. package/dist/generate/governor.js.map +1 -1
  26. package/dist/governor.d.ts +2 -2
  27. package/dist/governor.d.ts.map +1 -1
  28. package/dist/governor.js +104 -98
  29. package/dist/governor.js.map +1 -1
  30. package/dist/infer-transpiled.d.ts +3 -0
  31. package/dist/infer-transpiled.d.ts.map +1 -0
  32. package/dist/infer-transpiled.js +9 -0
  33. package/dist/infer-transpiled.js.map +1 -0
  34. package/dist/options.d.ts +3 -4
  35. package/dist/options.d.ts.map +1 -1
  36. package/dist/options.js +14 -11
  37. package/dist/options.js.map +1 -1
  38. package/dist/print-versioned.d.ts.map +1 -1
  39. package/dist/print-versioned.js +6 -1
  40. package/dist/print-versioned.js.map +1 -1
  41. package/dist/print.d.ts.map +1 -1
  42. package/dist/print.js +17 -9
  43. package/dist/print.js.map +1 -1
  44. package/dist/scripts/prepare.js +0 -1
  45. package/dist/scripts/prepare.js.map +1 -1
  46. package/dist/set-access-control.d.ts +1 -1
  47. package/dist/set-access-control.d.ts.map +1 -1
  48. package/dist/set-access-control.js +18 -7
  49. package/dist/set-access-control.js.map +1 -1
  50. package/dist/set-upgradeable.d.ts.map +1 -1
  51. package/dist/set-upgradeable.js +5 -4
  52. package/dist/set-upgradeable.js.map +1 -1
  53. package/dist/solidity-version.json +1 -1
  54. package/dist/zip-foundry.d.ts +5 -0
  55. package/dist/zip-foundry.d.ts.map +1 -0
  56. package/dist/zip-foundry.js +224 -0
  57. package/dist/zip-foundry.js.map +1 -0
  58. package/dist/zip-hardhat.d.ts.map +1 -1
  59. package/dist/zip-hardhat.js +36 -11
  60. package/dist/zip-hardhat.js.map +1 -1
  61. package/package.json +3 -4
  62. package/src/add-pausable.ts +7 -3
  63. package/src/contract.ts +17 -15
  64. package/src/environments/hardhat/package-lock.json +1488 -7247
  65. package/src/environments/hardhat/package.json +4 -22
  66. package/src/environments/hardhat/upgradeable/package-lock.json +1668 -7725
  67. package/src/environments/hardhat/upgradeable/package.json +5 -22
  68. package/src/erc1155.ts +30 -23
  69. package/src/erc20.ts +46 -67
  70. package/src/erc721.ts +64 -66
  71. package/src/generate/erc20.ts +0 -1
  72. package/src/generate/governor.ts +1 -1
  73. package/src/governor.ts +110 -109
  74. package/src/infer-transpiled.ts +5 -0
  75. package/src/options.ts +18 -16
  76. package/src/print-versioned.ts +6 -2
  77. package/src/print.ts +17 -13
  78. package/src/scripts/prepare.ts +0 -2
  79. package/src/set-access-control.ts +18 -7
  80. package/src/set-upgradeable.ts +5 -4
  81. package/src/solidity-version.json +1 -1
  82. package/src/zip-foundry.ts +259 -0
  83. package/src/zip-hardhat.ts +39 -11
  84. package/CHANGELOG.md +0 -30
  85. package/dist/zip.d.ts +0 -4
  86. package/dist/zip.d.ts.map +0 -1
  87. package/dist/zip.js +0 -48
  88. package/dist/zip.js.map +0 -1
  89. package/src/.DS_Store +0 -0
  90. package/src/environments/.DS_Store +0 -0
  91. package/src/environments/hardhat/.DS_Store +0 -0
  92. package/src/zip.ts +0 -53
@@ -1 +1 @@
1
- {"version":3,"file":"governor.d.ts","sourceRoot":"","sources":["../src/governor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAkD,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAmB,QAAQ,EAAE,MAAM,YAAY,CAAC;AASvD,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAmBrC,CAAC;AAEX,eAAO,MAAM,YAAY,gDAAiD,CAAC;AAC3E,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAEvD,eAAO,MAAM,eAAe,8CAA+C,CAAC;AAC5E,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAE7D,wBAAgB,aAAa,CAAC,IAAI,GAAE,eAA0B,GAAG,MAAM,CAEtE;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAE/E;AAmBD,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,QAAQ,CAoB7D;AAuJD,eAAO,MAAM,aAAa,QAAwC,CAAC"}
1
+ {"version":3,"file":"governor.d.ts","sourceRoot":"","sources":["../src/governor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAkD,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAmB,QAAQ,EAAE,MAAM,YAAY,CAAC;AASvD,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAmBrC,CAAC;AAEX,eAAO,MAAM,YAAY,wCAAyC,CAAC;AACnE,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAEvD,eAAO,MAAM,eAAe,8CAA+C,CAAC;AAC5E,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAE7D,wBAAgB,aAAa,CAAC,IAAI,GAAE,eAA0B,GAAG,MAAM,CAEtE;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAE/E;AAmBD,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,QAAQ,CAoB7D;AAyID,eAAO,MAAM,aAAa,QAAwC,CAAC"}
package/dist/governor.js CHANGED
@@ -13,7 +13,7 @@ const define_functions_1 = require("./utils/define-functions");
13
13
  const duration_1 = require("./utils/duration");
14
14
  exports.defaults = {
15
15
  name: 'MyGovernor',
16
- delay: '1 block',
16
+ delay: '1 day',
17
17
  period: '1 week',
18
18
  votes: 'erc20votes',
19
19
  timelock: 'openzeppelin',
@@ -23,13 +23,13 @@ exports.defaults = {
23
23
  quorumMode: 'percent',
24
24
  quorumPercent: 4,
25
25
  quorumAbsolute: '',
26
- bravo: false,
26
+ storage: false,
27
27
  settings: true,
28
28
  access: common_options_1.defaults.access,
29
29
  upgradeable: common_options_1.defaults.upgradeable,
30
30
  info: common_options_1.defaults.info
31
31
  };
32
- exports.votesOptions = ['erc20votes', 'erc721votes', 'comp'];
32
+ exports.votesOptions = ['erc20votes', 'erc721votes'];
33
33
  exports.timelockOptions = [false, 'openzeppelin', 'compound'];
34
34
  function printGovernor(opts = exports.defaults) {
35
35
  return (0, print_1.printContract)(buildGovernor(opts));
@@ -50,7 +50,7 @@ function withDefaults(opts) {
50
50
  quorumAbsolute: (_c = opts.quorumAbsolute) !== null && _c !== void 0 ? _c : exports.defaults.quorumAbsolute,
51
51
  proposalThreshold: opts.proposalThreshold || exports.defaults.proposalThreshold,
52
52
  settings: (_d = opts.settings) !== null && _d !== void 0 ? _d : exports.defaults.settings,
53
- bravo: (_e = opts.bravo) !== null && _e !== void 0 ? _e : exports.defaults.bravo,
53
+ storage: (_e = opts.storage) !== null && _e !== void 0 ? _e : exports.defaults.storage,
54
54
  quorumMode: (_f = opts.quorumMode) !== null && _f !== void 0 ? _f : exports.defaults.quorumMode,
55
55
  votes: (_g = opts.votes) !== null && _g !== void 0 ? _g : exports.defaults.votes,
56
56
  timelock: (_h = opts.timelock) !== null && _h !== void 0 ? _h : exports.defaults.timelock
@@ -62,9 +62,9 @@ function buildGovernor(opts) {
62
62
  validateDecimals(allOpts.decimals);
63
63
  addBase(c, allOpts);
64
64
  addSettings(c, allOpts);
65
- addCounting(c, allOpts);
66
- addBravo(c, allOpts);
67
- addVotes(c, allOpts);
65
+ addCounting(c);
66
+ addStorage(c, allOpts);
67
+ addVotes(c);
68
68
  addQuorum(c, allOpts);
69
69
  addTimelock(c, allOpts);
70
70
  (0, set_access_control_1.setAccessControl)(c, allOpts.access);
@@ -74,35 +74,39 @@ function buildGovernor(opts) {
74
74
  }
75
75
  exports.buildGovernor = buildGovernor;
76
76
  function addBase(c, { name }) {
77
- c.addParent({
77
+ const Governor = {
78
78
  name: 'Governor',
79
79
  path: '@openzeppelin/contracts/governance/Governor.sol',
80
- }, [name]);
81
- c.addOverride('IGovernor', functions.votingDelay);
82
- c.addOverride('IGovernor', functions.votingPeriod);
83
- c.addOverride('IGovernor', functions.quorum);
84
- c.addOverride('Governor', functions.state);
85
- c.addOverride('Governor', functions.propose);
86
- c.addOverride('Governor', functions.proposalThreshold);
87
- c.addOverride('Governor', functions._execute);
88
- c.addOverride('Governor', functions._cancel);
89
- c.addOverride('Governor', functions._executor);
90
- c.addOverride('Governor', common_functions_1.supportsInterface);
91
- c.addOverride('Governor', functions.cancel);
80
+ };
81
+ c.addParent(Governor, [name]);
82
+ c.addOverride(Governor, functions.votingDelay);
83
+ c.addOverride(Governor, functions.votingPeriod);
84
+ c.addOverride(Governor, functions.quorum);
85
+ c.addOverride(Governor, functions.state);
86
+ c.addOverride(Governor, functions.propose);
87
+ c.addOverride(Governor, functions.proposalNeedsQueuing);
88
+ c.addOverride(Governor, functions.proposalThreshold);
89
+ c.addOverride(Governor, functions._propose);
90
+ c.addOverride(Governor, functions._queueOperations);
91
+ c.addOverride(Governor, functions._executeOperations);
92
+ c.addOverride(Governor, functions._cancel);
93
+ c.addOverride(Governor, functions._executor);
94
+ c.addOverride(Governor, common_functions_1.supportsInterface);
92
95
  }
93
96
  function addSettings(c, allOpts) {
94
97
  if (allOpts.settings) {
95
- c.addParent({
98
+ const GovernorSettings = {
96
99
  name: 'GovernorSettings',
97
100
  path: '@openzeppelin/contracts/governance/extensions/GovernorSettings.sol',
98
- }, [
101
+ };
102
+ c.addParent(GovernorSettings, [
99
103
  { value: getVotingDelay(allOpts), note: allOpts.delay },
100
104
  { value: getVotingPeriod(allOpts), note: allOpts.period },
101
105
  { lit: getProposalThreshold(allOpts) },
102
106
  ]);
103
- c.addOverride('GovernorSettings', functions.votingDelay, 'view');
104
- c.addOverride('GovernorSettings', functions.votingPeriod, 'view');
105
- c.addOverride('GovernorSettings', functions.proposalThreshold, 'view');
107
+ c.addOverride(GovernorSettings, functions.votingDelay, 'view');
108
+ c.addOverride(GovernorSettings, functions.votingPeriod, 'view');
109
+ c.addOverride(GovernorSettings, functions.proposalThreshold, 'view');
106
110
  }
107
111
  else {
108
112
  setVotingParameters(c, allOpts);
@@ -172,65 +176,47 @@ function setProposalThreshold(c, opts) {
172
176
  c.setFunctionBody([`return ${threshold};`], functions.proposalThreshold);
173
177
  }
174
178
  }
175
- function addCounting(c, { bravo }) {
176
- if (!bravo) {
177
- c.addParent({
178
- name: 'GovernorCountingSimple',
179
- path: '@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol',
180
- });
181
- }
179
+ function addCounting(c) {
180
+ c.addParent({
181
+ name: 'GovernorCountingSimple',
182
+ path: '@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol',
183
+ });
182
184
  }
183
- const votesModules = {
184
- erc20votes: {
185
- tokenType: 'IVotes',
186
- parentName: 'GovernorVotes',
187
- },
188
- erc721votes: {
189
- tokenType: 'IVotes',
190
- parentName: 'GovernorVotes',
191
- },
192
- comp: {
193
- tokenType: 'ERC20VotesComp',
194
- parentName: 'GovernorVotesComp',
195
- },
196
- };
197
- function addVotes(c, { votes }) {
185
+ function addVotes(c) {
198
186
  const tokenArg = '_token';
199
- const { tokenType, parentName } = votesModules[votes];
200
187
  c.addConstructorArgument({
201
- type: tokenType,
188
+ type: {
189
+ name: 'IVotes',
190
+ transpiled: false,
191
+ },
202
192
  name: tokenArg,
203
193
  });
204
194
  c.addParent({
205
- name: parentName,
206
- path: `@openzeppelin/contracts/governance/extensions/${parentName}.sol`,
195
+ name: 'GovernorVotes',
196
+ path: `@openzeppelin/contracts/governance/extensions/GovernorVotes.sol`,
207
197
  }, [{ lit: tokenArg }]);
208
198
  }
209
199
  exports.numberPattern = /^(?!$)(\d*)(?:\.(\d+))?(?:e(\d+))?$/;
210
200
  function addQuorum(c, opts) {
211
201
  if (opts.quorumMode === 'percent') {
212
- if (opts.votes !== 'erc20votes' && opts.votes !== 'erc721votes') {
213
- throw new error_1.OptionsError({
214
- quorumPercent: 'Percent-based quorum is only available for ERC20Votes or ERC721Votes',
215
- });
216
- }
217
202
  if (opts.quorumPercent > 100) {
218
203
  throw new error_1.OptionsError({
219
204
  quorumPercent: 'Invalid percentage',
220
205
  });
221
206
  }
222
207
  let { quorumFractionNumerator, quorumFractionDenominator } = getQuorumFractionComponents(opts.quorumPercent);
208
+ const GovernorVotesQuorumFraction = {
209
+ name: 'GovernorVotesQuorumFraction',
210
+ path: '@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol',
211
+ };
223
212
  if (quorumFractionDenominator !== undefined) {
224
- c.addOverride('GovernorVotesQuorumFraction', functions.quorumDenominator);
213
+ c.addOverride(GovernorVotesQuorumFraction, functions.quorumDenominator);
225
214
  c.setFunctionBody([
226
215
  `return ${quorumFractionDenominator};`
227
216
  ], functions.quorumDenominator, 'pure');
228
217
  }
229
- c.addParent({
230
- name: 'GovernorVotesQuorumFraction',
231
- path: '@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol',
232
- }, [quorumFractionNumerator]);
233
- c.addOverride('GovernorVotesQuorumFraction', functions.quorum);
218
+ c.addParent(GovernorVotesQuorumFraction, [quorumFractionNumerator]);
219
+ c.addOverride(GovernorVotesQuorumFraction, functions.quorum);
234
220
  }
235
221
  else if (opts.quorumMode === 'absolute') {
236
222
  if (!exports.numberPattern.test(opts.quorumAbsolute)) {
@@ -248,12 +234,23 @@ function addQuorum(c, opts) {
248
234
  }
249
235
  const timelockModules = {
250
236
  openzeppelin: {
251
- timelockType: 'TimelockController',
252
- parentName: 'GovernorTimelockControl',
237
+ timelockType: {
238
+ name: 'TimelockController',
239
+ },
240
+ timelockParent: {
241
+ name: 'GovernorTimelockControl',
242
+ path: `@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol`,
243
+ }
253
244
  },
254
245
  compound: {
255
- timelockType: 'ICompoundTimelock',
256
- parentName: 'GovernorTimelockCompound',
246
+ timelockType: {
247
+ name: 'ICompoundTimelock',
248
+ transpiled: false,
249
+ },
250
+ timelockParent: {
251
+ name: 'GovernorTimelockCompound',
252
+ path: `@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol`,
253
+ }
257
254
  },
258
255
  };
259
256
  function getQuorumFractionComponents(quorumPercent) {
@@ -280,38 +277,27 @@ function addTimelock(c, { timelock }) {
280
277
  return;
281
278
  }
282
279
  const timelockArg = '_timelock';
283
- const { timelockType, parentName } = timelockModules[timelock];
280
+ const { timelockType, timelockParent } = timelockModules[timelock];
284
281
  c.addConstructorArgument({
285
282
  type: timelockType,
286
283
  name: timelockArg,
287
284
  });
288
- c.addParent({
289
- name: parentName,
290
- path: `@openzeppelin/contracts/governance/extensions/${parentName}.sol`,
291
- }, [{ lit: timelockArg }]);
292
- c.addOverride('IGovernor', functions.propose);
293
- c.addOverride(parentName, functions._execute);
294
- c.addOverride(parentName, functions._cancel);
295
- c.addOverride(parentName, functions._executor);
296
- c.addOverride(parentName, functions.state);
297
- c.addOverride(parentName, common_functions_1.supportsInterface);
285
+ c.addParent(timelockParent, [{ lit: timelockArg }]);
286
+ c.addOverride(timelockParent, functions._queueOperations);
287
+ c.addOverride(timelockParent, functions._executeOperations);
288
+ c.addOverride(timelockParent, functions._cancel);
289
+ c.addOverride(timelockParent, functions._executor);
290
+ c.addOverride(timelockParent, functions.state);
291
+ c.addOverride(timelockParent, functions.proposalNeedsQueuing);
298
292
  }
299
- function addBravo(c, { bravo, timelock }) {
300
- if (bravo) {
301
- if (timelock === false) {
302
- throw new error_1.OptionsError({
303
- timelock: 'GovernorBravo compatibility requires a timelock',
304
- });
305
- }
306
- c.addParent({
307
- name: 'GovernorCompatibilityBravo',
308
- path: '@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol',
309
- });
310
- c.addOverride('IGovernor', functions.state);
311
- c.addOverride('IGovernor', functions.cancel);
312
- c.addOverride('GovernorCompatibilityBravo', functions.cancel);
313
- c.addOverride('GovernorCompatibilityBravo', functions.propose);
314
- c.addOverride('IERC165', common_functions_1.supportsInterface);
293
+ function addStorage(c, { storage }) {
294
+ if (storage) {
295
+ const GovernorStorage = {
296
+ name: 'GovernorStorage',
297
+ path: '@openzeppelin/contracts/governance/extensions/GovernorStorage.sol',
298
+ };
299
+ c.addParent(GovernorStorage);
300
+ c.addOverride(GovernorStorage, functions._propose);
315
301
  }
316
302
  }
317
303
  const functions = (0, define_functions_1.defineFunctions)({
@@ -333,6 +319,14 @@ const functions = (0, define_functions_1.defineFunctions)({
333
319
  kind: 'public',
334
320
  mutability: 'pure',
335
321
  },
322
+ proposalNeedsQueuing: {
323
+ args: [
324
+ { name: 'proposalId', type: 'uint256' },
325
+ ],
326
+ returns: ['bool'],
327
+ kind: 'public',
328
+ mutability: 'view',
329
+ },
336
330
  quorum: {
337
331
  args: [
338
332
  { name: 'blockNumber', type: 'uint256' },
@@ -357,7 +351,18 @@ const functions = (0, define_functions_1.defineFunctions)({
357
351
  returns: ['uint256'],
358
352
  kind: 'public',
359
353
  },
360
- _execute: {
354
+ _propose: {
355
+ args: [
356
+ { name: 'targets', type: 'address[] memory' },
357
+ { name: 'values', type: 'uint256[] memory' },
358
+ { name: 'calldatas', type: 'bytes[] memory' },
359
+ { name: 'description', type: 'string memory' },
360
+ { name: 'proposer', type: 'address' },
361
+ ],
362
+ returns: ['uint256'],
363
+ kind: 'internal',
364
+ },
365
+ _queueOperations: {
361
366
  args: [
362
367
  { name: 'proposalId', type: 'uint256' },
363
368
  { name: 'targets', type: 'address[] memory' },
@@ -366,18 +371,19 @@ const functions = (0, define_functions_1.defineFunctions)({
366
371
  { name: 'descriptionHash', type: 'bytes32' },
367
372
  ],
368
373
  kind: 'internal',
374
+ returns: ['uint48'],
369
375
  },
370
- _cancel: {
376
+ _executeOperations: {
371
377
  args: [
378
+ { name: 'proposalId', type: 'uint256' },
372
379
  { name: 'targets', type: 'address[] memory' },
373
380
  { name: 'values', type: 'uint256[] memory' },
374
381
  { name: 'calldatas', type: 'bytes[] memory' },
375
382
  { name: 'descriptionHash', type: 'bytes32' },
376
383
  ],
377
- returns: ['uint256'],
378
384
  kind: 'internal',
379
385
  },
380
- cancel: {
386
+ _cancel: {
381
387
  args: [
382
388
  { name: 'targets', type: 'address[] memory' },
383
389
  { name: 'values', type: 'uint256[] memory' },
@@ -385,7 +391,7 @@ const functions = (0, define_functions_1.defineFunctions)({
385
391
  { name: 'descriptionHash', type: 'bytes32' },
386
392
  ],
387
393
  returns: ['uint256'],
388
- kind: 'public',
394
+ kind: 'internal',
389
395
  },
390
396
  state: {
391
397
  args: [
@@ -1 +1 @@
1
- {"version":3,"file":"governor.js","sourceRoot":"","sources":["../src/governor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"governor.js","sourceRoot":"","sources":["../src/governor.ts"],"names":[],"mappings":";;;AAAA,yDAAuD;AACvD,qDAAiG;AACjG,yCAAuD;AACvD,mCAAuC;AACvC,6DAAwD;AACxD,mCAAwC;AACxC,yCAAqC;AACrC,uDAAmD;AACnD,+DAA2D;AAC3D,+CAAoD;AAEvC,QAAA,QAAQ,GAA8B;IACjD,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAEhB,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE,cAAc;IACxB,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,EAAE;IACZ,iBAAiB,EAAE,GAAG;IACtB,UAAU,EAAE,SAAS;IACrB,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,EAAE;IAClB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,IAAI;IAEd,MAAM,EAAE,yBAAc,CAAC,MAAM;IAC7B,WAAW,EAAE,yBAAc,CAAC,WAAW;IACvC,IAAI,EAAE,yBAAc,CAAC,IAAI;CACjB,CAAC;AAEE,QAAA,YAAY,GAAG,CAAC,YAAY,EAAE,aAAa,CAAU,CAAC;AAGtD,QAAA,eAAe,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAU,CAAC;AAG5E,SAAgB,aAAa,CAAC,OAAwB,gBAAQ;IAC5D,OAAO,IAAA,qBAAa,EAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5C,CAAC;AAFD,sCAEC;AAkBD,SAAgB,uBAAuB,CAAC,IAA8B;IACpE,OAAO,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC;AACrC,CAAC;AAFD,0DAEC;AAED,SAAS,YAAY,CAAC,IAAqB;;IACzC,OAAO;QACL,GAAG,IAAI;QACP,GAAG,IAAA,mCAAkB,EAAC,IAAI,CAAC;QAC3B,QAAQ,EAAE,MAAA,IAAI,CAAC,QAAQ,mCAAI,gBAAQ,CAAC,QAAQ;QAC5C,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,gBAAQ,CAAC,SAAS;QAC/C,aAAa,EAAE,MAAA,IAAI,CAAC,aAAa,mCAAI,gBAAQ,CAAC,aAAa;QAC3D,cAAc,EAAE,MAAA,IAAI,CAAC,cAAc,mCAAI,gBAAQ,CAAC,cAAc;QAC9D,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,gBAAQ,CAAC,iBAAiB;QACvE,QAAQ,EAAE,MAAA,IAAI,CAAC,QAAQ,mCAAI,gBAAQ,CAAC,QAAQ;QAC5C,OAAO,EAAE,MAAA,IAAI,CAAC,OAAO,mCAAI,gBAAQ,CAAC,OAAO;QACzC,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,mCAAI,gBAAQ,CAAC,UAAU;QAClD,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,gBAAQ,CAAC,KAAK;QACnC,QAAQ,EAAE,MAAA,IAAI,CAAC,QAAQ,mCAAI,gBAAQ,CAAC,QAAQ;KAC7C,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,IAAqB;IACjD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEnC,MAAM,CAAC,GAAG,IAAI,0BAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACpB,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACxB,WAAW,CAAC,CAAC,CAAC,CAAC;IACf,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACvB,QAAQ,CAAC,CAAC,CAAC,CAAC;IACZ,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACtB,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAExB,IAAA,qCAAgB,EAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,IAAA,gCAAc,EAAC,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,IAAA,kBAAO,EAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB,OAAO,CAAC,CAAC;AACX,CAAC;AApBD,sCAoBC;AAED,SAAS,OAAO,CAAC,CAAkB,EAAE,EAAE,IAAI,EAAmB;IAC5D,MAAM,QAAQ,GAAG;QACf,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iDAAiD;KACxD,CAAC;IACF,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACxD,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACrD,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACpD,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACtD,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,oCAAiB,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,WAAW,CAAC,CAAkB,EAAE,OAAkC;IACzE,IAAI,OAAO,CAAC,QAAQ,EAAE;QACpB,MAAM,gBAAgB,GAAG;YACvB,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,oEAAoE;SAC3E,CAAC;QACF,CAAC,CAAC,SAAS,CACT,gBAAgB,EAChB;YACE,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE;YACvD,EAAE,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE;YACzD,EAAE,GAAG,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE;SACvC,CACF,CAAC;QACF,CAAC,CAAC,WAAW,CAAC,gBAAgB,EAAE,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/D,CAAC,CAAC,WAAW,CAAC,gBAAgB,EAAE,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC,CAAC,WAAW,CAAC,gBAAgB,EAAE,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;KACtE;SAAM;QACL,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAChC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;KAClC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAA+B;IACrD,IAAI;QACF,OAAO,IAAA,2BAAgB,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KACrD;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,YAAY,KAAK,EAAE;YACtB,MAAM,IAAI,oBAAY,CAAC;gBACrB,KAAK,EAAE,CAAC,CAAC,OAAO;aACjB,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,CAAC,CAAC;SACT;KACF;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAA+B;IACtD,IAAI;QACF,OAAO,IAAA,2BAAgB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KACtD;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,YAAY,KAAK,EAAE;YACtB,MAAM,IAAI,oBAAY,CAAC;gBACrB,MAAM,EAAE,CAAC,CAAC,OAAO;aAClB,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,CAAC,CAAC;SACT;KACF;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE;QACtC,MAAM,IAAI,oBAAY,CAAC;YACrB,QAAQ,EAAE,oBAAoB;SAC/B,CAAC,CAAC;KACJ;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAA6B;IAC7F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;QACpC,MAAM,IAAI,oBAAY,CAAC;YACrB,iBAAiB,EAAE,oBAAoB;SACxC,CAAC,CAAC;KACJ;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,QAAQ,KAAK,CAAC,IAAI,KAAK,KAAK,aAAa,EAAE;QAC/E,OAAO,iBAAiB,CAAC;KAC1B;SAAM;QACL,OAAO,GAAG,iBAAiB,IAAI,QAAQ,EAAE,CAAC;KAC3C;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAkB,EAAE,IAA+B;IAC9E,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,WAAW,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAEtF,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,YAAY,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAkB,EAAE,IAA+B;IAC/E,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAEnD,IAAI,gBAAgB,EAAE;QACpB,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,SAAS,GAAG,CAAC,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;KAC1E;AACH,CAAC;AAED,SAAS,WAAW,CAAC,CAAkB;IACrC,CAAC,CAAC,SAAS,CAAC;QACV,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,0EAA0E;KACjF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,CAAkB;IAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC;IAE1B,CAAC,CAAC,sBAAsB,CAAC;QACvB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,KAAK;SAClB;QACD,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;IAEH,CAAC,CAAC,SAAS,CAAC;QACV,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,iEAAiE;KACxE,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC1B,CAAC;AAEY,QAAA,aAAa,GAAG,qCAAqC,CAAC;AAEnE,SAAS,SAAS,CAAC,CAAkB,EAAE,IAA+B;IACpE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;QACjC,IAAI,IAAI,CAAC,aAAa,GAAG,GAAG,EAAE;YAC5B,MAAM,IAAI,oBAAY,CAAC;gBACrB,aAAa,EAAE,oBAAoB;aACpC,CAAC,CAAC;SACJ;QAED,IAAI,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,GAAG,2BAA2B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE7G,MAAM,2BAA2B,GAAG;YAClC,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,+EAA+E;SACtF,CAAC;QAEF,IAAI,yBAAyB,KAAK,SAAS,EAAE;YAC3C,CAAC,CAAC,WAAW,CAAC,2BAA2B,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;YACxE,CAAC,CAAC,eAAe,CAAC;gBAChB,UAAU,yBAAyB,GAAG;aACvC,EAAE,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;SACzC;QAED,CAAC,CAAC,SAAS,CAAC,2BAA2B,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,WAAW,CAAC,2BAA2B,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;KAC9D;SAEI,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE;QACvC,IAAI,CAAC,qBAAa,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YAC5C,MAAM,IAAI,oBAAY,CAAC;gBACrB,cAAc,EAAE,oBAAoB;aACrC,CAAC,CAAC;SACJ;QAED,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC;YAC3E,UAAU,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;YAClC,UAAU,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC;QAEpD,CAAC,CAAC,eAAe,CAAC;YAChB,eAAe;SAChB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC9B;AACH,CAAC;AAED,MAAM,eAAe,GAAG;IACtB,YAAY,EAAE;QACZ,YAAY,EAAE;YACZ,IAAI,EAAE,oBAAoB;SAC3B;QACD,cAAc,EAAE;YACd,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,2EAA2E;SAClF;KACF;IACD,QAAQ,EAAE;QACR,YAAY,EAAE;YACZ,IAAI,EAAE,mBAAmB;YACzB,UAAU,EAAE,KAAK;SAClB;QACD,cAAc,EAAE;YACd,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,4EAA4E;SACnF;KACF;CACO,CAAC;AAEX,SAAS,2BAA2B,CAAC,aAAqB;IACxD,IAAI,uBAAuB,GAAG,aAAa,CAAC;IAC5C,IAAI,yBAAyB,GAAG,SAAS,CAAC;IAE1C,MAAM,qBAAqB,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClE,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;QACpC,MAAM,IAAI,oBAAY,CAAC;YACrB,aAAa,EAAE,oBAAoB;SACpC,CAAC,CAAC;KACJ;SAAM,IAAI,qBAAqB,CAAC,MAAM,IAAI,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,qBAAqB,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;QAChI,uBAAuB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9F,MAAM,QAAQ,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACjD,yBAAyB,GAAG,KAAK,CAAC;QAClC,OAAO,yBAAyB,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,EAAE;YACtD,yBAAyB,IAAI,GAAG,CAAC;SAClC;KACF;IACD,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,CAAC;AAChE,CAAC;AAED,SAAS,WAAW,CAAC,CAAkB,EAAE,EAAE,QAAQ,EAA6B;IAC9E,IAAI,QAAQ,KAAK,KAAK,EAAE;QACtB,OAAO;KACR;IAED,MAAM,WAAW,GAAG,WAAW,CAAC;IAChC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAEnE,CAAC,CAAC,sBAAsB,CAAC;QACvB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,WAAW;KAClB,CAAC,CAAC;IAEH,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAC5D,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,UAAU,CAAC,CAAkB,EAAE,EAAE,OAAO,EAAmB;IAClE,IAAI,OAAO,EAAE;QACX,MAAM,eAAe,GAAG;YACtB,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,mEAAmE;SAC1E,CAAC;QACF,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAC7B,CAAC,CAAC,WAAW,CAAC,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;KACpD;AACH,CAAC;AAED,MAAM,SAAS,GAAG,IAAA,kCAAe,EAAC;IAChC,WAAW,EAAE;QACX,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,MAAM;KACnB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,MAAM;KACnB;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,MAAM;KACnB;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE;YACJ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;SACxC;QACD,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,MAAM;KACnB;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SACzC;QACD,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,MAAM;KACnB;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,MAAM;KACnB;IACD,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAC7C,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE;YAC7C,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,EAAE;SAC/C;QACD,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,IAAI,EAAE,QAAQ;KACf;IACD,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAC7C,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE;YAC7C,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,EAAE;YAC9C,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SACtC;QACD,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,IAAI,EAAE,UAAU;KACjB;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE;YACJ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YACvC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAC7C,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE;YAC7C,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7C;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,QAAQ,CAAC;KACpB;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE;YACJ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YACvC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAC7C,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE;YAC7C,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7C;QACD,IAAI,EAAE,UAAU;KACjB;IACD,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAC7C,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE;YAC7C,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7C;QACD,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,IAAI,EAAE,UAAU;KACjB;IACD,KAAK,EAAE;QACL,IAAI,EAAE;YACJ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;SACxC;QACD,OAAO,EAAE,CAAC,eAAe,CAAC;QAC1B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,MAAM;KACnB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,MAAM;KACnB;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ReferencedContract } from "./contract";
2
+ export declare function inferTranspiled(c: ReferencedContract): boolean;
3
+ //# sourceMappingURL=infer-transpiled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infer-transpiled.d.ts","sourceRoot":"","sources":["../src/infer-transpiled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAgB,eAAe,CAAC,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAE9D"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inferTranspiled = void 0;
4
+ function inferTranspiled(c) {
5
+ var _a;
6
+ return (_a = c.transpiled) !== null && _a !== void 0 ? _a : !/^I[A-Z]/.test(c.name);
7
+ }
8
+ exports.inferTranspiled = inferTranspiled;
9
+ //# sourceMappingURL=infer-transpiled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infer-transpiled.js","sourceRoot":"","sources":["../src/infer-transpiled.ts"],"names":[],"mappings":";;;AAEA,SAAgB,eAAe,CAAC,CAAqB;;IACnD,OAAO,MAAA,CAAC,CAAC,UAAU,mCAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAFD,0CAEC"}
package/dist/options.d.ts CHANGED
@@ -1,11 +1,10 @@
1
- import type { Contract } from './contract';
1
+ import type { Contract, ReferencedContract, ParentContract } from './contract';
2
2
  export interface Options {
3
- transformImport?: (path: string) => string;
3
+ transformImport?: (parent: ParentContract) => ParentContract;
4
4
  }
5
5
  export interface Helpers extends Required<Options> {
6
6
  upgradeable: boolean;
7
- transformName: (name: string) => string;
8
- transformVariable: (code: string) => string;
7
+ transformName: (name: ReferencedContract) => string;
9
8
  }
10
9
  export declare function withHelpers(contract: Contract, opts?: Options): Helpers;
11
10
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAoB3C,MAAM,WAAW,OAAO;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ,CAAC,OAAO,CAAC;IAChD,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC7C;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,GAAE,OAAY,GAAG,OAAO,CAY3E"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAwB/E,MAAM,WAAW,OAAO;IACtB,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,cAAc,CAAC;CAC9D;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ,CAAC,OAAO,CAAC;IAChD,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,MAAM,CAAC;CACrD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,GAAE,OAAY,GAAG,OAAO,CAW3E"}
package/dist/options.js CHANGED
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.withHelpers = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
+ const infer_transpiled_1 = require("./infer-transpiled");
8
9
  const upgradeableName = (n) => {
9
10
  if (n === 'Initializable') {
10
11
  return n;
@@ -14,26 +15,28 @@ const upgradeableName = (n) => {
14
15
  }
15
16
  };
16
17
  const upgradeableImport = (p) => {
17
- const { dir, ext, name } = path_1.default.parse(p);
18
+ const { dir, ext, name } = path_1.default.parse(p.path);
18
19
  // Use path.posix to get forward slashes
19
- return path_1.default.posix.format({
20
- ext,
21
- dir: dir.replace(/^@openzeppelin\/contracts/, '@openzeppelin/contracts-upgradeable'),
22
- name: upgradeableName(name),
23
- });
20
+ return {
21
+ ...p,
22
+ path: path_1.default.posix.format({
23
+ ext,
24
+ dir: dir.replace(/^@openzeppelin\/contracts/, '@openzeppelin/contracts-upgradeable'),
25
+ name: upgradeableName(name),
26
+ }),
27
+ };
24
28
  };
25
29
  function withHelpers(contract, opts = {}) {
26
- const upgradeable = contract.upgradeable;
27
- const transformName = (n) => upgradeable ? upgradeableName(n) : n;
30
+ const contractUpgradeable = contract.upgradeable;
31
+ const transformName = (n) => contractUpgradeable && (0, infer_transpiled_1.inferTranspiled)(n) ? upgradeableName(n.name) : n.name;
28
32
  return {
29
- upgradeable,
33
+ upgradeable: contractUpgradeable,
30
34
  transformName,
31
35
  transformImport: p1 => {
32
36
  var _a, _b;
33
- const p2 = upgradeable ? upgradeableImport(p1) : p1;
37
+ const p2 = contractUpgradeable && (0, infer_transpiled_1.inferTranspiled)(p1) ? upgradeableImport(p1) : p1;
34
38
  return (_b = (_a = opts.transformImport) === null || _a === void 0 ? void 0 : _a.call(opts, p2)) !== null && _b !== void 0 ? _b : p2;
35
39
  },
36
- transformVariable: v => v.replace(/[A-Z]\w*(?=\.|$)/, transformName),
37
40
  };
38
41
  }
39
42
  exports.withHelpers = withHelpers;
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAIxB,MAAM,eAAe,GAAG,CAAC,CAAS,EAAE,EAAE;IACpC,IAAI,CAAC,KAAK,eAAe,EAAE;QACzB,OAAO,CAAC,CAAC;KACV;SAAM;QACL,OAAO,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC;KAC3D;AACH,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAE,EAAE;IACtC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,wCAAwC;IACxC,OAAO,cAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACvB,GAAG;QACH,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,2BAA2B,EAAE,qCAAqC,CAAC;QACpF,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;KAC5B,CAAC,CAAC;AACL,CAAC,CAAC;AAYF,SAAgB,WAAW,CAAC,QAAkB,EAAE,OAAgB,EAAE;IAChE,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IACzC,MAAM,aAAa,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,OAAO;QACL,WAAW;QACX,aAAa;QACb,eAAe,EAAE,EAAE,CAAC,EAAE;;YACpB,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,OAAO,MAAA,MAAA,IAAI,CAAC,eAAe,qDAAG,EAAE,CAAC,mCAAI,EAAE,CAAC;QAC1C,CAAC;QACD,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC;KACrE,CAAC;AACJ,CAAC;AAZD,kCAYC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAGxB,yDAAqD;AAErD,MAAM,eAAe,GAAG,CAAC,CAAS,EAAE,EAAE;IACpC,IAAI,CAAC,KAAK,eAAe,EAAE;QACzB,OAAO,CAAC,CAAC;KACV;SAAM;QACL,OAAO,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC;KAC3D;AACH,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,CAAiB,EAAkB,EAAE;IAC9D,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9C,wCAAwC;IACxC,OAAO;QACL,GAAG,CAAC;QACJ,IAAI,EAAE,cAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACtB,GAAG;YACH,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,2BAA2B,EAAE,qCAAqC,CAAC;YACpF,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;SAC5B,CAAC;KACH,CAAA;AACH,CAAC,CAAC;AAWF,SAAgB,WAAW,CAAC,QAAkB,EAAE,OAAgB,EAAE;IAChE,MAAM,mBAAmB,GAAG,QAAQ,CAAC,WAAW,CAAC;IACjD,MAAM,aAAa,GAAG,CAAC,CAAqB,EAAE,EAAE,CAAC,mBAAmB,IAAI,IAAA,kCAAe,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9H,OAAO;QACL,WAAW,EAAE,mBAAmB;QAChC,aAAa;QACb,eAAe,EAAE,EAAE,CAAC,EAAE;;YACpB,MAAM,EAAE,GAAG,mBAAmB,IAAI,IAAA,kCAAe,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,OAAO,MAAA,MAAA,IAAI,CAAC,eAAe,qDAAG,EAAE,CAAC,mCAAI,EAAE,CAAC;QAC1C,CAAC;KACF,CAAC;AACJ,CAAC;AAXD,kCAWC"}
@@ -1 +1 @@
1
- {"version":3,"file":"print-versioned.d.ts","sourceRoot":"","sources":["../src/print-versioned.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAKjE"}
1
+ {"version":3,"file":"print-versioned.d.ts","sourceRoot":"","sources":["../src/print-versioned.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CASjE"}
@@ -8,7 +8,12 @@ const openzeppelin_contracts_1 = __importDefault(require("../openzeppelin-contra
8
8
  const print_1 = require("./print");
9
9
  function printContractVersioned(contract) {
10
10
  return (0, print_1.printContract)(contract, {
11
- transformImport: p => p.replace(/^@openzeppelin\/contracts(-upgradeable)?/, `$&@${openzeppelin_contracts_1.default.version}`),
11
+ transformImport: p => {
12
+ return {
13
+ ...p,
14
+ path: p.path.replace(/^@openzeppelin\/contracts(-upgradeable)?/, `$&@${openzeppelin_contracts_1.default.version}`),
15
+ };
16
+ }
12
17
  });
13
18
  }
14
19
  exports.printContractVersioned = printContractVersioned;
@@ -1 +1 @@
1
- {"version":3,"file":"print-versioned.js","sourceRoot":"","sources":["../src/print-versioned.ts"],"names":[],"mappings":";;;;;;AAAA,uFAAkD;AAElD,mCAAwC;AAExC,SAAgB,sBAAsB,CAAC,QAAkB;IACvD,OAAO,IAAA,qBAAa,EAAC,QAAQ,EAAE;QAC7B,eAAe,EAAE,CAAC,CAAC,EAAE,CACnB,CAAC,CAAC,OAAO,CAAC,0CAA0C,EAAE,MAAM,gCAAS,CAAC,OAAO,EAAE,CAAC;KACnF,CAAC,CAAC;AACL,CAAC;AALD,wDAKC"}
1
+ {"version":3,"file":"print-versioned.js","sourceRoot":"","sources":["../src/print-versioned.ts"],"names":[],"mappings":";;;;;;AAAA,uFAAkD;AAElD,mCAAwC;AAExC,SAAgB,sBAAsB,CAAC,QAAkB;IACvD,OAAO,IAAA,qBAAa,EAAC,QAAQ,EAAE;QAC7B,eAAe,EAAE,CAAC,CAAC,EAAE;YACnB,OAAO;gBACL,GAAG,CAAC;gBACJ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,0CAA0C,EAAE,MAAM,gCAAS,CAAC,OAAO,EAAE,CAAC;aAC5F,CAAA;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AATD,wDASC"}
@@ -1 +1 @@
1
- {"version":3,"file":"print.d.ts","sourceRoot":"","sources":["../src/print.ts"],"names":[],"mappings":"AAAA,OAAO,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,QAAQ,EAA8C,KAAK,EAAc,MAAM,YAAY,CAAC;AAC1G,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;AAM1D,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAqCxE;AAoGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAkB/C"}
1
+ {"version":3,"file":"print.d.ts","sourceRoot":"","sources":["../src/print.ts"],"names":[],"mappings":"AAAA,OAAO,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,QAAQ,EAA8C,KAAK,EAAc,MAAM,YAAY,CAAC;AAC1G,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;AAO1D,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAoCxE;AA+FD,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAkB/C"}
package/dist/print.js CHANGED
@@ -9,6 +9,7 @@ const options_1 = require("./options");
9
9
  const format_lines_1 = require("./utils/format-lines");
10
10
  const map_values_1 = require("./utils/map-values");
11
11
  const solidity_version_json_1 = __importDefault(require("./solidity-version.json"));
12
+ const infer_transpiled_1 = require("./infer-transpiled");
12
13
  function printContract(contract, opts) {
13
14
  const helpers = (0, options_1.withHelpers)(contract, opts);
14
15
  const fns = (0, map_values_1.mapValues)(sortedFunctions(contract), fns => fns.map(fn => printFunction(fn, helpers)));
@@ -16,25 +17,22 @@ function printContract(contract, opts) {
16
17
  return (0, format_lines_1.formatLines)(...(0, format_lines_1.spaceBetween)([
17
18
  `// SPDX-License-Identifier: ${contract.license}`,
18
19
  `pragma solidity ^${solidity_version_json_1.default};`,
19
- ], contract.imports.map(p => `import "${helpers.transformImport(p)}";`), [
20
+ ], contract.imports.map(p => `import "${helpers.transformImport(p).path}";`), [
20
21
  ...printNatspecTags(contract.natspecTags),
21
22
  [`contract ${contract.name}`, ...printInheritance(contract, helpers), '{'].join(' '),
22
- (0, format_lines_1.spaceBetween)(printUsingFor(contract, helpers), contract.variables.map(helpers.transformVariable), printConstructor(contract, helpers), ...fns.code, ...fns.modifiers, hasOverrides ? [`// The following functions are overrides required by Solidity.`] : [], ...fns.override),
23
+ (0, format_lines_1.spaceBetween)(contract.variables, printConstructor(contract, helpers), ...fns.code, ...fns.modifiers, hasOverrides ? [`// The following functions are overrides required by Solidity.`] : [], ...fns.override),
23
24
  `}`,
24
25
  ]));
25
26
  }
26
27
  exports.printContract = printContract;
27
28
  function printInheritance(contract, { transformName }) {
28
29
  if (contract.parents.length > 0) {
29
- return ['is ' + contract.parents.map(p => transformName(p.contract.name)).join(', ')];
30
+ return ['is ' + contract.parents.map(p => transformName(p.contract)).join(', ')];
30
31
  }
31
32
  else {
32
33
  return [];
33
34
  }
34
35
  }
35
- function printUsingFor(contract, { transformName }) {
36
- return contract.using.map(u => `using ${transformName(u.library.name)} for ${transformName(u.usingFor)};`);
37
- }
38
36
  function printConstructor(contract, helpers) {
39
37
  const hasParentParams = contract.parents.some(p => p.params.length > 0);
40
38
  const hasConstructorCode = contract.constructorCode.length > 0;
@@ -94,8 +92,9 @@ function sortedFunctions(contract) {
94
92
  return fns;
95
93
  }
96
94
  function printParentConstructor({ contract, params }, helpers) {
97
- const fn = helpers.upgradeable ? `__${contract.name}_init` : contract.name;
98
- if (helpers.upgradeable || params.length > 0) {
95
+ const useTranspiled = helpers.upgradeable && (0, infer_transpiled_1.inferTranspiled)(contract);
96
+ const fn = useTranspiled ? `__${contract.name}_init` : contract.name;
97
+ if (useTranspiled || params.length > 0) {
99
98
  return [
100
99
  fn + '(' + params.map(printValue).join(', ') + ')',
101
100
  ];
@@ -180,7 +179,16 @@ function printFunction2(kindedName, args, modifiers, code) {
180
179
  return fn;
181
180
  }
182
181
  function printArgument(arg, { transformName }) {
183
- const type = /^[A-Z]/.test(arg.type) ? transformName(arg.type) : arg.type;
182
+ let type;
183
+ if (typeof arg.type === 'string') {
184
+ if (/^[A-Z]/.test(arg.type)) {
185
+ `Type ${arg.type} is not a primitive type. Define it as a ContractReference`;
186
+ }
187
+ type = arg.type;
188
+ }
189
+ else {
190
+ type = transformName(arg.type);
191
+ }
184
192
  return [type, arg.name].join(' ');
185
193
  }
186
194
  function printNatspecTags(tags) {