@substrate/api-sidecar 17.3.4 → 17.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 (61) hide show
  1. package/README.md +3 -2
  2. package/build/package.json +1 -1
  3. package/build/src/controllers/blocks/BlocksController.d.ts +9 -1
  4. package/build/src/controllers/blocks/BlocksController.js +18 -2
  5. package/build/src/controllers/blocks/BlocksController.js.map +1 -1
  6. package/build/src/controllers/blocks/BlocksExtrinsicsController.d.ts +2 -2
  7. package/build/src/controllers/blocks/BlocksExtrinsicsController.js +3 -1
  8. package/build/src/controllers/blocks/BlocksExtrinsicsController.js.map +1 -1
  9. package/build/src/controllers/transaction/TransactionMaterialController.d.ts +2 -3
  10. package/build/src/controllers/transaction/TransactionMaterialController.js +3 -6
  11. package/build/src/controllers/transaction/TransactionMaterialController.js.map +1 -1
  12. package/build/src/services/accounts/AccountsStakingPayoutsService.js +5 -4
  13. package/build/src/services/accounts/AccountsStakingPayoutsService.js.map +1 -1
  14. package/build/src/services/blocks/BlocksService.d.ts +7 -5
  15. package/build/src/services/blocks/BlocksService.js +16 -4
  16. package/build/src/services/blocks/BlocksService.js.map +1 -1
  17. package/build/src/services/blocks/BlocksService.spec.js +232 -1
  18. package/build/src/services/blocks/BlocksService.spec.js.map +1 -1
  19. package/build/src/services/blocks/XCMDecoder.d.ts +18 -0
  20. package/build/src/services/blocks/XCMDecoder.js +145 -0
  21. package/build/src/services/blocks/XCMDecoder.js.map +1 -0
  22. package/build/src/types/responses/Block.d.ts +2 -0
  23. package/build/src/types/responses/BlockXCMMessages.d.ts +19 -0
  24. package/build/src/types/responses/BlockXCMMessages.js +18 -0
  25. package/build/src/types/responses/BlockXCMMessages.js.map +1 -0
  26. package/build/src/types/responses/SanitizedArgs.d.ts +3 -1
  27. package/build/src/types/responses/SanitizedArgs.js +1 -1
  28. package/build/src/types/responses/SanitizedBackedCandidate.d.ts +7 -0
  29. package/build/src/types/responses/SanitizedBackedCandidate.js +18 -0
  30. package/build/src/types/responses/SanitizedBackedCandidate.js.map +1 -0
  31. package/build/src/types/responses/SanitizedBackedCandidateDescriptor.d.ts +11 -0
  32. package/build/src/types/responses/SanitizedBackedCandidateDescriptor.js +18 -0
  33. package/build/src/types/responses/SanitizedBackedCandidateDescriptor.js.map +1 -0
  34. package/build/src/types/responses/SanitizedBackedCandidateValidityVotes.d.ts +6 -0
  35. package/build/src/types/responses/SanitizedBackedCandidateValidityVotes.js +18 -0
  36. package/build/src/types/responses/SanitizedBackedCandidateValidityVotes.js.map +1 -0
  37. package/build/src/types/responses/SanitizedBackedCandidatesCommitments.d.ts +8 -0
  38. package/build/src/types/responses/SanitizedBackedCandidatesCommitments.js +18 -0
  39. package/build/src/types/responses/SanitizedBackedCandidatesCommitments.js.map +1 -0
  40. package/build/src/types/responses/SanitizedBitfield.d.ts +5 -0
  41. package/build/src/types/responses/SanitizedBitfield.js +18 -0
  42. package/build/src/types/responses/SanitizedBitfield.js.map +1 -0
  43. package/build/src/types/responses/SanitizedCandidate.d.ts +6 -0
  44. package/build/src/types/responses/SanitizedCandidate.js +18 -0
  45. package/build/src/types/responses/SanitizedCandidate.js.map +1 -0
  46. package/build/src/types/responses/SanitizedParachainInherentData.d.ts +8 -0
  47. package/build/src/types/responses/SanitizedParachainInherentData.js +18 -0
  48. package/build/src/types/responses/SanitizedParachainInherentData.js.map +1 -0
  49. package/build/src/types/responses/SanitizedParachainValidationData.d.ts +6 -0
  50. package/build/src/types/responses/SanitizedParachainValidationData.js +18 -0
  51. package/build/src/types/responses/SanitizedParachainValidationData.js.map +1 -0
  52. package/build/src/types/responses/SanitizedParentInherentData.d.ts +10 -0
  53. package/build/src/types/responses/SanitizedParentInherentData.js +18 -0
  54. package/build/src/types/responses/SanitizedParentInherentData.js.map +1 -0
  55. package/build/src/types/responses/SanitizediDisputeStatementSet.d.ts +5 -0
  56. package/build/src/types/responses/SanitizediDisputeStatementSet.js +18 -0
  57. package/build/src/types/responses/SanitizediDisputeStatementSet.js.map +1 -0
  58. package/build/src/types/responses/index.d.ts +1 -0
  59. package/build/src/types/responses/index.js +1 -0
  60. package/build/src/types/responses/index.js.map +1 -1
  61. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- // Copyright 2017-2022 Parity Technologies (UK) Ltd.
2
+ // Copyright 2017-2024 Parity Technologies (UK) Ltd.
3
3
  // This file is part of Substrate API Sidecar.
4
4
  //
5
5
  // Substrate API Sidecar is free software: you can redistribute it and/or modify
@@ -27,9 +27,19 @@ const registries_1 = require("../../test-helpers/registries");
27
27
  const mock_1 = require("../test-helpers/mock");
28
28
  const block789629_json_1 = __importDefault(require("../test-helpers/mock/data/block789629.json"));
29
29
  const events789629Hex_1 = require("../test-helpers/mock/data/events789629Hex");
30
+ const events3356195Hex_1 = require("../test-helpers/mock/data/events3356195Hex");
31
+ const events6202603Hex_1 = require("../test-helpers/mock/data/events6202603Hex");
32
+ const events18468942Hex_1 = require("../test-helpers/mock/data/events18468942Hex");
30
33
  const validators789629Hex_1 = require("../test-helpers/mock/data/validators789629Hex");
34
+ const validators3356195Hex_1 = require("../test-helpers/mock/data/validators3356195Hex");
35
+ const validators6202603Hex_1 = require("../test-helpers/mock/data/validators6202603Hex");
36
+ const validators18468942Hex_1 = require("../test-helpers/mock/data/validators18468942Hex");
31
37
  const parseNumberOrThrow_1 = require("../test-helpers/mock/parseNumberOrThrow");
32
38
  const block789629Extrinsic_json_1 = __importDefault(require("../test-helpers/responses/blocks/block789629Extrinsic.json"));
39
+ const block3356195_json_1 = __importDefault(require("../test-helpers/responses/blocks/block3356195.json"));
40
+ const block6202603paraId2087_json_1 = __importDefault(require("../test-helpers/responses/blocks/block6202603paraId2087.json"));
41
+ const block18468942_json_1 = __importDefault(require("../test-helpers/responses/blocks/block18468942.json"));
42
+ const block18468942paraId2000_json_1 = __importDefault(require("../test-helpers/responses/blocks/block18468942paraId2000.json"));
33
43
  const blocks789629_json_1 = __importDefault(require("../test-helpers/responses/blocks/blocks789629.json"));
34
44
  const blocks789629Raw_json_1 = __importDefault(require("../test-helpers/responses/blocks/blocks789629Raw.json"));
35
45
  const BlocksService_1 = require("./BlocksService");
@@ -96,6 +106,8 @@ describe('BlocksService', () => {
96
106
  queryFinalizedHead: false,
97
107
  omitFinalizedTag: false,
98
108
  noFees: false,
109
+ checkDecodedXcm: false,
110
+ paraId: undefined,
99
111
  };
100
112
  expect((0, sanitizeNumbers_1.sanitizeNumbers)(await blocksService.fetchBlock(mock_1.blockHash789629, mockHistoricApi, options))).toMatchObject(blocks789629_json_1.default);
101
113
  });
@@ -114,6 +126,8 @@ describe('BlocksService', () => {
114
126
  queryFinalizedHead: false,
115
127
  omitFinalizedTag: false,
116
128
  noFees: false,
129
+ checkDecodedXcm: false,
130
+ paraId: undefined,
117
131
  };
118
132
  const tempGetBlock = mockApi.rpc.chain.getBlock;
119
133
  mockApi.rpc.chain.getBlock = (() => Promise.resolve().then(() => {
@@ -135,6 +149,8 @@ describe('BlocksService', () => {
135
149
  queryFinalizedHead: false,
136
150
  omitFinalizedTag: true,
137
151
  noFees: false,
152
+ checkDecodedXcm: false,
153
+ paraId: undefined,
138
154
  };
139
155
  const block = await blocksService.fetchBlock(mock_1.blockHash789629, mockHistoricApi, options);
140
156
  expect(block.finalized).toEqual(undefined);
@@ -277,6 +293,8 @@ describe('BlocksService', () => {
277
293
  queryFinalizedHead: false,
278
294
  omitFinalizedTag: false,
279
295
  noFees: false,
296
+ checkDecodedXcm: false,
297
+ paraId: undefined,
280
298
  };
281
299
  it('Returns the correct extrinisics object for block 789629', async () => {
282
300
  // Reset LRU cache
@@ -348,6 +366,8 @@ describe('BlocksService', () => {
348
366
  queryFinalizedHead: false,
349
367
  omitFinalizedTag: false,
350
368
  noFees: false,
369
+ checkDecodedXcm: false,
370
+ paraId: undefined,
351
371
  };
352
372
  it('Should correctly store the most recent queried blocks', async () => {
353
373
  // Reset LRU cache
@@ -371,5 +391,216 @@ describe('BlocksService', () => {
371
391
  expect((0, sanitizeNumbers_1.sanitizeNumbers)(await blocksService.fetchBlockRaw(mock_1.blockHash789629))).toMatchObject(blocks789629Raw_json_1.default);
372
392
  });
373
393
  });
394
+ describe('BlockService.decodedXcmMsgsArg', () => {
395
+ // Reset LRU cache
396
+ cache.clear();
397
+ const validatorsAt = (_hash) => Promise.resolve().then(() => registries_1.polkadotRegistryV1000001.createType('Vec<ValidatorId>', validators18468942Hex_1.validators18468942Hex));
398
+ const eventsAt = (_hash) => Promise.resolve().then(() => registries_1.polkadotRegistryV1000001.createType('Vec<EventRecord>', events18468942Hex_1.events18468942));
399
+ const nextFeeMultiplierAt = (_hash) => Promise.resolve().then(() => registries_1.polkadotRegistryV1000001.createType('Fixed128', 1000000000));
400
+ const mockHistoricApiXCM = {
401
+ registry: registries_1.polkadotRegistryV1000001,
402
+ call: {
403
+ transactionPaymentApi: {},
404
+ },
405
+ consts: {
406
+ transactionPayment: {
407
+ transactionByteFee: registries_1.polkadotRegistryV1000001.createType('Balance', 1000000),
408
+ weightToFee: [
409
+ {
410
+ coeffFrac: registries_1.polkadotRegistryV1000001.createType('Perbill', 80000000),
411
+ coeffInteger: registries_1.polkadotRegistryV1000001.createType('Balance', 0),
412
+ degree: registries_1.polkadotRegistryV1000001.createType('u8', 1),
413
+ negative: false,
414
+ },
415
+ ],
416
+ },
417
+ system: {
418
+ extrinsicBaseWeight: registries_1.polkadotRegistryV1000001.createType('u64', 125000000),
419
+ },
420
+ },
421
+ query: {
422
+ session: {
423
+ validators: validatorsAt,
424
+ },
425
+ system: {
426
+ events: eventsAt,
427
+ },
428
+ transactionPayment: {
429
+ nextFeeMultiplier: nextFeeMultiplierAt,
430
+ },
431
+ },
432
+ };
433
+ const mockApiXCM = {
434
+ ...mock_1.mockApiBlock18468942,
435
+ query: {
436
+ transactionPayment: {
437
+ nextFeeMultiplier: { at: nextFeeMultiplierAt },
438
+ },
439
+ },
440
+ at: (_hash) => mockHistoricApiXCM,
441
+ };
442
+ // Block Service
443
+ const blocksServiceXCM = new BlocksService_1.BlocksService(mockApiXCM, 0, cache, new cache_1.QueryFeeDetailsCache(null, null));
444
+ it('Should give back two decoded upward XCM messages for Polkadot block 18468942, one for paraId=2000 and one for paraId=2012', async () => {
445
+ // fetchBlock options
446
+ const options = {
447
+ eventDocs: true,
448
+ extrinsicDocs: true,
449
+ checkFinalized: false,
450
+ queryFinalizedHead: false,
451
+ omitFinalizedTag: false,
452
+ noFees: false,
453
+ checkDecodedXcm: true,
454
+ paraId: undefined,
455
+ };
456
+ const block = await blocksServiceXCM.fetchBlock(mock_1.blockHash18468942, mockHistoricApiXCM, options);
457
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(block)).toMatchObject(block18468942_json_1.default);
458
+ });
459
+ it('Should give back one decoded upward XCM message for Polkadot block 18468942 only for paraId=2000', async () => {
460
+ // Reset LRU cache
461
+ cache.clear();
462
+ // fetchBlock options
463
+ const options = {
464
+ eventDocs: true,
465
+ extrinsicDocs: true,
466
+ checkFinalized: false,
467
+ queryFinalizedHead: false,
468
+ omitFinalizedTag: false,
469
+ noFees: false,
470
+ checkDecodedXcm: true,
471
+ paraId: 2000,
472
+ };
473
+ const block = await blocksServiceXCM.fetchBlock(mock_1.blockHash18468942, mockHistoricApiXCM, options);
474
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(block)).toMatchObject(block18468942paraId2000_json_1.default);
475
+ });
476
+ it('Should give back two decoded XCM messages, one horizontal and one downward, for Kusama Asset Hub block 3356195', async () => {
477
+ // Reset LRU cache
478
+ cache.clear();
479
+ // fetchBlock options
480
+ const options = {
481
+ eventDocs: true,
482
+ extrinsicDocs: true,
483
+ checkFinalized: false,
484
+ queryFinalizedHead: false,
485
+ omitFinalizedTag: false,
486
+ noFees: false,
487
+ checkDecodedXcm: true,
488
+ paraId: undefined,
489
+ };
490
+ const validatorsAt = (_hash) => Promise.resolve().then(() => registries_1.assetHubKusamaRegistryV1000000.createType('Vec<ValidatorId>', validators3356195Hex_1.validators3356195Hex));
491
+ const eventsAt = (_hash) => Promise.resolve().then(() => registries_1.assetHubKusamaRegistryV1000000.createType('Vec<EventRecord>', events3356195Hex_1.events3356195));
492
+ const nextFeeMultiplierAt = (_hash) => Promise.resolve().then(() => registries_1.assetHubKusamaRegistryV1000000.createType('Fixed128', 1000000000));
493
+ const mockHistoricApiXCM = {
494
+ registry: registries_1.assetHubKusamaRegistryV1000000,
495
+ call: {
496
+ transactionPaymentApi: {},
497
+ },
498
+ consts: {
499
+ transactionPayment: {
500
+ transactionByteFee: registries_1.assetHubKusamaRegistryV1000000.createType('Balance', 1000000),
501
+ weightToFee: [
502
+ {
503
+ coeffFrac: registries_1.assetHubKusamaRegistryV1000000.createType('Perbill', 80000000),
504
+ coeffInteger: registries_1.assetHubKusamaRegistryV1000000.createType('Balance', 0),
505
+ degree: registries_1.assetHubKusamaRegistryV1000000.createType('u8', 1),
506
+ negative: false,
507
+ },
508
+ ],
509
+ },
510
+ system: {
511
+ extrinsicBaseWeight: registries_1.assetHubKusamaRegistryV1000000.createType('u64', 125000000),
512
+ },
513
+ },
514
+ query: {
515
+ session: {
516
+ validators: validatorsAt,
517
+ },
518
+ system: {
519
+ events: eventsAt,
520
+ },
521
+ transactionPayment: {
522
+ nextFeeMultiplier: nextFeeMultiplierAt,
523
+ },
524
+ },
525
+ };
526
+ const mockApiXCM = {
527
+ ...mock_1.mockAssetHubKusamaApiBlock3356195,
528
+ query: {
529
+ transactionPayment: {
530
+ nextFeeMultiplier: { at: nextFeeMultiplierAt },
531
+ },
532
+ },
533
+ at: (_hash) => mockHistoricApiXCM,
534
+ };
535
+ // Block Service
536
+ const blocksServiceXCM = new BlocksService_1.BlocksService(mockApiXCM, 0, cache, new cache_1.QueryFeeDetailsCache(null, null));
537
+ const block = await blocksServiceXCM.fetchBlock(mock_1.blockHash3356195, mockHistoricApiXCM, options);
538
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(block)).toMatchObject(block3356195_json_1.default);
539
+ });
540
+ it('Should give back one of the two available horizontal messages, the one for paraId 2087 for Kusama Asset Hub block 6202603', async () => {
541
+ // Reset LRU cache
542
+ cache.clear();
543
+ // fetchBlock options
544
+ const options = {
545
+ eventDocs: true,
546
+ extrinsicDocs: true,
547
+ checkFinalized: false,
548
+ queryFinalizedHead: false,
549
+ omitFinalizedTag: false,
550
+ noFees: false,
551
+ checkDecodedXcm: true,
552
+ paraId: 2087,
553
+ };
554
+ const validatorsAt = (_hash) => Promise.resolve().then(() => registries_1.assetHubKusamaRegistryV1000000b.createType('Vec<ValidatorId>', validators6202603Hex_1.validators6202603Hex));
555
+ const eventsAt = (_hash) => Promise.resolve().then(() => registries_1.assetHubKusamaRegistryV1000000b.createType('Vec<EventRecord>', events6202603Hex_1.events6202603));
556
+ const nextFeeMultiplierAt = (_hash) => Promise.resolve().then(() => registries_1.assetHubKusamaRegistryV1000000b.createType('Fixed128', 1000000000));
557
+ const mockHistoricApiXCM = {
558
+ registry: registries_1.assetHubKusamaRegistryV1000000,
559
+ call: {
560
+ transactionPaymentApi: {},
561
+ },
562
+ consts: {
563
+ transactionPayment: {
564
+ transactionByteFee: registries_1.assetHubKusamaRegistryV1000000b.createType('Balance', 1000000),
565
+ weightToFee: [
566
+ {
567
+ coeffFrac: registries_1.assetHubKusamaRegistryV1000000b.createType('Perbill', 80000000),
568
+ coeffInteger: registries_1.assetHubKusamaRegistryV1000000b.createType('Balance', 0),
569
+ degree: registries_1.assetHubKusamaRegistryV1000000b.createType('u8', 1),
570
+ negative: false,
571
+ },
572
+ ],
573
+ },
574
+ system: {
575
+ extrinsicBaseWeight: registries_1.assetHubKusamaRegistryV1000000b.createType('u64', 125000000),
576
+ },
577
+ },
578
+ query: {
579
+ session: {
580
+ validators: validatorsAt,
581
+ },
582
+ system: {
583
+ events: eventsAt,
584
+ },
585
+ transactionPayment: {
586
+ nextFeeMultiplier: nextFeeMultiplierAt,
587
+ },
588
+ },
589
+ };
590
+ const mockApiXCM = {
591
+ ...mock_1.mockAssetHubKusamaApiBlock6202603,
592
+ query: {
593
+ transactionPayment: {
594
+ nextFeeMultiplier: { at: nextFeeMultiplierAt },
595
+ },
596
+ },
597
+ at: (_hash) => mockHistoricApiXCM,
598
+ };
599
+ // Block Service
600
+ const blocksServiceXCM = new BlocksService_1.BlocksService(mockApiXCM, 0, cache, new cache_1.QueryFeeDetailsCache(null, null));
601
+ const block = await blocksServiceXCM.fetchBlock(mock_1.blockHash6202603, mockHistoricApiXCM, options);
602
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(block)).toMatchObject(block6202603paraId2087_json_1.default);
603
+ });
604
+ });
374
605
  });
375
606
  //# sourceMappingURL=BlocksService.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlocksService.spec.js","sourceRoot":"","sources":["../../../../src/services/blocks/BlocksService.spec.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,8CAA8C;AAC9C,EAAE;AACF,gFAAgF;AAChF,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,wEAAwE;;;;;AAQxE,6CAAyC;AACzC,0DAA4B;AAE5B,qDAAiE;AACjE,oEAAiE;AACjE,8DAA2D;AAC3D,8DAAiF;AAEjF,+CAM8B;AAC9B,kGAAqE;AACrE,+EAAyE;AACzE,uFAAoF;AACpF,gFAA6E;AAC7E,2HAA8F;AAC9F,2GAAsF;AACtF,iHAAoF;AACpF,mDAAgD;AAEhD,MAAM,YAAY,GAAG,CAAC,KAAW,EAAE,EAAE,CACpC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,kBAAkB,EAAE,yCAAmB,CAAC,CAAC,CAAC;AAEpG,MAAM,QAAQ,GAAG,CAAC,KAAW,EAAE,EAAE,CAChC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,kBAAkB,EAAE,8BAAY,CAAC,CAAC,CAAC;AAE7F,MAAM,mBAAmB,GAAG,CAAC,KAAW,EAAE,EAAE,CAC3C,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAEnF,MAAM,eAAe,GAAG;IACvB,QAAQ,EAAE,6BAAgB;IAC1B,IAAI,EAAE;QACL,qBAAqB,EAAE,EAAE;KACzB;IACD,MAAM,EAAE;QACP,kBAAkB,EAAE;YACnB,kBAAkB,EAAE,6BAAgB,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC;YACnE,WAAW,EAAE;gBACZ;oBACC,SAAS,EAAE,6BAAgB,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC;oBAC3D,YAAY,EAAE,6BAAgB,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;oBACvD,MAAM,EAAE,6BAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC5C,QAAQ,EAAE,KAAK;iBACf;aACD;SACD;QACD,MAAM,EAAE;YACP,mBAAmB,EAAE,6BAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC;SAClE;KACD;IACD,KAAK,EAAE;QACN,OAAO,EAAE;YACR,UAAU,EAAE,YAAY;SACxB;QACD,MAAM,EAAE;YACP,MAAM,EAAE,QAAQ;SAChB;QACD,kBAAkB,EAAE;YACnB,iBAAiB,EAAE,mBAAmB;SACtC;KACD;CACsC,CAAC;AAEzC,MAAM,OAAO,GAAG;IACf,GAAG,qBAAc;IACjB,KAAK,EAAE;QACN,kBAAkB,EAAE;YACnB,iBAAiB,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE;SAC9C;KACD;IACD,EAAE,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,eAAe;CACX,CAAC;AAO3B,iCAAiC;AACjC,4EAA4E;AAC5E,MAAM,KAAK,GAAG,IAAI,mBAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAwB,CAAC;AAEzD,gBAAgB;AAChB,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,4BAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAEjG,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC9B,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC3D,kBAAkB;YAClB,KAAK,CAAC,KAAK,EAAE,CAAC;YAEd,qBAAqB;YACrB,MAAM,OAAO,GAAG;gBACf,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,KAAK;gBACrB,kBAAkB,EAAE,KAAK;gBACzB,gBAAgB,EAAE,KAAK;gBACvB,MAAM,EAAE,KAAK;aACb,CAAC;YAEF,MAAM,CAAC,IAAA,iCAAe,EAAC,MAAM,aAAa,CAAC,UAAU,CAAC,sBAAe,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAC/G,2BAAoB,CACpB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACtD,kBAAkB;YAClB,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,uFAAuF;YACvF,MAAM,qBAAqB,GAAG,6BAAgB,CAAC,UAAU,CAAC,OAAO,EAAE,0BAAW,CAAC,CAAC;YAEhF,qBAAqB,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YAEvC,qBAAqB,CAAC,UAAU,CAAC,OAAO,CAAC,SAAwC,CAAC,CAAC;YAEnF,qBAAqB;YACrB,MAAM,OAAO,GAAG;gBACf,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,KAAK;gBACpB,cAAc,EAAE,KAAK;gBACrB,kBAAkB,EAAE,KAAK;gBACzB,gBAAgB,EAAE,KAAK;gBACvB,MAAM,EAAE,KAAK;aACb,CAAC;YACF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,CAClC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3B,OAAO;oBACN,KAAK,EAAE,qBAAqB;iBAC5B,CAAC;YACH,CAAC,CAAY,CAAa,CAAC;YAE5B,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,sBAAe,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAElH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,YAAmC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACzF,kBAAkB;YAClB,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,qBAAqB;YACrB,MAAM,OAAO,GAAG;gBACf,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,KAAK;gBACrB,kBAAkB,EAAE,KAAK;gBACzB,gBAAgB,EAAE,IAAI;gBACtB,MAAM,EAAE,KAAK;aACb,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,sBAAe,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YAExF,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC/C,kBAAkB;QAClB,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,MAAM,QAAQ,GAAG,IAAA,uBAAU,EAAC,UAAU,EAAE,UAAU,EAAE;YACnD,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,2BAAc,CAAC,UAAU,CAAC,WAAW,EAAE,kDAAkD,CAAC,EAAE,MAAM;SACxG,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG;YACtB,MAAM,EAAE;gBACP,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,UAAU;aAClB;YACD,IAAI,EAAE;gBACL,IAAI,EAAE,kDAAkD;gBACxD,KAAK,EAAE,EAAE;aACT;SACD,CAAC;QAEF,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE,CAC1C,MAAM,CAAC,GAAG,EAAE,CACX,aAAa,CAAC,kBAAkB,CAAC,CAAC,EAA4B,EAAE,eAAe,CAAC,QAAQ,CAAC,CACzF,CAAC,OAAO,EAAE,CAAC,CAAC;QAEd,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC5C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CACjG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAC9B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC7C,MAAM,MAAM,GAAG,IAAA,uBAAU,EAAC,SAAS,EAAE,OAAO,EAAE;gBAC7C,KAAK,EAAE,CAAC,QAAQ,CAAC;aACjB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAA,uBAAU,EAAC,SAAS,EAAE,OAAO,EAAE;gBAC7C,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;aACzB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAA,uBAAU,EAAC,SAAS,EAAE,OAAO,EAAE;gBAC7C,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;aACzB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAA,uBAAU,EAAC,SAAS,EAAE,OAAO,EAAE;gBAC7C,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;aACzB,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG;gBACjB,MAAM,EAAE;oBACP,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,OAAO;iBACf;gBACD,IAAI,EAAE;oBACL,KAAK,EAAE,EAAE;iBACT;aACD,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/F,IAAI,CAAC,SAAS,CAAC;gBACd,GAAG,SAAS;gBACZ,IAAI,EAAE;oBACL,KAAK,EAAE;wBACN;4BACC,GAAG,SAAS;4BACZ,IAAI,EAAE;gCACL,KAAK,EAAE;oCACN;wCACC,GAAG,SAAS;wCACZ,IAAI,EAAE;4CACL,KAAK,EAAE;gDACN;oDACC,GAAG,SAAS;oDACZ,IAAI,EAAE;wDACL,KAAK,EAAE,CAAC,cAAc,CAAC;qDACvB;iDACD;gDACD,cAAc;6CACd;yCACD;qCACD;oCACD,cAAc;iCACd;6BACD;yBACD;wBACD,cAAc;qBACd;iBACD;aACD,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC7C,MAAM,KAAK,GAAG,IAAA,uBAAU,EAAC,OAAO,EAAE,OAAO,EAAE;gBAC1C,cAAc,EAAE,KAAK;gBACrB,IAAI,EAAE,QAAQ;aACd,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,IAAA,uBAAU,EAAC,SAAS,EAAE,OAAO,EAAE;gBAC5C,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;aACrB,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG;gBACjB,MAAM,EAAE;oBACP,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,OAAO;iBACf;gBACD,IAAI,EAAE;oBACL,IAAI,EAAE,kDAAkD;oBACxD,gBAAgB,EAAE,KAAK;oBACvB,IAAI,EAAE,cAAc;iBACpB;aACD,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CACjG,IAAI,CAAC,SAAS,CAAC;gBACd,MAAM,EAAE;oBACP,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,OAAO;iBACf;gBACD,IAAI,EAAE;oBACL,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;iBAC7B;aACD,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC9C,MAAM,aAAa,GAAG,6BAAgB,CAAC,UAAU,CAChD,WAAW,EACX,oEAAoE,CACpE,CAAC;QAEF,MAAM,WAAW,GAAG,6BAAgB,CAAC,UAAU,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;QAEhF,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACpE,kBAAkB;YAClB,KAAK,CAAC,KAAK,EAAE,CAAC;YAEd,MAAM,SAAS,GAAG,CAAC,KAAW,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,4BAAqB,CAAC,MAAM,CAAC,CAAC;YAE9F,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC;YAEpF,MAAM,WAAW,GAAG;gBACnB,GAAG,EAAE;oBACJ,KAAK,EAAE;wBACN,SAAS;wBACT,YAAY;qBACZ;iBACD;aACa,CAAC;YAEhB,MAAM,WAAW,GAAG,6BAAgB,CAAC,UAAU,CAC9C,WAAW,EACX,oEAAoE,CACpE,CAAC;YAEF,MAAM,CACL,MAAM,aAAa,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,CACnG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,mBAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,4BAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC/G,MAAM,CAAC,MAAM,aAAa,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAChH,IAAI,CACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACrC,qBAAqB;QACrB,MAAM,OAAO,GAAG;YACf,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,KAAK;YACpB,cAAc,EAAE,KAAK;YACrB,kBAAkB,EAAE,KAAK;YACzB,gBAAgB,EAAE,KAAK;YACvB,MAAM,EAAE,KAAK;SACb,CAAC;QAEF,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACxE,kBAAkB;YAClB,KAAK,CAAC,KAAK,EAAE,CAAC;YAEd,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,sBAAe,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YAExF;;;eAGG;YACH,MAAM,SAAS,GAAG,aAAa,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAEnE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,iCAAe,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,mCAAoB,CAAC,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YACnE,kBAAkB;YAClB,KAAK,CAAC,KAAK,EAAE,CAAC;YAEd,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,sBAAe,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YAExF,MAAM,CAAC,GAAG,EAAE;gBACX,aAAa,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACpE,MAAM,CAAC,GAAG,EAAE;gBACX,IAAA,uCAAkB,EAAC,IAAI,EAAE,8CAA8C,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,8CAA8C,CAAC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAClC,MAAM,gBAAgB,GAAG;YACxB,UAAU,EAAE,oEAAoE;YAChF,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,oEAAoE;YAC/E,cAAc,EAAE,oEAAoE;YACpF,MAAM,EAAE;gBACP,IAAI,EAAE;oBACL;wBACC,UAAU,EAAE;4BACX,YAAY;4BACZ,8NAA8N;yBAC9N;qBACD;oBACD;wBACC,IAAI,EAAE;4BACL,YAAY;4BACZ,oIAAoI;yBACpI;qBACD;iBACD;aACD;SACD,CAAC;QACF,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YACjE,kBAAkB;YAClB,KAAK,CAAC,KAAK,EAAE,CAAC;YAEd,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,sBAAe,CAAC,CAAC;YAE3E,MAAM,CAAC,IAAA,iCAAe,EAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACvE,kBAAkB;YAClB,KAAK,CAAC,KAAK,EAAE,CAAC;YAEd,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,gBAAgB,EAAE,CAAC;YAE5D,MAAM,CAAC,IAAA,iCAAe,EAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC/B,qBAAqB;QACrB,MAAM,OAAO,GAAG;YACf,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,KAAK;YACrB,kBAAkB,EAAE,KAAK;YACzB,gBAAgB,EAAE,KAAK;YACvB,MAAM,EAAE,KAAK;SACb,CAAC;QAEF,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACtE,kBAAkB;YAClB,KAAK,CAAC,KAAK,EAAE,CAAC;YAEd,MAAM,aAAa,CAAC,UAAU,CAAC,sBAAe,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YAC1E,MAAM,aAAa,CAAC,UAAU,CAAC,qBAAc,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YAEzE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gHAAgH,EAAE,KAAK,IAAI,EAAE;YAC/H,kBAAkB;YAClB,KAAK,CAAC,KAAK,EAAE,CAAC;YAEd,MAAM,aAAa,CAAC,UAAU,CAAC,sBAAe,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YAC1E,MAAM,aAAa,CAAC,UAAU,CAAC,qBAAc,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YACzE,MAAM,aAAa,CAAC,UAAU,CAAC,sBAAe,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YAE1E,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,CAAC,IAAA,iCAAe,EAAC,MAAM,aAAa,CAAC,aAAa,CAAC,sBAAe,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,8BAAe,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"BlocksService.spec.js","sourceRoot":"","sources":["../../../../src/services/blocks/BlocksService.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { ApiPromise } from '@polkadot/api';
2
+ import type { IExtrinsic, IMessages } from '../../types/responses';
3
+ declare enum ChainType {
4
+ Relay = "Relay",
5
+ Parachain = "Parachain"
6
+ }
7
+ export declare class XcmDecoder {
8
+ readonly messages: IMessages;
9
+ readonly api: ApiPromise;
10
+ readonly curChainType: ChainType;
11
+ readonly specName: string;
12
+ constructor(api: ApiPromise, specName: string, extrinsics: IExtrinsic[], paraId?: number);
13
+ private getCurChainType;
14
+ private getMessages;
15
+ private checkUpwardMsg;
16
+ private decodeMsg;
17
+ }
18
+ export {};
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ // Copyright 2017-2024 Parity Technologies (UK) Ltd.
3
+ // This file is part of Substrate API Sidecar.
4
+ //
5
+ // Substrate API Sidecar is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU General Public License
16
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.XcmDecoder = void 0;
19
+ var ChainType;
20
+ (function (ChainType) {
21
+ ChainType["Relay"] = "Relay";
22
+ ChainType["Parachain"] = "Parachain";
23
+ })(ChainType || (ChainType = {}));
24
+ class XcmDecoder {
25
+ constructor(api, specName, extrinsics, paraId) {
26
+ this.api = api;
27
+ this.specName = specName;
28
+ this.curChainType = this.getCurChainType(specName);
29
+ this.messages = this.getMessages(api, extrinsics, paraId);
30
+ }
31
+ getCurChainType(specName) {
32
+ const relay = ['polkadot', 'kusama', 'westend', 'rococo'];
33
+ if (relay.includes(specName.toLowerCase())) {
34
+ return ChainType.Relay;
35
+ }
36
+ else {
37
+ return ChainType.Parachain;
38
+ }
39
+ }
40
+ getMessages(api, extrinsics, paraId) {
41
+ const xcmMessages = { horizontalMessages: [], downwardMessages: [], upwardMessages: [] };
42
+ if (this.curChainType === ChainType.Relay) {
43
+ extrinsics.forEach((extrinsic) => {
44
+ const frame = extrinsic.method;
45
+ if (frame.pallet === 'paraInherent' && frame.method === 'enter') {
46
+ const data = extrinsic.args.data;
47
+ if (paraId !== undefined) {
48
+ data.backedCandidates.forEach((candidate) => {
49
+ var _a;
50
+ if (candidate.candidate.descriptor.paraId.toString() === paraId.toString()) {
51
+ const msg_decoded = this.checkUpwardMsg(api, candidate);
52
+ if (msg_decoded != undefined && Object.keys(msg_decoded).length > 0) {
53
+ (_a = xcmMessages.upwardMessages) === null || _a === void 0 ? void 0 : _a.push(msg_decoded);
54
+ }
55
+ }
56
+ });
57
+ }
58
+ else {
59
+ data.backedCandidates.forEach((candidate) => {
60
+ var _a;
61
+ const msg_decoded = this.checkUpwardMsg(api, candidate);
62
+ if (msg_decoded != undefined && Object.keys(msg_decoded).length > 0) {
63
+ (_a = xcmMessages.upwardMessages) === null || _a === void 0 ? void 0 : _a.push(msg_decoded);
64
+ }
65
+ });
66
+ }
67
+ }
68
+ });
69
+ }
70
+ else if (this.curChainType === ChainType.Parachain) {
71
+ extrinsics.forEach((extrinsic) => {
72
+ const frame = extrinsic.method;
73
+ if (frame.pallet === 'parachainSystem' && frame.method === 'setValidationData') {
74
+ const data = extrinsic.args.data;
75
+ data.downwardMessages.forEach((msg) => {
76
+ var _a;
77
+ const message = msg.msg;
78
+ if (message && message.toString().length > 0) {
79
+ const xcmMessageDecoded = this.decodeMsg(api, message);
80
+ const downwardMessage = {
81
+ sentAt: msg.sentAt,
82
+ msg: message.toString(),
83
+ data: xcmMessageDecoded,
84
+ };
85
+ (_a = xcmMessages.downwardMessages) === null || _a === void 0 ? void 0 : _a.push(downwardMessage);
86
+ }
87
+ });
88
+ data.horizontalMessages.forEach((msgs, index) => {
89
+ msgs.forEach((msg) => {
90
+ var _a, _b;
91
+ const xcmMessageDecoded = this.decodeMsg(api, msg.data.slice(1));
92
+ let horizontalMessage;
93
+ if (paraId !== undefined && index.toString() === paraId.toString()) {
94
+ horizontalMessage = {
95
+ sentAt: msg.sentAt,
96
+ paraId: index,
97
+ data: xcmMessageDecoded,
98
+ };
99
+ (_a = xcmMessages.horizontalMessages) === null || _a === void 0 ? void 0 : _a.push(horizontalMessage);
100
+ }
101
+ else if (paraId === undefined) {
102
+ horizontalMessage = {
103
+ sentAt: msg.sentAt,
104
+ paraId: index,
105
+ data: xcmMessageDecoded,
106
+ };
107
+ (_b = xcmMessages.horizontalMessages) === null || _b === void 0 ? void 0 : _b.push(horizontalMessage);
108
+ }
109
+ });
110
+ });
111
+ }
112
+ });
113
+ }
114
+ return xcmMessages;
115
+ }
116
+ checkUpwardMsg(api, candidate) {
117
+ if (candidate.candidate.commitments.upwardMessages.length > 0) {
118
+ const xcmMessage = candidate.candidate.commitments.upwardMessages;
119
+ const paraId = candidate.candidate.descriptor.paraId;
120
+ const xcmMessageDecoded = this.decodeMsg(api, xcmMessage[0]);
121
+ const upwardMessage = {
122
+ paraId: paraId,
123
+ data: xcmMessageDecoded[0],
124
+ };
125
+ return upwardMessage;
126
+ }
127
+ else {
128
+ return undefined;
129
+ }
130
+ }
131
+ decodeMsg(api, message) {
132
+ const instructions = [];
133
+ let xcmMessage = message;
134
+ let instructionLength = 0;
135
+ while (xcmMessage.length != 0) {
136
+ const xcmInstructions = api.createType('XcmVersionedXcm', xcmMessage);
137
+ instructions.push(xcmInstructions);
138
+ instructionLength = xcmInstructions.toU8a().length;
139
+ xcmMessage = xcmMessage.slice(instructionLength);
140
+ }
141
+ return instructions;
142
+ }
143
+ }
144
+ exports.XcmDecoder = XcmDecoder;
145
+ //# sourceMappingURL=XCMDecoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XCMDecoder.js","sourceRoot":"","sources":["../../../../src/services/blocks/XCMDecoder.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { BlockHash, BlockNumber, Hash } from '@polkadot/types/interfaces';
3
3
  import { AccountId } from '@polkadot/types/interfaces/runtime';
4
4
  import { Codec } from '@polkadot/types/types';
5
5
  import { IExtrinsic, ISanitizedEvent } from '.';
6
+ import { IMessages } from './BlockXCMMessages';
6
7
  export interface IBlock {
7
8
  number: Compact<BlockNumber>;
8
9
  hash: BlockHash;
@@ -15,6 +16,7 @@ export interface IBlock {
15
16
  extrinsics: IExtrinsic[];
16
17
  onFinalize: IOnInitializeOrFinalize;
17
18
  finalized: boolean | undefined;
19
+ decodedXcmMsgs?: IMessages | undefined;
18
20
  }
19
21
  interface IOnInitializeOrFinalize {
20
22
  events: ISanitizedEvent[];
@@ -0,0 +1,19 @@
1
+ export interface IUpwardMessage {
2
+ paraId: string;
3
+ data: string;
4
+ }
5
+ export interface IDownwardMessage {
6
+ sentAt: string;
7
+ msg: string;
8
+ data: string;
9
+ }
10
+ export interface IHorizontalMessage {
11
+ sentAt: string;
12
+ paraId: string;
13
+ data: string;
14
+ }
15
+ export interface IMessages {
16
+ horizontalMessages?: IHorizontalMessage[];
17
+ downwardMessages?: IDownwardMessage[];
18
+ upwardMessages?: IUpwardMessage[];
19
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ // Copyright 2017-2023 Parity Technologies (UK) Ltd.
3
+ // This file is part of Substrate API Sidecar.
4
+ //
5
+ // Substrate API Sidecar is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU General Public License
16
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ //# sourceMappingURL=BlockXCMMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockXCMMessages.js","sourceRoot":"","sources":["../../../../src/types/responses/BlockXCMMessages.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,8CAA8C;AAC9C,EAAE;AACF,gFAAgF;AAChF,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,wEAAwE"}
@@ -1,6 +1,8 @@
1
1
  import { ISanitizedCall } from '.';
2
+ import { ISanitizedParachainInherentData } from './SanitizedParachainInherentData';
3
+ import { ISanitizedParentInherentData } from './SanitizedParentInherentData';
2
4
  export interface ISanitizedArgs {
3
5
  call?: ISanitizedCall;
4
6
  calls?: ISanitizedCall[];
5
- [key: string]: unknown;
7
+ data?: ISanitizedParentInherentData | ISanitizedParachainInherentData;
6
8
  }
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- // Copyright 2017-2022 Parity Technologies (UK) Ltd.
2
+ // Copyright 2017-2023 Parity Technologies (UK) Ltd.
3
3
  // This file is part of Substrate API Sidecar.
4
4
  //
5
5
  // Substrate API Sidecar is free software: you can redistribute it and/or modify
@@ -0,0 +1,7 @@
1
+ import { ISanitizedBackedCandidateExplicitValidityVote, ISanitizedBackedCandidateImplicitValidityVote } from './SanitizedBackedCandidateValidityVotes';
2
+ import { ISanitizedCandidate } from './SanitizedCandidate';
3
+ export interface ISanitizedBackedCandidate {
4
+ candidate: ISanitizedCandidate;
5
+ validityVotes: (ISanitizedBackedCandidateExplicitValidityVote | ISanitizedBackedCandidateImplicitValidityVote)[];
6
+ validatorIndices: `0x${string}`;
7
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ // Copyright 2017-2023 Parity Technologies (UK) Ltd.
3
+ // This file is part of Substrate API Sidecar.
4
+ //
5
+ // Substrate API Sidecar is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU General Public License
16
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ //# sourceMappingURL=SanitizedBackedCandidate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SanitizedBackedCandidate.js","sourceRoot":"","sources":["../../../../src/types/responses/SanitizedBackedCandidate.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,8CAA8C;AAC9C,EAAE;AACF,gFAAgF;AAChF,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,wEAAwE"}