@substrate/api-sidecar 9.2.0 → 10.0.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 (69) hide show
  1. package/build/package.json +11 -11
  2. package/build/src/chains-config/metadata-consts/kusamaConsts.js +1 -1
  3. package/build/src/chains-config/metadata-consts/kusamaConsts.js.map +1 -1
  4. package/build/src/chains-config/metadata-consts/polkadotConsts.js +1 -0
  5. package/build/src/chains-config/metadata-consts/polkadotConsts.js.map +1 -1
  6. package/build/src/chains-config/metadata-consts/westendConsts.js +1 -0
  7. package/build/src/chains-config/metadata-consts/westendConsts.js.map +1 -1
  8. package/build/src/controllers/blocks/BlocksController.js +5 -2
  9. package/build/src/controllers/blocks/BlocksController.js.map +1 -1
  10. package/build/src/controllers/blocks/BlocksExtrinsicsController.js +2 -1
  11. package/build/src/controllers/blocks/BlocksExtrinsicsController.js.map +1 -1
  12. package/build/src/controllers/pallets/PalletsStorageController.js +12 -6
  13. package/build/src/controllers/pallets/PalletsStorageController.js.map +1 -1
  14. package/build/src/services/accounts/AccountsAssetsService.spec.js +107 -1
  15. package/build/src/services/accounts/AccountsAssetsService.spec.js.map +1 -1
  16. package/build/src/services/accounts/AccountsBalanceInfoService.spec.js +80 -45
  17. package/build/src/services/accounts/AccountsBalanceInfoService.spec.js.map +1 -1
  18. package/build/src/services/accounts/AccountsStakingInfoService.spec.d.ts +4 -1
  19. package/build/src/services/accounts/AccountsStakingInfoService.spec.js +23 -7
  20. package/build/src/services/accounts/AccountsStakingInfoService.spec.js.map +1 -1
  21. package/build/src/services/accounts/AccountsVestingInfoService.spec.js +11 -1
  22. package/build/src/services/accounts/AccountsVestingInfoService.spec.js.map +1 -1
  23. package/build/src/services/blocks/BlocksService.d.ts +2 -1
  24. package/build/src/services/blocks/BlocksService.js +29 -26
  25. package/build/src/services/blocks/BlocksService.js.map +1 -1
  26. package/build/src/services/blocks/BlocksService.spec.js +77 -43
  27. package/build/src/services/blocks/BlocksService.spec.js.map +1 -1
  28. package/build/src/services/blocks/BlocksTraceService.spec.js +1 -1
  29. package/build/src/services/blocks/BlocksTraceService.spec.js.map +1 -1
  30. package/build/src/services/node/NodeNetworkService.spec.js +1 -1
  31. package/build/src/services/node/NodeNetworkService.spec.js.map +1 -1
  32. package/build/src/services/node/NodeTransactionPoolService.spec.js +5 -5
  33. package/build/src/services/node/NodeTransactionPoolService.spec.js.map +1 -1
  34. package/build/src/services/node/NodeVersionService.spec.js +1 -1
  35. package/build/src/services/node/NodeVersionService.spec.js.map +1 -1
  36. package/build/src/services/pallets/PalletsAssetsService.spec.js +113 -1
  37. package/build/src/services/pallets/PalletsAssetsService.spec.js.map +1 -1
  38. package/build/src/services/pallets/PalletsStakingProgressService.spec.js +48 -7
  39. package/build/src/services/pallets/PalletsStakingProgressService.spec.js.map +1 -1
  40. package/build/src/services/pallets/PalletsStorageService.d.ts +14 -2
  41. package/build/src/services/pallets/PalletsStorageService.js +56 -11
  42. package/build/src/services/pallets/PalletsStorageService.js.map +1 -1
  43. package/build/src/services/pallets/PalletsStorageService.spec.js +29 -7
  44. package/build/src/services/pallets/PalletsStorageService.spec.js.map +1 -1
  45. package/build/src/services/paras/ParasService.spec.d.ts +10 -1
  46. package/build/src/services/paras/ParasService.spec.js +201 -8
  47. package/build/src/services/paras/ParasService.spec.js.map +1 -1
  48. package/build/src/services/runtime/RuntimeCodeService.spec.js +1 -1
  49. package/build/src/services/runtime/RuntimeCodeService.spec.js.map +1 -1
  50. package/build/src/services/runtime/RuntimeMetadataService.spec.js +1 -1
  51. package/build/src/services/runtime/RuntimeMetadataService.spec.js.map +1 -1
  52. package/build/src/services/runtime/RuntimeSpecService.spec.js +1 -1
  53. package/build/src/services/runtime/RuntimeSpecService.spec.js.map +1 -1
  54. package/build/src/services/test-helpers/mock/mockApi.d.ts +4 -13
  55. package/build/src/services/test-helpers/mock/mockApi.js +3 -378
  56. package/build/src/services/test-helpers/mock/mockApi.js.map +1 -1
  57. package/build/src/services/transaction/TransactionFeeEstimateService.spec.js +6 -3
  58. package/build/src/services/transaction/TransactionFeeEstimateService.spec.js.map +1 -1
  59. package/build/src/services/transaction/TransactionMaterialService.spec.js +1 -1
  60. package/build/src/services/transaction/TransactionMaterialService.spec.js.map +1 -1
  61. package/build/src/services/transaction/TransactionSubmitService.spec.js +8 -7
  62. package/build/src/services/transaction/TransactionSubmitService.spec.js.map +1 -1
  63. package/build/src/test-helpers/metadata/polkadotV9110Metadata.d.ts +1 -0
  64. package/build/src/test-helpers/metadata/polkadotV9110Metadata.js +5 -0
  65. package/build/src/test-helpers/metadata/polkadotV9110Metadata.js.map +1 -0
  66. package/build/src/test-helpers/registries/polkadotRegistry.d.ts +4 -0
  67. package/build/src/test-helpers/registries/polkadotRegistry.js +6 -1
  68. package/build/src/test-helpers/registries/polkadotRegistry.js.map +1 -1
  69. package/package.json +11 -11
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "9.2.0",
2
+ "version": "10.0.0",
3
3
  "name": "@substrate/api-sidecar",
4
4
  "description": "REST service that makes it easy to interact with blockchain nodes built using Substrate's FRAME framework.",
5
5
  "homepage": "https://github.com/paritytech/substrate-api-sidecar#readme",
@@ -51,8 +51,8 @@
51
51
  "test:test-release": "yarn start:test-release"
52
52
  },
53
53
  "dependencies": {
54
- "@polkadot/api": "^6.1.2",
55
- "@polkadot/apps-config": "0.96.2-27",
54
+ "@polkadot/api": "6.3.1",
55
+ "@polkadot/apps-config": "0.96.2-65",
56
56
  "@polkadot/util-crypto": "^7.4.1",
57
57
  "@polkadot/x-rxjs": "^6.11.1",
58
58
  "@substrate/calc": "^0.2.3",
@@ -77,14 +77,14 @@
77
77
  "tsc-watch": "^4.4.0"
78
78
  },
79
79
  "resolutions": {
80
- "@polkadot/api": "^6.1.2",
81
- "@polkadot/keyring": "^7.4.1",
82
- "@polkadot/networks": "^7.4.1",
83
- "@polkadot/types": "^6.1.2",
84
- "@polkadot/types-known": "^6.1.2",
85
- "@polkadot/util": "^7.4.1",
86
- "@polkadot/util-crypto": "^7.4.1",
87
- "@polkadot/wasm-crypto": "^4.2.1",
80
+ "@polkadot/api": "6.3.1",
81
+ "@polkadot/keyring": "7.4.1",
82
+ "@polkadot/networks": "7.4.1",
83
+ "@polkadot/types": "6.3.1",
84
+ "@polkadot/types-known": "6.3.1",
85
+ "@polkadot/util": "7.4.1",
86
+ "@polkadot/util-crypto": "7.4.1",
87
+ "@polkadot/wasm-crypto": "4.2.1",
88
88
  "node-forge": ">=0.10.0",
89
89
  "node-fetch": ">=2.6.1",
90
90
  "prismjs": ">=1.23.0"
@@ -13,7 +13,7 @@ exports.kusamaDefinitions = [
13
13
  {
14
14
  runtimeVersions: [
15
15
  2027, 2028, 2029, 2030, 9000, 9010, 9030, 9040, 9050, 9070, 9080, 9090,
16
- 9100,
16
+ 9100, 9110,
17
17
  ],
18
18
  perClass: substrateConsts_1.perClass,
19
19
  },
@@ -1 +1 @@
1
- {"version":3,"file":"kusamaConsts.js","sourceRoot":"","sources":["../../../../src/chains-config/metadata-consts/kusamaConsts.ts"],"names":[],"mappings":";;;AACA,uDAAkE;AAErD,QAAA,iBAAiB,GAAqB;IAClD;QACC,eAAe,EAAE;YAChB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YACtE,IAAI,EAAE,IAAI;SACV;QACD,mBAAmB,EAAnB,qCAAmB;KACnB;IACD;QACC,eAAe,EAAE;YAChB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YACtE,IAAI;SACJ;QACD,QAAQ,EAAR,0BAAQ;KACR;CACD,CAAC"}
1
+ {"version":3,"file":"kusamaConsts.js","sourceRoot":"","sources":["../../../../src/chains-config/metadata-consts/kusamaConsts.ts"],"names":[],"mappings":";;;AACA,uDAAkE;AAErD,QAAA,iBAAiB,GAAqB;IAClD;QACC,eAAe,EAAE;YAChB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YACtE,IAAI,EAAE,IAAI;SACV;QACD,mBAAmB,EAAnB,qCAAmB;KACnB;IACD;QACC,eAAe,EAAE;YAChB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YACtE,IAAI,EAAE,IAAI;SACV;QACD,QAAQ,EAAR,0BAAQ;KACR;CACD,CAAC"}
@@ -12,6 +12,7 @@ exports.polkadotDefinitions = [
12
12
  {
13
13
  runtimeVersions: [
14
14
  27, 28, 29, 30, 9000, 9010, 9030, 9033, 9050, 9070, 9080, 9090, 9100,
15
+ 9110,
15
16
  ],
16
17
  perClass: substrateConsts_1.perClass,
17
18
  },
@@ -1 +1 @@
1
- {"version":3,"file":"polkadotConsts.js","sourceRoot":"","sources":["../../../../src/chains-config/metadata-consts/polkadotConsts.ts"],"names":[],"mappings":";;;AACA,uDAAkE;AAErD,QAAA,mBAAmB,GAAqB;IACpD;QACC,eAAe,EAAE;YAChB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;SACvE;QACD,mBAAmB,EAAnB,qCAAmB;KACnB;IACD;QACC,eAAe,EAAE;YAChB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;SACpE;QACD,QAAQ,EAAR,0BAAQ;KACR;CACD,CAAC"}
1
+ {"version":3,"file":"polkadotConsts.js","sourceRoot":"","sources":["../../../../src/chains-config/metadata-consts/polkadotConsts.ts"],"names":[],"mappings":";;;AACA,uDAAkE;AAErD,QAAA,mBAAmB,GAAqB;IACpD;QACC,eAAe,EAAE;YAChB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;SACvE;QACD,mBAAmB,EAAnB,qCAAmB;KACnB;IACD;QACC,eAAe,EAAE;YAChB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YACpE,IAAI;SACJ;QACD,QAAQ,EAAR,0BAAQ;KACR;CACD,CAAC"}
@@ -12,6 +12,7 @@ exports.westendDefinitions = [
12
12
  {
13
13
  runtimeVersions: [
14
14
  47, 48, 49, 50, 9000, 9010, 9030, 9033, 9050, 9070, 9080, 9090, 9100,
15
+ 9110, 9111,
15
16
  ],
16
17
  perClass: substrateConsts_1.perClass,
17
18
  },
@@ -1 +1 @@
1
- {"version":3,"file":"westendConsts.js","sourceRoot":"","sources":["../../../../src/chains-config/metadata-consts/westendConsts.ts"],"names":[],"mappings":";;;AACA,uDAAkE;AAErD,QAAA,kBAAkB,GAAqB;IACnD;QACC,eAAe,EAAE;YAChB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;SAC3D;QACD,mBAAmB,EAAnB,qCAAmB;KACnB;IACD;QACC,eAAe,EAAE;YAChB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;SACpE;QACD,QAAQ,EAAR,0BAAQ;KACR;CACD,CAAC"}
1
+ {"version":3,"file":"westendConsts.js","sourceRoot":"","sources":["../../../../src/chains-config/metadata-consts/westendConsts.ts"],"names":[],"mappings":";;;AACA,uDAAkE;AAErD,QAAA,kBAAkB,GAAqB;IACnD;QACC,eAAe,EAAE;YAChB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;SAC3D;QACD,mBAAmB,EAAnB,qCAAmB;KACnB;IACD;QACC,eAAe,EAAE;YAChB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YACpE,IAAI,EAAE,IAAI;SACV;QACD,QAAQ,EAAR,0BAAQ;KACR;CACD,CAAC"}
@@ -105,7 +105,8 @@ class BlocksController extends AbstractController_1.default {
105
105
  queryFinalizedHead,
106
106
  omitFinalizedTag,
107
107
  };
108
- BlocksController.sanitizedSend(res, await this.service.fetchBlock(hash, options));
108
+ const historicApi = await this.api.at(hash);
109
+ BlocksController.sanitizedSend(res, await this.service.fetchBlock(hash, historicApi, options));
109
110
  };
110
111
  /**
111
112
  * Get a block by its hash or number identifier.
@@ -127,8 +128,10 @@ class BlocksController extends AbstractController_1.default {
127
128
  queryFinalizedHead,
128
129
  omitFinalizedTag,
129
130
  };
131
+ // HistoricApi to fetch any historic information that doesnt include the current runtime
132
+ const historicApi = await this.api.at(hash);
130
133
  // We set the last param to true because we haven't queried the finalizedHead
131
- BlocksController.sanitizedSend(res, await this.service.fetchBlock(hash, options));
134
+ BlocksController.sanitizedSend(res, await this.service.fetchBlock(hash, historicApi, options));
132
135
  };
133
136
  /**
134
137
  * Return the Header of the identified block.
@@ -1 +1 @@
1
- {"version":3,"file":"BlocksController.js","sourceRoot":"","sources":["../../../../src/controllers/blocks/BlocksController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BlocksController.js","sourceRoot":"","sources":["../../../../src/controllers/blocks/BlocksController.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,8 @@ class BlocksExtrinsicsController extends AbstractController_1.default {
24
24
  queryFinalizedHead: false,
25
25
  omitFinalizedTag: true,
26
26
  };
27
- const block = await this.service.fetchBlock(hash, options);
27
+ const historicApi = await this.api.at(hash);
28
+ const block = await this.service.fetchBlock(hash, historicApi, options);
28
29
  /**
29
30
  * Verify our param `extrinsicIndex` is an integer represented as a string
30
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"BlocksExtrinsicsController.js","sourceRoot":"","sources":["../../../../src/controllers/blocks/BlocksExtrinsicsController.ts"],"names":[],"mappings":";;;;;AAMA,6CAA+C;AAE/C,+EAAuD;AAQvD,MAAqB,0BAA2B,SAAQ,4BAAiC;IACxF,YAAY,GAAe,EAAE,OAA0B;QACtD,KAAK,CACJ,GAAG,EACH,6BAA6B,EAC7B,IAAI,wBAAa,CAChB,GAAG,EACH,OAAO,CAAC,iBAAiB,EACzB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,gBAAgB,CACxB,CACD,CAAC;QAUH;;;;WAIG;QACK,4BAAuB,GAAiC,KAAK,EACpE,EACC,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,EACnC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,GACnC,EACD,GAAG,EACa,EAAE;YAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAEjD,MAAM,YAAY,GAAG,SAAS,KAAK,MAAM,CAAC;YAC1C,MAAM,gBAAgB,GAAG,aAAa,KAAK,MAAM,CAAC;YAElD,MAAM,OAAO,GAAG;gBACf,SAAS,EAAE,YAAY;gBACvB,aAAa,EAAE,gBAAgB;gBAC/B,cAAc,EAAE,IAAI;gBACpB,kBAAkB,EAAE,KAAK;gBACzB,gBAAgB,EAAE,IAAI;aACtB,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAE3D;;eAEG;YACH,IAAI,CAAC,kBAAkB,CACtB,cAAc,EACd,8CAA8C,CAC9C,CAAC;YAEF;;;eAGG;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAE3C,0BAA0B,CAAC,aAAa,CACvC,GAAG,EACH,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAChD,CAAC;QACH,CAAC,CAAC;QAtDD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,yBAAyB,CAAC;YAC9B,CAAC,kBAAkB,EAAE,IAAI,CAAC,uBAAuB,CAAC;SAClD,CAAC,CAAC;IACJ,CAAC;CAgDD;AAnED,6CAmEC"}
1
+ {"version":3,"file":"BlocksExtrinsicsController.js","sourceRoot":"","sources":["../../../../src/controllers/blocks/BlocksExtrinsicsController.ts"],"names":[],"mappings":";;;;;AAMA,6CAA+C;AAE/C,+EAAuD;AAQvD,MAAqB,0BAA2B,SAAQ,4BAAiC;IACxF,YAAY,GAAe,EAAE,OAA0B;QACtD,KAAK,CACJ,GAAG,EACH,6BAA6B,EAC7B,IAAI,wBAAa,CAChB,GAAG,EACH,OAAO,CAAC,iBAAiB,EACzB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,gBAAgB,CACxB,CACD,CAAC;QAUH;;;;WAIG;QACK,4BAAuB,GAAiC,KAAK,EACpE,EACC,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,EACnC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,GACnC,EACD,GAAG,EACa,EAAE;YAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAEjD,MAAM,YAAY,GAAG,SAAS,KAAK,MAAM,CAAC;YAC1C,MAAM,gBAAgB,GAAG,aAAa,KAAK,MAAM,CAAC;YAElD,MAAM,OAAO,GAAG;gBACf,SAAS,EAAE,YAAY;gBACvB,aAAa,EAAE,gBAAgB;gBAC/B,cAAc,EAAE,IAAI;gBACpB,kBAAkB,EAAE,KAAK;gBACzB,gBAAgB,EAAE,IAAI;aACtB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAE5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAExE;;eAEG;YACH,IAAI,CAAC,kBAAkB,CACtB,cAAc,EACd,8CAA8C,CAC9C,CAAC;YAEF;;;eAGG;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAE3C,0BAA0B,CAAC,aAAa,CACvC,GAAG,EACH,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAChD,CAAC;QACH,CAAC,CAAC;QAxDD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,IAAI,CAAC,yBAAyB,CAAC;YAC9B,CAAC,kBAAkB,EAAE,IAAI,CAAC,uBAAuB,CAAC;SAClD,CAAC,CAAC;IACJ,CAAC;CAkDD;AArED,6CAqEC"}
@@ -22,12 +22,14 @@ const AbstractController_1 = __importDefault(require("../AbstractController"));
22
22
  class PalletsStorageController extends AbstractController_1.default {
23
23
  constructor(api) {
24
24
  super(api, '/pallets/:palletId/storage', new services_1.PalletsStorageService(api));
25
- this.getStorageItem = async ({ query: { at, key1, key2, metadata }, params: { palletId, storageItemId }, }, res) => {
25
+ this.getStorageItem = async ({ query: { at, key1, key2, metadata, adjustMetadataV13 }, params: { palletId, storageItemId }, }, res) => {
26
26
  const key1Arg = typeof key1 === 'string' ? key1 : undefined;
27
27
  const key2Arg = typeof key2 === 'string' ? key2 : undefined;
28
- const metadataArg = metadata === 'true' ? true : false;
28
+ const metadataArg = metadata === 'true';
29
+ const adjustMetadataV13Arg = adjustMetadataV13 === 'true';
29
30
  const hash = await this.getHashFromAt(at);
30
- PalletsStorageController.sanitizedSend(res, await this.service.fetchStorageItem({
31
+ const historicApi = await this.api.at(hash);
32
+ PalletsStorageController.sanitizedSend(res, await this.service.fetchStorageItem(historicApi, {
31
33
  hash,
32
34
  // stringCamelCase ensures we don't have snake case or kebab case
33
35
  palletId: (0, util_1.stringCamelCase)(palletId),
@@ -35,15 +37,19 @@ class PalletsStorageController extends AbstractController_1.default {
35
37
  key1: key1Arg,
36
38
  key2: key2Arg,
37
39
  metadata: metadataArg,
40
+ adjustMetadataV13Arg,
38
41
  }));
39
42
  };
40
- this.getStorage = async ({ params: { palletId }, query: { at, onlyIds } }, res) => {
41
- const onlyIdsArg = onlyIds === 'true' ? true : false;
43
+ this.getStorage = async ({ params: { palletId }, query: { at, onlyIds, adjustMetadataV13 } }, res) => {
44
+ const onlyIdsArg = onlyIds === 'true';
45
+ const adjustMetadataV13Arg = adjustMetadataV13 === 'true';
42
46
  const hash = await this.getHashFromAt(at);
43
- PalletsStorageController.sanitizedSend(res, await this.service.fetchStorage({
47
+ const historicApi = await this.api.at(hash);
48
+ PalletsStorageController.sanitizedSend(res, await this.service.fetchStorage(historicApi, {
44
49
  hash,
45
50
  palletId: (0, util_1.stringCamelCase)(palletId),
46
51
  onlyIds: onlyIdsArg,
52
+ adjustMetadataV13Arg,
47
53
  }));
48
54
  };
49
55
  this.initRoutes();
@@ -1 +1 @@
1
- {"version":3,"file":"PalletsStorageController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsStorageController.ts"],"names":[],"mappings":";;;;;AACA,yCAAiD;AAGjD,6CAAuD;AACvD,+EAAuD;AAEvD;;;;;;;;;;;;GAYG;AACH,MAAqB,wBAAyB,SAAQ,4BAAyC;IAC9F,YAAY,GAAe;QAC1B,KAAK,CAAC,GAAG,EAAE,4BAA4B,EAAE,IAAI,gCAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;QAalE,mBAAc,GAAmB,KAAK,EAC7C,EACC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EACnC,MAAM,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,GACnC,EACD,GAAG,EACa,EAAE;YAClB,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,MAAM,WAAW,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAEvD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAE1C,wBAAwB,CAAC,aAAa,CACrC,GAAG,EACH,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBACnC,IAAI;gBACJ,iEAAiE;gBACjE,QAAQ,EAAE,IAAA,sBAAe,EAAC,QAAQ,CAAC;gBACnC,aAAa,EAAE,IAAA,sBAAe,EAAC,aAAa,CAAC;gBAC7C,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,WAAW;aACrB,CAAC,CACF,CAAC;QACH,CAAC,CAAC;QAEM,eAAU,GAAmB,KAAK,EACzC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAChD,GAAG,EACa,EAAE;YAClB,MAAM,UAAU,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAErD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAE1C,wBAAwB,CAAC,aAAa,CACrC,GAAG,EACH,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC/B,IAAI;gBACJ,QAAQ,EAAE,IAAA,sBAAe,EAAC,QAAQ,CAAC;gBACnC,OAAO,EAAE,UAAU;aACnB,CAAC,CACF,CAAC;QACH,CAAC,CAAC;QAtDD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,sHAAsH;QACtH,IAAI,CAAC,yBAAyB,CAAC;YAC9B,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC;YACxC,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC;SACtB,CAAC,CAAC;IACJ,CAAC;CA8CD;AA3DD,2CA2DC"}
1
+ {"version":3,"file":"PalletsStorageController.js","sourceRoot":"","sources":["../../../../src/controllers/pallets/PalletsStorageController.ts"],"names":[],"mappings":";;;;;AACA,yCAAiD;AAGjD,6CAAuD;AACvD,+EAAuD;AAEvD;;;;;;;;;;;;GAYG;AACH,MAAqB,wBAAyB,SAAQ,4BAAyC;IAC9F,YAAY,GAAe;QAC1B,KAAK,CAAC,GAAG,EAAE,4BAA4B,EAAE,IAAI,gCAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;QAalE,mBAAc,GAAmB,KAAK,EAC7C,EACC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EACtD,MAAM,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,GACnC,EACD,GAAG,EACa,EAAE;YAClB,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,MAAM,WAAW,GAAG,QAAQ,KAAK,MAAM,CAAC;YACxC,MAAM,oBAAoB,GAAG,iBAAiB,KAAK,MAAM,CAAC;YAE1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAE5C,wBAAwB,CAAC,aAAa,CACrC,GAAG,EACH,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE;gBAChD,IAAI;gBACJ,iEAAiE;gBACjE,QAAQ,EAAE,IAAA,sBAAe,EAAC,QAAQ,CAAC;gBACnC,aAAa,EAAE,IAAA,sBAAe,EAAC,aAAa,CAAC;gBAC7C,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,WAAW;gBACrB,oBAAoB;aACpB,CAAC,CACF,CAAC;QACH,CAAC,CAAC;QAEM,eAAU,GAAmB,KAAK,EACzC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EACnE,GAAG,EACa,EAAE;YAClB,MAAM,UAAU,GAAG,OAAO,KAAK,MAAM,CAAC;YACtC,MAAM,oBAAoB,GAAG,iBAAiB,KAAK,MAAM,CAAC;YAE1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAE5C,wBAAwB,CAAC,aAAa,CACrC,GAAG,EACH,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE;gBAC5C,IAAI;gBACJ,QAAQ,EAAE,IAAA,sBAAe,EAAC,QAAQ,CAAC;gBACnC,OAAO,EAAE,UAAU;gBACnB,oBAAoB;aACpB,CAAC,CACF,CAAC;QACH,CAAC,CAAC;QA5DD,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAES,UAAU;QACnB,sHAAsH;QACtH,IAAI,CAAC,yBAAyB,CAAC;YAC9B,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC;YACxC,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC;SACtB,CAAC,CAAC;IACJ,CAAC;CAoDD;AAjED,2CAiEC"}
@@ -1,9 +1,115 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const sanitizeNumbers_1 = require("../../sanitize/sanitizeNumbers");
4
+ const statemintMetadata_1 = require("../../test-helpers/metadata/statemintMetadata");
5
+ const registries_1 = require("../../test-helpers/registries");
6
+ const typeFactory_1 = require("../../test-helpers/typeFactory");
7
+ const typeFactory_2 = require("../../test-helpers/typeFactory");
4
8
  const mock_1 = require("../test-helpers/mock");
5
9
  const AccountsAssetsService_1 = require("./AccountsAssetsService");
6
- const accountsAssetsService = new AccountsAssetsService_1.AccountsAssetsService(mock_1.mockApi);
10
+ const statemintApiV1 = (0, typeFactory_1.createApiWithAugmentations)(statemintMetadata_1.statemintV1);
11
+ const statemintTypeFactory = new typeFactory_2.TypeFactory(statemintApiV1);
12
+ const falseBool = registries_1.rococoRegistry.createType('bool', false);
13
+ const trueBool = registries_1.rococoRegistry.createType('bool', true);
14
+ const assetTBalanceOne = registries_1.rococoRegistry.createType('u64', 10000000);
15
+ const assetTBalanceTwo = registries_1.rococoRegistry.createType('u64', 20000000);
16
+ const accountIdOne = registries_1.rococoRegistry.createType('AccountId', '1TYrFCWxwHA5bhiXf6uLvPfG6eEvrzzL7uiPK3Yc6yHLUqc');
17
+ const accountIdTwo = registries_1.rococoRegistry.createType('AccountId', '13NXiLYYzVEjXxU3eaZNcrjEX9vPyVDNNpURCzK8Bj9BiCWH');
18
+ const balanceOfTwo = registries_1.rococoRegistry.createType('BalanceOf', 2000000);
19
+ const assetsInfo = () => Promise.resolve().then(() => {
20
+ const responseObj = {
21
+ owner: accountIdOne,
22
+ issue: accountIdTwo,
23
+ admin: accountIdTwo,
24
+ freezer: accountIdTwo,
25
+ supply: assetTBalanceOne,
26
+ deposit: balanceOfTwo,
27
+ minBalance: registries_1.rococoRegistry.createType('u64', 10000),
28
+ isSufficient: trueBool,
29
+ accounts: registries_1.rococoRegistry.createType('u32', 10),
30
+ sufficients: registries_1.rococoRegistry.createType('u32', 15),
31
+ approvals: registries_1.rococoRegistry.createType('u32', 20),
32
+ isFrozen: falseBool,
33
+ };
34
+ return registries_1.rococoRegistry.createType('AssetDetails', responseObj);
35
+ });
36
+ const assetsMetadata = () => Promise.resolve().then(() => {
37
+ const responseObj = {
38
+ deposit: balanceOfTwo,
39
+ name: registries_1.rococoRegistry.createType('Bytes', 'statemint'),
40
+ symbol: registries_1.rococoRegistry.createType('Bytes', 'DOT'),
41
+ decimals: registries_1.rococoRegistry.createType('u8', 10),
42
+ isFrozen: falseBool,
43
+ };
44
+ return registries_1.rococoRegistry.createType('AssetMetadata', responseObj);
45
+ });
46
+ const assetBalanceObjOne = {
47
+ balance: assetTBalanceOne,
48
+ isFrozen: falseBool,
49
+ sufficient: trueBool,
50
+ };
51
+ const assetBalanceObjTwo = {
52
+ balance: assetTBalanceTwo,
53
+ isFrozen: trueBool,
54
+ sufficient: trueBool,
55
+ };
56
+ const assetBalanceObjThree = {
57
+ balance: assetTBalanceTwo,
58
+ isFrozen: falseBool,
59
+ sufficient: falseBool,
60
+ };
61
+ const assetBalanceFactory = {
62
+ '10': assetBalanceObjOne,
63
+ '20': assetBalanceObjTwo,
64
+ '30': assetBalanceObjThree,
65
+ };
66
+ const assetStorageKeyOne = statemintTypeFactory.storageKey(10, 'AssetId', statemintApiV1.query.assets.asset);
67
+ const assetStorageKeyTwo = statemintTypeFactory.storageKey(20, 'AssetId', statemintApiV1.query.assets.asset);
68
+ const assetStorageKeyThree = statemintTypeFactory.storageKey(30, 'AssetId', statemintApiV1.query.assets.asset);
69
+ const assetsAccountKeysAt = () => Promise.resolve().then(() => {
70
+ return [assetStorageKeyOne, assetStorageKeyTwo, assetStorageKeyThree];
71
+ });
72
+ /**
73
+ * Attach `keysAt` to mockApi.query.assets.asset
74
+ */
75
+ Object.assign(assetsInfo, {
76
+ keysAt: assetsAccountKeysAt,
77
+ });
78
+ /**
79
+ * @param assetId options are 10, 20, 30
80
+ */
81
+ const assetsAccount = (assetId, _address) => {
82
+ const id = typeof assetId === 'number' ? assetId : assetId.toNumber();
83
+ switch (id) {
84
+ case 10:
85
+ return assetBalanceFactory[10];
86
+ case 20:
87
+ return assetBalanceFactory[20];
88
+ case 30:
89
+ return assetBalanceFactory[30];
90
+ default:
91
+ return;
92
+ }
93
+ };
94
+ const assetApprovals = () => Promise.resolve().then(() => {
95
+ const assetObj = {
96
+ amount: assetTBalanceOne,
97
+ deposit: balanceOfTwo,
98
+ };
99
+ return registries_1.rococoRegistry.createType('Option<AssetApproval>', assetObj);
100
+ });
101
+ const mockApi = {
102
+ ...mock_1.defaultMockApi,
103
+ query: {
104
+ assets: {
105
+ account: assetsAccount,
106
+ approvals: assetApprovals,
107
+ asset: assetsInfo,
108
+ metadata: assetsMetadata,
109
+ },
110
+ },
111
+ };
112
+ const accountsAssetsService = new AccountsAssetsService_1.AccountsAssetsService(mockApi);
7
113
  describe('AccountsAssetsService', () => {
8
114
  const at = {
9
115
  hash: '0x7b713de604a99857f6c25eacc115a4f28d2611a23d9ddff99ab0e4f1c17a8578',
@@ -1 +1 @@
1
- {"version":3,"file":"AccountsAssetsService.spec.js","sourceRoot":"","sources":["../../../../src/services/accounts/AccountsAssetsService.spec.ts"],"names":[],"mappings":";;AAAA,oEAAiE;AACjE,+CAAgE;AAChE,mEAAgE;AAEhE,MAAM,qBAAqB,GAAG,IAAI,6CAAqB,CAAC,cAAO,CAAC,CAAC;AAEjE,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACtC,MAAM,EAAE,GAAG;QACV,IAAI,EAAE,oEAAoE;QAC1E,MAAM,EAAE,QAAQ;KAChB,CAAC;IAEF,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACzD,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,gBAAgB,GAAG;gBACxB,EAAE;gBACF,MAAM,EAAE;oBACP;wBACC,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,UAAU;wBACnB,QAAQ,EAAE,KAAK;wBACf,YAAY,EAAE,IAAI;qBAClB;oBACD;wBACC,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,UAAU;wBACnB,QAAQ,EAAE,IAAI;wBACd,YAAY,EAAE,IAAI;qBAClB;iBACD;aACD,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,kBAAkB,CAC9D,sBAAe,EACf,QAAQ,EAAE,sDAAsD;YAChE,CAAC,EAAE,EAAE,EAAE,CAAC,CACR,CAAC;YAEF,MAAM,CAAC,IAAA,iCAAe,EAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,gBAAgB,GAAG;gBACxB,EAAE;gBACF,MAAM,EAAE;oBACP;wBACC,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,UAAU;wBACnB,QAAQ,EAAE,KAAK;wBACf,YAAY,EAAE,IAAI;qBAClB;oBACD;wBACC,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,UAAU;wBACnB,QAAQ,EAAE,IAAI;wBACd,YAAY,EAAE,IAAI;qBAClB;oBACD;wBACC,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,UAAU;wBACnB,QAAQ,EAAE,KAAK;wBACf,YAAY,EAAE,KAAK;qBACnB;iBACD;aACD,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,kBAAkB,CAC9D,sBAAe,EACf,QAAQ,EAAE,sDAAsD;YAChE,EAAE,CACF,CAAC;YAEF,MAAM,CAAC,IAAA,iCAAe,EAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACzD,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,gBAAgB,GAAG;gBACxB,EAAE;gBACF,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,SAAS;aAClB,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,kBAAkB,CAC9D,sBAAe,EACf,EAAE,EAAE,sDAAsD;YAC1D,EAAE,EACF,EAAE,CAAC,qDAAqD;aACxD,CAAC;YAEF,MAAM,CAAC,IAAA,iCAAe,EAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"AccountsAssetsService.spec.js","sourceRoot":"","sources":["../../../../src/services/accounts/AccountsAssetsService.spec.ts"],"names":[],"mappings":"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"}
@@ -4,52 +4,107 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const sanitizeNumbers_1 = require("../../sanitize/sanitizeNumbers");
7
- const metadata_1 = require("../../test-helpers/metadata/metadata");
8
7
  const registries_1 = require("../../test-helpers/registries");
9
- const typeFactory_1 = require("../../test-helpers/typeFactory");
10
8
  const mock_1 = require("../test-helpers/mock");
9
+ const events789629Hex_1 = require("../test-helpers/mock/data/events789629Hex");
11
10
  const balanceInfo789629_json_1 = __importDefault(require("../test-helpers/responses/accounts/balanceInfo789629.json"));
12
11
  const AccountsBalanceInfoService_1 = require("./AccountsBalanceInfoService");
13
- const accountsBalanceInfoService = new AccountsBalanceInfoService_1.AccountsBalanceInfoService(mock_1.mockApi);
14
- /**
15
- * Historical Queries MockApi
16
- */
17
- const historicalMockApi = {
12
+ const eventsAt = (_hash) => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Vec<EventRecord>', events789629Hex_1.events789629));
13
+ const locksAt = (_hash, _address) => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Vec<BalanceLock>', '0x047374616b696e672000e8764817000000000000000000000002'));
14
+ const accountAt = (_hash, _address) => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('AccountInfo', '0x0600000003dbb656ab7400000000000000000000000000000000000000000000000000000000e8764817000000000000000000000000e87648170000000000000000000000'));
15
+ const freeBalance = async () => registries_1.polkadotRegistry.createType('Balance', 123456789);
16
+ const mockHistoricApi = {
18
17
  query: {
19
18
  balances: {
20
- freeBalance: async () => registries_1.polkadotRegistry.createType('Balance', 123456789),
19
+ freeBalance,
21
20
  reservedBalance: async () => registries_1.polkadotRegistry.createType('Balance', 1),
22
- locks: async () => registries_1.polkadotRegistry.createType('Vec<BalanceLock>', []),
21
+ locks: async () => registries_1.polkadotRegistry.createType('Vec<BalanceLock>', '0x047374616b696e672000e8764817000000000000000000000002'),
23
22
  },
24
23
  system: {
25
24
  accountNonce: async () => registries_1.polkadotRegistry.createType('Index', 1),
25
+ account: accountAt,
26
26
  },
27
27
  },
28
28
  };
29
+ const queryMockApi = {
30
+ query: {
31
+ system: {
32
+ events: eventsAt,
33
+ account: { at: accountAt },
34
+ },
35
+ balances: {
36
+ locks: { at: locksAt },
37
+ },
38
+ },
39
+ };
40
+ const mockApi = {
41
+ ...mock_1.defaultMockApi,
42
+ ...queryMockApi,
43
+ at: (_hash) => mockHistoricApi,
44
+ };
45
+ const accountsBalanceInfoService = new AccountsBalanceInfoService_1.AccountsBalanceInfoService(mockApi);
29
46
  describe('AccountsBalanceInfoService', () => {
30
47
  describe('fetchAccountBalanceInfo', () => {
31
48
  it('works when ApiPromise works (block 789629)', async () => {
32
- expect((0, sanitizeNumbers_1.sanitizeNumbers)(await accountsBalanceInfoService.fetchAccountBalanceInfo(mock_1.blockHash789629, mock_1.testAddress, 'DOT'))).toStrictEqual(balanceInfo789629_json_1.default);
49
+ const tempHistoricApi = { ...mockHistoricApi };
50
+ tempHistoricApi.query.balances.freeBalance = undefined;
51
+ const tempMockApi = {
52
+ ...mock_1.defaultMockApi,
53
+ ...queryMockApi,
54
+ at: (_hash) => tempHistoricApi,
55
+ };
56
+ const tempAccountsBalanceInfoService = new AccountsBalanceInfoService_1.AccountsBalanceInfoService(tempMockApi);
57
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(await tempAccountsBalanceInfoService.fetchAccountBalanceInfo(mock_1.blockHash789629, mock_1.testAddress, 'DOT'))).toStrictEqual(balanceInfo789629_json_1.default);
58
+ });
59
+ it('Correctly queries historical blocks', async () => {
60
+ const result = await accountsBalanceInfoService.fetchAccountBalanceInfo(mock_1.blockHash789629, mock_1.testAddress, 'DOT');
61
+ const expectedResponse = {
62
+ at: {
63
+ hash: '0x7b713de604a99857f6c25eacc115a4f28d2611a23d9ddff99ab0e4f1c17a8578',
64
+ height: '789629',
65
+ },
66
+ feeFrozen: '100000000000',
67
+ free: '501090793179',
68
+ locks: [
69
+ {
70
+ amount: '100000000000',
71
+ id: '0x7374616b696e6720',
72
+ reasons: 'All',
73
+ },
74
+ ],
75
+ miscFrozen: '100000000000',
76
+ nonce: '6',
77
+ reserved: '0',
78
+ tokenSymbol: 'DOT',
79
+ };
80
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(result)).toStrictEqual(expectedResponse);
33
81
  });
34
82
  describe('token recognition', () => {
83
+ const tokenHistoricApi = { ...mockHistoricApi };
84
+ tokenHistoricApi.query.system.account = { at: true };
85
+ tokenHistoricApi.query.balances.freeBalance = undefined;
86
+ const tokenMockApi = {
87
+ ...mock_1.defaultMockApi,
88
+ ...queryMockApi,
89
+ at: (_hash) => tokenHistoricApi,
90
+ };
91
+ const tokenAccountsBalanceInfoService = new AccountsBalanceInfoService_1.AccountsBalanceInfoService(tokenMockApi);
35
92
  let tempQueryTokens, tempQueryBalance, mockTokensLocksAt, mockTokenAccountAt, mockBalancesLocksAt;
36
93
  beforeAll(() => {
37
94
  // Important: these temp values should never be reassinged. They are used so we can assign
38
95
  // the mockApi properties back to their original values after this sub-section of tests run.
39
- tempQueryTokens = mock_1.mockApi.query.tokens;
40
- tempQueryBalance = mock_1.mockApi.query.balances;
41
- const tokensAccountAt = async (hash, address) => (await mock_1.mockApi.query.system.account.at(hash, address)).data;
96
+ tempQueryTokens = tokenMockApi.query.tokens;
97
+ tempQueryBalance = tokenMockApi.query.balances;
98
+ const tokensAccountAt = async (hash, address) => (await tokenMockApi.query.system.account.at(hash, address)).data;
42
99
  // Wrap our functions in a jest mock so we can collect data on how they are called
43
- mockTokensLocksAt = jest.fn(mock_1.mockApi.query.balances.locks.at);
100
+ mockTokensLocksAt = jest.fn(tokenMockApi.query.balances.locks.at);
44
101
  mockTokenAccountAt = jest.fn(tokensAccountAt);
45
- mock_1.mockApi.query.tokens = {
102
+ tokenMockApi.query.tokens = {
46
103
  locks: { at: mockTokensLocksAt },
47
104
  accounts: { at: mockTokenAccountAt },
48
105
  };
49
- mockBalancesLocksAt = jest.fn(mock_1.mockApi.query.balances.locks.at);
50
- mock_1.mockApi.query.balances = {
51
- locks: { at: mockBalancesLocksAt },
52
- };
106
+ mockBalancesLocksAt = jest.fn(tokenMockApi.query.balances.locks.at);
107
+ tokenMockApi.query.balances.locks.at = mockBalancesLocksAt;
53
108
  });
54
109
  afterEach(() => {
55
110
  // Clear data about how the mocks where called after each `it` test.
@@ -58,45 +113,25 @@ describe('AccountsBalanceInfoService', () => {
58
113
  mockBalancesLocksAt.mockClear();
59
114
  });
60
115
  afterAll(() => {
61
- mock_1.mockApi.query.tokens = tempQueryTokens;
62
- mock_1.mockApi.query.balances = tempQueryBalance;
116
+ mockApi.query.tokens = tempQueryTokens;
117
+ mockApi.query.balances = tempQueryBalance;
63
118
  });
64
119
  it('only has `["DOT"]` (all uppercase chars) for the mockApi registry', () => {
65
- expect(mock_1.mockApi.registry.chainTokens).toStrictEqual(['DOT']);
66
- expect(mock_1.mockApi.registry.chainDecimals).toStrictEqual([12]);
120
+ expect(mockApi.registry.chainTokens).toStrictEqual(['DOT']);
121
+ expect(mockApi.registry.chainDecimals).toStrictEqual([12]);
67
122
  });
68
123
  it('querrys tokens pallet storage with a non-native token', async () => {
69
- expect((0, sanitizeNumbers_1.sanitizeNumbers)(await accountsBalanceInfoService.fetchAccountBalanceInfo(mock_1.blockHash789629, mock_1.testAddress, 'fOoToKeN')).tokenSymbol).toEqual('fOoToKeN');
124
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(await tokenAccountsBalanceInfoService.fetchAccountBalanceInfo(mock_1.blockHash789629, mock_1.testAddress, 'fOoToKeN')).tokenSymbol).toEqual('fOoToKeN');
70
125
  expect(mockTokensLocksAt).toBeCalled();
71
126
  expect(mockTokenAccountAt).toBeCalled();
72
127
  expect(mockBalancesLocksAt).not.toBeCalled();
73
128
  });
74
129
  it('does not query tokens pallet storage with the native token', async () => {
75
- expect((0, sanitizeNumbers_1.sanitizeNumbers)(await accountsBalanceInfoService.fetchAccountBalanceInfo(mock_1.blockHash789629, mock_1.testAddress, 'doT')).tokenSymbol).toEqual('doT');
130
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(await tokenAccountsBalanceInfoService.fetchAccountBalanceInfo(mock_1.blockHash789629, mock_1.testAddress, 'doT')).tokenSymbol).toEqual('doT');
76
131
  expect(mockTokensLocksAt).not.toBeCalled();
77
132
  expect(mockTokenAccountAt).not.toBeCalled();
78
133
  expect(mockBalancesLocksAt).toBeCalled();
79
134
  });
80
- it('Correctly queries historical blocks', async () => {
81
- // Set the at to a historical runtime, before the storage key format changed
82
- mock_1.mockApi.at = () => Promise.resolve().then(() => historicalMockApi);
83
- const result = await accountsBalanceInfoService.fetchAccountBalanceInfo(mock_1.blockHash789629, mock_1.testAddress, 'DOT');
84
- const expectedResponse = {
85
- at: {
86
- hash: '0x7b713de604a99857f6c25eacc115a4f28d2611a23d9ddff99ab0e4f1c17a8578',
87
- height: '789629',
88
- },
89
- feeFrozen: '0',
90
- free: '123456789',
91
- locks: [],
92
- miscFrozen: '0',
93
- nonce: '1',
94
- reserved: '1',
95
- tokenSymbol: 'DOT',
96
- };
97
- expect((0, sanitizeNumbers_1.sanitizeNumbers)(result)).toStrictEqual(expectedResponse);
98
- mock_1.mockApi.at = async () => (0, typeFactory_1.createApiWithAugmentations)(metadata_1.polkadotMetadata.toHex());
99
- });
100
135
  });
101
136
  });
102
137
  });
@@ -1 +1 @@
1
- {"version":3,"file":"AccountsBalanceInfoService.spec.js","sourceRoot":"","sources":["../../../../src/services/accounts/AccountsBalanceInfoService.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccountsBalanceInfoService.spec.js","sourceRoot":"","sources":["../../../../src/services/accounts/AccountsBalanceInfoService.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1,4 @@
1
- export {};
1
+ import { Option } from '@polkadot/types';
2
+ import { AccountId, Hash, StakingLedger } from '@polkadot/types/interfaces';
3
+ export declare const bondedAt: (_hash: Hash, _address: string) => Promise<Option<AccountId>>;
4
+ export declare const ledgerAt: (_hash: Hash, _address: string) => Promise<Option<StakingLedger>>;
@@ -3,29 +3,45 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- /* eslint-disable @typescript-eslint/no-explicit-any */
7
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
6
+ exports.ledgerAt = exports.bondedAt = void 0;
8
7
  const http_errors_1 = require("http-errors");
9
8
  const sanitizeNumbers_1 = require("../../sanitize/sanitizeNumbers");
10
9
  const registries_1 = require("../../test-helpers/registries");
11
10
  const mock_1 = require("../test-helpers/mock");
12
11
  const stakingInfo789629_json_1 = __importDefault(require("../test-helpers/responses/accounts/stakingInfo789629.json"));
13
12
  const AccountsStakingInfoService_1 = require("./AccountsStakingInfoService");
14
- const accountStakingInfoService = new AccountsStakingInfoService_1.AccountsStakingInfoService(mock_1.mockApi);
13
+ const bondedAt = (_hash, _address) => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<AccountId>', mock_1.testAddressController));
14
+ exports.bondedAt = bondedAt;
15
+ const ledgerAt = (_hash, _address) => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<StakingLedger>', '0x2c2a55b5e0d28cc772b47bb9b25981cbb69eca73f7c3388fb6464e7d24be470e0700e87648170700e8764817008c000000000100000002000000030000000400000005000000060000000700000008000000090000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000'));
16
+ exports.ledgerAt = ledgerAt;
17
+ const payeeAt = (_hash, _address) => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('RewardDestination', 'Controller'));
18
+ const slashingSpansAt = (_hash, _address) => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('SlashingSpans'));
19
+ const mockApi = {
20
+ ...mock_1.defaultMockApi,
21
+ query: {
22
+ staking: {
23
+ bonded: { at: exports.bondedAt },
24
+ ledger: { at: exports.ledgerAt },
25
+ payee: { at: payeeAt },
26
+ slashingSpans: { at: slashingSpansAt },
27
+ },
28
+ },
29
+ };
30
+ const accountStakingInfoService = new AccountsStakingInfoService_1.AccountsStakingInfoService(mockApi);
15
31
  describe('AccountsStakingInfoService', () => {
16
32
  describe('fetchAccountStakingInfo', () => {
17
33
  it('works with a valid stash address (block 789629)', async () => {
18
34
  expect((0, sanitizeNumbers_1.sanitizeNumbers)(await accountStakingInfoService.fetchAccountStakingInfo(mock_1.blockHash789629, mock_1.testAddress))).toStrictEqual(stakingInfo789629_json_1.default);
19
35
  });
20
36
  it('throws a 400 when the given address is not a stash', async () => {
21
- mock_1.mockApi.query.staking.bonded.at = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<AccountId>', null));
37
+ mockApi.query.staking.bonded.at = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<AccountId>', null));
22
38
  await expect(accountStakingInfoService.fetchAccountStakingInfo(mock_1.blockHash789629, 'NotStash')).rejects.toStrictEqual(new http_errors_1.BadRequest('The address NotStash is not a stash address.'));
23
- mock_1.mockApi.query.staking.bonded.at = mock_1.bondedAt;
39
+ mockApi.query.staking.bonded.at = exports.bondedAt;
24
40
  });
25
41
  it('throws a 404 when the staking ledger cannot be found', async () => {
26
- mock_1.mockApi.query.staking.ledger.at = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<StakingLedger>', null));
42
+ mockApi.query.staking.ledger.at = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<StakingLedger>', null));
27
43
  await expect(accountStakingInfoService.fetchAccountStakingInfo(mock_1.blockHash789629, mock_1.testAddress)).rejects.toStrictEqual(new http_errors_1.InternalServerError(`Staking ledger could not be found for controller address "${mock_1.testAddressController.toString()}"`));
28
- mock_1.mockApi.query.staking.ledger.at = mock_1.ledgerAt;
44
+ mockApi.query.staking.ledger.at = exports.ledgerAt;
29
45
  });
30
46
  });
31
47
  });