@substrate/api-sidecar 20.3.2 → 20.4.1

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 (178) hide show
  1. package/README.md +9 -0
  2. package/build/package.json +8 -18
  3. package/build/src/chains-config/assetHubKusamaControllers.js +17 -0
  4. package/build/src/chains-config/assetHubKusamaControllers.js.map +1 -1
  5. package/build/src/chains-config/assetHubNextWestendControllers.js +18 -0
  6. package/build/src/chains-config/assetHubNextWestendControllers.js.map +1 -1
  7. package/build/src/chains-config/assetHubPolkadotControllers.js +17 -0
  8. package/build/src/chains-config/assetHubPolkadotControllers.js.map +1 -1
  9. package/build/src/chains-config/assetHubWestendControllers.js +18 -0
  10. package/build/src/chains-config/assetHubWestendControllers.js.map +1 -1
  11. package/build/src/chains-config/index.d.ts +7 -1
  12. package/build/src/chains-config/index.js +38 -7
  13. package/build/src/chains-config/index.js.map +1 -1
  14. package/build/src/controllers/AbstractController.d.ts +13 -2
  15. package/build/src/controllers/AbstractController.js +56 -6
  16. package/build/src/controllers/AbstractController.js.map +1 -1
  17. package/build/src/controllers/accounts/AccountsAssetsController.d.ts +16 -0
  18. package/build/src/controllers/accounts/AccountsAssetsController.js +75 -8
  19. package/build/src/controllers/accounts/AccountsAssetsController.js.map +1 -1
  20. package/build/src/controllers/accounts/AccountsBalanceInfoController.d.ts +9 -0
  21. package/build/src/controllers/accounts/AccountsBalanceInfoController.js +50 -10
  22. package/build/src/controllers/accounts/AccountsBalanceInfoController.js.map +1 -1
  23. package/build/src/controllers/accounts/AccountsPoolAssetsController.d.ts +15 -0
  24. package/build/src/controllers/accounts/AccountsPoolAssetsController.js +74 -8
  25. package/build/src/controllers/accounts/AccountsPoolAssetsController.js.map +1 -1
  26. package/build/src/controllers/accounts/AccountsProxyInfoController.d.ts +1 -1
  27. package/build/src/controllers/accounts/AccountsProxyInfoController.js +30 -5
  28. package/build/src/controllers/accounts/AccountsProxyInfoController.js.map +1 -1
  29. package/build/src/controllers/accounts/AccountsStakingInfoController.d.ts +9 -0
  30. package/build/src/controllers/accounts/AccountsStakingInfoController.js +47 -6
  31. package/build/src/controllers/accounts/AccountsStakingInfoController.js.map +1 -1
  32. package/build/src/controllers/accounts/AccountsStakingPayoutsController.d.ts +9 -0
  33. package/build/src/controllers/accounts/AccountsStakingPayoutsController.js +71 -14
  34. package/build/src/controllers/accounts/AccountsStakingPayoutsController.js.map +1 -1
  35. package/build/src/controllers/accounts/AccountsVestingInfoController.d.ts +8 -0
  36. package/build/src/controllers/accounts/AccountsVestingInfoController.js +36 -8
  37. package/build/src/controllers/accounts/AccountsVestingInfoController.js.map +1 -1
  38. package/build/src/controllers/blocks/BlocksController.d.ts +10 -0
  39. package/build/src/controllers/blocks/BlocksController.js +244 -23
  40. package/build/src/controllers/blocks/BlocksController.js.map +1 -1
  41. package/build/src/controllers/blocks/BlocksExtrinsicsController.js +95 -36
  42. package/build/src/controllers/blocks/BlocksExtrinsicsController.js.map +1 -1
  43. package/build/src/controllers/blocks/BlocksRawExtrinsicsController.js +29 -4
  44. package/build/src/controllers/blocks/BlocksRawExtrinsicsController.js.map +1 -1
  45. package/build/src/controllers/controllerInjection.spec.js +5 -1
  46. package/build/src/controllers/controllerInjection.spec.js.map +1 -1
  47. package/build/src/controllers/index.d.ts +23 -0
  48. package/build/src/controllers/index.js +27 -4
  49. package/build/src/controllers/index.js.map +1 -1
  50. package/build/src/controllers/pallets/PalletsAssetConversionController.js +58 -6
  51. package/build/src/controllers/pallets/PalletsAssetConversionController.js.map +1 -1
  52. package/build/src/controllers/pallets/PalletsAssetsController.d.ts +8 -0
  53. package/build/src/controllers/pallets/PalletsAssetsController.js +38 -3
  54. package/build/src/controllers/pallets/PalletsAssetsController.js.map +1 -1
  55. package/build/src/controllers/pallets/PalletsConstsController.js +82 -18
  56. package/build/src/controllers/pallets/PalletsConstsController.js.map +1 -1
  57. package/build/src/controllers/pallets/PalletsDispatchablesController.d.ts +0 -8
  58. package/build/src/controllers/pallets/PalletsDispatchablesController.js +82 -28
  59. package/build/src/controllers/pallets/PalletsDispatchablesController.js.map +1 -1
  60. package/build/src/controllers/pallets/PalletsErrorsController.js +82 -18
  61. package/build/src/controllers/pallets/PalletsErrorsController.js.map +1 -1
  62. package/build/src/controllers/pallets/PalletsEventsController.js +82 -18
  63. package/build/src/controllers/pallets/PalletsEventsController.js.map +1 -1
  64. package/build/src/controllers/pallets/PalletsForeignAssetsController.d.ts +8 -0
  65. package/build/src/controllers/pallets/PalletsForeignAssetsController.js +38 -3
  66. package/build/src/controllers/pallets/PalletsForeignAssetsController.js.map +1 -1
  67. package/build/src/controllers/pallets/PalletsNominationPoolsController.js +58 -6
  68. package/build/src/controllers/pallets/PalletsNominationPoolsController.js.map +1 -1
  69. package/build/src/controllers/pallets/PalletsOnGoingReferendaController.js +30 -3
  70. package/build/src/controllers/pallets/PalletsOnGoingReferendaController.js.map +1 -1
  71. package/build/src/controllers/pallets/PalletsPoolAssetsController.js +30 -3
  72. package/build/src/controllers/pallets/PalletsPoolAssetsController.js.map +1 -1
  73. package/build/src/controllers/pallets/PalletsStakingProgressController.d.ts +1 -1
  74. package/build/src/controllers/pallets/PalletsStakingProgressController.js +30 -8
  75. package/build/src/controllers/pallets/PalletsStakingProgressController.js.map +1 -1
  76. package/build/src/controllers/pallets/PalletsStakingValidatorsController.js +30 -3
  77. package/build/src/controllers/pallets/PalletsStakingValidatorsController.js.map +1 -1
  78. package/build/src/controllers/pallets/PalletsStorageController.js +84 -19
  79. package/build/src/controllers/pallets/PalletsStorageController.js.map +1 -1
  80. package/build/src/controllers/rc/accounts/RcAccountsBalanceInfoController.d.ts +15 -0
  81. package/build/src/controllers/rc/accounts/RcAccountsBalanceInfoController.js +65 -0
  82. package/build/src/controllers/rc/accounts/RcAccountsBalanceInfoController.js.map +1 -0
  83. package/build/src/controllers/rc/accounts/RcAccountsProxyInfoController.d.ts +15 -0
  84. package/build/src/controllers/rc/accounts/RcAccountsProxyInfoController.js +59 -0
  85. package/build/src/controllers/rc/accounts/RcAccountsProxyInfoController.js.map +1 -0
  86. package/build/src/controllers/rc/accounts/index.d.ts +2 -0
  87. package/build/src/controllers/rc/accounts/index.js +26 -0
  88. package/build/src/controllers/rc/accounts/index.js.map +1 -0
  89. package/build/src/controllers/rc/blocks/RcBlocksController.d.ts +17 -0
  90. package/build/src/controllers/rc/blocks/RcBlocksController.js +263 -0
  91. package/build/src/controllers/rc/blocks/RcBlocksController.js.map +1 -0
  92. package/build/src/controllers/rc/blocks/RcBlocksExtrinsicsController.d.ts +11 -0
  93. package/build/src/controllers/rc/blocks/RcBlocksExtrinsicsController.js +80 -0
  94. package/build/src/controllers/rc/blocks/RcBlocksExtrinsicsController.js.map +1 -0
  95. package/build/src/controllers/rc/blocks/RcBlocksRawExtrinsicsController.d.ts +10 -0
  96. package/build/src/controllers/rc/blocks/RcBlocksRawExtrinsicsController.js +60 -0
  97. package/build/src/controllers/rc/blocks/RcBlocksRawExtrinsicsController.js.map +1 -0
  98. package/build/src/controllers/rc/blocks/RcBlocksTraceController.d.ts +12 -0
  99. package/build/src/controllers/rc/blocks/RcBlocksTraceController.js +89 -0
  100. package/build/src/controllers/rc/blocks/RcBlocksTraceController.js.map +1 -0
  101. package/build/src/controllers/rc/blocks/index.d.ts +4 -0
  102. package/build/src/controllers/rc/blocks/index.js +30 -0
  103. package/build/src/controllers/rc/blocks/index.js.map +1 -0
  104. package/build/src/controllers/rc/index.d.ts +4 -0
  105. package/build/src/controllers/rc/index.js +36 -0
  106. package/build/src/controllers/rc/index.js.map +1 -0
  107. package/build/src/controllers/rc/node/RcNodeNetworkController.d.ts +40 -0
  108. package/build/src/controllers/rc/node/RcNodeNetworkController.js +76 -0
  109. package/build/src/controllers/rc/node/RcNodeNetworkController.js.map +1 -0
  110. package/build/src/controllers/rc/node/RcNodeTransactionPoolController.d.ts +27 -0
  111. package/build/src/controllers/rc/node/RcNodeTransactionPoolController.js +66 -0
  112. package/build/src/controllers/rc/node/RcNodeTransactionPoolController.js.map +1 -0
  113. package/build/src/controllers/rc/node/RcNodeVersionController.d.ts +24 -0
  114. package/build/src/controllers/rc/node/RcNodeVersionController.js +59 -0
  115. package/build/src/controllers/rc/node/RcNodeVersionController.js.map +1 -0
  116. package/build/src/controllers/rc/node/index.d.ts +3 -0
  117. package/build/src/controllers/rc/node/index.js +13 -0
  118. package/build/src/controllers/rc/node/index.js.map +1 -0
  119. package/build/src/controllers/rc/pallets/RcPalletsConstsController.d.ts +10 -0
  120. package/build/src/controllers/rc/pallets/RcPalletsConstsController.js +79 -0
  121. package/build/src/controllers/rc/pallets/RcPalletsConstsController.js.map +1 -0
  122. package/build/src/controllers/rc/pallets/RcPalletsDispatchablesController.d.ts +10 -0
  123. package/build/src/controllers/rc/pallets/RcPalletsDispatchablesController.js +79 -0
  124. package/build/src/controllers/rc/pallets/RcPalletsDispatchablesController.js.map +1 -0
  125. package/build/src/controllers/rc/pallets/RcPalletsErrorsController.d.ts +10 -0
  126. package/build/src/controllers/rc/pallets/RcPalletsErrorsController.js +79 -0
  127. package/build/src/controllers/rc/pallets/RcPalletsErrorsController.js.map +1 -0
  128. package/build/src/controllers/rc/pallets/RcPalletsEventsController.d.ts +10 -0
  129. package/build/src/controllers/rc/pallets/RcPalletsEventsController.js +79 -0
  130. package/build/src/controllers/rc/pallets/RcPalletsEventsController.js.map +1 -0
  131. package/build/src/controllers/rc/pallets/RcPalletsOnGoingReferendaController.d.ts +9 -0
  132. package/build/src/controllers/rc/pallets/RcPalletsOnGoingReferendaController.js +52 -0
  133. package/build/src/controllers/rc/pallets/RcPalletsOnGoingReferendaController.js.map +1 -0
  134. package/build/src/controllers/rc/pallets/RcPalletsStorageController.d.ts +10 -0
  135. package/build/src/controllers/rc/pallets/RcPalletsStorageController.js +81 -0
  136. package/build/src/controllers/rc/pallets/RcPalletsStorageController.js.map +1 -0
  137. package/build/src/controllers/rc/pallets/index.d.ts +6 -0
  138. package/build/src/controllers/rc/pallets/index.js +34 -0
  139. package/build/src/controllers/rc/pallets/index.js.map +1 -0
  140. package/build/src/controllers/rc/runtime/RcRuntimeCodeController.d.ts +26 -0
  141. package/build/src/controllers/rc/runtime/RcRuntimeCodeController.js +68 -0
  142. package/build/src/controllers/rc/runtime/RcRuntimeCodeController.js.map +1 -0
  143. package/build/src/controllers/rc/runtime/RcRuntimeMetadataController.d.ts +47 -0
  144. package/build/src/controllers/rc/runtime/RcRuntimeMetadataController.js +140 -0
  145. package/build/src/controllers/rc/runtime/RcRuntimeMetadataController.js.map +1 -0
  146. package/build/src/controllers/rc/runtime/RcRuntimeSpecController.d.ts +34 -0
  147. package/build/src/controllers/rc/runtime/RcRuntimeSpecController.js +76 -0
  148. package/build/src/controllers/rc/runtime/RcRuntimeSpecController.js.map +1 -0
  149. package/build/src/controllers/rc/runtime/index.d.ts +3 -0
  150. package/build/src/controllers/rc/runtime/index.js +28 -0
  151. package/build/src/controllers/rc/runtime/index.js.map +1 -0
  152. package/build/src/main.js +4 -0
  153. package/build/src/main.js.map +1 -1
  154. package/build/src/middleware/validate/index.d.ts +1 -0
  155. package/build/src/middleware/validate/index.js +3 -1
  156. package/build/src/middleware/validate/index.js.map +1 -1
  157. package/build/src/middleware/validate/validateUseRcBlockMiddleware.d.ts +10 -0
  158. package/build/src/middleware/validate/validateUseRcBlockMiddleware.js +58 -0
  159. package/build/src/middleware/validate/validateUseRcBlockMiddleware.js.map +1 -0
  160. package/build/src/services/accounts/AccountsStakingInfoService.js +0 -1
  161. package/build/src/services/accounts/AccountsStakingInfoService.js.map +1 -1
  162. package/build/src/services/blocks/BlocksService.js +15 -1
  163. package/build/src/services/blocks/BlocksService.js.map +1 -1
  164. package/build/src/services/pallets/PalletsStakingProgressService.d.ts +56 -0
  165. package/build/src/services/pallets/PalletsStakingProgressService.js +140 -21
  166. package/build/src/services/pallets/PalletsStakingProgressService.js.map +1 -1
  167. package/build/src/services/pallets/PalletsStakingProgressService.spec.js +255 -43
  168. package/build/src/services/pallets/PalletsStakingProgressService.spec.js.map +1 -1
  169. package/build/src/types/requests.d.ts +1 -0
  170. package/build/src/types/responses/AccountAssets.d.ts +4 -0
  171. package/build/src/types/responses/AccountBalanceInfo.d.ts +2 -0
  172. package/build/src/types/responses/AccountPoolAssets.d.ts +6 -2
  173. package/build/src/types/responses/AccountProxyInfo.d.ts +2 -0
  174. package/build/src/types/responses/AccountStakingInfo.d.ts +2 -0
  175. package/build/src/types/responses/AccountStakingPayouts.d.ts +2 -0
  176. package/build/src/types/responses/AccountVestingInfo.d.ts +2 -0
  177. package/build/src/types/responses/PalletStakingProgress.d.ts +2 -0
  178. package/package.json +8 -18
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ // Copyright 2017-2025 Parity Technologies (UK) Ltd.
3
+ // This file is part of Substrate API Sidecar.
4
+ //
5
+ // Substrate API Sidecar is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU General Public License
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
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ const util_1 = require("@polkadot/util");
22
+ const apiRegistry_1 = require("../../../apiRegistry");
23
+ const services_1 = require("../../../services");
24
+ const AbstractController_1 = __importDefault(require("../../AbstractController"));
25
+ class RcPalletsErrorsController extends AbstractController_1.default {
26
+ constructor(_api) {
27
+ var _a;
28
+ const rcApiSpecName = (_a = apiRegistry_1.ApiPromiseRegistry.getSpecNameByType('relay')) === null || _a === void 0 ? void 0 : _a.values();
29
+ const rcSpecName = rcApiSpecName ? Array.from(rcApiSpecName)[0] : undefined;
30
+ if (!rcSpecName) {
31
+ throw new Error('Relay chain API spec name is not defined.');
32
+ }
33
+ super(rcSpecName, '/rc/pallets/:palletId/errors', new services_1.PalletsErrorsService(rcSpecName));
34
+ this.getErrorById = async ({ query: { at, metadata }, params: { palletId, errorItemId } }, res) => {
35
+ var _a;
36
+ const rcApi = (_a = apiRegistry_1.ApiPromiseRegistry.getApiByType('relay')[0]) === null || _a === void 0 ? void 0 : _a.api;
37
+ if (!rcApi) {
38
+ throw new Error('Relay chain API not found, please use SAS_SUBSTRATE_MULTI_CHAIN_URL env variable');
39
+ }
40
+ const metadataArg = metadata === 'true';
41
+ const hash = await this.getHashFromAt(at, { api: rcApi });
42
+ const historicApi = await rcApi.at(hash);
43
+ const result = await this.service.fetchErrorItem(historicApi, {
44
+ hash,
45
+ palletId: (0, util_1.stringCamelCase)(palletId),
46
+ errorItemId: (0, util_1.stringCamelCase)(errorItemId),
47
+ metadata: metadataArg,
48
+ });
49
+ RcPalletsErrorsController.sanitizedSend(res, result);
50
+ };
51
+ this.getErrors = async ({ params: { palletId }, query: { at, onlyIds } }, res) => {
52
+ var _a;
53
+ const rcApi = (_a = apiRegistry_1.ApiPromiseRegistry.getApiByType('relay')[0]) === null || _a === void 0 ? void 0 : _a.api;
54
+ if (!rcApi) {
55
+ throw new Error('Relay chain API not found, please use SAS_SUBSTRATE_MULTI_CHAIN_URL env variable');
56
+ }
57
+ const onlyIdsArg = onlyIds === 'true';
58
+ const hash = await this.getHashFromAt(at, { api: rcApi });
59
+ const historicApi = await rcApi.at(hash);
60
+ const result = await this.service.fetchErrors(historicApi, {
61
+ hash,
62
+ palletId: (0, util_1.stringCamelCase)(palletId),
63
+ onlyIds: onlyIdsArg,
64
+ });
65
+ RcPalletsErrorsController.sanitizedSend(res, result);
66
+ };
67
+ this.initRoutes();
68
+ }
69
+ initRoutes() {
70
+ this.safeMountAsyncGetHandlers([
71
+ ['/:errorItemId', this.getErrorById],
72
+ ['/', this.getErrors],
73
+ ]);
74
+ }
75
+ }
76
+ RcPalletsErrorsController.controllerName = 'RcPalletsErrors';
77
+ RcPalletsErrorsController.requiredPallets = [];
78
+ exports.default = RcPalletsErrorsController;
79
+ //# sourceMappingURL=RcPalletsErrorsController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RcPalletsErrorsController.js","sourceRoot":"","sources":["../../../../../src/controllers/rc/pallets/RcPalletsErrorsController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { PalletsEventsService } from '../../../services';
2
+ import AbstractController from '../../AbstractController';
3
+ export default class RcPalletsEventsController extends AbstractController<PalletsEventsService> {
4
+ static controllerName: string;
5
+ static requiredPallets: never[];
6
+ constructor(_api: string);
7
+ protected initRoutes(): void;
8
+ private getEventById;
9
+ private getEvents;
10
+ }
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ // Copyright 2017-2025 Parity Technologies (UK) Ltd.
3
+ // This file is part of Substrate API Sidecar.
4
+ //
5
+ // Substrate API Sidecar is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU General Public License
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
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ const util_1 = require("@polkadot/util");
22
+ const apiRegistry_1 = require("../../../apiRegistry");
23
+ const services_1 = require("../../../services");
24
+ const AbstractController_1 = __importDefault(require("../../AbstractController"));
25
+ class RcPalletsEventsController extends AbstractController_1.default {
26
+ constructor(_api) {
27
+ var _a;
28
+ const rcApiSpecName = (_a = apiRegistry_1.ApiPromiseRegistry.getSpecNameByType('relay')) === null || _a === void 0 ? void 0 : _a.values();
29
+ const rcSpecName = rcApiSpecName ? Array.from(rcApiSpecName)[0] : undefined;
30
+ if (!rcSpecName) {
31
+ throw new Error('Relay chain API spec name is not defined.');
32
+ }
33
+ super(rcSpecName, '/rc/pallets/:palletId/events', new services_1.PalletsEventsService(rcSpecName));
34
+ this.getEventById = async ({ query: { at, metadata }, params: { palletId, eventItemId } }, res) => {
35
+ var _a;
36
+ const rcApi = (_a = apiRegistry_1.ApiPromiseRegistry.getApiByType('relay')[0]) === null || _a === void 0 ? void 0 : _a.api;
37
+ if (!rcApi) {
38
+ throw new Error('Relay chain API not found, please use SAS_SUBSTRATE_MULTI_CHAIN_URL env variable');
39
+ }
40
+ const metadataArg = metadata === 'true';
41
+ const hash = await this.getHashFromAt(at, { api: rcApi });
42
+ const historicApi = await rcApi.at(hash);
43
+ const result = await this.service.fetchEventItem(historicApi, {
44
+ hash,
45
+ palletId: (0, util_1.stringCamelCase)(palletId),
46
+ eventItemId: (0, util_1.stringCamelCase)(eventItemId),
47
+ metadata: metadataArg,
48
+ });
49
+ RcPalletsEventsController.sanitizedSend(res, result);
50
+ };
51
+ this.getEvents = async ({ params: { palletId }, query: { at, onlyIds } }, res) => {
52
+ var _a;
53
+ const rcApi = (_a = apiRegistry_1.ApiPromiseRegistry.getApiByType('relay')[0]) === null || _a === void 0 ? void 0 : _a.api;
54
+ if (!rcApi) {
55
+ throw new Error('Relay chain API not found, please use SAS_SUBSTRATE_MULTI_CHAIN_URL env variable');
56
+ }
57
+ const onlyIdsArg = onlyIds === 'true';
58
+ const hash = await this.getHashFromAt(at, { api: rcApi });
59
+ const historicApi = await rcApi.at(hash);
60
+ const result = await this.service.fetchEvents(historicApi, {
61
+ hash,
62
+ palletId: (0, util_1.stringCamelCase)(palletId),
63
+ onlyIds: onlyIdsArg,
64
+ });
65
+ RcPalletsEventsController.sanitizedSend(res, result);
66
+ };
67
+ this.initRoutes();
68
+ }
69
+ initRoutes() {
70
+ this.safeMountAsyncGetHandlers([
71
+ ['/:eventItemId', this.getEventById],
72
+ ['/', this.getEvents],
73
+ ]);
74
+ }
75
+ }
76
+ RcPalletsEventsController.controllerName = 'RcPalletsEvents';
77
+ RcPalletsEventsController.requiredPallets = [];
78
+ exports.default = RcPalletsEventsController;
79
+ //# sourceMappingURL=RcPalletsEventsController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RcPalletsEventsController.js","sourceRoot":"","sources":["../../../../../src/controllers/rc/pallets/RcPalletsEventsController.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;AAIjD,sDAA0D;AAC1D,gDAAyD;AACzD,kFAA0D;AAE1D,MAAqB,yBAA0B,SAAQ,4BAAwC;IAG9F,YAAY,IAAY;;QACvB,MAAM,aAAa,GAAG,MAAA,gCAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,0CAAE,MAAM,EAAE,CAAC;QAC9E,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,CAAC,UAAU,EAAE,8BAA8B,EAAE,IAAI,+BAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;QAWjF,iBAAY,GAA0D,KAAK,EAClF,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAC9D,GAAG,EACa,EAAE;;YAClB,MAAM,KAAK,GAAG,MAAA,gCAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,0CAAE,GAAG,CAAC;YAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;YACrG,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,KAAK,MAAM,CAAC;YACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAEzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE;gBAC7D,IAAI;gBACJ,QAAQ,EAAE,IAAA,sBAAe,EAAC,QAAQ,CAAC;gBACnC,WAAW,EAAE,IAAA,sBAAe,EAAC,WAAW,CAAC;gBACzC,QAAQ,EAAE,WAAW;aACrB,CAAC,CAAC;YACH,yBAAyB,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC,CAAC;QAEM,cAAS,GAAmB,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAiB,EAAE;;YAClH,MAAM,KAAK,GAAG,MAAA,gCAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,0CAAE,GAAG,CAAC;YAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;YACrG,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,KAAK,MAAM,CAAC;YACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAEzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE;gBAC1D,IAAI;gBACJ,QAAQ,EAAE,IAAA,sBAAe,EAAC,QAAQ,CAAC;gBACnC,OAAO,EAAE,UAAU;aACnB,CAAC,CAAC;YACH,yBAAyB,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC,CAAC;QAlDD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,yBAAyB,CAAC;YAC9B,CAAC,eAAe,EAAE,IAAI,CAAC,YAA8B,CAAC;YACtD,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;SACrB,CAAC,CAAC;IACJ,CAAC;;AAjBM,wCAAc,GAAG,iBAAiB,AAApB,CAAqB;AACnC,yCAAe,GAAG,EAAE,AAAL,CAAM;kBAFR,yBAAyB"}
@@ -0,0 +1,9 @@
1
+ import { PalletsOnGoingReferendaService } from '../../../services';
2
+ import AbstractController from '../../AbstractController';
3
+ export default class RcPalletsOnGoingReferendaController extends AbstractController<PalletsOnGoingReferendaService> {
4
+ static controllerName: string;
5
+ static requiredPallets: string[][];
6
+ constructor(_api: string);
7
+ protected initRoutes(): void;
8
+ private getPalletOnGoingReferenda;
9
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ // Copyright 2017-2025 Parity Technologies (UK) Ltd.
3
+ // This file is part of Substrate API Sidecar.
4
+ //
5
+ // Substrate API Sidecar is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU General Public License
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
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ const apiRegistry_1 = require("../../../apiRegistry");
22
+ const services_1 = require("../../../services");
23
+ const AbstractController_1 = __importDefault(require("../../AbstractController"));
24
+ class RcPalletsOnGoingReferendaController extends AbstractController_1.default {
25
+ constructor(_api) {
26
+ var _a;
27
+ const rcApiSpecName = (_a = apiRegistry_1.ApiPromiseRegistry.getSpecNameByType('relay')) === null || _a === void 0 ? void 0 : _a.values();
28
+ const rcSpecName = rcApiSpecName ? Array.from(rcApiSpecName)[0] : undefined;
29
+ if (!rcSpecName) {
30
+ throw new Error('Relay chain API spec name is not defined.');
31
+ }
32
+ super(rcSpecName, '/rc/pallets/on-going-referenda', new services_1.PalletsOnGoingReferendaService(rcSpecName));
33
+ this.getPalletOnGoingReferenda = async ({ query: { at } }, res) => {
34
+ var _a;
35
+ const rcApi = (_a = apiRegistry_1.ApiPromiseRegistry.getApiByType('relay')[0]) === null || _a === void 0 ? void 0 : _a.api;
36
+ if (!rcApi) {
37
+ throw new Error('Relay chain API not found, please use SAS_SUBSTRATE_MULTI_CHAIN_URL env variable');
38
+ }
39
+ const hash = await this.getHashFromAt(at, { api: rcApi });
40
+ const result = await this.service.derivePalletOnGoingReferenda(hash);
41
+ RcPalletsOnGoingReferendaController.sanitizedSend(res, result);
42
+ };
43
+ this.initRoutes();
44
+ }
45
+ initRoutes() {
46
+ this.safeMountAsyncGetHandlers([['', this.getPalletOnGoingReferenda]]);
47
+ }
48
+ }
49
+ RcPalletsOnGoingReferendaController.controllerName = 'RcPalletsOnGoingReferenda';
50
+ RcPalletsOnGoingReferendaController.requiredPallets = [['Referenda']];
51
+ exports.default = RcPalletsOnGoingReferendaController;
52
+ //# sourceMappingURL=RcPalletsOnGoingReferendaController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RcPalletsOnGoingReferendaController.js","sourceRoot":"","sources":["../../../../../src/controllers/rc/pallets/RcPalletsOnGoingReferendaController.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,8CAA8C;AAC9C,EAAE;AACF,gFAAgF;AAChF,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,wEAAwE;;;;;AAIxE,sDAA0D;AAC1D,gDAAmE;AACnE,kFAA0D;AAE1D,MAAqB,mCAAoC,SAAQ,4BAAkD;IAGlH,YAAY,IAAY;;QACvB,MAAM,aAAa,GAAG,MAAA,gCAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,0CAAE,MAAM,EAAE,CAAC;QAC9E,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,CAAC,UAAU,EAAE,gCAAgC,EAAE,IAAI,yCAA8B,CAAC,UAAU,CAAC,CAAC,CAAC;QAQ7F,8BAAyB,GAAmB,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAiB,EAAE;;YACnG,MAAM,KAAK,GAAG,MAAA,gCAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,0CAAE,GAAG,CAAC;YAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;YACrG,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;YACrE,mCAAmC,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC,CAAC;QAjBD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;;AAdM,kDAAc,GAAG,2BAA2B,AAA9B,CAA+B;AAC7C,mDAAe,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,AAAlB,CAAmB;kBAFrB,mCAAmC"}
@@ -0,0 +1,10 @@
1
+ import { PalletsStorageService } from '../../../services';
2
+ import AbstractController from '../../AbstractController';
3
+ export default class RcPalletsStorageController extends AbstractController<PalletsStorageService> {
4
+ static controllerName: string;
5
+ static requiredPallets: never[];
6
+ constructor(_api: string);
7
+ protected initRoutes(): void;
8
+ private getStorageItem;
9
+ private getStorage;
10
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ // Copyright 2017-2025 Parity Technologies (UK) Ltd.
3
+ // This file is part of Substrate API Sidecar.
4
+ //
5
+ // Substrate API Sidecar is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU General Public License
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
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ const util_1 = require("@polkadot/util");
22
+ const apiRegistry_1 = require("../../../apiRegistry");
23
+ const services_1 = require("../../../services");
24
+ const AbstractController_1 = __importDefault(require("../../AbstractController"));
25
+ class RcPalletsStorageController extends AbstractController_1.default {
26
+ constructor(_api) {
27
+ var _a;
28
+ const rcApiSpecName = (_a = apiRegistry_1.ApiPromiseRegistry.getSpecNameByType('relay')) === null || _a === void 0 ? void 0 : _a.values();
29
+ const rcSpecName = rcApiSpecName ? Array.from(rcApiSpecName)[0] : undefined;
30
+ if (!rcSpecName) {
31
+ throw new Error('Relay chain API spec name is not defined.');
32
+ }
33
+ super(rcSpecName, '/rc/pallets/:palletId/storage', new services_1.PalletsStorageService(rcSpecName));
34
+ this.getStorageItem = async ({ query: { at, keys, metadata }, params: { palletId, storageItemId } }, res) => {
35
+ var _a;
36
+ const rcApi = (_a = apiRegistry_1.ApiPromiseRegistry.getApiByType('relay')[0]) === null || _a === void 0 ? void 0 : _a.api;
37
+ if (!rcApi) {
38
+ throw new Error('Relay chain API not found, please use SAS_SUBSTRATE_MULTI_CHAIN_URL env variable');
39
+ }
40
+ const parsedKeys = Array.isArray(keys) ? keys : [];
41
+ const metadataArg = metadata === 'true';
42
+ const hash = await this.getHashFromAt(at, { api: rcApi });
43
+ const historicApi = await rcApi.at(hash);
44
+ const result = await this.service.fetchStorageItem(historicApi, {
45
+ hash,
46
+ palletId: (0, util_1.stringCamelCase)(palletId),
47
+ storageItemId: (0, util_1.stringCamelCase)(storageItemId),
48
+ keys: parsedKeys,
49
+ metadata: metadataArg,
50
+ });
51
+ RcPalletsStorageController.sanitizedSend(res, result);
52
+ };
53
+ this.getStorage = async ({ params: { palletId }, query: { at, onlyIds } }, res) => {
54
+ var _a;
55
+ const rcApi = (_a = apiRegistry_1.ApiPromiseRegistry.getApiByType('relay')[0]) === null || _a === void 0 ? void 0 : _a.api;
56
+ if (!rcApi) {
57
+ throw new Error('Relay chain API not found, please use SAS_SUBSTRATE_MULTI_CHAIN_URL env variable');
58
+ }
59
+ const onlyIdsArg = onlyIds === 'true';
60
+ const hash = await this.getHashFromAt(at, { api: rcApi });
61
+ const historicApi = await rcApi.at(hash);
62
+ const result = await this.service.fetchStorage(historicApi, {
63
+ hash,
64
+ palletId: (0, util_1.stringCamelCase)(palletId),
65
+ onlyIds: onlyIdsArg,
66
+ });
67
+ RcPalletsStorageController.sanitizedSend(res, result);
68
+ };
69
+ this.initRoutes();
70
+ }
71
+ initRoutes() {
72
+ this.safeMountAsyncGetHandlers([
73
+ ['/:storageItemId', this.getStorageItem],
74
+ ['/', this.getStorage],
75
+ ]);
76
+ }
77
+ }
78
+ RcPalletsStorageController.controllerName = 'RcPalletsStorage';
79
+ RcPalletsStorageController.requiredPallets = [];
80
+ exports.default = RcPalletsStorageController;
81
+ //# sourceMappingURL=RcPalletsStorageController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RcPalletsStorageController.js","sourceRoot":"","sources":["../../../../../src/controllers/rc/pallets/RcPalletsStorageController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export { default as RcPalletsConsts } from './RcPalletsConstsController';
2
+ export { default as RcPalletsDispatchables } from './RcPalletsDispatchablesController';
3
+ export { default as RcPalletsErrors } from './RcPalletsErrorsController';
4
+ export { default as RcPalletsEvents } from './RcPalletsEventsController';
5
+ export { default as RcPalletsOnGoingReferenda } from './RcPalletsOnGoingReferendaController';
6
+ export { default as RcPalletsStorage } from './RcPalletsStorageController';
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ // Copyright 2017-2025 Parity Technologies (UK) Ltd.
3
+ // This file is part of Substrate API Sidecar.
4
+ //
5
+ // Substrate API Sidecar is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU General Public License
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
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.RcPalletsStorage = exports.RcPalletsOnGoingReferenda = exports.RcPalletsEvents = exports.RcPalletsErrors = exports.RcPalletsDispatchables = exports.RcPalletsConsts = void 0;
22
+ var RcPalletsConstsController_1 = require("./RcPalletsConstsController");
23
+ Object.defineProperty(exports, "RcPalletsConsts", { enumerable: true, get: function () { return __importDefault(RcPalletsConstsController_1).default; } });
24
+ var RcPalletsDispatchablesController_1 = require("./RcPalletsDispatchablesController");
25
+ Object.defineProperty(exports, "RcPalletsDispatchables", { enumerable: true, get: function () { return __importDefault(RcPalletsDispatchablesController_1).default; } });
26
+ var RcPalletsErrorsController_1 = require("./RcPalletsErrorsController");
27
+ Object.defineProperty(exports, "RcPalletsErrors", { enumerable: true, get: function () { return __importDefault(RcPalletsErrorsController_1).default; } });
28
+ var RcPalletsEventsController_1 = require("./RcPalletsEventsController");
29
+ Object.defineProperty(exports, "RcPalletsEvents", { enumerable: true, get: function () { return __importDefault(RcPalletsEventsController_1).default; } });
30
+ var RcPalletsOnGoingReferendaController_1 = require("./RcPalletsOnGoingReferendaController");
31
+ Object.defineProperty(exports, "RcPalletsOnGoingReferenda", { enumerable: true, get: function () { return __importDefault(RcPalletsOnGoingReferendaController_1).default; } });
32
+ var RcPalletsStorageController_1 = require("./RcPalletsStorageController");
33
+ Object.defineProperty(exports, "RcPalletsStorage", { enumerable: true, get: function () { return __importDefault(RcPalletsStorageController_1).default; } });
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/controllers/rc/pallets/index.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,yEAAyE;AAAhE,6IAAA,OAAO,OAAmB;AACnC,uFAAuF;AAA9E,2JAAA,OAAO,OAA0B;AAC1C,yEAAyE;AAAhE,6IAAA,OAAO,OAAmB;AACnC,yEAAyE;AAAhE,6IAAA,OAAO,OAAmB;AACnC,6FAA6F;AAApF,iKAAA,OAAO,OAA6B;AAC7C,2EAA2E;AAAlE,+IAAA,OAAO,OAAoB"}
@@ -0,0 +1,26 @@
1
+ import { RuntimeCodeService } from '../../../services';
2
+ import AbstractController from '../../AbstractController';
3
+ /**
4
+ * Get the Wasm code blob of the relay chain Substrate runtime.
5
+ *
6
+ * Query:
7
+ * - (Optional)`at`: Block at which to retrieve runtime version information at. Block
8
+ * identifier, as the block height or block hash. Defaults to most recent block.
9
+ *
10
+ * Returns:
11
+ * - `at`: Block number and hash at which the call was made.
12
+ * - `code`: Runtime code Wasm blob.
13
+ */
14
+ export default class RcRuntimeCodeController extends AbstractController<RuntimeCodeService> {
15
+ static controllerName: string;
16
+ static requiredPallets: never[];
17
+ constructor(_api: string);
18
+ protected initRoutes(): void;
19
+ /**
20
+ * Get the relay chain's runtime code in Wasm format.
21
+ *
22
+ * @param _req Express Request
23
+ * @param res Express Response
24
+ */
25
+ private getCodeAtBlock;
26
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ // Copyright 2017-2025 Parity Technologies (UK) Ltd.
3
+ // This file is part of Substrate API Sidecar.
4
+ //
5
+ // Substrate API Sidecar is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU General Public License
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
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ const apiRegistry_1 = require("../../../apiRegistry");
22
+ const services_1 = require("../../../services");
23
+ const AbstractController_1 = __importDefault(require("../../AbstractController"));
24
+ /**
25
+ * Get the Wasm code blob of the relay chain Substrate runtime.
26
+ *
27
+ * Query:
28
+ * - (Optional)`at`: Block at which to retrieve runtime version information at. Block
29
+ * identifier, as the block height or block hash. Defaults to most recent block.
30
+ *
31
+ * Returns:
32
+ * - `at`: Block number and hash at which the call was made.
33
+ * - `code`: Runtime code Wasm blob.
34
+ */
35
+ class RcRuntimeCodeController extends AbstractController_1.default {
36
+ constructor(_api) {
37
+ var _a;
38
+ const rcApiSpecName = (_a = apiRegistry_1.ApiPromiseRegistry.getSpecNameByType('relay')) === null || _a === void 0 ? void 0 : _a.values();
39
+ const rcSpecName = rcApiSpecName ? Array.from(rcApiSpecName)[0] : undefined;
40
+ if (!rcSpecName) {
41
+ throw new Error('Relay chain API spec name is not defined.');
42
+ }
43
+ super(rcSpecName, '/rc/runtime/code', new services_1.RuntimeCodeService(rcSpecName));
44
+ /**
45
+ * Get the relay chain's runtime code in Wasm format.
46
+ *
47
+ * @param _req Express Request
48
+ * @param res Express Response
49
+ */
50
+ this.getCodeAtBlock = async ({ query: { at } }, res) => {
51
+ var _a;
52
+ const rcApi = (_a = apiRegistry_1.ApiPromiseRegistry.getApiByType('relay')[0]) === null || _a === void 0 ? void 0 : _a.api;
53
+ if (!rcApi) {
54
+ throw new Error('Relay chain API not found, please use SAS_SUBSTRATE_MULTI_CHAIN_URL env variable');
55
+ }
56
+ const hash = await this.getHashFromAt(at, { api: rcApi });
57
+ RcRuntimeCodeController.sanitizedSend(res, await this.service.fetchCode(hash));
58
+ };
59
+ this.initRoutes();
60
+ }
61
+ initRoutes() {
62
+ this.safeMountAsyncGetHandlers([['', this.getCodeAtBlock]]);
63
+ }
64
+ }
65
+ RcRuntimeCodeController.controllerName = 'RcRuntimeCode';
66
+ RcRuntimeCodeController.requiredPallets = [];
67
+ exports.default = RcRuntimeCodeController;
68
+ //# sourceMappingURL=RcRuntimeCodeController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RcRuntimeCodeController.js","sourceRoot":"","sources":["../../../../../src/controllers/rc/runtime/RcRuntimeCodeController.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,8CAA8C;AAC9C,EAAE;AACF,gFAAgF;AAChF,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,wEAAwE;;;;;AAIxE,sDAA0D;AAC1D,gDAAuD;AACvD,kFAA0D;AAE1D;;;;;;;;;;GAUG;AACH,MAAqB,uBAAwB,SAAQ,4BAAsC;IAG1F,YAAY,IAAY;;QACvB,MAAM,aAAa,GAAG,MAAA,gCAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,0CAAE,MAAM,EAAE,CAAC;QAC9E,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,CAAC,UAAU,EAAE,kBAAkB,EAAE,IAAI,6BAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;QAQ3E;;;;;WAKG;QAEK,mBAAc,GAAmB,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAiB,EAAE;;YACxF,MAAM,KAAK,GAAG,MAAA,gCAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,0CAAE,GAAG,CAAC;YAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;YACrG,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAE1D,uBAAuB,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC;QAxBD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;;AAdM,sCAAc,GAAG,eAAe,AAAlB,CAAmB;AACjC,uCAAe,GAAG,EAAE,AAAL,CAAM;kBAFR,uBAAuB"}
@@ -0,0 +1,47 @@
1
+ import { RuntimeMetadataService } from '../../../services';
2
+ import AbstractController from '../../AbstractController';
3
+ /**
4
+ * GET the relay chain's metadata.
5
+ *
6
+ * Path params:
7
+ * - (Optional) `metadataVersion`: The specific version of the Metadata to query.
8
+ * The input must conform to the `vX` format, where `X` represents the version number (examples: 'v14', 'v15').
9
+ *
10
+ * Query:
11
+ * - (Optional) `at`: Block hash or height at which to query. If not provided, queries
12
+ * finalized head.
13
+ *
14
+ * Returns:
15
+ * - Metadata object.
16
+ *
17
+ * Substrate Reference:
18
+ * - FRAME Support: https://crates.parity.io/frame_support/metadata/index.html
19
+ * - Knowledge Base: https://substrate.dev/docs/en/knowledgebase/runtime/metadata
20
+ */
21
+ export default class RcRuntimeMetadataController extends AbstractController<RuntimeMetadataService> {
22
+ static controllerName: string;
23
+ static requiredPallets: never[];
24
+ constructor(_api: string);
25
+ protected initRoutes(): void;
26
+ /**
27
+ * Get the relay chain's latest metadata in a decoded, JSON format.
28
+ *
29
+ * @param _req Express Request
30
+ * @param res Express Response
31
+ */
32
+ private getMetadata;
33
+ /**
34
+ * Get the relay chain's metadata at a specific version in a decoded, JSON format.
35
+ *
36
+ * @param _req Express Request
37
+ * @param res Express Response
38
+ */
39
+ private getMetadataVersioned;
40
+ /**
41
+ * Get the available versions of relay chain's metadata.
42
+ *
43
+ * @param _req Express Request
44
+ * @param res Express Response
45
+ */
46
+ private getMetadataAvailableVersions;
47
+ }