@dashevo/evo-sdk 2.1.0-dev.4

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.
@@ -0,0 +1,14 @@
1
+ import type { EvoSDK } from '../sdk.js';
2
+ export declare class SystemFacade {
3
+ private sdk;
4
+ constructor(sdk: EvoSDK);
5
+ status(): Promise<any>;
6
+ currentQuorumsInfo(): Promise<any>;
7
+ totalCreditsInPlatform(): Promise<any>;
8
+ totalCreditsInPlatformWithProof(): Promise<any>;
9
+ prefundedSpecializedBalance(identityId: string): Promise<any>;
10
+ prefundedSpecializedBalanceWithProof(identityId: string): Promise<any>;
11
+ waitForStateTransitionResult(stateTransitionHash: string): Promise<any>;
12
+ pathElements(path: string[], keys: string[]): Promise<any>;
13
+ pathElementsWithProof(path: string[], keys: string[]): Promise<any>;
14
+ }
@@ -0,0 +1,12 @@
1
+ export class SystemFacade {
2
+ constructor(sdk) { this.sdk = sdk; }
3
+ async status() { const w = await this.sdk.getWasmSdkConnected(); return w.getStatus(); }
4
+ async currentQuorumsInfo() { const w = await this.sdk.getWasmSdkConnected(); return w.getCurrentQuorumsInfo(); }
5
+ async totalCreditsInPlatform() { const w = await this.sdk.getWasmSdkConnected(); return w.getTotalCreditsInPlatform(); }
6
+ async totalCreditsInPlatformWithProof() { const w = await this.sdk.getWasmSdkConnected(); return w.getTotalCreditsInPlatformWithProofInfo(); }
7
+ async prefundedSpecializedBalance(identityId) { const w = await this.sdk.getWasmSdkConnected(); return w.getPrefundedSpecializedBalance(identityId); }
8
+ async prefundedSpecializedBalanceWithProof(identityId) { const w = await this.sdk.getWasmSdkConnected(); return w.getPrefundedSpecializedBalanceWithProofInfo(identityId); }
9
+ async waitForStateTransitionResult(stateTransitionHash) { const w = await this.sdk.getWasmSdkConnected(); return w.waitForStateTransitionResult(stateTransitionHash); }
10
+ async pathElements(path, keys) { const w = await this.sdk.getWasmSdkConnected(); return w.getPathElements(path, keys); }
11
+ async pathElementsWithProof(path, keys) { const w = await this.sdk.getWasmSdkConnected(); return w.getPathElementsWithProofInfo(path, keys); }
12
+ }
@@ -0,0 +1,109 @@
1
+ import type { EvoSDK } from '../sdk.js';
2
+ export declare class TokensFacade {
3
+ private sdk;
4
+ constructor(sdk: EvoSDK);
5
+ priceByContract(contractId: string, tokenPosition: number): Promise<any>;
6
+ totalSupply(tokenId: string): Promise<any>;
7
+ totalSupplyWithProof(tokenId: string): Promise<any>;
8
+ statuses(tokenIds: string[]): Promise<any>;
9
+ statusesWithProof(tokenIds: string[]): Promise<any>;
10
+ balances(identityIds: string[], tokenId: string): Promise<any>;
11
+ balancesWithProof(identityIds: string[], tokenId: string): Promise<any>;
12
+ identityTokenInfos(identityId: string, tokenIds: string[], _opts?: {
13
+ limit?: number;
14
+ offset?: number;
15
+ }): Promise<any>;
16
+ identitiesTokenInfos(identityIds: string[], tokenId: string): Promise<any>;
17
+ identityTokenInfosWithProof(identityId: string, tokenIds: string[]): Promise<any>;
18
+ identitiesTokenInfosWithProof(identityIds: string[], tokenId: string): Promise<any>;
19
+ directPurchasePrices(tokenIds: string[]): Promise<any>;
20
+ directPurchasePricesWithProof(tokenIds: string[]): Promise<any>;
21
+ contractInfo(contractId: string): Promise<any>;
22
+ contractInfoWithProof(contractId: string): Promise<any>;
23
+ perpetualDistributionLastClaim(identityId: string, tokenId: string): Promise<any>;
24
+ perpetualDistributionLastClaimWithProof(identityId: string, tokenId: string): Promise<any>;
25
+ mint(args: {
26
+ contractId: string;
27
+ tokenPosition: number;
28
+ amount: number | string | bigint;
29
+ identityId: string;
30
+ privateKeyWif: string;
31
+ recipientId?: string;
32
+ publicNote?: string;
33
+ }): Promise<any>;
34
+ burn(args: {
35
+ contractId: string;
36
+ tokenPosition: number;
37
+ amount: number | string | bigint;
38
+ identityId: string;
39
+ privateKeyWif: string;
40
+ publicNote?: string;
41
+ }): Promise<any>;
42
+ transfer(args: {
43
+ contractId: string;
44
+ tokenPosition: number;
45
+ amount: number | string | bigint;
46
+ senderId: string;
47
+ recipientId: string;
48
+ privateKeyWif: string;
49
+ publicNote?: string;
50
+ }): Promise<any>;
51
+ freeze(args: {
52
+ contractId: string;
53
+ tokenPosition: number;
54
+ identityToFreeze: string;
55
+ freezerId: string;
56
+ privateKeyWif: string;
57
+ publicNote?: string;
58
+ }): Promise<any>;
59
+ unfreeze(args: {
60
+ contractId: string;
61
+ tokenPosition: number;
62
+ identityToUnfreeze: string;
63
+ unfreezerId: string;
64
+ privateKeyWif: string;
65
+ publicNote?: string;
66
+ }): Promise<any>;
67
+ destroyFrozen(args: {
68
+ contractId: string;
69
+ tokenPosition: number;
70
+ identityId: string;
71
+ destroyerId: string;
72
+ privateKeyWif: string;
73
+ publicNote?: string;
74
+ }): Promise<any>;
75
+ setPriceForDirectPurchase(args: {
76
+ contractId: string;
77
+ tokenPosition: number;
78
+ identityId: string;
79
+ priceType: string;
80
+ priceData: unknown;
81
+ privateKeyWif: string;
82
+ publicNote?: string;
83
+ }): Promise<any>;
84
+ directPurchase(args: {
85
+ contractId: string;
86
+ tokenPosition: number;
87
+ amount: number | string | bigint;
88
+ identityId: string;
89
+ totalAgreedPrice?: number | string | bigint | null;
90
+ privateKeyWif: string;
91
+ }): Promise<any>;
92
+ claim(args: {
93
+ contractId: string;
94
+ tokenPosition: number;
95
+ distributionType: string;
96
+ identityId: string;
97
+ privateKeyWif: string;
98
+ publicNote?: string;
99
+ }): Promise<any>;
100
+ configUpdate(args: {
101
+ contractId: string;
102
+ tokenPosition: number;
103
+ configItemType: string;
104
+ configValue: unknown;
105
+ identityId: string;
106
+ privateKeyWif: string;
107
+ publicNote?: string;
108
+ }): Promise<any>;
109
+ }
@@ -0,0 +1,126 @@
1
+ import { asJsonString } from '../util.js';
2
+ export class TokensFacade {
3
+ constructor(sdk) {
4
+ this.sdk = sdk;
5
+ }
6
+ // Queries
7
+ async priceByContract(contractId, tokenPosition) {
8
+ const w = await this.sdk.getWasmSdkConnected();
9
+ return w.getTokenPriceByContract(contractId, tokenPosition);
10
+ }
11
+ async totalSupply(tokenId) {
12
+ const w = await this.sdk.getWasmSdkConnected();
13
+ return w.getTokenTotalSupply(tokenId);
14
+ }
15
+ async totalSupplyWithProof(tokenId) {
16
+ const w = await this.sdk.getWasmSdkConnected();
17
+ return w.getTokenTotalSupplyWithProofInfo(tokenId);
18
+ }
19
+ async statuses(tokenIds) {
20
+ const w = await this.sdk.getWasmSdkConnected();
21
+ return w.getTokenStatuses(tokenIds);
22
+ }
23
+ async statusesWithProof(tokenIds) {
24
+ const w = await this.sdk.getWasmSdkConnected();
25
+ return w.getTokenStatusesWithProofInfo(tokenIds);
26
+ }
27
+ async balances(identityIds, tokenId) {
28
+ const w = await this.sdk.getWasmSdkConnected();
29
+ return w.getIdentitiesTokenBalances(identityIds, tokenId);
30
+ }
31
+ async balancesWithProof(identityIds, tokenId) {
32
+ const w = await this.sdk.getWasmSdkConnected();
33
+ return w.getIdentitiesTokenBalancesWithProofInfo(identityIds, tokenId);
34
+ }
35
+ async identityTokenInfos(identityId, tokenIds, _opts = {}) {
36
+ const w = await this.sdk.getWasmSdkConnected();
37
+ return w.getIdentityTokenInfos(identityId, tokenIds);
38
+ }
39
+ async identitiesTokenInfos(identityIds, tokenId) {
40
+ const w = await this.sdk.getWasmSdkConnected();
41
+ return w.getIdentitiesTokenInfos(identityIds, tokenId);
42
+ }
43
+ async identityTokenInfosWithProof(identityId, tokenIds) {
44
+ const w = await this.sdk.getWasmSdkConnected();
45
+ return w.getIdentityTokenInfosWithProofInfo(identityId, tokenIds);
46
+ }
47
+ async identitiesTokenInfosWithProof(identityIds, tokenId) {
48
+ const w = await this.sdk.getWasmSdkConnected();
49
+ return w.getIdentitiesTokenInfosWithProofInfo(identityIds, tokenId);
50
+ }
51
+ async directPurchasePrices(tokenIds) {
52
+ const w = await this.sdk.getWasmSdkConnected();
53
+ return w.getTokenDirectPurchasePrices(tokenIds);
54
+ }
55
+ async directPurchasePricesWithProof(tokenIds) {
56
+ const w = await this.sdk.getWasmSdkConnected();
57
+ return w.getTokenDirectPurchasePricesWithProofInfo(tokenIds);
58
+ }
59
+ async contractInfo(contractId) {
60
+ const w = await this.sdk.getWasmSdkConnected();
61
+ return w.getTokenContractInfo(contractId);
62
+ }
63
+ async contractInfoWithProof(contractId) {
64
+ const w = await this.sdk.getWasmSdkConnected();
65
+ return w.getTokenContractInfoWithProofInfo(contractId);
66
+ }
67
+ async perpetualDistributionLastClaim(identityId, tokenId) {
68
+ const w = await this.sdk.getWasmSdkConnected();
69
+ return w.getTokenPerpetualDistributionLastClaim(identityId, tokenId);
70
+ }
71
+ async perpetualDistributionLastClaimWithProof(identityId, tokenId) {
72
+ const w = await this.sdk.getWasmSdkConnected();
73
+ return w.getTokenPerpetualDistributionLastClaimWithProofInfo(identityId, tokenId);
74
+ }
75
+ // Transitions
76
+ async mint(args) {
77
+ const { contractId, tokenPosition, amount, identityId, privateKeyWif, recipientId, publicNote } = args;
78
+ const w = await this.sdk.getWasmSdkConnected();
79
+ return w.tokenMint(contractId, tokenPosition, String(amount), identityId, privateKeyWif, recipientId ?? null, publicNote ?? null);
80
+ }
81
+ async burn(args) {
82
+ const { contractId, tokenPosition, amount, identityId, privateKeyWif, publicNote } = args;
83
+ const w = await this.sdk.getWasmSdkConnected();
84
+ return w.tokenBurn(contractId, tokenPosition, String(amount), identityId, privateKeyWif, publicNote ?? null);
85
+ }
86
+ async transfer(args) {
87
+ const { contractId, tokenPosition, amount, senderId, recipientId, privateKeyWif, publicNote } = args;
88
+ const w = await this.sdk.getWasmSdkConnected();
89
+ return w.tokenTransfer(contractId, tokenPosition, String(amount), senderId, recipientId, privateKeyWif, publicNote ?? null);
90
+ }
91
+ async freeze(args) {
92
+ const { contractId, tokenPosition, identityToFreeze, freezerId, privateKeyWif, publicNote } = args;
93
+ const w = await this.sdk.getWasmSdkConnected();
94
+ return w.tokenFreeze(contractId, tokenPosition, identityToFreeze, freezerId, privateKeyWif, publicNote ?? null);
95
+ }
96
+ async unfreeze(args) {
97
+ const { contractId, tokenPosition, identityToUnfreeze, unfreezerId, privateKeyWif, publicNote } = args;
98
+ const w = await this.sdk.getWasmSdkConnected();
99
+ return w.tokenUnfreeze(contractId, tokenPosition, identityToUnfreeze, unfreezerId, privateKeyWif, publicNote ?? null);
100
+ }
101
+ async destroyFrozen(args) {
102
+ const { contractId, tokenPosition, identityId, destroyerId, privateKeyWif, publicNote } = args;
103
+ const w = await this.sdk.getWasmSdkConnected();
104
+ return w.tokenDestroyFrozen(contractId, tokenPosition, identityId, destroyerId, privateKeyWif, publicNote ?? null);
105
+ }
106
+ async setPriceForDirectPurchase(args) {
107
+ const { contractId, tokenPosition, identityId, priceType, priceData, privateKeyWif, publicNote } = args;
108
+ const w = await this.sdk.getWasmSdkConnected();
109
+ return w.tokenSetPriceForDirectPurchase(contractId, tokenPosition, identityId, priceType, asJsonString(priceData), privateKeyWif, publicNote ?? null);
110
+ }
111
+ async directPurchase(args) {
112
+ const { contractId, tokenPosition, amount, identityId, totalAgreedPrice, privateKeyWif } = args;
113
+ const w = await this.sdk.getWasmSdkConnected();
114
+ return w.tokenDirectPurchase(contractId, tokenPosition, String(amount), identityId, totalAgreedPrice != null ? String(totalAgreedPrice) : null, privateKeyWif);
115
+ }
116
+ async claim(args) {
117
+ const { contractId, tokenPosition, distributionType, identityId, privateKeyWif, publicNote } = args;
118
+ const w = await this.sdk.getWasmSdkConnected();
119
+ return w.tokenClaim(contractId, tokenPosition, distributionType, identityId, privateKeyWif, publicNote ?? null);
120
+ }
121
+ async configUpdate(args) {
122
+ const { contractId, tokenPosition, configItemType, configValue, identityId, privateKeyWif, publicNote } = args;
123
+ const w = await this.sdk.getWasmSdkConnected();
124
+ return w.tokenConfigUpdate(contractId, tokenPosition, configItemType, asJsonString(configValue), identityId, privateKeyWif, publicNote ?? null);
125
+ }
126
+ }
package/dist/util.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function asJsonString(value: unknown): string | undefined;
package/dist/util.js ADDED
@@ -0,0 +1,7 @@
1
+ export function asJsonString(value) {
2
+ if (value == null)
3
+ return undefined;
4
+ if (typeof value === 'string')
5
+ return value;
6
+ return JSON.stringify(value);
7
+ }
@@ -0,0 +1,59 @@
1
+ import type { EvoSDK } from '../sdk.js';
2
+ export declare class VotingFacade {
3
+ private sdk;
4
+ constructor(sdk: EvoSDK);
5
+ contestedResourceVoteState(params: {
6
+ contractId: string;
7
+ documentTypeName: string;
8
+ indexName: string;
9
+ indexValues: any[];
10
+ resultType: string;
11
+ allowIncludeLockedAndAbstainingVoteTally?: boolean;
12
+ startAtIdentifierInfo?: string;
13
+ count?: number;
14
+ orderAscending?: boolean;
15
+ }): Promise<any>;
16
+ contestedResourceVoteStateWithProof(params: {
17
+ contractId: string;
18
+ documentTypeName: string;
19
+ indexName: string;
20
+ indexValues: any[];
21
+ resultType: string;
22
+ allowIncludeLockedAndAbstainingVoteTally?: boolean;
23
+ startAtIdentifierInfo?: string;
24
+ count?: number;
25
+ orderAscending?: boolean;
26
+ }): Promise<any>;
27
+ contestedResourceIdentityVotes(identityId: string, opts?: {
28
+ limit?: number;
29
+ startAtVotePollIdInfo?: string;
30
+ orderAscending?: boolean;
31
+ }): Promise<any>;
32
+ contestedResourceIdentityVotesWithProof(identityId: string, opts?: {
33
+ limit?: number;
34
+ offset?: number;
35
+ orderAscending?: boolean;
36
+ }): Promise<any>;
37
+ votePollsByEndDate(opts?: {
38
+ startTimeInfo?: string;
39
+ endTimeInfo?: string;
40
+ limit?: number;
41
+ orderAscending?: boolean;
42
+ }): Promise<any>;
43
+ votePollsByEndDateWithProof(opts?: {
44
+ startTimeMs?: number | bigint | null;
45
+ endTimeMs?: number | bigint | null;
46
+ limit?: number;
47
+ offset?: number;
48
+ orderAscending?: boolean;
49
+ }): Promise<any>;
50
+ masternodeVote(args: {
51
+ masternodeProTxHash: string;
52
+ contractId: string;
53
+ documentTypeName: string;
54
+ indexName: string;
55
+ indexValues: string | any[];
56
+ voteChoice: string;
57
+ votingKeyWif: string;
58
+ }): Promise<any>;
59
+ }
@@ -0,0 +1,42 @@
1
+ import { asJsonString } from '../util.js';
2
+ export class VotingFacade {
3
+ constructor(sdk) { this.sdk = sdk; }
4
+ async contestedResourceVoteState(params) {
5
+ const { contractId, documentTypeName, indexName, indexValues, resultType, allowIncludeLockedAndAbstainingVoteTally, startAtIdentifierInfo, count, orderAscending } = params;
6
+ const w = await this.sdk.getWasmSdkConnected();
7
+ return w.getContestedResourceVoteState(contractId, documentTypeName, indexName, indexValues, resultType, allowIncludeLockedAndAbstainingVoteTally ?? null, startAtIdentifierInfo ?? null, count ?? null, orderAscending ?? null);
8
+ }
9
+ async contestedResourceVoteStateWithProof(params) {
10
+ const { contractId, documentTypeName, indexName, indexValues, resultType, allowIncludeLockedAndAbstainingVoteTally, startAtIdentifierInfo, count, orderAscending } = params;
11
+ const w = await this.sdk.getWasmSdkConnected();
12
+ return w.getContestedResourceVoteStateWithProofInfo(contractId, documentTypeName, indexName, indexValues, resultType, allowIncludeLockedAndAbstainingVoteTally ?? null, startAtIdentifierInfo ?? null, count ?? null, orderAscending ?? null);
13
+ }
14
+ async contestedResourceIdentityVotes(identityId, opts = {}) {
15
+ const { limit, startAtVotePollIdInfo, orderAscending } = opts;
16
+ const w = await this.sdk.getWasmSdkConnected();
17
+ return w.getContestedResourceIdentityVotes(identityId, limit ?? null, startAtVotePollIdInfo ?? null, orderAscending ?? null);
18
+ }
19
+ async contestedResourceIdentityVotesWithProof(identityId, opts = {}) {
20
+ const { limit, offset, orderAscending } = opts;
21
+ const w = await this.sdk.getWasmSdkConnected();
22
+ return w.getContestedResourceIdentityVotesWithProofInfo(identityId, limit ?? null, offset ?? null, orderAscending ?? null);
23
+ }
24
+ async votePollsByEndDate(opts = {}) {
25
+ const { startTimeInfo, endTimeInfo, limit, orderAscending } = opts;
26
+ const w = await this.sdk.getWasmSdkConnected();
27
+ return w.getVotePollsByEndDate(startTimeInfo ?? null, endTimeInfo ?? null, limit ?? null, orderAscending ?? null);
28
+ }
29
+ async votePollsByEndDateWithProof(opts = {}) {
30
+ const { startTimeMs, endTimeMs, limit, offset, orderAscending } = opts;
31
+ const start = startTimeMs != null ? BigInt(startTimeMs) : null;
32
+ const end = endTimeMs != null ? BigInt(endTimeMs) : null;
33
+ const w = await this.sdk.getWasmSdkConnected();
34
+ return w.getVotePollsByEndDateWithProofInfo(start ?? null, end ?? null, limit ?? null, offset ?? null, orderAscending ?? null);
35
+ }
36
+ async masternodeVote(args) {
37
+ const { masternodeProTxHash, contractId, documentTypeName, indexName, indexValues, voteChoice, votingKeyWif } = args;
38
+ const indexValuesStr = typeof indexValues === 'string' ? indexValues : asJsonString(indexValues);
39
+ const w = await this.sdk.getWasmSdkConnected();
40
+ return w.masternodeVote(masternodeProTxHash, contractId, documentTypeName, indexName, indexValuesStr, voteChoice, votingKeyWif);
41
+ }
42
+ }
package/dist/wasm.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export declare function ensureInitialized(): Promise<void>;
2
+ export * from '@dashevo/wasm-sdk';
3
+ export { default } from '@dashevo/wasm-sdk';
package/dist/wasm.js ADDED
@@ -0,0 +1,12 @@
1
+ // ESM wrapper around @dashevo/wasm-sdk with one-time init
2
+ import initWasmSdk, * as wasm from '@dashevo/wasm-sdk';
3
+ let initPromise;
4
+ export async function ensureInitialized() {
5
+ if (!initPromise) {
6
+ initPromise = initWasmSdk().then(() => wasm);
7
+ }
8
+ return initPromise;
9
+ }
10
+ // Re-export all wasm SDK symbols for convenience
11
+ export * from '@dashevo/wasm-sdk';
12
+ export { default } from '@dashevo/wasm-sdk';
package/package.json ADDED
@@ -0,0 +1,70 @@
1
+ {
2
+ "name": "@dashevo/evo-sdk",
3
+ "version": "2.1.0-dev.4",
4
+ "type": "module",
5
+ "main": "./dist/sdk.js",
6
+ "types": "./dist/sdk.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/sdk.d.ts",
10
+ "import": "./dist/sdk.js"
11
+ },
12
+ "./module": {
13
+ "import": "./dist/sdk.js"
14
+ }
15
+ },
16
+ "sideEffects": false,
17
+ "engines": {
18
+ "node": ">=18.18"
19
+ },
20
+ "files": [
21
+ "dist/**",
22
+ "README.md"
23
+ ],
24
+ "dependencies": {
25
+ "@dashevo/wasm-sdk": "2.1.0-dev.4"
26
+ },
27
+ "scripts": {
28
+ "build": "rm -rf dist && tsc -p tsconfig.json && webpack --config webpack.config.cjs",
29
+ "lint": "eslint \"src/**/*.ts\" \"tests/**/*.*js\"",
30
+ "test": "yarn run test:unit && yarn run test:functional",
31
+ "test:unit": "mocha tests/unit/**/*.spec.mjs && karma start ./tests/karma/karma.conf.cjs --single-run",
32
+ "test:functional": "mocha tests/functional/**/*.spec.mjs --exit --timeout 90000 && karma start ./tests/karma/karma.functional.conf.cjs --single-run",
33
+ "prepack": "yarn build"
34
+ },
35
+ "devDependencies": {
36
+ "@typescript-eslint/eslint-plugin": "^5.55.0",
37
+ "@typescript-eslint/parser": "^5.55.0",
38
+ "assert": "^2.0.0",
39
+ "buffer": "^6.0.3",
40
+ "chai": "^4.3.10",
41
+ "chai-as-promised": "^7.1.1",
42
+ "dirty-chai": "^2.0.1",
43
+ "eslint": "^8.53.0",
44
+ "eslint-config-airbnb-base": "^15.0.0",
45
+ "eslint-config-airbnb-typescript": "^17.0.0",
46
+ "eslint-plugin-import": "^2.29.0",
47
+ "eslint-plugin-jsdoc": "^46.9.0",
48
+ "events": "^3.3.0",
49
+ "karma": "^6.4.3",
50
+ "karma-chai": "^0.1.0",
51
+ "karma-chrome-launcher": "^3.1.0",
52
+ "karma-firefox-launcher": "^2.1.2",
53
+ "karma-mocha": "^2.0.1",
54
+ "karma-mocha-reporter": "^2.2.5",
55
+ "karma-webpack": "^5.0.0",
56
+ "mocha": "^11.1.0",
57
+ "path-browserify": "^1.0.1",
58
+ "process": "^0.11.10",
59
+ "sinon": "^17.0.1",
60
+ "sinon-chai": "^3.7.0",
61
+ "string_decoder": "^1.3.0",
62
+ "terser-webpack-plugin": "^5.3.11",
63
+ "ts-loader": "^9.5.0",
64
+ "typescript": "^3.9.5",
65
+ "url": "^0.11.3",
66
+ "util": "^0.12.4",
67
+ "webpack": "^5.94.0",
68
+ "webpack-cli": "^4.9.1"
69
+ }
70
+ }