koilib 9.4.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/Serializer.js CHANGED
@@ -29,6 +29,29 @@ const protobufjs_1 = require("protobufjs");
29
29
  const koinosPbToProto = __importStar(require("@roamin/koinos-pb-to-proto"));
30
30
  const utils_1 = require("./utils");
31
31
  const googleProtobufDescriptor_1 = require("./protobuf/googleProtobufDescriptor");
32
+ /**
33
+ * Google namespace of the types with koilib's complete copy of
34
+ * descriptor.proto. Contracts include descriptor.proto only because
35
+ * koinos/options.proto extends it, and the embedded copy can be
36
+ * incomplete (missing FieldDescriptorProto.Label, for instance), so
37
+ * its types are replaced while any other google types are kept.
38
+ */
39
+ function withGoogleDescriptor(google) {
40
+ var _a;
41
+ const descriptor = googleProtobufDescriptor_1.googleProtobufDescriptor.google.nested.protobuf;
42
+ const embedded = (_a = google === null || google === void 0 ? void 0 : google.nested) === null || _a === void 0 ? void 0 : _a.protobuf;
43
+ return {
44
+ ...google,
45
+ nested: {
46
+ ...google === null || google === void 0 ? void 0 : google.nested,
47
+ protobuf: {
48
+ ...embedded,
49
+ ...descriptor,
50
+ nested: { ...embedded === null || embedded === void 0 ? void 0 : embedded.nested, ...descriptor.nested },
51
+ },
52
+ },
53
+ };
54
+ }
32
55
  const OP_BYTES_1 = "(btype)";
33
56
  const OP_BYTES_2 = "(koinos.btype)";
34
57
  const nativeTypes = [
@@ -106,6 +129,7 @@ const nativeTypes = [
106
129
  */
107
130
  class Serializer {
108
131
  constructor(types, opts) {
132
+ var _a;
109
133
  /**
110
134
  * Preformat bytes for base64url, base58 or hex string
111
135
  */
@@ -121,18 +145,20 @@ class Serializer {
121
145
  this.types = types;
122
146
  if (typeof types === "string") {
123
147
  const protos = koinosPbToProto.convert((0, utils_1.decodeBase64)(types));
124
- this.root = new protobufjs_1.Root();
148
+ this.root = protobufjs_1.Root.fromJSON({ nested: googleProtobufDescriptor_1.googleProtobufDescriptor });
125
149
  for (const proto of protos) {
150
+ // descriptor.proto is proto2 and loses its labels when converted
151
+ // to text, so use the copy loaded above instead
152
+ if (proto.file === "google/protobuf/descriptor.proto")
153
+ continue;
126
154
  (0, protobufjs_1.parse)(proto.definition, this.root, { keepCase: true });
127
155
  }
128
156
  }
129
157
  else {
130
158
  this.root = protobufjs_1.Root.fromJSON({
131
159
  nested: {
132
- // import google protobuf descriptor if not present
133
- ...googleProtobufDescriptor_1.googleProtobufDescriptor,
134
- // import types
135
160
  ...types.nested,
161
+ google: withGoogleDescriptor((_a = types.nested) === null || _a === void 0 ? void 0 : _a.google),
136
162
  },
137
163
  });
138
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Serializer.js","sourceRoot":"","sources":["../src/Serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Serializer.js","sourceRoot":"","sources":["../src/Serializer.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,29 @@ const protobufjs_1 = require("protobufjs");
29
29
  const koinosPbToProto = __importStar(require("@roamin/koinos-pb-to-proto"));
30
30
  const utils_1 = require("./utils");
31
31
  const googleProtobufDescriptor_1 = require("./protobuf/googleProtobufDescriptor");
32
+ /**
33
+ * Google namespace of the types with koilib's complete copy of
34
+ * descriptor.proto. Contracts include descriptor.proto only because
35
+ * koinos/options.proto extends it, and the embedded copy can be
36
+ * incomplete (missing FieldDescriptorProto.Label, for instance), so
37
+ * its types are replaced while any other google types are kept.
38
+ */
39
+ function withGoogleDescriptor(google) {
40
+ var _a;
41
+ const descriptor = googleProtobufDescriptor_1.googleProtobufDescriptor.google.nested.protobuf;
42
+ const embedded = (_a = google === null || google === void 0 ? void 0 : google.nested) === null || _a === void 0 ? void 0 : _a.protobuf;
43
+ return {
44
+ ...google,
45
+ nested: {
46
+ ...google === null || google === void 0 ? void 0 : google.nested,
47
+ protobuf: {
48
+ ...embedded,
49
+ ...descriptor,
50
+ nested: { ...embedded === null || embedded === void 0 ? void 0 : embedded.nested, ...descriptor.nested },
51
+ },
52
+ },
53
+ };
54
+ }
32
55
  const OP_BYTES_1 = "(btype)";
33
56
  const OP_BYTES_2 = "(koinos.btype)";
34
57
  const nativeTypes = [
@@ -106,6 +129,7 @@ const nativeTypes = [
106
129
  */
107
130
  class Serializer {
108
131
  constructor(types, opts) {
132
+ var _a;
109
133
  /**
110
134
  * Preformat bytes for base64url, base58 or hex string
111
135
  */
@@ -121,18 +145,20 @@ class Serializer {
121
145
  this.types = types;
122
146
  if (typeof types === "string") {
123
147
  const protos = koinosPbToProto.convert((0, utils_1.decodeBase64)(types));
124
- this.root = new protobufjs_1.Root();
148
+ this.root = protobufjs_1.Root.fromJSON({ nested: googleProtobufDescriptor_1.googleProtobufDescriptor });
125
149
  for (const proto of protos) {
150
+ // descriptor.proto is proto2 and loses its labels when converted
151
+ // to text, so use the copy loaded above instead
152
+ if (proto.file === "google/protobuf/descriptor.proto")
153
+ continue;
126
154
  (0, protobufjs_1.parse)(proto.definition, this.root, { keepCase: true });
127
155
  }
128
156
  }
129
157
  else {
130
158
  this.root = protobufjs_1.Root.fromJSON({
131
159
  nested: {
132
- // import google protobuf descriptor if not present
133
- ...googleProtobufDescriptor_1.googleProtobufDescriptor,
134
- // import types
135
160
  ...types.nested,
161
+ google: withGoogleDescriptor((_a = types.nested) === null || _a === void 0 ? void 0 : _a.google),
136
162
  },
137
163
  });
138
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Serializer.js","sourceRoot":"","sources":["../../src/Serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Serializer.js","sourceRoot":"","sources":["../../src/Serializer.ts"],"names":[],"mappings":"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"}
@@ -109,12 +109,26 @@ export declare function isChecksumWif(wif: string | Uint8Array): boolean;
109
109
  */
110
110
  export declare function formatUnits(value: string | number | bigint, decimals: number): string;
111
111
  /**
112
- * Function to format a decimal point number in an integer
112
+ * Function to format a decimal point number in an integer, without
113
+ * rounding.
114
+ *
115
+ * The value must be a string made of ASCII digits, an optional leading
116
+ * "-" and at most one "." or "," decimal separator, with at least one
117
+ * digit. Surrounding whitespace is ignored. Fractional digits beyond
118
+ * `decimals` are accepted only when they are zeros (the value is still
119
+ * exact); any other excess digit throws, so that the amount shown to
120
+ * the user is always the amount that gets encoded.
121
+ * @throws Error if the value is not a string in that format, cannot be
122
+ * represented exactly with `decimals` decimals, or `decimals` is not a
123
+ * non-negative integer.
113
124
  * @example
114
125
  * ```js
115
126
  * const amount = parseUnits("0.00123456", 8);
116
127
  * console.log(amount);
117
128
  * // '123456'
129
+ *
130
+ * parseUnits("1.000000000", 8); // '100000000' (exact)
131
+ * parseUnits("1.999999995", 8); // throws: not representable
118
132
  * ```
119
133
  */
120
134
  export declare function parseUnits(value: string, decimals: number): string;
@@ -305,33 +305,47 @@ function formatUnits(value, decimals) {
305
305
  }
306
306
  exports.formatUnits = formatUnits;
307
307
  /**
308
- * Function to format a decimal point number in an integer
308
+ * Function to format a decimal point number in an integer, without
309
+ * rounding.
310
+ *
311
+ * The value must be a string made of ASCII digits, an optional leading
312
+ * "-" and at most one "." or "," decimal separator, with at least one
313
+ * digit. Surrounding whitespace is ignored. Fractional digits beyond
314
+ * `decimals` are accepted only when they are zeros (the value is still
315
+ * exact); any other excess digit throws, so that the amount shown to
316
+ * the user is always the amount that gets encoded.
317
+ * @throws Error if the value is not a string in that format, cannot be
318
+ * represented exactly with `decimals` decimals, or `decimals` is not a
319
+ * non-negative integer.
309
320
  * @example
310
321
  * ```js
311
322
  * const amount = parseUnits("0.00123456", 8);
312
323
  * console.log(amount);
313
324
  * // '123456'
325
+ *
326
+ * parseUnits("1.000000000", 8); // '100000000' (exact)
327
+ * parseUnits("1.999999995", 8); // throws: not representable
314
328
  * ```
315
329
  */
316
330
  function parseUnits(value, decimals) {
317
- const sign = value[0] === "-" ? "-" : "";
318
- // eslint-disable-next-line prefer-const
319
- let [integerPart, decimalPart] = value
320
- .replace("-", "")
321
- .replace(",", ".")
322
- .split(".");
323
- if (!decimalPart)
324
- decimalPart = "";
325
- decimalPart = decimalPart.padEnd(decimals, "0");
326
- if (decimalPart.length > decimals) {
327
- // approximate
328
- const miniDecimals = decimalPart.substring(decimals);
329
- decimalPart = decimalPart.substring(0, decimals);
330
- if (miniDecimals.startsWith("5")) {
331
- decimalPart = (BigInt(decimalPart) + BigInt(1)).toString();
332
- }
331
+ if (!Number.isInteger(decimals) || decimals < 0) {
332
+ throw new Error(`invalid decimals: ${String(decimals)}`);
333
+ }
334
+ if (typeof value !== "string") {
335
+ throw new Error(`invalid number: expected a string, got ${typeof value}`);
336
+ }
337
+ const match = /^(-?)(\d*)(?:[.,](\d*))?$/.exec(value.trim());
338
+ if (!match || (match[2] === "" && !match[3])) {
339
+ throw new Error(`invalid number: ${value}`);
340
+ }
341
+ const [, sign, integerPart, decimalPart = ""] = match;
342
+ if (decimalPart.length > decimals &&
343
+ /[1-9]/.test(decimalPart.slice(decimals))) {
344
+ throw new Error(`invalid number: ${value} cannot be represented with ${decimals} decimals`);
333
345
  }
334
- return `${sign}${`${integerPart}${decimalPart}`.replace(/^0+(?=\d)/, "")}`;
346
+ const fraction = decimalPart.slice(0, decimals).padEnd(decimals, "0");
347
+ const units = `${integerPart || "0"}${fraction}`.replace(/^0+(?=\d)/, "");
348
+ return `${sign}${units}`;
335
349
  }
336
350
  exports.parseUnits = parseUnits;
337
351
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/lib/utils.d.ts CHANGED
@@ -109,12 +109,26 @@ export declare function isChecksumWif(wif: string | Uint8Array): boolean;
109
109
  */
110
110
  export declare function formatUnits(value: string | number | bigint, decimals: number): string;
111
111
  /**
112
- * Function to format a decimal point number in an integer
112
+ * Function to format a decimal point number in an integer, without
113
+ * rounding.
114
+ *
115
+ * The value must be a string made of ASCII digits, an optional leading
116
+ * "-" and at most one "." or "," decimal separator, with at least one
117
+ * digit. Surrounding whitespace is ignored. Fractional digits beyond
118
+ * `decimals` are accepted only when they are zeros (the value is still
119
+ * exact); any other excess digit throws, so that the amount shown to
120
+ * the user is always the amount that gets encoded.
121
+ * @throws Error if the value is not a string in that format, cannot be
122
+ * represented exactly with `decimals` decimals, or `decimals` is not a
123
+ * non-negative integer.
113
124
  * @example
114
125
  * ```js
115
126
  * const amount = parseUnits("0.00123456", 8);
116
127
  * console.log(amount);
117
128
  * // '123456'
129
+ *
130
+ * parseUnits("1.000000000", 8); // '100000000' (exact)
131
+ * parseUnits("1.999999995", 8); // throws: not representable
118
132
  * ```
119
133
  */
120
134
  export declare function parseUnits(value: string, decimals: number): string;
package/lib/utils.js CHANGED
@@ -305,33 +305,47 @@ function formatUnits(value, decimals) {
305
305
  }
306
306
  exports.formatUnits = formatUnits;
307
307
  /**
308
- * Function to format a decimal point number in an integer
308
+ * Function to format a decimal point number in an integer, without
309
+ * rounding.
310
+ *
311
+ * The value must be a string made of ASCII digits, an optional leading
312
+ * "-" and at most one "." or "," decimal separator, with at least one
313
+ * digit. Surrounding whitespace is ignored. Fractional digits beyond
314
+ * `decimals` are accepted only when they are zeros (the value is still
315
+ * exact); any other excess digit throws, so that the amount shown to
316
+ * the user is always the amount that gets encoded.
317
+ * @throws Error if the value is not a string in that format, cannot be
318
+ * represented exactly with `decimals` decimals, or `decimals` is not a
319
+ * non-negative integer.
309
320
  * @example
310
321
  * ```js
311
322
  * const amount = parseUnits("0.00123456", 8);
312
323
  * console.log(amount);
313
324
  * // '123456'
325
+ *
326
+ * parseUnits("1.000000000", 8); // '100000000' (exact)
327
+ * parseUnits("1.999999995", 8); // throws: not representable
314
328
  * ```
315
329
  */
316
330
  function parseUnits(value, decimals) {
317
- const sign = value[0] === "-" ? "-" : "";
318
- // eslint-disable-next-line prefer-const
319
- let [integerPart, decimalPart] = value
320
- .replace("-", "")
321
- .replace(",", ".")
322
- .split(".");
323
- if (!decimalPart)
324
- decimalPart = "";
325
- decimalPart = decimalPart.padEnd(decimals, "0");
326
- if (decimalPart.length > decimals) {
327
- // approximate
328
- const miniDecimals = decimalPart.substring(decimals);
329
- decimalPart = decimalPart.substring(0, decimals);
330
- if (miniDecimals.startsWith("5")) {
331
- decimalPart = (BigInt(decimalPart) + BigInt(1)).toString();
332
- }
331
+ if (!Number.isInteger(decimals) || decimals < 0) {
332
+ throw new Error(`invalid decimals: ${String(decimals)}`);
333
+ }
334
+ if (typeof value !== "string") {
335
+ throw new Error(`invalid number: expected a string, got ${typeof value}`);
336
+ }
337
+ const match = /^(-?)(\d*)(?:[.,](\d*))?$/.exec(value.trim());
338
+ if (!match || (match[2] === "" && !match[3])) {
339
+ throw new Error(`invalid number: ${value}`);
340
+ }
341
+ const [, sign, integerPart, decimalPart = ""] = match;
342
+ if (decimalPart.length > decimals &&
343
+ /[1-9]/.test(decimalPart.slice(decimals))) {
344
+ throw new Error(`invalid number: ${value} cannot be represented with ${decimals} decimals`);
333
345
  }
334
- return `${sign}${`${integerPart}${decimalPart}`.replace(/^0+(?=\d)/, "")}`;
346
+ const fraction = decimalPart.slice(0, decimals).padEnd(decimals, "0");
347
+ const units = `${integerPart || "0"}${fraction}`.replace(/^0+(?=\d)/, "");
348
+ return `${sign}${units}`;
335
349
  }
336
350
  exports.parseUnits = parseUnits;
337
351
  /**