@substrate/api-sidecar 12.1.0 → 12.3.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/README.md +20 -10
- package/build/package.json +5 -6
- package/build/src/chains-config/kusamaControllers.js +1 -1
- package/build/src/controllers/AbstractController.d.ts +6 -2
- package/build/src/controllers/AbstractController.js +26 -1
- package/build/src/controllers/AbstractController.js.map +1 -1
- package/build/src/controllers/AbstractControllers.spec.js +19 -0
- package/build/src/controllers/AbstractControllers.spec.js.map +1 -1
- package/build/src/controllers/blocks/BlocksController.d.ts +7 -0
- package/build/src/controllers/blocks/BlocksController.js +45 -0
- package/build/src/controllers/blocks/BlocksController.js.map +1 -1
- package/build/src/controllers/pallets/PalletsStorageController.js +1 -1
- package/build/src/controllers/pallets/PalletsStorageController.js.map +1 -1
- package/build/src/services/accounts/AccountsValidateService.d.ts +5 -2
- package/build/src/services/accounts/AccountsValidateService.js +27 -7
- package/build/src/services/accounts/AccountsValidateService.js.map +1 -1
- package/build/src/services/accounts/AccountsValidateService.spec.js +20 -1
- package/build/src/services/accounts/AccountsValidateService.spec.js.map +1 -1
- package/build/src/services/pallets/PalletsStorageService.js +3 -1
- package/build/src/services/pallets/PalletsStorageService.js.map +1 -1
- package/build/src/types/requests.d.ts +3 -0
- package/build/src/types/responses/SanitizedEvent.d.ts +4 -2
- package/build/src/types/responses/ValidateAddress.d.ts +2 -0
- package/build/src/util/PromiseQueue.d.ts +15 -0
- package/build/src/util/PromiseQueue.js +111 -0
- package/build/src/util/PromiseQueue.js.map +1 -0
- package/build/src/util/integers/verifyInt.d.ts +10 -0
- package/build/src/util/integers/verifyInt.js +20 -0
- package/build/src/util/integers/verifyInt.js.map +1 -0
- package/build/src/util/integers/verifyInt.spec.d.ts +1 -0
- package/build/src/util/integers/verifyInt.spec.js +20 -0
- package/build/src/util/integers/verifyInt.spec.js.map +1 -0
- package/package.json +5 -6
package/README.md
CHANGED
|
@@ -36,9 +36,9 @@ Compatibility:
|
|
|
36
36
|
| v14.x.x | Stable |
|
|
37
37
|
| v16.x.x | Stable |
|
|
38
38
|
| v17.x.x | Not Stable |
|
|
39
|
-
| v18.x.x | Pending |
|
|
39
|
+
| v18.x.x | Pending |
|
|
40
40
|
|
|
41
|
-
NOTE: Node LTS (`long term support`) versions start with an even number, and odd number versions are subject to a 6 month testing period with active support before they are unsupported. It is recommended to use sidecar with a stable actively maintained version of node.js.
|
|
41
|
+
NOTE: Node LTS (`long term support`) versions start with an even number, and odd number versions are subject to a 6 month testing period with active support before they are unsupported. It is recommended to use sidecar with a stable actively maintained version of node.js.
|
|
42
42
|
|
|
43
43
|
## Table of contents
|
|
44
44
|
|
|
@@ -94,7 +94,7 @@ node_modules/.bin/substrate-api-sidecar
|
|
|
94
94
|
|
|
95
95
|
[Click here for full endpoint docs.](https://paritytech.github.io/substrate-api-sidecar/dist/)
|
|
96
96
|
|
|
97
|
-
In the full endpoints doc, you will also find the following `trace` related endpoints :
|
|
97
|
+
In the full endpoints doc, you will also find the following `trace` related endpoints :
|
|
98
98
|
- `/experimental/blocks/{blockId}/traces/operations?actions=false`
|
|
99
99
|
- `/experimental/blocks/head/traces/operations?actions=false`
|
|
100
100
|
- `/experimental/blocks/{blockId}/traces`
|
|
@@ -299,8 +299,8 @@ All the commits in this repo follow the [Conventional Commits spec](https://www.
|
|
|
299
299
|
|
|
300
300
|
### Updating polkadot-js dependencies
|
|
301
301
|
|
|
302
|
-
1. Every Monday the polkadot-js ecosystem will usually come out with a new release. It's important that we keep up,
|
|
303
|
-
and read the release notes for any breaking changes or high priority updates. In order to update all the dependencies and resolutions run `yarn update-pjs-deps`.
|
|
302
|
+
1. Every Monday the polkadot-js ecosystem will usually come out with a new release. It's important that we keep up,
|
|
303
|
+
and read the release notes for any breaking changes or high priority updates. In order to update all the dependencies and resolutions run `yarn update-pjs-deps`.
|
|
304
304
|
|
|
305
305
|
- @polkadot/api [release notes](https://github.com/polkadot-js/api/releases)
|
|
306
306
|
- @polkadot/apps-config [release notes](https://github.com/polkadot-js/apps/releases)
|
|
@@ -308,9 +308,19 @@ and read the release notes for any breaking changes or high priority updates. In
|
|
|
308
308
|
- @polkadot/util-crypto [release notes](https://github.com/polkadot-js/common/releases)
|
|
309
309
|
- @substrate/calc [npm release page](https://www.npmjs.com/package/@substrate/calc)
|
|
310
310
|
|
|
311
|
-
1. Ensure everything is working by running the following
|
|
311
|
+
1. Ensure everything is up to date and working by running the following:
|
|
312
|
+
```
|
|
313
|
+
yarn
|
|
314
|
+
yarn dedupe
|
|
315
|
+
yarn build
|
|
316
|
+
yarn lint
|
|
317
|
+
yarn test
|
|
318
|
+
yarn test:init-e2e-tests
|
|
319
|
+
```
|
|
312
320
|
|
|
313
|
-
1.
|
|
321
|
+
1. Commit the dependency updates with a name like `fix(deps): update pjs api` (title depending on what got updated, see commit history for other examples of this), and wait to get it merged.
|
|
322
|
+
|
|
323
|
+
1. Follow [RELEASE.md](./RELEASE.md) next if you're working through a full sidecar release. This will involve creating a separate PR where the changelog and versions are bumped.
|
|
314
324
|
|
|
315
325
|
## Hardware requirements
|
|
316
326
|
|
|
@@ -321,18 +331,18 @@ Sidecar is a stateless program and thus should not use any disk space.
|
|
|
321
331
|
The requirements follow the default of node.js processes which is an upper bound in HEAP memory of a little less than 2GB thus 4GB of memory should be sufficient.
|
|
322
332
|
|
|
323
333
|
### Running sidecar and a node
|
|
324
|
-
Please note that if you run sidecar next to a substrate node in a single machine then your system specifications should improve significantly.
|
|
334
|
+
Please note that if you run sidecar next to a substrate node in a single machine then your system specifications should improve significantly.
|
|
325
335
|
- Our official specifications related to validator nodes can be found in the polkadot wiki [page](https://wiki.polkadot.network/docs/maintain-guides-how-to-validate-polkadot#standard-hardware).
|
|
326
336
|
- Regarding archive nodes :
|
|
327
337
|
- again as mentioned in the polkadot wiki [page](https://wiki.polkadot.network/docs/maintain-sync#types-of-nodes), the space needed from an archive node depends on which block we are currently on (of the specific chain we are referring to).
|
|
328
338
|
- there are no other hardware requirements for an archive node since it is not time critical (archive nodes do not participate in the consensus).
|
|
329
339
|
|
|
330
340
|
### Benchmarks
|
|
331
|
-
During the benchmarks we performed, we concluded that sidecar would use a max of 1.1GB of RSS memory.
|
|
341
|
+
During the benchmarks we performed, we concluded that sidecar would use a max of 1.1GB of RSS memory.
|
|
332
342
|
|
|
333
343
|
The benchmarks were:
|
|
334
344
|
- using 4 threads over 12 open http connections and
|
|
335
|
-
- were overloading the cache with every runtime possible on polkadot.
|
|
345
|
+
- were overloading the cache with every runtime possible on polkadot.
|
|
336
346
|
|
|
337
347
|
Hardware specs in which the benchmarks were performed:
|
|
338
348
|
```
|
package/build/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "12.
|
|
2
|
+
"version": "12.3.0",
|
|
3
3
|
"name": "@substrate/api-sidecar",
|
|
4
4
|
"description": "REST service that makes it easy to interact with blockchain nodes built using Substrate's FRAME framework.",
|
|
5
5
|
"homepage": "https://github.com/paritytech/substrate-api-sidecar#readme",
|
|
@@ -36,7 +36,6 @@
|
|
|
36
36
|
"dev": "tsc-watch --onSuccess \"yarn run main\"",
|
|
37
37
|
"test": "NODE_ENV=test substrate-exec-jest --detectOpenHandles",
|
|
38
38
|
"test:watch": "NODE_ENV=test substrate-exec-jest --watch",
|
|
39
|
-
"test:cov": "NODE_ENV=test substrate-exec-jest --detectOpenHandles --coverage",
|
|
40
39
|
"lint:e2e-tests": "cd e2e-tests && substrate-dev-run-lint",
|
|
41
40
|
"build:e2e-tests": "substrate-exec-tsc --project e2e-tests/tsconfig.json",
|
|
42
41
|
"test:e2e-tests": "yarn build:e2e-tests && node ./e2e-tests/build/index.js --config=./e2e-tests/jest.config.js",
|
|
@@ -54,8 +53,8 @@
|
|
|
54
53
|
"update-pjs-deps": "substrate-update-pjs-deps && yarn"
|
|
55
54
|
},
|
|
56
55
|
"dependencies": {
|
|
57
|
-
"@polkadot/api": "^8.
|
|
58
|
-
"@polkadot/util-crypto": "^9.
|
|
56
|
+
"@polkadot/api": "^8.11.2",
|
|
57
|
+
"@polkadot/util-crypto": "^9.7.2",
|
|
59
58
|
"@substrate/calc": "^0.2.8",
|
|
60
59
|
"argparse": "^2.0.1",
|
|
61
60
|
"confmgr": "1.0.7",
|
|
@@ -67,7 +66,7 @@
|
|
|
67
66
|
"winston": "^3.3.3"
|
|
68
67
|
},
|
|
69
68
|
"devDependencies": {
|
|
70
|
-
"@substrate/dev": "^0.6.
|
|
69
|
+
"@substrate/dev": "^0.6.3",
|
|
71
70
|
"@types/argparse": "2.0.10",
|
|
72
71
|
"@types/express": "4.17.13",
|
|
73
72
|
"@types/express-serve-static-core": "4.17.25",
|
|
@@ -89,5 +88,5 @@
|
|
|
89
88
|
"polkadot",
|
|
90
89
|
"kusama"
|
|
91
90
|
],
|
|
92
|
-
"packageManager": "yarn@3.2.
|
|
91
|
+
"packageManager": "yarn@3.2.1"
|
|
93
92
|
}
|
|
@@ -3,9 +3,9 @@ import { BlockHash } from '@polkadot/types/interfaces';
|
|
|
3
3
|
import { RequestHandler, Response, Router } from 'express';
|
|
4
4
|
import { AbstractService } from 'src/services/AbstractService';
|
|
5
5
|
import { AnyJson } from 'src/types/polkadot-js';
|
|
6
|
-
import { IAddressNumberParams, IAddressParam, INumberParam, IParaIdParam } from 'src/types/requests';
|
|
6
|
+
import { IAddressNumberParams, IAddressParam, INumberParam, IParaIdParam, IRangeQueryParam } from 'src/types/requests';
|
|
7
7
|
import { ISanitizeOptions } from '../types/sanitize';
|
|
8
|
-
declare type SidecarRequestHandler = RequestHandler<IAddressParam> | RequestHandler<IAddressNumberParams> | RequestHandler<INumberParam> | RequestHandler<IParaIdParam> | RequestHandler;
|
|
8
|
+
declare type SidecarRequestHandler = RequestHandler<unknown, unknown, unknown, IRangeQueryParam> | RequestHandler<IAddressParam> | RequestHandler<IAddressNumberParams> | RequestHandler<INumberParam> | RequestHandler<IParaIdParam> | RequestHandler;
|
|
9
9
|
/**
|
|
10
10
|
* Abstract base class for creating controller classes.
|
|
11
11
|
*/
|
|
@@ -48,6 +48,10 @@ export default abstract class AbstractController<T extends AbstractService> {
|
|
|
48
48
|
*/
|
|
49
49
|
protected getHashForBlock(blockId: string): Promise<BlockHash>;
|
|
50
50
|
protected parseNumberOrThrow(n: string, errorMessage: string): number;
|
|
51
|
+
/**
|
|
52
|
+
* Expected format ie: 0-999
|
|
53
|
+
*/
|
|
54
|
+
protected parseRangeOfNumbersOrThrow(n: string, maxRange: number): number[];
|
|
51
55
|
protected parseQueryParamArrayOrThrow(n: string[]): number[];
|
|
52
56
|
protected verifyAndCastOr(name: string, str: unknown, or: number | undefined): number | undefined;
|
|
53
57
|
/**
|
|
@@ -40,6 +40,7 @@ const express = __importStar(require("express"));
|
|
|
40
40
|
const http_errors_1 = require("http-errors");
|
|
41
41
|
const sanitize_1 = require("../sanitize");
|
|
42
42
|
const errors_1 = require("../types/errors");
|
|
43
|
+
const verifyInt_1 = require("../util/integers/verifyInt");
|
|
43
44
|
/**
|
|
44
45
|
* Abstract base class for creating controller classes.
|
|
45
46
|
*/
|
|
@@ -131,11 +132,35 @@ class AbstractController {
|
|
|
131
132
|
}
|
|
132
133
|
parseNumberOrThrow(n, errorMessage) {
|
|
133
134
|
const num = Number(n);
|
|
134
|
-
if (!
|
|
135
|
+
if (!(0, verifyInt_1.verifyUInt)(num)) {
|
|
135
136
|
throw new http_errors_1.BadRequest(errorMessage);
|
|
136
137
|
}
|
|
137
138
|
return num;
|
|
138
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* Expected format ie: 0-999
|
|
142
|
+
*/
|
|
143
|
+
parseRangeOfNumbersOrThrow(n, maxRange) {
|
|
144
|
+
const splitRange = n.split('-');
|
|
145
|
+
if (splitRange.length !== 2) {
|
|
146
|
+
throw new http_errors_1.BadRequest('Incorrect range format. Expected example: 0-999');
|
|
147
|
+
}
|
|
148
|
+
const min = Number(splitRange[0]);
|
|
149
|
+
const max = Number(splitRange[1]);
|
|
150
|
+
if (!(0, verifyInt_1.verifyUInt)(min)) {
|
|
151
|
+
throw new http_errors_1.BadRequest('Inputted min value for range must be an unsigned integer.');
|
|
152
|
+
}
|
|
153
|
+
if (!(0, verifyInt_1.verifyNonZeroUInt)(max)) {
|
|
154
|
+
throw new http_errors_1.BadRequest('Inputted max value for range must be an unsigned non zero integer.');
|
|
155
|
+
}
|
|
156
|
+
if (min >= max) {
|
|
157
|
+
throw new http_errors_1.BadRequest('Inputted min value cannot be greater than or equal to the max value.');
|
|
158
|
+
}
|
|
159
|
+
if (max - min > maxRange) {
|
|
160
|
+
throw new http_errors_1.BadRequest(`Inputted range is greater than the ${maxRange} range limit.`);
|
|
161
|
+
}
|
|
162
|
+
return [...Array(max - min + 1).keys()].map((i) => i + min);
|
|
163
|
+
}
|
|
139
164
|
parseQueryParamArrayOrThrow(n) {
|
|
140
165
|
return n.map((str) => this.parseNumberOrThrow(str, `Incorrect AssetId format: ${str} is not a positive integer.`));
|
|
141
166
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractController.js","sourceRoot":"","sources":["../../../src/controllers/AbstractController.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,8CAA8C;AAC9C,EAAE;AACF,gFAAgF;AAChF,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,wEAAwE;;;;;;;;;;;;;;;;;;;;;;AAIxE,yCAAuC;AAEvC,iDAAmC;AACnC,6CAAyE;
|
|
1
|
+
{"version":3,"file":"AbstractController.js","sourceRoot":"","sources":["../../../src/controllers/AbstractController.ts"],"names":[],"mappings":"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"}
|
|
@@ -196,5 +196,24 @@ describe('AbstractController', () => {
|
|
|
196
196
|
api.createType = registries_1.kusamaRegistry.createType.bind(registries_1.kusamaRegistry);
|
|
197
197
|
});
|
|
198
198
|
});
|
|
199
|
+
describe('parseRangeOfNumbersOrThrow', () => {
|
|
200
|
+
it('Should return the correct array given a range', () => {
|
|
201
|
+
const res = controller['parseRangeOfNumbersOrThrow']('100-103', 500);
|
|
202
|
+
expect(res).toStrictEqual([100, 101, 102, 103]);
|
|
203
|
+
});
|
|
204
|
+
it('Should throw an error when the inputted format is wrong', () => {
|
|
205
|
+
const badFormatRequest = new http_errors_1.BadRequest('Incorrect range format. Expected example: 0-999');
|
|
206
|
+
const badMinRequest = new http_errors_1.BadRequest('Inputted min value for range must be an unsigned integer.');
|
|
207
|
+
const badMaxRequest = new http_errors_1.BadRequest('Inputted max value for range must be an unsigned non zero integer.');
|
|
208
|
+
const badMaxMinRequest = new http_errors_1.BadRequest('Inputted min value cannot be greater than or equal to the max value.');
|
|
209
|
+
const badMaxRangeRequest = new http_errors_1.BadRequest('Inputted range is greater than the 500 range limit.');
|
|
210
|
+
expect(() => controller['parseRangeOfNumbersOrThrow']('100', 500)).toThrow(badFormatRequest);
|
|
211
|
+
expect(() => controller['parseRangeOfNumbersOrThrow']('h-100', 500)).toThrow(badMinRequest);
|
|
212
|
+
expect(() => controller['parseRangeOfNumbersOrThrow']('100-h', 500)).toThrow(badMaxRequest);
|
|
213
|
+
expect(() => controller['parseRangeOfNumbersOrThrow']('100-1', 500)).toThrow(badMaxMinRequest);
|
|
214
|
+
expect(() => controller['parseRangeOfNumbersOrThrow']('1-1', 500)).toThrow(badMaxMinRequest);
|
|
215
|
+
expect(() => controller['parseRangeOfNumbersOrThrow']('2-503', 500)).toThrow(badMaxRangeRequest);
|
|
216
|
+
});
|
|
217
|
+
});
|
|
199
218
|
});
|
|
200
219
|
//# sourceMappingURL=AbstractControllers.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractControllers.spec.js","sourceRoot":"","sources":["../../../src/controllers/AbstractControllers.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AbstractControllers.spec.js","sourceRoot":"","sources":["../../../src/controllers/AbstractControllers.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,5 +99,12 @@ export default class BlocksController extends AbstractController<BlocksService>
|
|
|
99
99
|
* @param res Express Response
|
|
100
100
|
*/
|
|
101
101
|
private getLatestBlockHeader;
|
|
102
|
+
/**
|
|
103
|
+
* Return a collection of blocks, given a range.
|
|
104
|
+
*
|
|
105
|
+
* @param req Express Request
|
|
106
|
+
* @param res Express Response
|
|
107
|
+
*/
|
|
108
|
+
private getBlocks;
|
|
102
109
|
}
|
|
103
110
|
export {};
|
|
@@ -19,7 +19,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
const util_1 = require("@polkadot/util");
|
|
22
|
+
const http_errors_1 = require("http-errors");
|
|
22
23
|
const services_1 = require("../../services");
|
|
24
|
+
const PromiseQueue_1 = require("../../util/PromiseQueue");
|
|
23
25
|
const AbstractController_1 = __importDefault(require("../AbstractController"));
|
|
24
26
|
/**
|
|
25
27
|
* GET a block.
|
|
@@ -171,10 +173,53 @@ class BlocksController extends AbstractController_1.default {
|
|
|
171
173
|
: undefined;
|
|
172
174
|
BlocksController.sanitizedSend(res, await this.service.fetchBlockHeader(hash));
|
|
173
175
|
};
|
|
176
|
+
/**
|
|
177
|
+
* Return a collection of blocks, given a range.
|
|
178
|
+
*
|
|
179
|
+
* @param req Express Request
|
|
180
|
+
* @param res Express Response
|
|
181
|
+
*/
|
|
182
|
+
this.getBlocks = async ({ query: { range, eventDocs, extrinsicDocs } }, res) => {
|
|
183
|
+
if (!range)
|
|
184
|
+
throw new http_errors_1.BadRequest('range query parameter must be inputted.');
|
|
185
|
+
// We set a max range to 500 blocks.
|
|
186
|
+
const rangeOfNums = this.parseRangeOfNumbersOrThrow(range, 500);
|
|
187
|
+
const eventDocsArg = eventDocs === 'true';
|
|
188
|
+
const extrinsicDocsArg = extrinsicDocs === 'true';
|
|
189
|
+
const queryFinalizedHead = !this.options.finalizes ? false : true;
|
|
190
|
+
const omitFinalizedTag = !this.options.finalizes ? true : false;
|
|
191
|
+
const options = {
|
|
192
|
+
eventDocs: eventDocsArg,
|
|
193
|
+
extrinsicDocs: extrinsicDocsArg,
|
|
194
|
+
checkFinalized: false,
|
|
195
|
+
queryFinalizedHead,
|
|
196
|
+
omitFinalizedTag,
|
|
197
|
+
};
|
|
198
|
+
const pQueue = new PromiseQueue_1.PromiseQueue(4);
|
|
199
|
+
const blocksPromise = [];
|
|
200
|
+
for (let i = 0; i < rangeOfNums.length; i++) {
|
|
201
|
+
const result = pQueue.run(async () => {
|
|
202
|
+
// Get block hash:
|
|
203
|
+
const hash = await this.getHashForBlock(rangeOfNums[i].toString());
|
|
204
|
+
// Get API at that hash:
|
|
205
|
+
const historicApi = await this.api.at(hash);
|
|
206
|
+
// Get block details using this API/hash:
|
|
207
|
+
return await this.service.fetchBlock(hash, historicApi, options);
|
|
208
|
+
});
|
|
209
|
+
blocksPromise.push(result);
|
|
210
|
+
}
|
|
211
|
+
const blocks = (await Promise.all(blocksPromise));
|
|
212
|
+
/**
|
|
213
|
+
* Sort blocks from least to greatest.
|
|
214
|
+
*/
|
|
215
|
+
blocks.sort((a, b) => a.number.toNumber() - b.number.toNumber());
|
|
216
|
+
BlocksController.sanitizedSend(res, blocks);
|
|
217
|
+
};
|
|
174
218
|
this.initRoutes();
|
|
175
219
|
}
|
|
176
220
|
initRoutes() {
|
|
177
221
|
this.safeMountAsyncGetHandlers([
|
|
222
|
+
['/', this.getBlocks],
|
|
178
223
|
['/head', this.getLatestBlock],
|
|
179
224
|
['/:number', this.getBlockById],
|
|
180
225
|
['/head/header', this.getLatestBlockHeader],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlocksController.js","sourceRoot":"","sources":["../../../../src/controllers/blocks/BlocksController.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,8CAA8C;AAC9C,EAAE;AACF,gFAAgF;AAChF,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,wEAAwE;;;;;AAGxE,yCAAuC;
|
|
1
|
+
{"version":3,"file":"BlocksController.js","sourceRoot":"","sources":["../../../../src/controllers/blocks/BlocksController.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,7 +72,7 @@ class PalletsStorageController extends AbstractController_1.default {
|
|
|
72
72
|
};
|
|
73
73
|
this.initRoutes();
|
|
74
74
|
this.deprecationMsg =
|
|
75
|
-
'The adjustMetadataV13 query parameter
|
|
75
|
+
'The adjustMetadataV13 query parameter has been deprecated. It will still be available to use for historic blocks.';
|
|
76
76
|
}
|
|
77
77
|
initRoutes() {
|
|
78
78
|
// TODO look into middleware validation of in path IDs. https://github.com/paritytech/substrate-api-sidecar/issues/281
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PalletsStorageController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsStorageController.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PalletsStorageController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsStorageController.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,11 @@ import { IValidateAddrResponse } from '../../types/responses/ValidateAddress';
|
|
|
2
2
|
import { AbstractService } from '../AbstractService';
|
|
3
3
|
export declare class AccountsValidateService extends AbstractService {
|
|
4
4
|
/**
|
|
5
|
-
* Takes a given address and determines whether it is a ss58
|
|
6
|
-
*
|
|
5
|
+
* Takes a given address and determines whether it is a ss58 or
|
|
6
|
+
* a hex (from a u8 array) formatted address,
|
|
7
|
+
* what the ss58 prefix for that address is,
|
|
8
|
+
* what is the network address format,
|
|
9
|
+
* and what the account ID is for this address.
|
|
7
10
|
*
|
|
8
11
|
* @param address ss58 or hex address to validate
|
|
9
12
|
*/
|
|
@@ -22,14 +22,18 @@ const defaults_1 = require("@polkadot/util-crypto/address/defaults");
|
|
|
22
22
|
const AbstractService_1 = require("../AbstractService");
|
|
23
23
|
class AccountsValidateService extends AbstractService_1.AbstractService {
|
|
24
24
|
/**
|
|
25
|
-
* Takes a given address and determines whether it is a ss58
|
|
26
|
-
*
|
|
25
|
+
* Takes a given address and determines whether it is a ss58 or
|
|
26
|
+
* a hex (from a u8 array) formatted address,
|
|
27
|
+
* what the ss58 prefix for that address is,
|
|
28
|
+
* what is the network address format,
|
|
29
|
+
* and what the account ID is for this address.
|
|
27
30
|
*
|
|
28
31
|
* @param address ss58 or hex address to validate
|
|
29
32
|
*/
|
|
30
33
|
validateAddress(address) {
|
|
31
34
|
let u8Address;
|
|
32
|
-
|
|
35
|
+
const addressIsHex = (0, util_1.isHex)(address);
|
|
36
|
+
if (addressIsHex) {
|
|
33
37
|
u8Address = (0, util_1.hexToU8a)(address);
|
|
34
38
|
}
|
|
35
39
|
else {
|
|
@@ -42,14 +46,30 @@ class AccountsValidateService extends AbstractService_1.AbstractService {
|
|
|
42
46
|
}
|
|
43
47
|
if (defaults_1.defaults.allowedEncodedLengths.includes(u8Address.length)) {
|
|
44
48
|
const [isValid, , , ss58Prefix] = (0, util_crypto_1.checkAddressChecksum)(u8Address);
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
+
if (isValid) {
|
|
50
|
+
let network = null;
|
|
51
|
+
for (const networkParams of util_crypto_1.allNetworks) {
|
|
52
|
+
if (networkParams['prefix'] === ss58Prefix) {
|
|
53
|
+
network = networkParams['network'];
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const accountId = addressIsHex
|
|
58
|
+
? '0x' + address.slice(4, -4)
|
|
59
|
+
: this.api.registry.createType('AccountId', address).toHex();
|
|
60
|
+
return {
|
|
61
|
+
isValid: isValid,
|
|
62
|
+
ss58Prefix,
|
|
63
|
+
network,
|
|
64
|
+
accountId,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
49
67
|
}
|
|
50
68
|
return {
|
|
51
69
|
isValid: false,
|
|
52
70
|
ss58Prefix: null,
|
|
71
|
+
network: null,
|
|
72
|
+
accountId: null,
|
|
53
73
|
};
|
|
54
74
|
}
|
|
55
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountsValidateService.js","sourceRoot":"","sources":["../../../../src/services/accounts/AccountsValidateService.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,8CAA8C;AAC9C,EAAE;AACF,gFAAgF;AAChF,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,wEAAwE;;;AAExE,yCAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"AccountsValidateService.js","sourceRoot":"","sources":["../../../../src/services/accounts/AccountsValidateService.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,8CAA8C;AAC9C,EAAE;AACF,gFAAgF;AAChF,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,wEAAwE;;;AAExE,yCAAiD;AACjD,uDAI+B;AAC/B,qEAAkE;AAGlE,wDAAqD;AAErD,MAAa,uBAAwB,SAAQ,iCAAe;IAC3D;;;;;;;;OAQG;IACH,eAAe,CAAC,OAAe;QAC9B,IAAI,SAAS,CAAC;QACd,MAAM,YAAY,GAAG,IAAA,YAAK,EAAC,OAAO,CAAC,CAAC;QACpC,IAAI,YAAY,EAAE;YACjB,SAAS,GAAG,IAAA,eAAQ,EAAC,OAAO,CAAC,CAAC;SAC9B;aAAM;YACN,IAAI;gBACH,SAAS,GAAG,IAAA,0BAAY,EAAC,OAAO,CAAC,CAAC;aAClC;YAAC,OAAO,CAAC,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,CAAW,CAAC,CAAC;aAC7B;SACD;QAED,IAAI,mBAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YAC9D,MAAM,CAAC,OAAO,EAAE,AAAD,EAAG,AAAD,EAAG,UAAU,CAAC,GAAG,IAAA,kCAAoB,EAAC,SAAS,CAAC,CAAC;YAClE,IAAI,OAAO,EAAE;gBACZ,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,KAAK,MAAM,aAAa,IAAI,yBAAW,EAAE;oBACxC,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE;wBAC3C,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;wBACnC,MAAM;qBACN;iBACD;gBACD,MAAM,SAAS,GAAG,YAAY;oBAC7B,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC7B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC9D,OAAO;oBACN,OAAO,EAAE,OAAO;oBAChB,UAAU;oBACV,OAAO;oBACP,SAAS;iBACT,CAAC;aACF;SACD;QAED,OAAO;YACN,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;SACf,CAAC;IACH,CAAC;CACD;AApDD,0DAoDC"}
|
|
@@ -16,14 +16,19 @@
|
|
|
16
16
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const sanitize_1 = require("../../sanitize");
|
|
19
|
+
const mock_1 = require("../test-helpers/mock");
|
|
19
20
|
const AccountsValidateService_1 = require("./AccountsValidateService");
|
|
20
|
-
const mockApi = {
|
|
21
|
+
const mockApi = {
|
|
22
|
+
...mock_1.defaultMockApi,
|
|
23
|
+
};
|
|
21
24
|
const validateService = new AccountsValidateService_1.AccountsValidateService(mockApi);
|
|
22
25
|
describe('Validate addresses', () => {
|
|
23
26
|
it('Should verify a polkadot address', () => {
|
|
24
27
|
const expectedResponse = {
|
|
25
28
|
isValid: true,
|
|
26
29
|
ss58Prefix: '0',
|
|
30
|
+
network: 'polkadot',
|
|
31
|
+
accountId: '0x2a39366f6620a6c2e2fed5990a3d419e6a19dd127fc7a50b515cf17e2dc5cc59',
|
|
27
32
|
};
|
|
28
33
|
const polkadotAddr = '1xN1Q5eKQmS5AzASdjt6R6sHF76611vKR4PFpFjy1kXau4m';
|
|
29
34
|
expect((0, sanitize_1.sanitizeNumbers)(validateService.validateAddress(polkadotAddr))).toStrictEqual(expectedResponse);
|
|
@@ -32,6 +37,8 @@ describe('Validate addresses', () => {
|
|
|
32
37
|
const expectedResponse = {
|
|
33
38
|
isValid: true,
|
|
34
39
|
ss58Prefix: '2',
|
|
40
|
+
network: 'kusama',
|
|
41
|
+
accountId: '0x2a39366f6620a6c2e2fed5990a3d419e6a19dd127fc7a50b515cf17e2dc5cc59',
|
|
35
42
|
};
|
|
36
43
|
const kusamaAddr = 'DXgXPAT5zWtPHo6FhVvrDdiaDPgCNGxhJAeVBYLtiwW9hAc';
|
|
37
44
|
expect((0, sanitize_1.sanitizeNumbers)(validateService.validateAddress(kusamaAddr))).toStrictEqual(expectedResponse);
|
|
@@ -40,6 +47,8 @@ describe('Validate addresses', () => {
|
|
|
40
47
|
const expectedResponse = {
|
|
41
48
|
isValid: true,
|
|
42
49
|
ss58Prefix: '16',
|
|
50
|
+
network: 'kulupu',
|
|
51
|
+
accountId: '0x2a39366f6620a6c2e2fed5990a3d419e6a19dd127fc7a50b515cf17e2dc5cc59',
|
|
43
52
|
};
|
|
44
53
|
const kulupuAddr = '2cYv9Gk6U4m4a7Taw9pG8qMfd1Pnxw6FLTvV6kYZNhGL6M9y';
|
|
45
54
|
expect((0, sanitize_1.sanitizeNumbers)(validateService.validateAddress(kulupuAddr))).toStrictEqual(expectedResponse);
|
|
@@ -48,6 +57,8 @@ describe('Validate addresses', () => {
|
|
|
48
57
|
const expectedResponse = {
|
|
49
58
|
isValid: true,
|
|
50
59
|
ss58Prefix: '42',
|
|
60
|
+
network: 'substrate',
|
|
61
|
+
accountId: '0x78b39b0b6dd87cb68009eb570511d21c229bdb5e94129ae570e9b79442ba2665',
|
|
51
62
|
};
|
|
52
63
|
const substrateAddr = '5EnxxUmEbw8DkENKiYuZ1DwQuMoB2UWEQJZZXrTsxoz7SpgG';
|
|
53
64
|
expect((0, sanitize_1.sanitizeNumbers)(validateService.validateAddress(substrateAddr))).toStrictEqual(expectedResponse);
|
|
@@ -56,6 +67,8 @@ describe('Validate addresses', () => {
|
|
|
56
67
|
const expectedResponse = {
|
|
57
68
|
isValid: true,
|
|
58
69
|
ss58Prefix: '0',
|
|
70
|
+
network: 'polkadot',
|
|
71
|
+
accountId: '0x2a39366f6620a6c2e2fed5990a3d419e6a19dd127fc7a50b515cf17e2dc5cc59',
|
|
59
72
|
};
|
|
60
73
|
const polkadotHex = '0x002a39366f6620a6c2e2fed5990a3d419e6a19dd127fc7a50b515cf17e2dc5cc592312';
|
|
61
74
|
expect((0, sanitize_1.sanitizeNumbers)(validateService.validateAddress(polkadotHex))).toStrictEqual(expectedResponse);
|
|
@@ -64,6 +77,8 @@ describe('Validate addresses', () => {
|
|
|
64
77
|
const expectedResponse = {
|
|
65
78
|
isValid: true,
|
|
66
79
|
ss58Prefix: '2',
|
|
80
|
+
network: 'kusama',
|
|
81
|
+
accountId: '0xce046d43fc4c0fb8b3b754028515e5020f5f1d8d620b4ef0f983c5df34b19529',
|
|
67
82
|
};
|
|
68
83
|
const kusamaHex = '0x02ce046d43fc4c0fb8b3b754028515e5020f5f1d8d620b4ef0f983c5df34b1952909e9';
|
|
69
84
|
expect((0, sanitize_1.sanitizeNumbers)(validateService.validateAddress(kusamaHex))).toStrictEqual(expectedResponse);
|
|
@@ -72,6 +87,8 @@ describe('Validate addresses', () => {
|
|
|
72
87
|
const expectedResponse = {
|
|
73
88
|
isValid: true,
|
|
74
89
|
ss58Prefix: '8',
|
|
90
|
+
network: 'karura',
|
|
91
|
+
accountId: '0x6d6f646c6163612f636470740000000000000000000000000000000000000000',
|
|
75
92
|
};
|
|
76
93
|
const karuraHex = '0x086d6f646c6163612f6364707400000000000000000000000000000000000000008333';
|
|
77
94
|
expect((0, sanitize_1.sanitizeNumbers)(validateService.validateAddress(karuraHex))).toStrictEqual(expectedResponse);
|
|
@@ -80,6 +97,8 @@ describe('Validate addresses', () => {
|
|
|
80
97
|
const expectedResponse = {
|
|
81
98
|
isValid: false,
|
|
82
99
|
ss58Prefix: null,
|
|
100
|
+
network: null,
|
|
101
|
+
accountId: null,
|
|
83
102
|
};
|
|
84
103
|
const invalidAddr = '0x2a39366f6620a6c2e2fed5990a3d419e6a19dd127fc7a50b515cf17e2dc5cc59';
|
|
85
104
|
expect((0, sanitize_1.sanitizeNumbers)(validateService.validateAddress(invalidAddr))).toStrictEqual(expectedResponse);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountsValidateService.spec.js","sourceRoot":"","sources":["../../../../src/services/accounts/AccountsValidateService.spec.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,8CAA8C;AAC9C,EAAE;AACF,gFAAgF;AAChF,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,wEAAwE;;AAIxE,6CAAiD;AACjD,uEAAoE;AAEpE,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"AccountsValidateService.spec.js","sourceRoot":"","sources":["../../../../src/services/accounts/AccountsValidateService.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -152,14 +152,16 @@ class PalletsStorageService extends AbstractService_1.AbstractService {
|
|
|
152
152
|
findPalletMeta(adjustedMetadata, historicApi, palletId) {
|
|
153
153
|
const metadataType = adjustedMetadata.toRawType();
|
|
154
154
|
let pallets;
|
|
155
|
+
let filtered;
|
|
155
156
|
if (metadataType.includes('MetadataV13')) {
|
|
156
157
|
pallets = adjustedMetadata['modules'];
|
|
158
|
+
filtered = pallets.filter((mod) => mod.storage.isSome);
|
|
157
159
|
}
|
|
158
160
|
else {
|
|
159
161
|
pallets = adjustedMetadata['pallets'];
|
|
162
|
+
filtered = pallets.filter((mod) => mod.storage.isSome);
|
|
160
163
|
}
|
|
161
164
|
const { isValidPalletName, isValidPalletIndex, parsedPalletId } = this.validPalletId(historicApi, pallets, palletId);
|
|
162
|
-
const filtered = pallets.filter((mod) => mod.storage.isSome);
|
|
163
165
|
let palletMeta;
|
|
164
166
|
let palletIdx;
|
|
165
167
|
if (isValidPalletIndex) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PalletsStorageService.js","sourceRoot":"","sources":["../../../../src/services/pallets/PalletsStorageService.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,8CAA8C;AAC9C,EAAE;AACF,gFAAgF;AAChF,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,wEAAwE;;;AAaxE,yCAAiD;AACjD,6CAA8D;AAO9D,oEAAiE;AACjE,wDAAqD;AAgBrD;;GAEG;AACH,MAAM,aAAa,GAAG;IACrB,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,OAAO;CAChB,CAAC;AAEF,MAAa,qBAAsB,SAAQ,iCAAe;IAA1D;;QAqGC;;;;;;;WAOG;QACK,0BAAqB,GAAG,KAAK,EACpC,WAAqC,EACrC,IAAe,EACf,oBAA6B,EACQ,EAAE;YACvC,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACrD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE;aACtC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAElD,IAAI,cAAc,CAAC;YACnB,IACC,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAChD,oBAAoB,EACnB;gBACD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACpE,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC;aACxC;iBAAM;gBACN,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;aAC/C;YAED,OAAO,cAAc,CAAC;QACvB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"PalletsStorageService.js","sourceRoot":"","sources":["../../../../src/services/pallets/PalletsStorageService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IEventData } from '@polkadot/types/types';
|
|
2
|
+
import { Codec } from '@polkadot/types-codec/types';
|
|
2
3
|
import { IFrameMethod } from '.';
|
|
3
4
|
export interface ISanitizedEvent {
|
|
4
5
|
method: string | IFrameMethod;
|
|
5
|
-
data:
|
|
6
|
+
data: Codec[] & IEventData;
|
|
7
|
+
docs?: string;
|
|
6
8
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A PromiseQueue, enforcing that no more than `maxTasks` number of tasks
|
|
3
|
+
* are running at a given time.
|
|
4
|
+
*/
|
|
5
|
+
export declare class PromiseQueue<T> {
|
|
6
|
+
#private;
|
|
7
|
+
constructor(maxTasks: number);
|
|
8
|
+
private tryRunNextTask;
|
|
9
|
+
private submitTaskToRun;
|
|
10
|
+
/**
|
|
11
|
+
* Push a new task onto the queue. It will run when there are fewer
|
|
12
|
+
* than `maxTasks` running.
|
|
13
|
+
*/
|
|
14
|
+
run(task: () => Promise<T>): Promise<T>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _PromiseQueue_maxTasks, _PromiseQueue_runningTasks, _PromiseQueue_tasks, _LinkedList_first, _LinkedList_last;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.PromiseQueue = void 0;
|
|
16
|
+
/**
|
|
17
|
+
* A PromiseQueue, enforcing that no more than `maxTasks` number of tasks
|
|
18
|
+
* are running at a given time.
|
|
19
|
+
*/
|
|
20
|
+
class PromiseQueue {
|
|
21
|
+
constructor(maxTasks) {
|
|
22
|
+
// How many tasks are allowed to run concurrently?
|
|
23
|
+
_PromiseQueue_maxTasks.set(this, void 0);
|
|
24
|
+
// How many tasks are currently running concurrently?
|
|
25
|
+
_PromiseQueue_runningTasks.set(this, 0);
|
|
26
|
+
// The queued tasks waiting to run
|
|
27
|
+
_PromiseQueue_tasks.set(this, void 0);
|
|
28
|
+
__classPrivateFieldSet(this, _PromiseQueue_maxTasks, maxTasks, "f");
|
|
29
|
+
__classPrivateFieldSet(this, _PromiseQueue_tasks, new LinkedList(), "f");
|
|
30
|
+
}
|
|
31
|
+
// Try to run the next task in the queue.
|
|
32
|
+
tryRunNextTask() {
|
|
33
|
+
if (__classPrivateFieldGet(this, _PromiseQueue_runningTasks, "f") >= __classPrivateFieldGet(this, _PromiseQueue_maxTasks, "f")) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const nextTask = __classPrivateFieldGet(this, _PromiseQueue_tasks, "f").popFront();
|
|
37
|
+
if (nextTask) {
|
|
38
|
+
nextTask();
|
|
39
|
+
__classPrivateFieldSet(this, _PromiseQueue_runningTasks, __classPrivateFieldGet(this, _PromiseQueue_runningTasks, "f") + 1, "f");
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Take a task and package it up to run, triggering
|
|
43
|
+
// the next task when it completes (or errors), and returning the
|
|
44
|
+
// result in the returned promise.
|
|
45
|
+
submitTaskToRun(task) {
|
|
46
|
+
return new Promise((resolve, reject) => {
|
|
47
|
+
const onFinish = () => {
|
|
48
|
+
__classPrivateFieldSet(this, _PromiseQueue_runningTasks, __classPrivateFieldGet(this, _PromiseQueue_runningTasks, "f") - 1, "f");
|
|
49
|
+
this.tryRunNextTask();
|
|
50
|
+
};
|
|
51
|
+
const taskToRun = () => {
|
|
52
|
+
task()
|
|
53
|
+
.then((item) => {
|
|
54
|
+
resolve(item);
|
|
55
|
+
onFinish();
|
|
56
|
+
})
|
|
57
|
+
.catch((err) => {
|
|
58
|
+
reject(err);
|
|
59
|
+
onFinish();
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
__classPrivateFieldGet(this, _PromiseQueue_tasks, "f").pushBack(taskToRun);
|
|
63
|
+
this.tryRunNextTask();
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Push a new task onto the queue. It will run when there are fewer
|
|
68
|
+
* than `maxTasks` running.
|
|
69
|
+
*/
|
|
70
|
+
run(task) {
|
|
71
|
+
return this.submitTaskToRun(task);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.PromiseQueue = PromiseQueue;
|
|
75
|
+
_PromiseQueue_maxTasks = new WeakMap(), _PromiseQueue_runningTasks = new WeakMap(), _PromiseQueue_tasks = new WeakMap();
|
|
76
|
+
/**
|
|
77
|
+
* A quick LinkedList queue implementation; we can add items to the back
|
|
78
|
+
* or remove them from the front.
|
|
79
|
+
*/
|
|
80
|
+
class LinkedList {
|
|
81
|
+
constructor() {
|
|
82
|
+
_LinkedList_first.set(this, null);
|
|
83
|
+
_LinkedList_last.set(this, null);
|
|
84
|
+
}
|
|
85
|
+
init(item) {
|
|
86
|
+
__classPrivateFieldSet(this, _LinkedList_first, __classPrivateFieldSet(this, _LinkedList_last, { item, next: null }, "f"), "f");
|
|
87
|
+
}
|
|
88
|
+
pushBack(item) {
|
|
89
|
+
if (!__classPrivateFieldGet(this, _LinkedList_first, "f"))
|
|
90
|
+
return this.init(item);
|
|
91
|
+
const entry = { item, next: null };
|
|
92
|
+
/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */
|
|
93
|
+
__classPrivateFieldGet(this, _LinkedList_last, "f").next = entry;
|
|
94
|
+
__classPrivateFieldSet(this, _LinkedList_last, entry, "f");
|
|
95
|
+
}
|
|
96
|
+
popFront() {
|
|
97
|
+
if (!__classPrivateFieldGet(this, _LinkedList_first, "f"))
|
|
98
|
+
return null;
|
|
99
|
+
const entry = __classPrivateFieldGet(this, _LinkedList_first, "f");
|
|
100
|
+
__classPrivateFieldSet(this, _LinkedList_first, __classPrivateFieldGet(this, _LinkedList_first, "f").next, "f");
|
|
101
|
+
return entry.item;
|
|
102
|
+
}
|
|
103
|
+
clear() {
|
|
104
|
+
__classPrivateFieldSet(this, _LinkedList_first, __classPrivateFieldSet(this, _LinkedList_last, null, "f"), "f");
|
|
105
|
+
}
|
|
106
|
+
empty() {
|
|
107
|
+
return __classPrivateFieldGet(this, _LinkedList_first, "f") === null;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
_LinkedList_first = new WeakMap(), _LinkedList_last = new WeakMap();
|
|
111
|
+
//# sourceMappingURL=PromiseQueue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromiseQueue.js","sourceRoot":"","sources":["../../../src/util/PromiseQueue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify all integers including zeroes.
|
|
3
|
+
* @param num
|
|
4
|
+
*/
|
|
5
|
+
export declare const verifyUInt: (num: Number) => boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Verify all integers except for zero. Will return false when zero is inputted.
|
|
8
|
+
* @param num
|
|
9
|
+
*/
|
|
10
|
+
export declare const verifyNonZeroUInt: (num: Number) => boolean;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.verifyNonZeroUInt = exports.verifyUInt = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Verify all integers including zeroes.
|
|
6
|
+
* @param num
|
|
7
|
+
*/
|
|
8
|
+
const verifyUInt = (num) => {
|
|
9
|
+
return Number.isInteger(num) && num >= 0;
|
|
10
|
+
};
|
|
11
|
+
exports.verifyUInt = verifyUInt;
|
|
12
|
+
/**
|
|
13
|
+
* Verify all integers except for zero. Will return false when zero is inputted.
|
|
14
|
+
* @param num
|
|
15
|
+
*/
|
|
16
|
+
const verifyNonZeroUInt = (num) => {
|
|
17
|
+
return Number.isInteger(num) && num > 0;
|
|
18
|
+
};
|
|
19
|
+
exports.verifyNonZeroUInt = verifyNonZeroUInt;
|
|
20
|
+
//# sourceMappingURL=verifyInt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyInt.js","sourceRoot":"","sources":["../../../../src/util/integers/verifyInt.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACI,MAAM,UAAU,GAAG,CAAC,GAAW,EAAW,EAAE;IAClD,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;AAC1C,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEF;;;GAGG;AACI,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAW,EAAE;IACzD,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AACzC,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const verifyInt_1 = require("./verifyInt");
|
|
4
|
+
describe('Verify integers', () => {
|
|
5
|
+
describe('verifyUInt', () => {
|
|
6
|
+
it('Should correctly handle unsigned integers correctly', () => {
|
|
7
|
+
expect((0, verifyInt_1.verifyUInt)(0)).toBe(true);
|
|
8
|
+
expect((0, verifyInt_1.verifyUInt)(1)).toBe(true);
|
|
9
|
+
expect((0, verifyInt_1.verifyUInt)(-1)).toBe(false);
|
|
10
|
+
});
|
|
11
|
+
});
|
|
12
|
+
describe('verifyNonZeroUInt', () => {
|
|
13
|
+
it('Should correctly handle unsigned integers correctly', () => {
|
|
14
|
+
expect((0, verifyInt_1.verifyNonZeroUInt)(1)).toBe(true);
|
|
15
|
+
expect((0, verifyInt_1.verifyNonZeroUInt)(0)).toBe(false);
|
|
16
|
+
expect((0, verifyInt_1.verifyNonZeroUInt)(-1)).toBe(false);
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=verifyInt.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyInt.spec.js","sourceRoot":"","sources":["../../../../src/util/integers/verifyInt.spec.ts"],"names":[],"mappings":";;AAAA,2CAA4D;AAE5D,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAChC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC9D,MAAM,CAAC,IAAA,sBAAU,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,CAAC,IAAA,sBAAU,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,CAAC,IAAA,sBAAU,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC9D,MAAM,CAAC,IAAA,6BAAiB,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,IAAA,6BAAiB,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,CAAC,IAAA,6BAAiB,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "12.
|
|
2
|
+
"version": "12.3.0",
|
|
3
3
|
"name": "@substrate/api-sidecar",
|
|
4
4
|
"description": "REST service that makes it easy to interact with blockchain nodes built using Substrate's FRAME framework.",
|
|
5
5
|
"homepage": "https://github.com/paritytech/substrate-api-sidecar#readme",
|
|
@@ -36,7 +36,6 @@
|
|
|
36
36
|
"dev": "tsc-watch --onSuccess \"yarn run main\"",
|
|
37
37
|
"test": "NODE_ENV=test substrate-exec-jest --detectOpenHandles",
|
|
38
38
|
"test:watch": "NODE_ENV=test substrate-exec-jest --watch",
|
|
39
|
-
"test:cov": "NODE_ENV=test substrate-exec-jest --detectOpenHandles --coverage",
|
|
40
39
|
"lint:e2e-tests": "cd e2e-tests && substrate-dev-run-lint",
|
|
41
40
|
"build:e2e-tests": "substrate-exec-tsc --project e2e-tests/tsconfig.json",
|
|
42
41
|
"test:e2e-tests": "yarn build:e2e-tests && node ./e2e-tests/build/index.js --config=./e2e-tests/jest.config.js",
|
|
@@ -54,8 +53,8 @@
|
|
|
54
53
|
"update-pjs-deps": "substrate-update-pjs-deps && yarn"
|
|
55
54
|
},
|
|
56
55
|
"dependencies": {
|
|
57
|
-
"@polkadot/api": "^8.
|
|
58
|
-
"@polkadot/util-crypto": "^9.
|
|
56
|
+
"@polkadot/api": "^8.11.2",
|
|
57
|
+
"@polkadot/util-crypto": "^9.7.2",
|
|
59
58
|
"@substrate/calc": "^0.2.8",
|
|
60
59
|
"argparse": "^2.0.1",
|
|
61
60
|
"confmgr": "1.0.7",
|
|
@@ -67,7 +66,7 @@
|
|
|
67
66
|
"winston": "^3.3.3"
|
|
68
67
|
},
|
|
69
68
|
"devDependencies": {
|
|
70
|
-
"@substrate/dev": "^0.6.
|
|
69
|
+
"@substrate/dev": "^0.6.3",
|
|
71
70
|
"@types/argparse": "2.0.10",
|
|
72
71
|
"@types/express": "4.17.13",
|
|
73
72
|
"@types/express-serve-static-core": "4.17.25",
|
|
@@ -89,5 +88,5 @@
|
|
|
89
88
|
"polkadot",
|
|
90
89
|
"kusama"
|
|
91
90
|
],
|
|
92
|
-
"packageManager": "yarn@3.2.
|
|
91
|
+
"packageManager": "yarn@3.2.1"
|
|
93
92
|
}
|