@substrate/api-sidecar 12.1.1 → 12.2.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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "12.1.1",
2
+ "version": "12.2.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",
@@ -54,8 +54,8 @@
54
54
  "update-pjs-deps": "substrate-update-pjs-deps && yarn"
55
55
  },
56
56
  "dependencies": {
57
- "@polkadot/api": "8.8.2",
58
- "@polkadot/util-crypto": "9.4.1",
57
+ "@polkadot/api": "^8.9.1",
58
+ "@polkadot/util-crypto": "^9.5.1",
59
59
  "@substrate/calc": "^0.2.8",
60
60
  "argparse": "^2.0.1",
61
61
  "confmgr": "1.0.7",
@@ -46,7 +46,7 @@ exports.kusamaControllers = {
46
46
  ],
47
47
  options: {
48
48
  finalizes: true,
49
- minCalcFeeRuntime: 1062,
49
+ minCalcFeeRuntime: 1058,
50
50
  blockStore: (0, lruCache_1.initLRUCache)(),
51
51
  },
52
52
  };
@@ -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 (!Number.isInteger(num) || num < 0) {
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;AAUzE,0CAA8C;AAC9C,4CAAqD;AAUrD;;GAEG;AACH,MAA8B,kBAAkB;IAE/C,YACW,GAAe,EACjB,KAAa,EACX,OAAU;QAFV,QAAG,GAAH,GAAG,CAAY;QACjB,UAAK,GAAL,KAAK,CAAQ;QACX,YAAO,GAAP,OAAO,CAAG;QAJb,YAAO,GAAW,OAAO,CAAC,MAAM,EAAE,CAAC;IAKxC,CAAC;IAEJ,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAUD;;;;;;;OAOG;IACO,yBAAyB,CAClC,gBAAmD;QAEnD,KAAK,MAAM,cAAc,IAAI,gBAAgB,EAAE;YAC9C,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,cAAc,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,GAAG,CACd,GAAG,IAAI,CAAC,IAAI,GAAG,UAAU,EAAE,EAC3B,kBAAkB,CAAC,SAAS,CAAC,OAAyB,CAAC,CACvD,CAAC;SACF;IACF,CAAC;IAmBD;;;;;OAKG;IACO,KAAK,CAAC,eAAe,CAAC,OAAe;QAC9C,IAAI,WAAW,CAAC;QAEhB,0EAA0E;QAC1E,8EAA8E;QAC9E,iFAAiF;QACjF,iEAAiE;QACjE,SAAS,SAAS,CAAC,KAAc;YAChC,OAAO,IAAA,YAAK,EAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,IAAI;YACH,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE;gBACtC,uBAAuB;gBACvB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;aACjD;iBAAM,IAAI,QAAQ,EAAE;gBACpB,MAAM,IAAI,wBAAU,CACnB,6BAA6B,OAAO,IAAI;oBACvC,kEAAkE,CACnE,CAAC;aACF;iBAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;gBACxC,MAAM,IAAI,wBAAU,CACnB,6BAA6B,OAAO,IAAI;oBACvC,kDAAkD;oBAClD,iDAAiD,CAClD,CAAC;aACF;YAED,2CAA2C;YAC3C,IAAI;gBACH,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;aACvE;YAAC,OAAO,GAAG,EAAE;gBACb,MAAM,IAAI,wBAAU,CACnB,6BAA6B,OAAO,IAAI;oBACvC,gFAAgF,CACjF,CAAC;aACF;YAED,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;SAC1D;QAAC,OAAO,GAAG,EAAE;YACb,IAAI,GAAG,YAAY,uBAAS,EAAE;gBAC7B,iDAAiD;gBACjD,MAAM,GAAG,CAAC;aACV;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBAClE,MAAM,IAAI,iCAAmB,CAC5B,+CAA+C,CAC/C,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,WAAW,IAAI,MAAM,CAAC,QAAQ,EAAE,GAAG,WAAW,EAAE;gBACnD,MAAM,IAAI,wBAAU,CACnB,mEAAmE;oBAClE,qCAAqC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAC1D,CAAC;aACF;YAED,mDAAmD;YACnD,IAAI,IAAA,2BAAkB,EAAC,GAAG,CAAC,EAAE;gBAC5B,MAAM,GAAG,CAAC;aACV;YAED,MAAM,IAAI,iCAAmB,CAAC,6BAA6B,OAAO,GAAG,CAAC,CAAC;SACvE;IACF,CAAC;IAES,kBAAkB,CAAC,CAAS,EAAE,YAAoB;QAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE;YACtC,MAAM,IAAI,wBAAU,CAAC,YAAY,CAAC,CAAC;SACnC;QAED,OAAO,GAAG,CAAC;IACZ,CAAC;IAES,2BAA2B,CAAC,CAAW;QAChD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACpB,IAAI,CAAC,kBAAkB,CACtB,GAAG,EACH,6BAA6B,GAAG,6BAA6B,CAC7D,CACD,CAAC;IACH,CAAC;IAES,eAAe,CACxB,IAAY,EACZ,GAAY,EACZ,EAAsB;QAEtB,IAAI,CAAC,GAAG,EAAE;YACT,OAAO,EAAE,CAAC;SACV;QAED,IAAI,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,EAAE;YAC/B,MAAM,IAAI,wBAAU,CACnB,qDAAqD,IAAI,cAAc,CACvE,CAAC;SACF;QAED,OAAO,IAAI,CAAC,kBAAkB,CAC7B,GAAG,EACH,GAAG,IAAI,mCAAmC,CAC1C,CAAC;IACH,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,aAAa,CAAC,EAAW;QACxC,OAAO,OAAO,EAAE,KAAK,QAAQ;YAC5B,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAChC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CACnB,GAAsB,EACtB,IAAO,EACP,UAA4B,EAAE;QAE9B,GAAG,CAAC,IAAI,CAAC,IAAA,0BAAe,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1C,CAAC;;AAtMF,qCAuMC;;AA3JA;;;;;GAKG;AACc,4BAAS,GACzB,CAAC,EAAkB,EAAkB,EAAE,CACvC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAiB,EAAE;IACvC,IAAI;QACH,6DAA6D;QAC7D,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;KACzB;IAAC,OAAO,GAAG,EAAE;QACb,IAAI,CAAC,GAAG,CAAC,CAAC;KACV;AACF,CAAE,CAAA"}
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":"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"}
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;AAEvC,6CAAyC;AAGzC,6CAA+C;AAG/C,0DAAuD;AACvD,+EAAuD;AAQvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,MAAqB,gBAAiB,SAAQ,4BAAiC;IAC9E,YAAY,GAAe,EAAmB,OAA0B;QACvE,KAAK,CACJ,GAAG,EACH,SAAS,EACT,IAAI,wBAAa,CAAC,GAAG,EAAE,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,CACrE,CAAC;QAL2C,YAAO,GAAP,OAAO,CAAmB;QAmBxE;;;;;WAKG;QACK,mBAAc,GAAmB,KAAK,EAC7C,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,EAClD,GAAG,EACF,EAAE;YACH,MAAM,YAAY,GAAG,SAAS,KAAK,MAAM,CAAC;YAC1C,MAAM,gBAAgB,GAAG,aAAa,KAAK,MAAM,CAAC;YAElD,IAAI,IAAI,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;gBAC5B,8EAA8E;gBAC9E,gBAAgB,GAAG,IAAI,CAAC;gBACxB,kBAAkB,GAAG,KAAK,CAAC;gBAC3B,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;aACnD;iBAAM,IAAI,SAAS,KAAK,OAAO,EAAE;gBACjC,uEAAuE;gBACvE,uEAAuE;gBACvE,+BAA+B;gBAC/B,gBAAgB,GAAG,KAAK,CAAC;gBACzB,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;aACnD;iBAAM;gBACN,gBAAgB,GAAG,KAAK,CAAC;gBACzB,kBAAkB,GAAG,KAAK,CAAC;gBAC3B,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;aACnD;YAED,MAAM,OAAO,GAAG;gBACf,SAAS,EAAE,YAAY;gBACvB,aAAa,EAAE,gBAAgB;gBAC/B,cAAc,EAAE,KAAK;gBACrB,kBAAkB;gBAClB,gBAAgB;aAChB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAE5C,gBAAgB,CAAC,aAAa,CAC7B,GAAG,EACH,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CACzD,CAAC;QACH,CAAC,CAAC;QAEF;;;;;WAKG;QACK,iBAAY,GAAiC,KAAK,EACzD,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAC3D,GAAG,EACa,EAAE;YAClB,MAAM,cAAc,GAAG,IAAA,YAAK,EAAC,MAAM,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAEhD,MAAM,YAAY,GAAG,SAAS,KAAK,MAAM,CAAC;YAC1C,MAAM,gBAAgB,GAAG,aAAa,KAAK,MAAM,CAAC;YAElD,MAAM,kBAAkB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAEhE,MAAM,OAAO,GAAG;gBACf,SAAS,EAAE,YAAY;gBACvB,aAAa,EAAE,gBAAgB;gBAC/B,cAAc;gBACd,kBAAkB;gBAClB,gBAAgB;aAChB,CAAC;YAEF,wFAAwF;YACxF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAE5C,6EAA6E;YAC7E,gBAAgB,CAAC,aAAa,CAC7B,GAAG,EACH,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CACzD,CAAC;QACH,CAAC,CAAC;QAEF;;;;;WAKG;QACK,uBAAkB,GAAiC,KAAK,EAC/D,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EACtB,GAAG,EACa,EAAE;YAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAEhD,gBAAgB,CAAC,aAAa,CAC7B,GAAG,EACH,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACzC,CAAC;QACH,CAAC,CAAC;QAEF;;;;;WAKG;QACK,yBAAoB,GAAmB,KAAK,EACnD,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EACxB,GAAG,EACa,EAAE;YAClB,MAAM,cAAc,GAAG,SAAS,KAAK,OAAO,CAAC;YAE7C,MAAM,IAAI,GAAG,cAAc;gBAC1B,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE;gBAC7C,CAAC,CAAC,SAAS,CAAC;YAEb,gBAAgB,CAAC,aAAa,CAC7B,GAAG,EACH,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACzC,CAAC;QACH,CAAC,CAAC;QAEF;;;;;WAKG;QACK,cAAS,GAKb,KAAK,EACR,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAC9C,GAAG,EACa,EAAE;YAClB,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,wBAAU,CAAC,yCAAyC,CAAC,CAAC;YAE5E,oCAAoC;YACpC,MAAM,WAAW,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAEhE,MAAM,YAAY,GAAG,SAAS,KAAK,MAAM,CAAC;YAC1C,MAAM,gBAAgB,GAAG,aAAa,KAAK,MAAM,CAAC;YAClD,MAAM,kBAAkB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAChE,MAAM,OAAO,GAAG;gBACf,SAAS,EAAE,YAAY;gBACvB,aAAa,EAAE,gBAAgB;gBAC/B,cAAc,EAAE,KAAK;gBACrB,kBAAkB;gBAClB,gBAAgB;aAChB,CAAC;YAEF,MAAM,MAAM,GAAG,IAAI,2BAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,aAAa,GAAuB,EAAE,CAAC;YAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;oBACpC,kBAAkB;oBAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACnE,wBAAwB;oBACxB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC5C,yCAAyC;oBACzC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;gBAClE,CAAC,CAAC,CAAC;gBACH,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC3B;YAED,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAa,CAAC;YAE9D;;eAEG;YACH,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEjE,gBAAgB,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC,CAAC;QAlMD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,yBAAyB,CAAC;YAC9B,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;YACrB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC;YAC9B,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;YAC/B,CAAC,cAAc,EAAE,IAAI,CAAC,oBAAoB,CAAC;YAC3C,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;SAC5C,CAAC,CAAC;IACJ,CAAC;CAwLD;AA1MD,mCA0MC"}
package/build/src/main.js CHANGED
File without changes
@@ -22,3 +22,6 @@ export interface IAddressNumberParams extends IAddressParam {
22
22
  export interface IParaIdParam extends ParamsDictionary {
23
23
  paraId: string;
24
24
  }
25
+ export interface IRangeQueryParam extends Query {
26
+ range: string;
27
+ }
@@ -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.1.1",
2
+ "version": "12.2.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",
@@ -54,8 +54,8 @@
54
54
  "update-pjs-deps": "substrate-update-pjs-deps && yarn"
55
55
  },
56
56
  "dependencies": {
57
- "@polkadot/api": "8.8.2",
58
- "@polkadot/util-crypto": "9.4.1",
57
+ "@polkadot/api": "^8.9.1",
58
+ "@polkadot/util-crypto": "^9.5.1",
59
59
  "@substrate/calc": "^0.2.8",
60
60
  "argparse": "^2.0.1",
61
61
  "confmgr": "1.0.7",