@substrate/api-sidecar 11.3.15 → 11.3.18

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 (132) hide show
  1. package/README.md +40 -63
  2. package/build/package.json +29 -14
  3. package/build/src/chains-config/acalaControllers.js +0 -2
  4. package/build/src/chains-config/acalaControllers.js.map +1 -1
  5. package/build/src/chains-config/astarControllers.js +0 -2
  6. package/build/src/chains-config/astarControllers.js.map +1 -1
  7. package/build/src/chains-config/bifrostControllers.js +0 -2
  8. package/build/src/chains-config/bifrostControllers.js.map +1 -1
  9. package/build/src/chains-config/calamariControllers.js +0 -2
  10. package/build/src/chains-config/calamariControllers.js.map +1 -1
  11. package/build/src/chains-config/crustControllers.js +0 -2
  12. package/build/src/chains-config/crustControllers.js.map +1 -1
  13. package/build/src/chains-config/defaultControllers.js +0 -1
  14. package/build/src/chains-config/defaultControllers.js.map +1 -1
  15. package/build/src/chains-config/dockMainnetControllers.js +0 -2
  16. package/build/src/chains-config/dockMainnetControllers.js.map +1 -1
  17. package/build/src/chains-config/dockPoSMainnetControllers.js +0 -2
  18. package/build/src/chains-config/dockPoSMainnetControllers.js.map +1 -1
  19. package/build/src/chains-config/dockPoSTestnetControllers.js +0 -2
  20. package/build/src/chains-config/dockPoSTestnetControllers.js.map +1 -1
  21. package/build/src/chains-config/karuraControllers.js +0 -2
  22. package/build/src/chains-config/karuraControllers.js.map +1 -1
  23. package/build/src/chains-config/kiltControllers.js +0 -1
  24. package/build/src/chains-config/kiltControllers.js.map +1 -1
  25. package/build/src/chains-config/kulupuControllers.js +0 -1
  26. package/build/src/chains-config/kulupuControllers.js.map +1 -1
  27. package/build/src/chains-config/kusamaControllers.js +0 -2
  28. package/build/src/chains-config/kusamaControllers.js.map +1 -1
  29. package/build/src/chains-config/mandalaControllers.js +0 -1
  30. package/build/src/chains-config/mandalaControllers.js.map +1 -1
  31. package/build/src/chains-config/mantaControllers.js +0 -2
  32. package/build/src/chains-config/mantaControllers.js.map +1 -1
  33. package/build/src/chains-config/polkadotControllers.js +0 -2
  34. package/build/src/chains-config/polkadotControllers.js.map +1 -1
  35. package/build/src/chains-config/polymeshControllers.js +0 -2
  36. package/build/src/chains-config/polymeshControllers.js.map +1 -1
  37. package/build/src/chains-config/shidenControllers.js +0 -2
  38. package/build/src/chains-config/shidenControllers.js.map +1 -1
  39. package/build/src/chains-config/soraControllers.js +0 -1
  40. package/build/src/chains-config/soraControllers.js.map +1 -1
  41. package/build/src/chains-config/statemineControllers.js +0 -1
  42. package/build/src/chains-config/statemineControllers.js.map +1 -1
  43. package/build/src/chains-config/statemintControllers.js +0 -1
  44. package/build/src/chains-config/statemintControllers.js.map +1 -1
  45. package/build/src/chains-config/westendControllers.js +0 -2
  46. package/build/src/chains-config/westendControllers.js.map +1 -1
  47. package/build/src/controllers/AbstractController.d.ts +2 -1
  48. package/build/src/controllers/AbstractController.js +2 -2
  49. package/build/src/controllers/AbstractController.js.map +1 -1
  50. package/build/src/controllers/blocks/BlocksController.d.ts +0 -1
  51. package/build/src/controllers/blocks/BlocksController.js +1 -1
  52. package/build/src/controllers/blocks/BlocksController.js.map +1 -1
  53. package/build/src/controllers/blocks/BlocksExtrinsicsController.d.ts +0 -2
  54. package/build/src/controllers/blocks/BlocksExtrinsicsController.js +1 -1
  55. package/build/src/controllers/blocks/BlocksExtrinsicsController.js.map +1 -1
  56. package/build/src/controllers/runtime/RuntimeMetadataController.js +9 -1
  57. package/build/src/controllers/runtime/RuntimeMetadataController.js.map +1 -1
  58. package/build/src/sanitize/sanitizeNumbers.d.ts +3 -1
  59. package/build/src/sanitize/sanitizeNumbers.js +88 -18
  60. package/build/src/sanitize/sanitizeNumbers.js.map +1 -1
  61. package/build/src/sanitize/sanitizeNumbers.spec.js +56 -0
  62. package/build/src/sanitize/sanitizeNumbers.spec.js.map +1 -1
  63. package/build/src/services/blocks/BlocksService.d.ts +11 -5
  64. package/build/src/services/blocks/BlocksService.js +30 -17
  65. package/build/src/services/blocks/BlocksService.js.map +1 -1
  66. package/build/src/services/blocks/BlocksService.spec.js +57 -17
  67. package/build/src/services/blocks/BlocksService.spec.js.map +1 -1
  68. package/build/src/types/chains-config/ControllerConfig.d.ts +0 -2
  69. package/build/src/types/chains-config/MetadataConsts.d.ts +2 -14
  70. package/build/src/types/chains-config/MetadataConsts.js.map +1 -1
  71. package/build/src/types/responses/Block.d.ts +2 -0
  72. package/build/src/types/sanitize/index.d.ts +1 -0
  73. package/build/src/types/sanitize/index.js +14 -0
  74. package/build/src/types/sanitize/index.js.map +1 -0
  75. package/build/src/types/sanitize/sanitize.d.ts +8 -0
  76. package/build/src/types/sanitize/sanitize.js +3 -0
  77. package/build/src/types/sanitize/sanitize.js.map +1 -0
  78. package/package.json +29 -14
  79. package/build/src/chains-config/metadata-consts/acalaConsts.d.ts +0 -2
  80. package/build/src/chains-config/metadata-consts/acalaConsts.js +0 -11
  81. package/build/src/chains-config/metadata-consts/acalaConsts.js.map +0 -1
  82. package/build/src/chains-config/metadata-consts/astarConsts.d.ts +0 -2
  83. package/build/src/chains-config/metadata-consts/astarConsts.js +0 -20
  84. package/build/src/chains-config/metadata-consts/astarConsts.js.map +0 -1
  85. package/build/src/chains-config/metadata-consts/bifrostConsts.d.ts +0 -2
  86. package/build/src/chains-config/metadata-consts/bifrostConsts.js +0 -14
  87. package/build/src/chains-config/metadata-consts/bifrostConsts.js.map +0 -1
  88. package/build/src/chains-config/metadata-consts/calamariConsts.d.ts +0 -2
  89. package/build/src/chains-config/metadata-consts/calamariConsts.js +0 -11
  90. package/build/src/chains-config/metadata-consts/calamariConsts.js.map +0 -1
  91. package/build/src/chains-config/metadata-consts/commonParachainsConsts.d.ts +0 -10
  92. package/build/src/chains-config/metadata-consts/commonParachainsConsts.js +0 -23
  93. package/build/src/chains-config/metadata-consts/commonParachainsConsts.js.map +0 -1
  94. package/build/src/chains-config/metadata-consts/crustConsts.d.ts +0 -2
  95. package/build/src/chains-config/metadata-consts/crustConsts.js +0 -11
  96. package/build/src/chains-config/metadata-consts/crustConsts.js.map +0 -1
  97. package/build/src/chains-config/metadata-consts/dockConsts.d.ts +0 -4
  98. package/build/src/chains-config/metadata-consts/dockConsts.js +0 -25
  99. package/build/src/chains-config/metadata-consts/dockConsts.js.map +0 -1
  100. package/build/src/chains-config/metadata-consts/index.d.ts +0 -30
  101. package/build/src/chains-config/metadata-consts/index.js +0 -109
  102. package/build/src/chains-config/metadata-consts/index.js.map +0 -1
  103. package/build/src/chains-config/metadata-consts/karuraConsts.d.ts +0 -2
  104. package/build/src/chains-config/metadata-consts/karuraConsts.js +0 -14
  105. package/build/src/chains-config/metadata-consts/karuraConsts.js.map +0 -1
  106. package/build/src/chains-config/metadata-consts/kusamaConsts.d.ts +0 -2
  107. package/build/src/chains-config/metadata-consts/kusamaConsts.js +0 -21
  108. package/build/src/chains-config/metadata-consts/kusamaConsts.js.map +0 -1
  109. package/build/src/chains-config/metadata-consts/mantaConsts.d.ts +0 -2
  110. package/build/src/chains-config/metadata-consts/mantaConsts.js +0 -11
  111. package/build/src/chains-config/metadata-consts/mantaConsts.js.map +0 -1
  112. package/build/src/chains-config/metadata-consts/polkadotConsts.d.ts +0 -2
  113. package/build/src/chains-config/metadata-consts/polkadotConsts.js +0 -20
  114. package/build/src/chains-config/metadata-consts/polkadotConsts.js.map +0 -1
  115. package/build/src/chains-config/metadata-consts/polymeshConsts.d.ts +0 -2
  116. package/build/src/chains-config/metadata-consts/polymeshConsts.js +0 -10
  117. package/build/src/chains-config/metadata-consts/polymeshConsts.js.map +0 -1
  118. package/build/src/chains-config/metadata-consts/shidenConsts.d.ts +0 -2
  119. package/build/src/chains-config/metadata-consts/shidenConsts.js +0 -20
  120. package/build/src/chains-config/metadata-consts/shidenConsts.js.map +0 -1
  121. package/build/src/chains-config/metadata-consts/statemineConsts.d.ts +0 -7
  122. package/build/src/chains-config/metadata-consts/statemineConsts.js +0 -21
  123. package/build/src/chains-config/metadata-consts/statemineConsts.js.map +0 -1
  124. package/build/src/chains-config/metadata-consts/statemintConsts.d.ts +0 -2
  125. package/build/src/chains-config/metadata-consts/statemintConsts.js +0 -11
  126. package/build/src/chains-config/metadata-consts/statemintConsts.js.map +0 -1
  127. package/build/src/chains-config/metadata-consts/substrateConsts.d.ts +0 -24
  128. package/build/src/chains-config/metadata-consts/substrateConsts.js +0 -37
  129. package/build/src/chains-config/metadata-consts/substrateConsts.js.map +0 -1
  130. package/build/src/chains-config/metadata-consts/westendConsts.d.ts +0 -2
  131. package/build/src/chains-config/metadata-consts/westendConsts.js +0 -20
  132. package/build/src/chains-config/metadata-consts/westendConsts.js.map +0 -1
@@ -26,7 +26,6 @@ exports.statemineControllers = {
26
26
  options: {
27
27
  finalizes: true,
28
28
  minCalcFeeRuntime: 1,
29
- blockWeightStore: {},
30
29
  blockStore: (0, lruCache_1.initLRUCache)(),
31
30
  },
32
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"statemineControllers.js","sourceRoot":"","sources":["../../../src/chains-config/statemineControllers.ts"],"names":[],"mappings":";;;AACA,+CAAgD;AAEhD;;GAEG;AACU,QAAA,oBAAoB,GAAqB;IACrD,WAAW,EAAE;QACZ,gBAAgB;QAChB,kBAAkB;QAClB,QAAQ;QACR,kBAAkB;QAClB,aAAa;QACb,qBAAqB;QACrB,aAAa;QACb,eAAe;QACf,aAAa;QACb,iBAAiB;QACjB,aAAa;QACb,mBAAmB;QACnB,wBAAwB;QACxB,qBAAqB;QACrB,mBAAmB;KACnB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,EAAE;QACpB,UAAU,EAAE,IAAA,uBAAY,GAAE;KAC1B;CACD,CAAC"}
1
+ {"version":3,"file":"statemineControllers.js","sourceRoot":"","sources":["../../../src/chains-config/statemineControllers.ts"],"names":[],"mappings":";;;AACA,+CAAgD;AAEhD;;GAEG;AACU,QAAA,oBAAoB,GAAqB;IACrD,WAAW,EAAE;QACZ,gBAAgB;QAChB,kBAAkB;QAClB,QAAQ;QACR,kBAAkB;QAClB,aAAa;QACb,qBAAqB;QACrB,aAAa;QACb,eAAe;QACf,aAAa;QACb,iBAAiB;QACjB,aAAa;QACb,mBAAmB;QACnB,wBAAwB;QACxB,qBAAqB;QACrB,mBAAmB;KACnB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,CAAC;QACpB,UAAU,EAAE,IAAA,uBAAY,GAAE;KAC1B;CACD,CAAC"}
@@ -26,7 +26,6 @@ exports.statemintControllers = {
26
26
  options: {
27
27
  finalizes: true,
28
28
  minCalcFeeRuntime: 601,
29
- blockWeightStore: {},
30
29
  blockStore: (0, lruCache_1.initLRUCache)(),
31
30
  },
32
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"statemintControllers.js","sourceRoot":"","sources":["../../../src/chains-config/statemintControllers.ts"],"names":[],"mappings":";;;AACA,+CAAgD;AAEhD;;GAEG;AACU,QAAA,oBAAoB,GAAqB;IACrD,WAAW,EAAE;QACZ,gBAAgB;QAChB,kBAAkB;QAClB,QAAQ;QACR,kBAAkB;QAClB,aAAa;QACb,qBAAqB;QACrB,aAAa;QACb,eAAe;QACf,aAAa;QACb,iBAAiB;QACjB,aAAa;QACb,mBAAmB;QACnB,wBAAwB;QACxB,qBAAqB;QACrB,mBAAmB;KACnB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,GAAG;QACtB,gBAAgB,EAAE,EAAE;QACpB,UAAU,EAAE,IAAA,uBAAY,GAAE;KAC1B;CACD,CAAC"}
1
+ {"version":3,"file":"statemintControllers.js","sourceRoot":"","sources":["../../../src/chains-config/statemintControllers.ts"],"names":[],"mappings":";;;AACA,+CAAgD;AAEhD;;GAEG;AACU,QAAA,oBAAoB,GAAqB;IACrD,WAAW,EAAE;QACZ,gBAAgB;QAChB,kBAAkB;QAClB,QAAQ;QACR,kBAAkB;QAClB,aAAa;QACb,qBAAqB;QACrB,aAAa;QACb,eAAe;QACf,aAAa;QACb,iBAAiB;QACjB,aAAa;QACb,mBAAmB;QACnB,wBAAwB;QACxB,qBAAqB;QACrB,mBAAmB;KACnB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,GAAG;QACtB,UAAU,EAAE,IAAA,uBAAY,GAAE;KAC1B;CACD,CAAC"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.westendControllers = void 0;
4
4
  const lruCache_1 = require("./cache/lruCache");
5
- const metadata_consts_1 = require("./metadata-consts");
6
5
  /**
7
6
  * Westend configuration for Sidecar.
8
7
  */
@@ -32,7 +31,6 @@ exports.westendControllers = {
32
31
  options: {
33
32
  finalizes: true,
34
33
  minCalcFeeRuntime: 6,
35
- blockWeightStore: (0, metadata_consts_1.getBlockWeight)('westend'),
36
34
  blockStore: (0, lruCache_1.initLRUCache)(),
37
35
  },
38
36
  };
@@ -1 +1 @@
1
- {"version":3,"file":"westendControllers.js","sourceRoot":"","sources":["../../../src/chains-config/westendControllers.ts"],"names":[],"mappings":";;;AACA,+CAAgD;AAChD,uDAAmD;AAEnD;;GAEG;AACU,QAAA,kBAAkB,GAAqB;IACnD,WAAW,EAAE;QACZ,qBAAqB;QACrB,qBAAqB;QACrB,wBAAwB;QACxB,kBAAkB;QAClB,qBAAqB;QACrB,QAAQ;QACR,kBAAkB;QAClB,aAAa;QACb,qBAAqB;QACrB,aAAa;QACb,wBAAwB;QACxB,gBAAgB;QAChB,OAAO;QACP,aAAa;QACb,iBAAiB;QACjB,aAAa;QACb,mBAAmB;QACnB,wBAAwB;QACxB,qBAAqB;QACrB,mBAAmB;KACnB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,IAAA,gCAAc,EAAC,SAAS,CAAC;QAC3C,UAAU,EAAE,IAAA,uBAAY,GAAE;KAC1B;CACD,CAAC"}
1
+ {"version":3,"file":"westendControllers.js","sourceRoot":"","sources":["../../../src/chains-config/westendControllers.ts"],"names":[],"mappings":";;;AACA,+CAAgD;AAEhD;;GAEG;AACU,QAAA,kBAAkB,GAAqB;IACnD,WAAW,EAAE;QACZ,qBAAqB;QACrB,qBAAqB;QACrB,wBAAwB;QACxB,kBAAkB;QAClB,qBAAqB;QACrB,QAAQ;QACR,kBAAkB;QAClB,aAAa;QACb,qBAAqB;QACrB,aAAa;QACb,wBAAwB;QACxB,gBAAgB;QAChB,OAAO;QACP,aAAa;QACb,iBAAiB;QACjB,aAAa;QACb,mBAAmB;QACnB,wBAAwB;QACxB,qBAAqB;QACrB,mBAAmB;KACnB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,CAAC;QACpB,UAAU,EAAE,IAAA,uBAAY,GAAE;KAC1B;CACD,CAAC"}
@@ -4,6 +4,7 @@ import { RequestHandler, Response, Router } from 'express';
4
4
  import { AbstractService } from 'src/services/AbstractService';
5
5
  import { AnyJson } from 'src/types/polkadot-js';
6
6
  import { IAddressNumberParams, IAddressParam, INumberParam, IParaIdParam } from 'src/types/requests';
7
+ import { ISanitizeOptions } from '../types/sanitize';
7
8
  declare type SidecarRequestHandler = RequestHandler<IAddressParam> | RequestHandler<IAddressNumberParams> | RequestHandler<INumberParam> | RequestHandler<IParaIdParam> | RequestHandler;
8
9
  /**
9
10
  * Abstract base class for creating controller classes.
@@ -62,6 +63,6 @@ export default abstract class AbstractController<T extends AbstractService> {
62
63
  * @param res Response
63
64
  * @param body response body
64
65
  */
65
- static sanitizedSend<T>(res: Response<AnyJson>, body: T): void;
66
+ static sanitizedSend<T>(res: Response<AnyJson>, body: T, options?: ISanitizeOptions): void;
66
67
  }
67
68
  export {};
@@ -150,8 +150,8 @@ class AbstractController {
150
150
  * @param res Response
151
151
  * @param body response body
152
152
  */
153
- static sanitizedSend(res, body) {
154
- res.send((0, sanitize_1.sanitizeNumbers)(body));
153
+ static sanitizedSend(res, body, options = {}) {
154
+ res.send((0, sanitize_1.sanitizeNumbers)(body, options));
155
155
  }
156
156
  }
157
157
  exports.default = AbstractController;
@@ -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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"}
@@ -7,7 +7,6 @@ interface ControllerOptions {
7
7
  finalizes: boolean;
8
8
  minCalcFeeRuntime: null | number;
9
9
  blockStore: LRU<string, IBlock>;
10
- blockWeightStore: {};
11
10
  }
12
11
  /**
13
12
  * GET a block.
@@ -67,7 +67,7 @@ const AbstractController_1 = __importDefault(require("../AbstractController"));
67
67
  */
68
68
  class BlocksController extends AbstractController_1.default {
69
69
  constructor(api, options) {
70
- super(api, '/blocks', new services_1.BlocksService(api, options.minCalcFeeRuntime, options.blockStore, options.blockWeightStore));
70
+ super(api, '/blocks', new services_1.BlocksService(api, options.minCalcFeeRuntime, options.blockStore));
71
71
  this.options = options;
72
72
  /**
73
73
  * Get the latest block.
@@ -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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"}
@@ -1,11 +1,9 @@
1
1
  import { ApiPromise } from '@polkadot/api';
2
2
  import LRU from 'lru-cache';
3
- import { BlockWeightStore } from 'src/types/chains-config';
4
3
  import { IBlock } from 'src/types/responses';
5
4
  import { BlocksService } from '../../services';
6
5
  import AbstractController from '../AbstractController';
7
6
  interface ControllerOptions {
8
- blockWeightStore: BlockWeightStore;
9
7
  minCalcFeeRuntime: null | number;
10
8
  blockStore: LRU<string, IBlock>;
11
9
  }
@@ -7,7 +7,7 @@ const services_1 = require("../../services");
7
7
  const AbstractController_1 = __importDefault(require("../AbstractController"));
8
8
  class BlocksExtrinsicsController extends AbstractController_1.default {
9
9
  constructor(api, options) {
10
- super(api, '/blocks/:blockId/extrinsics', new services_1.BlocksService(api, options.minCalcFeeRuntime, options.blockStore, options.blockWeightStore));
10
+ super(api, '/blocks/:blockId/extrinsics', new services_1.BlocksService(api, options.minCalcFeeRuntime, options.blockStore));
11
11
  /**
12
12
  *
13
13
  * @param _req Express Request
@@ -1 +1 @@
1
- {"version":3,"file":"BlocksExtrinsicsController.js","sourceRoot":"","sources":["../../../../src/controllers/blocks/BlocksExtrinsicsController.ts"],"names":[],"mappings":";;;;;AAMA,6CAA+C;AAE/C,+EAAuD;AAQvD,MAAqB,0BAA2B,SAAQ,4BAAiC;IACxF,YAAY,GAAe,EAAE,OAA0B;QACtD,KAAK,CACJ,GAAG,EACH,6BAA6B,EAC7B,IAAI,wBAAa,CAChB,GAAG,EACH,OAAO,CAAC,iBAAiB,EACzB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,gBAAgB,CACxB,CACD,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;AArED,6CAqEC"}
1
+ {"version":3,"file":"BlocksExtrinsicsController.js","sourceRoot":"","sources":["../../../../src/controllers/blocks/BlocksExtrinsicsController.ts"],"names":[],"mappings":";;;;;AAKA,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"}
@@ -30,7 +30,15 @@ class RuntimeMetadataController extends AbstractController_1.default {
30
30
  */
31
31
  this.getMetadata = async ({ query: { at } }, res) => {
32
32
  const hash = await this.getHashFromAt(at);
33
- RuntimeMetadataController.sanitizedSend(res, await this.service.fetchMetadata(hash));
33
+ let historicApi;
34
+ if (at) {
35
+ historicApi = await this.api.at(hash);
36
+ }
37
+ const registry = historicApi ? historicApi.registry : this.api.registry;
38
+ const metadata = await this.service.fetchMetadata(hash);
39
+ RuntimeMetadataController.sanitizedSend(res, metadata, {
40
+ metadataOpts: { registry, version: metadata.version },
41
+ });
34
42
  };
35
43
  this.initRoutes();
36
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RuntimeMetadataController.js","sourceRoot":"","sources":["../../../../src/controllers/runtime/RuntimeMetadataController.ts"],"names":[],"mappings":";;;;;AAGA,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,EAC1C,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EACjB,GAAG,EACa,EAAE;YAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAE1C,yBAAyB,CAAC,aAAa,CACtC,GAAG,EACH,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CACtC,CAAC;QACH,CAAC,CAAC;QAvBD,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;CAmBD;AA3BD,4CA2BC"}
1
+ {"version":3,"file":"RuntimeMetadataController.js","sourceRoot":"","sources":["../../../../src/controllers/runtime/RuntimeMetadataController.ts"],"names":[],"mappings":";;;;;AAGA,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,EAC1C,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EACjB,GAAG,EACa,EAAE;YAClB,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;QA9BD,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;CA0BD;AAlCD,4CAkCC"}
@@ -1,4 +1,5 @@
1
1
  import { AnyJson } from '../types/polkadot-js';
2
+ import { ISanitizeOptions } from '../types/sanitize';
2
3
  /**
3
4
  * Forcibly serialize all instances of AbstractInt to base 10 and otherwise
4
5
  * normalize data presentation. We try to guarantee that data is
@@ -11,5 +12,6 @@ import { AnyJson } from '../types/polkadot-js';
11
12
  * them to serialize to Hex.
12
13
  *
13
14
  * @param data - any arbitrary data that Sidecar might send
15
+ * @param options - set of options specific to sanitization
14
16
  */
15
- export declare function sanitizeNumbers(data: unknown): AnyJson;
17
+ export declare function sanitizeNumbers(data: unknown, options?: ISanitizeOptions): AnyJson;
@@ -15,15 +15,16 @@ const polkadot_js_1 = require("../types/polkadot-js");
15
15
  * based types we can provide a strong guarantee that the output will be of AnyJson
16
16
  *
17
17
  * @param value a type that implements polkadot-js Codec
18
+ * @param options - set of options specific to sanitization
18
19
  */
19
- function sanitizeCodec(value) {
20
+ function sanitizeCodec(value, options = {}) {
20
21
  // If objects have an overlapping prototype chain
21
22
  // we check lower down the chain first. More specific before less specific.
22
23
  if (value instanceof types_1.Option) {
23
- return value.isSome ? sanitizeNumbers(value.unwrap()) : null;
24
+ return value.isSome ? sanitizeNumbers(value.unwrap(), options) : null;
24
25
  }
25
26
  if (value instanceof types_1.Compact) {
26
- return sanitizeNumbers(value.unwrap());
27
+ return sanitizeNumbers(value.unwrap(), options);
27
28
  }
28
29
  if (value instanceof types_1.Struct) {
29
30
  return value.defKeys.reduce((jsonStruct, key) => {
@@ -31,7 +32,14 @@ function sanitizeCodec(value) {
31
32
  if (!property) {
32
33
  return jsonStruct;
33
34
  }
34
- jsonStruct[key] = sanitizeNumbers(property);
35
+ jsonStruct[key] = sanitizeNumbers(property, options);
36
+ /**
37
+ * If the data we are sanitizing is metadata, ex: `/runtime/metadata`,
38
+ * we want to sanitize all exceptions that arent caught using `sanitizeNumbers`
39
+ */
40
+ if (options === null || options === void 0 ? void 0 : options.metadataOpts) {
41
+ sanitizeMetadataExceptions(key, jsonStruct, property, options.metadataOpts);
42
+ }
35
43
  return jsonStruct;
36
44
  }, {});
37
45
  }
@@ -39,7 +47,7 @@ function sanitizeCodec(value) {
39
47
  // This is essentially a Map with [keys: strings]: any
40
48
  const json = {};
41
49
  value.forEach((element, prop) => {
42
- json[prop] = sanitizeNumbers(element);
50
+ json[prop] = sanitizeNumbers(element, options);
43
51
  });
44
52
  return json;
45
53
  }
@@ -50,13 +58,13 @@ function sanitizeCodec(value) {
50
58
  return {
51
59
  // Replicating camelCaseing introduced in https://github.com/polkadot-js/api/pull/3024
52
60
  // Specifically see: https://github.com/polkadot-js/api/blob/516fbd4a90652841d4e81636e74ca472e2dc5621/packages/types/src/codec/Enum.ts#L346
53
- [(0, util_1.stringCamelCase)(value.type)]: sanitizeNumbers(value.value),
61
+ [(0, util_1.stringCamelCase)(value.type)]: sanitizeNumbers(value.value, options),
54
62
  };
55
63
  }
56
64
  if (value instanceof types_1.BTreeSet) {
57
65
  const jsonSet = [];
58
66
  value.forEach((element) => {
59
- jsonSet.push(sanitizeNumbers(element));
67
+ jsonSet.push(sanitizeNumbers(element, options));
60
68
  });
61
69
  return jsonSet;
62
70
  }
@@ -70,7 +78,7 @@ function sanitizeCodec(value) {
70
78
  }
71
79
  // Should cover Vec, VecAny, VecFixed, Tuple
72
80
  if (value instanceof types_codec_1.AbstractArray) {
73
- return value.map(sanitizeNumbers);
81
+ return value.map((val) => sanitizeNumbers(val, options));
74
82
  }
75
83
  // Should cover Uint, Int etc...
76
84
  if (value instanceof types_codec_1.AbstractInt) {
@@ -91,39 +99,40 @@ function sanitizeCodec(value) {
91
99
  * them to serialize to Hex.
92
100
  *
93
101
  * @param data - any arbitrary data that Sidecar might send
102
+ * @param options - set of options specific to sanitization
94
103
  */
95
- function sanitizeNumbers(data) {
104
+ function sanitizeNumbers(data, options = {}) {
96
105
  if (data !== 0 && !data) {
97
106
  // All falsy values are valid AnyJson, but we want to force numbers to strings
98
107
  return data;
99
108
  }
100
109
  if ((0, polkadot_js_1.isCodec)(data)) {
101
- return sanitizeCodec(data);
110
+ return sanitizeCodec(data, options);
102
111
  }
103
112
  if (data instanceof Set) {
104
113
  const jsonSet = [];
105
114
  for (const element of data) {
106
- jsonSet.push(sanitizeNumbers(element));
115
+ jsonSet.push(sanitizeNumbers(element, options));
107
116
  }
108
117
  return jsonSet;
109
118
  }
110
119
  if (data instanceof Map) {
111
- return mapTypeSanitizeKeyValue(data);
120
+ return mapTypeSanitizeKeyValue(data, options);
112
121
  }
113
122
  if (data instanceof bn_js_1.default || typeof data === 'number') {
114
123
  return data.toString(10);
115
124
  }
116
125
  if (Array.isArray(data)) {
117
- return data.map(sanitizeNumbers);
126
+ return data.map((val) => sanitizeNumbers(val, options));
118
127
  }
119
128
  if ((0, polkadot_js_1.isToJSONable)(data)) {
120
129
  // Handle non-codec types that have their own toJSON
121
- return sanitizeNumbers(data.toJSON());
130
+ return sanitizeNumbers(data.toJSON(), options);
122
131
  }
123
132
  // Pretty much everything non-primitive is an object, so we need to check this last
124
133
  if ((0, util_1.isObject)(data)) {
125
134
  return Object.entries(data).reduce((sanitizedObject, [key, value]) => {
126
- sanitizedObject[key] = sanitizeNumbers(value);
135
+ sanitizedObject[key] = sanitizeNumbers(value, options);
127
136
  return sanitizedObject;
128
137
  }, {});
129
138
  }
@@ -140,16 +149,77 @@ exports.sanitizeNumbers = sanitizeNumbers;
140
149
  * is either a number or string.
141
150
  *
142
151
  * @param map Map | CodecMap
152
+ * @param options - set of options specific to sanitization
143
153
  */
144
- function mapTypeSanitizeKeyValue(map) {
154
+ function mapTypeSanitizeKeyValue(map, options = {}) {
145
155
  const jsonMap = {};
146
156
  map.forEach((value, key) => {
147
- const nonCodecKey = sanitizeNumbers(key);
157
+ const nonCodecKey = sanitizeNumbers(key, options);
148
158
  if (!(typeof nonCodecKey === 'string' || typeof nonCodecKey === 'number')) {
149
159
  throw new http_errors_1.InternalServerError('Unexpected non-string and non-number key while sanitizing a Map-like type');
150
160
  }
151
- jsonMap[nonCodecKey] = sanitizeNumbers(value);
161
+ jsonMap[nonCodecKey] = sanitizeNumbers(value, options);
152
162
  });
153
163
  return jsonMap;
154
164
  }
165
+ /**
166
+ * Based on the metadata version, we ensure arbitrary exceptions are sanitized
167
+ * properly.
168
+ *
169
+ * @param key Current key of an object
170
+ * @param struct Current struct being sanitized
171
+ * @param property Current value of the inputted key
172
+ * @param metadataOpts metadata specific options
173
+ */
174
+ function sanitizeMetadataExceptions(key, struct, property, metadataOpts) {
175
+ switch (metadataOpts.version) {
176
+ case 14:
177
+ sanitizeMetadataExceptionsV14(key, struct, property, metadataOpts);
178
+ break;
179
+ default:
180
+ break;
181
+ }
182
+ }
183
+ /**
184
+ * When v14 metadata is being sanitized, we ensure arbitrary exceptions are sanitized
185
+ * properly.
186
+ *
187
+ * @param key Current key of an object
188
+ * @param struct Current struct being sanitized
189
+ * @param property Current value of the inputted key
190
+ * @param metadataOpts metadata specific options
191
+ */
192
+ function sanitizeMetadataExceptionsV14(key, struct, property, metadataOpts) {
193
+ const { registry } = metadataOpts;
194
+ const integerTypes = ['u128', 'u64', 'u32', 'u16', 'u8'];
195
+ const value = struct[key];
196
+ /**
197
+ * With V14 metadata the only key that is named 'value' lives inside of the
198
+ * pallets key. The expected structure containing `{ type, value }`.
199
+ */
200
+ if (key === 'value' && property instanceof types_codec_1.Bytes && (0, util_1.isHex)(value)) {
201
+ const u8aValue = (0, util_1.hexToU8a)(value);
202
+ /**
203
+ * Get the lookup typedef. It is safe to assume that we have the struct
204
+ * `type` field when `key === value` is true.
205
+ */
206
+ const typeDef = registry.lookup.getTypeDef(parseFloat(struct.type));
207
+ /**
208
+ * Checks u128, u64, u32, u16, u8
209
+ */
210
+ if (integerTypes.includes(typeDef.type)) {
211
+ struct[key] = (0, util_1.u8aToBn)(u8aValue.subarray(0, u8aValue.byteLength), {
212
+ isLe: true,
213
+ }).toString(10);
214
+ }
215
+ /**
216
+ * The value is not an integer, and needs to be converted to its
217
+ * correct type, then transformed to JSON.
218
+ */
219
+ if ((0, util_1.isHex)(struct[key]) && (typeDef.lookupName || typeDef.type)) {
220
+ const typeName = typeDef.lookupName || typeDef.type;
221
+ struct[key] = sanitizeNumbers(registry.createType(typeName, u8aValue).toJSON(), { metadataOpts });
222
+ }
223
+ }
224
+ }
155
225
  //# sourceMappingURL=sanitizeNumbers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizeNumbers.js","sourceRoot":"","sources":["../../../src/sanitize/sanitizeNumbers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sanitizeNumbers.js","sourceRoot":"","sources":["../../../src/sanitize/sanitizeNumbers.ts"],"names":[],"mappings":"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"}
@@ -796,5 +796,61 @@ describe('sanitizeNumbers', () => {
796
796
  '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY',
797
797
  ]);
798
798
  });
799
+ describe('handles metadata v14 correctly', () => {
800
+ const sanitizeOptions = {
801
+ metadataOpts: {
802
+ registry: registries_1.polkadotRegistryV9190,
803
+ version: 14,
804
+ },
805
+ };
806
+ it('handles unknown struct bytes correctly for Option<u128>', () => {
807
+ const struct = new types_1.Struct(registries_1.polkadotRegistryV9190, { type: 'Text', value: 'Bytes' }, { type: '535', value: '0x01005039278c0400000000000000000000' } // Option<u128>
808
+ );
809
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(struct, sanitizeOptions)).toStrictEqual({
810
+ type: '535',
811
+ value: '5000000000000',
812
+ });
813
+ });
814
+ it('handles unknown struct bytes correctly for u128', () => {
815
+ const struct = new types_1.Struct(registries_1.polkadotRegistryV9190, { type: 'Text', value: 'Bytes' }, { type: '6', value: '0x00e87648170000000000000000000000' } // u128
816
+ );
817
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(struct, sanitizeOptions)).toStrictEqual({
818
+ type: '6',
819
+ value: '100000000000',
820
+ });
821
+ });
822
+ it('handles unknown struct bytes correctly for u64', () => {
823
+ const struct = new types_1.Struct(registries_1.polkadotRegistryV9190, { type: 'Text', value: 'Bytes' }, { type: '8', value: '0xc084666557010000' } // u64
824
+ );
825
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(struct, sanitizeOptions)).toStrictEqual({
826
+ type: '8',
827
+ value: '1474875000000',
828
+ });
829
+ });
830
+ it('handles unknown struct bytes correctly for u32', () => {
831
+ const struct = new types_1.Struct(registries_1.polkadotRegistryV9190, { type: 'Text', value: 'Bytes' }, { type: '4', value: '0x00400000' } // u32
832
+ );
833
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(struct, sanitizeOptions)).toStrictEqual({
834
+ type: '4',
835
+ value: '16384',
836
+ });
837
+ });
838
+ it('handles unknown struct bytes correctly for u16', () => {
839
+ const struct = new types_1.Struct(registries_1.polkadotRegistryV9190, { type: 'Text', value: 'Bytes' }, { type: '75', value: '0x0200' } // u16
840
+ );
841
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(struct, sanitizeOptions)).toStrictEqual({
842
+ type: '75',
843
+ value: '2',
844
+ });
845
+ });
846
+ it('handles unknown struct bytes correctly for u8', () => {
847
+ const struct = new types_1.Struct(registries_1.polkadotRegistryV9190, { type: 'Text', value: 'Bytes' }, { type: '2', value: '0x05' } // u8
848
+ );
849
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(struct, sanitizeOptions)).toStrictEqual({
850
+ type: '2',
851
+ value: '5',
852
+ });
853
+ });
854
+ });
799
855
  });
800
856
  //# sourceMappingURL=sanitizeNumbers.spec.js.map