@substrate/api-sidecar 20.3.1 → 20.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/README.md +9 -0
  2. package/build/package.json +9 -19
  3. package/build/src/chains-config/assetHubKusamaControllers.js +17 -0
  4. package/build/src/chains-config/assetHubKusamaControllers.js.map +1 -1
  5. package/build/src/chains-config/assetHubNextWestendControllers.js +18 -0
  6. package/build/src/chains-config/assetHubNextWestendControllers.js.map +1 -1
  7. package/build/src/chains-config/assetHubPolkadotControllers.js +17 -0
  8. package/build/src/chains-config/assetHubPolkadotControllers.js.map +1 -1
  9. package/build/src/chains-config/assetHubWestendControllers.js +18 -0
  10. package/build/src/chains-config/assetHubWestendControllers.js.map +1 -1
  11. package/build/src/chains-config/index.d.ts +6 -0
  12. package/build/src/chains-config/index.js +24 -1
  13. package/build/src/chains-config/index.js.map +1 -1
  14. package/build/src/controllers/AbstractController.d.ts +13 -2
  15. package/build/src/controllers/AbstractController.js +73 -13
  16. package/build/src/controllers/AbstractController.js.map +1 -1
  17. package/build/src/controllers/accounts/AccountsAssetsController.d.ts +16 -0
  18. package/build/src/controllers/accounts/AccountsAssetsController.js +75 -8
  19. package/build/src/controllers/accounts/AccountsAssetsController.js.map +1 -1
  20. package/build/src/controllers/accounts/AccountsBalanceInfoController.d.ts +9 -0
  21. package/build/src/controllers/accounts/AccountsBalanceInfoController.js +50 -10
  22. package/build/src/controllers/accounts/AccountsBalanceInfoController.js.map +1 -1
  23. package/build/src/controllers/accounts/AccountsPoolAssetsController.d.ts +15 -0
  24. package/build/src/controllers/accounts/AccountsPoolAssetsController.js +74 -8
  25. package/build/src/controllers/accounts/AccountsPoolAssetsController.js.map +1 -1
  26. package/build/src/controllers/accounts/AccountsProxyInfoController.d.ts +1 -1
  27. package/build/src/controllers/accounts/AccountsProxyInfoController.js +30 -5
  28. package/build/src/controllers/accounts/AccountsProxyInfoController.js.map +1 -1
  29. package/build/src/controllers/accounts/AccountsStakingInfoController.d.ts +9 -0
  30. package/build/src/controllers/accounts/AccountsStakingInfoController.js +47 -6
  31. package/build/src/controllers/accounts/AccountsStakingInfoController.js.map +1 -1
  32. package/build/src/controllers/accounts/AccountsStakingPayoutsController.d.ts +9 -0
  33. package/build/src/controllers/accounts/AccountsStakingPayoutsController.js +71 -14
  34. package/build/src/controllers/accounts/AccountsStakingPayoutsController.js.map +1 -1
  35. package/build/src/controllers/accounts/AccountsVestingInfoController.d.ts +8 -0
  36. package/build/src/controllers/accounts/AccountsVestingInfoController.js +36 -8
  37. package/build/src/controllers/accounts/AccountsVestingInfoController.js.map +1 -1
  38. package/build/src/controllers/blocks/BlocksController.d.ts +10 -0
  39. package/build/src/controllers/blocks/BlocksController.js +244 -23
  40. package/build/src/controllers/blocks/BlocksController.js.map +1 -1
  41. package/build/src/controllers/blocks/BlocksExtrinsicsController.js +95 -36
  42. package/build/src/controllers/blocks/BlocksExtrinsicsController.js.map +1 -1
  43. package/build/src/controllers/blocks/BlocksRawExtrinsicsController.js +29 -4
  44. package/build/src/controllers/blocks/BlocksRawExtrinsicsController.js.map +1 -1
  45. package/build/src/controllers/controllerInjection.spec.js +5 -1
  46. package/build/src/controllers/controllerInjection.spec.js.map +1 -1
  47. package/build/src/controllers/index.d.ts +23 -0
  48. package/build/src/controllers/index.js +27 -4
  49. package/build/src/controllers/index.js.map +1 -1
  50. package/build/src/controllers/pallets/PalletsAssetConversionController.js +58 -6
  51. package/build/src/controllers/pallets/PalletsAssetConversionController.js.map +1 -1
  52. package/build/src/controllers/pallets/PalletsAssetsController.d.ts +8 -0
  53. package/build/src/controllers/pallets/PalletsAssetsController.js +38 -3
  54. package/build/src/controllers/pallets/PalletsAssetsController.js.map +1 -1
  55. package/build/src/controllers/pallets/PalletsConstsController.js +82 -18
  56. package/build/src/controllers/pallets/PalletsConstsController.js.map +1 -1
  57. package/build/src/controllers/pallets/PalletsDispatchablesController.d.ts +0 -8
  58. package/build/src/controllers/pallets/PalletsDispatchablesController.js +82 -28
  59. package/build/src/controllers/pallets/PalletsDispatchablesController.js.map +1 -1
  60. package/build/src/controllers/pallets/PalletsErrorsController.js +82 -18
  61. package/build/src/controllers/pallets/PalletsErrorsController.js.map +1 -1
  62. package/build/src/controllers/pallets/PalletsEventsController.js +82 -18
  63. package/build/src/controllers/pallets/PalletsEventsController.js.map +1 -1
  64. package/build/src/controllers/pallets/PalletsForeignAssetsController.d.ts +8 -0
  65. package/build/src/controllers/pallets/PalletsForeignAssetsController.js +38 -3
  66. package/build/src/controllers/pallets/PalletsForeignAssetsController.js.map +1 -1
  67. package/build/src/controllers/pallets/PalletsNominationPoolsController.js +58 -6
  68. package/build/src/controllers/pallets/PalletsNominationPoolsController.js.map +1 -1
  69. package/build/src/controllers/pallets/PalletsOnGoingReferendaController.js +30 -3
  70. package/build/src/controllers/pallets/PalletsOnGoingReferendaController.js.map +1 -1
  71. package/build/src/controllers/pallets/PalletsPoolAssetsController.js +30 -3
  72. package/build/src/controllers/pallets/PalletsPoolAssetsController.js.map +1 -1
  73. package/build/src/controllers/pallets/PalletsStakingProgressController.d.ts +1 -1
  74. package/build/src/controllers/pallets/PalletsStakingProgressController.js +30 -8
  75. package/build/src/controllers/pallets/PalletsStakingProgressController.js.map +1 -1
  76. package/build/src/controllers/pallets/PalletsStakingValidatorsController.js +30 -3
  77. package/build/src/controllers/pallets/PalletsStakingValidatorsController.js.map +1 -1
  78. package/build/src/controllers/pallets/PalletsStorageController.js +84 -19
  79. package/build/src/controllers/pallets/PalletsStorageController.js.map +1 -1
  80. package/build/src/controllers/rc/accounts/RcAccountsBalanceInfoController.d.ts +15 -0
  81. package/build/src/controllers/rc/accounts/RcAccountsBalanceInfoController.js +65 -0
  82. package/build/src/controllers/rc/accounts/RcAccountsBalanceInfoController.js.map +1 -0
  83. package/build/src/controllers/rc/accounts/RcAccountsProxyInfoController.d.ts +15 -0
  84. package/build/src/controllers/rc/accounts/RcAccountsProxyInfoController.js +59 -0
  85. package/build/src/controllers/rc/accounts/RcAccountsProxyInfoController.js.map +1 -0
  86. package/build/src/controllers/rc/accounts/index.d.ts +2 -0
  87. package/build/src/controllers/rc/accounts/index.js +26 -0
  88. package/build/src/controllers/rc/accounts/index.js.map +1 -0
  89. package/build/src/controllers/rc/blocks/RcBlocksController.d.ts +17 -0
  90. package/build/src/controllers/rc/blocks/RcBlocksController.js +263 -0
  91. package/build/src/controllers/rc/blocks/RcBlocksController.js.map +1 -0
  92. package/build/src/controllers/rc/blocks/RcBlocksExtrinsicsController.d.ts +11 -0
  93. package/build/src/controllers/rc/blocks/RcBlocksExtrinsicsController.js +80 -0
  94. package/build/src/controllers/rc/blocks/RcBlocksExtrinsicsController.js.map +1 -0
  95. package/build/src/controllers/rc/blocks/RcBlocksRawExtrinsicsController.d.ts +10 -0
  96. package/build/src/controllers/rc/blocks/RcBlocksRawExtrinsicsController.js +60 -0
  97. package/build/src/controllers/rc/blocks/RcBlocksRawExtrinsicsController.js.map +1 -0
  98. package/build/src/controllers/rc/blocks/RcBlocksTraceController.d.ts +12 -0
  99. package/build/src/controllers/rc/blocks/RcBlocksTraceController.js +89 -0
  100. package/build/src/controllers/rc/blocks/RcBlocksTraceController.js.map +1 -0
  101. package/build/src/controllers/rc/blocks/index.d.ts +4 -0
  102. package/build/src/controllers/rc/blocks/index.js +30 -0
  103. package/build/src/controllers/rc/blocks/index.js.map +1 -0
  104. package/build/src/controllers/rc/index.d.ts +4 -0
  105. package/build/src/controllers/rc/index.js +36 -0
  106. package/build/src/controllers/rc/index.js.map +1 -0
  107. package/build/src/controllers/rc/node/RcNodeNetworkController.d.ts +40 -0
  108. package/build/src/controllers/rc/node/RcNodeNetworkController.js +76 -0
  109. package/build/src/controllers/rc/node/RcNodeNetworkController.js.map +1 -0
  110. package/build/src/controllers/rc/node/RcNodeTransactionPoolController.d.ts +27 -0
  111. package/build/src/controllers/rc/node/RcNodeTransactionPoolController.js +66 -0
  112. package/build/src/controllers/rc/node/RcNodeTransactionPoolController.js.map +1 -0
  113. package/build/src/controllers/rc/node/RcNodeVersionController.d.ts +24 -0
  114. package/build/src/controllers/rc/node/RcNodeVersionController.js +59 -0
  115. package/build/src/controllers/rc/node/RcNodeVersionController.js.map +1 -0
  116. package/build/src/controllers/rc/node/index.d.ts +3 -0
  117. package/build/src/controllers/rc/node/index.js +13 -0
  118. package/build/src/controllers/rc/node/index.js.map +1 -0
  119. package/build/src/controllers/rc/pallets/RcPalletsConstsController.d.ts +10 -0
  120. package/build/src/controllers/rc/pallets/RcPalletsConstsController.js +79 -0
  121. package/build/src/controllers/rc/pallets/RcPalletsConstsController.js.map +1 -0
  122. package/build/src/controllers/rc/pallets/RcPalletsDispatchablesController.d.ts +10 -0
  123. package/build/src/controllers/rc/pallets/RcPalletsDispatchablesController.js +79 -0
  124. package/build/src/controllers/rc/pallets/RcPalletsDispatchablesController.js.map +1 -0
  125. package/build/src/controllers/rc/pallets/RcPalletsErrorsController.d.ts +10 -0
  126. package/build/src/controllers/rc/pallets/RcPalletsErrorsController.js +79 -0
  127. package/build/src/controllers/rc/pallets/RcPalletsErrorsController.js.map +1 -0
  128. package/build/src/controllers/rc/pallets/RcPalletsEventsController.d.ts +10 -0
  129. package/build/src/controllers/rc/pallets/RcPalletsEventsController.js +79 -0
  130. package/build/src/controllers/rc/pallets/RcPalletsEventsController.js.map +1 -0
  131. package/build/src/controllers/rc/pallets/RcPalletsOnGoingReferendaController.d.ts +9 -0
  132. package/build/src/controllers/rc/pallets/RcPalletsOnGoingReferendaController.js +52 -0
  133. package/build/src/controllers/rc/pallets/RcPalletsOnGoingReferendaController.js.map +1 -0
  134. package/build/src/controllers/rc/pallets/RcPalletsStorageController.d.ts +10 -0
  135. package/build/src/controllers/rc/pallets/RcPalletsStorageController.js +81 -0
  136. package/build/src/controllers/rc/pallets/RcPalletsStorageController.js.map +1 -0
  137. package/build/src/controllers/rc/pallets/index.d.ts +6 -0
  138. package/build/src/controllers/rc/pallets/index.js +34 -0
  139. package/build/src/controllers/rc/pallets/index.js.map +1 -0
  140. package/build/src/controllers/rc/runtime/RcRuntimeCodeController.d.ts +26 -0
  141. package/build/src/controllers/rc/runtime/RcRuntimeCodeController.js +68 -0
  142. package/build/src/controllers/rc/runtime/RcRuntimeCodeController.js.map +1 -0
  143. package/build/src/controllers/rc/runtime/RcRuntimeMetadataController.d.ts +47 -0
  144. package/build/src/controllers/rc/runtime/RcRuntimeMetadataController.js +140 -0
  145. package/build/src/controllers/rc/runtime/RcRuntimeMetadataController.js.map +1 -0
  146. package/build/src/controllers/rc/runtime/RcRuntimeSpecController.d.ts +34 -0
  147. package/build/src/controllers/rc/runtime/RcRuntimeSpecController.js +76 -0
  148. package/build/src/controllers/rc/runtime/RcRuntimeSpecController.js.map +1 -0
  149. package/build/src/controllers/rc/runtime/index.d.ts +3 -0
  150. package/build/src/controllers/rc/runtime/index.js +28 -0
  151. package/build/src/controllers/rc/runtime/index.js.map +1 -0
  152. package/build/src/logging/transformers/nodeUtilFormat.js +17 -7
  153. package/build/src/logging/transformers/nodeUtilFormat.js.map +1 -1
  154. package/build/src/main.js +21 -7
  155. package/build/src/main.js.map +1 -1
  156. package/build/src/metrics/index.js +17 -7
  157. package/build/src/metrics/index.js.map +1 -1
  158. package/build/src/middleware/logger/httpLogger.js +17 -7
  159. package/build/src/middleware/logger/httpLogger.js.map +1 -1
  160. package/build/src/middleware/validate/index.d.ts +1 -0
  161. package/build/src/middleware/validate/index.js +3 -1
  162. package/build/src/middleware/validate/index.js.map +1 -1
  163. package/build/src/middleware/validate/validateUseRcBlockMiddleware.d.ts +10 -0
  164. package/build/src/middleware/validate/validateUseRcBlockMiddleware.js +58 -0
  165. package/build/src/middleware/validate/validateUseRcBlockMiddleware.js.map +1 -0
  166. package/build/src/services/accounts/AccountsStakingInfoService.js +0 -1
  167. package/build/src/services/accounts/AccountsStakingInfoService.js.map +1 -1
  168. package/build/src/services/blocks/BlocksService.js +15 -1
  169. package/build/src/services/blocks/BlocksService.js.map +1 -1
  170. package/build/src/services/pallets/PalletsStakingProgressService.d.ts +56 -0
  171. package/build/src/services/pallets/PalletsStakingProgressService.js +140 -21
  172. package/build/src/services/pallets/PalletsStakingProgressService.js.map +1 -1
  173. package/build/src/services/pallets/PalletsStakingProgressService.spec.js +255 -43
  174. package/build/src/services/pallets/PalletsStakingProgressService.spec.js.map +1 -1
  175. package/build/src/types/requests.d.ts +1 -0
  176. package/build/src/types/responses/AccountAssets.d.ts +4 -0
  177. package/build/src/types/responses/AccountBalanceInfo.d.ts +2 -0
  178. package/build/src/types/responses/AccountPoolAssets.d.ts +6 -2
  179. package/build/src/types/responses/AccountProxyInfo.d.ts +2 -0
  180. package/build/src/types/responses/AccountStakingInfo.d.ts +2 -0
  181. package/build/src/types/responses/AccountStakingPayouts.d.ts +2 -0
  182. package/build/src/types/responses/AccountVestingInfo.d.ts +2 -0
  183. package/build/src/types/responses/PalletStakingProgress.d.ts +2 -0
  184. package/package.json +9 -19
@@ -26,12 +26,15 @@ const registries_1 = require("../../test-helpers/registries");
26
26
  const mock_1 = require("../test-helpers/mock");
27
27
  const validators789629Hex_1 = require("../test-helpers/mock/data/validators789629Hex");
28
28
  const stakingProgress789629_json_1 = __importDefault(require("../test-helpers/responses/pallets/stakingProgress789629.json"));
29
+ const stakingProgressPostAhm_json_1 = __importDefault(require("../test-helpers/responses/pallets/stakingProgressPostAhm.json"));
29
30
  const stakingProgressUnappliedSlashes_json_1 = __importDefault(require("../test-helpers/responses/pallets/stakingProgressUnappliedSlashes.json"));
31
+ const stakingProgressUnappliedSlashesPostAHM_json_1 = __importDefault(require("../test-helpers/responses/pallets/stakingProgressUnappliedSlashesPostAHM.json"));
30
32
  const PalletsStakingProgressService_1 = require("./PalletsStakingProgressService");
31
33
  const epochIndexAt = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('u64', 330));
32
34
  const genesisSlotAt = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('u64', 265084563));
33
35
  const currentSlotAt = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('u64', 265876724));
34
36
  const currentIndexAt = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('SessionIndex', 330));
37
+ const timestampNowAt = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('u64', 1703123456789));
35
38
  const eraElectionStatusAt = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('ElectionStatus', { Close: null }));
36
39
  const validatorsAt = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Vec<ValidatorId>', validators789629Hex_1.validators789629Hex));
37
40
  const forceEraAt = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Forcing', 'NotForcing'));
@@ -60,6 +63,9 @@ const mockHistoricApi = {
60
63
  currentIndex: currentIndexAt,
61
64
  validators: validatorsAt,
62
65
  },
66
+ timestamp: {
67
+ now: timestampNowAt,
68
+ },
63
69
  staking: {
64
70
  activeEra: mock_1.activeEraAt,
65
71
  eraElectionStatus: eraElectionStatusAt,
@@ -130,6 +136,9 @@ const mockHistoricApiUnappliedSlashes = {
130
136
  currentIndex: currentIndexAt,
131
137
  validators: validatorsAt,
132
138
  },
139
+ timestamp: {
140
+ now: timestampNowAt,
141
+ },
133
142
  staking: {
134
143
  activeEra: mock_1.activeEraAt,
135
144
  eraElectionStatus: eraElectionStatusAt,
@@ -194,6 +203,7 @@ const mockRCNextApi = {
194
203
  currentSlot: currentSlotAt,
195
204
  epochIndex: epochIndexAt,
196
205
  genesisSlot: genesisSlotAt,
206
+ skippedEpochs: () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Vec<(u64, u32)>', [])),
197
207
  },
198
208
  staking: undefined,
199
209
  session: {
@@ -215,6 +225,7 @@ const mockRCNextApi = {
215
225
  currentSlot: currentSlotAt,
216
226
  epochIndex: epochIndexAt,
217
227
  genesisSlot: genesisSlotAt,
228
+ skippedEpochs: () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Vec<(u64, u32)>', [])),
218
229
  },
219
230
  staking: undefined,
220
231
  session: {
@@ -237,6 +248,9 @@ const mockAHHistoricApi = {
237
248
  query: {
238
249
  ...mockHistoricApi.query,
239
250
  session: null,
251
+ timestamp: {
252
+ now: timestampNowAt,
253
+ },
240
254
  staking: {
241
255
  activeEra: mock_1.activeEraAt,
242
256
  eraElectionStatus: eraElectionStatusAt,
@@ -270,6 +284,9 @@ const mockAHNextApi = {
270
284
  query: {
271
285
  ...mock_1.defaultMockApi.query,
272
286
  session: null,
287
+ timestamp: {
288
+ now: timestampNowAt,
289
+ },
273
290
  staking: {
274
291
  activeEra: mock_1.activeEraAt,
275
292
  eraElectionStatus: eraElectionStatusAt,
@@ -283,10 +300,80 @@ const mockAHNextApi = {
283
300
  },
284
301
  at: (_hash) => mockAHHistoricApi,
285
302
  };
303
+ // Helper functions for creating mock data
304
+ function mockSkippedEpochs(epochs) {
305
+ return registries_1.polkadotRegistry.createType('Vec<(u64, u32)>', epochs.map(([epoch, session]) => [
306
+ registries_1.polkadotRegistry.createType('u64', epoch),
307
+ registries_1.polkadotRegistry.createType('u32', session),
308
+ ]));
309
+ }
310
+ function createMockAssetHubHistoricApiWithNoneActiveEra() {
311
+ return {
312
+ ...mockAHHistoricApi,
313
+ query: {
314
+ ...mockAHHistoricApi.query,
315
+ staking: {
316
+ ...mockAHHistoricApi.query.staking,
317
+ activeEra: () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<ActiveEraInfo>', null)),
318
+ },
319
+ },
320
+ };
321
+ }
322
+ function createMockAssetHubHistoricApiWithNoneEraStartSessionIndex() {
323
+ return {
324
+ ...mockAHHistoricApi,
325
+ query: {
326
+ ...mockAHHistoricApi.query,
327
+ staking: {
328
+ ...mockAHHistoricApi.query.staking,
329
+ bondedEras: () => Promise.resolve().then(() => []),
330
+ },
331
+ },
332
+ };
333
+ }
334
+ function createMockRelayChainApiWithSkippedEpochs(skippedEpochs) {
335
+ return {
336
+ ...mockRCNextApi,
337
+ query: {
338
+ ...mockRCNextApi.query,
339
+ babe: {
340
+ ...mockRCNextApi.query.babe,
341
+ skippedEpochs: () => Promise.resolve().then(() => mockSkippedEpochs(skippedEpochs)),
342
+ },
343
+ },
344
+ at: (_hash) => ({
345
+ ...mockRCNextApi,
346
+ query: {
347
+ ...mockRCNextApi.query,
348
+ babe: {
349
+ ...mockRCNextApi.query.babe,
350
+ skippedEpochs: () => Promise.resolve().then(() => mockSkippedEpochs(skippedEpochs)),
351
+ },
352
+ },
353
+ }),
354
+ };
355
+ }
286
356
  describe('PalletStakingProgressService', () => {
287
357
  beforeAll(() => {
288
358
  jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockApi);
289
359
  });
360
+ beforeEach(() => {
361
+ // Reset all mocks before each test to prevent interference
362
+ jest.clearAllMocks();
363
+ // Reset ApiPromiseRegistry mocks to default state
364
+ jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockApi);
365
+ jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getAllAvailableSpecNames').mockReturnValue(['polkadot']);
366
+ jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApiByType').mockImplementation(() => []);
367
+ // Reset assetHubInfo to default state
368
+ apiRegistry_1.ApiPromiseRegistry.assetHubInfo = {
369
+ isAssetHub: false,
370
+ isAssetHubMigrated: false,
371
+ };
372
+ });
373
+ afterEach(() => {
374
+ // Clean up after each test
375
+ jest.restoreAllMocks();
376
+ });
290
377
  describe('derivePalletStakingProgress before AHM', () => {
291
378
  mockHistoricApi.query.session.validators = validatorsAt;
292
379
  it('works when ApiPromise works (block 789629)', async () => {
@@ -326,11 +413,14 @@ describe('PalletStakingProgressService', () => {
326
413
  });
327
414
  });
328
415
  describe('derivePalletStakingProgress after AHM', () => {
329
- it('it throws if historicApi does not have staking', async () => {
416
+ beforeEach(() => {
417
+ // Set up Asset Hub state for these tests
330
418
  apiRegistry_1.ApiPromiseRegistry.assetHubInfo = {
331
419
  isAssetHub: true,
332
420
  isAssetHubMigrated: true,
333
421
  };
422
+ });
423
+ it('it throws if historicApi does not have staking', async () => {
334
424
  const PalletStakingProgressService = new PalletsStakingProgressService_1.PalletsStakingProgressService('polkadot');
335
425
  jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockRCNextApi);
336
426
  jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getAllAvailableSpecNames').mockReturnValue(['polkadot', 'statemine']);
@@ -345,12 +435,18 @@ describe('PalletStakingProgressService', () => {
345
435
  await expect(PalletStakingProgressService.derivePalletStakingProgress(mock_1.blockHash789629)).rejects.toThrow('Staking pallet not found for queried runtime');
346
436
  });
347
437
  it('it throws if sidecar is connected to AH and querying historical block', async () => {
348
- apiRegistry_1.ApiPromiseRegistry.assetHubInfo = {
349
- isAssetHub: true,
350
- isAssetHubMigrated: true,
351
- };
352
438
  const PalletStakingProgressService = new PalletsStakingProgressService_1.PalletsStakingProgressService('statemine');
353
- jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockAHNextApi);
439
+ // Create a mock that throws an error for historical blocks
440
+ const mockApiThatThrowsForHistorical = {
441
+ ...mockAHNextApi,
442
+ at: (hash) => {
443
+ if (hash.eq(mock_1.blockHash100000)) {
444
+ throw new Error('At is currently unsupported for pallet staking validators connected to assethub');
445
+ }
446
+ return mockAHNextApi.at(hash);
447
+ },
448
+ };
449
+ jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockApiThatThrowsForHistorical);
354
450
  jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getAllAvailableSpecNames').mockReturnValue(['polkadot', 'statemine']);
355
451
  jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApiByType').mockImplementation(() => {
356
452
  return [
@@ -363,10 +459,6 @@ describe('PalletStakingProgressService', () => {
363
459
  await expect(PalletStakingProgressService.derivePalletStakingProgress(mock_1.blockHash100000)).rejects.toThrow('At is currently unsupported for pallet staking validators connected to assethub');
364
460
  });
365
461
  it('it throws if sidecar is connected to AH but no RC connection is available', async () => {
366
- apiRegistry_1.ApiPromiseRegistry.assetHubInfo = {
367
- isAssetHub: true,
368
- isAssetHubMigrated: true,
369
- };
370
462
  const PalletStakingProgressService = new PalletsStakingProgressService_1.PalletsStakingProgressService('statemine');
371
463
  jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockAHNextApi);
372
464
  jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getAllAvailableSpecNames').mockReturnValue(['polkadot', 'statemine']);
@@ -376,10 +468,6 @@ describe('PalletStakingProgressService', () => {
376
468
  await expect(PalletStakingProgressService.derivePalletStakingProgress(mock_1.blockHash789629)).rejects.toThrow('Relay chain API not found');
377
469
  });
378
470
  it('works when ApiPromise works (block 789629)', async () => {
379
- apiRegistry_1.ApiPromiseRegistry.assetHubInfo = {
380
- isAssetHub: true,
381
- isAssetHubMigrated: true,
382
- };
383
471
  const palletStakingProgressService = new PalletsStakingProgressService_1.PalletsStakingProgressService('statemine');
384
472
  // needs both RC and AH connection
385
473
  jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockAHNextApi);
@@ -392,16 +480,26 @@ describe('PalletStakingProgressService', () => {
392
480
  },
393
481
  ];
394
482
  });
395
- expect((0, sanitizeNumbers_1.sanitizeNumbers)(await palletStakingProgressService.derivePalletStakingProgress(mock_1.blockHash789629))).toStrictEqual(stakingProgress789629_json_1.default);
483
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(await palletStakingProgressService.derivePalletStakingProgress(mock_1.blockHash789629))).toStrictEqual(stakingProgressPostAhm_json_1.default);
396
484
  });
397
485
  it('throws when ErasStartSessionIndex.isNone', async () => {
398
- apiRegistry_1.ApiPromiseRegistry.assetHubInfo = {
399
- isAssetHub: true,
400
- isAssetHubMigrated: true,
486
+ // Create a fresh mock for this specific test
487
+ const mockHistoricApiWithNoneEraStartSessionIndex = {
488
+ ...mockAHHistoricApi,
489
+ query: {
490
+ ...mockAHHistoricApi.query,
491
+ staking: {
492
+ ...mockAHHistoricApi.query.staking,
493
+ bondedEras: () => Promise.resolve().then(() => []),
494
+ erasStartSessionIndex: () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<SessionIndex>', undefined)),
495
+ },
496
+ },
401
497
  };
402
- mockAHHistoricApi.query.staking.bondedEras = () => Promise.resolve().then(() => []);
403
- mockAHHistoricApi.query.staking.erasStartSessionIndex = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<SessionIndex>', undefined));
404
- jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockAHNextApi);
498
+ const mockApiWithNoneEraStartSessionIndex = {
499
+ ...mockAHNextApi,
500
+ at: (_hash) => Promise.resolve(mockHistoricApiWithNoneEraStartSessionIndex),
501
+ };
502
+ jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockApiWithNoneEraStartSessionIndex);
405
503
  jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getAllAvailableSpecNames').mockReturnValue(['polkadot', 'statemine']);
406
504
  jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApiByType').mockImplementation(() => {
407
505
  return [
@@ -411,18 +509,26 @@ describe('PalletStakingProgressService', () => {
411
509
  },
412
510
  ];
413
511
  });
414
- /**
415
- * Mock PalletStakingProgressService instance.
416
- */
417
512
  const palletStakingProgressService = new PalletsStakingProgressService_1.PalletsStakingProgressService('statemine');
418
513
  await expect(palletStakingProgressService.derivePalletStakingProgress(mock_1.blockHash789629)).rejects.toStrictEqual(new http_errors_1.InternalServerError('EraStartSessionIndex is None when Some was expected.'));
419
514
  });
420
515
  it('throws when activeEra.isNone', async () => {
421
- apiRegistry_1.ApiPromiseRegistry.assetHubInfo = {
422
- isAssetHub: true,
423
- isAssetHubMigrated: true,
516
+ // Create a fresh mock for this specific test
517
+ const mockHistoricApiWithNoneActiveEra = {
518
+ ...mockAHHistoricApi,
519
+ query: {
520
+ ...mockAHHistoricApi.query,
521
+ staking: {
522
+ ...mockAHHistoricApi.query.staking,
523
+ activeEra: () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<ActiveEraInfo>', null)),
524
+ },
525
+ },
424
526
  };
425
- jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockAHNextApi);
527
+ const mockApiWithNoneActiveEra = {
528
+ ...mockAHNextApi,
529
+ at: (_hash) => Promise.resolve(mockHistoricApiWithNoneActiveEra),
530
+ };
531
+ jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockApiWithNoneActiveEra);
426
532
  jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getAllAvailableSpecNames').mockReturnValue(['polkadot', 'statemine']);
427
533
  jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApiByType').mockImplementation(() => {
428
534
  return [
@@ -432,22 +538,23 @@ describe('PalletStakingProgressService', () => {
432
538
  },
433
539
  ];
434
540
  });
435
- mockAHHistoricApi.query.staking.activeEra = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<ActiveEraInfo>', null));
436
- /**
437
- * Mock PalletStakingProgressService instance.
438
- */
439
541
  const palletStakingProgressService = new PalletsStakingProgressService_1.PalletsStakingProgressService('statemine');
440
542
  await expect(palletStakingProgressService.derivePalletStakingProgress(mock_1.blockHash789629)).rejects.toStrictEqual(new http_errors_1.InternalServerError('ActiveEra is None when Some was expected.'));
441
543
  });
442
544
  it('works with entries in unappliedSlashes', async () => {
443
- apiRegistry_1.ApiPromiseRegistry.assetHubInfo = {
444
- isAssetHub: true,
445
- isAssetHubMigrated: true,
545
+ // Create a fresh mock for this specific test
546
+ const mockApiUnappliedSlashesForAH = {
547
+ ...mockApiUnappliedSlashes,
548
+ query: {
549
+ ...mockApiUnappliedSlashes.query,
550
+ session: null,
551
+ },
552
+ consts: {
553
+ ...mockApiUnappliedSlashes.consts,
554
+ session: null,
555
+ },
446
556
  };
447
- /**
448
- * Mock PalletStakingProgressService instance.
449
- */
450
- jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockApiUnappliedSlashes);
557
+ jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockApiUnappliedSlashesForAH);
451
558
  jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getAllAvailableSpecNames').mockReturnValue(['polkadot', 'statemine']);
452
559
  jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApiByType').mockImplementation(() => {
453
560
  return [
@@ -457,11 +564,116 @@ describe('PalletStakingProgressService', () => {
457
564
  },
458
565
  ];
459
566
  });
460
- mockApiUnappliedSlashes.query.staking.unappliedSlashes.entries = () => Promise.resolve([['5640', unappliedSlashes]]);
461
- mockApiUnappliedSlashes.query.session = null;
462
- mockApiUnappliedSlashes.consts.session = null;
463
567
  const palletStakingProgressServiceUnappliedSlashes = new PalletsStakingProgressService_1.PalletsStakingProgressService('statemine');
464
- expect((0, sanitizeNumbers_1.sanitizeNumbers)(await palletStakingProgressServiceUnappliedSlashes.derivePalletStakingProgress(mock_1.blockHash789629))).toStrictEqual(stakingProgressUnappliedSlashes_json_1.default);
568
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(await palletStakingProgressServiceUnappliedSlashes.derivePalletStakingProgress(mock_1.blockHash789629))).toStrictEqual(stakingProgressUnappliedSlashesPostAHM_json_1.default);
569
+ });
570
+ });
571
+ describe('Asset Hub BABE Calculations', () => {
572
+ describe('derivePalletStakingProgress with Asset Hub BABE calculations', () => {
573
+ beforeEach(() => {
574
+ apiRegistry_1.ApiPromiseRegistry.assetHubInfo = {
575
+ isAssetHub: true,
576
+ isAssetHubMigrated: true,
577
+ };
578
+ });
579
+ it('uses Asset Hub calculation when isAssetHub && isAssetHubMigrated', async () => {
580
+ const service = new PalletsStakingProgressService_1.PalletsStakingProgressService('statemine');
581
+ jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockAHNextApi);
582
+ jest
583
+ .spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApiByType')
584
+ .mockImplementation(() => [{ specName: 'polkadot', api: mockRCNextApi }]);
585
+ const result = await service.derivePalletStakingProgress(mock_1.blockHash789629);
586
+ // Verify the result has the expected structure
587
+ expect(result).toHaveProperty('at');
588
+ expect(result).toHaveProperty('activeEra');
589
+ expect(result).toHaveProperty('forceEra');
590
+ expect(result).toHaveProperty('nextSessionEstimate');
591
+ expect(result).toHaveProperty('unappliedSlashes');
592
+ });
593
+ it('throws when ActiveEra is None for Asset Hub', async () => {
594
+ const service = new PalletsStakingProgressService_1.PalletsStakingProgressService('statemine');
595
+ // Create a fresh mock for this specific test
596
+ const mockHistoricApiWithNoneActiveEra = createMockAssetHubHistoricApiWithNoneActiveEra();
597
+ const mockApiWithNoneActiveEra = {
598
+ ...mockAHNextApi,
599
+ at: (_hash) => Promise.resolve(mockHistoricApiWithNoneActiveEra),
600
+ };
601
+ jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockApiWithNoneActiveEra);
602
+ jest
603
+ .spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApiByType')
604
+ .mockImplementation(() => [{ specName: 'polkadot', api: mockRCNextApi }]);
605
+ await expect(service.derivePalletStakingProgress(mock_1.blockHash789629)).rejects.toThrow('ActiveEra is None when Some was expected.');
606
+ });
607
+ it('throws when EraStartSessionIndex is None for Asset Hub', async () => {
608
+ const service = new PalletsStakingProgressService_1.PalletsStakingProgressService('statemine');
609
+ // Create a fresh mock for this specific test
610
+ const mockHistoricApiWithNoneEraStartSessionIndex = createMockAssetHubHistoricApiWithNoneEraStartSessionIndex();
611
+ const mockApiWithNoneEraStartSessionIndex = {
612
+ ...mockAHNextApi,
613
+ at: (_hash) => Promise.resolve(mockHistoricApiWithNoneEraStartSessionIndex),
614
+ };
615
+ jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockApiWithNoneEraStartSessionIndex);
616
+ jest
617
+ .spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApiByType')
618
+ .mockImplementation(() => [{ specName: 'polkadot', api: mockRCNextApi }]);
619
+ await expect(service.derivePalletStakingProgress(mock_1.blockHash789629)).rejects.toThrow('EraStartSessionIndex is None when Some was expected.');
620
+ });
621
+ it('calculates session index with skipped epochs for Asset Hub', async () => {
622
+ const service = new PalletsStakingProgressService_1.PalletsStakingProgressService('statemine');
623
+ jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockAHNextApi);
624
+ jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApiByType').mockImplementation(() => [{ specName: 'polkadot', api: createMockRelayChainApiWithSkippedEpochs([[16, 12]]) }]);
625
+ const result = await service.derivePalletStakingProgress(mock_1.blockHash789629);
626
+ // Verify the result has the expected structure
627
+ expect(result).toHaveProperty('at');
628
+ expect(result).toHaveProperty('activeEra');
629
+ expect(result).toHaveProperty('forceEra');
630
+ expect(result).toHaveProperty('nextSessionEstimate');
631
+ expect(result).toHaveProperty('unappliedSlashes');
632
+ });
633
+ it('uses hardcoded BABE values for time-based calculations in Asset Hub', async () => {
634
+ const service = new PalletsStakingProgressService_1.PalletsStakingProgressService('statemine');
635
+ jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockAHNextApi);
636
+ jest
637
+ .spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApiByType')
638
+ .mockImplementation(() => [{ specName: 'polkadot', api: mockRCNextApi }]);
639
+ const result = await service.derivePalletStakingProgress(mock_1.blockHash789629);
640
+ // Verify the result has the expected structure and uses time-based calculations
641
+ expect(result).toHaveProperty('at');
642
+ expect(result).toHaveProperty('activeEra');
643
+ expect(result).toHaveProperty('forceEra');
644
+ expect(result).toHaveProperty('nextSessionEstimate');
645
+ expect(result).toHaveProperty('unappliedSlashes');
646
+ });
647
+ });
648
+ });
649
+ describe('Non-Asset Hub calculations', () => {
650
+ beforeEach(() => {
651
+ // Reset to non-Asset Hub state for these tests
652
+ apiRegistry_1.ApiPromiseRegistry.assetHubInfo = {
653
+ isAssetHub: false,
654
+ isAssetHubMigrated: false,
655
+ };
656
+ // Ensure the mock has the correct bondedEras return type
657
+ mockHistoricApi.query.staking.bondedEras = () => Promise.resolve([
658
+ [40, 276],
659
+ [41, 282],
660
+ [42, 288],
661
+ [43, 294],
662
+ [44, 300],
663
+ [45, 306],
664
+ [46, 312],
665
+ [47, 318],
666
+ [48, 324],
667
+ [49, 330],
668
+ ].map((el) => [registries_1.polkadotRegistry.createType('u32', el[0]), registries_1.polkadotRegistry.createType('u32', el[1])]));
669
+ });
670
+ it('uses regular calculation when not Asset Hub', async () => {
671
+ const service = new PalletsStakingProgressService_1.PalletsStakingProgressService('polkadot');
672
+ // Use the regular mock (not Asset Hub mock) for this test
673
+ jest.spyOn(apiRegistry_1.ApiPromiseRegistry, 'getApi').mockImplementation(() => mockApi);
674
+ const result = await service.derivePalletStakingProgress(mock_1.blockHash789629);
675
+ // Verify the result has the expected structure and matches the original response
676
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(result)).toStrictEqual(stakingProgress789629_json_1.default);
465
677
  });
466
678
  });
467
679
  });
@@ -1 +1 @@
1
- {"version":3,"file":"PalletsStakingProgressService.spec.js","sourceRoot":"","sources":["../../../../src/services/pallets/PalletsStakingProgressService.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PalletsStakingProgressService.spec.js","sourceRoot":"","sources":["../../../../src/services/pallets/PalletsStakingProgressService.spec.ts"],"names":[],"mappings":";AAAA,qDAAqD;AACrD,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;;;;;AASxE,6CAAkD;AAElD,mDAAuD;AACvD,oEAAiE;AACjE,8DAAiE;AACjE,+CAM8B;AAC9B,uFAAoF;AACpF,8HAAiH;AACjH,gIAAmG;AACnG,kJAA8G;AAC9G,gKAAmI;AACnI,mFAAgF;AAEhF,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AAEjG,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAExG,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAExG,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;AAE5G,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;AAE7G,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAChC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAE9F,MAAM,YAAY,GAAG,GAAG,EAAE,CACzB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,kBAAkB,EAAE,yCAAmB,CAAC,CAAC,CAAC;AAEpG,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;AAE5G,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACpC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AAErG,MAAM,eAAe,GAAG;IACvB,GAAG,qBAAc;IACjB,MAAM,EAAE;QACP,IAAI,EAAE;YACL,aAAa,EAAE,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC;SACvD;QACD,OAAO,EAAE;YACR,iBAAiB,EAAE,6BAAgB,CAAC,UAAU,CAAC,aAAa,CAAC;YAC7D,cAAc,EAAE,6BAAgB,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;SAC9D;KACD;IACD,KAAK,EAAE;QACN,IAAI,EAAE;YACL,WAAW,EAAE,aAAa;YAC1B,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,aAAa;SAC1B;QACD,OAAO,EAAE;YACR,YAAY,EAAE,cAAc;YAC5B,UAAU,EAAE,YAAY;SACxB;QACD,SAAS,EAAE;YACV,GAAG,EAAE,cAAc;SACnB;QACD,OAAO,EAAE;YACR,SAAS,EAAE,kBAAW;YACtB,iBAAiB,EAAE,mBAAmB;YACtC,qBAAqB,EAAE,8BAAuB;YAC9C,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,GAAG,EAAE,CAChB,OAAO,CAAC,OAAO,CACd;gBACC,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;aACT,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACrG;YACF,gBAAgB,EAAE;gBACjB,OAAO,EAAE,uBAAuB;aAChC;YACD,cAAc,EAAE,gBAAgB;SAChC;KACD;CACsC,CAAC;AAEzC,MAAM,OAAO,GAAG;IACf,GAAG,qBAAc;IACjB,EAAE,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,eAAe;CACX,CAAC;AAE3B,MAAM,gBAAgB,GAAG;IACxB;QACC,SAAS,EAAE,kDAAkD;QAC7D,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,CAAC,CAAC,kDAAkD,EAAE,eAAe,CAAC,CAAC;QAC/E,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE;YACP,OAAO;gBACN,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;gBACrE,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;aACnB,CAAC;QACH,CAAC;KACD;CACD,CAAC;AACF,MAAM,uCAAuC,GAAG,GAAG,EAAE;IACpD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,+BAA+B,GAAG;IACvC,GAAG,qBAAc;IACjB,MAAM,EAAE;QACP,IAAI,EAAE;YACL,aAAa,EAAE,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC;SACvD;QACD,OAAO,EAAE;YACR,iBAAiB,EAAE,6BAAgB,CAAC,UAAU,CAAC,aAAa,CAAC;YAC7D,cAAc,EAAE,6BAAgB,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;SAC9D;KACD;IACD,KAAK,EAAE;QACN,IAAI,EAAE;YACL,WAAW,EAAE,aAAa;YAC1B,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,aAAa;SAC1B;QACD,OAAO,EAAE;YACR,YAAY,EAAE,cAAc;YAC5B,UAAU,EAAE,YAAY;SACxB;QACD,SAAS,EAAE;YACV,GAAG,EAAE,cAAc;SACnB;QACD,OAAO,EAAE;YACR,SAAS,EAAE,kBAAW;YACtB,iBAAiB,EAAE,mBAAmB;YACtC,qBAAqB,EAAE,8BAAuB;YAC9C,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,GAAG,EAAE,CAChB,OAAO,CAAC,OAAO,CACd;gBACC,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;aACT,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACrG;YACF,gBAAgB,EAAE;gBACjB,OAAO,EAAE,uCAAuC;aAChD;YACD,cAAc,EAAE,gBAAgB;SAChC;KACD;CACsC,CAAC;AAEzC,MAAM,uBAAuB,GAAG;IAC/B,GAAG;QACF,GAAG,+BAA+B;QAClC,KAAK,EAAE;YACN,GAAG,+BAA+B,CAAC,KAAK;YACxC,OAAO,EAAE;gBACR,GAAG,+BAA+B,CAAC,KAAK,CAAC,OAAO;gBAChD,gBAAgB,EAAE;oBACjB,OAAO,EAAE,uCAAuC;iBAChD;aACD;SACD;KACD;IACD,EAAE,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,CAAC;QACrB,GAAG,+BAA+B;QAClC,KAAK,EAAE;YACN,GAAG,+BAA+B,CAAC,KAAK;YACxC,OAAO,EAAE;gBACR,GAAG,+BAA+B,CAAC,KAAK,CAAC,OAAO;gBAChD,gBAAgB,EAAE;oBACjB,OAAO,EAAE,uCAAuC;iBAChD;aACD;SACD;KACD,CAAC;CACuB,CAAC;AAE3B,MAAM,aAAa,GAAG;IACrB,GAAG,qBAAc;IACjB,MAAM,EAAE;QACP,GAAG,qBAAc,CAAC,MAAM;QACxB,IAAI,EAAE;YACL,aAAa,EAAE,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC;SACvD;KACD;IACD,KAAK,EAAE;QACN,GAAG,qBAAc,CAAC,KAAK;QACvB,IAAI,EAAE;YACL,WAAW,EAAE,aAAa;YAC1B,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,aAAa;YAC1B,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;SACrG;QACD,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE;YACR,YAAY,EAAE,cAAc;YAC5B,UAAU,EAAE,YAAY;SACxB;KACD;IACD,EAAE,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,CAAC;QACrB,GAAG,eAAe;QAClB,MAAM,EAAE;YACP,GAAG,eAAe,CAAC,MAAM;YACzB,IAAI,EAAE;gBACL,aAAa,EAAE,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC;aACvD;SACD;QACD,KAAK,EAAE;YACN,GAAG,eAAe,CAAC,KAAK;YACxB,IAAI,EAAE;gBACL,WAAW,EAAE,aAAa;gBAC1B,UAAU,EAAE,YAAY;gBACxB,WAAW,EAAE,aAAa;gBAC1B,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;aACrG;YACD,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACR,YAAY,EAAE,cAAc;gBAC5B,UAAU,EAAE,YAAY;aACxB;SACD;KACD,CAAC;CACuB,CAAC;AAE3B,MAAM,iBAAiB,GAAG;IACzB,GAAG,eAAe;IAClB,MAAM,EAAE;QACP,GAAG,eAAe,CAAC,MAAM;QACzB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE;YACR,iBAAiB,EAAE,6BAAgB,CAAC,UAAU,CAAC,aAAa,CAAC;YAC7D,cAAc,EAAE,6BAAgB,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;SAC9D;KACD;IACD,KAAK,EAAE;QACN,GAAG,eAAe,CAAC,KAAK;QACxB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,GAAG,EAAE,cAAc;SACnB;QACD,OAAO,EAAE;YACR,SAAS,EAAE,kBAAW;YACtB,iBAAiB,EAAE,mBAAmB;YACtC,qBAAqB,EAAE,8BAAuB;YAC9C,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,GAAG,EAAE,CAChB,OAAO,CAAC,OAAO,CACd;gBACC,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;aACT,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACrG;YACF,gBAAgB,EAAE;gBACjB,OAAO,EAAE,uBAAuB;aAChC;YACD,cAAc,EAAE,gBAAgB;SAChC;KACD;CACD,CAAC;AAEF,MAAM,aAAa,GAAG;IACrB,GAAG,qBAAc;IACjB,MAAM,EAAE;QACP,GAAG,eAAe,CAAC,MAAM;QACzB,IAAI,EAAE,IAAI;KACV;IACD,KAAK,EAAE;QACN,GAAG,qBAAc,CAAC,KAAK;QACvB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,GAAG,EAAE,cAAc;SACnB;QACD,OAAO,EAAE;YACR,SAAS,EAAE,kBAAW;YACtB,iBAAiB,EAAE,mBAAmB;YACtC,qBAAqB,EAAE,8BAAuB;YAC9C,QAAQ,EAAE,UAAU;YACpB,gBAAgB,EAAE;gBACjB,OAAO,EAAE,uBAAuB;aAChC;YACD,cAAc,EAAE,gBAAgB;SAChC;KACD;IACD,EAAE,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,iBAAiB;CACb,CAAC;AAE3B,0CAA0C;AAC1C,SAAS,iBAAiB,CAAC,MAA0B;IACpD,OAAO,6BAAgB,CAAC,UAAU,CACjC,iBAAiB,EACjB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;QAChC,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC;QACzC,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;KAC3C,CAAC,CACF,CAAC;AACH,CAAC;AAED,SAAS,8CAA8C;IACtD,OAAO;QACN,GAAG,iBAAiB;QACpB,KAAK,EAAE;YACN,GAAG,iBAAiB,CAAC,KAAK;YAC1B,OAAO,EAAE;gBACR,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO;gBAClC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;aACzG;SACD;KACsC,CAAC;AAC1C,CAAC;AAED,SAAS,yDAAyD;IACjE,OAAO;QACN,GAAG,iBAAiB;QACpB,KAAK,EAAE;YACN,GAAG,iBAAiB,CAAC,KAAK;YAC1B,OAAO,EAAE;gBACR,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO;gBAClC,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;aAClD;SACD;KACsC,CAAC;AAC1C,CAAC;AAED,SAAS,wCAAwC,CAAC,aAAiC;IAClF,OAAO;QACN,GAAG,aAAa;QAChB,KAAK,EAAE;YACN,GAAG,aAAa,CAAC,KAAK;YACtB,IAAI,EAAE;gBACL,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI;gBAC3B,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;aACnF;SACD;QACD,EAAE,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,CAAC;YACrB,GAAG,aAAa;YAChB,KAAK,EAAE;gBACN,GAAG,aAAa,CAAC,KAAK;gBACtB,IAAI,EAAE;oBACL,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI;oBAC3B,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;iBACnF;aACD;SACD,CAAC;KACuB,CAAC;AAC5B,CAAC;AAED,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC7C,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACf,2DAA2D;QAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,kDAAkD;QAClD,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,0BAA0B,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,cAAc,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAE5E,sCAAsC;QACtC,gCAAkB,CAAC,YAAY,GAAG;YACjC,UAAU,EAAE,KAAK;YACjB,kBAAkB,EAAE,KAAK;SACzB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACd,2BAA2B;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE;QACtD,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,UAAsB,GAAG,YAAY,CAAC;QAErE,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC3D;;eAEG;YACH,MAAM,4BAA4B,GAAG,IAAI,6DAA6B,CAAC,UAAU,CAAC,CAAC;YAEnF,MAAM,CACL,IAAA,iCAAe,EAAC,MAAM,4BAA4B,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAAC,CAChG,CAAC,aAAa,CAAC,oCAAqC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,UAAkB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAS,CAAC,CAAC;YAEpF,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,qBAA6B,GAAG,GAAG,EAAE,CACnE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC,CAAC;YACzF;;eAEG;YACH,MAAM,4BAA4B,GAAG,IAAI,6DAA6B,CAAC,UAAU,CAAC,CAAC;YACnF,MAAM,MAAM,CAAC,4BAA4B,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAC5G,IAAI,iCAAmB,CAAC,sDAAsD,CAAC,CAC/E,CAAC;YAED,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,qBAA6B,GAAG,8BAAuB,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,SAAiB,GAAG,GAAG,EAAE,CACvD,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1F;;eAEG;YACH,MAAM,4BAA4B,GAAG,IAAI,6DAA6B,CAAC,UAAU,CAAC,CAAC;YACnF,MAAM,MAAM,CAAC,4BAA4B,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAC5G,IAAI,iCAAmB,CAAC,2CAA2C,CAAC,CACpE,CAAC;YAED,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,SAAiB,GAAG,kBAAW,CAAC;YAC9D,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,UAAsB,GAAG,YAAY,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACvD;;eAEG;YACH,MAAM,4CAA4C,GAAG,IAAI,6DAA6B,CAAC,UAAU,CAAC,CAAC;YAEnG,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC;YAC3F,MAAM,CACL,IAAA,iCAAe,EACd,MAAM,4CAA4C,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAC/F,CACD,CAAC,aAAa,CAAC,8CAAwB,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;QACtD,UAAU,CAAC,GAAG,EAAE;YACf,yCAAyC;YACzC,gCAAkB,CAAC,YAAY,GAAG;gBACjC,UAAU,EAAE,IAAI;gBAChB,kBAAkB,EAAE,IAAI;aACxB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,4BAA4B,GAAG,IAAI,6DAA6B,CAAC,UAAU,CAAC,CAAC;YACnF,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC;YACjF,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,0BAA0B,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;YAEtG,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,cAAc,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACtE,OAAO;oBACN;wBACC,QAAQ,EAAE,UAAU;wBACpB,GAAG,EAAE,aAAa;qBAClB;iBACqD,CAAC;YACzD,CAAC,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,4BAA4B,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACtG,8CAA8C,CAC9C,CAAC;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACtF,MAAM,4BAA4B,GAAG,IAAI,6DAA6B,CAAC,WAAW,CAAC,CAAC;YAEpF,2DAA2D;YAC3D,MAAM,8BAA8B,GAAG;gBACtC,GAAG,aAAa;gBAChB,EAAE,EAAE,CAAC,IAAU,EAAE,EAAE;oBAClB,IAAI,IAAI,CAAC,EAAE,CAAC,sBAAe,CAAC,EAAE,CAAC;wBAC9B,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;oBACpG,CAAC;oBACD,OAAO,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC;aACwB,CAAC;YAE3B,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC,CAAC;YAClG,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,0BAA0B,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;YAEtG,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,cAAc,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACtE,OAAO;oBACN;wBACC,QAAQ,EAAE,UAAU;wBACpB,GAAG,EAAE,aAAa;qBAClB;iBACqD,CAAC;YACzD,CAAC,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,4BAA4B,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACtG,iFAAiF,CACjF,CAAC;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;YAC1F,MAAM,4BAA4B,GAAG,IAAI,6DAA6B,CAAC,WAAW,CAAC,CAAC;YACpF,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC;YACjF,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,0BAA0B,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;YAEtG,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,cAAc,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACtE,OAAO,EAAwD,CAAC;YACjE,CAAC,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,4BAA4B,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACtG,2BAA2B,CAC3B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,4BAA4B,GAAG,IAAI,6DAA6B,CAAC,WAAW,CAAC,CAAC;YACpF,kCAAkC;YAClC,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC;YACjF,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,0BAA0B,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,cAAc,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACtE,OAAO;oBACN;wBACC,QAAQ,EAAE,UAAU;wBACpB,GAAG,EAAE,aAAa;qBAClB;iBACqD,CAAC;YACzD,CAAC,CAAC,CAAC;YACH,MAAM,CACL,IAAA,iCAAe,EAAC,MAAM,4BAA4B,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAAC,CAChG,CAAC,aAAa,CAAC,qCAAsB,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACzD,6CAA6C;YAC7C,MAAM,2CAA2C,GAAG;gBACnD,GAAG,iBAAiB;gBACpB,KAAK,EAAE;oBACN,GAAG,iBAAiB,CAAC,KAAK;oBAC1B,OAAO,EAAE;wBACR,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO;wBAClC,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;wBAClD,qBAAqB,EAAE,GAAG,EAAE,CAC3B,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;qBAC7F;iBACD;aACsC,CAAC;YAEzC,MAAM,mCAAmC,GAAG;gBAC3C,GAAG,aAAa;gBAChB,EAAE,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,2CAA2C,CAAC;aACxD,CAAC;YAE3B,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,mCAAmC,CAAC,CAAC;YACvG,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,0BAA0B,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,cAAc,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACtE,OAAO;oBACN;wBACC,QAAQ,EAAE,UAAU;wBACpB,GAAG,EAAE,aAAa;qBAClB;iBACqD,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,MAAM,4BAA4B,GAAG,IAAI,6DAA6B,CAAC,WAAW,CAAC,CAAC;YACpF,MAAM,MAAM,CAAC,4BAA4B,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAC5G,IAAI,iCAAmB,CAAC,sDAAsD,CAAC,CAC/E,CAAC;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC7C,6CAA6C;YAC7C,MAAM,gCAAgC,GAAG;gBACxC,GAAG,iBAAiB;gBACpB,KAAK,EAAE;oBACN,GAAG,iBAAiB,CAAC,KAAK;oBAC1B,OAAO,EAAE;wBACR,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO;wBAClC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;qBACzG;iBACD;aACsC,CAAC;YAEzC,MAAM,wBAAwB,GAAG;gBAChC,GAAG,aAAa;gBAChB,EAAE,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,gCAAgC,CAAC;aAC7C,CAAC;YAE3B,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAC;YAC5F,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,0BAA0B,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,cAAc,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACtE,OAAO;oBACN;wBACC,QAAQ,EAAE,UAAU;wBACpB,GAAG,EAAE,aAAa;qBAClB;iBACqD,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,MAAM,4BAA4B,GAAG,IAAI,6DAA6B,CAAC,WAAW,CAAC,CAAC;YACpF,MAAM,MAAM,CAAC,4BAA4B,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAC5G,IAAI,iCAAmB,CAAC,2CAA2C,CAAC,CACpE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACvD,6CAA6C;YAC7C,MAAM,4BAA4B,GAAG;gBACpC,GAAG,uBAAuB;gBAC1B,KAAK,EAAE;oBACN,GAAG,uBAAuB,CAAC,KAAK;oBAChC,OAAO,EAAE,IAAI;iBACb;gBACD,MAAM,EAAE;oBACP,GAAG,uBAAuB,CAAC,MAAM;oBACjC,OAAO,EAAE,IAAI;iBACb;aACwB,CAAC;YAE3B,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,4BAA4B,CAAC,CAAC;YAChG,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,0BAA0B,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,cAAc,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACtE,OAAO;oBACN;wBACC,QAAQ,EAAE,UAAU;wBACpB,GAAG,EAAE,aAAa;qBAClB;iBACqD,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,MAAM,4CAA4C,GAAG,IAAI,6DAA6B,CAAC,WAAW,CAAC,CAAC;YACpG,MAAM,CACL,IAAA,iCAAe,EACd,MAAM,4CAA4C,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAC/F,CACD,CAAC,aAAa,CAAC,qDAAsC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC5C,QAAQ,CAAC,8DAA8D,EAAE,GAAG,EAAE;YAC7E,UAAU,CAAC,GAAG,EAAE;gBACf,gCAAkB,CAAC,YAAY,GAAG;oBACjC,UAAU,EAAE,IAAI;oBAChB,kBAAkB,EAAE,IAAI;iBACxB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;gBACjF,MAAM,OAAO,GAAG,IAAI,6DAA6B,CAAC,WAAW,CAAC,CAAC;gBAC/D,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC;gBACjF,IAAI;qBACF,KAAK,CAAC,gCAAkB,EAAE,cAAc,CAAC;qBACzC,kBAAkB,CAClB,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,CAAuD,CAC1G,CAAC;gBAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAAC;gBAE1E,+CAA+C;gBAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;gBACrD,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;gBAC5D,MAAM,OAAO,GAAG,IAAI,6DAA6B,CAAC,WAAW,CAAC,CAAC;gBAE/D,6CAA6C;gBAC7C,MAAM,gCAAgC,GAAG,8CAA8C,EAAE,CAAC;gBAC1F,MAAM,wBAAwB,GAAG;oBAChC,GAAG,aAAa;oBAChB,EAAE,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,gCAAgC,CAAC;iBAC7C,CAAC;gBAE3B,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAC;gBAC5F,IAAI;qBACF,KAAK,CAAC,gCAAkB,EAAE,cAAc,CAAC;qBACzC,kBAAkB,CAClB,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,CAAuD,CAC1G,CAAC;gBAEH,MAAM,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACjF,2CAA2C,CAC3C,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;gBACvE,MAAM,OAAO,GAAG,IAAI,6DAA6B,CAAC,WAAW,CAAC,CAAC;gBAE/D,6CAA6C;gBAC7C,MAAM,2CAA2C,GAAG,yDAAyD,EAAE,CAAC;gBAChH,MAAM,mCAAmC,GAAG;oBAC3C,GAAG,aAAa;oBAChB,EAAE,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,2CAA2C,CAAC;iBACxD,CAAC;gBAE3B,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,mCAAmC,CAAC,CAAC;gBACvG,IAAI;qBACF,KAAK,CAAC,gCAAkB,EAAE,cAAc,CAAC;qBACzC,kBAAkB,CAClB,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,CAAuD,CAC1G,CAAC;gBAEH,MAAM,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACjF,sDAAsD,CACtD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;gBAC3E,MAAM,OAAO,GAAG,IAAI,6DAA6B,CAAC,WAAW,CAAC,CAAC;gBAC/D,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC;gBACjF,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,cAAc,CAAC,CAAC,kBAAkB,CAChE,GAAG,EAAE,CACJ,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,wCAAwC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAGjF,CACJ,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAAC;gBAE1E,+CAA+C;gBAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;gBACrD,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;gBACpF,MAAM,OAAO,GAAG,IAAI,6DAA6B,CAAC,WAAW,CAAC,CAAC;gBAC/D,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC;gBACjF,IAAI;qBACF,KAAK,CAAC,gCAAkB,EAAE,cAAc,CAAC;qBACzC,kBAAkB,CAClB,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,CAAuD,CAC1G,CAAC;gBAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAAC;gBAE1E,gFAAgF;gBAChF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;gBACrD,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC3C,UAAU,CAAC,GAAG,EAAE;YACf,+CAA+C;YAC/C,gCAAkB,CAAC,YAAY,GAAG;gBACjC,UAAU,EAAE,KAAK;gBACjB,kBAAkB,EAAE,KAAK;aACzB,CAAC;YAEF,yDAAyD;YACxD,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,UAAkB,GAAG,GAAG,EAAE,CACxD,OAAO,CAAC,OAAO,CACd;gBACC,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;gBACT,CAAC,EAAE,EAAE,GAAG,CAAC;aACT,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACrG,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,OAAO,GAAG,IAAI,6DAA6B,CAAC,UAAU,CAAC,CAAC;YAE9D,0DAA0D;YAC1D,IAAI,CAAC,KAAK,CAAC,gCAAkB,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;YAE3E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,2BAA2B,CAAC,sBAAe,CAAC,CAAC;YAE1E,iFAAiF;YACjF,MAAM,CAAC,IAAA,iCAAe,EAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,oCAAqC,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -84,6 +84,7 @@ export interface IBlockQueryParams extends Query {
84
84
  noFees?: string;
85
85
  decodedXcmMsgs?: string;
86
86
  paraId?: string;
87
+ useRcBlock?: string;
87
88
  }
88
89
  export interface IRequestHandlerWithMetrics<T = unknown, P = unknown> extends RequestHandler<T, unknown, unknown, P, IMetrics> {
89
90
  }
@@ -30,6 +30,8 @@ export interface IAssetBalance {
30
30
  export interface IAccountAssetsBalances {
31
31
  at: IAt;
32
32
  assets: IAssetBalance[];
33
+ rcBlockNumber?: string;
34
+ ahTimestamp?: string;
33
35
  }
34
36
  /**
35
37
  * Response from `/accounts/{accountId}/asset-approvals?asset=assetId&delegate=accountId`
@@ -40,4 +42,6 @@ export interface IAccountAssetApproval {
40
42
  at: IAt;
41
43
  amount: u128 | null;
42
44
  deposit: TAssetDepositBalance | null;
45
+ rcBlockNumber?: string;
46
+ ahTimestamp?: string;
43
47
  }
@@ -11,6 +11,8 @@ export interface IAccountBalanceInfo {
11
11
  feeFrozen: Balance | string;
12
12
  frozen: Balance | string;
13
13
  locks: Vec<BalanceLock> | IBalanceLock[];
14
+ rcBlockNumber?: string;
15
+ ahTimestamp?: string;
14
16
  }
15
17
  export interface IBalanceLock {
16
18
  id: LockIdentifier;
@@ -30,14 +30,18 @@ export interface IPoolAssetBalance {
30
30
  export interface IAccountPoolAssetsBalances {
31
31
  at: IAt;
32
32
  poolAssets: IPoolAssetBalance[];
33
+ rcBlockNumber?: string;
34
+ ahTimestamp?: string;
33
35
  }
34
36
  /**
35
- * Response from `/accounts/{accountId}/asset-approvals?asset=assetId&delegate=accountId`
37
+ * Response from `/accounts/{accountId}/pool-asset-approvals?asset=assetId&delegate=accountId`
36
38
  *
37
- * If an asset-approval does not exist, the `amount` and `deposit` will be null.
39
+ * If a pool asset approval does not exist, the `amount` and `deposit` will be null.
38
40
  */
39
41
  export interface IAccountPoolAssetApproval {
40
42
  at: IAt;
41
43
  amount: u128 | null;
42
44
  deposit: TAssetDepositBalance | null;
45
+ rcBlockNumber?: string;
46
+ ahTimestamp?: string;
43
47
  }
@@ -5,4 +5,6 @@ export interface AccountsProxyInfo {
5
5
  at: IAt;
6
6
  delegatedAccounts: Vec<PalletProxyProxyDefinition>;
7
7
  depositHeld: u128;
8
+ rcBlockNumber?: string;
9
+ ahTimestamp?: string;
8
10
  }
@@ -23,4 +23,6 @@ export interface IAccountStakingInfo {
23
23
  numSlashingSpans: number;
24
24
  nominations: PalletStakingNominations | null;
25
25
  staking: IStakingLedger | null;
26
+ rcBlockNumber?: string;
27
+ ahTimestamp?: string;
26
28
  }
@@ -4,4 +4,6 @@ export interface IAccountStakingPayouts {
4
4
  erasPayouts: (IEraPayouts | {
5
5
  message: string;
6
6
  })[];
7
+ rcBlockNumber?: string;
8
+ ahTimestamp?: string;
7
9
  }
@@ -4,4 +4,6 @@ import { IAt } from '.';
4
4
  export interface IAccountVestingInfo {
5
5
  at: IAt;
6
6
  vesting: Option<VestingInfo> | {};
7
+ rcBlockNumber?: string;
8
+ ahTimestamp?: string;
7
9
  }
@@ -13,4 +13,6 @@ export interface IPalletStakingProgress {
13
13
  toggleEstimate: string | null;
14
14
  } | string;
15
15
  validatorSet?: string[] | null;
16
+ rcBlockNumber?: string;
17
+ ahTimestamp?: string;
16
18
  }