@openzeppelin/wizard-stellar 0.6.0 → 0.6.2

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.
@@ -5,6 +5,7 @@ export declare function printFungible(opts?: FungibleOptions): string;
5
5
  export interface FungibleOptions extends CommonContractOptions {
6
6
  name: string;
7
7
  symbol: string;
8
+ decimals?: string;
8
9
  burnable?: boolean;
9
10
  votes?: boolean;
10
11
  pausable?: boolean;
@@ -25,5 +26,5 @@ export declare const premintPattern: RegExp;
25
26
  * @throws OptionsError if `premint` has more than one decimal character or is more precise than allowed by the `decimals` argument.
26
27
  */
27
28
  export declare function getInitialSupply(premint: string, decimals: number): string;
28
- export declare const functions: Record<"symbol" | "name" | "total_supply" | "balance" | "allowance" | "transfer" | "transfer_from" | "approve" | "decimals" | "burn" | "burn_from" | "mint" | "mint_with_caller", import("./contract").BaseFunction>;
29
+ export declare const functions: Record<"symbol" | "name" | "decimals" | "total_supply" | "balance" | "allowance" | "transfer" | "transfer_from" | "approve" | "burn" | "burn_from" | "mint" | "mint_with_caller", import("./contract").BaseFunction>;
29
30
  //# sourceMappingURL=fungible.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fungible.d.ts","sourceRoot":"","sources":["../src/fungible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAM7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAS9D,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAYrC,CAAC;AAEX,wBAAgB,aAAa,CAAC,IAAI,GAAE,eAA0B,GAAG,MAAM,CAEtE;AAED,MAAM,WAAW,eAAgB,SAAQ,qBAAqB;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,CAW7E;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAE/E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAsCpE;AA8ID,eAAO,MAAM,cAAc,QAAkB,CAAC;AAkB9C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+B1E;AAED,eAAO,MAAM,SAAS,sNA0FpB,CAAC"}
1
+ {"version":3,"file":"fungible.d.ts","sourceRoot":"","sources":["../src/fungible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAM7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAW9D,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAarC,CAAC;AAEX,wBAAgB,aAAa,CAAC,IAAI,GAAE,eAA0B,GAAG,MAAM,CAEtE;AAED,MAAM,WAAW,eAAgB,SAAQ,qBAAqB;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,CAY7E;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAE/E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAyCpE;AAiJD,eAAO,MAAM,cAAc,QAAkB,CAAC;AAkB9C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+B1E;AAED,eAAO,MAAM,SAAS,sNA0FpB,CAAC"}
package/dist/fungible.js CHANGED
@@ -18,9 +18,11 @@ const common_options_2 = require("./common-options");
18
18
  const print_1 = require("./print");
19
19
  const convert_strings_1 = require("./utils/convert-strings");
20
20
  const wizard_common_1 = require("@openzeppelin/wizard-common");
21
+ const DEFAULT_DECIMALS = 7;
21
22
  exports.defaults = {
22
23
  name: 'MyToken',
23
24
  symbol: 'MTK',
25
+ decimals: DEFAULT_DECIMALS.toString(),
24
26
  burnable: false,
25
27
  votes: false,
26
28
  pausable: false,
@@ -38,6 +40,7 @@ function withDefaults(opts) {
38
40
  return {
39
41
  ...opts,
40
42
  ...(0, common_options_1.withCommonContractDefaults)(opts),
43
+ decimals: opts.decimals ?? exports.defaults.decimals,
41
44
  burnable: opts.burnable ?? exports.defaults.burnable,
42
45
  votes: opts.votes ?? exports.defaults.votes,
43
46
  pausable: opts.pausable ?? exports.defaults.pausable,
@@ -52,9 +55,10 @@ function isAccessControlRequired(opts) {
52
55
  function buildFungible(opts) {
53
56
  const c = new contract_1.ContractBuilder(opts.name);
54
57
  const allOpts = withDefaults(opts);
55
- addBase(c, (0, convert_strings_1.toByteArray)(allOpts.name), (0, convert_strings_1.toByteArray)(allOpts.symbol), allOpts.votes, allOpts.pausable, allOpts.explicitImplementations);
58
+ const decimals = (0, convert_strings_1.toUint)(allOpts.decimals, 'decimals', 'u32');
59
+ addBase(c, (0, convert_strings_1.toByteArray)(allOpts.name), (0, convert_strings_1.toByteArray)(allOpts.symbol), decimals, allOpts.votes, allOpts.pausable, allOpts.explicitImplementations);
56
60
  if (allOpts.premint) {
57
- addPremint(c, allOpts.premint, allOpts.votes);
61
+ addPremint(c, allOpts.premint, decimals, allOpts.votes);
58
62
  }
59
63
  if (allOpts.pausable) {
60
64
  (0, add_pausable_1.addPausable)(c, allOpts.access, allOpts.explicitImplementations);
@@ -72,9 +76,9 @@ function buildFungible(opts) {
72
76
  (0, set_info_1.setInfo)(c, allOpts.info);
73
77
  return c;
74
78
  }
75
- function addBase(c, name, symbol, votes, pausable, explicitImplementations) {
79
+ function addBase(c, name, symbol, decimals, votes, pausable, explicitImplementations) {
76
80
  // Set metadata
77
- c.addConstructorCode(`Base::set_metadata(e, 7, String::from_str(e, "${name}"), String::from_str(e, "${symbol}"));`);
81
+ c.addConstructorCode(`Base::set_metadata(e, ${decimals}, String::from_str(e, "${name}"), String::from_str(e, "${symbol}"));`);
78
82
  // Set token functions
79
83
  c.addUseClause('stellar_tokens::fungible', 'Base');
80
84
  c.addUseClause('stellar_tokens::fungible', 'FungibleToken');
@@ -174,7 +178,7 @@ function addBurnable(c, votes, pausable, explicitImplementations) {
174
178
  }
175
179
  }
176
180
  exports.premintPattern = /^(\d*\.?\d*)$/;
177
- function addPremint(c, amount, votes) {
181
+ function addPremint(c, amount, decimals, votes) {
178
182
  if (amount !== undefined && amount !== '0') {
179
183
  if (!exports.premintPattern.test(amount)) {
180
184
  throw new error_1.OptionsError({
@@ -182,7 +186,7 @@ function addPremint(c, amount, votes) {
182
186
  });
183
187
  }
184
188
  // TODO: handle signed int?
185
- const premintAbsolute = (0, convert_strings_1.toUint)(getInitialSupply(amount, 7), 'premint', 'u128');
189
+ const premintAbsolute = (0, convert_strings_1.toUint)(getInitialSupply(amount, Number(decimals)), 'premint', 'u128');
186
190
  c.addConstructorArgument({ name: 'recipient', type: 'Address' });
187
191
  c.addConstructorCode(`${votes ? 'FungibleVotes' : 'Base'}::mint(e, &recipient, ${premintAbsolute});`);
188
192
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fungible.js","sourceRoot":"","sources":["../src/fungible.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fungible.js","sourceRoot":"","sources":["../src/fungible.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fungible.d.ts","sourceRoot":"","sources":["../../src/generate/fungible.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAqBnD,wBAAiB,uBAAuB,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAE/E"}
1
+ {"version":3,"file":"fungible.d.ts","sourceRoot":"","sources":["../../src/generate/fungible.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAsBnD,wBAAiB,uBAAuB,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAE/E"}
@@ -8,6 +8,7 @@ const booleans = [true, false];
8
8
  const blueprint = {
9
9
  name: ['MyToken'],
10
10
  symbol: ['MTK'],
11
+ decimals: ['7', '18'],
11
12
  burnable: booleans,
12
13
  votes: booleans,
13
14
  pausable: booleans,
@@ -1 +1 @@
1
- {"version":3,"file":"fungible.js","sourceRoot":"","sources":["../../src/generate/fungible.ts"],"names":[],"mappings":";;AAqBA,0DAEC;AAtBD,8DAAsD;AACtD,0CAA0C;AAC1C,iDAAsD;AAEtD,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAE/B,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,CAAC,SAAS,CAAC;IACjB,MAAM,EAAE,CAAC,KAAK,CAAC;IACf,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,MAAM,EAAE,kCAAa;IACrB,IAAI,EAAE,sBAAW;IACjB,uBAAuB,EAAE,QAAQ;CAClC,CAAC;AAEF,QAAe,CAAC,CAAC,uBAAuB;IACtC,KAAK,CAAC,CAAC,IAAA,mCAAoB,EAAC,SAAS,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"fungible.js","sourceRoot":"","sources":["../../src/generate/fungible.ts"],"names":[],"mappings":";;AAsBA,0DAEC;AAvBD,8DAAsD;AACtD,0CAA0C;AAC1C,iDAAsD;AAEtD,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAE/B,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,CAAC,SAAS,CAAC;IACjB,MAAM,EAAE,CAAC,KAAK,CAAC;IACf,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;IACrB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,MAAM,EAAE,kCAAa;IACrB,IAAI,EAAE,sBAAW;IACjB,uBAAuB,EAAE,QAAQ;CAClC,CAAC;AAEF,QAAe,CAAC,CAAC,uBAAuB;IACtC,KAAK,CAAC,CAAC,IAAA,mCAAoB,EAAC,SAAS,CAAC,CAAC;AACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stablecoin.d.ts","sourceRoot":"","sources":["../../src/generate/stablecoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAsB3E,wBAAiB,yBAAyB,IAAI,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAEnF"}
1
+ {"version":3,"file":"stablecoin.d.ts","sourceRoot":"","sources":["../../src/generate/stablecoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAuB3E,wBAAiB,yBAAyB,IAAI,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAEnF"}
@@ -9,6 +9,7 @@ const booleans = [true, false];
9
9
  const blueprint = {
10
10
  name: ['MyStablecoin'],
11
11
  symbol: ['MST'],
12
+ decimals: ['7', '18'],
12
13
  burnable: booleans,
13
14
  votes: booleans,
14
15
  pausable: booleans,
@@ -1 +1 @@
1
- {"version":3,"file":"stablecoin.js","sourceRoot":"","sources":["../../src/generate/stablecoin.ts"],"names":[],"mappings":";;AAsBA,8DAEC;AAxBD,8CAA2E;AAC3E,8DAAsD;AACtD,0CAA0C;AAC1C,iDAAsD;AAEtD,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAE/B,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,CAAC,cAAc,CAAC;IACtB,MAAM,EAAE,CAAC,KAAK,CAAC;IACf,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,MAAM,EAAE,kCAAa;IACrB,WAAW,EAAE,+BAAkB;IAC/B,IAAI,EAAE,sBAAW;IACjB,uBAAuB,EAAE,QAAQ;CAClC,CAAC;AAEF,QAAe,CAAC,CAAC,yBAAyB;IACxC,KAAK,CAAC,CAAC,IAAA,mCAAoB,EAAC,SAAS,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"stablecoin.js","sourceRoot":"","sources":["../../src/generate/stablecoin.ts"],"names":[],"mappings":";;AAuBA,8DAEC;AAzBD,8CAA2E;AAC3E,8DAAsD;AACtD,0CAA0C;AAC1C,iDAAsD;AAEtD,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAE/B,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,CAAC,cAAc,CAAC;IACtB,MAAM,EAAE,CAAC,KAAK,CAAC;IACf,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;IACrB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,MAAM,EAAE,kCAAa;IACrB,WAAW,EAAE,+BAAkB;IAC/B,IAAI,EAAE,sBAAW;IACjB,uBAAuB,EAAE,QAAQ;CAClC,CAAC;AAEF,QAAe,CAAC,CAAC,yBAAyB;IACxC,KAAK,CAAC,CAAC,IAAA,mCAAoB,EAAC,SAAS,CAAC,CAAC;AACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"set-info.d.ts","sourceRoot":"","sources":["../src/set-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,WAAW;;EAAsC,CAAC;AAE/D,eAAO,MAAM,QAAQ,EAAE,IAAyB,CAAC;AAEjD,MAAM,MAAM,IAAI,GAAG;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,wBAAgB,OAAO,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,IAAI,GAAG,IAAI,CAIpF"}
1
+ {"version":3,"file":"set-info.d.ts","sourceRoot":"","sources":["../src/set-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAelD,eAAO,MAAM,WAAW;;EAAsC,CAAC;AAE/D,eAAO,MAAM,QAAQ,EAAE,IAAyB,CAAC;AAEjD,MAAM,MAAM,IAAI,GAAG;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,wBAAgB,OAAO,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,IAAI,GAAG,IAAI,CAUpF"}
package/dist/set-info.js CHANGED
@@ -2,12 +2,27 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.defaults = exports.infoOptions = void 0;
4
4
  exports.setInfo = setInfo;
5
+ const error_1 = require("./error");
6
+ // These values are printed into a // comment line in the generated Rust. LF
7
+ // ends that comment, letting following text become source. CR and U+2028/U+2029
8
+ // cannot break out in Rust, but are rejected as defense in depth (review tools
9
+ // render U+2028/U+2029 as line breaks).
10
+ const LINE_TERMINATOR = /[\n\r\u2028\u2029]/u;
11
+ function checkSingleLine(value, field) {
12
+ if (LINE_TERMINATOR.test(value)) {
13
+ throw new error_1.OptionsError({ [field]: 'Must not contain line breaks' });
14
+ }
15
+ }
5
16
  exports.infoOptions = [{}, { license: 'WTFPL' }];
6
17
  exports.defaults = { license: 'MIT' };
7
18
  function setInfo(c, { securityContact, license }) {
8
- if (securityContact)
19
+ if (securityContact) {
20
+ checkSingleLine(securityContact, 'securityContact');
9
21
  c.addContractMetadata({ key: 'security_contact', value: securityContact });
10
- if (license)
22
+ }
23
+ if (license) {
24
+ checkSingleLine(license, 'license');
11
25
  c.license = license;
26
+ }
12
27
  }
13
28
  //# sourceMappingURL=set-info.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-info.js","sourceRoot":"","sources":["../src/set-info.ts"],"names":[],"mappings":";;;AAWA,0BAIC;AAbY,QAAA,WAAW,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAU,CAAC;AAElD,QAAA,QAAQ,GAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAOjD,SAAgB,OAAO,CAAC,CAAkB,EAAE,EAAE,eAAe,EAAE,OAAO,EAAQ;IAC5E,IAAI,eAAe;QAAE,CAAC,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;IAEhG,IAAI,OAAO;QAAE,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"set-info.js","sourceRoot":"","sources":["../src/set-info.ts"],"names":[],"mappings":";;;AAwBA,0BAUC;AAjCD,mCAAuC;AAEvC,4EAA4E;AAC5E,gFAAgF;AAChF,+EAA+E;AAC/E,wCAAwC;AACxC,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAE9C,SAAS,eAAe,CAAC,KAAa,EAAE,KAAa;IACnD,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,oBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,8BAA8B,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAEY,QAAA,WAAW,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAU,CAAC;AAElD,QAAA,QAAQ,GAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAOjD,SAAgB,OAAO,CAAC,CAAkB,EAAE,EAAE,eAAe,EAAE,OAAO,EAAQ;IAC5E,IAAI,eAAe,EAAE,CAAC;QACpB,eAAe,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;QACpD,CAAC,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACpC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,CAAC;AACH,CAAC"}
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * The actual latest version to use in links.
3
3
  */
4
- export declare const contractsVersion = "0.7.1";
5
- export declare const contractsVersionTag = "v0.7.1";
4
+ export declare const contractsVersion = "0.7.2";
5
+ export declare const contractsVersionTag = "v0.7.2";
6
6
  /**
7
7
  * Semantic version string representing of the minimum compatible version of Contracts to display in output.
8
8
  */
9
- export declare const compatibleContractsSemver = "^0.7.1";
9
+ export declare const compatibleContractsSemver = "^0.7.2";
10
10
  /**
11
11
  * The Soroban version for which compilation and testing have passing tests
12
12
  */
13
- export declare const compatibleSorobanVersion = "25.3.0";
13
+ export declare const compatibleSorobanVersion = "26.1.0";
14
14
  //# sourceMappingURL=version.d.ts.map
@@ -4,14 +4,14 @@ exports.compatibleSorobanVersion = exports.compatibleContractsSemver = exports.c
4
4
  /**
5
5
  * The actual latest version to use in links.
6
6
  */
7
- exports.contractsVersion = '0.7.1';
7
+ exports.contractsVersion = '0.7.2';
8
8
  exports.contractsVersionTag = `v${exports.contractsVersion}`;
9
9
  /**
10
10
  * Semantic version string representing of the minimum compatible version of Contracts to display in output.
11
11
  */
12
- exports.compatibleContractsSemver = '^0.7.1';
12
+ exports.compatibleContractsSemver = '^0.7.2';
13
13
  /**
14
14
  * The Soroban version for which compilation and testing have passing tests
15
15
  */
16
- exports.compatibleSorobanVersion = '25.3.0';
16
+ exports.compatibleSorobanVersion = '26.1.0';
17
17
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openzeppelin/wizard-stellar",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "description": "A boilerplate generator to get started with OpenZeppelin Stellar Soroban Contracts",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": "https://github.com/OpenZeppelin/contracts-wizard",
package/src/fungible.ts CHANGED
@@ -13,9 +13,12 @@ import { printContract } from './print';
13
13
  import { toByteArray, toUint } from './utils/convert-strings';
14
14
  import { pickKeys } from '@openzeppelin/wizard-common';
15
15
 
16
+ const DEFAULT_DECIMALS = 7;
17
+
16
18
  export const defaults: Required<FungibleOptions> = {
17
19
  name: 'MyToken',
18
20
  symbol: 'MTK',
21
+ decimals: DEFAULT_DECIMALS.toString(),
19
22
  burnable: false,
20
23
  votes: false,
21
24
  pausable: false,
@@ -34,6 +37,7 @@ export function printFungible(opts: FungibleOptions = defaults): string {
34
37
  export interface FungibleOptions extends CommonContractOptions {
35
38
  name: string;
36
39
  symbol: string;
40
+ decimals?: string;
37
41
  burnable?: boolean;
38
42
  votes?: boolean;
39
43
  pausable?: boolean;
@@ -46,6 +50,7 @@ export function withDefaults(opts: FungibleOptions): Required<FungibleOptions> {
46
50
  return {
47
51
  ...opts,
48
52
  ...withCommonContractDefaults(opts),
53
+ decimals: opts.decimals ?? defaults.decimals,
49
54
  burnable: opts.burnable ?? defaults.burnable,
50
55
  votes: opts.votes ?? defaults.votes,
51
56
  pausable: opts.pausable ?? defaults.pausable,
@@ -64,17 +69,20 @@ export function buildFungible(opts: FungibleOptions): ContractBuilder {
64
69
 
65
70
  const allOpts = withDefaults(opts);
66
71
 
72
+ const decimals = toUint(allOpts.decimals, 'decimals', 'u32');
73
+
67
74
  addBase(
68
75
  c,
69
76
  toByteArray(allOpts.name),
70
77
  toByteArray(allOpts.symbol),
78
+ decimals,
71
79
  allOpts.votes,
72
80
  allOpts.pausable,
73
81
  allOpts.explicitImplementations,
74
82
  );
75
83
 
76
84
  if (allOpts.premint) {
77
- addPremint(c, allOpts.premint, allOpts.votes);
85
+ addPremint(c, allOpts.premint, decimals, allOpts.votes);
78
86
  }
79
87
 
80
88
  if (allOpts.pausable) {
@@ -103,12 +111,15 @@ function addBase(
103
111
  c: ContractBuilder,
104
112
  name: string,
105
113
  symbol: string,
114
+ decimals: bigint,
106
115
  votes: boolean,
107
116
  pausable: boolean,
108
117
  explicitImplementations: boolean,
109
118
  ) {
110
119
  // Set metadata
111
- c.addConstructorCode(`Base::set_metadata(e, 7, String::from_str(e, "${name}"), String::from_str(e, "${symbol}"));`);
120
+ c.addConstructorCode(
121
+ `Base::set_metadata(e, ${decimals}, String::from_str(e, "${name}"), String::from_str(e, "${symbol}"));`,
122
+ );
112
123
 
113
124
  // Set token functions
114
125
  c.addUseClause('stellar_tokens::fungible', 'Base');
@@ -241,7 +252,7 @@ function addBurnable(c: ContractBuilder, votes: boolean, pausable: boolean, expl
241
252
 
242
253
  export const premintPattern = /^(\d*\.?\d*)$/;
243
254
 
244
- function addPremint(c: ContractBuilder, amount: string, votes: boolean) {
255
+ function addPremint(c: ContractBuilder, amount: string, decimals: bigint, votes: boolean) {
245
256
  if (amount !== undefined && amount !== '0') {
246
257
  if (!premintPattern.test(amount)) {
247
258
  throw new OptionsError({
@@ -250,7 +261,7 @@ function addPremint(c: ContractBuilder, amount: string, votes: boolean) {
250
261
  }
251
262
 
252
263
  // TODO: handle signed int?
253
- const premintAbsolute = toUint(getInitialSupply(amount, 7), 'premint', 'u128');
264
+ const premintAbsolute = toUint(getInitialSupply(amount, Number(decimals)), 'premint', 'u128');
254
265
 
255
266
  c.addConstructorArgument({ name: 'recipient', type: 'Address' });
256
267
  c.addConstructorCode(`${votes ? 'FungibleVotes' : 'Base'}::mint(e, &recipient, ${premintAbsolute});`);
@@ -8,6 +8,7 @@ const booleans = [true, false];
8
8
  const blueprint = {
9
9
  name: ['MyToken'],
10
10
  symbol: ['MTK'],
11
+ decimals: ['7', '18'],
11
12
  burnable: booleans,
12
13
  votes: booleans,
13
14
  pausable: booleans,
@@ -8,6 +8,7 @@ const booleans = [true, false];
8
8
  const blueprint = {
9
9
  name: ['MyStablecoin'],
10
10
  symbol: ['MST'],
11
+ decimals: ['7', '18'],
11
12
  burnable: booleans,
12
13
  votes: booleans,
13
14
  pausable: booleans,
package/src/set-info.ts CHANGED
@@ -1,4 +1,17 @@
1
1
  import type { ContractBuilder } from './contract';
2
+ import { OptionsError } from './error';
3
+
4
+ // These values are printed into a // comment line in the generated Rust. LF
5
+ // ends that comment, letting following text become source. CR and U+2028/U+2029
6
+ // cannot break out in Rust, but are rejected as defense in depth (review tools
7
+ // render U+2028/U+2029 as line breaks).
8
+ const LINE_TERMINATOR = /[\n\r\u2028\u2029]/u;
9
+
10
+ function checkSingleLine(value: string, field: string): void {
11
+ if (LINE_TERMINATOR.test(value)) {
12
+ throw new OptionsError({ [field]: 'Must not contain line breaks' });
13
+ }
14
+ }
2
15
 
3
16
  export const infoOptions = [{}, { license: 'WTFPL' }] as const;
4
17
 
@@ -10,7 +23,13 @@ export type Info = {
10
23
  };
11
24
 
12
25
  export function setInfo(c: ContractBuilder, { securityContact, license }: Info): void {
13
- if (securityContact) c.addContractMetadata({ key: 'security_contact', value: securityContact });
26
+ if (securityContact) {
27
+ checkSingleLine(securityContact, 'securityContact');
28
+ c.addContractMetadata({ key: 'security_contact', value: securityContact });
29
+ }
14
30
 
15
- if (license) c.license = license;
31
+ if (license) {
32
+ checkSingleLine(license, 'license');
33
+ c.license = license;
34
+ }
16
35
  }
@@ -1,15 +1,15 @@
1
1
  /**
2
2
  * The actual latest version to use in links.
3
3
  */
4
- export const contractsVersion = '0.7.1';
4
+ export const contractsVersion = '0.7.2';
5
5
  export const contractsVersionTag = `v${contractsVersion}`;
6
6
 
7
7
  /**
8
8
  * Semantic version string representing of the minimum compatible version of Contracts to display in output.
9
9
  */
10
- export const compatibleContractsSemver = '^0.7.1';
10
+ export const compatibleContractsSemver = '^0.7.2';
11
11
 
12
12
  /**
13
13
  * The Soroban version for which compilation and testing have passing tests
14
14
  */
15
- export const compatibleSorobanVersion = '25.3.0';
15
+ export const compatibleSorobanVersion = '26.1.0';