@substrate/api-sidecar 17.5.2 → 19.0.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 (61) hide show
  1. package/build/package.json +9 -9
  2. package/build/src/chains-config/cache/lruCache.d.ts +2 -2
  3. package/build/src/chains-config/cache/lruCache.js +3 -6
  4. package/build/src/chains-config/cache/lruCache.js.map +1 -1
  5. package/build/src/controllers/accounts/AccountsStakingPayoutsController.js +10 -5
  6. package/build/src/controllers/accounts/AccountsStakingPayoutsController.js.map +1 -1
  7. package/build/src/controllers/paras/ParasController.js +4 -1
  8. package/build/src/controllers/paras/ParasController.js.map +1 -1
  9. package/build/src/controllers/runtime/RuntimeMetadataController.d.ts +18 -0
  10. package/build/src/controllers/runtime/RuntimeMetadataController.js +53 -2
  11. package/build/src/controllers/runtime/RuntimeMetadataController.js.map +1 -1
  12. package/build/src/controllers/transaction/TransactionMaterialController.d.ts +12 -0
  13. package/build/src/controllers/transaction/TransactionMaterialController.js +39 -2
  14. package/build/src/controllers/transaction/TransactionMaterialController.js.map +1 -1
  15. package/build/src/services/accounts/AccountsStakingPayoutsService.d.ts +12 -8
  16. package/build/src/services/accounts/AccountsStakingPayoutsService.js +91 -37
  17. package/build/src/services/accounts/AccountsStakingPayoutsService.js.map +1 -1
  18. package/build/src/services/blocks/BlocksService.d.ts +2 -2
  19. package/build/src/services/blocks/BlocksService.js.map +1 -1
  20. package/build/src/services/blocks/BlocksService.spec.js +70 -3
  21. package/build/src/services/blocks/BlocksService.spec.js.map +1 -1
  22. package/build/src/services/blocks/XCMDecoder.d.ts +1 -1
  23. package/build/src/services/blocks/XCMDecoder.js +61 -46
  24. package/build/src/services/blocks/XCMDecoder.js.map +1 -1
  25. package/build/src/services/node/NodeTransactionPoolService.spec.js +6 -10
  26. package/build/src/services/node/NodeTransactionPoolService.spec.js.map +1 -1
  27. package/build/src/services/pallets/PalletsAssetConversionService.spec.js +1 -1
  28. package/build/src/services/pallets/PalletsAssetConversionService.spec.js.map +1 -1
  29. package/build/src/services/pallets/PalletsForeignAssetsService.js +2 -3
  30. package/build/src/services/pallets/PalletsForeignAssetsService.js.map +1 -1
  31. package/build/src/services/pallets/PalletsForeignAssetsService.spec.js +4 -4
  32. package/build/src/services/pallets/PalletsForeignAssetsService.spec.js.map +1 -1
  33. package/build/src/services/paras/ParasService.d.ts +28 -0
  34. package/build/src/services/paras/ParasService.js +29 -1
  35. package/build/src/services/paras/ParasService.js.map +1 -1
  36. package/build/src/services/runtime/RuntimeMetadataService.d.ts +14 -1
  37. package/build/src/services/runtime/RuntimeMetadataService.js +36 -1
  38. package/build/src/services/runtime/RuntimeMetadataService.js.map +1 -1
  39. package/build/src/services/transaction/TransactionMaterialService.d.ts +8 -1
  40. package/build/src/services/transaction/TransactionMaterialService.js +45 -1
  41. package/build/src/services/transaction/TransactionMaterialService.js.map +1 -1
  42. package/build/src/types/chains-config/ControllerConfig.d.ts +2 -2
  43. package/build/src/types/chains-config/ControllerConfig.js +1 -1
  44. package/build/src/types/responses/AccountStakingInfo.d.ts +3 -3
  45. package/build/src/types/responses/AccountStakingInfo.js +1 -1
  46. package/build/src/types/responses/BlockXCMMessages.d.ts +9 -4
  47. package/build/src/types/responses/BlockXCMMessages.js +1 -1
  48. package/build/src/types/responses/PalletAssetConversion.d.ts +3 -3
  49. package/build/src/types/responses/PalletAssetConversion.js +1 -1
  50. package/build/src/types/responses/SanitizedBackedCandidatesCommitments.d.ts +2 -1
  51. package/build/src/types/responses/SanitizedBackedCandidatesHorizontalMessage.d.ts +4 -0
  52. package/build/src/types/responses/SanitizedBackedCandidatesHorizontalMessage.js +18 -0
  53. package/build/src/types/responses/SanitizedBackedCandidatesHorizontalMessage.js.map +1 -0
  54. package/build/src/types/responses/SanitizedParachainInherentData.d.ts +3 -2
  55. package/build/src/types/responses/SanitizedParachainInherentData.js +1 -1
  56. package/build/src/types/responses/SanitizedParachainInherentDataHorizontalMessage.d.ts +4 -0
  57. package/build/src/types/responses/SanitizedParachainInherentDataHorizontalMessage.js +18 -0
  58. package/build/src/types/responses/SanitizedParachainInherentDataHorizontalMessage.js.map +1 -0
  59. package/build/src/types/responses/TransactionMaterial.d.ts +3 -3
  60. package/build/src/types/responses/TransactionMaterial.js +1 -1
  61. package/package.json +9 -9
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "17.5.2",
2
+ "version": "19.0.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",
@@ -50,26 +50,26 @@
50
50
  "test:test-release": "yarn build:scripts && node scripts/build/runYarnPack.js"
51
51
  },
52
52
  "dependencies": {
53
- "@polkadot/api": "^10.11.3",
54
- "@polkadot/api-contract": "^10.11.3",
53
+ "@polkadot/api": "^11.0.2",
54
+ "@polkadot/api-contract": "^11.0.2",
55
55
  "@polkadot/util-crypto": "^12.6.2",
56
56
  "@substrate/calc": "^0.3.1",
57
57
  "argparse": "^2.0.1",
58
58
  "confmgr": "^1.0.10",
59
- "express": "^4.18.2",
59
+ "express": "^4.18.3",
60
60
  "express-winston": "^4.2.0",
61
61
  "http-errors": "^2.0.0",
62
- "lru-cache": "^7.13.1",
63
- "prom-client": "^14.2.0",
62
+ "lru-cache": "^10.2.0",
63
+ "prom-client": "^15.1.0",
64
64
  "rxjs": "^7.8.1",
65
- "winston": "^3.11.0"
65
+ "winston": "^3.12.0"
66
66
  },
67
67
  "devDependencies": {
68
68
  "@substrate/dev": "^0.7.1",
69
- "@types/argparse": "2.0.14",
69
+ "@types/argparse": "2.0.15",
70
70
  "@types/express": "^4.17.21",
71
71
  "@types/express-serve-static-core": "^4.17.43",
72
- "@types/http-errors": "1.8.2",
72
+ "@types/http-errors": "2.0.4",
73
73
  "@types/lru-cache": "^7.10.10",
74
74
  "@types/morgan": "1.9.9",
75
75
  "@types/triple-beam": "^1.3.5",
@@ -1,3 +1,3 @@
1
- import LRU from 'lru-cache';
1
+ import { LRUCache } from 'lru-cache';
2
2
  import { IBlock } from '../../types/responses';
3
- export declare const initLRUCache: () => LRU<string, IBlock>;
3
+ export declare const initLRUCache: () => LRUCache<string, IBlock>;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- // Copyright 2017-2022 Parity Technologies (UK) Ltd.
2
+ // Copyright 2017-2024 Parity Technologies (UK) Ltd.
3
3
  // This file is part of Substrate API Sidecar.
4
4
  //
5
5
  // Substrate API Sidecar is free software: you can redistribute it and/or modify
@@ -14,16 +14,13 @@
14
14
  //
15
15
  // You should have received a copy of the GNU General Public License
16
16
  // along with this program. If not, see <http://www.gnu.org/licenses/>.
17
- var __importDefault = (this && this.__importDefault) || function (mod) {
18
- return (mod && mod.__esModule) ? mod : { "default": mod };
19
- };
20
17
  Object.defineProperty(exports, "__esModule", { value: true });
21
18
  exports.initLRUCache = void 0;
22
- const lru_cache_1 = __importDefault(require("lru-cache"));
19
+ const lru_cache_1 = require("lru-cache");
23
20
  const initLRUCache = () => {
24
21
  const config = { max: 2 };
25
22
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
26
- const cache = new lru_cache_1.default(config);
23
+ const cache = new lru_cache_1.LRUCache(config);
27
24
  return cache;
28
25
  };
29
26
  exports.initLRUCache = initLRUCache;
@@ -1 +1 @@
1
- {"version":3,"file":"lruCache.js","sourceRoot":"","sources":["../../../../src/chains-config/cache/lruCache.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,0DAA4B;AAIrB,MAAM,YAAY,GAAG,GAAwB,EAAE;IACrD,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,MAAM,KAAK,GAAG,IAAI,mBAAG,CAAC,MAAM,CAAwB,CAAC;IAErD,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AANW,QAAA,YAAY,gBAMvB"}
1
+ {"version":3,"file":"lruCache.js","sourceRoot":"","sources":["../../../../src/chains-config/cache/lruCache.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,yCAAqC;AAI9B,MAAM,YAAY,GAAG,GAA6B,EAAE;IAC1D,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,MAAM,KAAK,GAAG,IAAI,oBAAQ,CAAC,MAAM,CAA6B,CAAC;IAE/D,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AANW,QAAA,YAAY,gBAMvB"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- // Copyright 2017-2022 Parity Technologies (UK) Ltd.
2
+ // Copyright 2017-2024 Parity Technologies (UK) Ltd.
3
3
  // This file is part of Substrate API Sidecar.
4
4
  //
5
5
  // Substrate API Sidecar is free software: you can redistribute it and/or modify
@@ -89,18 +89,23 @@ class AccountsStakingPayoutsController extends AbstractController_1.default {
89
89
  const earlyErasBlockInfo = kusamaEarlyErasBlockInfo_json_1.default;
90
90
  let hash = await this.getHashFromAt(at);
91
91
  let apiAt = await this.api.at(hash);
92
+ const runtimeInfo = await this.api.rpc.state.getRuntimeVersion(hash);
93
+ const isKusama = runtimeInfo.specName.toString().toLowerCase() === 'kusama';
92
94
  const { eraArg, currentEra } = await this.getEraAndHash(apiAt, this.verifyAndCastOr('era', era, undefined));
93
- if (currentEra <= 519 && depth !== undefined) {
95
+ if (currentEra <= 519 && depth !== undefined && isKusama) {
94
96
  throw new http_errors_1.InternalServerError('The `depth` query parameter is disabled for eras less than 518.');
95
97
  }
96
- else if (currentEra <= 519 && era !== undefined) {
98
+ else if (currentEra <= 519 && era !== undefined && isKusama) {
97
99
  throw new http_errors_1.InternalServerError('The `era` query parameter is disabled for eras less than 518.');
98
100
  }
99
101
  let sanitizedDepth;
100
- if (depth) {
102
+ if (depth && isKusama) {
101
103
  sanitizedDepth = Math.min(Number(depth), currentEra - 518).toString();
102
104
  }
103
- if (currentEra < 518) {
105
+ else if (depth) {
106
+ sanitizedDepth = depth;
107
+ }
108
+ if (currentEra < 518 && isKusama) {
104
109
  const eraStartBlock = earlyErasBlockInfo[currentEra].start;
105
110
  hash = await this.getHashFromAt(eraStartBlock.toString());
106
111
  apiAt = await this.api.at(hash);
@@ -1 +1 @@
1
- {"version":3,"file":"AccountsStakingPayoutsController.js","sourceRoot":"","sources":["../../../../src/controllers/accounts/AccountsStakingPayoutsController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccountsStakingPayoutsController.js","sourceRoot":"","sources":["../../../../src/controllers/accounts/AccountsStakingPayoutsController.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- // Copyright 2017-2022 Parity Technologies (UK) Ltd.
2
+ // Copyright 2017-2024 Parity Technologies (UK) Ltd.
3
3
  // This file is part of Substrate API Sidecar.
4
4
  //
5
5
  // Substrate API Sidecar is free software: you can redistribute it and/or modify
@@ -72,6 +72,9 @@ class ParasController extends AbstractController_1.default {
72
72
  };
73
73
  this.initRoutes();
74
74
  }
75
+ // ***************************************************************
76
+ // DEPRECATION NOTE: PHASED OUT CONTROLLERS IN FAVOR OF CORETIME
77
+ // ***************************************************************
75
78
  initRoutes() {
76
79
  this.router.use(this.path + '/paras/leases/current', (0, middleware_1.validateBoolean)(['currentLeaseHolders']));
77
80
  this.safeMountAsyncGetHandlers([
@@ -1 +1 @@
1
- {"version":3,"file":"ParasController.js","sourceRoot":"","sources":["../../../../src/controllers/paras/ParasController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParasController.js","sourceRoot":"","sources":["../../../../src/controllers/paras/ParasController.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@ import AbstractController from '../AbstractController';
4
4
  /**
5
5
  * GET the chain's metadata.
6
6
  *
7
+ * Path params:
8
+ * - (Optional) `metadataVersion`: The specific version of the Metadata to query.
9
+ * The input must conform to the `vX` format, where `X` represents the version number (examples: 'v14', 'v15').
10
+ *
7
11
  * Query:
8
12
  * - (Optional) `at`: Block hash or height at which to query. If not provided, queries
9
13
  * finalized head.
@@ -25,4 +29,18 @@ export default class RuntimeMetadataController extends AbstractController<Runtim
25
29
  * @param res Express Response
26
30
  */
27
31
  private getMetadata;
32
+ /**
33
+ * Get the chain's metadata at a specific version in a decoded, JSON format.
34
+ *
35
+ * @param _req Express Request
36
+ * @param res Express Response
37
+ */
38
+ private getMetadataVersioned;
39
+ /**
40
+ * Get the available versions of chain's metadata.
41
+ *
42
+ * @param _req Express Request
43
+ * @param res Express Response
44
+ */
45
+ private getMetadataAvailableVersions;
28
46
  }
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- // Copyright 2017-2022 Parity Technologies (UK) Ltd.
2
+ // Copyright 2017-2024 Parity Technologies (UK) Ltd.
3
3
  // This file is part of Substrate API Sidecar.
4
4
  //
5
5
  // Substrate API Sidecar is free software: you can redistribute it and/or modify
@@ -23,6 +23,10 @@ const AbstractController_1 = __importDefault(require("../AbstractController"));
23
23
  /**
24
24
  * GET the chain's metadata.
25
25
  *
26
+ * Path params:
27
+ * - (Optional) `metadataVersion`: The specific version of the Metadata to query.
28
+ * The input must conform to the `vX` format, where `X` represents the version number (examples: 'v14', 'v15').
29
+ *
26
30
  * Query:
27
31
  * - (Optional) `at`: Block hash or height at which to query. If not provided, queries
28
32
  * finalized head.
@@ -55,10 +59,57 @@ class RuntimeMetadataController extends AbstractController_1.default {
55
59
  metadataOpts: { registry, version: metadata.version },
56
60
  });
57
61
  };
62
+ /**
63
+ * Get the chain's metadata at a specific version in a decoded, JSON format.
64
+ *
65
+ * @param _req Express Request
66
+ * @param res Express Response
67
+ */
68
+ this.getMetadataVersioned = async ({ params: { metadataVersion }, query: { at } }, res) => {
69
+ const hash = await this.getHashFromAt(at);
70
+ const api = at ? await this.api.at(hash) : this.api;
71
+ // Validation of the `metadataVersion` path parameter.
72
+ const metadataV = metadataVersion.slice(1);
73
+ const version = this.parseNumberOrThrow(metadataV, `Version ${metadataV.toString()} of metadata provided is not a number.`);
74
+ const regExPattern = new RegExp('^[vV][0-9]+$');
75
+ if (!regExPattern.test(metadataVersion)) {
76
+ throw new Error(`${metadataVersion} input is not of the expected 'vX' format, where 'X' represents the version number (examples: 'v14', 'v15').`);
77
+ }
78
+ let availableVersions = [];
79
+ try {
80
+ availableVersions = (await api.call.metadata.metadataVersions()).toJSON();
81
+ }
82
+ catch {
83
+ throw new Error(`Function 'api.call.metadata.metadataVersions()' is not available at this block height.`);
84
+ }
85
+ if (version && !(availableVersions === null || availableVersions === void 0 ? void 0 : availableVersions.includes(version))) {
86
+ throw new Error(`Version ${version} of Metadata is not available.`);
87
+ }
88
+ const registry = api.registry;
89
+ const metadata = await this.service.fetchMetadataVersioned(api, version);
90
+ RuntimeMetadataController.sanitizedSend(res, metadata, {
91
+ metadataOpts: { registry, version },
92
+ });
93
+ };
94
+ /**
95
+ * Get the available versions of chain's metadata.
96
+ *
97
+ * @param _req Express Request
98
+ * @param res Express Response
99
+ */
100
+ this.getMetadataAvailableVersions = async ({ query: { at } }, res) => {
101
+ const hash = await this.getHashFromAt(at);
102
+ const metadataVersions = await this.service.fetchMetadataVersions(hash);
103
+ RuntimeMetadataController.sanitizedSend(res, metadataVersions, {});
104
+ };
58
105
  this.initRoutes();
59
106
  }
60
107
  initRoutes() {
61
- this.safeMountAsyncGetHandlers([['', this.getMetadata]]);
108
+ this.safeMountAsyncGetHandlers([
109
+ ['/', this.getMetadata],
110
+ ['/versions', this.getMetadataAvailableVersions],
111
+ ['/:metadataVersion', this.getMetadataVersioned],
112
+ ]);
62
113
  }
63
114
  }
64
115
  exports.default = RuntimeMetadataController;
@@ -1 +1 @@
1
- {"version":3,"file":"RuntimeMetadataController.js","sourceRoot":"","sources":["../../../../src/controllers/runtime/RuntimeMetadataController.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;;;;;AAKxE,6CAAwD;AACxD,+EAAuD;AAEvD;;;;;;;;;;;;;GAaG;AACH,MAAqB,yBAA0B,SAAQ,4BAA0C;IAChG,YAAY,GAAe;QAC1B,KAAK,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,iCAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;QAQlE;;;;;WAKG;QACK,gBAAW,GAAmB,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAiB,EAAE;YACrF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAE1C,IAAI,WAAW,CAAC;YAChB,IAAI,EAAE,EAAE;gBACP,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;aACtC;YAED,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YACxE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAExD,yBAAyB,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE;gBACtD,YAAY,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;aACrD,CAAC,CAAC;QACJ,CAAC,CAAC;QA3BD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;CAuBD;AA/BD,4CA+BC"}
1
+ {"version":3,"file":"RuntimeMetadataController.js","sourceRoot":"","sources":["../../../../src/controllers/runtime/RuntimeMetadataController.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,10 @@ export type MetadataOpts = 'json' | 'scale';
5
5
  /**
6
6
  * GET all the network information needed to construct a transaction offline.
7
7
  *
8
+ * Path params:
9
+ * - (Optional) `metadataVersion`: The specific version of the Metadata to query.
10
+ * The input must conform to the `vX` format, where `X` represents the version number (examples: 'v14', 'v15').
11
+ *
8
12
  * Query
9
13
  * - (Optional) `metadata`: It accepts `json`, or `scale` values. If it is not present,
10
14
  * the metadata field will not be included.
@@ -48,4 +52,12 @@ export default class TransactionMaterialController extends AbstractController<Tr
48
52
  * @param metadata
49
53
  */
50
54
  private parseMetadataArgs;
55
+ /**
56
+ * Get the chain's metadata at the requested version in JSON or scale format
57
+ * depending on the `metadata` query param.
58
+ *
59
+ * @param _req Express Request
60
+ * @param res Express Response
61
+ */
62
+ private getTransactionMaterialwithVersionedMetadata;
51
63
  }
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- // Copyright 2017-2022 Parity Technologies (UK) Ltd.
2
+ // Copyright 2017-2024 Parity Technologies (UK) Ltd.
3
3
  // This file is part of Substrate API Sidecar.
4
4
  //
5
5
  // Substrate API Sidecar is free software: you can redistribute it and/or modify
@@ -23,6 +23,10 @@ const AbstractController_1 = __importDefault(require("../AbstractController"));
23
23
  /**
24
24
  * GET all the network information needed to construct a transaction offline.
25
25
  *
26
+ * Path params:
27
+ * - (Optional) `metadataVersion`: The specific version of the Metadata to query.
28
+ * The input must conform to the `vX` format, where `X` represents the version number (examples: 'v14', 'v15').
29
+ *
26
30
  * Query
27
31
  * - (Optional) `metadata`: It accepts `json`, or `scale` values. If it is not present,
28
32
  * the metadata field will not be included.
@@ -64,10 +68,43 @@ class TransactionMaterialController extends AbstractController_1.default {
64
68
  const metadataArg = this.parseMetadataArgs(metadata);
65
69
  TransactionMaterialController.sanitizedSend(res, await this.service.fetchTransactionMaterial(hash, metadataArg));
66
70
  };
71
+ /**
72
+ * Get the chain's metadata at the requested version in JSON or scale format
73
+ * depending on the `metadata` query param.
74
+ *
75
+ * @param _req Express Request
76
+ * @param res Express Response
77
+ */
78
+ this.getTransactionMaterialwithVersionedMetadata = async ({ params: { metadataVersion }, query: { at, metadata } }, res) => {
79
+ const hash = await this.getHashFromAt(at);
80
+ const api = at ? await this.api.at(hash) : this.api;
81
+ // Validation of the `metadataVersion` path parameter.
82
+ const metadataV = metadataVersion.slice(1);
83
+ const version = this.parseNumberOrThrow(metadataV, `Version ${metadataV.toString()} of metadata provided is not a number.`);
84
+ const regExPattern = new RegExp('^[vV][0-9]+$');
85
+ if (!regExPattern.test(metadataVersion)) {
86
+ throw new Error(`${metadataVersion} input is not of the expected 'vX' format, where 'X' represents the version number (examples: 'v14', 'v15').`);
87
+ }
88
+ let availableVersions = [];
89
+ try {
90
+ availableVersions = (await api.call.metadata.metadataVersions()).toJSON();
91
+ }
92
+ catch {
93
+ throw new Error(`Function 'api.call.metadata.metadataVersions()' is not available at this block height.`);
94
+ }
95
+ if (version && !(availableVersions === null || availableVersions === void 0 ? void 0 : availableVersions.includes(version))) {
96
+ throw new Error(`Version ${version} of Metadata is not available.`);
97
+ }
98
+ const metadataArg = this.parseMetadataArgs(metadata);
99
+ TransactionMaterialController.sanitizedSend(res, await this.service.fetchTransactionMaterialwithVersionedMetadata(api, hash, metadataArg, version));
100
+ };
67
101
  this.initRoutes();
68
102
  }
69
103
  initRoutes() {
70
- this.safeMountAsyncGetHandlers([['', this.getTransactionMaterial]]);
104
+ this.safeMountAsyncGetHandlers([
105
+ ['/', this.getTransactionMaterial],
106
+ ['/:metadataVersion', this.getTransactionMaterialwithVersionedMetadata],
107
+ ]);
71
108
  }
72
109
  /**
73
110
  * The metadata args have two options. `json`, and `scale`.
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionMaterialController.js","sourceRoot":"","sources":["../../../../src/controllers/transaction/TransactionMaterialController.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;;;;;AAKxE,6CAA4D;AAC5D,+EAAuD;AAIvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAqB,6BAA8B,SAAQ,4BAA8C;IACxG,YAAY,GAAe;QAC1B,KAAK,CAAC,GAAG,EAAE,uBAAuB,EAAE,IAAI,qCAA0B,CAAC,GAAG,CAAC,CAAC,CAAC;QAQ1E;;;;;WAKG;QACK,2BAAsB,GAAmB,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAiB,EAAE;YAC1G,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAE1C,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAErD,6BAA6B,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QAClH,CAAC,CAAC;QAnBD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAgBD;;;;OAIG;IACK,iBAAiB,CAAC,QAAiB;QAC1C;;WAEG;QACH,IAAI,QAAQ,EAAE;YACb,QAAQ,QAAQ,EAAE;gBACjB,KAAK,MAAM;oBACV,OAAO,MAAM,CAAC;gBACf,KAAK,OAAO;oBACX,OAAO,OAAO,CAAC;gBAChB;oBACC,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;aAC1G;SACD;QAED,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AA9CD,gDA8CC"}
1
+ {"version":3,"file":"TransactionMaterialController.js","sourceRoot":"","sources":["../../../../src/controllers/transaction/TransactionMaterialController.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { ApiDecoration } from '@polkadot/api/types';
2
2
  import type { DeriveEraExposure, DeriveEraExposureNominating } from '@polkadot/api-derive/staking/types';
3
3
  import { Option } from '@polkadot/types';
4
4
  import type { BalanceOf, BlockHash, EraIndex, EraPoints, Perbill } from '@polkadot/types/interfaces';
5
- import type { PalletStakingEraRewardPoints, PalletStakingStakingLedger } from '@polkadot/types/lookup';
5
+ import type { PalletStakingEraRewardPoints, PalletStakingStakingLedger, SpStakingPagedExposureMetadata } from '@polkadot/types/lookup';
6
6
  import type { IAccountStakingPayouts, IEraPayouts } from '../../types/responses';
7
7
  import { AbstractService } from '../AbstractService';
8
8
  /**
@@ -11,17 +11,21 @@ import { AbstractService } from '../AbstractService';
11
11
  */
12
12
  type IErasGeneral = [IAdjustedDeriveEraExposure, PalletStakingEraRewardPoints | EraPoints, Option<BalanceOf>];
13
13
  /**
14
- * Index of the validator for eras previous to 518
14
+ * Index of the validator for eras previous to 518 in Kusama chain.
15
15
  */
16
16
  interface ValidatorIndex {
17
17
  [x: string]: number;
18
18
  }
19
19
  /**
20
- * Adapted AdjustedDeriveEraExposure interface for compatibility with eras
21
- * previous to 518
20
+ * Adapted AdjustedDeriveEraExposure interface for compatibility:
21
+ * - with eras previous to 518 in Kusama chain (via `validatorIndex` property) and
22
+ * - with Staking changes (3 new calls including `ErasStakersOverview`) in
23
+ * Polkadot v1.2.0 runtime (via `validatorOverview` property). Relevant PR:
24
+ * https://github.com/paritytech/polkadot-sdk/pull/1189
22
25
  */
23
26
  interface IAdjustedDeriveEraExposure extends DeriveEraExposure {
24
27
  validatorIndex?: ValidatorIndex;
28
+ validatorsOverview?: Record<string, Option<SpStakingPagedExposureMetadata>>;
25
29
  }
26
30
  /**
27
31
  * Commission and staking ledger of a validator
@@ -44,7 +48,7 @@ interface IEraData {
44
48
  }
45
49
  /**
46
50
  * Block information relevant for compatibility with eras previous
47
- * to 518
51
+ * to 518 in Kusama chain.
48
52
  */
49
53
  interface IBlockInfo {
50
54
  height: string;
@@ -77,7 +81,7 @@ export declare class AccountsStakingPayoutsService extends AbstractService {
77
81
  * @param era the last era to get data for
78
82
  * @param blockNumber block information to ensure compatibility with older eras
79
83
  */
80
- fetchAllErasGeneral(historicApi: ApiDecoration<'promise'>, startEra: number, era: number, blockNumber: IBlockInfo): Promise<IErasGeneral[]>;
84
+ fetchAllErasGeneral(historicApi: ApiDecoration<'promise'>, startEra: number, era: number, blockNumber: IBlockInfo, isKusama: boolean): Promise<IErasGeneral[]>;
81
85
  private fetchHistoricRewardPoints;
82
86
  /**
83
87
  * Fetch the commission & staking ledger for each `validatorId` in `deriveErasExposures`.
@@ -87,7 +91,7 @@ export declare class AccountsStakingPayoutsService extends AbstractService {
87
91
  * @param startEra first era to get data for
88
92
  * @param deriveErasExposures exposures per era for `address`
89
93
  */
90
- fetchAllErasCommissions(historicApi: ApiDecoration<'promise'>, address: string, startEra: number, deriveErasExposures: IAdjustedDeriveEraExposure[]): Promise<ICommissionAndLedger[][]>;
94
+ fetchAllErasCommissions(historicApi: ApiDecoration<'promise'>, address: string, startEra: number, deriveErasExposures: IAdjustedDeriveEraExposure[], isKusama: boolean): Promise<ICommissionAndLedger[][]>;
91
95
  /**
92
96
  * Derive all the payouts for `address` at `era`.
93
97
  *
@@ -95,7 +99,7 @@ export declare class AccountsStakingPayoutsService extends AbstractService {
95
99
  * @param era the era to query
96
100
  * @param eraData data about the address and era we are calculating payouts for
97
101
  */
98
- deriveEraPayouts(address: string, unclaimedOnly: boolean, { deriveEraExposure, eraRewardPoints, erasValidatorRewardOption, exposuresWithCommission, eraIndex }: IEraData): IEraPayouts | {
102
+ deriveEraPayouts(address: string, unclaimedOnly: boolean, { deriveEraExposure, eraRewardPoints, erasValidatorRewardOption, exposuresWithCommission, eraIndex }: IEraData, isKusama: boolean): IEraPayouts | {
99
103
  message: string;
100
104
  };
101
105
  /**