@ledgerhq/vault-cli 1.22.3 → 1.24.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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +22 -0
- package/bin/__tests__/getMVInstances.test.js +2 -2
- package/bin/__tests__/getMVInstances.test.js.map +1 -1
- package/bin/__tests__/recipe.test.js +12 -2
- package/bin/__tests__/recipe.test.js.map +1 -1
- package/bin/commands/index.d.ts +21 -0
- package/bin/commands/index.d.ts.map +1 -1
- package/bin/commands/recipe.d.ts +9 -1
- package/bin/commands/recipe.d.ts.map +1 -1
- package/bin/commands/recipe.js +23 -2
- package/bin/commands/recipe.js.map +1 -1
- package/package.json +2 -2
package/.turbo/turbo-build.log
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @ledgerhq/vault-cli
|
|
2
2
|
|
|
3
|
+
## 1.24.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- f15ea12: Adapt `deploy` command to new payload
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [f15ea12]
|
|
12
|
+
- @ledgerhq/vault-common@1.26.0
|
|
13
|
+
|
|
14
|
+
## 1.23.0
|
|
15
|
+
|
|
16
|
+
### Minor Changes
|
|
17
|
+
|
|
18
|
+
- d4a54eb: VG-12572 Add option `saveAccountIndexes` to recipe command
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- Updated dependencies [d4a54eb]
|
|
23
|
+
- @ledgerhq/vault-common@1.25.0
|
|
24
|
+
|
|
3
25
|
## 1.22.3
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
|
@@ -44,7 +44,7 @@ describe("getMVInstances", () => {
|
|
|
44
44
|
it("should call getMVInstances and display a table", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
45
45
|
const spyCommon = jest
|
|
46
46
|
.spyOn(vaultCommon, "getMVInstances")
|
|
47
|
-
.mockResolvedValue([{ name: "instance1", status: "HEALTHY" }]);
|
|
47
|
+
.mockResolvedValue([{ name: "instance1", status: "HEALTHY", pods: [] }]);
|
|
48
48
|
yield (0, getMVInstances_1.getMVInstancesCommand)({
|
|
49
49
|
remoteURL: "abc",
|
|
50
50
|
format: "table",
|
|
@@ -54,7 +54,7 @@ describe("getMVInstances", () => {
|
|
|
54
54
|
it("should call getMVInstances", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
55
55
|
const spyCommon = jest
|
|
56
56
|
.spyOn(vaultCommon, "getMVInstances")
|
|
57
|
-
.mockResolvedValue([{ name: "instance1", status: "HEALTHY" }]);
|
|
57
|
+
.mockResolvedValue([{ name: "instance1", status: "HEALTHY", pods: [] }]);
|
|
58
58
|
yield (0, getMVInstances_1.getMVInstancesCommand)({
|
|
59
59
|
remoteURL: "abc",
|
|
60
60
|
format: "json",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMVInstances.test.js","sourceRoot":"","sources":["../../src/__tests__/getMVInstances.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAsD;AAEtD,+DAAmE;AAEnE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;QAC9D,MAAM,SAAS,GAAG,IAAI;aACnB,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC;aACpC,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"getMVInstances.test.js","sourceRoot":"","sources":["../../src/__tests__/getMVInstances.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAsD;AAEtD,+DAAmE;AAEnE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;QAC9D,MAAM,SAAS,GAAG,IAAI;aACnB,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC;aACpC,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAE3E,MAAM,IAAA,sCAAqB,EAAC;YAC1B,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClF,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;QAC1C,MAAM,SAAS,GAAG,IAAI;aACnB,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC;aACpC,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAE3E,MAAM,IAAA,sCAAqB,EAAC;YAC1B,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClF,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -22,9 +22,19 @@ const recipeOpts = {
|
|
|
22
22
|
describe("recipe", () => {
|
|
23
23
|
it("it should build a manifest from a gate", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
24
24
|
console.log = jest.fn();
|
|
25
|
-
yield recipe_1.default.run(recipeOpts);
|
|
25
|
+
yield recipe_1.default.run(Object.assign(Object.assign({}, recipeOpts), { saveAccountsIndexes: false }));
|
|
26
26
|
expect(vault_common_1.createDevicesPool).toHaveBeenCalledWith(recipeOpts);
|
|
27
|
-
expect(vault_common_1.recipeManifest).toHaveBeenCalledWith((0, test_utils_1.createTestDevicesPool)()
|
|
27
|
+
expect(vault_common_1.recipeManifest).toHaveBeenCalledWith((0, test_utils_1.createTestDevicesPool)(), {
|
|
28
|
+
saveAccountsIndexes: false,
|
|
29
|
+
});
|
|
30
|
+
}));
|
|
31
|
+
it("it should forward --saveAccountsIndexes option to recipeManifest", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
+
console.log = jest.fn();
|
|
33
|
+
yield recipe_1.default.run(Object.assign(Object.assign({}, recipeOpts), { saveAccountsIndexes: true }));
|
|
34
|
+
expect(vault_common_1.createDevicesPool).toHaveBeenCalledWith(recipeOpts);
|
|
35
|
+
expect(vault_common_1.recipeManifest).toHaveBeenCalledWith((0, test_utils_1.createTestDevicesPool)(), {
|
|
36
|
+
saveAccountsIndexes: true,
|
|
37
|
+
});
|
|
28
38
|
}));
|
|
29
39
|
});
|
|
30
40
|
//# sourceMappingURL=recipe.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe.test.js","sourceRoot":"","sources":["../../src/__tests__/recipe.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,yDAA2E;AAE3E,gEAAwC;AAExC,6CAAqD;AAErD,MAAM,UAAU,GAAgB;IAC9B,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,EAAE;CACT,CAAC;AAEF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,wCAAwC,EAAE,GAAS,EAAE;QAEtD,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACxB,MAAM,gBAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"recipe.test.js","sourceRoot":"","sources":["../../src/__tests__/recipe.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,yDAA2E;AAE3E,gEAAwC;AAExC,6CAAqD;AAErD,MAAM,UAAU,GAAgB;IAC9B,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,EAAE;CACT,CAAC;AAEF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,wCAAwC,EAAE,GAAS,EAAE;QAEtD,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACxB,MAAM,gBAAM,CAAC,GAAG,iCAAM,UAAU,KAAE,mBAAmB,EAAE,KAAK,IAAG,CAAC;QAChE,MAAM,CAAC,gCAAiB,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,6BAAc,CAAC,CAAC,oBAAoB,CAAC,IAAA,kCAAqB,GAAE,EAAE;YACnE,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CAAC;IACL,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAS,EAAE;QAEhF,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACxB,MAAM,gBAAM,CAAC,GAAG,iCAAM,UAAU,KAAE,mBAAmB,EAAE,IAAI,IAAG,CAAC;QAC/D,MAAM,CAAC,gCAAiB,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,6BAAc,CAAC,CAAC,oBAAoB,CAAC,IAAA,kCAAqB,GAAE,EAAE;YACnE,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CAAC;IACL,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/bin/commands/index.d.ts
CHANGED
|
@@ -82,6 +82,27 @@ declare const _default: {
|
|
|
82
82
|
defaultValue: boolean;
|
|
83
83
|
})[];
|
|
84
84
|
run: (options: import("./bake").BakeOptions) => Promise<void>;
|
|
85
|
+
} | {
|
|
86
|
+
command: string;
|
|
87
|
+
description: string;
|
|
88
|
+
help: {
|
|
89
|
+
content: string;
|
|
90
|
+
}[];
|
|
91
|
+
options: ({
|
|
92
|
+
name: string;
|
|
93
|
+
type: BooleanConstructor;
|
|
94
|
+
description: string;
|
|
95
|
+
} | {
|
|
96
|
+
name: string;
|
|
97
|
+
description: string;
|
|
98
|
+
type: StringConstructor;
|
|
99
|
+
} | {
|
|
100
|
+
name: string;
|
|
101
|
+
defaultValue: boolean;
|
|
102
|
+
description: string;
|
|
103
|
+
type: BooleanConstructor;
|
|
104
|
+
})[];
|
|
105
|
+
run: (options: import("./recipe").RecipeOptions) => Promise<void>;
|
|
85
106
|
} | {
|
|
86
107
|
command: string;
|
|
87
108
|
description: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEA,wBAmCE"}
|
package/bin/commands/recipe.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { GateOptions } from "../types";
|
|
2
|
+
export declare type RecipeOptions = GateOptions & {
|
|
3
|
+
saveAccountsIndexes?: boolean;
|
|
4
|
+
};
|
|
2
5
|
declare const _default: {
|
|
3
6
|
command: string;
|
|
4
7
|
description: string;
|
|
@@ -13,8 +16,13 @@ declare const _default: {
|
|
|
13
16
|
name: string;
|
|
14
17
|
description: string;
|
|
15
18
|
type: StringConstructor;
|
|
19
|
+
} | {
|
|
20
|
+
name: string;
|
|
21
|
+
defaultValue: boolean;
|
|
22
|
+
description: string;
|
|
23
|
+
type: BooleanConstructor;
|
|
16
24
|
})[];
|
|
17
|
-
run: (options:
|
|
25
|
+
run: (options: RecipeOptions) => Promise<void>;
|
|
18
26
|
};
|
|
19
27
|
export default _default;
|
|
20
28
|
//# sourceMappingURL=recipe.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe.d.ts","sourceRoot":"","sources":["../../src/commands/recipe.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC
|
|
1
|
+
{"version":3,"file":"recipe.d.ts","sourceRoot":"","sources":["../../src/commands/recipe.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,oBAAY,aAAa,GAAG,WAAW,GAAG;IACxC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;;;;;;;;;;;;;;;;;;;;;mBAoBqB,aAAa,KAAG,QAAQ,IAAI,CAAC;;AAlBpD,wBAkCE"}
|
package/bin/commands/recipe.js
CHANGED
|
@@ -8,6 +8,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
+
var t = {};
|
|
13
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
+
t[p] = s[p];
|
|
15
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
+
t[p[i]] = s[p[i]];
|
|
19
|
+
}
|
|
20
|
+
return t;
|
|
21
|
+
};
|
|
11
22
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
23
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
24
|
};
|
|
@@ -24,9 +35,19 @@ exports.default = {
|
|
|
24
35
|
content: "{grey $} ledger-vault recipe [options]",
|
|
25
36
|
},
|
|
26
37
|
],
|
|
27
|
-
options: [
|
|
38
|
+
options: [
|
|
39
|
+
...gateOptions_1.default,
|
|
40
|
+
...lamOptions_1.default,
|
|
41
|
+
{
|
|
42
|
+
name: "saveAccountsIndexes",
|
|
43
|
+
defaultValue: false,
|
|
44
|
+
description: "If passed, will store account index into each account",
|
|
45
|
+
type: Boolean,
|
|
46
|
+
},
|
|
47
|
+
],
|
|
28
48
|
run: (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
-
const
|
|
49
|
+
const { saveAccountsIndexes } = options, opts = __rest(options, ["saveAccountsIndexes"]);
|
|
50
|
+
const data = yield (0, vault_common_1.recipeManifest)((0, vault_common_1.createDevicesPool)(Object.assign(Object.assign({}, opts), { lamURL: options.lam, deviceAPIURL: options.deviceAPI, noiseChannelV2: options.noiseChannelV2 })), { saveAccountsIndexes });
|
|
30
51
|
const stringified = JSON.stringify(data.manifest);
|
|
31
52
|
const formatted = prettier_1.default.format(stringified, { parser: "json" });
|
|
32
53
|
console.log(formatted.trim());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../src/commands/recipe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../src/commands/recipe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA2E;AAC3E,wDAAgC;AAEhC,iEAAyC;AACzC,+DAAuC;AAOvC,kBAAe;IACb,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,8BAA8B;IAC3C,IAAI,EAAE;QACJ;YACE,OAAO,EAAE,wCAAwC;SAClD;KACF;IACD,OAAO,EAAE;QACP,GAAG,qBAAW;QACd,GAAG,oBAAU;QACb;YACE,IAAI,EAAE,qBAAqB;YAC3B,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,uDAAuD;YACpE,IAAI,EAAE,OAAO;SACd;KACF;IACD,GAAG,EAAE,CAAO,OAAsB,EAAiB,EAAE;QACnD,MAAM,EAAE,mBAAmB,KAAc,OAAO,EAAhB,IAAI,UAAK,OAAO,EAA1C,uBAAgC,CAAU,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAc,EAC/B,IAAA,gCAAiB,kCACZ,IAAI,KACP,MAAM,EAAE,OAAO,CAAC,GAAG,EACnB,YAAY,EAAE,OAAO,CAAC,SAAS,EAC/B,cAAc,EAAE,OAAO,CAAC,cAAc,IACtC,EACF,EAAE,mBAAmB,EAAE,CACxB,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,kBAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAEnE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC,CAAA;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/vault-cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.24.0",
|
|
4
4
|
"description": "A various utility command-line for Vault development",
|
|
5
5
|
"homepage": "https://github.com/LedgerHQ/vault-ts",
|
|
6
6
|
"license": "BSD-2-Clause",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"@ledgerhq/cryptoassets": "^6.28.2",
|
|
20
20
|
"@ledgerhq/hw-transport-node-hid": "^6.24.1",
|
|
21
21
|
"@ledgerhq/live-common-stub": "1.5.0",
|
|
22
|
-
"@ledgerhq/vault-common": "1.
|
|
22
|
+
"@ledgerhq/vault-common": "1.26.0",
|
|
23
23
|
"@ledgerhq/vault-utils": "1.0.0",
|
|
24
24
|
"axios": "^0.21.0",
|
|
25
25
|
"bignumber.js": "^9.0.1",
|