@substrate/api-sidecar 20.3.2 → 20.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +6 -0
  12. package/build/src/chains-config/index.js +24 -1
  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,30 @@
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.RcBlocksTrace = exports.RcBlocksRawExtrinsics = exports.RcBlocksExtrinsics = exports.RcBlocks = void 0;
22
+ var RcBlocksController_1 = require("./RcBlocksController");
23
+ Object.defineProperty(exports, "RcBlocks", { enumerable: true, get: function () { return __importDefault(RcBlocksController_1).default; } });
24
+ var RcBlocksExtrinsicsController_1 = require("./RcBlocksExtrinsicsController");
25
+ Object.defineProperty(exports, "RcBlocksExtrinsics", { enumerable: true, get: function () { return __importDefault(RcBlocksExtrinsicsController_1).default; } });
26
+ var RcBlocksRawExtrinsicsController_1 = require("./RcBlocksRawExtrinsicsController");
27
+ Object.defineProperty(exports, "RcBlocksRawExtrinsics", { enumerable: true, get: function () { return __importDefault(RcBlocksRawExtrinsicsController_1).default; } });
28
+ var RcBlocksTraceController_1 = require("./RcBlocksTraceController");
29
+ Object.defineProperty(exports, "RcBlocksTrace", { enumerable: true, get: function () { return __importDefault(RcBlocksTraceController_1).default; } });
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/controllers/rc/blocks/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,2DAA2D;AAAlD,+HAAA,OAAO,OAAY;AAC5B,+EAA+E;AAAtE,mJAAA,OAAO,OAAsB;AACtC,qFAAqF;AAA5E,yJAAA,OAAO,OAAyB;AACzC,qEAAqE;AAA5D,yIAAA,OAAO,OAAiB"}
@@ -0,0 +1,4 @@
1
+ export * from './accounts';
2
+ export * from './blocks';
3
+ export * from './pallets';
4
+ export * from './runtime';
@@ -0,0 +1,36 @@
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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
29
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ __exportStar(require("./accounts"), exports);
33
+ __exportStar(require("./blocks"), exports);
34
+ __exportStar(require("./pallets"), exports);
35
+ __exportStar(require("./runtime"), exports);
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/controllers/rc/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,6CAA2B;AAC3B,2CAAyB;AACzB,4CAA0B;AAC1B,4CAA0B"}
@@ -0,0 +1,40 @@
1
+ import { NodeNetworkService } from '../../../services';
2
+ import AbstractController from '../../AbstractController';
3
+ /**
4
+ * GET information about the Substrate node's activity in the peer-to-peer network.
5
+ *
6
+ * Returns:
7
+ * - `nodeRoles`: Roles the node is running.
8
+ * - `numPeers`: Number of peers the node is connected to.
9
+ * - `isSyncing`: Whether or not the node is syncing. `False` indicates that the
10
+ * node is in sync.
11
+ * - `shouldHavePeers`: Whether or not the node should be connected to peers. Might
12
+ * be false for local chains or when running without discovery.
13
+ * - `localPeerId`: Local copy of the `PeerId`.
14
+ * - `localListenAddresses`: Multiaddresses that the local node is listening on.
15
+ * The addresses include a trailing `/p2p/` with the local PeerId, and are thus
16
+ * suitable to be passed to `system_addReservedPeer` or as a bootnode address
17
+ * for example.
18
+ * - `systemPeers`: array of
19
+ * - `peerId`: Peer ID.
20
+ * - `roles`: Roles the peer is running.
21
+ * - `protocolVersion`: Peer's protocol version.
22
+ * - `bestHash`: Hash of the best block on the peers canon chain.
23
+ * - `bestNumber`: Height of the best block on the peers canon chain.
24
+ *
25
+ * References:
26
+ * - `NodeRole`: https://github.com/paritytech/substrate/blob/master/client/rpc-api/src/system/helpers.rs#L80
27
+ */
28
+ export default class RcNodeNetworkController extends AbstractController<NodeNetworkService> {
29
+ static controllerName: string;
30
+ static requiredPallets: never[];
31
+ constructor(_api: string);
32
+ protected initRoutes(): void;
33
+ /**
34
+ * GET information about the Substrate node's activity in the peer-to-peer network.
35
+ *
36
+ * @param _req Express Request
37
+ * @param res Express Response
38
+ */
39
+ private getNodeNetworking;
40
+ }
@@ -0,0 +1,76 @@
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 information about the Substrate node's activity in the peer-to-peer network.
26
+ *
27
+ * Returns:
28
+ * - `nodeRoles`: Roles the node is running.
29
+ * - `numPeers`: Number of peers the node is connected to.
30
+ * - `isSyncing`: Whether or not the node is syncing. `False` indicates that the
31
+ * node is in sync.
32
+ * - `shouldHavePeers`: Whether or not the node should be connected to peers. Might
33
+ * be false for local chains or when running without discovery.
34
+ * - `localPeerId`: Local copy of the `PeerId`.
35
+ * - `localListenAddresses`: Multiaddresses that the local node is listening on.
36
+ * The addresses include a trailing `/p2p/` with the local PeerId, and are thus
37
+ * suitable to be passed to `system_addReservedPeer` or as a bootnode address
38
+ * for example.
39
+ * - `systemPeers`: array of
40
+ * - `peerId`: Peer ID.
41
+ * - `roles`: Roles the peer is running.
42
+ * - `protocolVersion`: Peer's protocol version.
43
+ * - `bestHash`: Hash of the best block on the peers canon chain.
44
+ * - `bestNumber`: Height of the best block on the peers canon chain.
45
+ *
46
+ * References:
47
+ * - `NodeRole`: https://github.com/paritytech/substrate/blob/master/client/rpc-api/src/system/helpers.rs#L80
48
+ */
49
+ class RcNodeNetworkController extends AbstractController_1.default {
50
+ constructor(_api) {
51
+ var _a;
52
+ const rcApiSpecName = (_a = apiRegistry_1.ApiPromiseRegistry.getSpecNameByType('relay')) === null || _a === void 0 ? void 0 : _a.values();
53
+ const rcSpecName = rcApiSpecName ? Array.from(rcApiSpecName)[0] : undefined;
54
+ if (!rcSpecName) {
55
+ throw new Error('Relay chain API spec name is not defined.');
56
+ }
57
+ super(rcSpecName, '/rc/node/network', new services_1.NodeNetworkService(rcSpecName));
58
+ /**
59
+ * GET information about the Substrate node's activity in the peer-to-peer network.
60
+ *
61
+ * @param _req Express Request
62
+ * @param res Express Response
63
+ */
64
+ this.getNodeNetworking = async (_req, res) => {
65
+ RcNodeNetworkController.sanitizedSend(res, await this.service.fetchNetwork());
66
+ };
67
+ this.initRoutes();
68
+ }
69
+ initRoutes() {
70
+ this.safeMountAsyncGetHandlers([['', this.getNodeNetworking]]);
71
+ }
72
+ }
73
+ RcNodeNetworkController.controllerName = 'RcNodeNetwork';
74
+ RcNodeNetworkController.requiredPallets = [];
75
+ exports.default = RcNodeNetworkController;
76
+ //# sourceMappingURL=RcNodeNetworkController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RcNodeNetworkController.js","sourceRoot":"","sources":["../../../../../src/controllers/rc/node/RcNodeNetworkController.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;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;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;QACK,sBAAiB,GAAmB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAiB,EAAE;YAC9E,uBAAuB,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC;QAfD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;;AAdM,sCAAc,GAAG,eAAe,AAAlB,CAAmB;AACjC,uCAAe,GAAG,EAAE,AAAL,CAAM;kBAFR,uBAAuB"}
@@ -0,0 +1,27 @@
1
+ import { NodeTransactionPoolService } from '../../../services';
2
+ import AbstractController from '../../AbstractController';
3
+ /**
4
+ * GET pending extrinsics from the Substrate node.
5
+ *
6
+ * Returns:
7
+ * - `pool`: array of
8
+ * - `hash`: H256 hash of the extrinsic.
9
+ * - `encodedExtrinsic`: Scale encoded extrinsic.
10
+ * - `tip`: Tip included into the extrinsic. Available when the `includeFee` query param is set to true.
11
+ * - `priority`: Priority of the transaction. Calculated by tip * (max_block_{weight|length} / bounded_{weight|length}).
12
+ * Available when the `includeFee` query param is set to true.
13
+ * - `partialFee`: PartialFee for a transaction. Available when the `includeFee` query param is set to true.
14
+ */
15
+ export default class RcNodeTransactionPoolController extends AbstractController<NodeTransactionPoolService> {
16
+ static controllerName: string;
17
+ static requiredPallets: never[];
18
+ constructor(_api: string);
19
+ protected initRoutes(): void;
20
+ /**
21
+ * GET pending extrinsics from the Substrate node.
22
+ *
23
+ * @param req Express Request, accepts the query param `includeFee`
24
+ * @param res Express Response
25
+ */
26
+ private getNodeTransactionPool;
27
+ }
@@ -0,0 +1,66 @@
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 middleware_1 = require("../../../middleware");
23
+ const services_1 = require("../../../services");
24
+ const AbstractController_1 = __importDefault(require("../../AbstractController"));
25
+ /**
26
+ * GET pending extrinsics from the Substrate node.
27
+ *
28
+ * Returns:
29
+ * - `pool`: array of
30
+ * - `hash`: H256 hash of the extrinsic.
31
+ * - `encodedExtrinsic`: Scale encoded extrinsic.
32
+ * - `tip`: Tip included into the extrinsic. Available when the `includeFee` query param is set to true.
33
+ * - `priority`: Priority of the transaction. Calculated by tip * (max_block_{weight|length} / bounded_{weight|length}).
34
+ * Available when the `includeFee` query param is set to true.
35
+ * - `partialFee`: PartialFee for a transaction. Available when the `includeFee` query param is set to true.
36
+ */
37
+ class RcNodeTransactionPoolController extends AbstractController_1.default {
38
+ constructor(_api) {
39
+ var _a;
40
+ const rcApiSpecName = (_a = apiRegistry_1.ApiPromiseRegistry.getSpecNameByType('relay')) === null || _a === void 0 ? void 0 : _a.values();
41
+ const rcSpecName = rcApiSpecName ? Array.from(rcApiSpecName)[0] : undefined;
42
+ if (!rcSpecName) {
43
+ throw new Error('Relay chain API spec name is not defined.');
44
+ }
45
+ super(rcSpecName, '/rc/node/transaction-pool', new services_1.NodeTransactionPoolService(rcSpecName));
46
+ /**
47
+ * GET pending extrinsics from the Substrate node.
48
+ *
49
+ * @param req Express Request, accepts the query param `includeFee`
50
+ * @param res Express Response
51
+ */
52
+ this.getNodeTransactionPool = async ({ query: { includeFee } }, res) => {
53
+ const shouldIncludeFee = includeFee === 'true';
54
+ RcNodeTransactionPoolController.sanitizedSend(res, await this.service.fetchTransactionPool(shouldIncludeFee));
55
+ };
56
+ this.initRoutes();
57
+ }
58
+ initRoutes() {
59
+ this.router.use(this.path, (0, middleware_1.validateBoolean)(['includeFee']));
60
+ this.safeMountAsyncGetHandlers([['', this.getNodeTransactionPool]]);
61
+ }
62
+ }
63
+ RcNodeTransactionPoolController.controllerName = 'RcNodeTransactionPool';
64
+ RcNodeTransactionPoolController.requiredPallets = [];
65
+ exports.default = RcNodeTransactionPoolController;
66
+ //# sourceMappingURL=RcNodeTransactionPoolController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RcNodeTransactionPoolController.js","sourceRoot":"","sources":["../../../../../src/controllers/rc/node/RcNodeTransactionPoolController.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,oDAAsD;AACtD,gDAA+D;AAC/D,kFAA0D;AAE1D;;;;;;;;;;;GAWG;AACH,MAAqB,+BAAgC,SAAQ,4BAA8C;IAG1G,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,2BAA2B,EAAE,IAAI,qCAA0B,CAAC,UAAU,CAAC,CAAC,CAAC;QAS5F;;;;;WAKG;QACK,2BAAsB,GAAmB,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAiB,EAAE;YACxG,MAAM,gBAAgB,GAAG,UAAU,KAAK,MAAM,CAAC;YAE/C,+BAA+B,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC/G,CAAC,CAAC;QAlBD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,4BAAe,EAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;;AAfM,8CAAc,GAAG,uBAAuB,AAA1B,CAA2B;AACzC,+CAAe,GAAG,EAAE,AAAL,CAAM;kBAFR,+BAA+B"}
@@ -0,0 +1,24 @@
1
+ import { RequestHandler } from 'express';
2
+ import { NodeVersionService } from '../../../services';
3
+ import AbstractController from '../../AbstractController';
4
+ /**
5
+ * GET information about the Substrates node's implementation and versioning.
6
+ *
7
+ * Returns:
8
+ * - `clientVersion`: Node binary version.
9
+ * - `clientImplName`: Node's implementation name.
10
+ * - `chain`: Node's chain name.
11
+ */
12
+ export default class RcNodeVersionController extends AbstractController<NodeVersionService> {
13
+ static controllerName: string;
14
+ static requiredPallets: never[];
15
+ constructor(_api: string);
16
+ protected initRoutes(): void;
17
+ /**
18
+ * GET information about the Substrates node's implementation and versioning.
19
+ *
20
+ * @param _req Express Request
21
+ * @param res Express Response
22
+ */
23
+ getNodeVersion: RequestHandler;
24
+ }
@@ -0,0 +1,59 @@
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 information about the Substrates node's implementation and versioning.
26
+ *
27
+ * Returns:
28
+ * - `clientVersion`: Node binary version.
29
+ * - `clientImplName`: Node's implementation name.
30
+ * - `chain`: Node's chain name.
31
+ */
32
+ class RcNodeVersionController extends AbstractController_1.default {
33
+ constructor(_api) {
34
+ var _a;
35
+ const rcApiSpecName = (_a = apiRegistry_1.ApiPromiseRegistry.getSpecNameByType('relay')) === null || _a === void 0 ? void 0 : _a.values();
36
+ const rcSpecName = rcApiSpecName ? Array.from(rcApiSpecName)[0] : undefined;
37
+ if (!rcSpecName) {
38
+ throw new Error('Relay chain API spec name is not defined.');
39
+ }
40
+ super(rcSpecName, '/rc/node/version', new services_1.NodeVersionService(rcSpecName));
41
+ /**
42
+ * GET information about the Substrates node's implementation and versioning.
43
+ *
44
+ * @param _req Express Request
45
+ * @param res Express Response
46
+ */
47
+ this.getNodeVersion = async (_req, res) => {
48
+ RcNodeVersionController.sanitizedSend(res, await this.service.fetchVersion());
49
+ };
50
+ this.initRoutes();
51
+ }
52
+ initRoutes() {
53
+ this.safeMountAsyncGetHandlers([['', this.getNodeVersion]]);
54
+ }
55
+ }
56
+ RcNodeVersionController.controllerName = 'RcNodeVersion';
57
+ RcNodeVersionController.requiredPallets = [];
58
+ exports.default = RcNodeVersionController;
59
+ //# sourceMappingURL=RcNodeVersionController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RcNodeVersionController.js","sourceRoot":"","sources":["../../../../../src/controllers/rc/node/RcNodeVersionController.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;;;;;;;GAOG;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;QACH,mBAAc,GAAmB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAiB,EAAE;YACnE,uBAAuB,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC;QAfD,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,3 @@
1
+ export { default as RcNodeNetwork } from './RcNodeNetworkController';
2
+ export { default as RcNodeTransactionPool } from './RcNodeTransactionPoolController';
3
+ export { default as RcNodeVersion } from './RcNodeVersionController';
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RcNodeVersion = exports.RcNodeTransactionPool = exports.RcNodeNetwork = void 0;
7
+ var RcNodeNetworkController_1 = require("./RcNodeNetworkController");
8
+ Object.defineProperty(exports, "RcNodeNetwork", { enumerable: true, get: function () { return __importDefault(RcNodeNetworkController_1).default; } });
9
+ var RcNodeTransactionPoolController_1 = require("./RcNodeTransactionPoolController");
10
+ Object.defineProperty(exports, "RcNodeTransactionPool", { enumerable: true, get: function () { return __importDefault(RcNodeTransactionPoolController_1).default; } });
11
+ var RcNodeVersionController_1 = require("./RcNodeVersionController");
12
+ Object.defineProperty(exports, "RcNodeVersion", { enumerable: true, get: function () { return __importDefault(RcNodeVersionController_1).default; } });
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/controllers/rc/node/index.ts"],"names":[],"mappings":";;;;;;AAAA,qEAAqE;AAA5D,yIAAA,OAAO,OAAiB;AACjC,qFAAqF;AAA5E,yJAAA,OAAO,OAAyB;AACzC,qEAAqE;AAA5D,yIAAA,OAAO,OAAiB"}
@@ -0,0 +1,10 @@
1
+ import { PalletsConstantsService } from '../../../services';
2
+ import AbstractController from '../../AbstractController';
3
+ export default class RcPalletsConstsController extends AbstractController<PalletsConstantsService> {
4
+ static controllerName: string;
5
+ static requiredPallets: never[];
6
+ constructor(_api: string);
7
+ protected initRoutes(): void;
8
+ private getConstById;
9
+ private getConsts;
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 RcPalletsConstsController 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/consts', new services_1.PalletsConstantsService(rcSpecName));
34
+ this.getConstById = async ({ query: { at, metadata }, params: { palletId, constantItemId } }, 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.fetchConstantItem(historicApi, {
44
+ hash,
45
+ palletId: (0, util_1.stringCamelCase)(palletId),
46
+ constantItemId: (0, util_1.stringCamelCase)(constantItemId),
47
+ metadata: metadataArg,
48
+ });
49
+ RcPalletsConstsController.sanitizedSend(res, result);
50
+ };
51
+ this.getConsts = 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.fetchConstants(historicApi, {
61
+ hash,
62
+ palletId: (0, util_1.stringCamelCase)(palletId),
63
+ onlyIds: onlyIdsArg,
64
+ });
65
+ RcPalletsConstsController.sanitizedSend(res, result);
66
+ };
67
+ this.initRoutes();
68
+ }
69
+ initRoutes() {
70
+ this.safeMountAsyncGetHandlers([
71
+ ['/:constantItemId', this.getConstById],
72
+ ['/', this.getConsts],
73
+ ]);
74
+ }
75
+ }
76
+ RcPalletsConstsController.controllerName = 'RcPalletsConsts';
77
+ RcPalletsConstsController.requiredPallets = [];
78
+ exports.default = RcPalletsConstsController;
79
+ //# sourceMappingURL=RcPalletsConstsController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RcPalletsConstsController.js","sourceRoot":"","sources":["../../../../../src/controllers/rc/pallets/RcPalletsConstsController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { PalletsDispatchablesService } from '../../../services';
2
+ import AbstractController from '../../AbstractController';
3
+ export default class RcPalletsDispatchablesController extends AbstractController<PalletsDispatchablesService> {
4
+ static controllerName: string;
5
+ static requiredPallets: never[];
6
+ constructor(_api: string);
7
+ protected initRoutes(): void;
8
+ private getDispatchableById;
9
+ private getDispatchables;
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 RcPalletsDispatchablesController 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/dispatchables', new services_1.PalletsDispatchablesService(rcSpecName));
34
+ this.getDispatchableById = async ({ query: { metadata, at }, params: { palletId, dispatchableItemId } }, 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.fetchDispatchableItem(historicApi, {
44
+ hash,
45
+ palletId: (0, util_1.stringCamelCase)(palletId),
46
+ dispatchableItemId: (0, util_1.stringCamelCase)(dispatchableItemId),
47
+ metadata: metadataArg,
48
+ });
49
+ RcPalletsDispatchablesController.sanitizedSend(res, result);
50
+ };
51
+ this.getDispatchables = async ({ params: { palletId }, query: { onlyIds, at } }, 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.fetchDispatchables(historicApi, {
61
+ hash,
62
+ palletId: (0, util_1.stringCamelCase)(palletId),
63
+ onlyIds: onlyIdsArg,
64
+ });
65
+ RcPalletsDispatchablesController.sanitizedSend(res, result);
66
+ };
67
+ this.initRoutes();
68
+ }
69
+ initRoutes() {
70
+ this.safeMountAsyncGetHandlers([
71
+ ['/:dispatchableItemId', this.getDispatchableById],
72
+ ['/', this.getDispatchables],
73
+ ]);
74
+ }
75
+ }
76
+ RcPalletsDispatchablesController.controllerName = 'RcPalletsDispatchables';
77
+ RcPalletsDispatchablesController.requiredPallets = [];
78
+ exports.default = RcPalletsDispatchablesController;
79
+ //# sourceMappingURL=RcPalletsDispatchablesController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RcPalletsDispatchablesController.js","sourceRoot":"","sources":["../../../../../src/controllers/rc/pallets/RcPalletsDispatchablesController.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;AAGjD,sDAA0D;AAC1D,gDAAgE;AAEhE,kFAA0D;AAE1D,MAAqB,gCAAiC,SAAQ,4BAA+C;IAG5G,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,qCAAqC,EAAE,IAAI,sCAA2B,CAAC,UAAU,CAAC,CAAC,CAAC;QAW/F,wBAAmB,GAAiE,KAAK,EAChG,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,EACrE,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,qBAAqB,CAAC,WAAW,EAAE;gBACpE,IAAI;gBACJ,QAAQ,EAAE,IAAA,sBAAe,EAAC,QAAQ,CAAC;gBACnC,kBAAkB,EAAE,IAAA,sBAAe,EAAC,kBAAkB,CAAC;gBACvD,QAAQ,EAAE,WAAW;aACrB,CAAC,CAAC;YACH,gCAAgC,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7D,CAAC,CAAC;QAEM,qBAAgB,GAAmB,KAAK,EAC/C,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAChD,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,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,kBAAkB,CAAC,WAAW,EAAE;gBACjE,IAAI;gBACJ,QAAQ,EAAE,IAAA,sBAAe,EAAC,QAAQ,CAAC;gBACnC,OAAO,EAAE,UAAU;aACnB,CAAC,CAAC;YACH,gCAAgC,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7D,CAAC,CAAC;QArDD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,yBAAyB,CAAC;YAC9B,CAAC,sBAAsB,EAAE,IAAI,CAAC,mBAAqC,CAAC;YACpE,CAAC,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC;SAC5B,CAAC,CAAC;IACJ,CAAC;;AAjBM,+CAAc,GAAG,wBAAwB,AAA3B,CAA4B;AAC1C,gDAAe,GAAG,EAAE,AAAL,CAAM;kBAFR,gCAAgC"}
@@ -0,0 +1,10 @@
1
+ import { PalletsErrorsService } from '../../../services';
2
+ import AbstractController from '../../AbstractController';
3
+ export default class RcPalletsErrorsController extends AbstractController<PalletsErrorsService> {
4
+ static controllerName: string;
5
+ static requiredPallets: never[];
6
+ constructor(_api: string);
7
+ protected initRoutes(): void;
8
+ private getErrorById;
9
+ private getErrors;
10
+ }