@substrate/api-sidecar 20.2.1 → 20.3.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 (260) hide show
  1. package/README.md +9 -0
  2. package/build/package.json +26 -14
  3. package/build/src/SidecarConfig.js +1 -0
  4. package/build/src/SidecarConfig.js.map +1 -1
  5. package/build/src/Specs.js +10 -0
  6. package/build/src/Specs.js.map +1 -1
  7. package/build/src/apiRegistry/index.d.ts +28 -0
  8. package/build/src/apiRegistry/index.js +133 -0
  9. package/build/src/apiRegistry/index.js.map +1 -0
  10. package/build/src/chains-config/assetHubWestendControllers.js +8 -1
  11. package/build/src/chains-config/assetHubWestendControllers.js.map +1 -1
  12. package/build/src/chains-config/index.d.ts +5 -5
  13. package/build/src/chains-config/index.js +18 -13
  14. package/build/src/chains-config/index.js.map +1 -1
  15. package/build/src/chains-config/polymeshControllers.js +10 -1
  16. package/build/src/chains-config/polymeshControllers.js.map +1 -1
  17. package/build/src/controllers/AbstractController.d.ts +6 -2
  18. package/build/src/controllers/AbstractController.js +16 -2
  19. package/build/src/controllers/AbstractController.js.map +1 -1
  20. package/build/src/controllers/AbstractControllers.spec.js +16 -5
  21. package/build/src/controllers/AbstractControllers.spec.js.map +1 -1
  22. package/build/src/controllers/accounts/AccountsAssetsController.d.ts +1 -2
  23. package/build/src/controllers/accounts/AccountsAssetsController.js.map +1 -1
  24. package/build/src/controllers/accounts/AccountsBalanceInfoController.d.ts +1 -2
  25. package/build/src/controllers/accounts/AccountsBalanceInfoController.js.map +1 -1
  26. package/build/src/controllers/accounts/AccountsCompareController.d.ts +1 -2
  27. package/build/src/controllers/accounts/AccountsCompareController.js.map +1 -1
  28. package/build/src/controllers/accounts/AccountsConvertController.d.ts +1 -2
  29. package/build/src/controllers/accounts/AccountsConvertController.js.map +1 -1
  30. package/build/src/controllers/accounts/AccountsPoolAssetsController.d.ts +1 -2
  31. package/build/src/controllers/accounts/AccountsPoolAssetsController.js.map +1 -1
  32. package/build/src/controllers/accounts/AccountsProxyInfoController.d.ts +1 -2
  33. package/build/src/controllers/accounts/AccountsProxyInfoController.js.map +1 -1
  34. package/build/src/controllers/accounts/AccountsStakingInfoController.d.ts +3 -2
  35. package/build/src/controllers/accounts/AccountsStakingInfoController.js +10 -2
  36. package/build/src/controllers/accounts/AccountsStakingInfoController.js.map +1 -1
  37. package/build/src/controllers/accounts/AccountsStakingPayoutsController.d.ts +4 -2
  38. package/build/src/controllers/accounts/AccountsStakingPayoutsController.js +55 -67
  39. package/build/src/controllers/accounts/AccountsStakingPayoutsController.js.map +1 -1
  40. package/build/src/controllers/accounts/AccountsValidateController.d.ts +1 -2
  41. package/build/src/controllers/accounts/AccountsValidateController.js.map +1 -1
  42. package/build/src/controllers/accounts/AccountsVestingInfoController.d.ts +1 -2
  43. package/build/src/controllers/accounts/AccountsVestingInfoController.js +6 -1
  44. package/build/src/controllers/accounts/AccountsVestingInfoController.js.map +1 -1
  45. package/build/src/controllers/blocks/BlocksController.d.ts +1 -2
  46. package/build/src/controllers/blocks/BlocksController.js.map +1 -1
  47. package/build/src/controllers/blocks/BlocksExtrinsicsController.d.ts +1 -2
  48. package/build/src/controllers/blocks/BlocksExtrinsicsController.js.map +1 -1
  49. package/build/src/controllers/blocks/BlocksRawExtrinsicsController.d.ts +1 -2
  50. package/build/src/controllers/blocks/BlocksRawExtrinsicsController.js.map +1 -1
  51. package/build/src/controllers/blocks/BlocksTraceController.d.ts +1 -2
  52. package/build/src/controllers/blocks/BlocksTraceController.js.map +1 -1
  53. package/build/src/controllers/contracts/ContractsInkController.d.ts +1 -2
  54. package/build/src/controllers/contracts/ContractsInkController.js +1 -2
  55. package/build/src/controllers/contracts/ContractsInkController.js.map +1 -1
  56. package/build/src/controllers/controllerInjection.spec.js +10 -9
  57. package/build/src/controllers/controllerInjection.spec.js.map +1 -1
  58. package/build/src/controllers/coretime/CoretimeChainController.d.ts +1 -2
  59. package/build/src/controllers/coretime/CoretimeChainController.js.map +1 -1
  60. package/build/src/controllers/coretime/CoretimeGenericController.d.ts +1 -2
  61. package/build/src/controllers/coretime/CoretimeGenericController.js.map +1 -1
  62. package/build/src/controllers/node/NodeNetworkController.d.ts +1 -2
  63. package/build/src/controllers/node/NodeNetworkController.js.map +1 -1
  64. package/build/src/controllers/node/NodeTransactionPoolController.d.ts +1 -2
  65. package/build/src/controllers/node/NodeTransactionPoolController.js.map +1 -1
  66. package/build/src/controllers/node/NodeVersionController.d.ts +1 -2
  67. package/build/src/controllers/node/NodeVersionController.js.map +1 -1
  68. package/build/src/controllers/pallets/PalletsAssetConversionController.d.ts +1 -2
  69. package/build/src/controllers/pallets/PalletsAssetConversionController.js.map +1 -1
  70. package/build/src/controllers/pallets/PalletsAssetsController.d.ts +1 -2
  71. package/build/src/controllers/pallets/PalletsAssetsController.js.map +1 -1
  72. package/build/src/controllers/pallets/PalletsConstsController.d.ts +1 -2
  73. package/build/src/controllers/pallets/PalletsConstsController.js.map +1 -1
  74. package/build/src/controllers/pallets/PalletsDispatchablesController.d.ts +1 -2
  75. package/build/src/controllers/pallets/PalletsDispatchablesController.js.map +1 -1
  76. package/build/src/controllers/pallets/PalletsErrorsController.d.ts +1 -2
  77. package/build/src/controllers/pallets/PalletsErrorsController.js.map +1 -1
  78. package/build/src/controllers/pallets/PalletsEventsController.d.ts +1 -2
  79. package/build/src/controllers/pallets/PalletsEventsController.js.map +1 -1
  80. package/build/src/controllers/pallets/PalletsForeignAssetsController.d.ts +1 -2
  81. package/build/src/controllers/pallets/PalletsForeignAssetsController.js.map +1 -1
  82. package/build/src/controllers/pallets/PalletsNominationPoolsController.d.ts +1 -2
  83. package/build/src/controllers/pallets/PalletsNominationPoolsController.js.map +1 -1
  84. package/build/src/controllers/pallets/PalletsOnGoingReferendaController.d.ts +1 -2
  85. package/build/src/controllers/pallets/PalletsOnGoingReferendaController.js.map +1 -1
  86. package/build/src/controllers/pallets/PalletsPoolAssetsController.d.ts +1 -2
  87. package/build/src/controllers/pallets/PalletsPoolAssetsController.js.map +1 -1
  88. package/build/src/controllers/pallets/PalletsStakingProgressController.d.ts +2 -3
  89. package/build/src/controllers/pallets/PalletsStakingProgressController.js +6 -1
  90. package/build/src/controllers/pallets/PalletsStakingProgressController.js.map +1 -1
  91. package/build/src/controllers/pallets/PalletsStakingValidatorsController.d.ts +1 -2
  92. package/build/src/controllers/pallets/PalletsStakingValidatorsController.js.map +1 -1
  93. package/build/src/controllers/pallets/PalletsStorageController.d.ts +1 -2
  94. package/build/src/controllers/pallets/PalletsStorageController.js.map +1 -1
  95. package/build/src/controllers/paras/ParasController.d.ts +1 -2
  96. package/build/src/controllers/paras/ParasController.js.map +1 -1
  97. package/build/src/controllers/runtime/RuntimeCodeController.d.ts +1 -2
  98. package/build/src/controllers/runtime/RuntimeCodeController.js.map +1 -1
  99. package/build/src/controllers/runtime/RuntimeMetadataController.d.ts +1 -2
  100. package/build/src/controllers/runtime/RuntimeMetadataController.js +2 -2
  101. package/build/src/controllers/runtime/RuntimeMetadataController.js.map +1 -1
  102. package/build/src/controllers/runtime/RuntimeSpecController.d.ts +1 -2
  103. package/build/src/controllers/runtime/RuntimeSpecController.js.map +1 -1
  104. package/build/src/controllers/transaction/TransactionDryRunController.d.ts +1 -2
  105. package/build/src/controllers/transaction/TransactionDryRunController.js +3 -3
  106. package/build/src/controllers/transaction/TransactionDryRunController.js.map +1 -1
  107. package/build/src/controllers/transaction/TransactionFeeEstimateController.d.ts +1 -2
  108. package/build/src/controllers/transaction/TransactionFeeEstimateController.js.map +1 -1
  109. package/build/src/controllers/transaction/TransactionMaterialController.d.ts +1 -2
  110. package/build/src/controllers/transaction/TransactionMaterialController.js.map +1 -1
  111. package/build/src/controllers/transaction/TransactionSubmitController.d.ts +1 -2
  112. package/build/src/controllers/transaction/TransactionSubmitController.js.map +1 -1
  113. package/build/src/main.js +62 -23
  114. package/build/src/main.js.map +1 -1
  115. package/build/src/services/AHM.spec.d.ts +0 -0
  116. package/build/src/services/AHM.spec.js +5 -0
  117. package/build/src/services/AHM.spec.js.map +1 -0
  118. package/build/src/services/AbstractPalletsService.d.ts +2 -2
  119. package/build/src/services/AbstractPalletsService.js.map +1 -1
  120. package/build/src/services/AbstractService.d.ts +6 -2
  121. package/build/src/services/AbstractService.js +16 -2
  122. package/build/src/services/AbstractService.js.map +1 -1
  123. package/build/src/services/AbstractService.spec.js +7 -1
  124. package/build/src/services/AbstractService.spec.js.map +1 -1
  125. package/build/src/services/accounts/AccountsAssetsService.spec.js +7 -1
  126. package/build/src/services/accounts/AccountsAssetsService.spec.js.map +1 -1
  127. package/build/src/services/accounts/AccountsBalanceInfoService.spec.js +19 -4
  128. package/build/src/services/accounts/AccountsBalanceInfoService.spec.js.map +1 -1
  129. package/build/src/services/accounts/AccountsCompareService.js +1 -1
  130. package/build/src/services/accounts/AccountsCompareService.js.map +1 -1
  131. package/build/src/services/accounts/AccountsCompareService.spec.js +7 -1
  132. package/build/src/services/accounts/AccountsCompareService.spec.js.map +1 -1
  133. package/build/src/services/accounts/AccountsConvertService.spec.js +5 -1
  134. package/build/src/services/accounts/AccountsConvertService.spec.js.map +1 -1
  135. package/build/src/services/accounts/AccountsPoolAssetsService.spec.js +5 -1
  136. package/build/src/services/accounts/AccountsPoolAssetsService.spec.js.map +1 -1
  137. package/build/src/services/accounts/AccountsProxyInfoService.spec.js +7 -1
  138. package/build/src/services/accounts/AccountsProxyInfoService.spec.js.map +1 -1
  139. package/build/src/services/accounts/AccountsStakingInfoService.d.ts +45 -2
  140. package/build/src/services/accounts/AccountsStakingInfoService.js +138 -3
  141. package/build/src/services/accounts/AccountsStakingInfoService.js.map +1 -1
  142. package/build/src/services/accounts/AccountsStakingInfoService.spec.js +339 -5
  143. package/build/src/services/accounts/AccountsStakingInfoService.spec.js.map +1 -1
  144. package/build/src/services/accounts/AccountsStakingPayoutsService.js +7 -4
  145. package/build/src/services/accounts/AccountsStakingPayoutsService.js.map +1 -1
  146. package/build/src/services/accounts/AccountsStakingPayoutsService.spec.js +339 -23
  147. package/build/src/services/accounts/AccountsStakingPayoutsService.spec.js.map +1 -1
  148. package/build/src/services/accounts/AccountsValidateService.spec.js +7 -1
  149. package/build/src/services/accounts/AccountsValidateService.spec.js.map +1 -1
  150. package/build/src/services/accounts/AccountsVestingInfoService.spec.js +7 -1
  151. package/build/src/services/accounts/AccountsVestingInfoService.spec.js.map +1 -1
  152. package/build/src/services/blocks/BlocksService.d.ts +1 -2
  153. package/build/src/services/blocks/BlocksService.js +1 -2
  154. package/build/src/services/blocks/BlocksService.js.map +1 -1
  155. package/build/src/services/blocks/BlocksService.spec.js +19 -6
  156. package/build/src/services/blocks/BlocksService.spec.js.map +1 -1
  157. package/build/src/services/blocks/BlocksTraceService.js +7 -5
  158. package/build/src/services/blocks/BlocksTraceService.js.map +1 -1
  159. package/build/src/services/blocks/BlocksTraceService.spec.js +3 -1
  160. package/build/src/services/blocks/BlocksTraceService.spec.js.map +1 -1
  161. package/build/src/services/contracts/ContractsInkService.spec.js +5 -1
  162. package/build/src/services/contracts/ContractsInkService.spec.js.map +1 -1
  163. package/build/src/services/coretime/CoretimeService.js.map +1 -1
  164. package/build/src/services/coretime/CoretimeService.spec.js +39 -2
  165. package/build/src/services/coretime/CoretimeService.spec.js.map +1 -1
  166. package/build/src/services/node/NodeNetworkService.js +6 -5
  167. package/build/src/services/node/NodeNetworkService.js.map +1 -1
  168. package/build/src/services/node/NodeNetworkService.spec.js +5 -1
  169. package/build/src/services/node/NodeNetworkService.spec.js.map +1 -1
  170. package/build/src/services/node/NodeTransactionPoolService.spec.js +5 -1
  171. package/build/src/services/node/NodeTransactionPoolService.spec.js.map +1 -1
  172. package/build/src/services/node/NodeVersionService.js +4 -3
  173. package/build/src/services/node/NodeVersionService.js.map +1 -1
  174. package/build/src/services/node/NodeVersionService.spec.js +3 -1
  175. package/build/src/services/node/NodeVersionService.spec.js.map +1 -1
  176. package/build/src/services/pallets/PalletsAssetConversionService.d.ts +1 -2
  177. package/build/src/services/pallets/PalletsAssetConversionService.js.map +1 -1
  178. package/build/src/services/pallets/PalletsAssetConversionService.spec.js +7 -1
  179. package/build/src/services/pallets/PalletsAssetConversionService.spec.js.map +1 -1
  180. package/build/src/services/pallets/PalletsAssetsService.d.ts +1 -2
  181. package/build/src/services/pallets/PalletsAssetsService.js.map +1 -1
  182. package/build/src/services/pallets/PalletsAssetsService.spec.js +5 -1
  183. package/build/src/services/pallets/PalletsAssetsService.spec.js.map +1 -1
  184. package/build/src/services/pallets/PalletsConstantsService.js +4 -2
  185. package/build/src/services/pallets/PalletsConstantsService.js.map +1 -1
  186. package/build/src/services/pallets/PalletsConstantsService.spec.js +5 -1
  187. package/build/src/services/pallets/PalletsConstantsService.spec.js.map +1 -1
  188. package/build/src/services/pallets/PalletsDispatchablesService.js +5 -3
  189. package/build/src/services/pallets/PalletsDispatchablesService.js.map +1 -1
  190. package/build/src/services/pallets/PalletsDispatchablesService.spec.js +5 -1
  191. package/build/src/services/pallets/PalletsDispatchablesService.spec.js.map +1 -1
  192. package/build/src/services/pallets/PalletsErrorsService.js +4 -2
  193. package/build/src/services/pallets/PalletsErrorsService.js.map +1 -1
  194. package/build/src/services/pallets/PalletsErrorsService.spec.js +5 -1
  195. package/build/src/services/pallets/PalletsErrorsService.spec.js.map +1 -1
  196. package/build/src/services/pallets/PalletsEventsService.js +4 -2
  197. package/build/src/services/pallets/PalletsEventsService.js.map +1 -1
  198. package/build/src/services/pallets/PalletsEventsService.spec.js +5 -1
  199. package/build/src/services/pallets/PalletsEventsService.spec.js.map +1 -1
  200. package/build/src/services/pallets/PalletsForeignAssetsService.d.ts +1 -2
  201. package/build/src/services/pallets/PalletsForeignAssetsService.js.map +1 -1
  202. package/build/src/services/pallets/PalletsForeignAssetsService.spec.js +5 -2
  203. package/build/src/services/pallets/PalletsForeignAssetsService.spec.js.map +1 -1
  204. package/build/src/services/pallets/PalletsNominationPoolsService.d.ts +1 -2
  205. package/build/src/services/pallets/PalletsNominationPoolsService.js.map +1 -1
  206. package/build/src/services/pallets/PalletsNominationPoolsService.spec.js +5 -1
  207. package/build/src/services/pallets/PalletsNominationPoolsService.spec.js.map +1 -1
  208. package/build/src/services/pallets/PalletsOnGoingReferendaService.spec.js +5 -2
  209. package/build/src/services/pallets/PalletsOnGoingReferendaService.spec.js.map +1 -1
  210. package/build/src/services/pallets/PalletsPoolAssetsService.d.ts +1 -2
  211. package/build/src/services/pallets/PalletsPoolAssetsService.js.map +1 -1
  212. package/build/src/services/pallets/PalletsPoolAssetsService.spec.js +5 -1
  213. package/build/src/services/pallets/PalletsPoolAssetsService.spec.js.map +1 -1
  214. package/build/src/services/pallets/PalletsStakingProgressService.js +51 -15
  215. package/build/src/services/pallets/PalletsStakingProgressService.js.map +1 -1
  216. package/build/src/services/pallets/PalletsStakingProgressService.spec.js +315 -10
  217. package/build/src/services/pallets/PalletsStakingProgressService.spec.js.map +1 -1
  218. package/build/src/services/pallets/PalletsStakingValidatorsService.d.ts +7 -0
  219. package/build/src/services/pallets/PalletsStakingValidatorsService.js +35 -6
  220. package/build/src/services/pallets/PalletsStakingValidatorsService.js.map +1 -1
  221. package/build/src/services/pallets/PalletsStakingValidatorsService.spec.js +96 -2
  222. package/build/src/services/pallets/PalletsStakingValidatorsService.spec.js.map +1 -1
  223. package/build/src/services/pallets/PalletsStorageService.js +4 -2
  224. package/build/src/services/pallets/PalletsStorageService.js.map +1 -1
  225. package/build/src/services/pallets/PalletsStorageService.spec.js +5 -1
  226. package/build/src/services/pallets/PalletsStorageService.spec.js.map +1 -1
  227. package/build/src/services/paras/ParasService.js +5 -5
  228. package/build/src/services/paras/ParasService.js.map +1 -1
  229. package/build/src/services/paras/ParasService.spec.js +7 -1
  230. package/build/src/services/paras/ParasService.spec.js.map +1 -1
  231. package/build/src/services/runtime/RuntimeCodeService.spec.js +5 -1
  232. package/build/src/services/runtime/RuntimeCodeService.spec.js.map +1 -1
  233. package/build/src/services/runtime/RuntimeMetadataService.js.map +1 -1
  234. package/build/src/services/runtime/RuntimeMetadataService.spec.js +5 -3
  235. package/build/src/services/runtime/RuntimeMetadataService.spec.js.map +1 -1
  236. package/build/src/services/runtime/RuntimeSpecService.js +5 -4
  237. package/build/src/services/runtime/RuntimeSpecService.js.map +1 -1
  238. package/build/src/services/runtime/RuntimeSpecService.spec.js +5 -1
  239. package/build/src/services/runtime/RuntimeSpecService.spec.js.map +1 -1
  240. package/build/src/services/transaction/TransactionDryRunService.d.ts +1 -1
  241. package/build/src/services/transaction/TransactionDryRunService.js +30 -2
  242. package/build/src/services/transaction/TransactionDryRunService.js.map +1 -1
  243. package/build/src/services/transaction/TransactionDryRunService.spec.js +47 -10
  244. package/build/src/services/transaction/TransactionDryRunService.spec.js.map +1 -1
  245. package/build/src/services/transaction/TransactionFeeEstimateService.spec.js +7 -2
  246. package/build/src/services/transaction/TransactionFeeEstimateService.spec.js.map +1 -1
  247. package/build/src/services/transaction/TransactionMaterialService.spec.js +9 -3
  248. package/build/src/services/transaction/TransactionMaterialService.spec.js.map +1 -1
  249. package/build/src/services/transaction/TransactionSubmitService.spec.js +7 -1
  250. package/build/src/services/transaction/TransactionSubmitService.spec.js.map +1 -1
  251. package/build/src/types/requests.d.ts +1 -0
  252. package/build/src/types/responses/PalletConstantsItem.d.ts +2 -2
  253. package/build/src/types/sidecar-config/CONFIG.d.ts +1 -0
  254. package/build/src/types/sidecar-config/CONFIG.js +1 -0
  255. package/build/src/types/sidecar-config/CONFIG.js.map +1 -1
  256. package/build/src/types/sidecar-config/SidecarConfig.d.ts +4 -0
  257. package/build/src/util/MultiKeyBiMap.d.ts +8 -0
  258. package/build/src/util/MultiKeyBiMap.js +42 -0
  259. package/build/src/util/MultiKeyBiMap.js.map +1 -0
  260. package/package.json +26 -14
package/README.md CHANGED
@@ -21,6 +21,10 @@
21
21
 
22
22
  <br /><br />
23
23
 
24
+ ## NOTICE
25
+
26
+ For the Asset hub migration please refer to the guide in [guides/ASSET_HUB_MIGRATION.md](guides/ASSET_HUB_MIGRATION.md)
27
+
24
28
  ## Prerequisites
25
29
 
26
30
  ### <= v15.0.0
@@ -171,6 +175,11 @@ For more information on our configuration manager visit its readme [here](https:
171
175
 
172
176
  - `SAS_SUBSTRATE_URL`: URL to which the RPC proxy will attempt to connect to, defaults to
173
177
  `ws://127.0.0.1:9944`. Accepts both a websocket, and http URL.
178
+ - `SAS_SUBSTRATE_MULTI_CHAIN_URL`: JSON array of chain configurations, each containing a `url` and `type` property. The `type` can be 'relay', 'assethub', 'parachain', or undefined. Currently used for Asset Hub migration to query staking information and additional session/babe information from the relay chain. In future releases, this will also be used to improve performance by allowing Sidecar to retrieve information from multiple nodes. This environment variable should be used in combination with the `SAS_SUBSTRATE_URL` variable. Example:
179
+ ```bash
180
+ SAS_SUBSTRATE_URL=wss://westend-asset-hub-rpc.polkadot.io
181
+ SAS_SUBSTRATE_MULTI_CHAIN_URL='[{"url":"wss://westend-rpc.polkadot.io","type":"relay"}]'
182
+ ```
174
183
 
175
184
  ### Metrics Server
176
185
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "20.2.1",
2
+ "version": "20.3.0",
3
3
  "name": "@substrate/api-sidecar",
4
4
  "description": "REST service that makes it easy to interact with blockchain nodes built using Substrate's FRAME framework.",
5
5
  "homepage": "https://github.com/paritytech/substrate-api-sidecar#readme",
@@ -50,34 +50,36 @@
50
50
  "test:test-release": "yarn build:scripts && node scripts/build/runYarnPack.js"
51
51
  },
52
52
  "dependencies": {
53
- "@polkadot/api": "^15.8.1",
54
- "@polkadot/api-augment": "^15.8.1",
55
- "@polkadot/api-contract": "^15.8.1",
56
- "@polkadot/types": "^15.8.1",
57
- "@polkadot/types-codec": "^15.8.1",
58
- "@polkadot/util": "^13.4.3",
59
- "@polkadot/util-crypto": "^13.4.3",
60
- "@substrate/calc": "^0.3.1",
53
+ "@polkadot/api": "^16.1.2",
54
+ "@polkadot/api-augment": "^16.1.2",
55
+ "@polkadot/api-contract": "^16.1.2",
56
+ "@polkadot/types": "^16.1.2",
57
+ "@polkadot/types-codec": "^16.1.2",
58
+ "@polkadot/util": "^13.5.1",
59
+ "@polkadot/util-crypto": "^13.5.1",
60
+ "@substrate/calc": "^0.3.2",
61
61
  "argparse": "^2.0.1",
62
62
  "confmgr": "^1.1.0",
63
- "express": "^5.0.1",
63
+ "express": "^5.1.0",
64
64
  "express-winston": "^4.2.0",
65
65
  "http-errors": "^2.0.0",
66
- "lru-cache": "^11.0.2",
66
+ "lru-cache": "^11.1.0",
67
67
  "prom-client": "^15.1.3",
68
68
  "rxjs": "^7.8.2",
69
69
  "winston": "^3.17.0",
70
70
  "winston-loki": "^6.1.3"
71
71
  },
72
72
  "devDependencies": {
73
+ "@acala-network/chopsticks-testing": "^1.0.5",
73
74
  "@substrate/dev": "^0.9.0",
74
75
  "@types/argparse": "2.0.17",
75
- "@types/express": "^5.0.0",
76
+ "@types/express": "^5.0.2",
76
77
  "@types/express-serve-static-core": "^5.0.6",
77
78
  "@types/http-errors": "2.0.4",
78
79
  "@types/lru-cache": "^7.10.10",
79
- "@types/morgan": "1.9.9",
80
+ "@types/morgan": "1.9.10",
80
81
  "@types/triple-beam": "^1.3.5",
82
+ "reflect-metadata": "^0.2.2",
81
83
  "ts-node-dev": "^2.0.0"
82
84
  },
83
85
  "keywords": [
@@ -87,5 +89,15 @@
87
89
  "polkadot",
88
90
  "kusama"
89
91
  ],
90
- "packageManager": "yarn@4.6.0"
92
+ "packageManager": "yarn@4.6.0",
93
+ "resolutions": {
94
+ "@polkadot/api": "16.1.2",
95
+ "@polkadot/api-augment": "16.1.2",
96
+ "@polkadot/api-contract": "16.1.2",
97
+ "@polkadot/types": "16.1.2",
98
+ "@polkadot/types-codec": "16.1.2",
99
+ "@polkadot/rpc-provider": "16.1.2",
100
+ "@polkadot/util": "^13.5.1",
101
+ "@polkadot/util-crypto": "^13.5.1"
102
+ }
91
103
  }
@@ -56,6 +56,7 @@ class SidecarConfig {
56
56
  },
57
57
  SUBSTRATE: {
58
58
  URL: config.Get(sidecar_config_1.MODULES.SUBSTRATE, sidecar_config_1.CONFIG.URL),
59
+ MULTI_CHAIN_URL: config.Get(sidecar_config_1.MODULES.SUBSTRATE, sidecar_config_1.CONFIG.MULTI_CHAIN_URL),
59
60
  TYPES_BUNDLE: config.Get(sidecar_config_1.MODULES.SUBSTRATE, sidecar_config_1.CONFIG.TYPES_BUNDLE),
60
61
  TYPES_CHAIN: config.Get(sidecar_config_1.MODULES.SUBSTRATE, sidecar_config_1.CONFIG.TYPES_CHAIN),
61
62
  TYPES_SPEC: config.Get(sidecar_config_1.MODULES.SUBSTRATE, sidecar_config_1.CONFIG.TYPES_SPEC),
@@ -1 +1 @@
1
- {"version":3,"file":"SidecarConfig.js","sourceRoot":"","sources":["../../src/SidecarConfig.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,qCAAwC;AAExC,mCAAgC;AAChC,2DAAyE;AAEzE,SAAS,EAAE;IACV,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAa,aAAa;IAEzB;;OAEG;IACK,MAAM,CAAC,MAAM;QACpB,+DAA+D;QAC/D,MAAM,MAAM,GAAG,uBAAa,CAAC,WAAW,CAAC,aAAK,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;QAElE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;YACvF,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,OAAO,GAAG;YACd,OAAO,EAAE;gBACR,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,OAAO,EAAE,uBAAM,CAAC,SAAS,CAAW;gBAC7D,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,OAAO,EAAE,uBAAM,CAAC,IAAI,CAAW;gBACxD,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,OAAO,EAAE,uBAAM,CAAC,kBAAkB,CAAW;gBACpF,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,OAAO,EAAE,uBAAM,CAAC,QAAQ,CAAW;gBAChE,oBAAoB,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,OAAO,EAAE,uBAAM,CAAC,oBAAoB,CAAY;aACzF;YACD,SAAS,EAAE;gBACV,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,SAAS,EAAE,uBAAM,CAAC,GAAG,CAAW;gBACxD,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,SAAS,EAAE,uBAAM,CAAC,YAAY,CAAW;gBAC1E,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,SAAS,EAAE,uBAAM,CAAC,WAAW,CAAW;gBACxE,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,SAAS,EAAE,uBAAM,CAAC,UAAU,CAAW;gBACtE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,SAAS,EAAE,uBAAM,CAAC,KAAK,CAAW;gBAC5D,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,SAAS,EAAE,uBAAM,CAAC,cAAc,CAAW;aAC9E;YACD,GAAG,EAAE;gBACJ,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,GAAG,EAAE,uBAAM,CAAC,KAAK,CAAW;gBACtD,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,GAAG,EAAE,uBAAM,CAAC,IAAI,CAAY;gBACrD,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,GAAG,EAAE,uBAAM,CAAC,UAAU,CAAY;gBACjE,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,GAAG,EAAE,uBAAM,CAAC,UAAU,CAAY;gBACjE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,GAAG,EAAE,uBAAM,CAAC,KAAK,CAAY;gBACvD,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,GAAG,EAAE,uBAAM,CAAC,UAAU,CAAW;gBAChE,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,GAAG,EAAE,uBAAM,CAAC,mBAAmB,CAAW;gBAClF,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,GAAG,EAAE,uBAAM,CAAC,eAAe,CAAW;aAC1E;YACD,OAAO,EAAE;gBACR,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,OAAO,EAAE,uBAAM,CAAC,OAAO,CAAY;gBAC/D,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,OAAO,EAAE,uBAAM,CAAC,SAAS,CAAW;gBAClE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,OAAO,EAAE,uBAAM,CAAC,SAAS,CAAW;gBAClE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,OAAO,EAAE,uBAAM,CAAC,SAAS,CAAW;gBAClE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,OAAO,EAAE,uBAAM,CAAC,SAAS,CAAW;gBAClE,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAO,CAAC,OAAO,EAAE,uBAAM,CAAC,mBAAmB,CAAY;aACvF;SACD,CAAC;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,KAAK,MAAM;QAChB,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IACtC,CAAC;CACD;AApED,sCAoEC"}
1
+ {"version":3,"file":"SidecarConfig.js","sourceRoot":"","sources":["../../src/SidecarConfig.ts"],"names":[],"mappings":"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"}
@@ -85,6 +85,10 @@ class Specs {
85
85
  mandatory: true,
86
86
  regexp: /^(ws|wss|http|https)?:\/\/.*/,
87
87
  }));
88
+ this._specs.appendSpec(sidecar_config_1.MODULES.SUBSTRATE, this._specs.getSpec(sidecar_config_1.CONFIG.MULTI_CHAIN_URL, 'Websocket or HTTP URL', {
89
+ mandatory: false,
90
+ regexp: /^(ws|wss|http|https)?:\/\/.*/,
91
+ }));
88
92
  // TYPES_BUNDLE
89
93
  this._specs.appendSpec(sidecar_config_1.MODULES.SUBSTRATE, this._specs.getSpec(sidecar_config_1.CONFIG.TYPES_BUNDLE, 'absolute path to file with `typesBundle` type definitions for @polkadot/api', {
90
94
  default: '',
@@ -110,6 +114,12 @@ class Specs {
110
114
  default: 0,
111
115
  mandatory: false,
112
116
  }));
117
+ // MULTI_CHAIN_URL
118
+ this._specs.appendSpec(sidecar_config_1.MODULES.SUBSTRATE, this._specs.getSpec(sidecar_config_1.CONFIG.MULTI_CHAIN_URL, 'Multichain URL Websocket or HTTP URL', {
119
+ mandatory: false,
120
+ default: [],
121
+ type: 'array',
122
+ }));
113
123
  }
114
124
  /**
115
125
  * LOG module of the enviroment variable configuration specification.
@@ -1 +1 @@
1
- {"version":3,"file":"Specs.js","sourceRoot":"","sources":["../../src/Specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Specs.js","sourceRoot":"","sources":["../../src/Specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { ApiPromise } from '@polkadot/api';
2
+ export interface AssetHubInfo {
3
+ isAssetHub: boolean;
4
+ isAssetHubMigrated: boolean;
5
+ }
6
+ export declare class ApiPromiseRegistry {
7
+ private static _instancesBySpecName;
8
+ private static specNameToTypeMap;
9
+ private static _instancesByUrl;
10
+ static assetHubInfo: AssetHubInfo;
11
+ static setAssetHubInfo(info: AssetHubInfo): void;
12
+ /**
13
+ * Get the ApiPromise instance for the given spec name.
14
+ * @param specName The spec name to get the ApiPromise instance for.
15
+ * @returns The ApiPromise instance for the given spec name.
16
+ */
17
+ static initApi(url: string, type?: 'relay' | 'assethub' | 'parachain'): Promise<ApiPromise>;
18
+ static getApi(specName: string): ApiPromise | undefined;
19
+ static getApiByUrl(url: string): ApiPromise | undefined;
20
+ static getTypeBySpecName(specName: string): string | undefined;
21
+ static getSpecNameByType(type: string): Set<string> | undefined;
22
+ static getApiByType(type: string): {
23
+ specName: string;
24
+ api: ApiPromise;
25
+ }[];
26
+ static getAllAvailableSpecNames(): string[];
27
+ static clear(): void;
28
+ }
@@ -0,0 +1,133 @@
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.ApiPromiseRegistry = void 0;
7
+ /* eslint-disable @typescript-eslint/no-var-requires */
8
+ const api_1 = require("@polkadot/api");
9
+ const rpc_provider_1 = require("@polkadot/rpc-provider");
10
+ const Log_1 = require("../logging/Log");
11
+ const typesBundle_1 = __importDefault(require("../override-types/typesBundle"));
12
+ const SidecarConfig_1 = require("../SidecarConfig");
13
+ const MultiKeyBiMap_1 = require("../util/MultiKeyBiMap");
14
+ class ApiPromiseRegistry {
15
+ static setAssetHubInfo(info) {
16
+ this.assetHubInfo.isAssetHub = info.isAssetHub;
17
+ this.assetHubInfo.isAssetHubMigrated = info.isAssetHubMigrated;
18
+ }
19
+ /**
20
+ * Get the ApiPromise instance for the given spec name.
21
+ * @param specName The spec name to get the ApiPromise instance for.
22
+ * @returns The ApiPromise instance for the given spec name.
23
+ */
24
+ static async initApi(url, type) {
25
+ const { logger } = Log_1.Log;
26
+ logger.info(`Initializing API for ${url}`);
27
+ // TODO: for now use instance by URL as a staging check to make sure we don't need to recreate an API instance
28
+ if (!this._instancesByUrl.has(url)) {
29
+ const { config } = SidecarConfig_1.SidecarConfig;
30
+ const { TYPES_BUNDLE, TYPES_SPEC, TYPES_CHAIN, TYPES, CACHE_CAPACITY } = config.SUBSTRATE;
31
+ // Instantiate new API Promise instance
32
+ const api = await api_1.ApiPromise.create({
33
+ provider: url.startsWith('http')
34
+ ? new rpc_provider_1.HttpProvider(url, undefined, CACHE_CAPACITY || 0)
35
+ : new rpc_provider_1.WsProvider(url, undefined, undefined, undefined, CACHE_CAPACITY || 0),
36
+ // only use extra types if the url is the same as the one in the config
37
+ ...(config.SUBSTRATE.URL === url
38
+ ? {
39
+ typesBundle: TYPES_BUNDLE
40
+ ? require(TYPES_BUNDLE)
41
+ : typesBundle_1.default,
42
+ typesChain: TYPES_CHAIN ? require(TYPES_CHAIN) : undefined,
43
+ typesSpec: TYPES_SPEC ? require(TYPES_SPEC) : undefined,
44
+ types: TYPES ? require(TYPES) : undefined,
45
+ }
46
+ : {}),
47
+ });
48
+ const { specName } = await api.rpc.state.getRuntimeVersion();
49
+ if (!this.specNameToTypeMap.getByKey(specName.toString())) {
50
+ if (type) {
51
+ this.specNameToTypeMap.set(specName.toString(), type);
52
+ }
53
+ }
54
+ // TODO: use a generic store for APis and use a unique Id to reference URLs and specNames
55
+ if (this._instancesBySpecName.has(specName.toString())) {
56
+ const existingInstances = this._instancesBySpecName.get(specName.toString());
57
+ this._instancesBySpecName.set(specName.toString(), [...existingInstances, api]);
58
+ }
59
+ else {
60
+ this._instancesBySpecName.set(specName.toString(), [api]);
61
+ }
62
+ this._instancesByUrl.set(url, api);
63
+ logger.info(`API initialized for ${url} with specName ${specName.toString()}`);
64
+ }
65
+ else {
66
+ const api = this._instancesByUrl.get(url);
67
+ // make sure we have stored the type for the SUBSTRATE_URL option
68
+ if (api && type) {
69
+ const { specName } = await api.rpc.state.getRuntimeVersion();
70
+ if (!this.specNameToTypeMap.getByKey(specName.toString())) {
71
+ if (type) {
72
+ this.specNameToTypeMap.set(specName.toString(), type);
73
+ }
74
+ }
75
+ }
76
+ }
77
+ return this._instancesByUrl.get(url);
78
+ }
79
+ static getApi(specName) {
80
+ const api = this._instancesBySpecName.get(specName);
81
+ if (!api) {
82
+ throw new Error(`API not found for specName: ${specName}`);
83
+ }
84
+ // TODO: create logic to return the correct API instance based on workload/necessity
85
+ return api[0];
86
+ }
87
+ static getApiByUrl(url) {
88
+ return this._instancesByUrl.get(url);
89
+ }
90
+ static getTypeBySpecName(specName) {
91
+ return this.specNameToTypeMap.getByKey(specName);
92
+ }
93
+ static getSpecNameByType(type) {
94
+ return this.specNameToTypeMap.getByValue(type);
95
+ }
96
+ static getApiByType(type) {
97
+ const specNames = this.specNameToTypeMap.getByValue(type);
98
+ if (!specNames) {
99
+ return [];
100
+ }
101
+ const specNameApis = [];
102
+ for (const specName of specNames) {
103
+ const api = this.getApi(specName);
104
+ if (api) {
105
+ specNameApis.push({ specName, api });
106
+ }
107
+ }
108
+ return specNameApis;
109
+ }
110
+ static getAllAvailableSpecNames() {
111
+ return Array.from(this._instancesBySpecName.keys());
112
+ }
113
+ static clear() {
114
+ this._instancesBySpecName.clear();
115
+ this._instancesByUrl.clear();
116
+ this.specNameToTypeMap = new MultiKeyBiMap_1.MultiKeyBiMap();
117
+ const { logger } = Log_1.Log;
118
+ logger.info('Cleared API registry');
119
+ }
120
+ }
121
+ exports.ApiPromiseRegistry = ApiPromiseRegistry;
122
+ // SpecName to ApiPromise instances
123
+ ApiPromiseRegistry._instancesBySpecName = new Map();
124
+ // SpecName to Type map
125
+ ApiPromiseRegistry.specNameToTypeMap = new MultiKeyBiMap_1.MultiKeyBiMap();
126
+ // RPC URL to ApiPromise instance
127
+ ApiPromiseRegistry._instancesByUrl = new Map();
128
+ // Asset hub info, will default to static unless its connected.
129
+ ApiPromiseRegistry.assetHubInfo = {
130
+ isAssetHub: false,
131
+ isAssetHubMigrated: false,
132
+ };
133
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/apiRegistry/index.ts"],"names":[],"mappings":"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"}
@@ -24,10 +24,12 @@ exports.assetHubWestendControllers = {
24
24
  controllers: [
25
25
  'AccountsAssets',
26
26
  'AccountsBalanceInfo',
27
- 'AccountsCompare',
28
27
  'AccountsPoolAssets',
29
28
  'AccountsProxyInfo',
29
+ 'AccountsStakingInfo',
30
+ 'AccountsStakingPayouts',
30
31
  'AccountsValidate',
32
+ 'AccountsVestingInfo',
31
33
  'Blocks',
32
34
  'BlocksExtrinsics',
33
35
  'BlocksRawExtrinsics',
@@ -41,6 +43,11 @@ exports.assetHubWestendControllers = {
41
43
  'PalletsErrors',
42
44
  'PalletsEvents',
43
45
  'PalletsForeignAssets',
46
+ 'PalletsNominationPools',
47
+ 'PalletsOnGoingReferenda',
48
+ 'PalletsStakingProgress',
49
+ 'PalletsStakingValidators',
50
+ 'PalletsStorage',
44
51
  'PalletsPoolAssets',
45
52
  'RuntimeCode',
46
53
  'RuntimeMetadata',
@@ -1 +1 @@
1
- {"version":3,"file":"assetHubWestendControllers.js","sourceRoot":"","sources":["../../../src/chains-config/assetHubWestendControllers.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;;;AAGxE,mCAA6D;AAE7D;;GAEG;AACU,QAAA,0BAA0B,GAAqB;IAC3D,WAAW,EAAE;QACZ,gBAAgB;QAChB,qBAAqB;QACrB,iBAAiB;QACjB,oBAAoB;QACpB,mBAAmB;QACnB,kBAAkB;QAClB,QAAQ;QACR,kBAAkB;QAClB,qBAAqB;QACrB,aAAa;QACb,qBAAqB;QACrB,aAAa;QACb,eAAe;QACf,wBAAwB;QACxB,eAAe;QACf,sBAAsB;QACtB,eAAe;QACf,eAAe;QACf,sBAAsB;QACtB,mBAAmB;QACnB,aAAa;QACb,iBAAiB;QACjB,aAAa;QACb,mBAAmB;QACnB,wBAAwB;QACxB,qBAAqB;QACrB,mBAAmB;KACnB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,GAAG;QACtB,UAAU,EAAE,IAAA,oBAAY,GAAE;QAC1B,cAAc,EAAE,IAAI,4BAAoB,CAAC,IAAI,EAAE,IAAI,CAAC;KACpD;CACD,CAAC"}
1
+ {"version":3,"file":"assetHubWestendControllers.js","sourceRoot":"","sources":["../../../src/chains-config/assetHubWestendControllers.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;;;AAGxE,mCAA6D;AAE7D;;GAEG;AACU,QAAA,0BAA0B,GAAqB;IAC3D,WAAW,EAAE;QACZ,gBAAgB;QAChB,qBAAqB;QACrB,oBAAoB;QACpB,mBAAmB;QACnB,qBAAqB;QACrB,wBAAwB;QACxB,kBAAkB;QAClB,qBAAqB;QACrB,QAAQ;QACR,kBAAkB;QAClB,qBAAqB;QACrB,aAAa;QACb,qBAAqB;QACrB,aAAa;QACb,eAAe;QACf,wBAAwB;QACxB,eAAe;QACf,sBAAsB;QACtB,eAAe;QACf,eAAe;QACf,sBAAsB;QACtB,wBAAwB;QACxB,yBAAyB;QACzB,wBAAwB;QACxB,0BAA0B;QAC1B,gBAAgB;QAChB,mBAAmB;QACnB,aAAa;QACb,iBAAiB;QACjB,aAAa;QACb,mBAAmB;QACnB,wBAAwB;QACxB,qBAAqB;QACrB,mBAAmB;KACnB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,GAAG;QACtB,UAAU,EAAE,IAAA,oBAAY,GAAE;QAC1B,cAAc,EAAE,IAAI,4BAAoB,CAAC,IAAI,EAAE,IAAI,CAAC;KACpD;CACD,CAAC"}
@@ -1,4 +1,3 @@
1
- import { ApiPromise } from '@polkadot/api';
2
1
  import { ISidecarConfig } from 'src/types/sidecar-config';
3
2
  import AbstractController from '../controllers/AbstractController';
4
3
  import { AbstractService } from '../services/AbstractService';
@@ -6,18 +5,19 @@ import { ControllerConfig } from '../types/chains-config';
6
5
  export declare const specToControllerMap: {
7
6
  [x: string]: ControllerConfig;
8
7
  };
8
+ export declare const assetHubSpecNames: Set<string>;
9
9
  /**
10
10
  * Return an array of instantiated controller instances based off of a `specName`.
11
11
  *
12
12
  * @param api ApiPromise to inject into controllers
13
- * @param implName
13
+ * @param specName spacName of the chain to get controllers and options for
14
14
  */
15
- export declare function getControllersForSpec(api: ApiPromise, specName: string): AbstractController<AbstractService>[];
15
+ export declare function getControllersForSpec(specName: string): AbstractController<AbstractService>[];
16
16
  /**
17
17
  * Return an array of instantiated controller instances based off of a `specName`.
18
18
  * @param pallets pallets available to define controllers
19
19
  * @param api ApiPromise to inject into controllers
20
20
  * @param specName specName of chain to get options
21
21
  */
22
- export declare const getControllersByPallets: (pallets: string[], api: ApiPromise, specName: string) => AbstractController<AbstractService>[];
23
- export declare const getControllers: (api: ApiPromise, config: ISidecarConfig, specName: string) => AbstractController<AbstractService>[];
22
+ export declare const getControllersByPallets: (specName: string, pallets: string[]) => AbstractController<AbstractService>[];
23
+ export declare const getControllers: (config: ISidecarConfig, specName: string, pallets: string[]) => AbstractController<AbstractService>[];
@@ -15,7 +15,7 @@
15
15
  // You should have received a copy of the GNU General Public License
16
16
  // along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.getControllers = exports.getControllersByPallets = exports.specToControllerMap = void 0;
18
+ exports.getControllers = exports.getControllersByPallets = exports.assetHubSpecNames = exports.specToControllerMap = void 0;
19
19
  exports.getControllersForSpec = getControllersForSpec;
20
20
  const controllers_1 = require("../controllers");
21
21
  const acalaControllers_1 = require("./acalaControllers");
@@ -49,7 +49,8 @@ const westendControllers_1 = require("./westendControllers");
49
49
  exports.specToControllerMap = {
50
50
  westend: westendControllers_1.westendControllers,
51
51
  polkadot: polkadotControllers_1.polkadotControllers,
52
- polymesh: polymeshControllers_1.polymeshControllers,
52
+ polymesh_mainnet: polymeshControllers_1.polymeshControllers,
53
+ polymesh_testnet: polymeshControllers_1.polymeshControllers,
53
54
  kusama: kusamaControllers_1.kusamaControllers,
54
55
  kulupu: kulupuControllers_1.kulupuControllers,
55
56
  kilt: kiltControllers_1.kiltControllers,
@@ -81,19 +82,20 @@ exports.specToControllerMap = {
81
82
  'coretime-polkadot': coretimeControllers_1.coretimeControllers,
82
83
  'coretime-kusama': coretimeControllers_1.coretimeControllers,
83
84
  };
85
+ exports.assetHubSpecNames = new Set(['statemine', 'statemint', 'westmint']);
84
86
  /**
85
87
  * Return an array of instantiated controller instances based off of a `specName`.
86
88
  *
87
89
  * @param api ApiPromise to inject into controllers
88
- * @param implName
90
+ * @param specName spacName of the chain to get controllers and options for
89
91
  */
90
- function getControllersForSpec(api, specName) {
92
+ function getControllersForSpec(specName) {
91
93
  if (exports.specToControllerMap[specName]) {
92
- return getControllersFromConfig(api, exports.specToControllerMap[specName]);
94
+ return getControllersFromConfig(specName, exports.specToControllerMap[specName]);
93
95
  }
94
96
  // If we don't have the specName in the specToControllerMap we use the default
95
97
  // contoller config
96
- return getControllersFromConfig(api, defaultControllers_1.defaultControllers);
98
+ return getControllersFromConfig(specName, defaultControllers_1.defaultControllers);
97
99
  }
98
100
  /**
99
101
  * Return an array of instantiated controller instances based off of a
@@ -102,10 +104,10 @@ function getControllersForSpec(api, specName) {
102
104
  * @param api ApiPromise to inject into controllers
103
105
  * @param config controller mount configuration object
104
106
  */
105
- function getControllersFromConfig(api, config) {
107
+ function getControllersFromConfig(specName, config) {
106
108
  const controllersToInclude = config.controllers;
107
109
  return controllersToInclude.reduce((acc, controller) => {
108
- acc.push(new controllers_1.controllers[controller](api, config.options));
110
+ acc.push(new controllers_1.controllers[controller](specName, config.options));
109
111
  return acc;
110
112
  }, []);
111
113
  }
@@ -115,24 +117,27 @@ function getControllersFromConfig(api, config) {
115
117
  * @param api ApiPromise to inject into controllers
116
118
  * @param specName specName of chain to get options
117
119
  */
118
- const getControllersByPallets = (pallets, api, specName) => {
120
+ const getControllersByPallets = (specName, pallets) => {
119
121
  var _a;
120
122
  const controllersSet = [];
121
123
  const config = ((_a = exports.specToControllerMap === null || exports.specToControllerMap === void 0 ? void 0 : exports.specToControllerMap[specName]) === null || _a === void 0 ? void 0 : _a.options) || (defaultControllers_1.defaultControllers === null || defaultControllers_1.defaultControllers === void 0 ? void 0 : defaultControllers_1.defaultControllers.options);
122
124
  Object.values(controllers_1.controllers).forEach((controller) => {
123
125
  if (controller.canInjectByPallets(pallets)) {
124
- controllersSet.push(new controller(api, config));
126
+ controllersSet.push(new controller(specName, config));
125
127
  }
126
128
  });
127
129
  return controllersSet;
128
130
  };
129
131
  exports.getControllersByPallets = getControllersByPallets;
130
- const getControllers = (api, config, specName) => {
132
+ const getControllers = (config, specName, pallets) => {
133
+ if (!specName || !specName.length) {
134
+ throw new Error('specName is required');
135
+ }
131
136
  if (config.EXPRESS.INJECTED_CONTROLLERS) {
132
- return (0, exports.getControllersByPallets)(api.registry.metadata.toJSON().pallets.map((p) => p.name), api, specName);
137
+ return (0, exports.getControllersByPallets)(specName, pallets);
133
138
  }
134
139
  else {
135
- return getControllersForSpec(api, specName);
140
+ return getControllersForSpec(specName);
136
141
  }
137
142
  };
138
143
  exports.getControllers = getControllers;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chains-config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chains-config/index.ts"],"names":[],"mappings":"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"}
@@ -22,16 +22,25 @@ const cache_1 = require("./cache");
22
22
  */
23
23
  exports.polymeshControllers = {
24
24
  controllers: [
25
- 'AccountsStakingPayouts',
25
+ 'AccountsBalanceInfo',
26
+ 'AccountsCompare',
27
+ 'AccountsConvert',
26
28
  'AccountsStakingInfo',
29
+ 'AccountsStakingPayouts',
27
30
  'AccountsValidate',
28
31
  'Blocks',
29
32
  'BlocksExtrinsics',
30
33
  'BlocksRawExtrinsics',
34
+ 'BlocksTrace',
31
35
  'NodeNetwork',
32
36
  'NodeTransactionPool',
33
37
  'NodeVersion',
38
+ 'PalletsConsts',
39
+ 'PalletsDispatchables',
40
+ 'PalletsErrors',
41
+ 'PalletsEvents',
34
42
  'PalletsStakingProgress',
43
+ 'PalletsStakingValidators',
35
44
  'PalletsStorage',
36
45
  'RuntimeCode',
37
46
  'RuntimeMetadata',
@@ -1 +1 @@
1
- {"version":3,"file":"polymeshControllers.js","sourceRoot":"","sources":["../../../src/chains-config/polymeshControllers.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;;;AAGxE,mCAA6D;AAE7D;;GAEG;AACU,QAAA,mBAAmB,GAAqB;IACpD,WAAW,EAAE;QACZ,wBAAwB;QACxB,qBAAqB;QACrB,kBAAkB;QAClB,QAAQ;QACR,kBAAkB;QAClB,qBAAqB;QACrB,aAAa;QACb,qBAAqB;QACrB,aAAa;QACb,wBAAwB;QACxB,gBAAgB;QAChB,aAAa;QACb,iBAAiB;QACjB,aAAa;QACb,mBAAmB;QACnB,wBAAwB;QACxB,qBAAqB;QACrB,mBAAmB;KACnB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,CAAC;QACpB,UAAU,EAAE,IAAA,oBAAY,GAAE;QAC1B,cAAc,EAAE,IAAI,4BAAoB,CAAC,IAAI,EAAE,IAAI,CAAC;KACpD;CACD,CAAC"}
1
+ {"version":3,"file":"polymeshControllers.js","sourceRoot":"","sources":["../../../src/chains-config/polymeshControllers.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;;;AAGxE,mCAA6D;AAE7D;;GAEG;AACU,QAAA,mBAAmB,GAAqB;IACpD,WAAW,EAAE;QACZ,qBAAqB;QACrB,iBAAiB;QACjB,iBAAiB;QACjB,qBAAqB;QACrB,wBAAwB;QACxB,kBAAkB;QAClB,QAAQ;QACR,kBAAkB;QAClB,qBAAqB;QACrB,aAAa;QACb,aAAa;QACb,qBAAqB;QACrB,aAAa;QACb,eAAe;QACf,sBAAsB;QACtB,eAAe;QACf,eAAe;QACf,wBAAwB;QACxB,0BAA0B;QAC1B,gBAAgB;QAChB,aAAa;QACb,iBAAiB;QACjB,aAAa;QACb,mBAAmB;QACnB,wBAAwB;QACxB,qBAAqB;QACrB,mBAAmB;KACnB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,CAAC;QACpB,UAAU,EAAE,IAAA,oBAAY,GAAE;QAC1B,cAAc,EAAE,IAAI,4BAAoB,CAAC,IAAI,EAAE,IAAI,CAAC;KACpD;CACD,CAAC"}
@@ -4,6 +4,7 @@ import { RequestHandler, Response, Router } from 'express';
4
4
  import { AbstractService } from 'src/services/AbstractService';
5
5
  import { AnyJson } from 'src/types/polkadot-js';
6
6
  import { IAddressNumberParams, IAddressParam, IConvertQueryParams, INumberParam, IParaIdParam, IRangeQueryParam } from 'src/types/requests';
7
+ import type { AssetHubInfo } from '../apiRegistry';
7
8
  import { ISanitizeOptions } from '../types/sanitize';
8
9
  type SidecarRequestHandler = RequestHandler<unknown, unknown, unknown, IRangeQueryParam> | RequestHandler<IAddressParam, unknown, unknown, IConvertQueryParams> | RequestHandler<IAddressParam> | RequestHandler<IAddressNumberParams> | RequestHandler<INumberParam> | RequestHandler<IParaIdParam> | RequestHandler;
9
10
  export type RequiredPallets = string[][];
@@ -11,15 +12,18 @@ export type RequiredPallets = string[][];
11
12
  * Abstract base class for creating controller classes.
12
13
  */
13
14
  export default abstract class AbstractController<T extends AbstractService> {
14
- protected api: ApiPromise;
15
+ private _specName;
15
16
  private _path;
16
17
  protected service: T;
17
18
  private _router;
18
19
  static controllerName: string;
19
20
  static requiredPallets: RequiredPallets;
20
- constructor(api: ApiPromise, _path: string, service: T);
21
+ constructor(_specName: string, _path: string, service: T);
21
22
  get path(): string;
22
23
  get router(): Router;
24
+ get api(): ApiPromise;
25
+ get assetHubInfo(): AssetHubInfo;
26
+ get specName(): string;
23
27
  /**
24
28
  * Mount all controller handler methods on the class's private router.
25
29
  *
@@ -42,6 +42,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
42
42
  const util_1 = require("@polkadot/util");
43
43
  const express = __importStar(require("express"));
44
44
  const http_errors_1 = require("http-errors");
45
+ const apiRegistry_1 = require("../../src/apiRegistry");
45
46
  const sanitize_1 = require("../sanitize");
46
47
  const errors_1 = require("../types/errors");
47
48
  const verifyInt_1 = require("../util/integers/verifyInt");
@@ -49,8 +50,8 @@ const verifyInt_1 = require("../util/integers/verifyInt");
49
50
  * Abstract base class for creating controller classes.
50
51
  */
51
52
  class AbstractController {
52
- constructor(api, _path, service) {
53
- this.api = api;
53
+ constructor(_specName, _path, service) {
54
+ this._specName = _specName;
54
55
  this._path = _path;
55
56
  this.service = service;
56
57
  this._router = express.Router();
@@ -61,6 +62,19 @@ class AbstractController {
61
62
  get router() {
62
63
  return this._router;
63
64
  }
65
+ get api() {
66
+ const api = apiRegistry_1.ApiPromiseRegistry.getApi(this._specName);
67
+ if (!api) {
68
+ throw new http_errors_1.InternalServerError('API not found during controller initilization');
69
+ }
70
+ return api;
71
+ }
72
+ get assetHubInfo() {
73
+ return apiRegistry_1.ApiPromiseRegistry.assetHubInfo;
74
+ }
75
+ get specName() {
76
+ return this._specName;
77
+ }
64
78
  /**
65
79
  * Safely mount async GET routes by wrapping them with an express
66
80
  * handler friendly try / catch block and then mounting on the controllers