@openzeppelin/wizard 0.10.5 → 0.10.6

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.
@@ -12,7 +12,7 @@ function withCommonDefaults(opts) {
12
12
  return {
13
13
  access: opts.access ?? false,
14
14
  upgradeable: opts.upgradeable ?? false,
15
- info: opts.info ?? {},
15
+ info: { ...exports.defaults.info, ...(opts.info ?? {}) },
16
16
  };
17
17
  }
18
18
  //# sourceMappingURL=common-options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common-options.js","sourceRoot":"","sources":["../src/common-options.ts"],"names":[],"mappings":";;;AAiBA,gDAMC;AArBD,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,IAAI,CAAC,MAAM,IAAI,KAAK;QAC5B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;QACtC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;KACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"common-options.js","sourceRoot":"","sources":["../src/common-options.ts"],"names":[],"mappings":";;;AAiBA,gDAMC;AArBD,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,IAAI,CAAC,MAAM,IAAI,KAAK;QAC5B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;QACtC,IAAI,EAAE,EAAE,GAAG,gBAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE;KACjD,CAAC;AACJ,CAAC"}
@@ -81,8 +81,8 @@ export declare class ContractBuilder implements Contract {
81
81
  readonly constructorCode: string[];
82
82
  readonly variableOrErrorMap: Map<string, VariableOrErrorDefinition>;
83
83
  private parentMap;
84
- private libraryMap;
85
84
  private functionMap;
85
+ private libraryMap;
86
86
  private structMap;
87
87
  constructor(name: string);
88
88
  get parents(): Parent[];
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
package/dist/contract.js CHANGED
@@ -17,8 +17,8 @@ class ContractBuilder {
17
17
  this.constructorCode = [];
18
18
  this.variableOrErrorMap = new Map();
19
19
  this.parentMap = new Map();
20
- this.libraryMap = new Map();
21
20
  this.functionMap = new Map();
21
+ this.libraryMap = new Map();
22
22
  this.structMap = new Map();
23
23
  this.name = (0, to_identifier_1.toIdentifier)(name, true);
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
package/dist/erc20.d.ts CHANGED
@@ -30,5 +30,12 @@ export declare function buildERC20(opts: ERC20Options): ContractBuilder;
30
30
  export declare const premintPattern: RegExp;
31
31
  export declare const chainIdPattern: RegExp;
32
32
  export declare function isValidChainId(str: string): boolean;
33
+ export declare function scaleByPowerOfTen(base: bigint, exponent: number): bigint;
34
+ export interface PremintCalculation {
35
+ units: string;
36
+ exp: string;
37
+ decimalPlace: number;
38
+ }
39
+ export declare function calculatePremint(amount: string): PremintCalculation | undefined;
33
40
  export declare const functions: Record<"pause" | "unpause" | "_update" | "_approve" | "mint" | "snapshot" | "nonces" | "_checkTokenBridge", import("./contract").BaseFunction>;
34
41
  //# sourceMappingURL=erc20.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"erc20.d.ts","sourceRoot":"","sources":["../src/erc20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAK7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAOlD,eAAO,MAAM,yBAAyB,0CAA2C,CAAC;AAClF,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAelC,CAAC;AAEX,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAgBvE;AAED,wBAAgB,UAAU,CAAC,IAAI,GAAE,YAAuB,GAAG,MAAM,CAEhE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAE5E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,CAoD9D;AA+BD,eAAO,MAAM,cAAc,QAAmC,CAAC;AAE/D,eAAO,MAAM,cAAc,QAAoB,CAAC;AAEhD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAkQD,eAAO,MAAM,SAAS,gJAsDpB,CAAC"}
1
+ {"version":3,"file":"erc20.d.ts","sourceRoot":"","sources":["../src/erc20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAK7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAOlD,eAAO,MAAM,yBAAyB,0CAA2C,CAAC;AAClF,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAelC,CAAC;AAEX,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAgBvE;AAED,wBAAgB,UAAU,CAAC,IAAI,GAAE,YAAuB,GAAG,MAAM,CAEhE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAE5E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,CAoD9D;AA+BD,eAAO,MAAM,cAAc,QAAmC,CAAC;AAE/D,eAAO,MAAM,cAAc,QAAoB,CAAC;AAEhD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMxE;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAsB/E;AA+OD,eAAO,MAAM,SAAS,gJAsDpB,CAAC"}
package/dist/erc20.js CHANGED
@@ -6,6 +6,8 @@ exports.printERC20 = printERC20;
6
6
  exports.isAccessControlRequired = isAccessControlRequired;
7
7
  exports.buildERC20 = buildERC20;
8
8
  exports.isValidChainId = isValidChainId;
9
+ exports.scaleByPowerOfTen = scaleByPowerOfTen;
10
+ exports.calculatePremint = calculatePremint;
9
11
  const contract_1 = require("./contract");
10
12
  const set_access_control_1 = require("./set-access-control");
11
13
  const add_pausable_1 = require("./add-pausable");
@@ -135,46 +137,55 @@ function scaleByPowerOfTen(base, exponent) {
135
137
  return base * BigInt(10) ** BigInt(exponent);
136
138
  }
137
139
  }
138
- function addPremint(c, amount, premintChainId, crossChainBridging) {
140
+ function calculatePremint(amount) {
139
141
  const m = amount.match(exports.premintPattern);
140
- if (m) {
141
- const integer = m[1]?.replace(/^0+/, '') ?? '';
142
- const decimals = m[2]?.replace(/0+$/, '') ?? '';
143
- const exponent = Number(m[3] ?? 0);
144
- if (Number(integer + decimals) > 0) {
145
- const decimalPlace = decimals.length - exponent;
146
- const zeroes = new Array(Math.max(0, -decimalPlace)).fill('0').join('');
147
- const units = integer + decimals + zeroes;
148
- const exp = decimalPlace <= 0 ? 'decimals()' : `(decimals() - ${decimalPlace})`;
149
- const validatedBaseUnits = (0, convert_strings_1.toUint256)(units, 'premint');
150
- checkPotentialPremintOverflow(validatedBaseUnits, decimalPlace);
151
- c.addConstructorArgument({ type: 'address', name: 'recipient' });
152
- const mintLine = `_mint(recipient, ${units} * 10 ** ${exp});`;
153
- if (crossChainBridging) {
154
- if (premintChainId === '') {
155
- throw new error_1.OptionsError({
156
- premintChainId: 'Chain ID is required when using Premint with Cross-Chain Bridging',
157
- });
158
- }
159
- if (!isValidChainId(premintChainId)) {
160
- throw new error_1.OptionsError({
161
- premintChainId: 'Not a valid chain ID',
162
- });
163
- }
164
- c.addConstructorCode(`if (block.chainid == ${premintChainId}) {`);
165
- c.addConstructorCode(` ${mintLine}`);
166
- c.addConstructorCode(`}`);
167
- }
168
- else {
169
- c.addConstructorCode(mintLine);
170
- }
171
- }
172
- }
173
- else {
142
+ if (!m) {
174
143
  throw new error_1.OptionsError({
175
144
  premint: 'Not a valid number',
176
145
  });
177
146
  }
147
+ const integer = m[1]?.replace(/^0+/, '') ?? '';
148
+ const decimals = m[2]?.replace(/0+$/, '') ?? '';
149
+ const exponent = Number(m[3] ?? 0);
150
+ if (Number(integer + decimals) > 0) {
151
+ const decimalPlace = decimals.length - exponent;
152
+ const zeroes = new Array(Math.max(0, -decimalPlace)).fill('0').join('');
153
+ const units = integer + decimals + zeroes;
154
+ const exp = decimalPlace <= 0 ? 'decimals()' : `(decimals() - ${decimalPlace})`;
155
+ return { units, exp, decimalPlace };
156
+ }
157
+ else {
158
+ return undefined;
159
+ }
160
+ }
161
+ function addPremint(c, amount, premintChainId, crossChainBridging) {
162
+ const premintCalculation = calculatePremint(amount);
163
+ if (premintCalculation === undefined) {
164
+ return;
165
+ }
166
+ const { units, exp, decimalPlace } = premintCalculation;
167
+ const validatedBaseUnits = (0, convert_strings_1.toUint256)(units, 'premint');
168
+ checkPotentialPremintOverflow(validatedBaseUnits, decimalPlace);
169
+ c.addConstructorArgument({ type: 'address', name: 'recipient' });
170
+ const mintLine = `_mint(recipient, ${units} * 10 ** ${exp});`;
171
+ if (crossChainBridging) {
172
+ if (premintChainId === '') {
173
+ throw new error_1.OptionsError({
174
+ premintChainId: 'Chain ID is required when using Premint with Cross-Chain Bridging',
175
+ });
176
+ }
177
+ if (!isValidChainId(premintChainId)) {
178
+ throw new error_1.OptionsError({
179
+ premintChainId: 'Not a valid chain ID',
180
+ });
181
+ }
182
+ c.addConstructorCode(`if (block.chainid == ${premintChainId}) {`);
183
+ c.addConstructorCode(` ${mintLine}`);
184
+ c.addConstructorCode(`}`);
185
+ }
186
+ else {
187
+ c.addConstructorCode(mintLine);
188
+ }
178
189
  }
179
190
  /**
180
191
  * Check for potential premint overflow assuming the user's contract has decimals() = 18
package/dist/erc20.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"erc20.js","sourceRoot":"","sources":["../src/erc20.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"erc20.js","sourceRoot":"","sources":["../src/erc20.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,33 +1,41 @@
1
+ export { erc20, erc721, erc1155, stablecoin, realWorldAsset, account, governor, custom } from './api';
2
+ export type { WizardContractAPI, AccessControlAPI } from './api';
3
+ export type { ERC20Options } from './erc20';
4
+ export type { ERC721Options } from './erc721';
5
+ export type { ERC1155Options } from './erc1155';
6
+ export type { StablecoinOptions } from './stablecoin';
7
+ export type { AccountOptions } from './account';
8
+ export type { GovernorOptions } from './governor';
9
+ export type { CustomOptions } from './custom';
1
10
  export type { GenericOptions, KindedOptions } from './build-generic';
2
11
  export { buildGeneric } from './build-generic';
3
12
  export { generateAlternatives } from './generate/alternatives';
4
- export type { Contract, BaseFunction, Value, ReferencedContract } from './contract';
13
+ export type { Contract, BaseFunction, Value, ReferencedContract, FunctionArgument } from './contract';
5
14
  export { ContractBuilder } from './contract';
6
15
  export { printContract } from './print';
7
16
  export type { Access } from './set-access-control';
17
+ export { accessOptions, setAccessControl, requireAccessControl } from './set-access-control';
18
+ export { addPausable } from './add-pausable';
8
19
  export type { Upgradeable } from './set-upgradeable';
9
20
  export type { Info } from './set-info';
10
21
  export { premintPattern, chainIdPattern } from './erc20';
11
- export { defaults as infoDefaults, infoOptions, setInfo } from './set-info';
12
- export { accessOptions, setAccessControl, requireAccessControl } from './set-access-control';
13
- export { addPausable } from './add-pausable';
22
+ export { defaults as infoDefaults, setInfo, infoOptions } from './set-info';
23
+ export { supportsInterface } from './common-functions';
14
24
  export type { OptionsErrorMessages } from './error';
15
25
  export { OptionsError } from './error';
16
26
  export type { Kind } from './kind';
17
27
  export { sanitizeKind } from './kind';
18
- export { erc20, erc721, erc1155, stablecoin, realWorldAsset, account, governor, custom } from './api';
19
- export type { WizardContractAPI, AccessControlAPI } from './api';
20
28
  export { compatibleContractsSemver } from './utils/version';
21
- export { findCover } from './utils/find-cover';
22
29
  export { defineFunctions } from './utils/define-functions';
23
30
  export type { CommonOptions } from './common-options';
24
31
  export { withCommonDefaults, defaults as commonDefaults } from './common-options';
25
- export { supportsInterface } from './common-functions';
26
- export type { ERC20Options } from './erc20';
27
- export type { ERC721Options } from './erc721';
28
- export type { ERC1155Options } from './erc1155';
29
- export type { StablecoinOptions } from './stablecoin';
30
- export type { AccountOptions } from './account';
31
- export type { GovernorOptions } from './governor';
32
- export type { CustomOptions } from './custom';
32
+ export type { ClockMode } from './set-clock-mode';
33
+ export { clockModeDefault, setClockMode, clockModeOptions } from './set-clock-mode';
34
+ export { toBigInt } from './utils/convert-strings';
35
+ export type { Options } from './options';
36
+ export type { Lines } from './utils/format-lines';
37
+ export { formatLinesWithSpaces, spaceBetween } from './utils/format-lines';
38
+ export { findCover } from './utils/find-cover';
39
+ export type { PremintCalculation } from './erc20';
40
+ export { calculatePremint as calculateERC20Premint, scaleByPowerOfTen } from './erc20';
33
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,YAAY,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACtG,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACtG,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAEjE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAI9C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,YAAY,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClF,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,gBAAgB,IAAI,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,16 @@
1
1
  "use strict";
2
+ // ===== Public API =====
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.supportsInterface = exports.commonDefaults = exports.withCommonDefaults = exports.defineFunctions = exports.findCover = exports.compatibleContractsSemver = exports.custom = exports.governor = exports.account = exports.realWorldAsset = exports.stablecoin = exports.erc1155 = exports.erc721 = exports.erc20 = exports.sanitizeKind = exports.OptionsError = exports.addPausable = exports.requireAccessControl = exports.setAccessControl = exports.accessOptions = exports.setInfo = exports.infoOptions = exports.infoDefaults = exports.chainIdPattern = exports.premintPattern = exports.printContract = exports.ContractBuilder = exports.generateAlternatives = exports.buildGeneric = void 0;
4
+ exports.scaleByPowerOfTen = exports.calculateERC20Premint = exports.findCover = exports.spaceBetween = exports.formatLinesWithSpaces = exports.toBigInt = exports.clockModeOptions = exports.setClockMode = exports.clockModeDefault = exports.commonDefaults = exports.withCommonDefaults = exports.defineFunctions = exports.compatibleContractsSemver = exports.sanitizeKind = exports.OptionsError = exports.supportsInterface = exports.infoOptions = exports.setInfo = exports.infoDefaults = exports.chainIdPattern = exports.premintPattern = exports.addPausable = exports.requireAccessControl = exports.setAccessControl = exports.accessOptions = exports.printContract = exports.ContractBuilder = exports.generateAlternatives = exports.buildGeneric = exports.custom = exports.governor = exports.account = exports.realWorldAsset = exports.stablecoin = exports.erc1155 = exports.erc721 = exports.erc20 = void 0;
5
+ var api_1 = require("./api");
6
+ Object.defineProperty(exports, "erc20", { enumerable: true, get: function () { return api_1.erc20; } });
7
+ Object.defineProperty(exports, "erc721", { enumerable: true, get: function () { return api_1.erc721; } });
8
+ Object.defineProperty(exports, "erc1155", { enumerable: true, get: function () { return api_1.erc1155; } });
9
+ Object.defineProperty(exports, "stablecoin", { enumerable: true, get: function () { return api_1.stablecoin; } });
10
+ Object.defineProperty(exports, "realWorldAsset", { enumerable: true, get: function () { return api_1.realWorldAsset; } });
11
+ Object.defineProperty(exports, "account", { enumerable: true, get: function () { return api_1.account; } });
12
+ Object.defineProperty(exports, "governor", { enumerable: true, get: function () { return api_1.governor; } });
13
+ Object.defineProperty(exports, "custom", { enumerable: true, get: function () { return api_1.custom; } });
4
14
  var build_generic_1 = require("./build-generic");
5
15
  Object.defineProperty(exports, "buildGeneric", { enumerable: true, get: function () { return build_generic_1.buildGeneric; } });
6
16
  var alternatives_1 = require("./generate/alternatives");
@@ -9,41 +19,44 @@ var contract_1 = require("./contract");
9
19
  Object.defineProperty(exports, "ContractBuilder", { enumerable: true, get: function () { return contract_1.ContractBuilder; } });
10
20
  var print_1 = require("./print");
11
21
  Object.defineProperty(exports, "printContract", { enumerable: true, get: function () { return print_1.printContract; } });
12
- var erc20_1 = require("./erc20");
13
- Object.defineProperty(exports, "premintPattern", { enumerable: true, get: function () { return erc20_1.premintPattern; } });
14
- Object.defineProperty(exports, "chainIdPattern", { enumerable: true, get: function () { return erc20_1.chainIdPattern; } });
15
- var set_info_1 = require("./set-info");
16
- Object.defineProperty(exports, "infoDefaults", { enumerable: true, get: function () { return set_info_1.defaults; } });
17
- Object.defineProperty(exports, "infoOptions", { enumerable: true, get: function () { return set_info_1.infoOptions; } });
18
- Object.defineProperty(exports, "setInfo", { enumerable: true, get: function () { return set_info_1.setInfo; } });
19
22
  var set_access_control_1 = require("./set-access-control");
20
23
  Object.defineProperty(exports, "accessOptions", { enumerable: true, get: function () { return set_access_control_1.accessOptions; } });
21
24
  Object.defineProperty(exports, "setAccessControl", { enumerable: true, get: function () { return set_access_control_1.setAccessControl; } });
22
25
  Object.defineProperty(exports, "requireAccessControl", { enumerable: true, get: function () { return set_access_control_1.requireAccessControl; } });
23
26
  var add_pausable_1 = require("./add-pausable");
24
27
  Object.defineProperty(exports, "addPausable", { enumerable: true, get: function () { return add_pausable_1.addPausable; } });
28
+ var erc20_1 = require("./erc20");
29
+ Object.defineProperty(exports, "premintPattern", { enumerable: true, get: function () { return erc20_1.premintPattern; } });
30
+ Object.defineProperty(exports, "chainIdPattern", { enumerable: true, get: function () { return erc20_1.chainIdPattern; } });
31
+ var set_info_1 = require("./set-info");
32
+ Object.defineProperty(exports, "infoDefaults", { enumerable: true, get: function () { return set_info_1.defaults; } });
33
+ Object.defineProperty(exports, "setInfo", { enumerable: true, get: function () { return set_info_1.setInfo; } });
34
+ Object.defineProperty(exports, "infoOptions", { enumerable: true, get: function () { return set_info_1.infoOptions; } });
35
+ var common_functions_1 = require("./common-functions");
36
+ Object.defineProperty(exports, "supportsInterface", { enumerable: true, get: function () { return common_functions_1.supportsInterface; } });
25
37
  var error_1 = require("./error");
26
38
  Object.defineProperty(exports, "OptionsError", { enumerable: true, get: function () { return error_1.OptionsError; } });
27
39
  var kind_1 = require("./kind");
28
40
  Object.defineProperty(exports, "sanitizeKind", { enumerable: true, get: function () { return kind_1.sanitizeKind; } });
29
- var api_1 = require("./api");
30
- Object.defineProperty(exports, "erc20", { enumerable: true, get: function () { return api_1.erc20; } });
31
- Object.defineProperty(exports, "erc721", { enumerable: true, get: function () { return api_1.erc721; } });
32
- Object.defineProperty(exports, "erc1155", { enumerable: true, get: function () { return api_1.erc1155; } });
33
- Object.defineProperty(exports, "stablecoin", { enumerable: true, get: function () { return api_1.stablecoin; } });
34
- Object.defineProperty(exports, "realWorldAsset", { enumerable: true, get: function () { return api_1.realWorldAsset; } });
35
- Object.defineProperty(exports, "account", { enumerable: true, get: function () { return api_1.account; } });
36
- Object.defineProperty(exports, "governor", { enumerable: true, get: function () { return api_1.governor; } });
37
- Object.defineProperty(exports, "custom", { enumerable: true, get: function () { return api_1.custom; } });
38
41
  var version_1 = require("./utils/version");
39
42
  Object.defineProperty(exports, "compatibleContractsSemver", { enumerable: true, get: function () { return version_1.compatibleContractsSemver; } });
40
- var find_cover_1 = require("./utils/find-cover");
41
- Object.defineProperty(exports, "findCover", { enumerable: true, get: function () { return find_cover_1.findCover; } });
42
43
  var define_functions_1 = require("./utils/define-functions");
43
44
  Object.defineProperty(exports, "defineFunctions", { enumerable: true, get: function () { return define_functions_1.defineFunctions; } });
44
45
  var common_options_1 = require("./common-options");
45
46
  Object.defineProperty(exports, "withCommonDefaults", { enumerable: true, get: function () { return common_options_1.withCommonDefaults; } });
46
47
  Object.defineProperty(exports, "commonDefaults", { enumerable: true, get: function () { return common_options_1.defaults; } });
47
- var common_functions_1 = require("./common-functions");
48
- Object.defineProperty(exports, "supportsInterface", { enumerable: true, get: function () { return common_functions_1.supportsInterface; } });
48
+ var set_clock_mode_1 = require("./set-clock-mode");
49
+ Object.defineProperty(exports, "clockModeDefault", { enumerable: true, get: function () { return set_clock_mode_1.clockModeDefault; } });
50
+ Object.defineProperty(exports, "setClockMode", { enumerable: true, get: function () { return set_clock_mode_1.setClockMode; } });
51
+ Object.defineProperty(exports, "clockModeOptions", { enumerable: true, get: function () { return set_clock_mode_1.clockModeOptions; } });
52
+ var convert_strings_1 = require("./utils/convert-strings");
53
+ Object.defineProperty(exports, "toBigInt", { enumerable: true, get: function () { return convert_strings_1.toBigInt; } });
54
+ var format_lines_1 = require("./utils/format-lines");
55
+ Object.defineProperty(exports, "formatLinesWithSpaces", { enumerable: true, get: function () { return format_lines_1.formatLinesWithSpaces; } });
56
+ Object.defineProperty(exports, "spaceBetween", { enumerable: true, get: function () { return format_lines_1.spaceBetween; } });
57
+ var find_cover_1 = require("./utils/find-cover");
58
+ Object.defineProperty(exports, "findCover", { enumerable: true, get: function () { return find_cover_1.findCover; } });
59
+ var erc20_2 = require("./erc20");
60
+ Object.defineProperty(exports, "calculateERC20Premint", { enumerable: true, get: function () { return erc20_2.calculatePremint; } });
61
+ Object.defineProperty(exports, "scaleByPowerOfTen", { enumerable: true, get: function () { return erc20_2.scaleByPowerOfTen; } });
49
62
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAErB,wDAA+D;AAAtD,oHAAA,oBAAoB,OAAA;AAG7B,uCAA6C;AAApC,2GAAA,eAAe,OAAA;AAExB,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AAMtB,iCAAyD;AAAhD,uGAAA,cAAc,OAAA;AAAE,uGAAA,cAAc,OAAA;AACvC,uCAA4E;AAAnE,wGAAA,QAAQ,OAAgB;AAAE,uGAAA,WAAW,OAAA;AAAE,mGAAA,OAAO,OAAA;AACvD,2DAA6F;AAApF,mHAAA,aAAa,OAAA;AAAE,sHAAA,gBAAgB,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AAC9D,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAGpB,iCAAuC;AAA9B,qGAAA,YAAY,OAAA;AAGrB,+BAAsC;AAA7B,oGAAA,YAAY,OAAA;AAErB,6BAAsG;AAA7F,4FAAA,KAAK,OAAA;AAAE,6FAAA,MAAM,OAAA;AAAE,8FAAA,OAAO,OAAA;AAAE,iGAAA,UAAU,OAAA;AAAE,qGAAA,cAAc,OAAA;AAAE,8FAAA,OAAO,OAAA;AAAE,+FAAA,QAAQ,OAAA;AAAE,6FAAA,MAAM,OAAA;AAGtF,2CAA4D;AAAnD,oHAAA,yBAAyB,OAAA;AAClC,iDAA+C;AAAtC,uGAAA,SAAS,OAAA;AAClB,6DAA2D;AAAlD,mHAAA,eAAe,OAAA;AAGxB,mDAAkF;AAAzE,oHAAA,kBAAkB,OAAA;AAAE,gHAAA,QAAQ,OAAkB;AACvD,uDAAuD;AAA9C,qHAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,yBAAyB;;;AAEzB,6BAAsG;AAA7F,4FAAA,KAAK,OAAA;AAAE,6FAAA,MAAM,OAAA;AAAE,8FAAA,OAAO,OAAA;AAAE,iGAAA,UAAU,OAAA;AAAE,qGAAA,cAAc,OAAA;AAAE,8FAAA,OAAO,OAAA;AAAE,+FAAA,QAAQ,OAAA;AAAE,6FAAA,MAAM,OAAA;AActF,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAErB,wDAA+D;AAAtD,oHAAA,oBAAoB,OAAA;AAG7B,uCAA6C;AAApC,2GAAA,eAAe,OAAA;AAExB,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AAGtB,2DAA6F;AAApF,mHAAA,aAAa,OAAA;AAAE,sHAAA,gBAAgB,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AAC9D,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAIpB,iCAAyD;AAAhD,uGAAA,cAAc,OAAA;AAAE,uGAAA,cAAc,OAAA;AACvC,uCAA4E;AAAnE,wGAAA,QAAQ,OAAgB;AAAE,mGAAA,OAAO,OAAA;AAAE,uGAAA,WAAW,OAAA;AACvD,uDAAuD;AAA9C,qHAAA,iBAAiB,OAAA;AAG1B,iCAAuC;AAA9B,qGAAA,YAAY,OAAA;AAGrB,+BAAsC;AAA7B,oGAAA,YAAY,OAAA;AAErB,2CAA4D;AAAnD,oHAAA,yBAAyB,OAAA;AAElC,6DAA2D;AAAlD,mHAAA,eAAe,OAAA;AAExB,mDAAkF;AAAzE,oHAAA,kBAAkB,OAAA;AAAE,gHAAA,QAAQ,OAAkB;AAEvD,mDAAoF;AAA3E,kHAAA,gBAAgB,OAAA;AAAE,8GAAA,YAAY,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AACzD,2DAAmD;AAA1C,2GAAA,QAAQ,OAAA;AAGjB,qDAA2E;AAAlE,qHAAA,qBAAqB,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC5C,iDAA+C;AAAtC,uGAAA,SAAS,OAAA;AAElB,iCAAuF;AAA9E,8GAAA,gBAAgB,OAAyB;AAAE,0GAAA,iBAAiB,OAAA"}
package/dist/options.d.ts CHANGED
@@ -5,11 +5,14 @@ export interface Options {
5
5
  transformImport?: (parent: ImportContract) => ImportContract;
6
6
  /**
7
7
  * Add additional libraries to the compatibility banner printed at the top of the contract.
8
+ *
9
+ * If `alwaysKeepOzPrefix` is true, the library name will always keep the "OpenZeppelin " prefix, even if there are multiple libraries from OpenZeppelin being imported.
8
10
  */
9
11
  additionalCompatibleLibraries?: {
10
12
  name: string;
11
13
  path: string;
12
14
  version: string;
15
+ alwaysKeepOzPrefix?: boolean;
13
16
  }[];
14
17
  }
15
18
  export interface Helpers extends Required<Options> {
@@ -1 +1 @@
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;AAG/E,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,UAMxC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,cAAc,GAAG,cAAc,CAYnE;AAED,MAAM,WAAW,OAAO;IACtB,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,cAAc,CAAC;IAC7D;;OAEG;IACH,6BAA6B,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnF;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ,CAAC,OAAO,CAAC;IAChD,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,MAAM,CAAC;IACpD,eAAe,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,cAAc,CAAC;CAC3D;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;AAG/E,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,UAMxC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,cAAc,GAAG,cAAc,CAYnE;AAED,MAAM,WAAW,OAAO;IACtB,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,cAAc,CAAC;IAC7D;;;;OAIG;IACH,6BAA6B,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CACjH;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ,CAAC,OAAO,CAAC;IAChD,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,MAAM,CAAC;IACpD,eAAe,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,cAAc,CAAC;CAC3D;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,GAAE,OAAY,GAAG,OAAO,CAY3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;;;AAKA,0CAMC;AAED,8CAYC;AAgBD,kCAYC;AArDD,gDAAwB;AAGxB,yDAAqD;AAErD,SAAgB,eAAe,CAAC,CAAS;IACvC,IAAI,CAAC,KAAK,eAAe,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC;IACX,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,SAAgB,iBAAiB,CAAC,CAAiB;IACjD,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,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB;QAC/C,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,EAAE,qBAAqB;SACnD,CAAC;KACH,CAAC;AACJ,CAAC;AAgBD,SAAgB,WAAW,CAAC,QAAkB,EAAE,OAAgB,EAAE;IAChE,MAAM,mBAAmB,GAAG,QAAQ,CAAC,WAAW,CAAC;IACjD,OAAO;QACL,WAAW,EAAE,mBAAmB;QAChC,aAAa,EAAE,CAAC,CAAqB,EAAE,EAAE,CACvC,mBAAmB,IAAI,IAAA,kCAAe,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAC9E,eAAe,EAAE,CAAC,EAAkB,EAAE,EAAE;YACtC,MAAM,EAAE,GAAG,mBAAmB,IAAI,IAAA,kCAAe,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1C,CAAC;QACD,6BAA6B,EAAE,IAAI,CAAC,6BAA6B,IAAI,EAAE;KACxE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;;;AAKA,0CAMC;AAED,8CAYC;AAkBD,kCAYC;AAvDD,gDAAwB;AAGxB,yDAAqD;AAErD,SAAgB,eAAe,CAAC,CAAS;IACvC,IAAI,CAAC,KAAK,eAAe,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC;IACX,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,SAAgB,iBAAiB,CAAC,CAAiB;IACjD,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,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB;QAC/C,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,EAAE,qBAAqB;SACnD,CAAC;KACH,CAAC;AACJ,CAAC;AAkBD,SAAgB,WAAW,CAAC,QAAkB,EAAE,OAAgB,EAAE;IAChE,MAAM,mBAAmB,GAAG,QAAQ,CAAC,WAAW,CAAC;IACjD,OAAO;QACL,WAAW,EAAE,mBAAmB;QAChC,aAAa,EAAE,CAAC,CAAqB,EAAE,EAAE,CACvC,mBAAmB,IAAI,IAAA,kCAAe,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAC9E,eAAe,EAAE,CAAC,EAAkB,EAAE,EAAE;YACtC,MAAM,EAAE,GAAG,mBAAmB,IAAI,IAAA,kCAAe,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1C,CAAC;QACD,6BAA6B,EAAE,IAAI,CAAC,6BAA6B,IAAI,EAAE;KACxE,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"print.d.ts","sourceRoot":"","sources":["../src/print.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAIR,KAAK,EAKN,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,OAAO,EAAW,MAAM,WAAW,CAAC;AAalD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAqCxE;AA+ID,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,KAAK,EACV,QAAQ,EAIR,KAAK,EAKN,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,OAAO,EAAW,MAAM,WAAW,CAAC;AAalD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAqCxE;AAyKD,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAkB/C"}
package/dist/print.js CHANGED
@@ -42,14 +42,14 @@ function printVariableOrErrorDefinitionsWithoutComments(variableOrErrorDefinitio
42
42
  return withoutComments.map(v => v.code);
43
43
  }
44
44
  function printCompatibleLibraryVersions(contract, opts) {
45
- const libraries = [];
45
+ const libraryDescriptions = [];
46
46
  if ((0, imports_libraries_1.importsLibrary)(contract, '@openzeppelin/contracts')) {
47
- libraries.push(`OpenZeppelin Contracts ${version_1.compatibleContractsSemver}`);
47
+ libraryDescriptions.push({ nameAndVersion: `OpenZeppelin Contracts ${version_1.compatibleContractsSemver}` });
48
48
  }
49
49
  if ((0, imports_libraries_1.importsLibrary)(contract, '@openzeppelin/community-contracts')) {
50
50
  try {
51
51
  const commit = (0, community_contracts_git_commit_1.getCommunityContractsGitCommit)();
52
- libraries.push(`Community Contracts commit ${commit}`);
52
+ libraryDescriptions.push({ nameAndVersion: `OpenZeppelin Community Contracts commit ${commit}` });
53
53
  }
54
54
  catch (e) {
55
55
  console.error(e);
@@ -58,15 +58,32 @@ function printCompatibleLibraryVersions(contract, opts) {
58
58
  if (opts?.additionalCompatibleLibraries) {
59
59
  for (const library of opts.additionalCompatibleLibraries) {
60
60
  if ((0, imports_libraries_1.importsLibrary)(contract, library.path)) {
61
- libraries.push(`${library.name} ${library.version}`);
61
+ libraryDescriptions.push({
62
+ nameAndVersion: `${library.name} ${library.version}`,
63
+ alwaysKeepOzPrefix: library.alwaysKeepOzPrefix,
64
+ });
62
65
  }
63
66
  }
64
67
  }
65
- if (libraries.length === 0)
68
+ if (libraryDescriptions.length === 0) {
66
69
  return '';
67
- if (libraries.length === 1)
68
- return `// Compatible with ${libraries[0]}`;
69
- return `// Compatible with ${libraries.slice(0, -1).join(', ')} and ${libraries.slice(-1)}`;
70
+ }
71
+ else if (libraryDescriptions.length === 1) {
72
+ return `// Compatible with ${libraryDescriptions[0].nameAndVersion}`;
73
+ }
74
+ else {
75
+ const OZ_PREFIX_WITH_SPACE = 'OpenZeppelin ';
76
+ if (libraryDescriptions[0].nameAndVersion.startsWith(OZ_PREFIX_WITH_SPACE)) {
77
+ for (let i = 1; i < libraryDescriptions.length; i++) {
78
+ if (libraryDescriptions[i].nameAndVersion.startsWith(OZ_PREFIX_WITH_SPACE) &&
79
+ !libraryDescriptions[i].alwaysKeepOzPrefix) {
80
+ libraryDescriptions[i].nameAndVersion = libraryDescriptions[i].nameAndVersion.slice(OZ_PREFIX_WITH_SPACE.length);
81
+ }
82
+ }
83
+ }
84
+ const librariesToPrint = libraryDescriptions.map(l => l.nameAndVersion);
85
+ return `// Compatible with ${librariesToPrint.slice(0, -1).join(', ')} and ${librariesToPrint.slice(-1)}`;
86
+ }
70
87
  }
71
88
  function printInheritance(contract, { transformName }) {
72
89
  const visibleParents = contract.parents.filter(p => !p.constructionOnly);
@@ -247,28 +264,23 @@ function printNatspecTags(tags) {
247
264
  return tags.map(({ key, value }) => `/// ${key} ${value}`);
248
265
  }
249
266
  function printImports(imports, helpers) {
250
- // Sort imports by name
251
- imports.sort((a, b) => {
252
- if (a.name < b.name)
253
- return -1;
254
- if (a.name > b.name)
255
- return 1;
256
- return 0;
257
- });
258
- const lines = [];
259
- imports.map(p => {
260
- const importContract = helpers.transformImport(p);
261
- lines.push(`import {${importContract.name}} from "${importContract.path}";`);
262
- });
263
- return lines;
267
+ const itemByPath = new Map();
268
+ for (const p of imports) {
269
+ const { name, path } = helpers.transformImport(p);
270
+ const _ = itemByPath.get(path)?.add(name) ?? itemByPath.set(path, new Set([name]));
271
+ }
272
+ return Array.from(itemByPath.keys())
273
+ .sort()
274
+ .map(path => `import {${Array.from(itemByPath.get(path)).sort().join(', ')}} from "${path}";`);
264
275
  }
265
276
  function printLibraries(contract, { transformName }) {
266
277
  if (!contract.libraries || contract.libraries.length === 0)
267
278
  return [];
268
279
  return contract.libraries
269
- .sort((a, b) => a.library.name.localeCompare(b.library.name))
270
- .flatMap(lib => [...lib.usingFor]
271
- .sort((a, b) => a.localeCompare(b))
272
- .map(type => `using ${transformName(lib.library)} for ${type};`));
280
+ .sort((a, b) => a.library.name.localeCompare(b.library.name)) // Sort by import path
281
+ .map(lib => {
282
+ const sortedTypes = Array.from(lib.usingFor).sort((a, b) => a.localeCompare(b)); // Sort types
283
+ return `using ${transformName(lib.library)} for ${sortedTypes.join(', ')};`;
284
+ });
273
285
  }
274
286
  //# sourceMappingURL=print.js.map
package/dist/print.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"print.js","sourceRoot":"","sources":["../src/print.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"print.js","sourceRoot":"","sources":["../src/print.ts"],"names":[],"mappings":";;;;;AAwBA,sCAqCC;AAyKD,gCAkBC;AA5OD,uCAAwC;AAGxC,uDAAiE;AACjE,mDAA+C;AAC/C,oFAAuD;AACvD,yDAAqD;AACrD,6CAA4D;AAC5D,+CAAwD;AACxD,iEAA2D;AAC3D,2FAAwF;AAExF,SAAgB,aAAa,CAAC,QAAkB,EAAE,IAAc;IAC9D,MAAM,OAAO,GAAG,IAAA,qBAAW,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,IAAA,sBAAS,EAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACnG,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,IAAA,0BAAW,EAChB,GAAG,IAAA,2BAAY,EACb;QACE,+BAA+B,QAAQ,CAAC,OAAO,EAAE;QACjD,8BAA8B,CAAC,QAAQ,EAAE,IAAI,CAAC;QAC9C,oBAAoB,+BAAgB,GAAG;KACxC,EAED,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,EAEvC;QACE,GAAG,qBAAqB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QACpF,GAAG,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzC,CAAC,YAAY,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAEpF,IAAA,2BAAY,EACV,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,EACjC,GAAG,OAAO,EACV,2CAA2C,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAChF,8CAA8C,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EACnF,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,EACnC,GAAG,GAAG,CAAC,IAAI,EACX,GAAG,GAAG,CAAC,SAAS,EAChB,YAAY,CAAC,CAAC,CAAC,CAAC,gEAAgE,CAAC,CAAC,CAAC,CAAC,EAAE,EACtF,GAAG,GAAG,CAAC,QAAQ,CAChB;QAED,GAAG;KACJ,CACF,CACF,CAAC;AACJ,CAAC;AAED,SAAS,2CAA2C,CAAC,0BAAuD;IAC1G,MAAM,YAAY,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChF,6CAA6C;IAC7C,OAAO,IAAA,2BAAY,EAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,8CAA8C,CACrD,0BAAuD;IAEvD,MAAM,eAAe,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpF,mDAAmD;IACnD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAOD,SAAS,8BAA8B,CAAC,QAAkB,EAAE,IAAc;IACxE,MAAM,mBAAmB,GAAyB,EAAE,CAAC;IACrD,IAAI,IAAA,kCAAc,EAAC,QAAQ,EAAE,yBAAyB,CAAC,EAAE,CAAC;QACxD,mBAAmB,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,0BAA0B,mCAAyB,EAAE,EAAE,CAAC,CAAC;IACtG,CAAC;IACD,IAAI,IAAA,kCAAc,EAAC,QAAQ,EAAE,mCAAmC,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,+DAA8B,GAAE,CAAC;YAChD,mBAAmB,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,2CAA2C,MAAM,EAAE,EAAE,CAAC,CAAC;QACpG,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,IAAI,IAAI,EAAE,6BAA6B,EAAE,CAAC;QACxC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACzD,IAAI,IAAA,kCAAc,EAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,mBAAmB,CAAC,IAAI,CAAC;oBACvB,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE;oBACpD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;iBAC/C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;SAAM,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,sBAAsB,mBAAmB,CAAC,CAAC,CAAE,CAAC,cAAc,EAAE,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,MAAM,oBAAoB,GAAG,eAAe,CAAC;QAC7C,IAAI,mBAAmB,CAAC,CAAC,CAAE,CAAC,cAAc,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpD,IACE,mBAAmB,CAAC,CAAC,CAAE,CAAC,cAAc,CAAC,UAAU,CAAC,oBAAoB,CAAC;oBACvE,CAAC,mBAAmB,CAAC,CAAC,CAAE,CAAC,kBAAkB,EAC3C,CAAC;oBACD,mBAAmB,CAAC,CAAC,CAAE,CAAC,cAAc,GAAG,mBAAmB,CAAC,CAAC,CAAE,CAAC,cAAc,CAAC,KAAK,CACnF,oBAAoB,CAAC,MAAM,CAC5B,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACxE,OAAO,sBAAsB,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5G,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAkB,EAAE,EAAE,aAAa,EAAW;IACtE,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACzE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAkB,EAAE,OAAgB;IAC5D,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/D,MAAM,uBAAuB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACxE,IAAI,eAAe,IAAI,kBAAkB,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACzG,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,kCAAe,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5F,qFAAqF;YACrF,MAAM,qCAAqC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CACnE,CAAC,CAAC,EAAE,CACF,CAAC,IAAA,kCAAe,EAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,iBAAiB,CAC/G,CAAC;YACF,MAAM,WAAW,GAAG,cAAc,CAChC;gBACE,qCAAqC,CAAC,MAAM,GAAG,CAAC;oBAC9C,CAAC,CAAC,4DAA4D;oBAC9D,CAAC,CAAC,kDAAkD;aACvD,EACD,aAAa,EACb,EAAE,EACF,qCAAqC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EACtF,CAAC,yBAAyB,CAAC,CAC5B,CAAC;YACF,MAAM,WAAW,GAAG,cAAc,CAChC,EAAE,EACF,qBAAqB,EACrB,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAC5D,CAAC,QAAQ,EAAE,aAAa,CAAC,EACzB,IAAA,2BAAY,EACV,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,EACrF,QAAQ,CAAC,eAAe,CACzB,CACF,CAAC;YACF,OAAO,IAAA,2BAAY,EAAC,WAAW,EAAE,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;aAAM,CAAC;YACN,OAAO,cAAc,CACnB,EAAE,EACF,aAAa,EACb,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAC5D,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EACjE,QAAQ,CAAC,eAAe,CACzB,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,OAAO,oBAAoB,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,oBAAoB,GAAG;IAC3B,kDAAkD;IAClD,iBAAiB;IACjB,CAAC,yBAAyB,CAAC;IAC3B,GAAG;CACJ,CAAC;AAEF,SAAS,cAAc,CAAC,MAAc;IACpC,UAAU;IACV,4DAA4D;IAC5D,+CAA+C;IAC/C,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AAID,sEAAsE;AACtE,SAAS,eAAe,CAAC,QAAkB;IACzC,MAAM,GAAG,GAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAEvE,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACpC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,sBAAsB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAU,EAAE,OAAgB;IAC5E,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,IAAI,IAAA,kCAAe,EAAC,QAAQ,CAAC,CAAC;IACvE,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IACrE,IAAI,aAAa,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAgB,UAAU,CAAC,KAAY;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC,GAAG,CAAC;QACnB,CAAC;aAAM,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YAC3B,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,GAAG,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,IAAA,+BAAoB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,EAAoB,EAAE,OAAgB;IAC3D,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAElC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAC5F,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,SAAS,GAAa,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,EAAE,CAAC,UAAU,KAAK,YAAY,EAAE,CAAC;QACnC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;SAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAChC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChF,CAAC;IAED,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAEhC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAE1B,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9E,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,cAAc,CACnB,EAAE,CAAC,QAAQ,EACX,WAAW,GAAG,EAAE,CAAC,IAAI,EACrB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAC3C,SAAS,EACT,IAAI,CACL,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,yCAAyC;AACzC,+CAA+C;AAC/C,SAAS,cAAc,CACrB,QAAkB,EAClB,UAAkB,EAClB,IAAc,EACd,SAAmB,EACnB,IAAa;IAEb,MAAM,EAAE,GAAY,CAAC,GAAG,QAAQ,CAAC,CAAC;IAElC,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAErG,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5C,IAAI,aAAa,IAAI,EAAE,EAAE,CAAC;QACxB,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,WAAW,CAAC,OAAuB;IAC1C,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACzF,MAAM,MAAM,GAAY,CAAC,GAAG,QAAQ,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,UAAU,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAExD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,GAAqB,EAAE,EAAE,aAAa,EAAW;IACtE,IAAI,IAAY,CAAC;IACjB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,oEAAoE;YACpE,QAAQ,GAAG,CAAC,IAAI,4DAA4D,CAAC;QAC/E,CAAC;QACD,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAkB,EAAE,qBAA8B,KAAK;IACpF,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;IACvD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAkB;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,YAAY,CAAC,OAAyB,EAAE,OAAgB;IAC/D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;IAElD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SACjC,IAAI,EAAE;SACN,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,cAAc,CAAC,QAAkB,EAAE,EAAE,aAAa,EAAW;IACpE,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEtE,OAAO,QAAQ,CAAC,SAAS;SACtB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB;SACnF,GAAG,CAAC,GAAG,CAAC,EAAE;QACT,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;QAC9F,OAAO,SAAS,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9E,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,11 +1,30 @@
1
1
  export declare const UINT256_MAX: bigint;
2
2
  /**
3
- * Checks that a string is a valid `uint256` value and converts it to bigint.
3
+ * Checks that a string is a valid number, and convert to bigint.
4
4
  *
5
5
  * @param value The string value to check and convert.
6
6
  * @param field The field name to use in the error message if the value is invalid.
7
- * @throws OptionsError if the value is not a valid number or is greater than the maximum value for `uint256`.
7
+ * @throws OptionsError if the value is not a valid number.
8
8
  * @returns The validated value as a bigint.
9
9
  */
10
+ export declare function toBigInt(value: string, field: string): bigint;
11
+ /**
12
+ * Checks that a bigint value fits within `uint256`.
13
+ *
14
+ * @param numValue The value to check.
15
+ * @param field The field name to use in the error if the value is invalid.
16
+ * @throws OptionsError if the value is greater than the maximum value for `uint256`.
17
+ * @returns The value as a bigint.
18
+ */
19
+ export declare function validateUint256(numValue: bigint, field: string): bigint;
20
+ /**
21
+ * Checks that a string is a valid number, and fits within `uint256`.
22
+ * Convenience function that calls `toBigInt` and `validateUint256`.
23
+ *
24
+ * @param value The value to check.
25
+ * @param field The field name to use in the error if the value is invalid.
26
+ * @throws OptionsError if the value is not a valid number or is greater than the maximum value for `uint256`.
27
+ * @returns The value as a bigint.
28
+ */
10
29
  export declare function toUint256(value: string, field: string): bigint;
11
30
  //# sourceMappingURL=convert-strings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convert-strings.d.ts","sourceRoot":"","sources":["../../src/utils/convert-strings.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,QAAuC,CAAC;AAEhE;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAc9D"}
1
+ {"version":3,"file":"convert-strings.d.ts","sourceRoot":"","sources":["../../src/utils/convert-strings.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,QAAuC,CAAC;AAEhE;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ7D;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAOvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9D"}
@@ -1,25 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UINT256_MAX = void 0;
4
+ exports.toBigInt = toBigInt;
5
+ exports.validateUint256 = validateUint256;
4
6
  exports.toUint256 = toUint256;
5
7
  const error_1 = require("../error");
6
8
  exports.UINT256_MAX = BigInt(2) ** BigInt(256) - BigInt(1);
7
9
  /**
8
- * Checks that a string is a valid `uint256` value and converts it to bigint.
10
+ * Checks that a string is a valid number, and convert to bigint.
9
11
  *
10
12
  * @param value The string value to check and convert.
11
13
  * @param field The field name to use in the error message if the value is invalid.
12
- * @throws OptionsError if the value is not a valid number or is greater than the maximum value for `uint256`.
14
+ * @throws OptionsError if the value is not a valid number.
13
15
  * @returns The validated value as a bigint.
14
16
  */
15
- function toUint256(value, field) {
17
+ function toBigInt(value, field) {
16
18
  const isValidNumber = /^\d+$/.test(value);
17
19
  if (!isValidNumber) {
18
20
  throw new error_1.OptionsError({
19
21
  [field]: 'Not a valid number',
20
22
  });
21
23
  }
22
- const numValue = BigInt(value);
24
+ return BigInt(value);
25
+ }
26
+ /**
27
+ * Checks that a bigint value fits within `uint256`.
28
+ *
29
+ * @param numValue The value to check.
30
+ * @param field The field name to use in the error if the value is invalid.
31
+ * @throws OptionsError if the value is greater than the maximum value for `uint256`.
32
+ * @returns The value as a bigint.
33
+ */
34
+ function validateUint256(numValue, field) {
23
35
  if (numValue > exports.UINT256_MAX) {
24
36
  throw new error_1.OptionsError({
25
37
  [field]: 'Value is greater than uint256 max value',
@@ -27,4 +39,16 @@ function toUint256(value, field) {
27
39
  }
28
40
  return numValue;
29
41
  }
42
+ /**
43
+ * Checks that a string is a valid number, and fits within `uint256`.
44
+ * Convenience function that calls `toBigInt` and `validateUint256`.
45
+ *
46
+ * @param value The value to check.
47
+ * @param field The field name to use in the error if the value is invalid.
48
+ * @throws OptionsError if the value is not a valid number or is greater than the maximum value for `uint256`.
49
+ * @returns The value as a bigint.
50
+ */
51
+ function toUint256(value, field) {
52
+ return validateUint256(toBigInt(value, field), field);
53
+ }
30
54
  //# sourceMappingURL=convert-strings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convert-strings.js","sourceRoot":"","sources":["../../src/utils/convert-strings.ts"],"names":[],"mappings":";;;AAYA,8BAcC;AA1BD,oCAAwC;AAE3B,QAAA,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAEhE;;;;;;;GAOG;AACH,SAAgB,SAAS,CAAC,KAAa,EAAE,KAAa;IACpD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,oBAAY,CAAC;YACrB,CAAC,KAAK,CAAC,EAAE,oBAAoB;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,QAAQ,GAAG,mBAAW,EAAE,CAAC;QAC3B,MAAM,IAAI,oBAAY,CAAC;YACrB,CAAC,KAAK,CAAC,EAAE,yCAAyC;SACnD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"convert-strings.js","sourceRoot":"","sources":["../../src/utils/convert-strings.ts"],"names":[],"mappings":";;;AAYA,4BAQC;AAUD,0CAOC;AAWD,8BAEC;AAlDD,oCAAwC;AAE3B,QAAA,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAEhE;;;;;;;GAOG;AACH,SAAgB,QAAQ,CAAC,KAAa,EAAE,KAAa;IACnD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,oBAAY,CAAC;YACrB,CAAC,KAAK,CAAC,EAAE,oBAAoB;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,QAAgB,EAAE,KAAa;IAC7D,IAAI,QAAQ,GAAG,mBAAW,EAAE,CAAC;QAC3B,MAAM,IAAI,oBAAY,CAAC;YACrB,CAAC,KAAK,CAAC,EAAE,yCAAyC;SACnD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,SAAS,CAAC,KAAa,EAAE,KAAa;IACpD,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openzeppelin/wizard",
3
- "version": "0.10.5",
3
+ "version": "0.10.6",
4
4
  "description": "A boilerplate generator to get started with OpenZeppelin Contracts",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": "https://github.com/OpenZeppelin/contracts-wizard",
@@ -19,6 +19,6 @@ export function withCommonDefaults(opts: CommonOptions): Required<CommonOptions>
19
19
  return {
20
20
  access: opts.access ?? false,
21
21
  upgradeable: opts.upgradeable ?? false,
22
- info: opts.info ?? {},
22
+ info: { ...defaults.info, ...(opts.info ?? {}) },
23
23
  };
24
24
  }
package/src/contract.ts CHANGED
@@ -100,9 +100,9 @@ export class ContractBuilder implements Contract {
100
100
 
101
101
  readonly variableOrErrorMap: Map<string, VariableOrErrorDefinition> = new Map<string, VariableOrErrorDefinition>();
102
102
  private parentMap: Map<string, Parent> = new Map<string, Parent>();
103
+ private functionMap: Map<string, ContractFunction> = new Map<string, ContractFunction>();
103
104
  private libraryMap: Map<string, Library> = new Map<string, Library>();
104
- private functionMap: Map<string, ContractFunction> = new Map();
105
- private structMap: Map<string, ContractStruct> = new Map();
105
+ private structMap: Map<string, ContractStruct> = new Map<string, ContractStruct>();
106
106
 
107
107
  constructor(name: string) {
108
108
  this.name = toIdentifier(name, true);
package/src/erc20.ts CHANGED
@@ -173,7 +173,7 @@ export function isValidChainId(str: string): boolean {
173
173
  return chainIdPattern.test(str);
174
174
  }
175
175
 
176
- function scaleByPowerOfTen(base: bigint, exponent: number): bigint {
176
+ export function scaleByPowerOfTen(base: bigint, exponent: number): bigint {
177
177
  if (exponent < 0) {
178
178
  return base / BigInt(10) ** BigInt(-exponent);
179
179
  } else {
@@ -181,55 +181,74 @@ function scaleByPowerOfTen(base: bigint, exponent: number): bigint {
181
181
  }
182
182
  }
183
183
 
184
+ export interface PremintCalculation {
185
+ units: string;
186
+ exp: string;
187
+ decimalPlace: number;
188
+ }
189
+
190
+ export function calculatePremint(amount: string): PremintCalculation | undefined {
191
+ const m = amount.match(premintPattern);
192
+ if (!m) {
193
+ throw new OptionsError({
194
+ premint: 'Not a valid number',
195
+ });
196
+ }
197
+
198
+ const integer = m[1]?.replace(/^0+/, '') ?? '';
199
+ const decimals = m[2]?.replace(/0+$/, '') ?? '';
200
+ const exponent = Number(m[3] ?? 0);
201
+
202
+ if (Number(integer + decimals) > 0) {
203
+ const decimalPlace = decimals.length - exponent;
204
+ const zeroes = new Array(Math.max(0, -decimalPlace)).fill('0').join('');
205
+ const units = integer + decimals + zeroes;
206
+ const exp = decimalPlace <= 0 ? 'decimals()' : `(decimals() - ${decimalPlace})`;
207
+
208
+ return { units, exp, decimalPlace };
209
+ } else {
210
+ return undefined;
211
+ }
212
+ }
213
+
184
214
  function addPremint(
185
215
  c: ContractBuilder,
186
216
  amount: string,
187
217
  premintChainId: string,
188
218
  crossChainBridging: CrossChainBridging,
189
219
  ) {
190
- const m = amount.match(premintPattern);
191
- if (m) {
192
- const integer = m[1]?.replace(/^0+/, '') ?? '';
193
- const decimals = m[2]?.replace(/0+$/, '') ?? '';
194
- const exponent = Number(m[3] ?? 0);
195
-
196
- if (Number(integer + decimals) > 0) {
197
- const decimalPlace = decimals.length - exponent;
198
- const zeroes = new Array(Math.max(0, -decimalPlace)).fill('0').join('');
199
- const units = integer + decimals + zeroes;
200
- const exp = decimalPlace <= 0 ? 'decimals()' : `(decimals() - ${decimalPlace})`;
220
+ const premintCalculation = calculatePremint(amount);
221
+ if (premintCalculation === undefined) {
222
+ return;
223
+ }
201
224
 
202
- const validatedBaseUnits = toUint256(units, 'premint');
203
- checkPotentialPremintOverflow(validatedBaseUnits, decimalPlace);
225
+ const { units, exp, decimalPlace } = premintCalculation;
204
226
 
205
- c.addConstructorArgument({ type: 'address', name: 'recipient' });
227
+ const validatedBaseUnits = toUint256(units, 'premint');
228
+ checkPotentialPremintOverflow(validatedBaseUnits, decimalPlace);
206
229
 
207
- const mintLine = `_mint(recipient, ${units} * 10 ** ${exp});`;
230
+ c.addConstructorArgument({ type: 'address', name: 'recipient' });
208
231
 
209
- if (crossChainBridging) {
210
- if (premintChainId === '') {
211
- throw new OptionsError({
212
- premintChainId: 'Chain ID is required when using Premint with Cross-Chain Bridging',
213
- });
214
- }
232
+ const mintLine = `_mint(recipient, ${units} * 10 ** ${exp});`;
215
233
 
216
- if (!isValidChainId(premintChainId)) {
217
- throw new OptionsError({
218
- premintChainId: 'Not a valid chain ID',
219
- });
220
- }
234
+ if (crossChainBridging) {
235
+ if (premintChainId === '') {
236
+ throw new OptionsError({
237
+ premintChainId: 'Chain ID is required when using Premint with Cross-Chain Bridging',
238
+ });
239
+ }
221
240
 
222
- c.addConstructorCode(`if (block.chainid == ${premintChainId}) {`);
223
- c.addConstructorCode(` ${mintLine}`);
224
- c.addConstructorCode(`}`);
225
- } else {
226
- c.addConstructorCode(mintLine);
227
- }
241
+ if (!isValidChainId(premintChainId)) {
242
+ throw new OptionsError({
243
+ premintChainId: 'Not a valid chain ID',
244
+ });
228
245
  }
246
+
247
+ c.addConstructorCode(`if (block.chainid == ${premintChainId}) {`);
248
+ c.addConstructorCode(` ${mintLine}`);
249
+ c.addConstructorCode(`}`);
229
250
  } else {
230
- throw new OptionsError({
231
- premint: 'Not a valid number',
232
- });
251
+ c.addConstructorCode(mintLine);
233
252
  }
234
253
  }
235
254
 
package/src/index.ts CHANGED
@@ -1,21 +1,37 @@
1
+ // ===== Public API =====
2
+
3
+ export { erc20, erc721, erc1155, stablecoin, realWorldAsset, account, governor, custom } from './api';
4
+ export type { WizardContractAPI, AccessControlAPI } from './api';
5
+
6
+ export type { ERC20Options } from './erc20';
7
+ export type { ERC721Options } from './erc721';
8
+ export type { ERC1155Options } from './erc1155';
9
+ export type { StablecoinOptions } from './stablecoin';
10
+ export type { AccountOptions } from './account';
11
+ export type { GovernorOptions } from './governor';
12
+ export type { CustomOptions } from './custom';
13
+
14
+ // ===== Internal API - Intended for use by other Wizard packages only =====
15
+
1
16
  export type { GenericOptions, KindedOptions } from './build-generic';
2
17
  export { buildGeneric } from './build-generic';
3
18
 
4
19
  export { generateAlternatives } from './generate/alternatives';
5
20
 
6
- export type { Contract, BaseFunction, Value, ReferencedContract } from './contract';
21
+ export type { Contract, BaseFunction, Value, ReferencedContract, FunctionArgument } from './contract';
7
22
  export { ContractBuilder } from './contract';
8
23
 
9
24
  export { printContract } from './print';
10
25
 
11
26
  export type { Access } from './set-access-control';
27
+ export { accessOptions, setAccessControl, requireAccessControl } from './set-access-control';
28
+ export { addPausable } from './add-pausable';
12
29
  export type { Upgradeable } from './set-upgradeable';
13
30
  export type { Info } from './set-info';
14
31
 
15
32
  export { premintPattern, chainIdPattern } from './erc20';
16
- export { defaults as infoDefaults, infoOptions, setInfo } from './set-info';
17
- export { accessOptions, setAccessControl, requireAccessControl } from './set-access-control';
18
- export { addPausable } from './add-pausable';
33
+ export { defaults as infoDefaults, setInfo, infoOptions } from './set-info';
34
+ export { supportsInterface } from './common-functions';
19
35
 
20
36
  export type { OptionsErrorMessages } from './error';
21
37
  export { OptionsError } from './error';
@@ -23,21 +39,17 @@ export { OptionsError } from './error';
23
39
  export type { Kind } from './kind';
24
40
  export { sanitizeKind } from './kind';
25
41
 
26
- export { erc20, erc721, erc1155, stablecoin, realWorldAsset, account, governor, custom } from './api';
27
- export type { WizardContractAPI, AccessControlAPI } from './api';
28
-
29
42
  export { compatibleContractsSemver } from './utils/version';
30
- export { findCover } from './utils/find-cover';
31
- export { defineFunctions } from './utils/define-functions';
32
43
 
44
+ export { defineFunctions } from './utils/define-functions';
33
45
  export type { CommonOptions } from './common-options';
34
46
  export { withCommonDefaults, defaults as commonDefaults } from './common-options';
35
- export { supportsInterface } from './common-functions';
36
-
37
- export type { ERC20Options } from './erc20';
38
- export type { ERC721Options } from './erc721';
39
- export type { ERC1155Options } from './erc1155';
40
- export type { StablecoinOptions } from './stablecoin';
41
- export type { AccountOptions } from './account';
42
- export type { GovernorOptions } from './governor';
43
- export type { CustomOptions } from './custom';
47
+ export type { ClockMode } from './set-clock-mode';
48
+ export { clockModeDefault, setClockMode, clockModeOptions } from './set-clock-mode';
49
+ export { toBigInt } from './utils/convert-strings';
50
+ export type { Options } from './options';
51
+ export type { Lines } from './utils/format-lines';
52
+ export { formatLinesWithSpaces, spaceBetween } from './utils/format-lines';
53
+ export { findCover } from './utils/find-cover';
54
+ export type { PremintCalculation } from './erc20';
55
+ export { calculatePremint as calculateERC20Premint, scaleByPowerOfTen } from './erc20';
package/src/options.ts CHANGED
@@ -29,8 +29,10 @@ export interface Options {
29
29
  transformImport?: (parent: ImportContract) => ImportContract;
30
30
  /**
31
31
  * Add additional libraries to the compatibility banner printed at the top of the contract.
32
+ *
33
+ * If `alwaysKeepOzPrefix` is true, the library name will always keep the "OpenZeppelin " prefix, even if there are multiple libraries from OpenZeppelin being imported.
32
34
  */
33
- additionalCompatibleLibraries?: { name: string; path: string; version: string }[];
35
+ additionalCompatibleLibraries?: { name: string; path: string; version: string; alwaysKeepOzPrefix?: boolean }[];
34
36
  }
35
37
 
36
38
  export interface Helpers extends Required<Options> {
package/src/print.ts CHANGED
@@ -75,15 +75,20 @@ function printVariableOrErrorDefinitionsWithoutComments(
75
75
  return withoutComments.map(v => v.code);
76
76
  }
77
77
 
78
+ type LibraryDescription = {
79
+ nameAndVersion: string;
80
+ alwaysKeepOzPrefix?: boolean;
81
+ };
82
+
78
83
  function printCompatibleLibraryVersions(contract: Contract, opts?: Options): string {
79
- const libraries: string[] = [];
84
+ const libraryDescriptions: LibraryDescription[] = [];
80
85
  if (importsLibrary(contract, '@openzeppelin/contracts')) {
81
- libraries.push(`OpenZeppelin Contracts ${compatibleContractsSemver}`);
86
+ libraryDescriptions.push({ nameAndVersion: `OpenZeppelin Contracts ${compatibleContractsSemver}` });
82
87
  }
83
88
  if (importsLibrary(contract, '@openzeppelin/community-contracts')) {
84
89
  try {
85
90
  const commit = getCommunityContractsGitCommit();
86
- libraries.push(`Community Contracts commit ${commit}`);
91
+ libraryDescriptions.push({ nameAndVersion: `OpenZeppelin Community Contracts commit ${commit}` });
87
92
  } catch (e) {
88
93
  console.error(e);
89
94
  }
@@ -91,14 +96,35 @@ function printCompatibleLibraryVersions(contract: Contract, opts?: Options): str
91
96
  if (opts?.additionalCompatibleLibraries) {
92
97
  for (const library of opts.additionalCompatibleLibraries) {
93
98
  if (importsLibrary(contract, library.path)) {
94
- libraries.push(`${library.name} ${library.version}`);
99
+ libraryDescriptions.push({
100
+ nameAndVersion: `${library.name} ${library.version}`,
101
+ alwaysKeepOzPrefix: library.alwaysKeepOzPrefix,
102
+ });
95
103
  }
96
104
  }
97
105
  }
98
106
 
99
- if (libraries.length === 0) return '';
100
- if (libraries.length === 1) return `// Compatible with ${libraries[0]}`;
101
- return `// Compatible with ${libraries.slice(0, -1).join(', ')} and ${libraries.slice(-1)}`;
107
+ if (libraryDescriptions.length === 0) {
108
+ return '';
109
+ } else if (libraryDescriptions.length === 1) {
110
+ return `// Compatible with ${libraryDescriptions[0]!.nameAndVersion}`;
111
+ } else {
112
+ const OZ_PREFIX_WITH_SPACE = 'OpenZeppelin ';
113
+ if (libraryDescriptions[0]!.nameAndVersion.startsWith(OZ_PREFIX_WITH_SPACE)) {
114
+ for (let i = 1; i < libraryDescriptions.length; i++) {
115
+ if (
116
+ libraryDescriptions[i]!.nameAndVersion.startsWith(OZ_PREFIX_WITH_SPACE) &&
117
+ !libraryDescriptions[i]!.alwaysKeepOzPrefix
118
+ ) {
119
+ libraryDescriptions[i]!.nameAndVersion = libraryDescriptions[i]!.nameAndVersion.slice(
120
+ OZ_PREFIX_WITH_SPACE.length,
121
+ );
122
+ }
123
+ }
124
+ }
125
+ const librariesToPrint = libraryDescriptions.map(l => l.nameAndVersion);
126
+ return `// Compatible with ${librariesToPrint.slice(0, -1).join(', ')} and ${librariesToPrint.slice(-1)}`;
127
+ }
102
128
  }
103
129
 
104
130
  function printInheritance(contract: Contract, { transformName }: Helpers): [] | [string] {
@@ -334,30 +360,25 @@ function printNatspecTags(tags: NatspecTag[]): string[] {
334
360
  }
335
361
 
336
362
  function printImports(imports: ImportContract[], helpers: Helpers): string[] {
337
- // Sort imports by name
338
- imports.sort((a, b) => {
339
- if (a.name < b.name) return -1;
340
- if (a.name > b.name) return 1;
341
- return 0;
342
- });
343
-
344
- const lines: string[] = [];
345
- imports.map(p => {
346
- const importContract = helpers.transformImport(p);
347
- lines.push(`import {${importContract.name}} from "${importContract.path}";`);
348
- });
363
+ const itemByPath = new Map<string, Set<string>>();
349
364
 
350
- return lines;
365
+ for (const p of imports) {
366
+ const { name, path } = helpers.transformImport(p);
367
+ const _ = itemByPath.get(path)?.add(name) ?? itemByPath.set(path, new Set([name]));
368
+ }
369
+
370
+ return Array.from(itemByPath.keys())
371
+ .sort()
372
+ .map(path => `import {${Array.from(itemByPath.get(path)!).sort().join(', ')}} from "${path}";`);
351
373
  }
352
374
 
353
375
  function printLibraries(contract: Contract, { transformName }: Helpers): string[] {
354
376
  if (!contract.libraries || contract.libraries.length === 0) return [];
355
377
 
356
378
  return contract.libraries
357
- .sort((a, b) => a.library.name.localeCompare(b.library.name))
358
- .flatMap(lib =>
359
- [...lib.usingFor]
360
- .sort((a, b) => a.localeCompare(b))
361
- .map(type => `using ${transformName(lib.library)} for ${type};`),
362
- );
379
+ .sort((a, b) => a.library.name.localeCompare(b.library.name)) // Sort by import path
380
+ .map(lib => {
381
+ const sortedTypes = Array.from(lib.usingFor).sort((a, b) => a.localeCompare(b)); // Sort types
382
+ return `using ${transformName(lib.library)} for ${sortedTypes.join(', ')};`;
383
+ });
363
384
  }
@@ -3,21 +3,32 @@ import { OptionsError } from '../error';
3
3
  export const UINT256_MAX = BigInt(2) ** BigInt(256) - BigInt(1);
4
4
 
5
5
  /**
6
- * Checks that a string is a valid `uint256` value and converts it to bigint.
6
+ * Checks that a string is a valid number, and convert to bigint.
7
7
  *
8
8
  * @param value The string value to check and convert.
9
9
  * @param field The field name to use in the error message if the value is invalid.
10
- * @throws OptionsError if the value is not a valid number or is greater than the maximum value for `uint256`.
10
+ * @throws OptionsError if the value is not a valid number.
11
11
  * @returns The validated value as a bigint.
12
12
  */
13
- export function toUint256(value: string, field: string): bigint {
13
+ export function toBigInt(value: string, field: string): bigint {
14
14
  const isValidNumber = /^\d+$/.test(value);
15
15
  if (!isValidNumber) {
16
16
  throw new OptionsError({
17
17
  [field]: 'Not a valid number',
18
18
  });
19
19
  }
20
- const numValue = BigInt(value);
20
+ return BigInt(value);
21
+ }
22
+
23
+ /**
24
+ * Checks that a bigint value fits within `uint256`.
25
+ *
26
+ * @param numValue The value to check.
27
+ * @param field The field name to use in the error if the value is invalid.
28
+ * @throws OptionsError if the value is greater than the maximum value for `uint256`.
29
+ * @returns The value as a bigint.
30
+ */
31
+ export function validateUint256(numValue: bigint, field: string): bigint {
21
32
  if (numValue > UINT256_MAX) {
22
33
  throw new OptionsError({
23
34
  [field]: 'Value is greater than uint256 max value',
@@ -25,3 +36,16 @@ export function toUint256(value: string, field: string): bigint {
25
36
  }
26
37
  return numValue;
27
38
  }
39
+
40
+ /**
41
+ * Checks that a string is a valid number, and fits within `uint256`.
42
+ * Convenience function that calls `toBigInt` and `validateUint256`.
43
+ *
44
+ * @param value The value to check.
45
+ * @param field The field name to use in the error if the value is invalid.
46
+ * @throws OptionsError if the value is not a valid number or is greater than the maximum value for `uint256`.
47
+ * @returns The value as a bigint.
48
+ */
49
+ export function toUint256(value: string, field: string): bigint {
50
+ return validateUint256(toBigInt(value, field), field);
51
+ }