@substrate/api-sidecar 19.3.0 → 19.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 (370) hide show
  1. package/README.md +3 -0
  2. package/build/package.json +13 -13
  3. package/build/src/App.js +1 -1
  4. package/build/src/App.js.map +1 -1
  5. package/build/src/SidecarConfig.js +2 -1
  6. package/build/src/SidecarConfig.js.map +1 -1
  7. package/build/src/Specs.js +5 -1
  8. package/build/src/Specs.js.map +1 -1
  9. package/build/src/chains-config/acalaControllers.js +1 -1
  10. package/build/src/chains-config/assetHubKusamaControllers.js +1 -1
  11. package/build/src/chains-config/assetHubPolkadotControllers.js +1 -1
  12. package/build/src/chains-config/assetHubWestendControllers.js +1 -1
  13. package/build/src/chains-config/astarControllers.js +1 -1
  14. package/build/src/chains-config/bifrostControllers.js +1 -1
  15. package/build/src/chains-config/bifrostPolkadotControllers.js +1 -1
  16. package/build/src/chains-config/cache/lruCache.js +1 -1
  17. package/build/src/chains-config/calamariControllers.js +1 -1
  18. package/build/src/chains-config/coretimeControllers.d.ts +5 -0
  19. package/build/src/chains-config/coretimeControllers.js +55 -0
  20. package/build/src/chains-config/coretimeControllers.js.map +1 -0
  21. package/build/src/chains-config/crustControllers.js +1 -1
  22. package/build/src/chains-config/defaultControllers.js +1 -1
  23. package/build/src/chains-config/dockMainnetControllers.js +1 -1
  24. package/build/src/chains-config/dockPoSMainnetControllers.js +1 -1
  25. package/build/src/chains-config/dockPoSTestnetControllers.js +1 -1
  26. package/build/src/chains-config/heikoControllers.js +1 -1
  27. package/build/src/chains-config/index.js +5 -1
  28. package/build/src/chains-config/index.js.map +1 -1
  29. package/build/src/chains-config/karuraControllers.js +1 -1
  30. package/build/src/chains-config/kiltControllers.js +1 -1
  31. package/build/src/chains-config/kulupuControllers.js +1 -1
  32. package/build/src/chains-config/kusamaControllers.js +2 -1
  33. package/build/src/chains-config/kusamaControllers.js.map +1 -1
  34. package/build/src/chains-config/mandalaControllers.js +1 -1
  35. package/build/src/chains-config/mantaControllers.js +1 -1
  36. package/build/src/chains-config/parallelControllers.js +1 -1
  37. package/build/src/chains-config/polkadotControllers.js +1 -1
  38. package/build/src/chains-config/polymeshControllers.js +1 -1
  39. package/build/src/chains-config/shidenControllers.js +1 -1
  40. package/build/src/chains-config/soraControllers.js +1 -1
  41. package/build/src/chains-config/westendControllers.js +2 -1
  42. package/build/src/chains-config/westendControllers.js.map +1 -1
  43. package/build/src/controllers/AbstractController.js +1 -1
  44. package/build/src/controllers/AbstractControllers.spec.js +1 -1
  45. package/build/src/controllers/accounts/AccountsAssetsController.js +1 -1
  46. package/build/src/controllers/accounts/AccountsBalanceInfoController.js +1 -1
  47. package/build/src/controllers/accounts/AccountsConvertController.js +1 -1
  48. package/build/src/controllers/accounts/AccountsPoolAssetsController.js +1 -1
  49. package/build/src/controllers/accounts/AccountsProxyInfoController.js +1 -1
  50. package/build/src/controllers/accounts/AccountsStakingInfoController.js +1 -1
  51. package/build/src/controllers/accounts/AccountsStakingPayoutsController.js +1 -1
  52. package/build/src/controllers/accounts/AccountsValidateController.js +1 -1
  53. package/build/src/controllers/accounts/AccountsVestingInfoController.js +1 -1
  54. package/build/src/controllers/accounts/index.js +1 -1
  55. package/build/src/controllers/blocks/BlocksController.js +1 -1
  56. package/build/src/controllers/blocks/BlocksExtrinsicsController.js +1 -1
  57. package/build/src/controllers/blocks/BlocksRawExtrinsicsController.js +1 -1
  58. package/build/src/controllers/blocks/BlocksTraceController.js +1 -1
  59. package/build/src/controllers/blocks/index.js +1 -1
  60. package/build/src/controllers/contracts/ContractsInkController.js +1 -1
  61. package/build/src/controllers/coretime/CoretimeChainController.d.ts +11 -0
  62. package/build/src/controllers/coretime/CoretimeChainController.js +54 -0
  63. package/build/src/controllers/coretime/CoretimeChainController.js.map +1 -0
  64. package/build/src/controllers/coretime/CoretimeGenericController.d.ts +9 -0
  65. package/build/src/controllers/coretime/CoretimeGenericController.js +44 -0
  66. package/build/src/controllers/coretime/CoretimeGenericController.js.map +1 -0
  67. package/build/src/controllers/coretime/index.d.ts +2 -0
  68. package/build/src/controllers/coretime/index.js +26 -0
  69. package/build/src/controllers/coretime/index.js.map +1 -0
  70. package/build/src/controllers/index.d.ts +3 -0
  71. package/build/src/controllers/index.js +4 -1
  72. package/build/src/controllers/index.js.map +1 -1
  73. package/build/src/controllers/node/NodeNetworkController.js +1 -1
  74. package/build/src/controllers/node/NodeTransactionPoolController.js +1 -1
  75. package/build/src/controllers/node/NodeVersionController.js +1 -1
  76. package/build/src/controllers/node/index.js +1 -1
  77. package/build/src/controllers/pallets/PalletsAssetConversionController.js +1 -1
  78. package/build/src/controllers/pallets/PalletsAssetsController.js +1 -1
  79. package/build/src/controllers/pallets/PalletsConstsController.js +1 -1
  80. package/build/src/controllers/pallets/PalletsDispatchablesController.js +1 -1
  81. package/build/src/controllers/pallets/PalletsErrorsController.js +1 -1
  82. package/build/src/controllers/pallets/PalletsEventsController.js +1 -1
  83. package/build/src/controllers/pallets/PalletsForeignAssetsController.js +1 -1
  84. package/build/src/controllers/pallets/PalletsNominationPoolsController.js +1 -1
  85. package/build/src/controllers/pallets/PalletsOnGoingReferendaController.js +1 -1
  86. package/build/src/controllers/pallets/PalletsPoolAssetsController.js +1 -1
  87. package/build/src/controllers/pallets/PalletsStakingProgressController.js +1 -1
  88. package/build/src/controllers/pallets/PalletsStakingValidatorsController.js +1 -1
  89. package/build/src/controllers/pallets/PalletsStorageController.js +1 -1
  90. package/build/src/controllers/pallets/index.js +1 -1
  91. package/build/src/controllers/paras/ParasController.js +1 -1
  92. package/build/src/controllers/paras/index.js +1 -1
  93. package/build/src/controllers/runtime/RuntimeCodeController.js +1 -1
  94. package/build/src/controllers/runtime/RuntimeMetadataController.js +1 -1
  95. package/build/src/controllers/runtime/RuntimeSpecController.js +1 -1
  96. package/build/src/controllers/runtime/index.js +1 -1
  97. package/build/src/controllers/transaction/TransactionDryRunController.js +1 -1
  98. package/build/src/controllers/transaction/TransactionFeeEstimateController.js +1 -1
  99. package/build/src/controllers/transaction/TransactionMaterialController.js +1 -1
  100. package/build/src/controllers/transaction/TransactionSubmitController.js +1 -1
  101. package/build/src/controllers/transaction/index.js +1 -1
  102. package/build/src/logging/Log.js +1 -1
  103. package/build/src/logging/consoleOverride.js +1 -1
  104. package/build/src/logging/transformers/filterApiRpc.js +3 -3
  105. package/build/src/logging/transformers/filterApiRpc.js.map +1 -1
  106. package/build/src/logging/transformers/index.js +1 -1
  107. package/build/src/logging/transformers/nodeUtilFormat.js +2 -2
  108. package/build/src/logging/transformers/nodeUtilFormat.js.map +1 -1
  109. package/build/src/logging/transformers/stripAnsi.js +2 -2
  110. package/build/src/logging/transformers/stripAnsi.js.map +1 -1
  111. package/build/src/logging/transformers/stripTimestamp.js +2 -2
  112. package/build/src/logging/transformers/stripTimestamp.js.map +1 -1
  113. package/build/src/logging/transformers/timeStamp.js +1 -1
  114. package/build/src/logging/transports/consoleTransport.js +2 -2
  115. package/build/src/logging/transports/consoleTransport.js.map +1 -1
  116. package/build/src/logging/transports/index.js +1 -1
  117. package/build/src/main.js +2 -2
  118. package/build/src/main.js.map +1 -1
  119. package/build/src/metrics/Metrics.js +16 -0
  120. package/build/src/metrics/Metrics.js.map +1 -1
  121. package/build/src/metrics/config.js +15 -1
  122. package/build/src/metrics/config.js.map +1 -1
  123. package/build/src/metrics/index.js +16 -0
  124. package/build/src/metrics/index.js.map +1 -1
  125. package/build/src/middleware/error/errorMiddleware.js +1 -1
  126. package/build/src/middleware/error/errorMiddleware.spec.js +1 -1
  127. package/build/src/middleware/error/httpErrorMiddleware.js +1 -1
  128. package/build/src/middleware/error/httpErrorMiddleware.spec.js +1 -1
  129. package/build/src/middleware/error/index.js +1 -1
  130. package/build/src/middleware/error/internalErrorMiddleware.js +1 -1
  131. package/build/src/middleware/error/internalErrorMiddleware.spec.js +1 -1
  132. package/build/src/middleware/error/legacyErrorMiddleware.js +1 -1
  133. package/build/src/middleware/error/legacyErrorMiddleware.spec.js +1 -1
  134. package/build/src/middleware/error/testTools.js +1 -1
  135. package/build/src/middleware/error/txErrorMiddleware.js +1 -1
  136. package/build/src/middleware/error/txErrorMiddleware.spec.js +1 -1
  137. package/build/src/middleware/index.js +1 -1
  138. package/build/src/middleware/logger/httpLogger.js +1 -1
  139. package/build/src/middleware/logger/index.js +1 -1
  140. package/build/src/middleware/validate/index.js +1 -1
  141. package/build/src/middleware/validate/util.js +1 -1
  142. package/build/src/middleware/validate/validateAddressMiddleware.js +1 -1
  143. package/build/src/middleware/validate/validateAddressMiddleware.spec.js +1 -1
  144. package/build/src/middleware/validate/validateBooleanMiddleware.js +1 -1
  145. package/build/src/middleware/validate/validateBooleanMiddleware.spec.js +1 -1
  146. package/build/src/override-types/typesBundle.js +15 -0
  147. package/build/src/override-types/typesBundle.js.map +1 -1
  148. package/build/src/parseArgs.js +1 -1
  149. package/build/src/sanitize/index.js +1 -1
  150. package/build/src/sanitize/mockData.js +1 -1
  151. package/build/src/sanitize/sanitizeNumbers.js +1 -1
  152. package/build/src/sanitize/sanitizeNumbers.spec.js +1 -1
  153. package/build/src/services/AbstractPalletsService.js +1 -1
  154. package/build/src/services/AbstractService.js +1 -1
  155. package/build/src/services/AbstractService.spec.js +1 -1
  156. package/build/src/services/accounts/AccountsAssetsService.js +1 -1
  157. package/build/src/services/accounts/AccountsAssetsService.spec.js +1 -1
  158. package/build/src/services/accounts/AccountsBalanceInfoService.js +1 -1
  159. package/build/src/services/accounts/AccountsBalanceInfoService.spec.js +1 -1
  160. package/build/src/services/accounts/AccountsConvertService.js +1 -1
  161. package/build/src/services/accounts/AccountsConvertService.spec.js +1 -1
  162. package/build/src/services/accounts/AccountsPoolAssetsService.js +1 -1
  163. package/build/src/services/accounts/AccountsPoolAssetsService.spec.js +1 -1
  164. package/build/src/services/accounts/AccountsProxyInfoService.js +1 -1
  165. package/build/src/services/accounts/AccountsProxyInfoService.spec.js +1 -1
  166. package/build/src/services/accounts/AccountsStakingInfoService.js +1 -1
  167. package/build/src/services/accounts/AccountsStakingInfoService.spec.js +1 -1
  168. package/build/src/services/accounts/AccountsStakingPayoutsService.d.ts +1 -1
  169. package/build/src/services/accounts/AccountsStakingPayoutsService.js +2 -2
  170. package/build/src/services/accounts/AccountsStakingPayoutsService.spec.js +1 -1
  171. package/build/src/services/accounts/AccountsValidateService.js +1 -1
  172. package/build/src/services/accounts/AccountsValidateService.spec.js +1 -1
  173. package/build/src/services/accounts/AccountsVestingInfoService.js +1 -1
  174. package/build/src/services/accounts/AccountsVestingInfoService.spec.js +1 -1
  175. package/build/src/services/accounts/index.js +1 -1
  176. package/build/src/services/blocks/BlocksService.d.ts +2 -2
  177. package/build/src/services/blocks/BlocksService.js +7 -5
  178. package/build/src/services/blocks/BlocksService.js.map +1 -1
  179. package/build/src/services/blocks/BlocksService.spec.js +3 -3
  180. package/build/src/services/blocks/BlocksService.spec.js.map +1 -1
  181. package/build/src/services/blocks/BlocksTraceService.js +1 -1
  182. package/build/src/services/blocks/BlocksTraceService.spec.js +1 -1
  183. package/build/src/services/blocks/XCMDecoder.js +1 -1
  184. package/build/src/services/blocks/index.js +1 -1
  185. package/build/src/services/blocks/trace/Trace.js +1 -1
  186. package/build/src/services/blocks/trace/index.js +1 -1
  187. package/build/src/services/blocks/trace/types.js +1 -1
  188. package/build/src/services/contracts/ContractsInkService.js +1 -1
  189. package/build/src/services/contracts/ContractsInkService.spec.js +1 -1
  190. package/build/src/services/contracts/index.js +1 -1
  191. package/build/src/services/coretime/CoretimeService.d.ts +37 -0
  192. package/build/src/services/coretime/CoretimeService.js +458 -0
  193. package/build/src/services/coretime/CoretimeService.js.map +1 -0
  194. package/build/src/services/coretime/CoretimeService.spec.d.ts +1 -0
  195. package/build/src/services/coretime/CoretimeService.spec.js +303 -0
  196. package/build/src/services/coretime/CoretimeService.spec.js.map +1 -0
  197. package/build/src/services/coretime/index.d.ts +1 -0
  198. package/build/src/{types/logging → services/coretime}/index.js +2 -2
  199. package/build/src/services/coretime/index.js.map +1 -0
  200. package/build/src/services/coretime/util.d.ts +22 -0
  201. package/build/src/services/coretime/util.js +204 -0
  202. package/build/src/services/coretime/util.js.map +1 -0
  203. package/build/src/services/index.d.ts +1 -0
  204. package/build/src/services/index.js +2 -1
  205. package/build/src/services/index.js.map +1 -1
  206. package/build/src/services/node/NodeNetworkService.js +1 -1
  207. package/build/src/services/node/NodeNetworkService.spec.js +1 -1
  208. package/build/src/services/node/NodeTransactionPoolService.js +1 -1
  209. package/build/src/services/node/NodeTransactionPoolService.spec.js +1 -1
  210. package/build/src/services/node/NodeVersionService.js +1 -1
  211. package/build/src/services/node/NodeVersionService.spec.js +1 -1
  212. package/build/src/services/node/index.js +1 -1
  213. package/build/src/services/pallets/PalletsAssetConversionService.js +1 -1
  214. package/build/src/services/pallets/PalletsAssetConversionService.spec.js +1 -1
  215. package/build/src/services/pallets/PalletsAssetsService.js +1 -1
  216. package/build/src/services/pallets/PalletsAssetsService.spec.js +1 -1
  217. package/build/src/services/pallets/PalletsConstantsService.js +1 -1
  218. package/build/src/services/pallets/PalletsConstantsService.spec.js +1 -1
  219. package/build/src/services/pallets/PalletsDispatchablesService.js +1 -1
  220. package/build/src/services/pallets/PalletsDispatchablesService.spec.js +1 -1
  221. package/build/src/services/pallets/PalletsErrorsService.js +1 -1
  222. package/build/src/services/pallets/PalletsErrorsService.spec.js +1 -1
  223. package/build/src/services/pallets/PalletsEventsService.js +1 -1
  224. package/build/src/services/pallets/PalletsEventsService.spec.js +1 -1
  225. package/build/src/services/pallets/PalletsForeignAssetsService.js +1 -1
  226. package/build/src/services/pallets/PalletsForeignAssetsService.spec.js +1 -1
  227. package/build/src/services/pallets/PalletsNominationPoolsService.js +1 -1
  228. package/build/src/services/pallets/PalletsNominationPoolsService.spec.js +1 -1
  229. package/build/src/services/pallets/PalletsOnGoingReferendaService.spec.js +1 -1
  230. package/build/src/services/pallets/PalletsPoolAssetsService.js +1 -1
  231. package/build/src/services/pallets/PalletsPoolAssetsService.spec.js +1 -1
  232. package/build/src/services/pallets/PalletsStakingProgressService.js +1 -1
  233. package/build/src/services/pallets/PalletsStakingProgressService.spec.js +1 -1
  234. package/build/src/services/pallets/PalletsStakingValidatorsService.spec.js +1 -1
  235. package/build/src/services/pallets/PalletsStorageService.js +1 -1
  236. package/build/src/services/pallets/PalletsStorageService.spec.js +1 -1
  237. package/build/src/services/pallets/index.js +1 -1
  238. package/build/src/services/paras/ParasService.js +1 -1
  239. package/build/src/services/paras/ParasService.js.map +1 -1
  240. package/build/src/services/paras/ParasService.spec.js +1 -1
  241. package/build/src/services/paras/index.js +1 -1
  242. package/build/src/services/runtime/RuntimeCodeService.js +1 -1
  243. package/build/src/services/runtime/RuntimeCodeService.spec.js +1 -1
  244. package/build/src/services/runtime/RuntimeMetadataService.js +1 -1
  245. package/build/src/services/runtime/RuntimeMetadataService.spec.js +1 -1
  246. package/build/src/services/runtime/RuntimeSpecService.js +1 -1
  247. package/build/src/services/runtime/RuntimeSpecService.spec.js +1 -1
  248. package/build/src/services/runtime/index.js +1 -1
  249. package/build/src/services/transaction/TransactionDryRunService.js +10 -4
  250. package/build/src/services/transaction/TransactionDryRunService.js.map +1 -1
  251. package/build/src/services/transaction/TransactionDryRunService.spec.js +28 -4
  252. package/build/src/services/transaction/TransactionDryRunService.spec.js.map +1 -1
  253. package/build/src/services/transaction/TransactionFeeEstimateService.js +1 -1
  254. package/build/src/services/transaction/TransactionFeeEstimateService.spec.js +1 -1
  255. package/build/src/services/transaction/TransactionMaterialService.js +1 -1
  256. package/build/src/services/transaction/TransactionMaterialService.spec.js +1 -1
  257. package/build/src/services/transaction/TransactionSubmitService.js +1 -1
  258. package/build/src/services/transaction/TransactionSubmitService.spec.js +1 -1
  259. package/build/src/services/transaction/extractCauseAndStack.js +1 -1
  260. package/build/src/services/transaction/index.js +1 -1
  261. package/build/src/types/chains-config/ControllerConfig.js +1 -1
  262. package/build/src/types/chains-config/index.js +1 -1
  263. package/build/src/types/errors/BasicLegacyError.js +1 -1
  264. package/build/src/types/errors/LegacyError.js +1 -1
  265. package/build/src/types/errors/TxLegacyError.js +1 -1
  266. package/build/src/types/errors/index.js +1 -1
  267. package/build/src/types/polkadot-js/AnyJson.js +1 -1
  268. package/build/src/types/polkadot-js/Codec.js +1 -1
  269. package/build/src/types/polkadot-js/ToJSONable.js +1 -1
  270. package/build/src/types/polkadot-js/index.js +1 -1
  271. package/build/src/types/requests.js +1 -1
  272. package/build/src/types/responses/AccountAssets.js +1 -1
  273. package/build/src/types/responses/AccountBalanceInfo.js +1 -1
  274. package/build/src/types/responses/AccountConvert.js +1 -1
  275. package/build/src/types/responses/AccountPoolAssets.js +1 -1
  276. package/build/src/types/responses/AccountProxyInfo.js +1 -1
  277. package/build/src/types/responses/AccountStakingInfo.js +1 -1
  278. package/build/src/types/responses/AccountStakingPayouts.js +1 -1
  279. package/build/src/types/responses/AccountVestingInfo.js +1 -1
  280. package/build/src/types/responses/Assets.js +1 -1
  281. package/build/src/types/responses/At.js +1 -1
  282. package/build/src/types/responses/Block.js +1 -1
  283. package/build/src/types/responses/BlockXCMMessages.js +1 -1
  284. package/build/src/types/responses/BlocksTrace.js +1 -1
  285. package/build/src/types/responses/Coretime.d.ts +169 -0
  286. package/build/src/types/{logging/Transformers.js → responses/Coretime.js} +2 -2
  287. package/build/src/types/responses/Coretime.js.map +1 -0
  288. package/build/src/types/responses/EraPayouts.js +1 -1
  289. package/build/src/types/responses/Extrinsic.js +1 -1
  290. package/build/src/types/responses/ForeignAssets.js +1 -1
  291. package/build/src/types/responses/FrameMethod.js +1 -1
  292. package/build/src/types/responses/MetadataCode.js +1 -1
  293. package/build/src/types/responses/NodeNetwork.js +1 -1
  294. package/build/src/types/responses/NodeTransactionPool.js +1 -1
  295. package/build/src/types/responses/NodeVersion.js +1 -1
  296. package/build/src/types/responses/Pallet.js +1 -1
  297. package/build/src/types/responses/PalletAssetConversion.js +1 -1
  298. package/build/src/types/responses/PalletConstants.js +1 -1
  299. package/build/src/types/responses/PalletConstantsItem.js +1 -1
  300. package/build/src/types/responses/PalletDispatchables.js +1 -1
  301. package/build/src/types/responses/PalletDispatchablesItem.js +1 -1
  302. package/build/src/types/responses/PalletErrors.js +1 -1
  303. package/build/src/types/responses/PalletErrorsItem.js +1 -1
  304. package/build/src/types/responses/PalletEvents.js +1 -1
  305. package/build/src/types/responses/PalletEventsItem.js +1 -1
  306. package/build/src/types/responses/PalletNominationPools.js +1 -1
  307. package/build/src/types/responses/PalletOnGoingReferenda.js +1 -1
  308. package/build/src/types/responses/PalletStakingProgress.js +1 -1
  309. package/build/src/types/responses/PalletStakingValidators.js +1 -1
  310. package/build/src/types/responses/PalletStorage.js +1 -1
  311. package/build/src/types/responses/PalletStorageItem.js +1 -1
  312. package/build/src/types/responses/Paras.js +1 -1
  313. package/build/src/types/responses/Payout.js +1 -1
  314. package/build/src/types/responses/PoolAssets.js +1 -1
  315. package/build/src/types/responses/RuntimeSpec.js +1 -1
  316. package/build/src/types/responses/SanitizedArgs.js +1 -1
  317. package/build/src/types/responses/SanitizedBackedCandidate.js +1 -1
  318. package/build/src/types/responses/SanitizedBackedCandidateDescriptor.js +1 -1
  319. package/build/src/types/responses/SanitizedBackedCandidateValidityVotes.js +1 -1
  320. package/build/src/types/responses/SanitizedBackedCandidatesCommitments.js +1 -1
  321. package/build/src/types/responses/SanitizedBackedCandidatesHorizontalMessage.js +1 -1
  322. package/build/src/types/responses/SanitizedBitfield.js +1 -1
  323. package/build/src/types/responses/SanitizedCall.js +1 -1
  324. package/build/src/types/responses/SanitizedCandidate.js +1 -1
  325. package/build/src/types/responses/SanitizedErrorItemMetadata.js +1 -1
  326. package/build/src/types/responses/SanitizedEvent.js +1 -1
  327. package/build/src/types/responses/SanitizedEventItemMetadata.js +1 -1
  328. package/build/src/types/responses/SanitizedParachainInherentData.js +1 -1
  329. package/build/src/types/responses/SanitizedParachainInherentDataHorizontalMessage.js +1 -1
  330. package/build/src/types/responses/SanitizedParachainValidationData.js +1 -1
  331. package/build/src/types/responses/SanitizedParentInherentData.js +1 -1
  332. package/build/src/types/responses/SanitizedStorageItemMetadata.js +1 -1
  333. package/build/src/types/responses/SanitizediDisputeStatementSet.js +1 -1
  334. package/build/src/types/responses/TransactionDryRun.d.ts +3 -3
  335. package/build/src/types/responses/TransactionDryRun.js +2 -2
  336. package/build/src/types/responses/TransactionDryRun.js.map +1 -1
  337. package/build/src/types/responses/TransactionMaterial.js +1 -1
  338. package/build/src/types/responses/ValidateAddress.js +1 -1
  339. package/build/src/types/responses/index.d.ts +1 -0
  340. package/build/src/types/responses/index.js +2 -1
  341. package/build/src/types/responses/index.js.map +1 -1
  342. package/build/src/types/sanitize/index.js +1 -1
  343. package/build/src/types/sanitize/sanitize.js +1 -1
  344. package/build/src/types/sidecar-config/CONFIG.d.ts +2 -1
  345. package/build/src/types/sidecar-config/CONFIG.js +2 -1
  346. package/build/src/types/sidecar-config/CONFIG.js.map +1 -1
  347. package/build/src/types/sidecar-config/MODULES.js +1 -1
  348. package/build/src/types/sidecar-config/SidecarConfig.d.ts +1 -0
  349. package/build/src/types/sidecar-config/SidecarConfig.js +1 -1
  350. package/build/src/types/sidecar-config/index.js +1 -1
  351. package/build/src/types/util/Option.js +1 -1
  352. package/build/src/types/util/PaysFee.js +1 -1
  353. package/build/src/types/util/RegisteredRoutes.js +1 -1
  354. package/build/src/types/util/ToString.js +1 -1
  355. package/build/src/types/util/index.js +1 -1
  356. package/build/src/util/PromiseQueue.js +15 -0
  357. package/build/src/util/PromiseQueue.js.map +1 -1
  358. package/build/src/util/integers/compare.js +15 -0
  359. package/build/src/util/integers/compare.js.map +1 -1
  360. package/build/src/util/integers/compare.spec.js +15 -0
  361. package/build/src/util/integers/compare.spec.js.map +1 -1
  362. package/build/src/util/integers/verifyInt.js +15 -0
  363. package/build/src/util/integers/verifyInt.js.map +1 -1
  364. package/build/src/util/integers/verifyInt.spec.js +15 -0
  365. package/build/src/util/integers/verifyInt.spec.js.map +1 -1
  366. package/package.json +13 -13
  367. package/build/src/types/logging/Transformers.d.ts +0 -10
  368. package/build/src/types/logging/Transformers.js.map +0 -1
  369. package/build/src/types/logging/index.d.ts +0 -1
  370. package/build/src/types/logging/index.js.map +0 -1
@@ -0,0 +1,458 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
3
+ /* eslint-disable @typescript-eslint/no-unsafe-call */
4
+ /* eslint-disable @typescript-eslint/no-unsafe-return */
5
+ // Copyright 2017-2025 Parity Technologies (UK) Ltd.
6
+ // This file is part of Substrate API Sidecar.
7
+ //
8
+ // Substrate API Sidecar is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+ //
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+ //
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.CoretimeService = void 0;
22
+ const util_1 = require("@polkadot/util");
23
+ const AbstractService_1 = require("../AbstractService");
24
+ const util_2 = require("./util");
25
+ var ChainType;
26
+ (function (ChainType) {
27
+ ChainType["Relay"] = "Relay";
28
+ ChainType["Parachain"] = "Parachain";
29
+ })(ChainType || (ChainType = {}));
30
+ const SCALE = new util_1.BN(10000);
31
+ class CoretimeService extends AbstractService_1.AbstractService {
32
+ constructor() {
33
+ super(...arguments);
34
+ this.getAndDecodeRegions = async (api) => {
35
+ const regions = await api.query.broker.regions.entries();
36
+ const regionsInfo = regions.map((region) => {
37
+ return (0, util_2.extractRegionInfo)([region[0], region[1]]);
38
+ });
39
+ return regionsInfo;
40
+ };
41
+ this.getAndDecodeLeases = async (api) => {
42
+ const leases = await api.query.broker.leases();
43
+ return leases.map((lease) => (0, util_2.extractLeaseInfo)(lease));
44
+ };
45
+ this.getAndDecodeWorkload = async (api) => {
46
+ const workloads = await api.query.broker.workload.entries();
47
+ return (0, util_2.sortByCore)(workloads.map((workload) => {
48
+ return (0, util_2.extractWorkloadInfo)(workload[1], workload[0].args[0].toNumber());
49
+ }));
50
+ };
51
+ this.getAndDecodeWorkplan = async (api) => {
52
+ const workplans = await api.query.broker.workplan.entries();
53
+ const wplsInfo = (0, util_2.sortByCore)(workplans.map(([key, val]) => {
54
+ const [timeslice, core] = key.args[0].map((a) => a.toNumber());
55
+ return (0, util_2.extractWorkplanInfo)(val, core, timeslice);
56
+ }));
57
+ return wplsInfo;
58
+ };
59
+ this.getAndDecodeSaleInfo = async (api) => {
60
+ const saleInfo = await api.query.broker.saleInfo();
61
+ return saleInfo.isSome ? (0, util_2.extractSaleInfo)(saleInfo.unwrap()) : null;
62
+ };
63
+ this.getAndDecodeStatus = async (api) => {
64
+ const status = await api.query.broker.status();
65
+ return (0, util_2.extractStatusInfo)(status);
66
+ };
67
+ this.getAndDecodeConfiguration = async (api) => {
68
+ const configuration = await api.query.broker.configuration();
69
+ return (0, util_2.extractConfigInfo)(configuration);
70
+ };
71
+ this.getAndDecodePotentialRenewals = async (api) => {
72
+ const potentialRenewals = await api.query.broker.potentialRenewals.entries();
73
+ const potentialRenewalsInfo = (0, util_2.sortByCore)(potentialRenewals.map((renewal) => (0, util_2.extractPotentialRenewalInfo)(renewal[1], renewal[0])));
74
+ return potentialRenewalsInfo;
75
+ };
76
+ this.getAndDecodeReservations = async (api) => {
77
+ const reservations = await api.query.broker.reservations();
78
+ return reservations.map((res) => (0, util_2.extractReservationInfo)(res));
79
+ };
80
+ this.getAndDecodeCoreSchedules = async (api) => {
81
+ const coreSchedules = await api.query.coretimeAssignmentProvider.coreSchedules.entries();
82
+ return coreSchedules;
83
+ };
84
+ this.getAndDecodeCoreDescriptors = async (api) => {
85
+ const coreDescriptors = await api.query.coretimeAssignmentProvider.coreDescriptors.entries();
86
+ const descriptors = coreDescriptors;
87
+ return descriptors.map((descriptor) => (0, util_2.extractCoreDescriptorInfo)(descriptor[0], descriptor[1]));
88
+ };
89
+ this.getAndDecodeParachainsLifecycle = async (api) => {
90
+ const parachains = await api.query.paras.paraLifecycles.entries();
91
+ return parachains.map((para) => (0, util_2.extractParachainLifecycleInfo)(para[0], para[1]));
92
+ };
93
+ this.leadinFactorAt = (scaledWhen) => {
94
+ const scaledHalf = SCALE.div(new util_1.BN(2)); // 0.5 scaled to 10000
95
+ if (scaledWhen.lte(scaledHalf)) {
96
+ // First half of the graph, steeper slope
97
+ return SCALE.mul(new util_1.BN(100)).sub(scaledWhen.mul(new util_1.BN(180)));
98
+ }
99
+ else {
100
+ // Second half of the graph, flatter slope
101
+ return SCALE.mul(new util_1.BN(19)).sub(scaledWhen.mul(new util_1.BN(18)));
102
+ }
103
+ };
104
+ this.getCorePriceAt = (blockNumber, saleInfo) => {
105
+ const { endPrice, leadinLength, saleStart } = saleInfo;
106
+ // Explicit conversion to BN
107
+ const blockNowBn = new util_1.BN(blockNumber);
108
+ const saleStartBn = new util_1.BN(saleStart);
109
+ const leadinLengthBn = new util_1.BN(leadinLength);
110
+ // Elapsed time since the start of the sale, constrained to not exceed the total lead-in period
111
+ const elapsedTimeSinceSaleStart = blockNowBn.sub(saleStartBn);
112
+ const cappedElapsedTime = elapsedTimeSinceSaleStart.lt(leadinLengthBn) ? elapsedTimeSinceSaleStart : leadinLengthBn;
113
+ const scaledProgress = cappedElapsedTime.mul(new util_1.BN(10000)).div(leadinLengthBn);
114
+ /**
115
+ * Progress is a normalized value between 0 and 1, where:
116
+ *
117
+ * 0 means the sale just started.
118
+ * 1 means the sale is at the end of the lead-in period.
119
+ *
120
+ * We are scaling it to avoid floating point precision issues.
121
+ */
122
+ const leadinFactor = this.leadinFactorAt(scaledProgress);
123
+ const scaledPrice = leadinFactor.mul(endPrice).div(SCALE);
124
+ return scaledPrice;
125
+ };
126
+ this.getPhaseConfiguration = (currentRegionStart, regionLength, interludeLengthTs, leadInLengthTs, lastCommittedTimeslice) => {
127
+ const renewalsEndTs = currentRegionStart + interludeLengthTs;
128
+ const priceDiscoveryEndTs = renewalsEndTs + leadInLengthTs;
129
+ const fixedPriceLenght = regionLength - interludeLengthTs - leadInLengthTs;
130
+ const fixedPriceEndTs = priceDiscoveryEndTs + fixedPriceLenght;
131
+ const progress = lastCommittedTimeslice - currentRegionStart;
132
+ let phaseName = 'fixedPrice';
133
+ if (progress < interludeLengthTs) {
134
+ phaseName = 'renewals';
135
+ }
136
+ if (progress < interludeLengthTs + leadInLengthTs) {
137
+ phaseName = 'priceDiscovery';
138
+ }
139
+ return {
140
+ config: [
141
+ {
142
+ phaseName: 'renewals',
143
+ lastTimeslice: renewalsEndTs,
144
+ },
145
+ {
146
+ phaseName: 'priceDiscovery',
147
+ lastTimeslice: priceDiscoveryEndTs,
148
+ },
149
+ {
150
+ phaseName: 'fixedPrice',
151
+ lastTimeslice: fixedPriceEndTs,
152
+ },
153
+ ],
154
+ currentPhaseName: phaseName,
155
+ };
156
+ };
157
+ this.getCurrentRegionStartEndTs = (saleInfo, regionLength) => {
158
+ return {
159
+ currentRegionEnd: saleInfo.regionBegin,
160
+ currentRegionStart: saleInfo.regionBegin - regionLength,
161
+ };
162
+ };
163
+ this.assertCoretimeModule = (api, chainType) => {
164
+ if (chainType === ChainType.Relay) {
165
+ this.assertQueryModule(api.query.onDemandAssignmentProvider, 'onDemandAssignmentProvider');
166
+ this.assertQueryModule(api.query.coretimeAssignmentProvider, 'coretimeAssignmentProvider');
167
+ return;
168
+ }
169
+ else if (chainType === ChainType.Parachain) {
170
+ this.assertQueryModule(api.query.broker, 'broker');
171
+ return;
172
+ }
173
+ throw new Error('Unsupported network type.');
174
+ };
175
+ }
176
+ async getCoretimeInfo(hash) {
177
+ const { api } = this;
178
+ const [{ specName }, { number }, historicApi] = await Promise.all([
179
+ api.rpc.state.getRuntimeVersion(hash),
180
+ api.rpc.chain.getHeader(hash),
181
+ api.at(hash),
182
+ ]);
183
+ const blockNumber = number.unwrap();
184
+ if (this.getChainType(specName.toString()) === ChainType.Relay) {
185
+ this.assertCoretimeModule(historicApi, ChainType.Relay);
186
+ const [brokerId, maxHistoricalRevenue, palletVersion] = await Promise.all([
187
+ historicApi.consts.coretime.brokerId,
188
+ historicApi.consts.onDemandAssignmentProvider.maxHistoricalRevenue,
189
+ historicApi.query.coretimeAssignmentProvider.palletVersion(),
190
+ ]);
191
+ return {
192
+ at: {
193
+ hash,
194
+ height: blockNumber.toString(10),
195
+ },
196
+ brokerId: brokerId,
197
+ palletVersion: palletVersion,
198
+ maxHistoricalRevenue: maxHistoricalRevenue,
199
+ };
200
+ }
201
+ else {
202
+ this.assertCoretimeModule(historicApi, ChainType.Parachain);
203
+ const [config, saleInfo, timeslicePeriod, status] = await Promise.all([
204
+ this.getAndDecodeConfiguration(historicApi),
205
+ this.getAndDecodeSaleInfo(historicApi),
206
+ historicApi.consts.broker.timeslicePeriod,
207
+ this.getAndDecodeStatus(historicApi),
208
+ ]);
209
+ const blocksPerTimeslice = timeslicePeriod;
210
+ const currentRegionStats = saleInfo && this.getCurrentRegionStartEndTs(saleInfo, config.regionLength);
211
+ const phaseConfig = this.getPhaseConfiguration((currentRegionStats === null || currentRegionStats === void 0 ? void 0 : currentRegionStats.currentRegionStart) || 0, config.regionLength, config.interludeLength, (saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.leadinLength) || 0, status.lastCommittedTimeslice || 0);
212
+ return {
213
+ at: {
214
+ hash,
215
+ height: blockNumber.toString(10),
216
+ },
217
+ configuration: {
218
+ regionLength: config.regionLength,
219
+ interludeLength: config.interludeLength,
220
+ leadinLength: (saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.leadinLength) || 0,
221
+ relayBlocksPerTimeslice: blocksPerTimeslice.toNumber(),
222
+ },
223
+ currentRegion: {
224
+ start: (currentRegionStats === null || currentRegionStats === void 0 ? void 0 : currentRegionStats.currentRegionStart) || null,
225
+ end: (currentRegionStats === null || currentRegionStats === void 0 ? void 0 : currentRegionStats.currentRegionEnd) || null,
226
+ },
227
+ cores: {
228
+ available: Number(saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.coresOffered) - Number(saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.coresSold),
229
+ sold: Number(saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.coresSold),
230
+ total: Number(saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.coresOffered),
231
+ currentCorePrice: this.getCorePriceAt(blockNumber.toNumber(), saleInfo),
232
+ selloutPrice: saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.selloutPrice,
233
+ firstCore: saleInfo === null || saleInfo === void 0 ? void 0 : saleInfo.firstCore,
234
+ },
235
+ phase: {
236
+ currentPhase: phaseConfig.currentPhaseName,
237
+ config: phaseConfig.config.map((c) => ({
238
+ phaseName: c.phaseName,
239
+ lastRelayBlock: c.lastTimeslice * blocksPerTimeslice.toNumber(),
240
+ lastTimeslice: c.lastTimeslice,
241
+ })),
242
+ },
243
+ };
244
+ }
245
+ }
246
+ async getCoretimeLeases(hash) {
247
+ const { api } = this;
248
+ const [{ specName }, { number }, historicApi] = await Promise.all([
249
+ api.rpc.state.getRuntimeVersion(hash),
250
+ api.rpc.chain.getHeader(hash),
251
+ api.at(hash),
252
+ ]);
253
+ const blockNumber = number.unwrap();
254
+ if (this.getChainType(specName.toString()) === ChainType.Relay) {
255
+ throw new Error('This endpoint is only available on coretime chains.');
256
+ }
257
+ else {
258
+ this.assertCoretimeModule(historicApi, ChainType.Parachain);
259
+ const [leases, workload] = await Promise.all([
260
+ this.getAndDecodeLeases(historicApi),
261
+ this.getAndDecodeWorkload(historicApi),
262
+ ]);
263
+ const leasesWithCore = leases.reduce((acc, lease) => {
264
+ var _a;
265
+ const core = (_a = workload.find((wl) => wl.info.task.includes(lease.task))) === null || _a === void 0 ? void 0 : _a.core;
266
+ return [
267
+ ...acc,
268
+ {
269
+ ...lease,
270
+ core: core,
271
+ },
272
+ ];
273
+ }, []);
274
+ return {
275
+ at: {
276
+ hash,
277
+ height: blockNumber.toString(10),
278
+ },
279
+ leases: (0, util_2.sortByCore)(leasesWithCore),
280
+ };
281
+ }
282
+ }
283
+ async getCoretimeRegions(hash) {
284
+ const { api } = this;
285
+ const [{ specName }, { number }, historicApi] = await Promise.all([
286
+ api.rpc.state.getRuntimeVersion(hash),
287
+ api.rpc.chain.getHeader(hash),
288
+ api.at(hash),
289
+ ]);
290
+ const blockNumber = number.unwrap();
291
+ if (this.getChainType(specName.toString()) === ChainType.Relay) {
292
+ throw new Error('This endpoint is only available on coretime chains.');
293
+ }
294
+ else {
295
+ this.assertCoretimeModule(historicApi, ChainType.Parachain);
296
+ const regions = await this.getAndDecodeRegions(historicApi);
297
+ return {
298
+ at: {
299
+ hash,
300
+ height: blockNumber.toString(10),
301
+ },
302
+ regions: (0, util_2.sortByCore)(regions),
303
+ };
304
+ }
305
+ }
306
+ async getCoretimeReservations(hash) {
307
+ const { api } = this;
308
+ const [{ specName }, { number }, historicApi] = await Promise.all([
309
+ api.rpc.state.getRuntimeVersion(hash),
310
+ api.rpc.chain.getHeader(hash),
311
+ api.at(hash),
312
+ ]);
313
+ const blockNumber = number.unwrap();
314
+ if (this.getChainType(specName.toString()) === ChainType.Relay) {
315
+ throw new Error('This endpoint is only available on coretime chains.');
316
+ }
317
+ else {
318
+ // coretime chain or parachain
319
+ this.assertCoretimeModule(historicApi, ChainType.Parachain);
320
+ const reservations = await this.getAndDecodeReservations(historicApi);
321
+ return {
322
+ at: {
323
+ hash,
324
+ height: blockNumber.toString(10),
325
+ },
326
+ reservations,
327
+ };
328
+ }
329
+ }
330
+ async getCoretimeRenewals(hash) {
331
+ const { api } = this;
332
+ const [{ specName }, { number }, historicApi] = await Promise.all([
333
+ api.rpc.state.getRuntimeVersion(hash),
334
+ api.rpc.chain.getHeader(hash),
335
+ api.at(hash),
336
+ ]);
337
+ const blockNumber = number.unwrap();
338
+ if (this.getChainType(specName.toString()) === ChainType.Relay) {
339
+ throw new Error('This endpoint is only available on coretime chains.');
340
+ }
341
+ else {
342
+ this.assertCoretimeModule(historicApi, ChainType.Parachain);
343
+ const renewals = await this.getAndDecodePotentialRenewals(historicApi);
344
+ return {
345
+ at: {
346
+ hash,
347
+ height: blockNumber.toString(10),
348
+ },
349
+ renewals: (0, util_2.sortByCore)(renewals),
350
+ };
351
+ }
352
+ }
353
+ async getCoretimeCores(hash) {
354
+ const { api } = this;
355
+ const [{ specName }, { number }, historicApi] = await Promise.all([
356
+ api.rpc.state.getRuntimeVersion(hash),
357
+ api.rpc.chain.getHeader(hash),
358
+ api.at(hash),
359
+ ]);
360
+ const blockNumber = number.unwrap();
361
+ if (this.getChainType(specName.toString()) === ChainType.Relay) {
362
+ this.assertCoretimeModule(historicApi, ChainType.Relay);
363
+ const [parachains, schedules, descriptors] = await Promise.all([
364
+ this.getAndDecodeParachainsLifecycle(historicApi),
365
+ this.getAndDecodeCoreSchedules(historicApi),
366
+ this.getAndDecodeCoreDescriptors(historicApi),
367
+ ]);
368
+ const descriptorsWithParas = parachains.reduce((acc, para) => {
369
+ const core = descriptors.find((f) => {
370
+ const assignments = f.info.currentWork.assignments.find((assgn) => assgn.task === para.paraId.toString());
371
+ return !!assignments;
372
+ });
373
+ if (core) {
374
+ acc.push({
375
+ ...para,
376
+ ...core,
377
+ });
378
+ }
379
+ return acc;
380
+ }, []);
381
+ return {
382
+ at: {
383
+ hash,
384
+ height: blockNumber.toString(10),
385
+ },
386
+ cores: descriptorsWithParas,
387
+ coreSchedules: schedules,
388
+ };
389
+ }
390
+ else {
391
+ this.assertCoretimeModule(historicApi, ChainType.Parachain);
392
+ const [workload, workplan, leases, reservations, regions] = await Promise.all([
393
+ this.getAndDecodeWorkload(historicApi),
394
+ this.getAndDecodeWorkplan(historicApi),
395
+ this.getAndDecodeLeases(historicApi),
396
+ this.getAndDecodeReservations(historicApi),
397
+ this.getAndDecodeRegions(historicApi),
398
+ ]);
399
+ const systemParas = reservations.map((el) => el.task);
400
+ const cores = workload.map((wl) => {
401
+ var _a, _b;
402
+ const coreType = systemParas.includes(wl.info.task)
403
+ ? wl.info.task === 'Pool'
404
+ ? 'ondemand'
405
+ : 'reservation'
406
+ : leases.map((f) => f.task).includes(wl.info.task)
407
+ ? 'lease'
408
+ : 'bulk';
409
+ let details = undefined;
410
+ if (coreType === 'reservation') {
411
+ details = { mask: (_a = reservations.find((f) => f.task === wl.info.task)) === null || _a === void 0 ? void 0 : _a.mask };
412
+ }
413
+ else if (coreType === 'lease') {
414
+ details = { until: (_b = leases.find((f) => f.task === wl.info.task)) === null || _b === void 0 ? void 0 : _b.until };
415
+ }
416
+ const coreRegions = regions.filter((region) => region.core === wl.core);
417
+ return {
418
+ coreId: wl.core,
419
+ paraId: wl.info.task,
420
+ workload: wl.info,
421
+ workplan: workplan.filter((f) => f.core === wl.core),
422
+ type: { condition: coreType, details },
423
+ regions: coreRegions,
424
+ };
425
+ });
426
+ return {
427
+ at: {
428
+ hash,
429
+ height: blockNumber.toString(10),
430
+ },
431
+ cores,
432
+ };
433
+ }
434
+ }
435
+ /**
436
+ * Coretime pallets and modules are not available on all runtimes. This
437
+ * verifies that by checking if the module exists. If it doesnt it will throw an error
438
+ *
439
+ * @param queryFn The QueryModuleStorage key that we want to check exists
440
+ * @param mod Module we are checking
441
+ */
442
+ assertQueryModule(queryFn, mod) {
443
+ if (!queryFn) {
444
+ throw Error(`The runtime does not include the ${mod} module at this block`);
445
+ }
446
+ }
447
+ getChainType(specName) {
448
+ const relay = ['polkadot', 'kusama', 'westend', 'paseo'];
449
+ if (relay.includes(specName.toLowerCase())) {
450
+ return ChainType.Relay;
451
+ }
452
+ else {
453
+ return ChainType.Parachain;
454
+ }
455
+ }
456
+ }
457
+ exports.CoretimeService = CoretimeService;
458
+ //# sourceMappingURL=CoretimeService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoretimeService.js","sourceRoot":"","sources":["../../../../src/services/coretime/CoretimeService.ts"],"names":[],"mappings":"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"}