@substrate/api-sidecar 12.1.1 → 12.4.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.
Files changed (45) hide show
  1. package/build/package.json +4 -5
  2. package/build/src/chains-config/kusamaControllers.js +1 -1
  3. package/build/src/controllers/AbstractController.d.ts +6 -2
  4. package/build/src/controllers/AbstractController.js +26 -1
  5. package/build/src/controllers/AbstractController.js.map +1 -1
  6. package/build/src/controllers/AbstractControllers.spec.js +19 -0
  7. package/build/src/controllers/AbstractControllers.spec.js.map +1 -1
  8. package/build/src/controllers/blocks/BlocksController.d.ts +7 -0
  9. package/build/src/controllers/blocks/BlocksController.js +53 -2
  10. package/build/src/controllers/blocks/BlocksController.js.map +1 -1
  11. package/build/src/controllers/blocks/BlocksExtrinsicsController.js +3 -1
  12. package/build/src/controllers/blocks/BlocksExtrinsicsController.js.map +1 -1
  13. package/build/src/controllers/pallets/PalletsStorageController.js +1 -1
  14. package/build/src/controllers/pallets/PalletsStorageController.js.map +1 -1
  15. package/build/src/main.js +0 -0
  16. package/build/src/services/accounts/AccountsValidateService.d.ts +5 -2
  17. package/build/src/services/accounts/AccountsValidateService.js +27 -7
  18. package/build/src/services/accounts/AccountsValidateService.js.map +1 -1
  19. package/build/src/services/accounts/AccountsValidateService.spec.js +20 -1
  20. package/build/src/services/accounts/AccountsValidateService.spec.js.map +1 -1
  21. package/build/src/services/blocks/BlocksService.d.ts +43 -1
  22. package/build/src/services/blocks/BlocksService.js +128 -2
  23. package/build/src/services/blocks/BlocksService.js.map +1 -1
  24. package/build/src/services/blocks/BlocksService.spec.js +54 -0
  25. package/build/src/services/blocks/BlocksService.spec.js.map +1 -1
  26. package/build/src/services/pallets/PalletsStorageService.js +3 -1
  27. package/build/src/services/pallets/PalletsStorageService.js.map +1 -1
  28. package/build/src/types/requests.d.ts +3 -0
  29. package/build/src/types/responses/ValidateAddress.d.ts +2 -0
  30. package/build/src/util/PromiseQueue.d.ts +15 -0
  31. package/build/src/util/PromiseQueue.js +111 -0
  32. package/build/src/util/PromiseQueue.js.map +1 -0
  33. package/build/src/util/integers/compare.d.ts +5 -0
  34. package/build/src/util/integers/compare.js +11 -0
  35. package/build/src/util/integers/compare.js.map +1 -0
  36. package/build/src/util/integers/compare.spec.d.ts +1 -0
  37. package/build/src/util/integers/compare.spec.js +18 -0
  38. package/build/src/util/integers/compare.spec.js.map +1 -0
  39. package/build/src/util/integers/verifyInt.d.ts +10 -0
  40. package/build/src/util/integers/verifyInt.js +20 -0
  41. package/build/src/util/integers/verifyInt.js.map +1 -0
  42. package/build/src/util/integers/verifyInt.spec.d.ts +1 -0
  43. package/build/src/util/integers/verifyInt.spec.js +20 -0
  44. package/build/src/util/integers/verifyInt.spec.js.map +1 -0
  45. package/package.json +4 -5
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "12.1.1",
2
+ "version": "12.4.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.8.2",
58
- "@polkadot/util-crypto": "9.4.1",
56
+ "@polkadot/api": "^8.12.2",
57
+ "@polkadot/util-crypto": "^10.0.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.2",
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",
@@ -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":"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"}
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":";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;;;;;AAOxE,6CAA8D;AAE9D,iEAA8D;AAC9D,2DAA4D;AAC5D,8EAAsD;AAEtD,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAsB,EAAE,CAC5D,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC/B,IAAI,GAAG,GAAG,GAAG,EAAE;QACd,MAAM,EAAE,CAAC;KACT;SAAM;QACN,OAAO,CACN,2BAAc,CAAC,UAAU,CACxB,WAAW,EACX,oEAAoE,CACpE,CACD,CAAC;KACF;AACF,CAAC,CAAC,CAAC;AAEJ,MAAM,aAAa,GAAG,GAA8C,EAAE,CACrE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IAC3B,OAAO;QACN,MAAM,EAAE,2BAAc,CAAC,UAAU,CAAC,sBAAsB,EAAE,GAAG,CAAC;KAC9D,CAAC;AACH,CAAC,CAAC,CAAC;AAEJ,MAAM,GAAG,GAAG;IACX,UAAU,EAAE,2BAAc,CAAC,UAAU,CAAC,IAAI,CAAC,2BAAc,CAAC;IAC1D,GAAG,EAAE;QACJ,KAAK,EAAE;YACN,YAAY,EAAE,gBAAgB;YAC9B,SAAS,EAAE,aAAa;SACxB;KACD;CACD,CAAC;AAEF,6DAA6D;AAC7D,MAAM,cAAc,GAAG,MAAM,cAAe,SAAQ,4BAAmC;IAC5E,UAAU;QACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;CACD,CAAC;AACF,6DAA6D;AAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,WAAY,SAAQ,iCAAe;CAAG,CAAC,CACrE,GAA4B,CAC5B,CAAC;AAEF,MAAM,UAAU,GAAG,IAAI,cAAc,CACpC,GAA4B,EAC5B,OAAO,EACP,WAAW,CACX,CAAC;AAEF,4CAA4C;AAC5C,MAAM,GAAG,GAAG,KAA2B,CAAC;AACxC,MAAM,GAAG,GAAG,KAA4B,CAAC;AAEzC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACnC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,GAAG,EAAE,CACnB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3B,MAAM,UAAU,CAAC;YAClB,CAAC,CAAC,CAAC;YAEJ,MAAM,MAAM;YACX,kEAAkE;YAClE,4BAAkB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CACvD,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YACrF,wEAAwE;YACxE,2EAA2E;YAC3E,8BAA8B;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,GAAG,EAAE;gBACnB,MAAM,UAAU,CAAC;YAClB,CAAC,CAAC;YAEF,MAAM,MAAM;YACX,6DAA6D;YAC7D,4BAAkB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CACvD,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;YAErE,MAAM,MAAM;YACX,kEAAkE;YAClE,4BAAkB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CACxD,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC;YAEvC,MAAM,MAAM,CACX,4BAAkB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CACxD,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,SAAS,GACd,kEAAkE,CAAC;YACpE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,8CAA8C;YAE7F,MAAM,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACrE,IAAI,wBAAU,CACb,6BAA6B,SAAS,IAAI;gBACzC,kEAAkE,CACnE,CACD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,SAAS,GAAG,gCAAgC,CAAC;YACnD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAE9C,MAAM,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACrE,IAAI,wBAAU,CACb,6BAA6B,SAAS,IAAI;gBACzC,kEAAkE,CACnE,CACD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,SAAS,GAAG,+BAA+B,CAAC;YAClD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAE9C,MAAM,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACrE,IAAI,wBAAU,CACb,6BAA6B,SAAS,IAAI;gBACzC,kDAAkD;gBAClD,iDAAiD,CAClD,CACD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,SAAS,GACd,sEAAsE,CAAC;YACxE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAE9C,MAAM,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACrE,IAAI,wBAAU,CACb,6BAA6B,SAAS,IAAI;gBACzC,kEAAkE,CACnE,CACD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YACjF,MAAM,SAAS,GACd,qEAAqE,CAAC;YACvE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAE9C,MAAM,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACrE,IAAI,wBAAU,CACb,6BAA6B,SAAS,IAAI;gBACzC,kDAAkD;gBAClD,iDAAiD,CAClD,CACD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAChE,IAAI,wBAAU,CACb,gCAAgC;gBAC/B,gFAAgF,CACjF,CACD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACjE,IAAI,wBAAU,CACb,mEAAmE;gBAClE,qCAAqC,KAAK,GAAG,CAC9C,CACD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,SAAS,GACd,oEAAoE,CAAC;YACtE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAClD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAElC,MAAM,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACrE,IAAI,wBAAU,CACb,6BAA6B,SAAS,IAAI;gBACzC,kDAAkD;gBAClD,iDAAiD,CAClD,CACD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CACvE,IAAI,wBAAU,CACb,6BAA6B,KAAK,IAAI;gBACrC,gFAAgF,CACjF,CACD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,KAAK,GACV,oEAAoE,CAAC;YACtE,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE9B,MAAM,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CACxE,2BAAc,CAAC,UAAU,CACxB,WAAW,EACX,oEAAoE,CACpE,CACD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACtF,MAAM,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CACvE,2BAAc,CAAC,UAAU,CACxB,WAAW,EACX,oEAAoE,CACpE,CACD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YACnE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,EAAE,CAC9B,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3B,MAAM,uBAAuB,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEJ,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,GAAiB,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACzE,wEAAwE;YACxE,MAAM,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC3D,IAAI,iCAAmB,CAAC,+CAA+C,CAAC,CACxE,CAAC;YAEF,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACtE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE,CAC3C,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3B,MAAM,0BAA0B,CAAC;YAClC,CAAC,CAAC,CAAC;YAEJ,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,GAAiB,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACzE,MAAM,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC1D,IAAI,iCAAmB,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAC7D,CAAC;YAEF,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,GAAG,gBAAgB,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACpE,GAAG,CAAC,UAAU,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE;gBAClD,MAAM,wBAAwB,CAAC;YAChC,CAAC,CAAC;YACF,MAAM,KAAK,GACV,oEAAoE,CAAC;YACtE,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,GAAiB,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAEzE,MAAM,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC3D,IAAI,iCAAmB,CAAC,6BAA6B,KAAK,GAAG,CAAC,CAC9D,CAAC;YAEF,GAAG,CAAC,UAAU,GAAG,2BAAc,CAAC,UAAU,CAAC,IAAI,CAAC,2BAAc,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACxD,MAAM,GAAG,GAAG,UAAU,CAAC,4BAA4B,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAErE,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YAClE,MAAM,gBAAgB,GAAG,IAAI,wBAAU,CACtC,iDAAiD,CACjD,CAAC;YACF,MAAM,aAAa,GAAG,IAAI,wBAAU,CACnC,2DAA2D,CAC3D,CAAC;YACF,MAAM,aAAa,GAAG,IAAI,wBAAU,CACnC,oEAAoE,CACpE,CAAC;YACF,MAAM,gBAAgB,GAAG,IAAI,wBAAU,CACtC,sEAAsE,CACtE,CAAC;YACF,MAAM,kBAAkB,GAAG,IAAI,wBAAU,CACxC,qDAAqD,CACrD,CAAC;YACF,MAAM,CAAC,GAAG,EAAE,CACX,UAAU,CAAC,4BAA4B,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CACpD,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC5B,MAAM,CAAC,GAAG,EAAE,CACX,UAAU,CAAC,4BAA4B,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CACtD,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACzB,MAAM,CAAC,GAAG,EAAE,CACX,UAAU,CAAC,4BAA4B,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CACtD,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACzB,MAAM,CAAC,GAAG,EAAE,CACX,UAAU,CAAC,4BAA4B,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CACtD,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC5B,MAAM,CAAC,GAAG,EAAE,CACX,UAAU,CAAC,4BAA4B,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CACpD,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC5B,MAAM,CAAC,GAAG,EAAE,CACX,UAAU,CAAC,4BAA4B,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CACtD,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -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.
@@ -90,9 +92,10 @@ class BlocksController extends AbstractController_1.default {
90
92
  * @param _req Express Request
91
93
  * @param res Express Response
92
94
  */
93
- this.getLatestBlock = async ({ query: { eventDocs, extrinsicDocs, finalized } }, res) => {
95
+ this.getLatestBlock = async ({ query: { eventDocs, extrinsicDocs, finalized, feeByEvent } }, res) => {
94
96
  const eventDocsArg = eventDocs === 'true';
95
97
  const extrinsicDocsArg = extrinsicDocs === 'true';
98
+ const getFeeByEvent = feeByEvent === 'true';
96
99
  let hash, queryFinalizedHead, omitFinalizedTag;
97
100
  if (!this.options.finalizes) {
98
101
  // If the network chain doesn't finalize blocks, we dont want a finalized tag.
@@ -119,6 +122,7 @@ class BlocksController extends AbstractController_1.default {
119
122
  checkFinalized: false,
120
123
  queryFinalizedHead,
121
124
  omitFinalizedTag,
125
+ getFeeByEvent,
122
126
  };
123
127
  const historicApi = await this.api.at(hash);
124
128
  BlocksController.sanitizedSend(res, await this.service.fetchBlock(hash, historicApi, options));
@@ -129,11 +133,12 @@ class BlocksController extends AbstractController_1.default {
129
133
  * @param req Express Request
130
134
  * @param res Express Response
131
135
  */
132
- this.getBlockById = async ({ params: { number }, query: { eventDocs, extrinsicDocs } }, res) => {
136
+ this.getBlockById = async ({ params: { number }, query: { eventDocs, extrinsicDocs, feeByEvent } }, res) => {
133
137
  const checkFinalized = (0, util_1.isHex)(number);
134
138
  const hash = await this.getHashForBlock(number);
135
139
  const eventDocsArg = eventDocs === 'true';
136
140
  const extrinsicDocsArg = extrinsicDocs === 'true';
141
+ const getFeeByEvent = feeByEvent === 'true';
137
142
  const queryFinalizedHead = !this.options.finalizes ? false : true;
138
143
  const omitFinalizedTag = !this.options.finalizes ? true : false;
139
144
  const options = {
@@ -142,6 +147,7 @@ class BlocksController extends AbstractController_1.default {
142
147
  checkFinalized,
143
148
  queryFinalizedHead,
144
149
  omitFinalizedTag,
150
+ getFeeByEvent,
145
151
  };
146
152
  // HistoricApi to fetch any historic information that doesnt include the current runtime
147
153
  const historicApi = await this.api.at(hash);
@@ -171,10 +177,55 @@ class BlocksController extends AbstractController_1.default {
171
177
  : undefined;
172
178
  BlocksController.sanitizedSend(res, await this.service.fetchBlockHeader(hash));
173
179
  };
180
+ /**
181
+ * Return a collection of blocks, given a range.
182
+ *
183
+ * @param req Express Request
184
+ * @param res Express Response
185
+ */
186
+ this.getBlocks = async ({ query: { range, eventDocs, extrinsicDocs, feeByEvent } }, res) => {
187
+ if (!range)
188
+ throw new http_errors_1.BadRequest('range query parameter must be inputted.');
189
+ // We set a max range to 500 blocks.
190
+ const rangeOfNums = this.parseRangeOfNumbersOrThrow(range, 500);
191
+ const eventDocsArg = eventDocs === 'true';
192
+ const extrinsicDocsArg = extrinsicDocs === 'true';
193
+ const getFeeByEvent = feeByEvent === 'true';
194
+ const queryFinalizedHead = !this.options.finalizes ? false : true;
195
+ const omitFinalizedTag = !this.options.finalizes ? true : false;
196
+ const options = {
197
+ eventDocs: eventDocsArg,
198
+ extrinsicDocs: extrinsicDocsArg,
199
+ checkFinalized: false,
200
+ queryFinalizedHead,
201
+ omitFinalizedTag,
202
+ getFeeByEvent,
203
+ };
204
+ const pQueue = new PromiseQueue_1.PromiseQueue(4);
205
+ const blocksPromise = [];
206
+ for (let i = 0; i < rangeOfNums.length; i++) {
207
+ const result = pQueue.run(async () => {
208
+ // Get block hash:
209
+ const hash = await this.getHashForBlock(rangeOfNums[i].toString());
210
+ // Get API at that hash:
211
+ const historicApi = await this.api.at(hash);
212
+ // Get block details using this API/hash:
213
+ return await this.service.fetchBlock(hash, historicApi, options);
214
+ });
215
+ blocksPromise.push(result);
216
+ }
217
+ const blocks = (await Promise.all(blocksPromise));
218
+ /**
219
+ * Sort blocks from least to greatest.
220
+ */
221
+ blocks.sort((a, b) => a.number.toNumber() - b.number.toNumber());
222
+ BlocksController.sanitizedSend(res, blocks);
223
+ };
174
224
  this.initRoutes();
175
225
  }
176
226
  initRoutes() {
177
227
  this.safeMountAsyncGetHandlers([
228
+ ['/', this.getBlocks],
178
229
  ['/head', this.getLatestBlock],
179
230
  ['/:number', this.getBlockById],
180
231
  ['/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":"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"}
@@ -28,16 +28,18 @@ class BlocksExtrinsicsController extends AbstractController_1.default {
28
28
  * @param _req Express Request
29
29
  * @param res Express Response
30
30
  */
31
- this.getExtrinsicByTimepoint = async ({ params: { blockId, extrinsicIndex }, query: { eventDocs, extrinsicDocs }, }, res) => {
31
+ this.getExtrinsicByTimepoint = async ({ params: { blockId, extrinsicIndex }, query: { eventDocs, extrinsicDocs, feeByEvent }, }, res) => {
32
32
  const hash = await this.getHashForBlock(blockId);
33
33
  const eventDocsArg = eventDocs === 'true';
34
34
  const extrinsicDocsArg = extrinsicDocs === 'true';
35
+ const getFeeByEvent = feeByEvent === 'true';
35
36
  const options = {
36
37
  eventDocs: eventDocsArg,
37
38
  extrinsicDocs: extrinsicDocsArg,
38
39
  checkFinalized: true,
39
40
  queryFinalizedHead: false,
40
41
  omitFinalizedTag: true,
42
+ getFeeByEvent,
41
43
  };
42
44
  const historicApi = await this.api.at(hash);
43
45
  const block = await this.service.fetchBlock(hash, historicApi, options);
@@ -1 +1 @@
1
- {"version":3,"file":"BlocksExtrinsicsController.js","sourceRoot":"","sources":["../../../../src/controllers/blocks/BlocksExtrinsicsController.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;;;;;AAOxE,6CAA+C;AAE/C,+EAAuD;AAOvD,MAAqB,0BAA2B,SAAQ,4BAAiC;IACxF,YAAY,GAAe,EAAE,OAA0B;QACtD,KAAK,CACJ,GAAG,EACH,6BAA6B,EAC7B,IAAI,wBAAa,CAAC,GAAG,EAAE,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,CACrE,CAAC;QAUH;;;;WAIG;QACK,4BAAuB,GAAiC,KAAK,EACpE,EACC,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,EACnC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,GACnC,EACD,GAAG,EACa,EAAE;YAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAEjD,MAAM,YAAY,GAAG,SAAS,KAAK,MAAM,CAAC;YAC1C,MAAM,gBAAgB,GAAG,aAAa,KAAK,MAAM,CAAC;YAElD,MAAM,OAAO,GAAG;gBACf,SAAS,EAAE,YAAY;gBACvB,aAAa,EAAE,gBAAgB;gBAC/B,cAAc,EAAE,IAAI;gBACpB,kBAAkB,EAAE,KAAK;gBACzB,gBAAgB,EAAE,IAAI;aACtB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAE5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAExE;;eAEG;YACH,IAAI,CAAC,kBAAkB,CACtB,cAAc,EACd,8CAA8C,CAC9C,CAAC;YAEF;;;eAGG;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAE3C,0BAA0B,CAAC,aAAa,CACvC,GAAG,EACH,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAChD,CAAC;QACH,CAAC,CAAC;QAxDD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,yBAAyB,CAAC;YAC9B,CAAC,kBAAkB,EAAE,IAAI,CAAC,uBAAuB,CAAC;SAClD,CAAC,CAAC;IACJ,CAAC;CAkDD;AAhED,6CAgEC"}
1
+ {"version":3,"file":"BlocksExtrinsicsController.js","sourceRoot":"","sources":["../../../../src/controllers/blocks/BlocksExtrinsicsController.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;;;;;AAOxE,6CAA+C;AAE/C,+EAAuD;AAOvD,MAAqB,0BAA2B,SAAQ,4BAAiC;IACxF,YAAY,GAAe,EAAE,OAA0B;QACtD,KAAK,CACJ,GAAG,EACH,6BAA6B,EAC7B,IAAI,wBAAa,CAAC,GAAG,EAAE,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,CACrE,CAAC;QAUH;;;;WAIG;QACK,4BAAuB,GAAiC,KAAK,EACpE,EACC,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,EACnC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,GAC/C,EACD,GAAG,EACa,EAAE;YAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAEjD,MAAM,YAAY,GAAG,SAAS,KAAK,MAAM,CAAC;YAC1C,MAAM,gBAAgB,GAAG,aAAa,KAAK,MAAM,CAAC;YAClD,MAAM,aAAa,GAAG,UAAU,KAAK,MAAM,CAAC;YAE5C,MAAM,OAAO,GAAG;gBACf,SAAS,EAAE,YAAY;gBACvB,aAAa,EAAE,gBAAgB;gBAC/B,cAAc,EAAE,IAAI;gBACpB,kBAAkB,EAAE,KAAK;gBACzB,gBAAgB,EAAE,IAAI;gBACtB,aAAa;aACb,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAE5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAExE;;eAEG;YACH,IAAI,CAAC,kBAAkB,CACtB,cAAc,EACd,8CAA8C,CAC9C,CAAC;YAEF;;;eAGG;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAE3C,0BAA0B,CAAC,aAAa,CACvC,GAAG,EACH,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAChD,CAAC;QACH,CAAC,CAAC;QA1DD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,yBAAyB,CAAC;YAC9B,CAAC,kBAAkB,EAAE,IAAI,CAAC,uBAAuB,CAAC;SAClD,CAAC,CAAC;IACJ,CAAC;CAoDD;AAlED,6CAkEC"}
@@ -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 is deprecated and will be removed in v12 of sidecar';
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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"}
package/build/src/main.js CHANGED
File without changes
@@ -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 formatted address,
6
- * and what the ss58 prefix for that address is.
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 formatted address,
26
- * and what the ss58 prefix for that address is.
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
- if ((0, util_1.isHex)(address)) {
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
- return {
46
- isValid: isValid,
47
- ss58Prefix,
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,uDAA2E;AAC3E,qEAAkE;AAGlE,wDAAqD;AAErD,MAAa,uBAAwB,SAAQ,iCAAe;IAC3D;;;;;OAKG;IACH,eAAe,CAAC,OAAe;QAC9B,IAAI,SAAS,CAAC;QACd,IAAI,IAAA,YAAK,EAAC,OAAO,CAAC,EAAE;YACnB,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;YAElE,OAAO;gBACN,OAAO,EAAE,OAAO;gBAChB,UAAU;aACV,CAAC;SACF;QAED,OAAO;YACN,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,IAAI;SAChB,CAAC;IACH,CAAC;CACD;AAjCD,0DAiCC"}
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":"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"}
1
+ {"version":3,"file":"AccountsValidateService.spec.js","sourceRoot":"","sources":["../../../../src/services/accounts/AccountsValidateService.spec.ts"],"names":[],"mappings":"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"}