@cityofzion/blockchain-service 3.1.17 → 3.1.18

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.
@@ -1,13 +1,15 @@
1
1
  import BigNumber from 'bignumber.js';
2
2
  export declare class BSBigNumber extends BigNumber {
3
3
  constructor(value: BigNumber.Value, base?: number);
4
+ static _isValueString(value: BigNumber.Value): value is string;
5
+ static _isBaseNumber(base?: number): base is number;
4
6
  static ensureNumber(value: number | string | bigint | undefined): number;
5
7
  toBigInt(): bigint;
6
8
  protected _wrap(value: BigNumber): this;
7
- plus(n: BigNumber.Value, base?: number): this;
8
- minus(n: BigNumber.Value, base?: number): this;
9
- multipliedBy(n: BigNumber.Value, base?: number): this;
10
- dividedBy(n: BigNumber.Value, base?: number): this;
9
+ plus(value: BigNumber.Value, base?: number): this;
10
+ minus(value: BigNumber.Value, base?: number): this;
11
+ multipliedBy(value: BigNumber.Value, base?: number): this;
12
+ dividedBy(value: BigNumber.Value, base?: number): this;
11
13
  integerValue(roundingMode?: BigNumber.RoundingMode): this;
12
14
  }
13
15
  export declare class BSBigHumanAmount extends BSBigNumber {
@@ -8,13 +8,29 @@ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
8
  const error_1 = require("../error");
9
9
  class BSBigNumber extends bignumber_js_1.default {
10
10
  constructor(value, base) {
11
- super(value, base);
11
+ if (BSBigNumber._isValueString(value) && BSBigNumber._isBaseNumber(base)) {
12
+ super(value, base);
13
+ }
14
+ else {
15
+ super(value);
16
+ }
17
+ }
18
+ static _isValueString(value) {
19
+ return typeof value === 'string';
20
+ }
21
+ static _isBaseNumber(base) {
22
+ return typeof base === 'number';
12
23
  }
13
24
  static ensureNumber(value) {
14
- const bn = new bignumber_js_1.default(value || 0);
15
- if (bn.isNaN()) {
25
+ let bn;
26
+ try {
27
+ bn = new bignumber_js_1.default(value || 0);
28
+ }
29
+ catch {
16
30
  return 0;
17
31
  }
32
+ if (bn.isNaN())
33
+ return 0;
18
34
  return bn.toNumber();
19
35
  }
20
36
  toBigInt() {
@@ -23,17 +39,23 @@ class BSBigNumber extends bignumber_js_1.default {
23
39
  _wrap(value) {
24
40
  return new this.constructor(value);
25
41
  }
26
- plus(n, base) {
27
- return this._wrap(super.plus(n, base));
42
+ plus(value, base) {
43
+ return this._wrap(BSBigNumber._isValueString(value) && BSBigNumber._isBaseNumber(base) ? super.plus(value, base) : super.plus(value));
28
44
  }
29
- minus(n, base) {
30
- return this._wrap(super.minus(n, base));
45
+ minus(value, base) {
46
+ return this._wrap(BSBigNumber._isValueString(value) && BSBigNumber._isBaseNumber(base)
47
+ ? super.minus(value, base)
48
+ : super.minus(value));
31
49
  }
32
- multipliedBy(n, base) {
33
- return this._wrap(super.multipliedBy(n, base));
50
+ multipliedBy(value, base) {
51
+ return this._wrap(BSBigNumber._isValueString(value) && BSBigNumber._isBaseNumber(base)
52
+ ? super.multipliedBy(value, base)
53
+ : super.multipliedBy(value));
34
54
  }
35
- dividedBy(n, base) {
36
- return this._wrap(super.dividedBy(n, base));
55
+ dividedBy(value, base) {
56
+ return this._wrap(BSBigNumber._isValueString(value) && BSBigNumber._isBaseNumber(base)
57
+ ? super.dividedBy(value, base)
58
+ : super.dividedBy(value));
37
59
  }
38
60
  integerValue(roundingMode) {
39
61
  return this._wrap(super.integerValue(roundingMode));
@@ -47,7 +69,12 @@ class BSBigHumanAmount extends BSBigNumber {
47
69
  return b + c.replace(/\./g, '');
48
70
  });
49
71
  }
50
- if (!value || new bignumber_js_1.default(value).isNaN()) {
72
+ try {
73
+ if (!value || new bignumber_js_1.default(value).isNaN()) {
74
+ value = 0;
75
+ }
76
+ }
77
+ catch {
51
78
  value = 0;
52
79
  }
53
80
  super(value);
@@ -70,7 +97,12 @@ class BSBigHumanAmount extends BSBigNumber {
70
97
  exports.BSBigHumanAmount = BSBigHumanAmount;
71
98
  class BSBigUnitAmount extends BSBigNumber {
72
99
  constructor(value, decimals) {
73
- if (!value || new bignumber_js_1.default(value).isNaN()) {
100
+ try {
101
+ if (!value || new bignumber_js_1.default(value).isNaN()) {
102
+ value = 0;
103
+ }
104
+ }
105
+ catch {
74
106
  value = 0;
75
107
  }
76
108
  super(value);
@@ -1,7 +1,7 @@
1
1
  export declare class BSKeychainHelper {
2
2
  #private;
3
3
  static generateNeoPrivateKeyFromMnemonic(mnemonic: string, path: string): string;
4
- static generateEd25519KeyFromMnemonic(mnemonic: string, path: string): Buffer<ArrayBufferLike>;
4
+ static generateEd25519KeyFromMnemonic(mnemonic: string, path: string): Buffer<ArrayBuffer>;
5
5
  static generateMnemonic(): string;
6
6
  static isValidMnemonic(word: string | string[]): boolean;
7
7
  static isMnemonic(word: string | string[]): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cityofzion/blockchain-service",
3
- "version": "3.1.17",
3
+ "version": "3.1.18",
4
4
  "repository": "https://github.com/CityOfZion/blockchain-services",
5
5
  "license": "GPL-3.0-only",
6
6
  "author": "Coz",
@@ -10,24 +10,24 @@
10
10
  "/dist"
11
11
  ],
12
12
  "dependencies": {
13
- "axios": "~1.15.0",
14
- "bignumber.js": "~9.3.1",
13
+ "axios": "1.16.0",
14
+ "bignumber.js": "~11.1.1",
15
15
  "bip39": "~3.1.0",
16
16
  "date-fns": "~4.1.0",
17
17
  "elliptic": "6.6.1",
18
18
  "lodash.isequal": "~4.5.0",
19
- "query-string": "7.1.3"
19
+ "query-string": "9.3.1"
20
20
  },
21
21
  "devDependencies": {
22
- "@ledgerhq/hw-transport": "~6.32.0",
22
+ "@ledgerhq/hw-transport": "6.35.1",
23
23
  "@types/elliptic": "~6.4.18",
24
24
  "@types/lodash.isequal": "~4.5.8",
25
- "@types/node": "~24.5.2",
26
- "dotenv": "~17.3.1",
27
- "eslint": "~9.37.0",
25
+ "@types/node": "~25.6.0",
26
+ "dotenv": "~17.4.2",
27
+ "eslint": "~10.3.0",
28
28
  "typed-emitter": "~2.1.0",
29
- "typescript": "5.9.2",
30
- "vitest": "~4.0.18"
29
+ "typescript": "6.0.3",
30
+ "vitest": "~4.1.5"
31
31
  },
32
32
  "scripts": {
33
33
  "build": "rm -rf ./dist && rm -f *.tgz && npm run typecheck && tsc --project tsconfig.build.json",